diff options
author | Stan Cox <coxs@gnu.org> | 1996-03-01 15:28:23 +0000 |
---|---|---|
committer | Stan Cox <coxs@gnu.org> | 1996-03-01 15:28:23 +0000 |
commit | cac58785f71c9ba3fd3de7e1dd065b0cf539936a (patch) | |
tree | 9e9e783834376f6a6071167a170e208eddccc801 /gcc | |
parent | 049b9f449c4f53a3c1e72531275fd3ed146aa929 (diff) | |
download | gcc-cac58785f71c9ba3fd3de7e1dd065b0cf539936a.zip gcc-cac58785f71c9ba3fd3de7e1dd065b0cf539936a.tar.gz gcc-cac58785f71c9ba3fd3de7e1dd065b0cf539936a.tar.bz2 |
(cmpxf*): XF compare cannot have mem operands.
From-SVN: r11396
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/i386/i386.md | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index a83e1e7..9cebf24 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -382,11 +382,10 @@ (define_insn "" [(set (cc0) (match_operator 2 "VOIDmode_compare_op" - [(match_operand:XF 0 "nonimmediate_operand" "f,fm") - (match_operand:XF 1 "nonimmediate_operand" "fm,f")])) - (clobber (match_scratch:HI 3 "=a,a"))] - "TARGET_80387 - && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)" + [(match_operand:XF 0 "register_operand" "f") + (match_operand:XF 1 "register_operand" "f")])) + (clobber (match_scratch:HI 3 "=a"))] + "TARGET_80387" "* return output_float_compare (insn, operands);") (define_insn "" @@ -566,15 +565,14 @@ (define_expand "cmpxf" [(set (cc0) (compare (match_operand:XF 0 "register_operand" "") - (match_operand:XF 1 "nonimmediate_operand" "")))] + (match_operand:XF 1 "register_operand" "")))] "TARGET_80387" " { i386_compare_gen = gen_cmpxf_cc; i386_compare_gen_eq = gen_cmpxf_ccfpeq; i386_compare_op0 = operands[0]; - i386_compare_op1 = (immediate_operand (operands[1], XFmode)) - ? copy_to_mode_reg (XFmode, operands[1]) : operands[1]; + i386_compare_op1 = operands[1]; DONE; }") @@ -622,11 +620,7 @@ (match_operand:XF 1 "register_operand" ""))) (clobber (match_scratch:HI 2 ""))])] "TARGET_80387" - " -{ - if (! register_operand (operands[1], XFmode)) - operands[1] = copy_to_mode_reg (XFmode, operands[1]); -}") + "") (define_expand "cmpdf_cc" [(parallel [(set (cc0) |