diff options
author | Michael Collison <collison@gcc.gnu.org> | 2016-04-25 05:03:09 +0000 |
---|---|---|
committer | Michael Collison <collison@gcc.gnu.org> | 2016-04-25 05:03:09 +0000 |
commit | 93c590ee1aa41d3df7298d7dd1596994163f6d74 (patch) | |
tree | 232a7b2f09a3eaab8167683bda4524742de85802 /gcc/tree-ssa-pre.c | |
parent | 151a16073f59ef1445d9e66a0f65e1ced9060416 (diff) | |
download | gcc-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