On 07/13/2017 02:55 AM, Richard Sandiford wrote:
> Similarly to the nonzero_bits patch, this one moves the mode
> class check and VOIDmode handling from num_sign_bit_copies1
> to num_sign_bit_copies itself, then changes the subroutines
> to operate on scalar_int_modes.
>
> gcc/
> 2017-07-13 Richard Sandiford <richard.sandif...@linaro.org>
> Alan Hayward <alan.hayw...@arm.com>
> David Sherwood <david.sherw...@arm.com>
>
> * rtlanal.c (num_sign_bit_copies): Handle VOIDmode here rather
> than in subroutines. Return 1 for non-integer modes.
> (cached_num_sign_bit_copies): Change the type of the mode parameter
> to scalar_int_mode.
> (num_sign_bit_copies1): Likewise. Remove early exit for other mode
> classes. Handle CONST_INT_P first and then check whether X also
> has a scalar integer mode. Check the same thing for inner registers
> of a SUBREG and for values that are being extended or truncated.
OK.
jeff