i386.md (cmp<mode>): Rename from cmpsf and cmpdf.
* config/i386/i386.md (cmp<mode>): Rename from cmpsf and cmpdf. Macroize expander using SSEMODEF mode macro. Use SSE_FLOAT_MODE_P. (*cmpfp_<mode>): Rename from *cmpfp_sf and *cmpfp_df. Macroize insn pattern using X87MODEF12 mode macro. From-SVN: r123128
This commit is contained in:
parent
a584cdf253
commit
8766652c6e
2 changed files with 25 additions and 42 deletions
|
@ -1,3 +1,10 @@
|
|||
2007-03-22 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/i386.md (cmp<mode>): Rename from cmpsf and cmpdf.
|
||||
Macroize expander using SSEMODEF mode macro. Use SSE_FLOAT_MODE_P.
|
||||
(*cmpfp_<mode>): Rename from *cmpfp_sf and *cmpfp_df. Macroize
|
||||
insn pattern using X87MODEF12 mode macro.
|
||||
|
||||
2007-03-21 Seongbae Park <seongbae.park@gmail.com>
|
||||
|
||||
* regmove.c (regmove_optimize): Use reg_mentioned_p
|
||||
|
@ -7,7 +14,7 @@
|
|||
|
||||
* c.opt: Fixup for Objective-C/C++.
|
||||
|
||||
2007-02-21 Steve Ellcey <sje@cup.hp.com>
|
||||
2007-03-21 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
* explow.c (convert_memory_address): Fold memory reference when
|
||||
POINTERS_EXTEND_UNSIGNED < 0
|
||||
|
|
|
@ -839,22 +839,11 @@
|
|||
DONE;
|
||||
})
|
||||
|
||||
(define_expand "cmpdf"
|
||||
(define_expand "cmp<mode>"
|
||||
[(set (reg:CC FLAGS_REG)
|
||||
(compare:CC (match_operand:DF 0 "cmp_fp_expander_operand" "")
|
||||
(match_operand:DF 1 "cmp_fp_expander_operand" "")))]
|
||||
"TARGET_80387 || (TARGET_SSE2 && TARGET_SSE_MATH)"
|
||||
{
|
||||
ix86_compare_op0 = operands[0];
|
||||
ix86_compare_op1 = operands[1];
|
||||
DONE;
|
||||
})
|
||||
|
||||
(define_expand "cmpsf"
|
||||
[(set (reg:CC FLAGS_REG)
|
||||
(compare:CC (match_operand:SF 0 "cmp_fp_expander_operand" "")
|
||||
(match_operand:SF 1 "cmp_fp_expander_operand" "")))]
|
||||
"TARGET_80387 || TARGET_SSE_MATH"
|
||||
(compare:CC (match_operand:SSEMODEF 0 "cmp_fp_expander_operand" "")
|
||||
(match_operand:SSEMODEF 1 "cmp_fp_expander_operand" "")))]
|
||||
"TARGET_80387 || (SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH)"
|
||||
{
|
||||
ix86_compare_op0 = operands[0];
|
||||
ix86_compare_op1 = operands[1];
|
||||
|
@ -891,32 +880,6 @@
|
|||
]
|
||||
(const_string "XF")))])
|
||||
|
||||
(define_insn "*cmpfp_sf"
|
||||
[(set (match_operand:HI 0 "register_operand" "=a")
|
||||
(unspec:HI
|
||||
[(compare:CCFP
|
||||
(match_operand:SF 1 "register_operand" "f")
|
||||
(match_operand:SF 2 "nonimmediate_operand" "fm"))]
|
||||
UNSPEC_FNSTSW))]
|
||||
"TARGET_80387"
|
||||
"* return output_fp_compare (insn, operands, 0, 0);"
|
||||
[(set_attr "type" "multi")
|
||||
(set_attr "unit" "i387")
|
||||
(set_attr "mode" "SF")])
|
||||
|
||||
(define_insn "*cmpfp_df"
|
||||
[(set (match_operand:HI 0 "register_operand" "=a")
|
||||
(unspec:HI
|
||||
[(compare:CCFP
|
||||
(match_operand:DF 1 "register_operand" "f")
|
||||
(match_operand:DF 2 "nonimmediate_operand" "fm"))]
|
||||
UNSPEC_FNSTSW))]
|
||||
"TARGET_80387"
|
||||
"* return output_fp_compare (insn, operands, 0, 0);"
|
||||
[(set_attr "type" "multi")
|
||||
(set_attr "unit" "i387")
|
||||
(set_attr "mode" "DF")])
|
||||
|
||||
(define_insn "*cmpfp_xf"
|
||||
[(set (match_operand:HI 0 "register_operand" "=a")
|
||||
(unspec:HI
|
||||
|
@ -930,6 +893,19 @@
|
|||
(set_attr "unit" "i387")
|
||||
(set_attr "mode" "XF")])
|
||||
|
||||
(define_insn "*cmpfp_<mode>"
|
||||
[(set (match_operand:HI 0 "register_operand" "=a")
|
||||
(unspec:HI
|
||||
[(compare:CCFP
|
||||
(match_operand:X87MODEF12 1 "register_operand" "f")
|
||||
(match_operand:X87MODEF12 2 "nonimmediate_operand" "fm"))]
|
||||
UNSPEC_FNSTSW))]
|
||||
"TARGET_80387"
|
||||
"* return output_fp_compare (insn, operands, 0, 0);"
|
||||
[(set_attr "type" "multi")
|
||||
(set_attr "unit" "i387")
|
||||
(set_attr "mode" "<MODE>")])
|
||||
|
||||
(define_insn "*cmpfp_u"
|
||||
[(set (match_operand:HI 0 "register_operand" "=a")
|
||||
(unspec:HI
|
||||
|
|
Loading…
Add table
Reference in a new issue