On Wed, Nov 25, 2015 at 10:15:45AM +0000, Matthew Wahab wrote: > On 23/11/15 13:37, James Greenhalgh wrote: > >On Fri, Oct 23, 2015 at 01:30:46PM +0100, Matthew Wahab wrote: > >>The ARMv8.1 architecture extension adds two Adv.SIMD instructions, > >>sqrdmlah and sqrdmlsh. This patch adds the NEON intrinsics vqrdmlah_lane > >>and vqrdmlsh_lane for these instructions. The new intrinsics are of the > >>form vqrdml{as}h[q]_lane_<type>. > >> > > >>diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h > >>index 9e73809..9b68e4a 100644 > >>--- a/gcc/config/aarch64/arm_neon.h > >>+++ b/gcc/config/aarch64/arm_neon.h > >>@@ -10675,6 +10675,59 @@ vqrdmulhq_laneq_s32 (int32x4_t __a, int32x4_t __b, > >>const int __c) > >> return __builtin_aarch64_sqrdmulh_laneqv4si (__a, __b, __c); > >> } > >> > >>+#pragma GCC push_options > >>+#pragma GCC target ("arch=armv8.1-a") > > > >Rather than strict alphabetical order, can we group everything which is > >under one set of extensions together, to save on the push_options/pop_options > >pairs. > > > > Attached the reworked patch that keeps the ARMv8.1 intrinsics together, > bracketed by a single target pragma. > > Retested aarch64-none-elf with cross-compiled check-gcc on an ARMv8.1 > emulator. Also re-ran the cross-compiled > gcc.target/aarch64/advsimd-intrinsics tests for aarch64-none-elf on an > ARMv8 emulator.
OK. Thanks, James > gcc/ > 2015-11-24 Matthew Wahab <matthew.wa...@arm.com> > > * gcc/config/aarch64/arm_neon.h > (vqrdmlah_laneq_s16, vqrdmlah_laneq_s32): New. > (vqrdmlahq_laneq_s16, vqrdmlahq_laneq_s32): New. > (vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New. > (vqrdmlshq_laneq_s16, vqrdmlshq_laneq_s32): New. > (vqrdmlah_lane_s16, vqrdmlah_lane_s32): New. > (vqrdmlahq_lane_s16, vqrdmlahq_lane_s32): New. > (vqrdmlahh_s16, vqrdmlahh_lane_s16, vqrdmlahh_laneq_s16): New. > (vqrdmlahs_s32, vqrdmlahs_lane_s32, vqrdmlahs_laneq_s32): New. > (vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New. > (vqrdmlshq_lane_s16, vqrdmlshq_lane_s32): New. > (vqrdmlshh_s16, vqrdmlshh_lane_s16, vqrdmlshh_laneq_s16): New. > (vqrdmlshs_s32, vqrdmlshs_lane_s32, vqrdmlshs_laneq_s32): New. > > gcc/testsuite > 2015-11-24 Matthew Wahab <matthew.wa...@arm.com> > > * gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh_lane.inc: New file, > support code for vqrdml{as}h_lane tests. > * gcc.target/aarch64/advsimd-intrinsics/vqrdmlah_lane.c: New. > * gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh_lane.c: New.