aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@linaro.org>2017-08-30 11:17:01 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2017-08-30 11:17:01 +0000
commitf8265fb8e8e12c92eab0393488824bfb788ebfff (patch)
tree683737625050797f802f8d3dd4a2d0a2a64f7705 /gcc/expr.c
parent22527b59dbb10204626aeb8660a8e262377ac354 (diff)
downloadgcc-f8265fb8e8e12c92eab0393488824bfb788ebfff.zip
gcc-f8265fb8e8e12c92eab0393488824bfb788ebfff.tar.gz
gcc-f8265fb8e8e12c92eab0393488824bfb788ebfff.tar.bz2
[48/77] Make subroutines of num_sign_bit_copies operate on scalar_int_mode
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. 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * 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. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r251500
Diffstat (limited to 'gcc/expr.c')
0 files changed, 0 insertions, 0 deletions