aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/adaint.c
diff options
context:
space:
mode:
authorKewen Lin <linkw@linux.ibm.com>2020-12-16 00:28:44 -0600
committerKewen Lin <linkw@linux.ibm.com>2020-12-16 02:12:08 -0600
commit31008a8bb30d8979bba5240be6b504140c5665ff (patch)
treebfe0ba276beb88f025a38c239bc54a981c05734e /gcc/ada/adaint.c
parenta3bac40469b7052bfadc21cad0e53f40b147e937 (diff)
downloadgcc-31008a8bb30d8979bba5240be6b504140c5665ff.zip
gcc-31008a8bb30d8979bba5240be6b504140c5665ff.tar.gz
gcc-31008a8bb30d8979bba5240be6b504140c5665ff.tar.bz2
rs6000: Use subreg for QI/HI vector init
This patch is to use paradoxical subreg instead of zero_extend for promoting QI/HI to SI/DI when we want to construct one vector with these modes. Since we do the gpr->vsx movement and vector merge or pack later, the high part is useless and safe to use paradoxical subreg. It can avoid useless rlwinms generated for signed cases. Bootstrapped/regtested on powerpc64le-linux-gnu P9. gcc/ChangeLog: * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use paradoxical subreg instead of zero_extend for QI/HI promotion. gcc/testsuite/ChangeLog: * gcc.target/powerpc/pr96933-1.c: Adjusted to check no rlwinm. * gcc.target/powerpc/pr96933-2.c: Likewise.
Diffstat (limited to 'gcc/ada/adaint.c')
0 files changed, 0 insertions, 0 deletions