aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphclones.c
diff options
context:
space:
mode:
authorluoxhu@cn.ibm.com <luoxhu@cn.ibm.com>2021-03-26 22:26:57 -0500
committerSegher Boessenkool <segher@kernel.crashing.org>2021-03-30 13:43:21 +0000
commitf64b91568f3ac8f152c6c617b4fcc6b51da10ac4 (patch)
treeb414a01986e5b7d164aaf16237b2591bce39812a /gcc/cgraphclones.c
parent5463cee277038df4688b61144db498ae7d24e631 (diff)
downloadgcc-f64b91568f3ac8f152c6c617b4fcc6b51da10ac4.zip
gcc-f64b91568f3ac8f152c6c617b4fcc6b51da10ac4.tar.gz
gcc-f64b91568f3ac8f152c6c617b4fcc6b51da10ac4.tar.bz2
rs6000: Enable 32bit variable vec_insert [PR99718]
32bit and P7 VSX could also benefit a lot from the variable vec_insert implementation with shift/insert/shift back method. 2011-03-29 Xionghu Luo <luoxhu@linux.ibm.com> PR target/99718 * config/rs6000/altivec.md (altivec_lvsl_reg): Change to ... (altivec_lvsl_reg_<mode>): ... this. (altivec_lvsr_reg): Change to ... (altivec_lvsr_reg_<mode>): ... this. * config/rs6000/predicates.md (vec_set_index_operand): New. * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Enable 32bit variable vec_insert for all TARGET_VSX. * config/rs6000/rs6000.c (rs6000_expand_vector_set_var_p9): Enable 32bit variable vec_insert for p9 and above. (rs6000_expand_vector_set_var_p8): Rename to ... (rs6000_expand_vector_set_var_p7): ... this. (rs6000_expand_vector_set): Use TARGET_VSX and adjust assert position. * config/rs6000/vector.md (vec_set<mode>): Use vec_set_index_operand. * config/rs6000/vsx.md (xl_len_r): Use gen_altivec_lvsl_reg_di and gen_altivec_lvsr_reg_di. gcc/testsuite/ PR target/99718 * gcc.target/powerpc/fold-vec-insert-char-p8.c: Update instruction counts. * gcc.target/powerpc/fold-vec-insert-char-p9.c: Likewise. * gcc.target/powerpc/fold-vec-insert-double.c: Likewise. * gcc.target/powerpc/fold-vec-insert-float-p8.c: Likewise. * gcc.target/powerpc/fold-vec-insert-float-p9.c: Likewise. * gcc.target/powerpc/fold-vec-insert-int-p8.c: Likewise. * gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise. * gcc.target/powerpc/fold-vec-insert-longlong.c: Likewise. * gcc.target/powerpc/fold-vec-insert-short-p8.c: Likewise. * gcc.target/powerpc/fold-vec-insert-short-p9.c: Likewise. * gcc.target/powerpc/pr79251.p8.c: Likewise. * gcc.target/powerpc/pr79251.p9.c: Likewise. * gcc.target/powerpc/vsx-builtin-7.c: Likewise. * gcc.target/powerpc/pr79251-run.p7.c: New test. * gcc.target/powerpc/pr79251.p7.c: New test.
Diffstat (limited to 'gcc/cgraphclones.c')
0 files changed, 0 insertions, 0 deletions