[GCC][AARCH64] Canonicalize aarch64 widening simd plus insns
commit18891c646dfbe6026f97569d2c37337e36595435
authorktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jul 2018 15:37:52 +0000 (24 15:37 +0000)
committerktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jul 2018 15:37:52 +0000 (24 15:37 +0000)
tree8ff7ea849f6e10ce80490101868f49424376ea74
parent0f04faa50e2e93abb2c3de6afcf24a3665754589
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@262949 138bc75d-0d04-0410-961f-82ee72b054a4
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]