[aarch64]: add usra and ssra combine patterns

Programming / Compilers / GCC - jgreenhalgh [138bc75d-0d04-0410-961f-82ee72b054a4] - 22 July 2019 16:21 EDT

This patch adds support to combine:

1) ushr and add into usra, example:

ushr v0.16b, v0.16b, 2 add v0.16b, v0.16b, v2.16b

usra v2.16b, v0.16b, 2

2) sshr and add into ssra, example:

sshr v1.16b, v1.16b, 2 add v1.16b, v1.16b, v3.16b

ssra v3.16b, v1.16b, 2

Committed on behalf of Sylvia Taylor.

4c0c8e5a529 [aarch64]: add usra and ssra combine patterns
gcc/ChangeLog | 8 +++++++
gcc/config/aarch64/aarch64-simd.md | 12 ++++++++++
gcc/config/aarch64/iterators.md | 5 ++++
gcc/testsuite/ChangeLog | 5 ++++
gcc/testsuite/gcc.target/aarch64/simd/ssra.c | 36 ++++++++++++++++++++++++++++
gcc/testsuite/gcc.target/aarch64/simd/usra.c | 36 ++++++++++++++++++++++++++++
6 files changed, 102 insertions(+)

Upstream: gcc.gnu.org


  • Share