On Tue, Nov 1, 2016 at 12:21 PM, Kyrill Tkachov <kyrylo.tkac...@foss.arm.com> wrote: > Hi Tamar, > > > On 26/10/16 16:01, Tamar Christina wrote: >> >> Hi Christophe, >> >> Here's the updated patch. >> >> Cheers, >> Tamar >> ________________________________________ >> From: Christophe Lyon <christophe.l...@linaro.org> >> Sent: Wednesday, October 19, 2016 11:23:56 AM >> To: Tamar Christina >> Cc: GCC Patches; Kyrylo Tkachov; nd >> Subject: Re: [PATCH v2][AArch32][NEON] Implementing vmaxnmQ_ST and >> vminnmQ_ST intrinsincs. >> >> On 19 October 2016 at 11:36, Tamar Christina <tamar.christ...@arm.com> >> wrote: >>> >>> Hi All, >>> >>> This patch implements the vmaxnmQ_ST and vminnmQ_ST intrinsics. The >>> current builtin registration code is deficient since it can't access >>> standard pattern names, to which vmaxnmQ_ST and vminnmQ_ST map >>> directly. Thus, to enable the vectoriser to have access to these >>> intrinsics, we implement them using builtin functions, which we >>> expand to the proper standard pattern using a define_expand. >>> >>> This patch also implements the __ARM_FEATURE_NUMERIC_MAXMIN macro, >>> which is defined when __ARM_ARCH >= 8, and which enables the >>> intrinsics. >>> >>> Regression tested on arm-none-eabi and no regressions. >>> >>> This patch is a rework of a previous patch: >>> https://gcc.gnu.org/ml/gcc-patches/2015-12/msg01971.html >>> >>> OK for trunk? These cases failed on arm-none-linux-gnueabihf as below: FAIL: gcc.target/arm/simd/vmaxnm_f32_1.c execution test FAIL: gcc.target/arm/simd/vmaxnmq_f32_1.c execution test FAIL: gcc.target/arm/simd/vminnm_f32_1.c execution test FAIL: gcc.target/arm/simd/vminnmq_f32_1.c execution test
For such changes, I would suggest reg test for both bare-metal and linux toolchains, plus a bootstrap for linux toolchain. Thanks, bin > > > Ok. > Thanks, > Kyrill > > >>> Thanks, >>> Tamar >>> >>> --- >>> >>> gcc/ >>> >>> 2016-10-19 Bilyan Borisov <bilyan.bori...@arm.com> >>> Tamar Christina <tamar.christ...@arm.com> >>> >>> * config/arm/arm-c.c (arm_cpu_builtins): New macro definition. >>> * config/arm/arm_neon.h (vmaxnm_f32): New intrinsinc. >>> (vmaxnmq_f32): Likewise. >>> (vminnm_f32): Likewise. >>> (vminnmq_f32): Likewise. >>> * config/arm/arm_neon_builtins.def (vmaxnm): New builtin. >>> (vminnm): Likewise. >>> * config/arm/neon.md (neon_<fmaxmin_op><mode>, VCVTF): New >>> expander. >>> >>> gcc/testsuite/ >>> >>> 2016-10-19 Bilyan Borisov <bilyan.bori...@arm.com> >>> >>> * gcc.target/arm/simd/vmaxnm_f32_1.c: New. >>> * gcc.target/arm/simd/vmaxnmq_f32_1.c: Likewise. >>> * gcc.target/arm/simd/vminnm_f32_1.c: Likewise. >>> * gcc.target/arm/simd/vminnmq_f32_1.c: Likewise. >>> >> I think you forgot to attach the new tests. >> >> Christophe >> >