[AArch64] Used prefer aliases SXTL(2) and UXTL(2)

Programming / Compilers / GCC - ktkachov [138bc75d-0d04-0410-961f-82ee72b054a4] - 1 June 2018 15:50 EDT

The SSHL and USHL instructions are used with a shift operand of zero to sign and zero-extend integer vectors into wider modes. GCC makes extensive use of them to "unpack" vectors.

AArch64 defines a shorthand alias for that case. Instead of writing: SSHLL ., ., 0

we can write

SXTL ., .

Similar for the unsigned versions and the high-part versions (SSHL2 -> SXTL2). This makes the assembly of vectorised functions a bit more readable.

- config/aarch64/aarch64-simd.md (aarch64_simd_vec_unpack_lo_): Use UXTL and SXTL assembler mnemonics. (aarch64_simd_vec_unpack_hi_): Use UXTL2 and SXTL2 assembler mnemonics.

a74b9919b26 [AArch64] Used prefer aliases SXTL(2) and UXTL(2)
gcc/ChangeLog | 8 ++++++++
gcc/config/aarch64/aarch64-simd.md | 4 ++--
2 files changed, 10 insertions(+), 2 deletions(-)

Upstream: gcc.gnu.org


  • Share