r273703 - in /trunk/gcc: ChangeLog config/aarch...

jgreenhalgh@gcc.gnu.org jgreenhalgh@gcc.gnu.org
Mon Jul 22 16:21:00 GMT 2019


Author: jgreenhalgh
Date: Mon Jul 22 16:21:17 2019
New Revision: 273703

URL: https://gcc.gnu.org/viewcvs?rev=273703&root=gcc&view=rev
Log:
[aarch64]: add usra and ssra combine patterns

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 <sylvia.taylor@arm.com>.
Reviewed-by: <James.greenhalgh@arm.com>

gcc/ChangeLog:


        * config/aarch64/aarch64-simd.md
        (*aarch64_simd_sra<mode>): New.
        * config/aarch64/iterators.md
        (SHIFTRT): New iterator.
        (sra_op): New attribute.

gcc/testsuite/ChangeLog:

        * gcc.target/aarch64/simd/ssra.c: New test.
        * gcc.target/aarch64/simd/usra.c: New test.



Added:
    trunk/gcc/testsuite/gcc.target/aarch64/simd/ssra.c
    trunk/gcc/testsuite/gcc.target/aarch64/simd/usra.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/aarch64/aarch64-simd.md
    trunk/gcc/config/aarch64/iterators.md
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list