[PING][PATCH] arm: Remove unsigned variant of vcaddq_m

2023-08-19 Thread Stam Markianos-Wright via Gcc-patches
(Pinging since I realised that this is required for my later Low Overhead Loop patch series to work) Ok for trunk with the updated changelog that Christophe mentioned? Thanks, Stamatis/Stam Markianos-Wright From: Stam Markianos-Wright Sent: Tuesday, August 1

[commited trunk 7/9] arm testsuite: Remove reduntant tests

2023-05-18 Thread Stam Markianos-Wright via Gcc-patches
Following Andrea's overhaul of the MVE testsuite, these tests are now reduntant, as equivalent checks have been added to the each intrinsic's .c test. gcc/testsuite/ChangeLog: * gcc.target/arm/mve/intrinsics/mve_fp_vaddq_n.c: Removed. * gcc.target/arm/mve/intrinsics/mve_vaddq_m.c:

[commited trunk 9/9] arm testsuite: Shifts and get_FPSCR ACLE optimisation fixes

2023-05-18 Thread Stam Markianos-Wright via Gcc-patches
These newly updated tests were rewritten by Andrea. Some of them needed further manual fixing as follows: * The #shift immediate value not in the check-function-bodies as expected * The ACLE was specifying sub-optimal code: lsr+and instead of ubfx. In this case the test rewritten from the ACLE h

[commited trunk 2/9] arm: Fix vstrwq* backend + testsuite

2023-05-18 Thread Stam Markianos-Wright via Gcc-patches
From: Andrea Corallo Hi all, this patch fixes the vstrwq* MVE instrinsics failing to emit the correct sequence of instruction due to a missing predicate. Also the immediate range is fixed to be multiples of 2 up between [-252, 252]. Best Regards Andrea gcc/ChangeLog: * config/arm/c

[commited trunk 8/9] arm testsuite: XFAIL or relax registers in some tests [PR109697]

2023-05-18 Thread Stam Markianos-Wright via Gcc-patches
Hi all, This is a simple testsuite tidy-up patch, addressing to types of errors: * The vcmp vector-scalar tests failing due to the compiler's preference of vector-vector comparisons, over vector-scalar comparisons. This is due to the lack of cost model for MVE and the compiler not knowing that th

[commited trunk 4/9] arm: Stop vadcq, vsbcq intrinsics from overwriting the FPSCR NZ flags

2023-05-18 Thread Stam Markianos-Wright via Gcc-patches
a BFI. Ok for trunk? Thanks, Stam Markianos-Wright gcc/ChangeLog: * config/arm/arm_mve.h (__arm_vadcq_s32): Fix arithmetic. (__arm_vadcq_u32): Likewise. (__arm_vadcq_m_s32): Likewise. (__arm_vadcq_m_u32): Likewise. (__arm_vsbcq_s32): Likewise.

[commited trunk 5/9] arm: Fix overloading of MVE scalar constant parameters on vbicq

2023-05-18 Thread Stam Markianos-Wright via Gcc-patches
We found this as part of the wider testsuite updates. The applicable tests are authored by Andrea earlier in this patch series Ok for trunk? gcc/ChangeLog: * config/arm/arm_mve.h (__arm_vbicq): Change coerce on scalar constant. --- gcc/config/arm/arm_mve.h | 16

[committed gcc12 backport] arm: Fix overloading of MVE scalar constant parameters on vbicq, vmvnq_m

2023-05-18 Thread Stam Markianos-Wright via Gcc-patches
We found this as part of the wider testsuite updates. The applicable tests are authored by Andrea earlier in this patch series Ok for trunk? gcc/ChangeLog: * config/arm/arm_mve.h (__arm_vbicq): Change coerce on scalar constant. (__arm_vmvnq_m): Likewise. --- gcc/config/

[committed gcc12 backport] arm testsuite: Shifts and get_FPSCR ACLE optimisation fixes

2023-05-18 Thread Stam Markianos-Wright via Gcc-patches
These newly updated tests were rewritten by Andrea. Some of them needed further manual fixing as follows: * The #shift immediate value not in the check-function-bodies as expected * The ACLE was specifying sub-optimal code: lsr+and instead of ubfx. In this case the test rewritten from the ACLE h

[committed gcc12 backport] arm testsuite: Remove reduntant tests

2023-05-18 Thread Stam Markianos-Wright via Gcc-patches
Following Andrea's overhaul of the MVE testsuite, these tests are now reduntant, as equivalent checks have been added to the each intrinsic's .c test. gcc/testsuite/ChangeLog: * gcc.target/arm/mve/intrinsics/mve_fp_vaddq_n.c: Removed. * gcc.target/arm/mve/intrinsics/mve_vaddq_m.c:

[committed gcc12 backport] arm testsuite: XFAIL or relax registers in some tests [PR109697]

2023-05-18 Thread Stam Markianos-Wright via Gcc-patches
Hi all, This is a simple testsuite tidy-up patch, addressing to types of errors: * The vcmp vector-scalar tests failing due to the compiler's preference of vector-vector comparisons, over vector-scalar comparisons. This is due to the lack of cost model for MVE and the compiler not knowing that th

[committed gcc12 backport] arm: Stop vadcq, vsbcq intrinsics from overwriting the FPSCR NZ flags

2023-05-18 Thread Stam Markianos-Wright via Gcc-patches
a BFI. Ok for trunk? Thanks, Stam Markianos-Wright gcc/ChangeLog: * config/arm/arm_mve.h (__arm_vadcq_s32): Fix arithmetic. (__arm_vadcq_u32): Likewise. (__arm_vadcq_m_s32): Likewise. (__arm_vadcq_m_u32): Likewise. (__arm_vsbcq_s32): Likewise.

[committed gcc12 backport] [arm] complete vmsr/vmrs blank and case adjustments

2023-05-18 Thread Stam Markianos-Wright via Gcc-patches
From: Alexandre Oliva Back in September last year, some of the vmsr and vmrs patterns had an extraneous blank removed, and the case of register names lowered, but another instance remained, and so did a testcase. for gcc/ChangeLog * config/arm/vfp.md (*thumb2_movsi_vfp): Drop blank aft

[committed gcc12 backport] arm: Add vorrq_n overloading into vorrq _Generic

2023-05-18 Thread Stam Markianos-Wright via Gcc-patches
We found this as part of the wider testsuite updates. The applicable tests are authored by Andrea earlier in this patch series Ok for trunk? gcc/ChangeLog: * config/arm/arm_mve.h (__arm_vorrq): Add _n variant. --- gcc/config/arm/arm_mve.h | 10 +- 1 file changed, 9 insertions(+

[committed gcc12 backport] arm: Fix vstrwq* backend + testsuite

2023-05-18 Thread Stam Markianos-Wright via Gcc-patches
From: Andrea Corallo Hi all, this patch fixes the vstrwq* MVE instrinsics failing to emit the correct sequence of instruction due to a missing predicate. Also the immediate range is fixed to be multiples of 2 up between [-252, 252]. Best Regards Andrea gcc/ChangeLog: * config/arm/c

[PATCH 2/2 v2] arm: Add support for MVE Tail-Predicated Low Overhead Loops

2023-01-11 Thread Stam Markianos-Wright via Gcc-patches
es` to map    from vctp unspecs to number of lanes, and `arm_get_required_vpr_reg`    to check an insn to see if it requires the VPR or not. No regressions on arm-none-eabi with various targets and on aarch64-none-elf. Thoughts on getting this into trunk? Thank you, Stam Markianos-Wri

[PING][PATCH] arm: Split up MVE _Generic associations to prevent type clashes [PR107515]

2023-01-10 Thread Stam Markianos-Wright via Gcc-patches
ce2` between `__fp16` and `float16_t`. The solution here is to break the _Generic down, so that the similar types don't appear at the same level, as is done in `__ARM_mve_typeid`. Ok for trunk? Thanks, Stam Markianos-Wright gcc/ChangeLog: PR target/96795 PR target/107515

Re: [PATCH] Fix memory constraint on MVE v[ld/st][2/4] instructions [PR107714]

2023-01-10 Thread Stam Markianos-Wright via Gcc-patches
On 12/12/2022 13:42, Kyrylo Tkachov wrote: Hi Stam, -Original Message- From: Stam Markianos-Wright Sent: Friday, December 9, 2022 1:32 PM To: gcc-patches@gcc.gnu.org Cc: Kyrylo Tkachov ; Richard Earnshaw ; Ramana Radhakrishnan ; ni...@redhat.com Subject: [PATCH] Fix memory

[PATCH] Fix memory constraint on MVE v[ld/st][2/4] instructions [PR107714]

2022-12-09 Thread Stam Markianos-Wright via Gcc-patches
Hi all, In the M-Class Arm-ARM: https://developer.arm.com/documentation/ddi0553/bu/?lang=en these MVE instructions only have '!' writeback variant and at: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107714 we found that the Um constraint would also allow through a register offset writeback,

[PATCH] arm: Split up MVE _Generic associations to prevent type clashes [PR107515]

2022-12-01 Thread Stam Markianos-Wright via Gcc-patches
ce2` between `__fp16` and `float16_t`. The solution here is to break the _Generic down, so that the similar types don't appear at the same level, as is done in `__ARM_mve_typeid`. Ok for trunk? Thanks, Stam Markianos-Wright gcc/ChangeLog:     PR target/96795     PR target/107515

[PATCH 2/2] arm: Add support for MVE Tail-Predicated Low Overhead Loops

2022-11-28 Thread Stam Markianos-Wright via Gcc-patches
On 11/15/22 15:51, Andre Vieira (lists) wrote: On 11/11/2022 17:40, Stam Markianos-Wright via Gcc-patches wrote: Hi all, This is the 2/2 patch that contains the functional changes needed for MVE Tail Predicated Low Overhead Loops.  See my previous email for a general introduction of MVE LOLs

[PATCH 15/35] arm: Explicitly specify other float types for _Generic overloading [PR107515]

2022-11-21 Thread Stam Markianos-Wright via Gcc-patches
Markianos-Wright Subject: [PATCH 15/35] arm: Explicitly specify other float types for _Generic overloading [PR107515] From: Stam Markianos-Wright This patch adds explicit references to other float types to __ARM_mve_typeid in arm_mve.h. Resolves PR 107515: https://gcc.gnu.org/bugzilla/show_bug.cgi?id

Re: [PATCH 15/35] arm: Explicitly specify other float types for _Generic overloading [PR107515]

2022-11-21 Thread Stam Markianos-Wright via Gcc-patches
On 11/18/22 16:58, Kyrylo Tkachov wrote: -Original Message- From: Andrea Corallo Sent: Thursday, November 17, 2022 4:38 PM To: gcc-patches@gcc.gnu.org Cc: Kyrylo Tkachov ; Richard Earnshaw ; Stam Markianos-Wright Subject: [PATCH 15/35] arm: Explicitly specify other float types for

Re: [PATCH 13/35] arm: further fix overloading of MVE vaddq[_m]_n intrinsic

2022-11-21 Thread Stam Markianos-Wright via Gcc-patches
On 11/18/22 16:49, Kyrylo Tkachov wrote: -Original Message- From: Andrea Corallo Sent: Thursday, November 17, 2022 4:38 PM To: gcc-patches@gcc.gnu.org Cc: Kyrylo Tkachov ; Richard Earnshaw ; Stam Markianos-Wright Subject: [PATCH 13/35] arm: further fix overloading of MVE vaddq[_m

[PATCH 2/2] arm: Add support for MVE Tail-Predicated Low Overhead Loops

2022-11-11 Thread Stam Markianos-Wright via Gcc-patches
insn to see if it requires the VPR or not. No regressions on arm-none-eabi with various targets and on aarch64-none-elf. Thoughts on getting this into trunk? Thank you, Stam Markianos-Wright gcc/ChangeLog:     * config/aarch64/aarch64.md: Add extra doloop_end arg.     * config/ar

[PATCH] slp tree vectorizer: Re-calculate vectorization factor in the case of invalid choices [PR96974]

2021-03-31 Thread Stam Markianos-Wright via Gcc-patches
On 29/03/2021 10:20, Richard Biener wrote: On Fri, 26 Mar 2021, Richard Sandiford wrote: Richard Biener writes: On Wed, 24 Mar 2021, Stam Markianos-Wright wrote: Hi all, This patch resolves bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96974 This is achieved by forcing a re

Re: [PATCH] slp tree vectorizer: Re-calculate vectorization factor in the case of invalid choices [PR96974]

2021-03-25 Thread Stam Markianos-Wright via Gcc-patches
On 24/03/2021 13:46, Richard Biener wrote: On Wed, 24 Mar 2021, Stam Markianos-Wright wrote: Hi all, This patch resolves bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96974 This is achieved by forcing a re-calculation of *stmt_vectype_out if an incompatible combination of

[PATCH] slp tree vectorizer: Re-calculate vectorization factor in the case of invalid choices [PR96974]

2021-03-24 Thread Stam Markianos-Wright via Gcc-patches
Hi all, This patch resolves bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96974 This is achieved by forcing a re-calculation of *stmt_vectype_out if an incompatible combination of TYPE_VECTOR_SUBPARTS is detected, but with an extra introduced max_nunits ceiling. I am not 100% sure if thi

Re: [committed obvious][arm] Add test that was missing from old commit [PR91816]

2020-11-26 Thread Stam Markianos-Wright via Gcc-patches
On 26/11/2020 09:01, Christophe Lyon wrote: On Wed, 25 Nov 2020 at 14:24, Stam Markianos-Wright via Gcc-patches wrote: Hi all, A while back I submitted GCC10 commit: 44f77a6dea2f312ee1743f3dde465c1b8453ee13 for PR91816. Turns out I was an idiot and forgot to include the test in the

[backport gcc-8,9][arm] Thumb2 out of range conditional branch fix [PR91816]

2020-11-25 Thread Stam Markianos-Wright via Gcc-patches
/msg02010.html See the attached diffs that have been rebased and apply cleanly. Tested on a cross arm-none-eabi and also in a Cortex A-15 bootstrap with no regressions. Ok to backport? Thanks, Stam Markianos-Wright diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h index

[committed obvious][arm] Add test that was missing from old commit [PR91816]

2020-11-25 Thread Stam Markianos-Wright via Gcc-patches
also in a Cortex A-15 bootstrap with no regressions. Submitting this as Obvious to gcc-11 and backporting to gcc-10. Thanks, Stam Markianos-Wright gcc/testsuite/ChangeLog: PR target/91816 * gcc.target/arm/pr91816.c: New test. diff --git a/gcc/testsuite/gcc.target/arm/pr91816.c b/gcc

Re: [Pingx3][GCC][PATCH][ARM]Add ACLE intrinsics for dot product (vusdot - vector, vdot - by element) for AArch32 AdvSIMD ARMv8.6 Extension

2020-02-11 Thread Stam Markianos-Wright
On 2/11/20 10:25 AM, Kyrill Tkachov wrote: Hi Stam, On 2/10/20 1:35 PM, Stam Markianos-Wright wrote: On 2/3/20 11:20 AM, Stam Markianos-Wright wrote: > > > On 1/27/20 3:54 PM, Stam Markianos-Wright wrote: >> >> On 1/16/20 4:05 PM, Stam Markianos-Wright wrote: >&g

[Pingx3][GCC][PATCH][ARM]Add ACLE intrinsics for dot product (vusdot - vector, vdot - by element) for AArch32 AdvSIMD ARMv8.6 Extension

2020-02-10 Thread Stam Markianos-Wright
On 2/3/20 11:20 AM, Stam Markianos-Wright wrote: On 1/27/20 3:54 PM, Stam Markianos-Wright wrote: On 1/16/20 4:05 PM, Stam Markianos-Wright wrote: On 1/10/20 6:48 PM, Stam Markianos-Wright wrote: On 12/18/19 1:25 PM, Stam Markianos-Wright wrote: On 12/13/19 10:22 AM, Stam

Re: [GCC][BUG][Aarch64][ARM] (PR93300) Fix ICE due to BFmode placement in GET_MODES_WIDER chain.

2020-02-04 Thread Stam Markianos-Wright
On 2/4/20 12:02 PM, Richard Sandiford wrote: Stam Markianos-Wright writes: On 1/31/20 1:45 PM, Richard Sandiford wrote: Stam Markianos-Wright writes: On 1/30/20 10:01 AM, Richard Sandiford wrote: Stam Markianos-Wright writes: On 1/29/20 12:42 PM, Richard Sandiford wrote: Stam

Re: [GCC][BUG][Aarch64][ARM] (PR93300) Fix ICE due to BFmode placement in GET_MODES_WIDER chain.

2020-02-04 Thread Stam Markianos-Wright
On 1/31/20 1:45 PM, Richard Sandiford wrote: Stam Markianos-Wright writes: On 1/30/20 10:01 AM, Richard Sandiford wrote: Stam Markianos-Wright writes: On 1/29/20 12:42 PM, Richard Sandiford wrote: Stam Markianos-Wright writes: Hi all, This fixes: https://gcc.gnu.org/bugzilla

[Pingx3][GCC][PATCH][ARM]Add ACLE intrinsics for dot product (vusdot - vector, vdot - by element) for AArch32 AdvSIMD ARMv8.6 Extension

2020-02-03 Thread Stam Markianos-Wright
On 1/27/20 3:54 PM, Stam Markianos-Wright wrote: On 1/16/20 4:05 PM, Stam Markianos-Wright wrote: On 1/10/20 6:48 PM, Stam Markianos-Wright wrote: On 12/18/19 1:25 PM, Stam Markianos-Wright wrote: On 12/13/19 10:22 AM, Stam Markianos-Wright wrote: Hi all, This patch adds the

Re: [GCC][BUG][Aarch64][ARM] (PR93300) Fix ICE due to BFmode placement in GET_MODES_WIDER chain.

2020-01-30 Thread Stam Markianos-Wright
On 1/30/20 10:01 AM, Richard Sandiford wrote: Stam Markianos-Wright writes: On 1/29/20 12:42 PM, Richard Sandiford wrote: Stam Markianos-Wright writes: Hi all, This fixes: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93300 Genmodes.c was generating the "wider_mode" chain

Re: [PING][PATCH][GCC][ARM] Arm generates out of range conditional branches in Thumb2 (PR91816)

2020-01-30 Thread Stam Markianos-Wright
On 1/28/20 10:35 AM, Kyrill Tkachov wrote: Hi Stam, On 1/8/20 3:18 PM, Stam Markianos-Wright wrote: On 12/10/19 5:03 PM, Kyrill Tkachov wrote: Hi Stam, On 11/15/19 5:26 PM, Stam Markianos-Wright wrote: Pinging with more correct maintainers this time :) Also would need to backport to

Re: [GCC][BUG][Aarch64][ARM] (PR93300) Fix ICE due to BFmode placement in GET_MODES_WIDER chain.

2020-01-29 Thread Stam Markianos-Wright
On 1/29/20 12:42 PM, Richard Sandiford wrote: Stam Markianos-Wright writes: Hi all, This fixes: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93300 Genmodes.c was generating the "wider_mode" chain as follows: HF -> BF -> SF - > DF -> TF -> VOID This caused issues

[GCC][BUG][Aarch64][ARM] (PR93300) Fix ICE due to BFmode placement in GET_MODES_WIDER chain.

2020-01-29 Thread Stam Markianos-Wright
- > DF -> TF -> BF -> VOID This fixes the existing ICE seen by PR93300 (hence providing this with no explicit test) and causes no further regressions. Reg-tested on arm-none-eabi, aarch64-none-elf and bootstrapped on a Cortex-A15. Ok for trunk? Cheers, Stam gcc/ChangeLog: 202

[committed][GCC][ARM] Update __fp16 test to fix regression caused by Bfloat optimisation.

2020-01-27 Thread Stam Markianos-Wright
/testsuite/ChangeLog: 2020-01-27 Stam Markianos-Wright * gcc.target/arm/armv8_2-fp16-move-1.c: Update following load/store optimisation. diff --git a/gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-1.c b/gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-1.c index 2321dd38cc6

[PINGx2][PATCH][GCC][ARM] Arm generates out of range conditional branches in Thumb2 (PR91816)

2020-01-27 Thread Stam Markianos-Wright
On 1/16/20 4:06 PM, Stam Markianos-Wright wrote: > > > On 1/8/20 3:18 PM, Stam Markianos-Wright wrote: >> >> >> On 12/10/19 5:03 PM, Kyrill Tkachov wrote: >>> Hi Stam, >>> >>> On 11/15/19 5:26 PM, Stam Markianos-Wright wrote

[Pingx3][GCC][PATCH][ARM]Add ACLE intrinsics for dot product (vusdot - vector, vdot - by element) for AArch32 AdvSIMD ARMv8.6 Extension

2020-01-27 Thread Stam Markianos-Wright
On 1/16/20 4:05 PM, Stam Markianos-Wright wrote: > > > On 1/10/20 6:48 PM, Stam Markianos-Wright wrote: >> >> >> On 12/18/19 1:25 PM, Stam Markianos-Wright wrote: >>> >>> >>> On 12/13/19 10:22 AM, Stam Markianos-Wright wrote: >>>

Re: [GCC][PATCH][ARM] Add Bfloat16_t scalar type, vector types and machine modes to ARM back-end [1/2]

2020-01-20 Thread Stam Markianos-Wright
On 1/20/20 1:07 PM, Christophe Lyon wrote: > Hi, > > > On Thu, 16 Jan 2020 at 16:59, Stam Markianos-Wright > wrote: >> >> >> >> On 1/13/20 10:05 AM, Kyrill Tkachov wrote: >>> Hi Stam, >>> >>> On 1/10/20 6:45 PM, Stam Markia

Re: [PING][PATCH][GCC][ARM] Arm generates out of range conditional branches in Thumb2 (PR91816)

2020-01-16 Thread Stam Markianos-Wright
On 1/8/20 3:18 PM, Stam Markianos-Wright wrote: > > > On 12/10/19 5:03 PM, Kyrill Tkachov wrote: >> Hi Stam, >> >> On 11/15/19 5:26 PM, Stam Markianos-Wright wrote: >>> Pinging with more correct maintainers this time :) >>> >>> Also wo

[Pingx2][GCC][PATCH][ARM]Add ACLE intrinsics for dot product (vusdot - vector, vdot - by element) for AArch32 AdvSIMD ARMv8.6 Extension

2020-01-16 Thread Stam Markianos-Wright
On 1/10/20 6:48 PM, Stam Markianos-Wright wrote: > > > On 12/18/19 1:25 PM, Stam Markianos-Wright wrote: >> >> >> On 12/13/19 10:22 AM, Stam Markianos-Wright wrote: >>> Hi all, >>> >>> This patch adds the ARMv8.6 Extension ACLE intrinsics

Re: [GCC][PATCH][AArch64]Add ACLE intrinsics for dot product (usdot - vector, dot - by element) for AArch64 AdvSIMD ARMv8.6 Extension

2020-01-16 Thread Stam Markianos-Wright
On 1/9/20 3:48 PM, Richard Sandiford wrote: > OK, thanks. > Committed as r10-6004-g8c197c851e7528baba7cb837f34c05ba2242f705 Thank you! Stam > Richard > > Stam Markianos-Wright writes: >> On 12/30/19 10:21 AM, Richard Sandiford wrote: >>> Stam Markianos-Wright

Re: [GCC][PATCH][AArch64]Add ACLE intrinsics for bfdot for ARMv8.6 Extension

2020-01-16 Thread Stam Markianos-Wright
mitted as r10-6006-gf275d73a57f1e5a07fbd4978f4b4457a5eaa1e39 Thank you! Stam > Richard > > Stam Markianos-Wright writes: >> On 12/30/19 10:29 AM, Richard Sandiford wrote: >>> Stam Markianos-Wright writes: >>>> diff --git a/gcc/config/aarch64/aarch64-simd.md

Re: [GCC][PATCH][ARM] Add Bfloat16_t scalar type, vector types and machine modes to ARM back-end [2/2]

2020-01-16 Thread Stam Markianos-Wright
On 1/13/20 10:43 AM, Kyrill Tkachov wrote: > Hi Stam, > > On 1/10/20 6:47 PM, Stam Markianos-Wright wrote: >> Hi all, >> >> This patch is part 2 of Bfloat16_t enablement in the ARM back-end. >> >> This new type is constrained using

Re: [GCC][PATCH][ARM] Add Bfloat16_t scalar type, vector types and machine modes to ARM back-end [1/2]

2020-01-16 Thread Stam Markianos-Wright
On 1/13/20 10:05 AM, Kyrill Tkachov wrote: > Hi Stam, > > On 1/10/20 6:45 PM, Stam Markianos-Wright wrote: >> Hi all, >> >> This is a respin of patch: >> >> https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01448.html >> >> which has now

Re: [GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [2/2]

2020-01-10 Thread Stam Markianos-Wright
On 1/10/20 4:29 PM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> On 1/9/20 4:13 PM, Stam Markianos-Wright wrote: >>> On 1/9/20 4:07 PM, Richard Sandiford wrote: >>>> Stam Markianos-Wright writes: >>>>> diff --git a/gcc/testsuite/g++.

Re: [GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [1/2]

2020-01-10 Thread Stam Markianos-Wright
On 1/9/20 3:42 PM, Richard Sandiford wrote: > Thanks for the update, looks great. > > Stam Markianos-Wright writes: >> diff --git a/gcc/config/aarch64/arm_bf16.h b/gcc/config/aarch64/arm_bf16.h >> new file mode 100644 >> index >> 000

Re: [Ping][GCC][PATCH][ARM]Add ACLE intrinsics for dot product (vusdot - vector, vdot - by element) for AArch32 AdvSIMD ARMv8.6 Extension

2020-01-10 Thread Stam Markianos-Wright
On 12/18/19 1:25 PM, Stam Markianos-Wright wrote: > > > On 12/13/19 10:22 AM, Stam Markianos-Wright wrote: >> Hi all, >> >> This patch adds the ARMv8.6 Extension ACLE intrinsics for dot product >> operations (vector/by element) to the ARM back-end. >> &

[GCC][PATCH][ARM] Add Bfloat16_t scalar type, vector types and machine modes to ARM back-end [2/2]

2020-01-10 Thread Stam Markianos-Wright
-products/processors/b/ml-ip-blog/posts/bfloat16-processing-for-neural-networks-on-armv8_2d00_a gcc/ChangeLog: 2020-01-10 Stam Markianos-Wright * config/arm/arm.c (arm_invalid_conversion): New function for target hook. (arm_invalid_unary_op): New function for target

[GCC][PATCH][ARM] Add Bfloat16_t scalar type, vector types and machine modes to ARM back-end [1/2]

2020-01-10 Thread Stam Markianos-Wright
/bfloat16-processing-for-neural-networks-on-armv8_2d00_a gcc/ChangeLog: 2020-01-10 Stam Markianos-Wright * config.gcc: Add arm_bf16.h. * config/arm/arm-builtins.c (arm_mangle_builtin_type): Fix comment. (arm_simd_builtin_std_type): Add BFmode

Re: [GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [2/2]

2020-01-10 Thread Stam Markianos-Wright
On 1/9/20 4:13 PM, Stam Markianos-Wright wrote: > > > On 1/9/20 4:07 PM, Richard Sandiford wrote: >> Stam Markianos-Wright writes: >>> diff --git a/gcc/testsuite/g++.target/aarch64/bfloat_cpp_typecheck.C >>> b/gcc/testsuite/g++.target/aarch64/bfloat_cpp_typ

Re: [GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [2/2]

2020-01-09 Thread Stam Markianos-Wright
On 1/9/20 4:07 PM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> diff --git a/gcc/testsuite/g++.target/aarch64/bfloat_cpp_typecheck.C >> b/gcc/testsuite/g++.target/aarch64/bfloat_cpp_typecheck.C >> new file mode 100644 >> index 000..55cbb0b0ef

Re: [GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [1/2]

2020-01-09 Thread Stam Markianos-Wright
On 1/7/20 5:14 PM, Richard Sandiford wrote: > Thanks for the update. The new patch looks really good, just some > minor comments. > > Stam Markianos-Wright writes: >> [...] >> Also I've update the filenames of all our tests to make them

Re: [GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [2/2]

2020-01-09 Thread Stam Markianos-Wright
On 1/7/20 3:26 PM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> On 12/19/19 10:08 AM, Richard Sandiford wrote: >>> Stam Markianos-Wright writes: >>>> diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c >>>> index

Re: [GCC][PATCH][AArch64]Add ACLE intrinsics for bfdot for ARMv8.6 Extension

2020-01-09 Thread Stam Markianos-Wright
On 12/30/19 10:29 AM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> diff --git a/gcc/config/aarch64/aarch64-simd.md >> b/gcc/config/aarch64/aarch64-simd.md >> index >> adfda96f077075ad53d4bea2919c4d3b326e49f5..7587bc46ba1c80389ea49fa83a0e6f8a48971

Re: [GCC][PATCH][AArch64]Add ACLE intrinsics for dot product (usdot - vector, dot - by element) for AArch64 AdvSIMD ARMv8.6 Extension

2020-01-09 Thread Stam Markianos-Wright
On 12/30/19 10:21 AM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> On 12/20/19 2:13 PM, Richard Sandiford wrote: >>> Stam Markianos-Wright writes: >>>> +**... >>>> +**ret >>>> +*/ >>>> +int32x2_t ufoo (int32x2_t r

Re: [PING][PATCH][GCC][ARM] Arm generates out of range conditional branches in Thumb2 (PR91816)

2020-01-08 Thread Stam Markianos-Wright
On 12/10/19 5:03 PM, Kyrill Tkachov wrote: > Hi Stam, > > On 11/15/19 5:26 PM, Stam Markianos-Wright wrote: >> Pinging with more correct maintainers this time :) >> >> Also would need to backport to gcc7,8,9, but need to get this approved >> first! >> &

Re: [GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [2/2]

2020-01-07 Thread Stam Markianos-Wright
On 12/19/19 10:08 AM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c >> index f57469b6e23..f40f6432fd4 100644 >> --- a/gcc/config/aarch64/aarch64.c >> +++ b/gcc/config/aarch

Re: [GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [1/2]

2020-01-07 Thread Stam Markianos-Wright
On 23/12/2019 16:57, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> On 12/19/19 10:01 AM, Richard Sandiford wrote: >>>> + >>>> +#pragma GCC push_options >>>> +#pragma GCC target ("arch=armv8.2-a+bf16") >>>> +#ifd

Re: [GCC][PATCH][AArch64]Add ACLE intrinsics for bfdot for ARMv8.6 Extension

2019-12-30 Thread Stam Markianos-Wright
On 12/20/19 2:36 PM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> Hi all, >> >> This patch adds the ARMv8.6 Extension ACLE intrinsics for the bfloat bfdot >> operation. >> >> The functions are declared in arm_neon.h with the armv8.2-

Re: [GCC][PATCH][AArch64]Add ACLE intrinsics for dot product (usdot - vector, dot - by element) for AArch64 AdvSIMD ARMv8.6 Extension

2019-12-30 Thread Stam Markianos-Wright
On 12/20/19 2:13 PM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> diff --git a/gcc/config/aarch64/aarch64-simd.md >> b/gcc/config/aarch64/aarch64-simd.md >> index >> ad4676bc167f08951e693916c7ef796e3501762a..eba71f004ef67af654f9c512b720aa6cfdd1d

Re: [GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [1/2]

2019-12-23 Thread Stam Markianos-Wright
On 12/19/19 10:01 AM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> [...] >> @@ -659,6 +666,8 @@ aarch64_simd_builtin_std_type (machine_mode mode, >> return float_type_node; >> case E_DFmode: >> return double_type_node; >&g

[GCC][PATCH][ARM] Add Bfloat16_t scalar type, vector types and machine modes to ARM back-end

2019-12-20 Thread Stam Markianos-Wright
Details on ARM Bfloat can be found here: https://community.arm.com/developer/ip-products/processors/b/ml-ip-blog/posts/bfloat16-processing-for-neural-networks-on-armv8_2d00_a gcc/ChangeLog: 2019-12-16 Stam Markianos-Wright * config.gcc: Add arm_bf16.h. * config/arm

[GCC][PATCH][AArch64]Add ACLE intrinsics for bfdot for ARMv8.6 Extension

2019-12-20 Thread Stam Markianos-Wright
, Stam gcc/ChangeLog: 2019-11-04 Stam Markianos-Wright * config/aarch64/aarch64-simd-builtins.def (aarch64_bfdot, aarch64_bfdot_lane, aarch64_bfdot_laneq): New. * config/aarch64/aarch64-simd.md (aarch64_bfdot, aarch64_bfdot_lane): New. * config

Re: [GCC][testsuite][ARM][AArch64] Add ARM v8.6 effective target checks to target-supports.exp

2019-12-20 Thread Stam Markianos-Wright
On 12/18/19 4:47 PM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> On 12/13/19 11:15 AM, Richard Sandiford wrote: >>> Stam Markianos-Wright writes: >>>> Hi all, >>>> >>>> This small patch adds support for the ARM v8.6 extensio

Re: [GCC][PATCH][AArch64]Add ACLE intrinsics for dot product (usdot - vector, dot - by element) for AArch64 AdvSIMD ARMv8.6 Extension

2019-12-20 Thread Stam Markianos-Wright
On 12/13/19 11:02 AM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> @@ -573,6 +586,44 @@ >> [(set_attr "type" "neon_dot")] >> ) >> >> +;; These instructions map to the __builtins for the armv8.6a I8MM usdot,

[PATCH, committed] Add myself to MAINTAINERS.

2019-12-19 Thread Stam Markianos-Wright
Hi all, I have committed the attached patch adding myself to the Write After Approval section of the MAINTAINERS file. Cheers, Stam (commits r279573, r279575) 2019-12-19 Stam Markianos-Wright * MAINTAINERS (write_after_approval): Add myself. diff --git a/MAINTAINERS b/MAINTAINERS

[GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [2/2]

2019-12-18 Thread Stam Markianos-Wright
/developer/ip-products/processors/b/ml-ip-blog/posts/bfloat16-processing-for-neural-networks-on-armv8_2d00_a PS. I don't have commit rights, so if someone could commit on my behalf, that would be great :) gcc/ChangeLog: 2019-12-16 Stam Markianos-Wright * config/aarch64/aarc

[GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [1/2]

2019-12-18 Thread Stam Markianos-Wright
geLog: 2019-12-16 Stam Markianos-Wright * config.gcc: Add arm_bf16.h. * config/aarch64/aarch64-builtins.c (aarch64_simd_builtin_std_type): Add BFmode. (aarch64_init_simd_builtin_types): Add element types for vector types. (aarch64_init_bf16_types)

[Ping][GCC][PATCH][ARM]Add ACLE intrinsics for dot product (vusdot - vector, vdot - by element) for AArch32 AdvSIMD ARMv8.6 Extension

2019-12-18 Thread Stam Markianos-Wright
On 12/13/19 10:22 AM, Stam Markianos-Wright wrote: > Hi all, > > This patch adds the ARMv8.6 Extension ACLE intrinsics for dot product > operations (vector/by element) to the ARM back-end. > > These are: > usdot (vector), dot (by element). > > The functions are

Re: [GCC][testsuite][ARM][AArch64] Add ARM v8.6 effective target checks to target-supports.exp

2019-12-17 Thread Stam Markianos-Wright
On 12/13/19 11:15 AM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> Hi all, >> >> This small patch adds support for the ARM v8.6 extensions +bf16 and >> +i8mm to the testsuite. This will be tested through other upcoming >> patches, which is why

[GCC][PATCH][ARM]Add ACLE intrinsics for dot product (vusdot - vector, vdot - by element) for AArch32 AdvSIMD ARMv8.6 Extension

2019-12-13 Thread Stam Markianos-Wright
have commit rights, so if someone could commit on my behalf, that would be great :) gcc/ChangeLog: 2019-11-28 Stam Markianos-Wright * config/arm/arm-builtins.c (enum arm_type_qualifiers): (USTERNOP_QUALIFIERS): New define. (USMAC_LANE_QUADTUP_QUALIFIERS): New d

[GCC][PATCH][AArch64]Add ACLE intrinsics for dot product (usdot - vector, dot - by element) for AArch64 AdvSIMD ARMv8.6 Extension

2019-12-13 Thread Stam Markianos-Wright
x27;t have commit rights, so if someone could commit on my behalf, that would be great :) gcc/ChangeLog: 2019-11-28 Stam Markianos-Wright * config/aarch64/aarch64-builtins.c: (enum aarch64_type_qualifiers) New qualifier_lane_quadtup_index, TYPES_TERNOP

[GCC][testsuite][ARM][AArch64] Add ARM v8.6 effective target checks to target-supports.exp

2019-12-12 Thread Stam Markianos-Wright
12-11 Stam Markianos-Wright * lib/target-supports.exp (check_effective_target_arm_v8_2a_i8mm_ok_nocache): New. (check_effective_target_arm_v8_2a_i8mm_ok): New. (add_options_for_arm_v8_2a_i8mm): New. (check_effective_target_arm_v8_2a_bf16_neon_ok_nocache)

Re: Ping: [GCC][PATCH] Add ARM-specific Bfloat format support to middle-end

2019-12-11 Thread Stam Markianos-Wright
On 12/11/19 3:48 AM, Jeff Law wrote: > On Mon, 2019-12-09 at 13:40 +0000, Stam Markianos-Wright wrote: >> >> On 12/3/19 10:31 AM, Stam Markianos-Wright wrote: >>> >>> On 12/2/19 9:27 PM, Joseph Myers wrote: >>>> On Mon, 2 Dec 2019, Jeff Law wrote:

[PING][PATCH][GCC][ARM] Arm generates out of range conditional branches in Thumb2 (PR91816)

2019-12-09 Thread Stam Markianos-Wright
On 12/2/19 4:43 PM, Stam Markianos-Wright wrote: > > > On 11/15/19 5:26 PM, Stam Markianos-Wright wrote: >> Pinging with more correct maintainers this time :) >> >> Also would need to backport to gcc7,8,9, but need to get this approved >>

Ping: [GCC][PATCH] Add ARM-specific Bfloat format support to middle-end

2019-12-09 Thread Stam Markianos-Wright
On 12/3/19 10:31 AM, Stam Markianos-Wright wrote: > > > On 12/2/19 9:27 PM, Joseph Myers wrote: >> On Mon, 2 Dec 2019, Jeff Law wrote: >> >>>> 2019-11-13  Stam Markianos-Wright  >>>> >>>>     * real.c (struct ar

Re: [GCC][PATCH] Add ARM-specific Bfloat format support to middle-end

2019-12-03 Thread Stam Markianos-Wright
On 12/2/19 9:27 PM, Joseph Myers wrote: > On Mon, 2 Dec 2019, Jeff Law wrote: > >>> 2019-11-13 Stam Markianos-Wright >>> >>> * real.c (struct arm_bfloat_half_format, >>> encode_arm_bfloat_half, decode_arm_bfloat_half): New. >>

[PING][PATCH][GCC][ARM] Arm generates out of range conditional branches in Thumb2 (PR91816)

2019-12-02 Thread Stam Markianos-Wright
On 11/15/19 5:26 PM, Stam Markianos-Wright wrote: > Pinging with more correct maintainers this time :) > > Also would need to backport to gcc7,8,9, but need to get this approved > first! > > Thank you, > Stam > > > Forwarded Message > S

Ping: [GCC][PATCH] Add ARM-specific Bfloat format support to middle-end

2019-12-02 Thread Stam Markianos-Wright
On 11/25/19 2:54 PM, Stam Markianos-Wright wrote: > > On 11/15/19 12:02 PM, Stam Markianos-Wright wrote: >> Hi all, >> >> This patch adds support for a new real_format for ARM Brain Floating >> Point numbers to the middle end. This is to be used exclusively in t

Ping: [GCC][PATCH] Add ARM-specific Bfloat format support to middle-end

2019-11-25 Thread Stam Markianos-Wright
On 11/15/19 12:02 PM, Stam Markianos-Wright wrote: > Hi all, > > This patch adds support for a new real_format for ARM Brain Floating > Point numbers to the middle end. This is to be used exclusively in the > ARM back-end. > > The encode_arm_bfloat_half and decode_arm_

[PING][PATCH][GCC][ARM] Arm generates out of range conditional branches in Thumb2 (PR91816)

2019-11-15 Thread Stam Markianos-Wright
, 21 Oct 2019 10:37:09 +0100 From: Stam Markianos-Wright To: Ramana Radhakrishnan CC: gcc-patches@gcc.gnu.org , nd , James Greenhalgh , Richard Earnshaw On 10/13/19 4:23 PM, Ramana Radhakrishnan wrote: >> >> Patch bootstrapped and regression tested on arm-none-linux-gnueabihf, >&

[GCC][PATCH] Add ARM-specific Bfloat format support to middle-end

2019-11-15 Thread Stam Markianos-Wright
sanity. Is this ok for trunk? Also, I do not have commit rights, so could someone commit this on my behalf? Thank you! Stam Markianos-Wright 2019-11-13 Stam Markianos-Wright * real.c (struct arm_bfloat_half_format, encode_arm_bfloat_half, decode_arm_bfloat_half): New

Re: [PATCH][GCC][ARM] Arm generates out of range conditional branches in Thumb2 (PR91816)

2019-10-21 Thread Stam Markianos-Wright
On 10/13/19 4:23 PM, Ramana Radhakrishnan wrote: >> >> Patch bootstrapped and regression tested on arm-none-linux-gnueabihf, >> however, on my native Aarch32 setup the test times out when run as part >> of a big "make check-gcc" regression, but not when run individually. >> >> 2019-10-11 Stamati

[PATCH][GCC][ARM] Arm generates out of range conditional branches in Thumb2 (PR91816)

2019-10-11 Thread Stam Markianos-Wright
Patch also regression tested on arm-none-eabi, arm-none-linux-gnueabi with no issues. Also, I don't have commit rights yet, so could someone commit it on my behalf? Thanks, Stam Markianos-Wright gcc/ChangeLog: 2019-10-11 Stamatis Markianos-Wright * config/arm/arm.md: Update b f

[GCC][PATCH][AArch64] Update hwcap string for fp16fml in aarch64-option-extensions.def

2019-09-10 Thread Stam Markianos-Wright
ot;asimdfml". Cross-compiled and tested on aarch64-none-linux-gnu. Is this ok for trunk? Also, I don't have commit rights, so could someone commit it on my behalf? Thanks, Stam Markianos-Wright The diff is: diff --git a/gcc/config/aarch64/aarch64-option-extensions.def b/gcc