[GCC][AARCH64] Canonicalize aarch64 widening simd plus insns
authorMatthew Malcomson <matthew.malcomson@arm.com>
Tue, 24 Jul 2018 15:37:52 +0000 (15:37 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Tue, 24 Jul 2018 15:37:52 +0000 (15:37 +0000)
commit8da03df56724152e4f524160b68e63c615d4632a
tree8ff7ea849f6e10ce80490101868f49424376ea74
parentebac3c0236c626f80b005af53505de5b79cba99d
[GCC][AARCH64] Canonicalize aarch64 widening simd plus insns

Committed on behalf of matthew.malcomson@arm.com

2018-07-24  Matthew Malcomson  <matthew.malcomson@arm.com>

* config/aarch64/aarch64-simd.md
(aarch64_<ANY_EXTEND:su><ADDSUB:optab>w<mode>): Split into...
(aarch64_<ANY_EXTEND:su>subw<mode>): ... This...
(aarch64_<ANY_EXTEND:su>addw<mode>): ... And this.
(aarch64_<ANY_EXTEND:su><ADDSUB:optab>w<mode>_internal): Split into...
(aarch64_<ANY_EXTEND:su>subw<mode>_internal): ... This...
(aarch64_<ANY_EXTEND:su>addw<mode>_internal): ... And this.
(aarch64_<ANY_EXTEND:su><ADDSUB:optab>w2<mode>_internal): Split into...
(aarch64_<ANY_EXTEND:su>subw2<mode>_internal): ... This...
(aarch64_<ANY_EXTEND:su>addw2<mode>_internal): ... And this.

* gcc.target/aarch64/vect-su-add-sub.c: New.

From-SVN: r262949
gcc/ChangeLog
gcc/config/aarch64/aarch64-simd.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/simd/vect_su_add_sub.c [new file with mode: 0644]