[PATCH] aarch64: Reimplement vmovl*/vmovn* intrinsics using __builtin_convertvector

Kyrylo Tkachov Kyrylo.Tkachov@arm.com
Mon Jan 11 09:11:29 GMT 2021


Hi all,

__builtin_convertvector seems well-suited to implementing the vmovl and vmovn intrinsics that widen and narrow
the integer elements in a vector.

This removes some more inline assembly from the intrinsics.
Bootstrapped and tested on aarch64-none-linux-gnu.

Pushing to trunk.
Thanks,
Kyrill

gcc/
	* config/aarch64/arm_neon.h (vmovl_s8): Reimplement using
	__builtin_convertvector.
	(vmovl_s16): Likewise.
	(vmovl_s32): Likewise.
	(vmovl_u8): Likewise.
	(vmovl_u16): Likewise.
	(vmovl_u32): Likewise.
	(vmovn_s16): Likewise.
	(vmovn_s32): Likewise.
	(vmovn_s64): Likewise.
	(vmovn_u16): Likewise.
	(vmovn_u32): Likewise.
	(vmovn_u64): Likewise.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: convertvec.patch
Type: application/octet-stream
Size: 4721 bytes
Desc: convertvec.patch
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20210111/f1eb93cf/attachment-0001.obj>


More information about the Gcc-patches mailing list