From: Ramana Radhakrishnan <ramana.gcc@googlemail.com>
To: Matthew Wahab <matthew.wahab@foss.arm.com>
Cc: gcc-patches <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH 17/17][ARM] Add tests for NEON FP16 ACLE intrinsics.
Date: Thu, 04 Aug 2016 09:01:00 -0000 [thread overview]
Message-ID: <CAJA7tRZh3hS8srspxRu8xyjDt7LYbJuPjNsbnb4-82Tn=HafQw@mail.gmail.com> (raw)
In-Reply-To: <577A7116.7080806@foss.arm.com>
On Mon, Jul 4, 2016 at 3:22 PM, Matthew Wahab
<matthew.wahab@foss.arm.com> wrote:
> On 17/05/16 15:52, Matthew Wahab wrote:
>> Support for using the half-precision floating point operations added by
>> the
>> ARMv8.2-A FP16 extension is based on the macros and intrinsics added to
>> the
>> ACLE for the extension.
>>
>> This patch adds executable tests for the ACLE Adv.SIMD (NEON) intrinsics
>> to
>> the advsimd-intrinsics testsuite.
>
> The tests added in the previous version of the patch, which only tested
> the f16 variants of intrinsics, are dropped. Instead, this patch extends
> the existing intrinsics tests to support the new f16 variants. Where the
> intrinsic is new, a new test for the intrinsic is added with f16 as the
> only variant. (This is consistent with existing practice, e.g vcvt.c.)
> The new tests are based on similar existing tests, e.g. maxnm_1.c is
> derived from max.c and the vcvt{a,m,p}_1.c tests, via vcvtX.inc, are
> based on vcvt.c.
>
> Since they are only available when the FP16 arithmetic instructions are
> enabled, advsimd-intrinsics.exp is updated to set -march=armv8.2+fp when
> the hardware supports it and the tests for the f16 intrinscs are guarded
> with __ARM_FEATURE_FP16_VECTOR_ARITHMETIC. Where a test has only f16
> variants, the test file itself is also guarded with
> dg-require-effective-target arm_v8_2a_fp16_neon_hw so that it reports
> UNSUPPORTED rather than PASS if FP16 isn't supported.
>
> Tested the series for arm-none-linux-gnueabihf with native bootstrap and
> make check and for arm-none-eabi and armeb-none-eabi with make check on
> an ARMv8.2-A emulator. Also tested the advsimd-intrinscs tests
> cross-compiled
> for aarch64-none-elf on an ARMv8.2-A emulator.
>
> Ok for trunk?
OK.
Thanks,
Ramana
> Matthew
>
> testsuite/
> 2016-07-04 Matthew Wahab <matthew.wahab@arm.com>
>
> * gcc.target/advsimd-intrinsics/advsimd-intrinsics.exp: Enable
> -march=armv8.2-a+fp16 when supported by the hardware.
> * gcc.target/aarch64/advsimd-intrinsics/binary_op_float.inc: New.
> * gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc:
> Add F16 tests, enabled if macro HAS_FLOAT16_VARIANT is defined. Add
> semi-colons to a macro invocations.
> * gcc.target/aarch64/advsimd-intrinsics/cmp_fp_op.inc: Add F16
> tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
> defined.
> * gcc.target/aarch64/advsimd-intrinsics/cmp_op.inc: Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/cmp_zero_op.inc: New.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabd.c: Add F16
> tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
> defined.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabs.c: Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcage.c:
> Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcagt.c:
> Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcale.c:
> Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcalt.c:
> Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vceqz_1.c: New.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcge.c: Add F16
> tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
> defined.
> * gcc.target/aarch64/advsimd-intrinsics/vcgez_1.c: New.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Add F16
> tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
> defined.
> * gcc.target/aarch64/advsimd-intrinsics/vcgtz_1.c: New.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcle.c: Add F16
> tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
> defined.
> * gcc.target/aarch64/advsimd-intrinsics/vclez_1.c: New.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vclt.c: Add F16
> tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
> defined.
> * gcc.target/aarch64/advsimd-intrinsics/vcltz_1.c: New.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcvt.c: Add F16
> tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
> defined. Also fix some white-space.
> * gcc.target/aarch64/advsimd-intrinsics/vcvtX.inc: New.
> * gcc.target/aarch64/advsimd-intrinsics/vcvta_1.c: New.
> * gcc.target/aarch64/advsimd-intrinsics/vcvtm_1.c: New.
> * gcc.target/aarch64/advsimd-intrinsics/vcvtp_1.c: New.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfma.c: Add F16
> tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
> defined. Also fix some long lines and white-space.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfms.c: Add F16
> tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
> defined. Also fix some long lines and white-space.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmax.c: Add F16
> tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
> defined.
> * gcc.target/aarch64/advsimd-intrinsics/vmaxnm_1.c: New.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmin.c: Add F16
> tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
> defined.
> * gcc.target/aarch64/advsimd-intrinsics/vminnm_1.c: New.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul.c: Add F16
> tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
> defined.
> * gcc.target/aarch64/advsimd-intrinsics/vmul_lane.c: Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul_n.c:
> Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vneg.c:
> Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vpXXX.inc: Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpadd.c:
> Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmax.c:
> Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmin.c:
> Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecpe.c:
> Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecps.c:
> Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnd.c:
> Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vrndX.inc: Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnda.c:
> Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndm.c:
> Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndn.c:
> Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndp.c:
> Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndx.c:
> Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vrsqrte.c: Likewise.
> * gcc.target/aarch64/advsimd-intrinsics/vrsqrts.c: Likewise.
> * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vsub.c:
> Likewise.
>
prev parent reply other threads:[~2016-08-04 9:01 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-17 14:20 [PATCH 0/17][ARM] ARMv8.2-A and FP16 extension support Matthew Wahab
2016-05-17 14:23 ` [PATCH 1/17][ARM] Add ARMv8.2-A command line option and profile Matthew Wahab
2016-07-04 13:46 ` Matthew Wahab
2016-09-21 13:57 ` Ramana Radhakrishnan
2016-05-17 14:25 ` [PATCH 2/17][Testsuite] Add a selector for ARM FP16 alternative format support Matthew Wahab
2016-07-27 13:34 ` Ramana Radhakrishnan
2016-05-17 14:26 ` [PATCH 3/17][Testsuite] Add ARM support for ARMv8.2-A with FP16 arithmetic instructions Matthew Wahab
2016-07-04 13:49 ` Matthew Wahab
2016-07-27 13:34 ` Ramana Radhakrishnan
2016-05-17 14:28 ` [PATCH 4/17][ARM] Define feature macros for FP16 Matthew Wahab
2016-07-27 13:35 ` Ramana Radhakrishnan
2016-05-17 14:29 ` [PATCH 5/17][ARM] Enable HI mode moves for floating point values Matthew Wahab
2016-07-27 13:57 ` Ramana Radhakrishnan
2016-09-26 13:20 ` Christophe Lyon
2016-09-26 13:26 ` Matthew Wahab
2016-05-17 14:32 ` [PATCH 6/17][ARM] Add data processing intrinsics for float16_t Matthew Wahab
2016-07-27 13:59 ` Ramana Radhakrishnan
2016-09-25 14:44 ` Christophe Lyon
2016-09-26 9:56 ` Matthew Wahab
2016-09-26 12:54 ` Christophe Lyon
2016-09-26 13:11 ` Ramana Radhakrishnan
2016-09-26 13:19 ` Matthew Wahab
2016-09-26 13:21 ` Christophe Lyon
2016-09-26 20:02 ` Christophe Lyon
2016-05-17 14:34 ` [PATCH 7/17][ARM] Add FP16 data movement instructions Matthew Wahab
2016-07-04 13:57 ` Matthew Wahab
2016-07-27 14:01 ` Ramana Radhakrishnan
2016-05-17 14:36 ` [PATCH 8/17][ARM] Add VFP FP16 arithmetic instructions Matthew Wahab
2016-05-18 0:52 ` Joseph Myers
2016-05-18 0:57 ` Joseph Myers
2016-05-18 13:40 ` Matthew Wahab
2016-05-18 15:21 ` Joseph Myers
2016-05-19 14:54 ` Matthew Wahab
2016-07-04 14:02 ` Matthew Wahab
2016-07-28 11:37 ` Ramana Radhakrishnan
2016-08-03 11:52 ` Ramana Radhakrishnan
2016-08-03 13:10 ` Matthew Wahab
2016-08-03 14:45 ` James Greenhalgh
2016-08-03 17:44 ` Joseph Myers
2016-05-17 14:37 ` [PATCH 9/17][ARM] Add NEON " Matthew Wahab
2016-05-18 0:58 ` Joseph Myers
2016-05-19 17:01 ` Jiong Wang
2016-05-19 17:29 ` Joseph Myers
2016-06-08 8:46 ` James Greenhalgh
2016-06-08 20:02 ` Joseph Myers
2016-07-04 14:09 ` Matthew Wahab
2016-07-28 11:53 ` Ramana Radhakrishnan
2016-05-17 14:39 ` [PATCH 10/17][ARM] Refactor support code for NEON builtins Matthew Wahab
2016-07-28 11:54 ` Ramana Radhakrishnan
2016-12-05 16:47 ` [arm-embedded][committed][PATCH 10/17] " Andre Vieira (lists)
2016-05-17 14:41 ` [PATCH 11/17][ARM] Add builtins for VFP FP16 intrinsics Matthew Wahab
2016-07-04 14:12 ` Matthew Wahab
2016-07-28 11:55 ` Ramana Radhakrishnan
2016-05-17 14:43 ` [PATCH 12/17][ARM] Add builtins for NEON " Matthew Wahab
2016-07-04 14:13 ` Matthew Wahab
2016-07-28 11:56 ` Ramana Radhakrishnan
2016-05-17 14:44 ` [PATCH 13/17][ARM] Add VFP FP16 instrinsics Matthew Wahab
2016-07-04 14:14 ` Matthew Wahab
2016-07-28 11:57 ` Ramana Radhakrishnan
2016-05-17 14:47 ` [PATCH 14/17][ARM] Add NEON " Matthew Wahab
2016-07-04 14:16 ` Matthew Wahab
2016-08-03 12:57 ` Ramana Radhakrishnan
2016-05-17 14:49 ` [PATCH 15/17][ARM] Add tests for ARMv8.2-A FP16 support Matthew Wahab
2016-07-04 14:17 ` Matthew Wahab
2016-08-04 8:34 ` Ramana Radhakrishnan
2016-05-17 14:51 ` [PATCH 16/17][ARM] Add tests for VFP FP16 ACLE instrinsics Matthew Wahab
2016-05-18 1:07 ` Joseph Myers
2016-05-18 10:58 ` Matthew Wahab
2016-07-04 14:18 ` Matthew Wahab
2016-08-04 8:35 ` Ramana Radhakrishnan
2016-05-17 14:52 ` [PATCH 17/17][ARM] Add tests for NEON FP16 ACLE intrinsics Matthew Wahab
2016-07-04 14:22 ` Matthew Wahab
2016-08-04 9:01 ` Ramana Radhakrishnan [this message]
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='CAJA7tRZh3hS8srspxRu8xyjDt7LYbJuPjNsbnb4-82Tn=HafQw@mail.gmail.com' \
--to=ramana.gcc@googlemail.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=matthew.wahab@foss.arm.com \
/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).