[PATCH][committed] PR target/96313 AArch64: vqmovun* return types should be unsigned

Kyrylo Tkachov Kyrylo.Tkachov@arm.com
Wed Sep 30 11:03:56 GMT 2020


Hi all,

In this PR we have the wrong return type for some intrinsics. It should be unsigned, but we implement it as signed.
Fix this by adjusting the type qualifiers used when creating the builtins and fixing the type in the arm_neon.h intrinsic.
With the adjustment in qualifiers we now don't need to cast the result when returning.

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

Pushing to master.
Thanks,
Kyrill

gcc/
	PR target/96313
	* config/aarch64/aarch64-simd-builtins.def (sqmovun): Use UNOPUS
	qualifiers.
	* config/aarch64/arm_neon.h (vqmovun_s16): Adjust builtin call.
	Remove unnecessary result cast.
	(vqmovun_s32): Likewise.
	(vqmovun_s64): Likewise.
	(vqmovunh_s16): Likewise.  Fix return type.
	(vqmovuns_s32): Likewise.
	(vqmovund_s64): Likewise.

gcc/testsuite/
	PR target/96313
	* gcc.target/aarch64/pr96313.c: New test.
	* gcc.target/aarch64/scalar_intrinsics.c (test_vqmovunh_s16): Adjust
	return type.
	(test_vqmovuns_s32): Likewise.
	(test_vqmovund_s64): Likewise.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vqmovun.patch
Type: application/octet-stream
Size: 3969 bytes
Desc: vqmovun.patch
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20200930/5977b675/attachment-0001.obj>


More information about the Gcc-patches mailing list