aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-pre.c
diff options
context:
space:
mode:
authorMichael Collison <collison@gcc.gnu.org>2016-04-25 05:03:09 +0000
committerMichael Collison <collison@gcc.gnu.org>2016-04-25 05:03:09 +0000
commit93c590ee1aa41d3df7298d7dd1596994163f6d74 (patch)
tree232a7b2f09a3eaab8167683bda4524742de85802 /gcc/tree-ssa-pre.c
parent151a16073f59ef1445d9e66a0f65e1ced9060416 (diff)
downloadgcc-93c590ee1aa41d3df7298d7dd1596994163f6d74.zip
gcc-93c590ee1aa41d3df7298d7dd1596994163f6d74.tar.gz
gcc-93c590ee1aa41d3df7298d7dd1596994163f6d74.tar.bz2
neon.md (widen_<us>sum<mode>): New patterns where mode is VQI to improve mixed mode vectorization.
2016-04-25 Michael Collison <michael.collison@linaro.org> * config/arm/neon.md (widen_<us>sum<mode>): New patterns where mode is VQI to improve mixed mode vectorization. * config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3): New define_insn to match low half of signed vaddw. * config/arm/neon.md (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): New define_insn to match high half of signed vaddw. * config/arm/neon.md (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): New define_insn to match low half of unsigned vaddw. * config/arm/neon.md (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): New define_insn to match high half of unsigned vaddw. * config/arm/arm.c (arm_simd_vect_par_cnst_half): New function. (arm_simd_check_vect_par_cnst_half_p): Likewise. * config/arm/arm-protos.h (arm_simd_vect_par_cnst_half): Prototype for new function. (arm_simd_check_vect_par_cnst_half_p): Likewise. * config/arm/predicates.md (vect_par_constant_high): Support big endian and simplify by calling arm_simd_check_vect_par_cnst_half (vect_par_constant_low): Likewise. * testsuite/gcc.target/arm/neon-vaddws16.c: New test. * testsuite/gcc.target/arm/neon-vaddws32.c: New test. * testsuite/gcc.target/arm/neon-vaddwu16.c: New test. * testsuite/gcc.target/arm/neon-vaddwu32.c: New test. * testsuite/gcc.target/arm/neon-vaddwu8.c: New test. * testsuite/lib/target-supports.exp (check_effective_target_vect_widen_sum_hi_to_si_pattern): Indicate that arm neon support vector widen sum of HImode TO SImode. From-SVN: r235402
Diffstat (limited to 'gcc/tree-ssa-pre.c')
0 files changed, 0 insertions, 0 deletions