PR target/20018
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 23 Feb 2005 18:20:52 +0000 (18:20 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 23 Feb 2005 18:20:52 +0000 (18:20 +0000)
PR rtl-optimization/20097
* simplify-rtx.c (simplify_relational_operation_1): Avoid creating
BImode SUBREGs of SImode registers which confuse the ia64 backend.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95461 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/simplify-rtx.c

index 9c5af01..6755836 100644 (file)
@@ -1,3 +1,10 @@
+2005-02-23  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/20018
+       PR rtl-optimization/20097
+       * simplify-rtx.c (simplify_relational_operation_1): Avoid creating
+       BImode SUBREGs of SImode registers which confuse the ia64 backend.
+
 2005-02-23  David Edelsohn  <edelsohn@gnu.org>
 
        * t-aix43 (SHLIB_INSTALL): Create directory for shared library.
index b7132ed..a2cd612 100644 (file)
@@ -2887,6 +2887,8 @@ simplify_relational_operation_1 (enum rtx_code code, enum machine_mode mode,
       && op1 == const0_rtx
       && GET_MODE_CLASS (mode) == MODE_INT
       && cmp_mode != VOIDmode
+      /* ??? Work-around BImode bugs in the ia64 backend.  */
+      && mode != BImode
       && cmp_mode != BImode
       && nonzero_bits (op0, cmp_mode) == 1
       && STORE_FLAG_VALUE == 1)