From: Christophe Lyon <christophe.lyon@linaro.org>
To: gcc-patches@gcc.gnu.org
Subject: [Patch ARM/AArch64 00/11][testsuite] AdvSIMD intrinsics update
Date: Wed, 11 May 2016 13:24:00 -0000 [thread overview]
Message-ID: <1462973041-7911-1-git-send-email-christophe.lyon@linaro.org> (raw)
Hi,
A few months ago, we decided it was time to remove neon-testgen.ml
and its generated tests. I did it, just to realize too late that
some intrinsics were not covered anymore, so I reverted the removal.
This patch series performs a little bit of cleanup and adds the
missing tests to cover all what is defined in arm_neon.h for AArch32.
Globally, this consists in adding tests for:
- missing poly8 and poly16 for vreinterpret and vtst
- fp16 tests for vget_lane, vstX_lane and vreinterpret
- armv8 vrnd{,a,m,n,p,x}
- tests for poly64 and poly128 intrinsics
Some intrinsics are not covered in aarch64/advsimd-intrinsics, but in
arm/crypto: vldrq, vstrq, vaes, vsha1, vsha256, vmull_p64,
vmull_high_p64.
Patches 1-4 are cleanup.
Patch 5 adds the missing poly8 and poly16 tests for vreinterpret.
Patch 6 adds the missing tests for vtst_p8 and vtstq_p8.
Patches 7,8, 11 add the missing fp16 tests
Patch 9 adds armv8 vrnd{,a,m,n,p,x} tests
Patch 10 adds tests for poly64 and poly128 operations
I've checked the coverage by building the list of intrinsics tested
via neon-testgen.ml, the list of intrinsics defined in arm_neon.h, and
running the advsimd-intrinsics.exp tests with -save-temps to gather
the list of actually tested intrinsics.
This series partly addresses PR 70369 which I created to keep track
of these missing intrinsics tests: several AArch64 AdvSIMD intrinsics
are still missing tests.
Tested with QEMU on arm* and aarch64*, with no regression, and
several new PASSes.
OK for trunk?
Christophe
Christophe Lyon (11):
Fix typo in vreinterpret.c test comment.
We can remove useless #ifdefs from these tests: vmul, vshl and vtst.
AdvSIMD tests: be more verbose.
Add forgotten vsliq_n_u64 test.
Add missing vreinterpretq_p{8,16} tests.
Add missing vtst_p8 and vtstq_p8 tests.
Add missing vget_lane fp16 tests.
Add missing vstX_lane fp16 tests.
Add missing vrnd{,a,m,n,p,x} tests.
Add missing tests for intrinsics operating on poly64 and poly128
types.
Add missing tests for vreinterpret, operating of fp16 type.
.../aarch64/advsimd-intrinsics/arm-neon-ref.h | 13 +-
.../aarch64/advsimd-intrinsics/compute-ref-data.h | 16 +
.../aarch64/advsimd-intrinsics/p64_p128.c | 691 +++++++++++++++++++++
.../aarch64/advsimd-intrinsics/vget_lane.c | 19 +
.../gcc.target/aarch64/advsimd-intrinsics/vmul.c | 2 -
.../aarch64/advsimd-intrinsics/vreinterpret.c | 255 +++++++-
.../aarch64/advsimd-intrinsics/vreinterpret_p128.c | 160 +++++
.../aarch64/advsimd-intrinsics/vreinterpret_p64.c | 202 ++++++
.../gcc.target/aarch64/advsimd-intrinsics/vrnd.c | 16 +
.../aarch64/advsimd-intrinsics/vrndX.inc | 43 ++
.../gcc.target/aarch64/advsimd-intrinsics/vrnda.c | 16 +
.../gcc.target/aarch64/advsimd-intrinsics/vrndm.c | 16 +
.../gcc.target/aarch64/advsimd-intrinsics/vrndn.c | 16 +
.../gcc.target/aarch64/advsimd-intrinsics/vrndp.c | 16 +
.../gcc.target/aarch64/advsimd-intrinsics/vrndx.c | 16 +
.../gcc.target/aarch64/advsimd-intrinsics/vshl.c | 2 -
.../gcc.target/aarch64/advsimd-intrinsics/vsli_n.c | 1 +
.../aarch64/advsimd-intrinsics/vstX_lane.c | 105 +++-
.../gcc.target/aarch64/advsimd-intrinsics/vtst.c | 20 +-
19 files changed, 1612 insertions(+), 13 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/p64_p128.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p128.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vrnd.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vrndX.inc
create mode 100644 gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vrnda.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vrndm.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vrndn.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vrndp.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vrndx.c
--
1.9.1
next reply other threads:[~2016-05-11 13:24 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-11 13:24 Christophe Lyon [this message]
2016-05-11 13:24 ` [Patch ARM/AArch64 05/11] Add missing vreinterpretq_p{8,16} tests Christophe Lyon
2016-05-13 14:15 ` James Greenhalgh
2016-05-16 13:31 ` Kyrill Tkachov
2016-05-11 13:24 ` [Patch ARM/AArch64 02/11] We can remove useless #ifdefs from these tests: vmul, vshl and vtst Christophe Lyon
2016-05-13 13:56 ` James Greenhalgh
2016-05-16 13:25 ` Kyrill Tkachov
2016-05-11 13:24 ` [Patch ARM/AArch64 03/11] AdvSIMD tests: be more verbose Christophe Lyon
2016-05-13 14:03 ` James Greenhalgh
2016-05-16 13:26 ` Kyrill Tkachov
2016-05-11 13:24 ` [Patch ARM/AArch64 01/11] Fix typo in vreinterpret.c test comment Christophe Lyon
2016-05-13 13:53 ` James Greenhalgh
2016-05-16 13:25 ` Kyrill Tkachov
2016-05-11 13:24 ` [Patch ARM/AArch64 09/11] Add missing vrnd{,a,m,n,p,x} tests Christophe Lyon
2016-05-12 8:45 ` Jiong Wang
2016-05-12 12:56 ` Christophe Lyon
2016-05-13 8:39 ` Jiong Wang
2016-05-13 14:56 ` James Greenhalgh
2016-05-19 16:22 ` Kyrill Tkachov
2016-05-11 13:24 ` [Patch ARM/AArch64 08/11] Add missing vstX_lane fp16 tests Christophe Lyon
2016-05-13 14:53 ` James Greenhalgh
2016-05-19 16:20 ` Kyrill Tkachov
2016-05-11 13:24 ` [Patch ARM/AArch64 06/11] Add missing vtst_p8 and vtstq_p8 tests Christophe Lyon
2016-05-13 14:37 ` James Greenhalgh
2016-05-13 14:41 ` Christophe Lyon
2016-05-13 14:48 ` James Greenhalgh
2016-05-19 11:54 ` Christophe Lyon
2016-05-20 13:49 ` Kyrill Tkachov
2016-05-11 13:24 ` [Patch ARM/AArch64 10/11] Add missing tests for intrinsics operating on poly64 and poly128 types Christophe Lyon
2016-05-13 15:16 ` James Greenhalgh
2016-05-19 16:23 ` Kyrill Tkachov
2016-05-23 9:12 ` Christophe Lyon
2016-05-11 13:24 ` [Patch ARM/AArch64 07/11] Add missing vget_lane fp16 tests Christophe Lyon
2016-05-13 14:38 ` James Greenhalgh
2016-05-16 13:41 ` Kyrill Tkachov
2016-05-11 13:24 ` [Patch ARM/AArch64 11/11] Add missing tests for vreinterpret, operating of fp16 type Christophe Lyon
2016-05-13 15:17 ` James Greenhalgh
2016-05-19 16:24 ` Kyrill Tkachov
2016-05-11 13:24 ` [Patch ARM/AArch64 04/11] Add forgotten vsliq_n_u64 test Christophe Lyon
2016-05-13 14:09 ` James Greenhalgh
2016-05-13 14:22 ` Christophe Lyon
2016-05-16 13:27 ` Kyrill Tkachov
2016-05-13 15:32 ` [Patch ARM/AArch64 00/11][testsuite] AdvSIMD intrinsics update James Greenhalgh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1462973041-7911-1-git-send-email-christophe.lyon@linaro.org \
--to=christophe.lyon@linaro.org \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).