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 <[email protected]>
> Alan Hayward <[email protected]>
> David Sherwood <[email protected]>
>
> * 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