]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gcc/
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 31 Oct 2012 08:01:23 +0000 (08:01 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 31 Oct 2012 08:01:23 +0000 (08:01 +0000)
* combine.c (simplify_comparison): If BITS_BIG_ENDIAN, always assume
that zero_extracts of const_ints are doing word-sized extractions.

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

gcc/ChangeLog
gcc/combine.c

index 5b6fd01d85fa751c3259b02674b17fe08da7e230..fa4d4ba0b4ec03dd2d9e10c1e9f1537445b5c42f 100644 (file)
@@ -1,3 +1,8 @@
+2012-10-31  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * combine.c (simplify_comparison): If BITS_BIG_ENDIAN, always assume
+       that zero_extracts of const_ints are doing word-sized extractions.
+
 2012-10-31  Richard Sandiford  <rdsandiford@googlemail.com>
 
        * combine.c (make_extraction): Remove dead wanted_inner_mode-
index e9d0a45d6339e45bd465e7a22ca2f1701e6d858a..5bbf0bde93764951930ed739ccf2d1af63f94fbd 100644 (file)
@@ -11154,17 +11154,7 @@ simplify_comparison (enum rtx_code code, rtx *pop0, rtx *pop1)
              && (i = exact_log2 (UINTVAL (XEXP (op0, 0)))) >= 0)
            {
              if (BITS_BIG_ENDIAN)
-               {
-                 enum machine_mode new_mode
-                   = mode_for_extraction (EP_extzv, 1);
-                 if (new_mode == MAX_MACHINE_MODE)
-                   i = BITS_PER_WORD - 1 - i;
-                 else
-                   {
-                     mode = new_mode;
-                     i = (GET_MODE_PRECISION (mode) - 1 - i);
-                   }
-               }
+               i = BITS_PER_WORD - 1 - i;
 
              op0 = XEXP (op0, 2);
              op1 = GEN_INT (i);