fix minor sse compare inconsistency

Richard Henderson rth@redhat.com
Sat Jan 22 22:57:00 GMT 2005


This is the canonical version of this test.  I havn't found a case
for which this makes a difference, but it did look out of place.

It has been tested on i686-linux, along with other changes to follow.


r~


        * config/i386/i386.c (ix86_prepare_fp_compare_args): Fix is_sse test.

Index: config/i386/i386.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.c,v
retrieving revision 1.787
diff -u -p -d -r1.787 i386.c
--- config/i386/i386.c	20 Jan 2005 18:34:11 -0000	1.787
+++ config/i386/i386.c	22 Jan 2005 22:51:38 -0000
@@ -8331,7 +8331,7 @@ ix86_prepare_fp_compare_args (enum rtx_c
   enum machine_mode fpcmp_mode = ix86_fp_compare_mode (code);
   rtx op0 = *pop0, op1 = *pop1;
   enum machine_mode op_mode = GET_MODE (op0);
-  int is_sse = SSE_REG_P (op0) || SSE_REG_P (op1);
+  int is_sse = TARGET_SSE_MATH && SSE_FLOAT_MODE_P (op_mode);
 
   /* All of the unordered compare instructions only work on registers.
      The same is true of the fcomi compare instructions.  The same is



More information about the Gcc-patches mailing list