This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][AArch64] Implement some saturating math NEON intrinsics


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.tkachov@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.tkachov@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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]