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
we can write
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
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(-)