aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2015-12-11 00:47:31 +0100
committerSegher Boessenkool <segher@gcc.gnu.org>2015-12-11 00:47:31 +0100
commit0c91a1fb3c6bf27bd513d6a160bdce14a7070a60 (patch)
treecdfb92915fbfdba1b278b16908e00337a081c950 /gcc
parente74f7152e87f9c7b66c3af0e58b70fcd6f9cb042 (diff)
downloadgcc-0c91a1fb3c6bf27bd513d6a160bdce14a7070a60.zip
gcc-0c91a1fb3c6bf27bd513d6a160bdce14a7070a60.tar.gz
gcc-0c91a1fb3c6bf27bd513d6a160bdce14a7070a60.tar.bz2
rtlanal: Fix bits/bytes confusion in set_noop_p (PR68814)
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/rtlanal.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 27ccfc8..d662229 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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,
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 67098e5..f893bca 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -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)