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:
parent
e74f7152e8
commit
0c91a1fb3c
2 changed files with 7 additions and 1 deletions
|
@ -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>
|
2015-12-10 Nathan Sidwell <nathan@acm.org>
|
||||||
|
|
||||||
* config/nvptx/nvptx.c (nvptx_function_arg,
|
* config/nvptx/nvptx.c (nvptx_function_arg,
|
||||||
|
|
|
@ -1534,7 +1534,7 @@ set_noop_p (const_rtx set)
|
||||||
|
|
||||||
if (GET_CODE (dst) == ZERO_EXTRACT)
|
if (GET_CODE (dst) == ZERO_EXTRACT)
|
||||||
return rtx_equal_p (XEXP (dst, 0), src)
|
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);
|
&& !side_effects_p (src);
|
||||||
|
|
||||||
if (GET_CODE (dst) == STRICT_LOW_PART)
|
if (GET_CODE (dst) == STRICT_LOW_PART)
|
||||||
|
|
Loading…
Add table
Reference in a new issue