This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [AArch64][ARM][GCC][PATCHv2 3/3] Add tests for missing Poly64_t intrinsics to GCC
- From: Christophe Lyon <christophe dot lyon at linaro dot org>
- To: Tamar Christina <Tamar dot Christina at arm dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, "christophe dot lyon at st dot com" <christophe dot lyon at st dot com>, Marcus Shawcroft <Marcus dot Shawcroft at arm dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, James Greenhalgh <James dot Greenhalgh at arm dot com>, Kyrylo Tkachov <Kyrylo dot Tkachov at arm dot com>, nd <nd at arm dot com>
- Date: Tue, 8 Nov 2016 12:21:20 +0100
- Subject: Re: [AArch64][ARM][GCC][PATCHv2 3/3] Add tests for missing Poly64_t intrinsics to GCC
- Authentication-results: sourceware.org; auth=none
- References: <VI1PR0801MB203111629E51AC006DC2D496FFA70@VI1PR0801MB2031.eurprd08.prod.outlook.com>
On 7 November 2016 at 14:55, Tamar Christina <Tamar.Christina@arm.com> wrote:
> Hi all,
>
> This patch (3 of 3) adds updates tests for the NEON intrinsics
> added by the previous patches:
>
> Ran regression tests on aarch64-none-linux-gnu
> and on arm-none-linux-gnueabihf.
>
> Ok for trunk?
>
> Thanks,
> Tamar
>
>
> gcc/testsuite/
> 2016-11-04 Tamar Christina <tamar.christina@arm.com>
>
> * gcc.target/aarch64/advsimd-intrinsics/p64.c: New.
> * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
> (Poly64x1_t, Poly64x2_t): Added type.
> (AARCH64_ONLY): Added macro.
> * gcc.target/aarch64/advsimd-intrinsics/vcombine.c:
> Added test for Poly64.
> * gcc.target/aarch64/advsimd-intrinsics/vcreate.c: Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vdup-vmov.c: Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c: Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vget_high.c: Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vget_low.c: Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vldX.c: Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vst1_lane.c: Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vld1.c: Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p128.c:
> Added AArch64 flags.
> * gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p64.c:
> Added Aarch64 flags.
Hi Tamar,
A while ago I added p64_p128.c, to contain all the poly64/128
tests except for vreinterpret.
Why do you need to create p64.c ?
Similarly, adding tests for vcreate_p64 etc... in p64.c or p64_p128.c
might be easier to maintain than adding them to vcreate.c etc
with several #ifdef conditions.
For vdup-vmod.c, why do you add the "&& defined(__aarch64__)"
condition? These intrinsics are defined in arm/arm_neon.h, right?
They are tested in p64_p128.c
Looking at your patch, it seems some tests are currently missing
for arm: vget_high_p64. I'm not sure why I missed it when I removed
neont-testgen...
Regarding vreinterpret_p128.c, doesn't the existing
effective-target arm_crypto_ok prevent the tests from
running on aarch64?
Thanks,
Christophe