[PATCH][AArch64] Skip arm targets in vq*shr*n_high_n intrinsic tests

2020-11-09 Thread David Candler via Gcc-patches
Hi, These tests should be skipped for arm targets as the instrinsics are only supported on aarch64. Tested on aarch64 and aarch32 gcc/testsuite/ChangeLog 2020-11-09 David Candler * gcc.target/aarch64/advsimd-intrinsics/vqrshrn_high_n.c: Added skip directive. * gcc.target/aa

Re: [PATCH][AArch64] Use intrinsics for upper saturating shift right

2020-11-05 Thread David Candler via Gcc-patches
Hi Richard, Thanks for the feedback. Richard Sandiford writes: > > diff --git a/gcc/config/aarch64/aarch64-builtins.c > > b/gcc/config/aarch64/aarch64-builtins.c > > index 4f33dd936c7..f93f4e29c89 100644 > > --- a/gcc/config/aarch64/aarch64-builtins.c > > +++ b/gcc/config/aarch64/aarch64-builti

[PATCH][AArch64] Use intrinsics for upper saturating shift right

2020-11-03 Thread David Candler via Gcc-patches
The use of vqshrn_high_n_s32 was triggering an unneeded register move, because sqshrn2 is destructive but was declared as inline assembly in arm_neon.h. This patch implements sqshrn2 and uqshrn2 as actual intrinsics which do not trigger the unnecessary move, along with new tests to cover them. Boo