]> gcc.gnu.org Git - gcc.git/commitdiff
(cmpxf*): XF compare cannot have mem operands.
authorStan Cox <coxs@gnu.org>
Fri, 1 Mar 1996 15:28:23 +0000 (15:28 +0000)
committerStan Cox <coxs@gnu.org>
Fri, 1 Mar 1996 15:28:23 +0000 (15:28 +0000)
From-SVN: r11396

gcc/config/i386/i386.md

index a83e1e780fcab7929d7c4c16c6a2cc0dd666a1d6..9cebf24f3035bccfedc1e2fe29fa4943f9c1b103 100644 (file)
 (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 ""
 (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;
 }")
 
                                   (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)
This page took 0.068737 seconds and 5 git commands to generate.