[Aarch64] Expand +rdma documentation, small changes to march and mcpu text.

2015-06-22 Thread Matthew Wahab
o the subsection documenting the feature modifiers. Tested by checking the html output. Ok for trunk? Matthew 2015-06-22 Matthew Wahab * doc/invoke.texi (Aarch64 Options, -march): Split out arch and feature description, split out the native option, add a link to the fe

[ARM] Correct spelling of references to ARMv6KZ

2015-06-24 Thread Matthew Wahab
existing spelling, -march=arm6zk, still works with current binutils. Tested arm-none-linux-gnueabihf with check-gcc. Ok for trunk? Matthew gcc/ 2015-15-24 Matthew Wahab * config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ and FL_FOR_ARCH6ZK with FL_F

[PATCH 1/4][PR target/65697][5.1] Backport stronger barriers for GCC,__sync builtins on Aarch64

2015-06-26 Thread Matthew Wahab
warning that I believe is unrelated to the change.) Ok for the branch? Matthew 2015-06-26 Matthew Wahab Backport from trunk 2015-05-12 Andrew MacLeod PR target/65697 * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros. (enum memmodel): A

[PATCH 2/4][PR target/65697][5.1][Aarch64] Backport stronger barriers for __sync,fetch-op builtins.

2015-06-26 Thread Matthew Wahab
series for aarch64-none-linux-gnu with check-gcc Ok for the branch? Matthew 2015-06-26 Matthew Wahab Backport from trunk. 2015-06-01 Matthew Wahab PR target/65697 * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New. (aarch64_split_atomic_op

[PATCH 3/4][PR target/65697][5.1][Aarch64] Backport stronger barriers for __sync,compare-and-swap builtins.

2015-06-26 Thread Matthew Wahab
for aarch64-none-linux-gnu with check-gcc Ok for the branch? Matthew 2015-06-26 Matthew Wahab Backport from trunk. 2015-06-01 Matthew Wahab PR target/65697 * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check for __sync memory models

[PATCH 4/4][PR target/65697][5.1][Aarch64] Backport tests for __sync_builtins.

2015-06-26 Thread Matthew Wahab
aarch64-none-linux-gnu with check-gcc Ok for the branch? Matthew 2015-06-26 Matthew Wahab Backport from trunk 2015-06-01 Matthew Wahab PR target/65697 * gcc.target/aarch64/sync-comp-swap.c: New. * gcc.target/aarch64/sync-comp-swap.x: New

[ARM] Fix typos in ARMv8 __sync builtins tests.

2015-07-01 Thread Matthew Wahab
-sync-op-acquire.c This meant the tests ran on targets that did not support them and reported a failure for correct code. This patch fixes both mistakes. Tested arm-none-linux-gnueabihf with check-gcc. Ok for trunk? Matthew gcc/testsuite 2015-07-01 Matthew Wahab * gcc.target/arm/arm

Re: [PATCH 1/4][PR target/65697][5.1] Backport stronger barriers for GCC,__sync builtins on Aarch64

2015-07-02 Thread Matthew Wahab
The first patch was approved on the gcc list: https://gcc.gnu.org/ml/gcc/2015-07/msg00028.html Matthew

[PATCH 1/4][ARM][PR target/65697][5.1] Backport stronger barriers for __sync fetch-op builtins.

2015-07-02 Thread Matthew Wahab
2015-07-02 Matthew Wahab Backport from trunk: 2015-06-29 Matthew Wahab PR target/65697 * config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an initial acquire barrier with final barrier. >From e7150c85313fff08153197493db568ca8fe2778a Mon Sep

[PATCH 2/4][ARM][PR target/65697][5.1] Backport stronger barriers for __sync,compare-and-swap builtins.

2015-07-02 Thread Matthew Wahab
for arm-none-linux-gnueabihf with check-gcc Ok for the branch? Matthew 2015-07-02 Matthew Wahab Backport from trunk: 2015-06-29 Matthew Wahab PR target/65697 * config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an initial acquire

[PATCH 3/4][ARM][PR target/65697][5.1] Add tests for __sync_builtins.

2015-07-02 Thread Matthew Wahab
-linux-gnueabihf with check-gcc Ok for the branch? Matthew gcc/testsuite 2015-07-02 Matthew Wahab Backport from trunk: 2015-06-29 Matthew Wahab PR target/65697 * gcc.target/arm/armv-sync-comp-swap.c: New. * gcc.target/arm/armv-sync-op-acquire.c: New

[PATCH 4/4][ARM][PR target/65697][5.1] Fix tests for __sync_builtins.

2015-07-02 Thread Matthew Wahab
branch? Matthew gcc/testsuite 2015-07-02 Matthew Wahab Backport from trunk: 2015-07-01 Matthew Wahab * gcc.target/arm/armv8-sync-comp-swap.c: Replace 'do-require-effective-target' with 'dg-require-effective-target'. * gcc.target/arm/

[PATCH][wwwdocs] Document removal of -mlra/-mnolra from Aarch64 and ARM backends.

2015-01-20 Thread Matthew Wahab
Hello, This patch documents in changes.html the removal of the -mlra/-mnolra from the Aarch64 and ARM backends. Tested by checking the updated webpage in Firefox. Matthew WahabIndex: htdocs/gcc-5/changes.html === RCS file: /cvs/g

[PATCH][AArch64] Remove an unused reload hook.

2015-01-26 Thread Matthew Wahab
Hello, The LEGITIMIZE_RELOAD_ADDRESS macro is only needed for reload. Since the Aarch64 backend no longer supports reload, this macro is not needed and this patch removes it. Tested aarch64-none-linux-gnu with gcc-check. No new failures. Ok for trunk? Matthew gcc/ 2015-01-26 Matthew Wahab

[PATCH][libstdc++][Testsuite] isctype test fails for newlib.

2015-02-02 Thread Matthew Wahab
conformance.exp, with the modified tests, for arm-none-eabi and aarch64-none-linux-gnu. No new failures and the modified tests now pass on arm-none-eabi. Ok for trunk? Matthew libstdc++-v3/testsuite/ 2015-02-02 Matthew Wahab * 28_regex/traits/char/isctype.cc (test01):

Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.

2015-02-03 Thread Matthew Wahab
documented at https://gcc.gnu.org/lists.html and in the libstdc++ manual. Noted, sorry about that. Matthew libstdc++-v3/testsuite/ 2015-02-02 Matthew Wahab PR libstdc++/64467 * 28_regex/traits/char/isctype.cc (test01): Add newlib special case for '\n'.

Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.

2015-02-03 Thread Matthew Wahab
On 03/02/15 10:27, Paolo Carlini wrote: Nit: the path should be * testsuite/28_regex/... and likewise for the other testcase, because it starts where is the corresponding ChangeLog. Fixed changelog: libstdc++-v3/ 2015-02-02 Matthew Wahab PR libstdc++/64467 * testsuite

[PATCH][AArch64] Add support for -mcpu=cortex-a72

2015-02-04 Thread Matthew Wahab
-a72.cortex-a53 big-little variant. Tested with check-gcc on aarch64-none-linux-gnu with no new failures. Tested the new cpu options from the command line. Matthew gcc/ 2015-02-04 Matthew Wahab * config/aarch64/aarch64-cores.def: Add cortex-a72 and cortex-a72.cortex-a53

[PATCH][ARM] Add support for -mcpu=cortex-a72

2015-02-04 Thread Matthew Wahab
=cortex-a72.cortex-a53 big-little variant. Tested with check-gcc for arm-none-linux-gnueabihf. Tested the new cpu options from the command line. Matthew gcc/ 2015-02-04 Matthew Wahab * config/arm/arm-cores.def: Add cortex-a72 and cortex-a72.cortex-a53. * config/arm

[PATCH][wwwdocs] Document support for Cortex-A72

2015-02-04 Thread Matthew Wahab
Hello, This patch documents in gcc-5/changes.html the addition of support for the Cortex-A72 to the ARM and the AArch64 backends. Tested by checking the updated webpage in firefox. Matthew Index: htdocs/gcc-5/changes.html === RCS

Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.

2015-02-09 Thread Matthew Wahab
On 07/02/15 00:11, Jonathan Wakely wrote: Any idea why HP still sees the tests fail? See comment 8 at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64467#c8 It looks like he's found the problem: that _NEWLIB_ is a recent addition that isn't in the version he's using. I'll try replacing _NEWLIB_

Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.

2015-02-09 Thread Matthew Wahab
On 09/02/15 13:18, Hans-Peter Nilsson wrote: On Mon, 9 Feb 2015, Matthew Wahab wrote: On 07/02/15 00:11, Jonathan Wakely wrote: Any idea why HP still sees the tests fail? See comment 8 at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64467#c8 It looks like he's found the problem:

Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.

2015-02-10 Thread Matthew Wahab
On 09/02/15 23:17, Hans-Peter Nilsson wrote: On Mon, 9 Feb 2015, Matthew Wahab wrote: Attached a patch to replace the test for macro __NEWLIB__ with a test for macro NEWLINE_IN_CLASS_BLANK, defined by { dg-additional-options "-DNEWLINE_IN_CLASS_BLANK" { target newlib } } Tested

Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.

2015-02-11 Thread Matthew Wahab
On 10/02/15 08:51, Matthew Wahab wrote: On 09/02/15 23:17, Hans-Peter Nilsson wrote: On Mon, 9 Feb 2015, Matthew Wahab wrote: Attached a patch to replace the test for macro __NEWLIB__ with a test for macro NEWLINE_IN_CLASS_BLANK, defined by { dg-additional-options "-DNEWLINE_IN_CLASS_

Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.

2015-02-13 Thread Matthew Wahab
On 11/02/15 15:43, Jonathan Wakely wrote: On 11/02/15 11:14 +, Matthew Wahab wrote: Attached the fixed patch. Tested by running check-target-libstdc++-v3, with the modified tests, for arm-none-eabi and aarch64-none-linux-gnu. Ok to commit? OK, thanks. Some DOS line endings were

[PATCH][ARM] Remove an unused reload hook.

2015-02-19 Thread Matthew Wahab
The LEGITIMIZE_RELOAD_ADDRESS macro is only needed for reload. Since the ARM backend no longer supports reload, this macro is not needed and this patch removes it. Tested arm-none-linux-gnueabihf with gcc-check. Ok for trunk? now or in stage 1? Matthew gcc/ 2015-02-19 Matthew Wahab

Re: [PR70920] transform (intptr_t) x eq/ne CST to x eq/ne (typeof x) cst

2016-08-03 Thread Matthew Wahab
On 29/07/16 15:32, Prathamesh Kulkarni wrote: On 29 July 2016 at 12:42, Richard Biener wrote: On Fri, 29 Jul 2016, Prathamesh Kulkarni wrote: On 28 July 2016 at 19:18, Richard Biener wrote: On Thu, 28 Jul 2016, Prathamesh Kulkarni wrote: On 28 July 2016 at 15:58, Andreas Schwab wrote: O

Re: [PATCH 8/17][ARM] Add VFP FP16 arithmetic instructions.

2016-08-03 Thread Matthew Wahab
On 03/08/16 12:52, Ramana Radhakrishnan wrote: On Thu, Jul 28, 2016 at 12:37 PM, Ramana Radhakrishnan wrote: On Mon, Jul 4, 2016 at 3:02 PM, Matthew Wahab wrote: On 19/05/16 15:54, Matthew Wahab wrote: On 18/05/16 16:20, Joseph Myers wrote: On Wed, 18 May 2016, Matthew Wahab wrote: In

Re: fix fallout of pr22051-2.c on arm

2016-08-04 Thread Matthew Wahab
On 03/08/16 23:08, Prathamesh Kulkarni wrote: Hi, The attached patch fixes pr22051-2.c which regressed due to r238754. Matthew, could you please confirm if this patch fixes the test-case for you ? Confirmed. (Tested with arm-none-linux-gnueabihf.) Thanks Matthew

[ARM][PR target/77281] Fix an invalid check for vectors of, the same floating-point constants.

2016-08-19 Thread Matthew Wahab
ative bootstrap and make check and for arm-none-eabi with cross-compiled check-gcc. 2016-08-19 Matthew Wahab PR target/77281 * config/arm/arm.c (neon_valid_immediate): Delete declaration. Use const_vec_duplicate to check for duplicated elements. Ok for trunk? Matthew

Re: [ARM][PR target/77281] Fix an invalid check for vectors of, the same floating-point constants.

2016-08-19 Thread Matthew Wahab
On 19/08/16 14:30, Richard Earnshaw (lists) wrote: On 19/08/16 12:48, Matthew Wahab wrote: 2016-08-19 Matthew Wahab PR target/77281 * config/arm/arm.c (neon_valid_immediate): Delete declaration. Use const_vec_duplicate to check for duplicated elements. Ok for trunk? OK

Re: Implement C _FloatN, _FloatNx types [version 6]

2016-08-22 Thread Matthew Wahab
Hello, On 17/08/16 21:17, Joseph Myers wrote: [Version 6 changes the testsuite to use dg-add-options systematically to add any options that may be needed for the types to be supported; this should allow the _Float128 and _Float64x tests to run for powerpc64le, but I have not tested that; it coul

Re: [ARM][PR target/77281] Fix an invalid check for vectors of, the same floating-point constants.

2016-08-30 Thread Matthew Wahab
Ping. On 19/08/16 15:47, Richard Earnshaw (lists) wrote: On 19/08/16 15:06, Matthew Wahab wrote: On 19/08/16 14:30, Richard Earnshaw (lists) wrote: On 19/08/16 12:48, Matthew Wahab wrote: 2016-08-19 Matthew Wahab PR target/77281 * config/arm/arm.c (neon_valid_immediate

Re: [ARM] Enable __fp16 as a function parameter and return type.

2016-06-02 Thread Matthew Wahab
On 01/06/16 15:43, Christophe Lyon wrote: On 13 May 2016 at 15:41, Ramana Radhakrishnan wrote: On Thu, Apr 28, 2016 at 10:20 AM, Matthew Wahab wrote: This patch enables data movement for HF-mode values using VFP registers, when they are available, to support passing arguments and return

[ARM] Fix, add tests for FP16 aapcs.

2016-06-09 Thread Matthew Wahab
-none-eabi with cross-compiled check-gcc. Also checked the new tests with cross-compiled arm-eabi-qemu/-mcpu=cortex-m3/-mthumb. Ok for trunk? Matthew 2016-06-09 Matthew Wahab * testsuite/gcc.target/arm/aapcs/neon-vect10.c: Skip for mfloat-abi=soft and mfloat-abi=softfp. Replace

Re: [ARM] Fix, add tests for FP16 aapcs.

2016-06-10 Thread Matthew Wahab
On 10/06/16 09:32, Christophe Lyon wrote: On 9 June 2016 at 17:21, Matthew Wahab wrote: A number of tests were added to check for FP16 arguments and return values being passed in registers. These require mfloat-abi=hard to be selected but in some test configurations they were run with -mfloat

Re: [ARM] Fix, add tests for FP16 aapcs.

2016-06-10 Thread Matthew Wahab
On 10/06/16 15:22, Christophe Lyon wrote: On 10 June 2016 at 15:56, Matthew Wahab wrote: On 10/06/16 09:32, Christophe Lyon wrote: On 9 June 2016 at 17:21, Matthew Wahab wrote: It's an improvement, but I'm still seeing a few problems with this patch: the vfp* tests are still

Re: [ARM] Fix, add tests for FP16 aapcs.

2016-06-27 Thread Matthew Wahab
On 10/06/16 15:30, Matthew Wahab wrote: > On 10/06/16 15:22, Christophe Lyon wrote: >> On 10 June 2016 at 15:56, Matthew Wahab wrote: >>> On 10/06/16 09:32, Christophe Lyon wrote: >>>> >>>> On 9 June 2016 at 17:21, Matthew Wahab wrote: >>>>

[ARM] FP16 ARM Alternative format variants of AAPCS tests.

2016-06-27 Thread Matthew Wahab
for the FP16 aapcs tests at https://gcc.gnu.org/ml/gcc-patches/2016-06/msg01794.html. Tested arm-none-eabi with cross-compiled make check-gcc and arm-none-linux-gnueabihf with native make check. Ok for trunk? Matthew testsuite/ 2016-06-27 Matthew Wahab * gcc.target/arm/fp16-aapcs-3.c

[PR target/70711][ARM] Fix big-endian ARMv8.1-A builds.

2016-04-18 Thread Matthew Wahab
missing entries for armv8-a+crc. Testing for armeb-none-eabi with cross-compiled check-gcc and with command line testing to confirm working executables are built. Is this ok for trunk and for GCC-6 once testing is completed? Matthew 2016-04-18 Matthew Wahab PR target/70711

Re: [PR target/70711][ARM] Fix big-endian ARMv8.1-A builds.

2016-04-18 Thread Matthew Wahab
On 18/04/16 10:41, Richard Biener wrote: On Mon, 18 Apr 2016, Ramana Radhakrishnan wrote: Testing for armeb-none-eabi with cross-compiled check-gcc and with command line testing to confirm working executables are built. Is this ok for trunk and for GCC-6 once testing is completed? Oops, Than

Re: [ARM] FP16 ARM Alternative format variants of AAPCS tests.

2016-09-21 Thread Matthew Wahab
On 03/08/16 12:43, Ramana Radhakrishnan wrote: On Mon, Jun 27, 2016 at 11:09 AM, Matthew Wahab wrote: Tests added for FP16 argument and return values being passed in registers only check the case when the FP16 IEEE format is used. This patch adds equivalent tests that also check the behaviour

[ARM] Enable FP16 vector arithmetic operations.

2016-09-23 Thread Matthew Wahab
for arm-none-linux-gnueabihf with native bootstrap and make check on ARMv8-A and for arm-none-eabi and armeb-none-eabi with cross-compiled make check on an ARMv8.2-A emulator. Ok for trunk? Matthew gcc/ 2016-09-23 Matthew Wahab * config/arm/arm_neon.h (vadd_f16): Use standard

Re: [PATCH 6/17][ARM] Add data processing intrinsics for float16_t.

2016-09-26 Thread Matthew Wahab
Hello, On 25/09/16 14:00, Christophe Lyon wrote: This patch adds the new intrinsics: vbsl_f16, vbslq_f16, vdup_n_f16, vdupq_n_f16, vdup_lane_f16, vdupq_lane_f16, vext_f16, vextq_f16, vmov_n_f16, vmovq_n_f16, vrev64_f16, vrev64q_f16, vtrn_f16, vtrnq_f16, vuzp_f16, vuzpq_f16, vzip_f16, vz

Re: [PATCH 6/17][ARM] Add data processing intrinsics for float16_t.

2016-09-26 Thread Matthew Wahab
On 26/09/16 14:03, Ramana Radhakrishnan wrote: On Mon, Sep 26, 2016 at 1:48 PM, Christophe Lyon wrote: On 26 September 2016 at 11:43, Matthew Wahab wrote: Hello, On 25/09/16 14:00, Christophe Lyon wrote: This patch adds the new intrinsics: vbsl_f16, vbslq_f16, vdup_n_f16, vdupq_n_f16

Re: [PATCH 5/17][ARM] Enable HI mode moves for floating point values.

2016-09-26 Thread Matthew Wahab
On 26/09/16 14:15, Christophe Lyon wrote: Hi, Sorry for the delay, I've been travelling. On 27 July 2016 at 15:57, Ramana Radhakrishnan wrote: On Tue, May 17, 2016 at 3:29 PM, Matthew Wahab wrote: The handling of 16-bit integer data-movement in the ARM backend doesn't make full

[ARM] Fix invalid instructions generated for data movement.

2016-09-27 Thread Matthew Wahab
in a follow-up patch? Matthew gcc/ 2016-09-27 Matthew Wahab * config/arm/arm.md (*arm_movsi_insn): Add "arch" attribute. * config/arm/vfp.md (*arm_movhi_vfp): Likewise. (*thumb2_movhi_vfp): Likewise. (*arm_movhi_fp16): Remove predication operand from VMOV

[ARM] Fix new constraints and attributes of SI/HI data movement patterns

2016-09-29 Thread Matthew Wahab
a patch to fix this. Ok for trunk? Matthew gcc/ 2016-09-29 Matthew Wahab * config/arm/arm.md (*arm_movsi_insn): Replace "t2" arch attribute with "v6t2". Move "arch" attribute above "pool_range". * config/arm/vfp.md (*arm_movhi_vfp)

[Testsuite] Use correct effective-target settings for ARM fp16-aapcs tests.

2016-09-30 Thread Matthew Wahab
ormat=alternative to the dg-options directive and remove the dg-add-otions directive. >From 5ca74bbfdf2b87904ca21fcaa54952cbd1d3916c Mon Sep 17 00:00:00 2001 From: Matthew Wahab Date: Wed, 28 Sep 2016 10:54:43 +0100 Subject: [PATCH] [Testsuite] Use correct effective-target settings for AR

Re: [PATCH 1/17][ARM] Add ARMv8.2-A command line option and profile.

2016-07-04 Thread Matthew Wahab
On 17/05/16 15:22, Matthew Wahab wrote: > This patch adds the command options for the architecture ARMv8.2-A and > the half-precision extension. The architecture is selected by > -march=armv8.2-a and has all the properties of -march=armv8.1-a. > > This patch also enables the CRC

Re: [PATCH 3/17][Testsuite] Add ARM support for ARMv8.2-A with FP16 arithmetic instructions.

2016-07-04 Thread Matthew Wahab
On 17/05/16 15:26, Matthew Wahab wrote: > The ARMv8.2-A FP16 extension adds to both the VFP and the NEON > instruction sets. This patch adds support to the testsuite to select > targets and set options for tests that make use of these > instructions. It also adds documentation f

Re: [PATCH 7/17][ARM] Add FP16 data movement instructions.

2016-07-04 Thread Matthew Wahab
On 17/05/16 15:34, Matthew Wahab wrote: > The ARMv8.2-A FP16 extension adds a number of instructions to support > data movement for FP16 values. This patch adds these instructions to the > backend, making them available to the compiler code generator. This updates the expected outpu

Re: [PATCH 8/17][ARM] Add VFP FP16 arithmetic instructions.

2016-07-04 Thread Matthew Wahab
On 19/05/16 15:54, Matthew Wahab wrote: > On 18/05/16 16:20, Joseph Myers wrote: >> On Wed, 18 May 2016, Matthew Wahab wrote: >> >> In short: instructions for direct HFmode arithmetic should be described >> with patterns with the standard names. It's the job of

Re: [PATCH 9/17][ARM] Add NEON FP16 arithmetic instructions.

2016-07-04 Thread Matthew Wahab
On 18/05/16 01:58, Joseph Myers wrote: > On Tue, 17 May 2016, Matthew Wahab wrote: > >> As with the VFP FP16 arithmetic instructions, operations on __fp16 >> values are done by conversion to single-precision. Any new optimization >> supported by the instruction description

Re: [PATCH 11/17][ARM] Add builtins for VFP FP16 intrinsics.

2016-07-04 Thread Matthew Wahab
On 17/05/16 15:41, Matthew Wahab wrote: > The ACLE intrinsics introduced to support the ARMv8.2 FP16 extensions > require that intrinsics for scalar floating pointer (VFP) instructions > are available under different conditions from those for the NEON > intrinsics. > > This patc

Re: [PATCH 12/17][ARM] Add builtins for NEON FP16 intrinsics.

2016-07-04 Thread Matthew Wahab
On 17/05/16 15:42, Matthew Wahab wrote: > This patch adds the builtins data for the ACLE intrinsics introduced to > support the NEON instructions of the ARMv8.2-A FP16 extension. Updated to fix the vsqrte/vrsqrte spelling mistake and correct the changelog. Tested the series for arm-none

Re: [PATCH 13/17][ARM] Add VFP FP16 instrinsics.

2016-07-04 Thread Matthew Wahab
On 17/05/16 15:44, Matthew Wahab wrote: > The ARMv8.2-A architecture introduces an optional FP16 extension adding > half-precision floating point data processing instructions to the > existing scalar (floating point) support. A future version of the ACLE > will add support for these

Re: [PATCH 14/17][ARM] Add NEON FP16 instrinsics.

2016-07-04 Thread Matthew Wahab
On 17/05/16 15:46, Matthew Wahab wrote: > The ARMv8.2-A architecture introduces an optional FP16 extension adding > half-precision floating point data processing instructions to the > existing Adv.SIMD (NEON) support. A future version of the ACLE will add > support for these instructi

Re: [PATCH 15/17][ARM] Add tests for ARMv8.2-A FP16 support.

2016-07-04 Thread Matthew Wahab
On 17/05/16 15:48, 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 tests to check the compilers treatm

Re: [PATCH 16/17][ARM] Add tests for VFP FP16 ACLE instrinsics.

2016-07-04 Thread Matthew Wahab
On 18/05/16 11:58, Matthew Wahab wrote: > On 18/05/16 02:06, Joseph Myers wrote: >> On Tue, 17 May 2016, Matthew Wahab wrote: >> >>> In some tests, there are unavoidable differences in precision when >>> calculating the actual and the expected results of an

[ARM] Enable __fp16 as a function parameter and return type.

2016-04-28 Thread Matthew Wahab
Matthew Wahab Ramana Radhakrishnan Jiong Wang * config/arm/arm-c.c (arm_cpu_builtins): Use def_or_undef_macro for __ARM_FP16_FORMAT_IEEE and __ARM_FP16_FORMAT_ALTERNATIVE. Define __ARM_FP16_ARGS when appropriate. * config/arm/arm.c

[AArch64] Remove an unused reload hook.

2016-04-28 Thread Matthew Wahab
needed and this patch removes it. This is a rebased and retested version of that patch. Tested aarch64-none-linux-gnu with native bootstrap and make check. Ok for trunk? Matthew gcc/ 2016-04-26 Matthew Wahab * config/aarch64/aarch64.h (LEGITIMIZE_RELOAD_ADDRESS): Remove. * config

Re: [ARM] Enable __fp16 as a function parameter and return type.

2016-05-03 Thread Matthew Wahab
Hello, On 28/04/16 16:49, Joseph Myers wrote: On Thu, 28 Apr 2016, Matthew Wahab wrote: The ARM target supports the half-precision floating point type __fp16 but does not allow its use as a function return or parameter type. This patch removes that restriction and defines the ACLE macro

[PATCH] Remove TARGET_INVALID_PARAMETER_TYPE and TARGET_INVALID_RETURN_TYPE hooks.

2016-05-03 Thread Matthew Wahab
check-gcc. Ok for trunk? Matthew c/ 2016-05-03 Matthew Wahab * c-decl.c (grokdeclarator): Remove errmsg and use of targetm.invalid_return_type. (grokparms): Remove errmsg and use of targetm.invalid_parameter_type. cp/ 2016-05-03 Matthew Wahab * decl.c

[PATCH 0/17][ARM] ARMv8.2-A and FP16 extension support.

2016-05-17 Thread Matthew Wahab
Hello, The ARMv8.2-A architecture builds on ARMv8.1-A and includes an optional extension supporting half-precision floating point (FP16) arithmetic. This extension adds instructions to the VFP and NEON instructions sets to provide operations on IEEE754-2008 formatted FP16 values. This patch set

[PATCH 1/17][ARM] Add ARMv8.2-A command line option and profile.

2016-05-17 Thread Matthew Wahab
ARMv8.2-A emulator. Ok for trunk? Matthew 2016-05-17 Matthew Wahab * config/arm/arm-arches.def ("armv8.1-a"): Add FL_CRC32. ("armv8.2-a"): New. ("armv8.2-a+fp16"): New. * config/arm/arm-protos.h (FL2_ARCH8_2): Ne

[PATCH 2/17][Testsuite] Add a selector for ARM FP16 alternative format support.

2016-05-17 Thread Matthew Wahab
ts to make use of the new selectors. 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. Ok for trunk? Matthew 2016-05-17 Matthew Wahab * doc/sourcebuild.texi (ARM-spe

[PATCH 3/17][Testsuite] Add ARM support for ARMv8.2-A with FP16 arithmetic instructions.

2016-05-17 Thread Matthew Wahab
-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. Ok for trunk? Matthew 2016-05-17 Matthew Wahab * doc/sourcebuild.texi (ARM-specific attributes): Add entries for arm_v8_1a_neon_ok

[PATCH 4/17][ARM] Define feature macros for FP16.

2016-05-17 Thread Matthew Wahab
with native bootstrap and make check and for arm-none-eabi and armeb-none-eabi with make check on an ARMv8.2-A emulator. Ok for trunk? Matthew 2016-05-17 Matthew Wahab * config/arm/arm-c.c (arm_cpu_builtins): Define "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC

[PATCH 5/17][ARM] Enable HI mode moves for floating point values.

2016-05-17 Thread Matthew Wahab
strap and make check and for arm-none-eabi with check-gcc on an ARMv8.2-A emulator. Ok for trunk? Matthew 2016-05-17 Jiong Wang Matthew Wahab * config/arm/arm.c (output_move_vfp): Weaken assert to allow HImode. (arm_hard_regno_mode_ok): Allow HImode valu

[PATCH 6/17][ARM] Add data processing intrinsics for float16_t.

2016-05-17 Thread Matthew Wahab
check on an ARMv8.2-A emulator. Also tested for aarch64-none-elf with the advsimd-intrinsics testsuite using an ARMv8.2-A emulator. Ok for trunk? Matthew 2016-05-17 Matthew Wahab * config/arm/arm.c (arm_evpc_neon_vuzp): Add support for V8HF and V4HF modes

[PATCH 7/17][ARM] Add FP16 data movement instructions.

2016-05-17 Thread Matthew Wahab
-none-eabi and armeb-none-eabi with make check on an ARMv8.2-A emulator. This patch also tested for arm-none-linux-gnueabihf with native bootstrap and make check and for arm-none-eabi with check-gcc on an ARMv8.2-A emulator. Ok for trunk? Matthew 2016-05-17 Matthew Wahab Jiong Wang

[PATCH 9/17][ARM] Add NEON FP16 arithmetic instructions.

2016-05-17 Thread Matthew Wahab
-none-eabi and armeb-none-eabi with make check on an ARMv8.2-A emulator. Ok for trunk? Matthew 2016-05-17 Matthew Wahab * config/arm/iterators.md (VCVTHI): New. (NEON_VCMP): Add UNSPEC_VCLT and UNSPEC_VCLE. Fix a long line. (NEON_VAGLTE): New. (VFM_LANE_AS): New

[PATCH 10/17][ARM] Refactor support code for NEON builtins.

2016-05-17 Thread Matthew Wahab
and for arm-none-eabi and armeb-none-eabi with make check on an ARMv8.2-A emulator. Ok for trunk? Matthew 2016-05-17 Matthew Wahab * config/arm/arm-builtins.c (ARM_BUILTIN_NEON_PATTERN_START): Change offset calculation. (arm_init_neon_builtin): New

[PATCH 11/17][ARM] Add builtins for VFP FP16 intrinsics.

2016-05-17 Thread Matthew Wahab
-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. Ok for trunk? Matthew 2016-05-17 Matthew Wahab * config/arm/arm-builtins.c (hf_UP): New. (si_UP): New. (arm_vfp_builtin_data): New

[PATCH 8/17][ARM] Add VFP FP16 arithmetic instructions.

2016-05-17 Thread Matthew Wahab
trunk? Matthew 2016-05-17 Matthew Wahab * config/arm/iterators.md (Code iterators): Fix some white-space in the comments. (GLTE): New. (ABSNEG): New (FCVT): Moved from vfp.md. (VCVT_HF_US_N): New. (VCVT_SI_US_N): New. (VCVT_HF_US

[PATCH 12/17][ARM] Add builtins for NEON FP16 intrinsics.

2016-05-17 Thread Matthew Wahab
emulator. Ok for trunk? Matthew 2016-05-17 Matthew Wahab * config/arm/arm_neon_builtins.def (vadd): New (v8hf, v4hf variants). (vmulf): New (v8hf, v4hf variants). (vfma): New (v8hf, v4hf variants). (vfms): New (v8hf, v4hf variants). (vsub): New

[PATCH 14/17][ARM] Add NEON FP16 instrinsics.

2016-05-17 Thread Matthew Wahab
-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. Ok for trunk? Matthew 2016-05-17 Matthew Wahab * config/arm/arm_neon.h: Include arm_fp16.h. (vabd_f16): New. (vabdq_f16): New

[PATCH 15/17][ARM] Add tests for ARMv8.2-A FP16 support.

2016-05-17 Thread Matthew Wahab
emulator. Ok for trunk? Matthew testsuite/ 2016-05-17 Matthew Wahab * gcc.target/arm/armv8_2-fp16-neon-1.c: New. * gcc.target/arm/armv8_2-fp16-scalar-1.c: New. * gcc.target/arm/armv8_2-fp16-scalar-2.c: New. * gcc.target/arm/attr-fp16-arith-1.c: Add a test of

[PATCH 13/17][ARM] Add VFP FP16 instrinsics.

2016-05-17 Thread Matthew Wahab
ARMv8.2-A emulator. Ok for trunk? Matthew 2016-05-17 Matthew Wahab * config.gcc (extra_headers): Add arm_fp16.h * config/arm/arm_fp16.h: New. >From 0c7d4da5a7c8ca9cf3ce2f23072668c4155b35d9 Mon Sep 17 00:00:00 2001 From: Matthew Wahab Date: Thu, 7 Apr 2016 15:36:23 +0100 Subj

[PATCH 16/17][ARM] Add tests for VFP FP16 ACLE instrinsics.

2016-05-17 Thread Matthew Wahab
tested for aarch64-none-elf with the advsimd-intrinsics testsuite using an ARMv8.2-A emulator. Ok for trunk? Matthew testsuite/ 2016-05-17 Jiong Wang Matthew Wahab * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (CHECK_FP_BIAS): New. * gcc.target/aarch64

Re: [PATCH 16/17][ARM] Add tests for VFP FP16 ACLE instrinsics.

2016-05-18 Thread Matthew Wahab
On 18/05/16 02:06, Joseph Myers wrote: On Tue, 17 May 2016, Matthew Wahab wrote: In some tests, there are unavoidable differences in precision when calculating the actual and the expected results of an FP16 operation. A new support function CHECK_FP_BIAS is used so that these tests can check

Re: [PATCH 8/17][ARM] Add VFP FP16 arithmetic instructions.

2016-05-18 Thread Matthew Wahab
On 18/05/16 01:51, Joseph Myers wrote: On Tue, 17 May 2016, Matthew Wahab wrote: In most cases the instructions are added using non-standard pattern names. This is to force operations on __fp16 values to be done, by conversion, using the single-precision instructions. The exceptions are the

Re: [ARM] Enable __fp16 as a function parameter and return type.

2016-05-18 Thread Matthew Wahab
On 18/05/16 09:41, Ramana Radhakrishnan wrote: On Mon, May 16, 2016 at 2:16 PM, Tejas Belagod wrote: We do have plans to fix pre-ACLE behavior of fp16 to conform to current ACLE spec, but can't say when exactly. Matthew, could you please take a look at this while you are in this area ? Ok

Re: [PATCH 8/17][ARM] Add VFP FP16 arithmetic instructions.

2016-05-19 Thread Matthew Wahab
On 18/05/16 16:20, Joseph Myers wrote: On Wed, 18 May 2016, Matthew Wahab wrote: AArch64 follows IEEE-754 but ARM (AArch32) adds restrictions like flush-to-zero that could affect the outcome of a calculation. The result of a float computation on two values immediately promoted from fp16

Re: [PATCH 2/2][ARM] Use new FPU features representation

2015-08-10 Thread Matthew Wahab
Ping. Updated patch attached. Also, retested the series for arm-none-linux-gnueabihf with native bootstrap and make check. On 22/06/15 16:18, Matthew Wahab wrote: Hello, This patch series changes the representation of FPU features to use a simple bit-set and flags, as is done elsewhere

Re: [PATCH 1/2][ARM] Record FPU features as a bit-set

2015-08-10 Thread Matthew Wahab
Ping. Updated patch attached. Also, retested the series for arm-none-linux-gnueabihf with native bootstrap and make check. On 22/06/15 16:16, Matthew Wahab wrote: Hello, The ARM backend records FPU features as booleans, one for each feature. This means that adding support for a new feature

[PATCH 1/5][ARM] Make room for more CPU feature flags.

2015-08-10 Thread Matthew Wahab
makes them explicit in the entries in arm-cores.def. 2015-08-10 Matthew Wahab * gcc/config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each ARM_CORE entry. Fix some white-space. * gcc/config/arm/arm.c: Remove FL_FOR_ARCH derivation from ARM_CORE definition. >F

[PATCH 2/5][ARM] Add feature set definitions.

2015-08-10 Thread Matthew Wahab
with ARM_FSET to represent and operate on feature sets. Tested the series for arm-none-linux-gnueabihf with native bootstrap and make check. gcc/ 2015-08-10 Matthew Wahab * config/arm/arm-protos.h (FL_NONE): New. (FL_ANY): New. (arm_feature_set): New. (ARM_FSET

[PATCH 3/5][ARM] Use new feature set representation.

2015-08-10 Thread Matthew Wahab
arm_feature_set and ARM_FSET macros added in an earlier patch in this series. Tested the series for arm-none-linux-gnueabihf with native bootstrap and make check. gcc/ 2015-08-10 Matthew Wahab * config/arm/arm-builtins.c (def_mbuiltin): Use ARM_FSET macro. (struct

[PATCH 4/5][ARM] Use features sets for builtins.

2015-08-10 Thread Matthew Wahab
use make of all representable flags. Tested the series for arm-none-linux-gnueabihf with native bootstrap and make check. gcc/ 2015-08-10 Matthew Wahab * config/arm/arm-builtins.c (def_mbuiltin): Test all flags in a feature set. (struct builtin_description): Replace

[PATCH 5/5][ARM] Move initializer into arm-cores.def and arm-arches.def.

2015-08-10 Thread Matthew Wahab
the new arm_feature_set representation, moving the initializers from a macro expansion and making them explicit in the file entries. Tested the series for arm-none-linux-gnueabihf with native bootstrap and make check. gcc/ 2015-08-10 Matthew Wahab * config/arm/arm-arches.def: Replace

[Aarch64][target/PR 67143] Use correct constraints on operands for atomic operations.

2015-08-11 Thread Matthew Wahab
ith native bootstrap and make check. Ok for trunk? Matthew gcc/ 2015-08-10 Matthew Wahab PR target/67143 * config/aarch64/atomic.md (atomic_): Replace 'lconst_atomic' with 'const_atomic'. (atomic_fetch_): Likewise. (atomic__fetch): Like

Re: [Aarch64][target/PR 67143] Use correct constraints on operands for atomic operations.

2015-08-11 Thread Matthew Wahab
On 11/08/15 14:05, Matthew Wahab wrote: Tested for arm-none-eabi with cross-compiled check-gcc and for arm-none-linux-gnueabihf with native bootstrap and make check. This should have said: Tested for aarch64-none-eabi with cross-compiled check-gcc and for aarch64-none-linux-gnu with native

[Aarch64][1/3] Use atomic compare-and-swap instructions when available.

2015-08-12 Thread Matthew Wahab
with cross-compiled check-gcc. Also tested aarch64-none-elf with cross-compiled check-gcc on an emulator that supports ARMv8.1. Ok for trunk? Matthew 2015-08-12 Matthew Wahab * config/aarch64/aarch64.h (AARCH64_ISA_LSE): New. (TARGET_LSE): New. >F

[Aarch64][2/3] Use the atomic compare-and-swap instructions when available.

2015-08-12 Thread Matthew Wahab
compiled check-gcc on an emulator that supports ARMv8.1. Ok for trunk? Matthew 2015-08-12 Matthew Wahab * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_cas): Declare. * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Choose appropriate ins

[Aarch64][3/3] Add tests for atomic compare-and-swap instructions.

2015-08-12 Thread Matthew Wahab
Wahab * gcc.target/aarch64/atomic-inst-cas.c: New. * gcc.target/aarch64/atomic-inst-ops.inc: New. >From c72302f2a0bc4d95a0b933e54332d551295040bf Mon Sep 17 00:00:00 2001 From: Matthew Wahab Date: Mon, 3 Aug 2015 18:10:37 +0100 Subject: [PATCH 3/3] Add tests for CAS instruct

Re: [Aarch64][3/3] Add tests for atomic compare-and-swap instructions.

2015-08-12 Thread Matthew Wahab
On 12/08/15 11:51, Andrew Pinski wrote: On Wed, Aug 12, 2015 at 6:16 PM, Matthew Wahab wrote: ARMv8.1 adds instructions for atomic compare-and-swap with optional memory ordering specifiers. This patch adds tests for the compare-and-swap instructions as two files. The first is support code to

Re: [Aarch64][target/PR 67143] Use correct constraints on operands for atomic operations.

2015-08-12 Thread Matthew Wahab
On 11/08/15 15:07, James Greenhalgh wrote: On Tue, Aug 11, 2015 at 02:05:37PM +0100, Matthew Wahab wrote: This patch reworks the atomic operation patterns to select the appropriate constraint for the operation. The logical operations take the constraints specified by the current lconst_atomic

Re: [Aarch64][target/PR 67143] Use correct constraints on operands for atomic operations.

2015-08-13 Thread Matthew Wahab
On 12/08/15 22:26, Joseph Myers wrote: On Tue, 11 Aug 2015, Matthew Wahab wrote: PR target/67143 * gcc.target/aarch64/pr67143.c: New What's architecture-specific about this test? That is, why doesn't it just go in gcc.c-torture/compile (no dg- directi

<    1   2   3   >