On 04/08/14 17:45, Kyrill Tkachov wrote: > Hi all, > > This patch implements some saturating math *laneq_s* intrinsics. > The implementation is fairly straightforward, just use more general mode > iterators, add appropriate builtins etc. > > Some execution tests are added with some scan-assembly parts to make > sure we generate the correct lane number for both big and little endian > versions of the lanewise intrinsics. > > Tested aarch64-none-elf, aarch64_be-none-elf and bootstrapped on > aarch64-linux. > > Ok for trunk? > > 2014-08-04 Kyrylo Tkachov <kyrylo.tkac...@arm.com> > > * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_laneq<mode>): > Use VSDQ_HSI mode iterator. > (aarch64_sqrdmulh_laneq<mode>): Likewise. > (aarch64_sq<r>dmulh_laneq<mode>_internal): New define_insn. > * config/aarch64/aarch64-simd-builtins.def (sqdmulh_laneq): > Use BUILTIN_VDQHS macro. > (sqrdmulh_laneq): Likewise. > * config/aarch64/arm_neon.h (vqdmlalh_laneq_s16): New intrinsic. > (vqdmlals_laneq_s32): Likewise. > (vqdmlslh_laneq_s16): Likewise. > (vqdmlsls_laneq_s32): Likewise. > (vqdmulhh_laneq_s16): Likewise. > (vqdmulhs_laneq_s32): Likewise. > (vqrdmulhh_laneq_s16): Likewise. > (vqrdmulhs_laneq_s32): Likewise. > > 2014-08-04 Kyrylo Tkachov <kyrylo.tkac...@arm.com> > > * gcc.target/aarch64/simd/vqdmlalh_laneq_s16_1.c: New test. > * gcc.target/aarch64/simd/vqdmlals_laneq_s32_1.c: Likewise. > * gcc.target/aarch64/simd/vqdmlslh_laneq_s16_1.c: Likewise. > * gcc.target/aarch64/simd/vqdmlsls_laneq_s32_1.c: Likewise. > * gcc.target/aarch64/simd/vqdmulhh_laneq_s16_1.c: Likewise. > * gcc.target/aarch64/simd/vqdmulhs_laneq_s32_1.c: Likewise. > * gcc.target/aarch64/simd/vqrdmulhh_laneq_s16_1.c: Likewise. > * gcc.target/aarch64/simd/vqrdmulhs_laneq_s32_1.c: Likewise. > >
OK. R.