]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/19028 (ICE in libjava)
authorRichard Henderson <rth@redhat.com>
Thu, 16 Dec 2004 09:48:32 +0000 (01:48 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Thu, 16 Dec 2004 09:48:32 +0000 (01:48 -0800)
        PR target/19028
        * config/i386/i386.md (sse compare splitter): Test for SF and DFmode
        explicitly instead of using VALID_SSE_REG_MODE.

From-SVN: r92252

gcc/ChangeLog
gcc/config/i386/i386.md

index 8bfba649c875854a40f2b0aa8c392dbb69d0dc07..c918624c4a4c4b9352837ad8f93375fc6160455e 100644 (file)
@@ -1,3 +1,9 @@
+2004-12-15  Richard Henderson  <rth@redhat.com>
+
+       PR target/19028
+       * config/i386/i386.md (sse compare splitter): Test for SF and DFmode
+       explicitly instead of using VALID_SSE_REG_MODE.
+
 2004-12-15  Richard Henderson  <rth@redhat.com>
 
        PR target/19005
 
 2004-12-15  Richard Henderson  <rth@redhat.com>
 
-        PR target/19010
-        * config/i386/i386.c (gen_reg_or_parallel): New.
-        (function_arg): Use it.
-        (ix86_hard_regno_mode_ok): Test SSE1 and SSE2 separately,
-        MMX and 3DNOW separately.
-        (ix86_rtx_costs): Simplify FLOAT_EXTEND case.
-        * config/i386/i386.h (VALID_SSE2_REG_MODE): Move SSE2 cases from ...
-        (VALID_SSE_REG_MODE): ... here.
+       PR target/19010
+       * config/i386/i386.c (gen_reg_or_parallel): New.
+       (function_arg): Use it.
+       (ix86_hard_regno_mode_ok): Test SSE1 and SSE2 separately,
+       MMX and 3DNOW separately.
+       (ix86_rtx_costs): Simplify FLOAT_EXTEND case.
+       * config/i386/i386.h (VALID_SSE2_REG_MODE): Move SSE2 cases from ...
+       (VALID_SSE_REG_MODE): ... here.
        * config/i386/i386.md (movv4sf_internal): Validate one MEM.
        (movv4si_internal): Likewise.
        (movv2di_internal): Likewise.  Enable for SSE2 only.
 
 2004-12-12  Richard Henderson  <rth@redhat.com>
 
-        PR rtl-opt/17186
-        * reg-stack.c (move_for_stack_reg): Handle source register not
+       PR rtl-opt/17186
+       * reg-stack.c (move_for_stack_reg): Handle source register not
        live with a nan.
 
 2004-12-12  Richard Henderson  <rth@redhat.com>
 
-        PR target/18932
-        * config/i386/i386.md (all splits and peepholes): Use flags_reg_operand
-        and compare_operator to propagate the input CC mode to the output.
+       PR target/18932
+       * config/i386/i386.md (all splits and peepholes): Use flags_reg_operand
+       and compare_operator to propagate the input CC mode to the output.
        * config/i386/i386.c (compare_operator): New.
        * config/i386/i386.h (PREDICATE_CODES): Add it.
-        * config/i386/i386-protos.h: Update.
+       * config/i386/i386-protos.h: Update.
 
 2004-12-09  Richard Henderson  <rth@redhat.com>
 
index ec2b528076c4e6e9870bc12db5eb2f9ed198875c..ffac5cfc94e454f5746a3a80c403e133c466292a 100644 (file)
    (clobber (match_operand 6 "" ""))
    (clobber (reg:CC 17))]
   "!SSE_REG_P (operands[0]) && reload_completed
-   && VALID_SSE_REG_MODE (GET_MODE (operands[0]))"
+   && (GET_MODE (operands[0]) == SFmode
+       || (TARGET_SSE2 && GET_MODE (operands[0]) == DFmode))"
   [(const_int 0)]
 {
    ix86_compare_op0 = operands[5];