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