[PATCH] aarch64: Reimplement vget_high* intrinsics

Kyrylo Tkachov Kyrylo.Tkachov@arm.com
Fri Feb 5 09:17:20 GMT 2021


Hi all,

Similar to the vget_low* intrinsics we should just use a proper vec_select rather than
going through V2DI subregs.

Bootstrapped and tested on aarch64-none-linux-gnu and aarch64_be-none-elf.

Pushing to trunk.
Thanks,
Kyrill

gcc/ChangeLog:

	* config/aarch64/aarch64-simd-builtins.def (get_high): Define builtin.
	* config/aarch64/aarch64-simd.md (aarch64_get_high<mode>): Define.
	* config/aarch64/arm_neon.h (__GET_HIGH): Delete.
	(vget_high_f16): Reimplement using new builtin.
	(vget_high_f32): Likewise.
	(vget_high_f64): Likewise.
	(vget_high_p8): Likewise.
	(vget_high_p16): Likewise.
	(vget_high_p64): Likewise.
	(vget_high_s8): Likewise.
	(vget_high_s16): Likewise.
	(vget_high_s32): Likewise.
	(vget_high_s64): Likewise.
	(vget_high_u8): Likewise.
	(vget_high_u16): Likewise.
	(vget_high_u32): Likewise.
	(vget_high_u64): Likewise.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: get-high.patch
Type: application/octet-stream
Size: 5482 bytes
Desc: get-high.patch
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20210205/3769b6ce/attachment.obj>


More information about the Gcc-patches mailing list