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
This commit is contained in:
Segher Boessenkool 2015-12-11 00:47:31 +01:00 committed by Segher Boessenkool
parent e74f7152e8
commit 0c91a1fb3c
2 changed files with 7 additions and 1 deletions

View 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,

View 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)