aarch64: Add support for unpacked SVE ADR
authorRichard Sandiford <richard.sandiford@arm.com>
Mon, 11 Jan 2021 18:03:23 +0000 (18:03 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Mon, 11 Jan 2021 18:03:23 +0000 (18:03 +0000)
commit3f8b0bba0359419fd453f31519420d6d69fdf710
tree3e12acd8f3b740277aa38428384442a7a8062ffe
parentab76e3db6b8ca92cdd76870e0e9f217abcc62131
aarch64: Add support for unpacked SVE ADR

This patch extends the ADR patterns to handle unpacked vectors.
They would work with both elements and containers, but since
the instructions only support .s and .d, we get more coverage
by using containers.

gcc/
* config/aarch64/iterators.md (SVE_24I): New iterator.
* config/aarch64/aarch64-sve.md (*aarch64_adr<mode>_shift): Extend from
SVE_FULL_SDI to SVE_24I.  Use containers rather than elements.

gcc/testsuite/
* gcc.target/aarch64/sve/adr_6.c: New test.
gcc/config/aarch64/aarch64-sve.md
gcc/config/aarch64/iterators.md
gcc/testsuite/gcc.target/aarch64/sve/adr_6.c [new file with mode: 0644]