aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorStan Cox <coxs@gnu.org>1996-03-01 15:28:23 +0000
committerStan Cox <coxs@gnu.org>1996-03-01 15:28:23 +0000
commitcac58785f71c9ba3fd3de7e1dd065b0cf539936a (patch)
tree9e9e783834376f6a6071167a170e208eddccc801 /gcc
parent049b9f449c4f53a3c1e72531275fd3ed146aa929 (diff)
downloadgcc-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.md20
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)