> The meaning of ZERO_EXTRACT depends on BITS_BIG_ENDIAN, not on
> BYTES_BIG_ENDIAN.

That's correct.

> Testing in progress on powerpc64le-linux; if it passes, is this
> okay for trunk?
> 
> 
> Segher
> 
> 
> 2015-12-09  Segher Boessenkool  <seg...@kernel.crashing.org>
> 
>       PR rtl-optimization/68814
>       * rtlanal.c (set_noop_p): Use BITS_BIG_ENDIAN instead of
>       BYTES_BIG_ENDIAN.
> ---
>  gcc/rtlanal.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> 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)

I have a hard time figuring out what a SET verifying the condition would 
really mean.  Could you post it and explain where it comes from?

-- 
Eric Botcazou

Reply via email to