aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-if-conv.c
diff options
context:
space:
mode:
authorXionghu Luo <luoxhu@linux.ibm.com>2021-10-19 04:02:04 -0500
committerXionghu Luo <luoxhu@linux.ibm.com>2021-10-19 04:02:04 -0500
commit0910c516a3d72af048af27308349167f25c406c2 (patch)
tree740baf03c4bc90f1fb37c01dd77f495f5003caaf /gcc/tree-if-conv.c
parentd2161caffbb56a434776608af4e4491b59e508c8 (diff)
downloadgcc-0910c516a3d72af048af27308349167f25c406c2.zip
gcc-0910c516a3d72af048af27308349167f25c406c2.tar.gz
gcc-0910c516a3d72af048af27308349167f25c406c2.tar.bz2
rs6000: Remove unspecs for vec_mrghl[bhw]
vmrghb only accepts permute index {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23} no matter for BE or LE in ISA, similarly for vmrglb. Remove UNSPEC_VMRGH_DIRECT/UNSPEC_VMRGL_DIRECT pattern as vec_select + vec_concat as normal RTL. Tested pass on P8LE, P9LE and P8BE{m32}. gcc/ChangeLog: 2021-10-19 Xionghu Luo <luoxhu@linux.ibm.com> * config/rs6000/altivec.md (*altivec_vmrghb_internal): Delete. (altivec_vmrghb_direct): New. (*altivec_vmrghh_internal): Delete. (altivec_vmrghh_direct): New. (*altivec_vmrghw_internal): Delete. (altivec_vmrghw_direct_<mode>): New. (altivec_vmrghw_direct): Delete. (*altivec_vmrglb_internal): Delete. (altivec_vmrglb_direct): New. (*altivec_vmrglh_internal): Delete. (altivec_vmrglh_direct): New. (*altivec_vmrglw_internal): Delete. (altivec_vmrglw_direct_<mode>): New. (altivec_vmrglw_direct): Delete. * config/rs6000/rs6000-p8swap.c (rtx_is_swappable_p): Adjust. * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Adjust. * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust. (vsx_xxmrglw_<mode>): Adjust. gcc/testsuite/ChangeLog: 2021-10-19 Xionghu Luo <luoxhu@linux.ibm.com> * gcc.target/powerpc/builtins-1.c: Update instruction counts.
Diffstat (limited to 'gcc/tree-if-conv.c')
0 files changed, 0 insertions, 0 deletions