r261073 - in /trunk/gcc: ChangeLog config/aarch...
ktkachov@gcc.gnu.org
ktkachov@gcc.gnu.org
Fri Jun 1 15:50:00 GMT 2018
Author: ktkachov
Date: Fri Jun 1 15:50:18 2018
New Revision: 261073
URL: https://gcc.gnu.org/viewcvs?rev=261073&root=gcc&view=rev
Log:
[AArch64] Used prefer aliases SXTL(2) and UXTL(2)
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 <Vd>.<Ta>, <Vn>.<Tb>, 0
we can write
SXTL <Vd>.<Ta>, <Vn>.<Tb>
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<su>_lo_<mode>): Use UXTL and SXTL assembler
mnemonics.
(aarch64_simd_vec_unpack<su>_hi_<mode>): Use UXTL2 and SXTL2 assembler
mnemonics.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64-simd.md
More information about the Gcc-cvs
mailing list