rtlanal: Fix bits/bytes confusion in set_noop_p (PR68814)
authorSegher Boessenkool <segher@kernel.crashing.org>
Thu, 10 Dec 2015 23:47:31 +0000 (00:47 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Thu, 10 Dec 2015 23:47:31 +0000 (00:47 +0100)
The meaning of ZERO_EXTRACT depends on BITS_BIG_ENDIAN, not on
BYTES_BIG_ENDIAN.  This caused PR68814.

2015-12-11  Segher Boessenkool  <segher@kernel.crashing.org>

PR rtl-optimization/68814
* rtlanal.c (set_noop_p): Use BITS_BIG_ENDIAN instead of
BYTES_BIG_ENDIAN.

From-SVN: r231547

gcc/ChangeLog
gcc/rtlanal.c

index 27ccfc8cf72fea099f1729449a77a3393bae8a40..d6622299cdcd82e08226c42a1e4c7ab244a59281 100644 (file)
@@ -1,3 +1,9 @@
+2015-12-11  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR rtl-optimization/68814
+       * rtlanal.c (set_noop_p): Use BITS_BIG_ENDIAN instead of
+       BYTES_BIG_ENDIAN.
+
 2015-12-10  Nathan Sidwell  <nathan@acm.org>
 
        * config/nvptx/nvptx.c (nvptx_function_arg,
index 67098e52ab7fbe9578af8a0a0432a8ec279b21c5..f893bca0d0a17498c1b234492e4acff02cec6e84 100644 (file)
@@ -1534,7 +1534,7 @@ set_noop_p (const_rtx set)
 
   if (GET_CODE (dst) == ZERO_EXTRACT)
     return rtx_equal_p (XEXP (dst, 0), src)
-          && ! BYTES_BIG_ENDIAN && XEXP (dst, 2) == const0_rtx
+          && !BITS_BIG_ENDIAN && XEXP (dst, 2) == const0_rtx
           && !side_effects_p (src);
 
   if (GET_CODE (dst) == STRICT_LOW_PART)