rpose, see comment in the test).
Require and use the options needed for arm_fp to fix this problem.
2023-06-28 Christophe Lyon
gcc/testsuite/
* gcc.target/arm/mve/general-c/nomve_fp_1.c: Require arm_fp.
---
gcc/testsuite/gcc.target/arm/mve/general-c/nomve_fp_1.c | 2 ++
1 file
This tests currently expect a directive containing .fpu fpv5-sp-d16
and thus may fail if the test is executed for instance with
-march=armv8.1-m.main+mve.fp+fp.dp
This patch accepts either fpv5-sp-d16 or fpv5-d16 to avoid the failure.
2023-06-28 Christophe Lyon
gcc/testsuite
Implement vcmlaq using the new MVE builtins framework.
2023-07-13 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vcmlaq, vcmlaq_rot90)
(vcmlaq_rot180, vcmlaq_rot270): New.
* config/arm/arm-mve-builtins-base.def (vcmlaq, vcmlaq_rot90
s are also used by neon.md
2023-07-13 Christophe Lyon
gcc/
* config/arm/arm_mve_builtins.def (vcaddq_rot90_, vcaddq_rot270_)
(vcaddq_rot90_f, vcaddq_rot90_f): Add "_" or "_f" suffix.
* config/arm/iterators.md (mve_insn): Add vcadd, vhcadd.
Factorize vcmulq builtins so that they use parameterized names.
We can merged them with vcadd.
2023-07-13 Christophe Lyon
gcc/:
* config/arm/arm_mve_builtins.def (vcmulq_rot90_f)
(vcmulq_rot270_f, vcmulq_rot180_f, vcmulq_f): Add "_f" suffix.
*
Factorize vcmlaq builtins so that they use parameterized names.
2023-17-13 Christophe Lyon
gcc/
* config/arm/arm_mve_builtins.def (vcmlaq_rot90_f)
(vcmlaq_rot270_f, vcmlaq_rot180_f, vcmlaq_f): Add "_f" suffix.
* config/arm/iterators.md (MVE_VCML
Implement vcmulq using the new MVE builtins framework.
2023-07-13 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vcmulq, vcmulq_rot90)
(vcmulq_rot180, vcmulq_rot270): New.
* config/arm/arm-mve-builtins-base.def (vcmulq, vcmulq_rot90
Implement vcaddq, vhcaddq using the new MVE builtins framework.
2023-07-13 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vcaddq_rot90)
(vcaddq_rot270, vhcaddq_rot90, vhcaddq_rot270): New.
* config/arm/arm-mve-builtins-base.def (vcaddq_rot90
Fix spelling mistakes introduced by my previous patch in this area.
Committed as obvious.
2023-08-01 Christophe Lyon
gcc/
* doc/sourcebuild.texi (arm_v8_1m_main_cde_mve_fp): Fix spelling.
---
gcc/doc/sourcebuild.texi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions
Hi Stam,
On Tue, 1 Aug 2023 at 19:22, Stamatis Markianos-Wright via Gcc-patches <
gcc-patches@gcc.gnu.org> wrote:
> Hi all,
>
> The unsigned variants of the vcaddq_m operation are not needed within the
> compiler, as the assembly output of the signed and unsigned versions of the
> ops is identic
For 32-bit newlib targets (e.g. arm-eabi) int32_t is "long int".
Like previous patches in these tests, update the matching regexps to
match "aka (long )?int".
Tested on arm-eabi and aarch64-linux-gnu.
2023-08-08 Christophe Lyon
gcc/testsuite/
Hi!
On Wed, 9 Aug 2023 at 22:30, David Malcolm wrote:
> On Tue, 2023-08-08 at 15:01 +0000, Christophe Lyon wrote:
> > For 32-bit newlib targets (e.g. arm-eabi) int32_t is "long int".
> >
> > Like previous patches in these tests, update the matching regexp
Hi Andrew,
On Wed, 9 Aug 2023 at 21:20, Andrew Pinski via Gcc-patches <
gcc-patches@gcc.gnu.org> wrote:
> This adds a simple match pattern for this case.
> I noticed it a couple of different places.
> One while I was looking at code generation of a parser and
> also while I was looking at locati
On Thu, 10 Aug 2023 at 20:52, Andrew Pinski wrote:
> On Thu, Aug 10, 2023 at 6:39 AM Christophe Lyon via Gcc-patches
> wrote:
> >
> > Hi Andrew,
> >
> >
> > On Wed, 9 Aug 2023 at 21:20, Andrew Pinski via Gcc-patches <
> > gcc-patches@gcc.gnu.o
Hi Martin,
On Fri, 4 Aug 2023 at 18:26, Martin Jambor wrote:
> Hello,
>
> On Wed, Aug 02 2023, Richard Biener wrote:
> > On Mon, Jul 31, 2023 at 7:05 PM Martin Jambor wrote:
> >>
> >> Hi,
> >>
> >> when IPA-SRA detects whether a parameter passed by reference is
> >> written to, it does not spe
On Fri, 11 Aug 2023 at 15:50, Martin Jambor wrote:
> Hello,
>
> On Fri, Aug 11 2023, Christophe Lyon wrote:
> > Hi Martin,
> >
> >
> > On Fri, 4 Aug 2023 at 18:26, Martin Jambor wrote:
> >
> >> Hello,
> >>
> >> On Wed, Aug 02
Fix these two shapes, where we were failing to check the last
non-predicate parameter.
2023-08-14 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (binary_acca_int32): Fix loop
bound.
(binary_acca_int64): Likewise.
---
gcc/config/arm/arm-mve-builtins
Fix a likely copy/paste error, where we check if ch == 'f' after we
checked it's either 's' or 'u'.
2023-08-14 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (parse_element_type):
Remove dead check.
---
gcc/config
Factorize vmullbq, vmulltq so that they use the same parameterized
names.
2023-08-14 Christophe Lyon
gcc/
* config/arm/iterators.md (mve_insn): Add vmullb, vmullt.
(isu): Add VMULLBQ_INT_S, VMULLBQ_INT_U, VMULLTQ_INT_S,
VMULLTQ_INT_U.
(supf): Add
Introduce a function that will be used to build vmull intrinsics with
the _int variant.
2023-08-14 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-functions.h (class
unspec_mve_function_exact_insn_vmull): New.
---
gcc/config/arm/arm-mve-builtins-functions.h | 74
Although they look like aliases for u8 and u16, we need to define them
so that we can handle p8 and p16 suffixes with the general framework.
They will be used by vmull[bt]q_poly intrinsics.
2023-08-14 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins.cc (type_suffixes
Introduce these two format specifiers to define the shape of
vmull[bt]q_poly intrinsics.
'U' is used to define a double-width unsigned
'p' is used to define an element of 'poly' type.
2023-08-14 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins
This patch adds the binary_widen shape description.
2023-08-14 Christophe Lyon
gcc/:
* config/arm/arm-mve-builtins-shapes.cc (binary_widen): New.
* config/arm/arm-mve-builtins-shapes.h (binary_widen): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc | 42
This patch adds the binary_widen_poly shape description.
2023-08-14 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (binary_widen_poly): New.
* config/arm/arm-mve-builtins-shapes.h (binary_widen_poly): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc
Introduce a function that will be used to build vmull[bt]q_poly
intrinsics that use poly types.
2023-08-14 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-functions.h (class
unspec_mve_function_exact_insn_vmull_poly): New.
---
gcc/config/arm/arm-mve-builtins
Implement vmullbq_int, vmulltq_int using the new MVE builtins
framework.
2023-08-14 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vmullbq_int, vmulltq_int):
New.
* config/arm/arm-mve-builtins-base.def (vmullbq_int, vmulltq_int):
New
Implement vmull[bt]q_poly using the new MVE builtins framework.
2023-08-14 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vmullbq_poly)
(vmulltq_poly): New.
* config/arm/arm-mve-builtins-base.def (vmullbq_poly)
(vmulltq_poly): New
.
2023-06-26 Christophe Lyon
PR target/110268
gcc/
* config/arm/arm-builtins.cc (arm_init_mve_builtins): Handle LTO.
(arm_builtin_decl): Hahndle MVE builtins.
* config/arm/arm-mve-builtins.cc (builtin_decl): New function.
(add_unique_function): Fix
On Mon, 26 Jun 2023 at 17:30, Prathamesh Kulkarni <
prathamesh.kulka...@linaro.org> wrote:
> On Mon, 26 Jun 2023 at 20:33, Christophe Lyon via Gcc-patches
> wrote:
> >
> > After the recent MVE intrinsics re-implementation, LTO stopped working
> > because the intrins
rpose, see comment in the test).
Require and use the options needed for arm_fp to fix this problem.
2023-06-28 Christophe Lyon
gcc/testsuite/
* gcc.target/arm/mve/general-c/nomve_fp_1.c: Require arm_fp.
---
gcc/testsuite/gcc.target/arm/mve/general-c/nomve_fp_1.c | 2 ++
1 file
This tests currently expect a directive containing .fpu fpv5-sp-d16
and thus may fail if the test is executed for instance with
-march=armv8.1-m.main+mve.fp+fp.dp
This patch accepts either fpv5-sp-d16 or fpv5-d16 to avoid the failure.
2023-06-28 Christophe Lyon
gcc/testsuite
On Thu, 29 Jun 2023 at 14:50, Jonathan Wakely wrote:
>
>
> On Thu, 1 Jun 2023 at 12:05, Jonathan Wakely
> wrote:
>
>> On Thu, 1 Jun 2023 at 10:30, Christophe Lyon via Libstdc++
>> wrote:
>> >
>> > Hi,
>> >
>> >
>> >
Ping?
On Mon, 26 Jun 2023 at 17:02, Christophe Lyon
wrote:
> After the recent MVE intrinsics re-implementation, LTO stopped working
> because the intrinsics would no longer be defined.
>
> The main part of the patch is simple and similar to what we do for
> AArch64:
> - cal
On Wed, 5 Jul 2023 at 19:07, Kyrylo Tkachov wrote:
> Hi Christophe,
>
> > -Original Message-
> > From: Christophe Lyon
> > Sent: Monday, June 26, 2023 4:03 PM
> > To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov ;
> > Richard Sandiford
> > Cc: Chri
The arm_v8_1m_main_cde_mve_fp family of effective targets was not
documented when it was introduced.
2023-07-07 Christophe Lyon
gcc/
* doc/sourcebuild.texi (arm_v8_1m_main_cde_mve_fp): Document.
---
gcc/doc/sourcebuild.texi | 6 ++
1 file changed, 6 insertions(+)
diff
ot to execute a
program, so this patch adds similar _link effective-targets which only
check if link succeeds.
The patch does not uupdate the documentation as it already lacks the
numerous existing related effective-targets.
2023-07-07 Christophe Lyon
gcc/testsuite/
* lib/t
-26 Christophe Lyon
PR target/110268
gcc/
* config/arm/arm-builtins.cc (arm_init_mve_builtins): Handle LTO.
(arm_builtin_decl): Hahndle MVE builtins.
* config/arm/arm-mve-builtins.cc (builtin_decl): New function.
(add_unique_function): Fix
On Mon, 10 Jul 2023 at 15:46, Kyrylo Tkachov wrote:
>
>
> > -Original Message-
> > From: Christophe Lyon
> > Sent: Friday, July 7, 2023 8:52 AM
> > To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov ;
> > Richard Earnshaw
> > Cc: Christophe Lyon
Hi Alexandre,
On 2/17/23 08:17, Alexandre Oliva via Gcc-patches wrote:
Back when quotes were added around "+cdecp" in the "coproc must be
a constant immediate" error in arm-builtins.cc, tests for that message
lagged behind. Fixed thusly.
Regstrapped on x86_64-linux-gnu.
Tested on arm-vxworks
On 2/22/23 13:38, Alexandre Oliva wrote:
Hello, Christophe,
On Feb 20, 2023, Christophe Lyon wrote:
On 2/17/23 08:17, Alexandre Oliva via Gcc-patches wrote:
Back when quotes were added around "+cdecp" in the "coproc must be
a constant immediate" error in arm-builtin
On 3/3/23 09:24, Alexandre Oliva wrote:
Hello, Christophe,
On Feb 22, 2023, Christophe Lyon wrote:
OK thanks for the clarification.
(and for the other cleanup patches!)
Was this meant as approval? I hadn't taken it as such.
Unfortunately, no, I don't have s
Factorize vcmp so that they use the same pattern.
2022-10-25 Christophe Lyon
gcc/
* config/arm/iterators.md (MVE_CMP_M, MVE_CMP_M_F, MVE_CMP_M_N)
(MVE_CMP_M_N_F, mve_cmp_op1): New.
(isu): Add VCMP*
(supf): Likewise.
* config/arm/mve.md
Implement vaddvq using the new MVE builtins framework.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vaddvq): New.
* config/arm/arm-mve-builtins-base.def (vaddvq): New.
* config/arm/arm-mve-builtins-base.h (vaddvq): New
Factorize vaddvq builtins so that they use parameterized names.
2022-10-25 Christophe Lyon
gcc/
* config/arm/iterators.md (mve_insn): Add vaddv.
* config/arm/mve.md (@mve_vaddvq_): Rename into ...
(@mve_q_): ... this.
(mve_vaddvq_p_): Rename into
Factorize vdup builtins so that they use parameterized names.
2022-10-25 Christophe Lyon
gcc/
* config/arm/iterators.md (MVE_FP_M_N_VDUPQ_ONLY)
(MVE_FP_N_VDUPQ_ONLY): New.
(mve_insn): Add vdupq.
* config/arm/mve.md (mve_vdupq_n_f): Rename into
Factorize vrev16q vrev32q vrev64q so that they use generic builtin
names.
2022-10-25 Christophe Lyon
gcc/
* config/arm/iterators.md (MVE_V8HF, MVE_V16QI)
(MVE_FP_VREV64Q_ONLY, MVE_FP_M_VREV64Q_ONLY, MVE_FP_VREV32Q_ONLY)
(MVE_FP_M_VREV32Q_ONLY): New iterators
Implement vmovlbq, vmovltq using the new MVE builtins framework.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vmovlbq, vmovltq): New.
* config/arm/arm-mve-builtins-base.def (vmovlbq, vmovltq): New.
* config/arm/arm-mve-builtins-base.h
This patch adds the unary_acc shape description.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (unary_acc): New.
* config/arm/arm-mve-builtins-shapes.h (unary_acc): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc | 28
This patch adds the unary_n shape description.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (unary_n): New.
* config/arm/arm-mve-builtins-shapes.h (unary_n): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc | 53
Implement vaddvaq using the new MVE builtins framework.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vaddvaq): New.
* config/arm/arm-mve-builtins-base.def (vaddvaq): New.
* config/arm/arm-mve-builtins-base.h (vaddvaq): New
This patch adds the unary_int32 shape description.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (unary_int32): New.
* config/arm/arm-mve-builtins-shapes.h (unary_int32): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc | 27
Factorize vaddlvq builtins so that they use parameterized names.
2022-10-25 Christophe Lyon
gcc/
* config/arm/iterators.md (mve_insn): Add vaddlv.
* config/arm/mve.md (mve_vaddlvq_v4si): Rename into ...
(@mve_q_v4si): ... this.
(mve_vaddlvq_p_v4si
This patch adds the cmp shape description.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (cmp): New.
* config/arm/arm-mve-builtins-shapes.h (cmp): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc | 27 +++
gcc/config/arm
Factorize vmovlbq, vmovltq builtins so that they use the same
parameterized names.
2022-10-25 Christophe Lyon
gcc/
* config/arm/iterators.md (mve_insn): Add vmovlb, vmovlt.
(VMOVLBQ, VMOVLTQ): Merge into ...
(VMOVLxQ): ... this.
(VMOVLTQ_M, VMOVLBQ_M
This patch adds the unary_widen shape description.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (unary_widen): New.
* config/arm/arm-mve-builtins-shapes.h (unary_widen): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc | 46
Implement vaddlvq using the new MVE builtins framework.
Since we kept v4si hardcoded in the builtin name, we need to
special-case it in unspec_mve_function_exact_insn_pred_p.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vaddlvq): New
Implement vdupq using the new MVE builtins framework.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (FUNCTION_ONLY_N): New.
(vdupq): New.
* config/arm/arm-mve-builtins-base.def (vdupq): New.
* config/arm/arm-mve-builtins-base.h
This patch adds the unary_int32_acc shape description.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (unary_int32_acc): New.
* config/arm/arm-mve-builtins-shapes.h (unary_int32_acc): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc | 34
Factorize vaddvaq builtins so that they use parameterized names.
2022-10-25 Christophe Lyon
gcc/
* config/arm/iterators.md (mve_insn): Add vaddva.
* config/arm/mve.md (mve_vaddvaq_): Rename into ...
(@mve_q_): ... this.
(mve_vaddvaq_p_): Rename into
Implement vrev16q, vrev32q, vrev64q using the new MVE builtins
framework.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vrev16q, vrev32q, vrev64q):
New.
* config/arm/arm-mve-builtins-base.def (vrev16q, vrev32q)
(vrev64q): New
Hi Thomas,
On Wed, 10 May 2023 at 09:52, Thomas Schwinge
wrote:
> Hi Christophe!
>
> On 2023-05-09T21:14:07+0200, Christophe Lyon
> wrote:
> > On Tue, 9 May 2023 at 17:17, Christophe Lyon >
> > wrote:
> >> On Tue, 9 May 2023 at 11:00, Thomas Schwinge
>
On 5/10/23 16:52, Kyrylo Tkachov wrote:
-Original Message-
From: Christophe Lyon
Sent: Wednesday, May 10, 2023 2:31 PM
To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov ;
Richard Earnshaw ; Richard Sandiford
Cc: Christophe Lyon
Subject: [PATCH 15/20] arm: [MVE intrinsics] add
On 5/11/23 10:23, Kyrylo Tkachov wrote:
-Original Message-
From: Christophe Lyon
Sent: Thursday, May 11, 2023 9:21 AM
To: Kyrylo Tkachov ; gcc-patches@gcc.gnu.org;
Richard Earnshaw ; Richard Sandiford
Subject: Re: [PATCH 15/20] arm: [MVE intrinsics] add unary_acc shape
On 5/10
On 5/11/23 10:30, Richard Sandiford wrote:
Christophe Lyon writes:
On 5/10/23 16:52, Kyrylo Tkachov wrote:
-Original Message-
From: Christophe Lyon
Sent: Wednesday, May 10, 2023 2:31 PM
To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov ;
Richard Earnshaw ; Richard Sandiford
Cc
This patch adds the unary_widen_acc shape description.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (unary_widen_acc): New.
* config/arm/arm-mve-builtins-shapes.h (unary_widen_acc): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc | 34
Factorize vaddlvaq builtins so that they use parameterized names.
2022-10-25 Christophe Lyon
gcc/
* config/arm/iterators.md (mve_insn): Add vaddlva.
* config/arm/mve.md (mve_vaddlvaq_v4si): Rename into ...
(@mve_q_v4si): ... this.
(mve_vaddlvaq_p_v4si
This patch adds the binary_acca_int32 shape description.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (binary_acca_int32): New.
* config/arm/arm-mve-builtins-shapes.h (binary_acca_int32): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc
Factorize vmlaldavq, vmlaldavxq, vmlsldavq, vmlsldavxq builtins so
that they use parameterized names.
2022-10-25 Christophe Lyon
gcc/
* config/arm/iterators.md (MVE_VMLxLDAVxQ, MVE_VMLxLDAVxQ_P): New.
(mve_insn): Add vmlaldav, vmlaldavx, vmlsldav, vmlsldavx
Factorize vmladav, vmladavx, vmlsdav, vmlsdavx, vmladava, vmladavax,
vmlsdava, vmlsdavax builtins so that they use the same parameterized
names.
2022-10-25 Christophe Lyon
gcc/
* config/arm/iterators.md (MVE_VMLxDAVQ, MVE_VMLxDAVQ_P)
(MVE_VMLxDAVAQ, MVE_VMLxDAVAQ_P
This patch adds the binary_acc_int32 shape description.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (binary_acc_int32): New.
* config/arm/arm-mve-builtins-shapes.h (binary_acc_int32): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc | 27
Implement vaddlvaq using the new MVE builtins framework.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vaddlvaq): New.
* config/arm/arm-mve-builtins-base.def (vaddlvaq): New.
* config/arm/arm-mve-builtins-base.h (vaddlvaq): New
This patch adds the binary_acca_int64 shape description.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (binary_acca_int64): New.
* config/arm/arm-mve-builtins-shapes.h (binary_acca_int64): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc
Factorize vabavq builtins so that they use parameterized names.
2022-10-25 Christophe Lyon
gcc/
* config/arm/iterators.md (mve_insn): Add vabav.
* config/arm/mve.md (mve_vabavq_): Rename into ...
(@mve_q_): ... this,.
(mve_vabavq_p_): Rename into
Implement vmlaldavq, vmlaldavxq, vmlsldavq, vmlsldavxq using the new
MVE builtins framework.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vmlaldavq, vmlaldavxq)
(vmlsldavq, vmlsldavxq): New.
* config/arm/arm-mve-builtins-base.def
Factorize vqdmladhq, vqdmladhxq, vqdmlsdhq, vqdmlsdhxq, vqrdmladhq,
vqrdmladhxq, vqrdmlsdhq, vqrdmlsdhxq builtins so that they use the
same parameterized names.
2022-12-12 Christophe Lyon
gcc/
* config/arm/iterators.md (MVE_VQxDMLxDHxQ_S): New.
(mve_insn): Add vqdmladh
This patch adds the ternary_n shape description.
2022-12-12 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (ternary_n): New.
* config/arm/arm-mve-builtins-shapes.h (ternary_n): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc | 27
Implement vmladavq, vmladavxq, vmlsdavq, vmlsdavxq using the new MVE
builtins framework.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vmladavq, vmladavxq)
(vmlsdavq, vmlsdavxq): New.
* config/arm/arm-mve-builtins-base.def (vmladavq
Factorize vrmlaldavhq, vrmlaldavhxq, vrmlsldavhq, vrmlsldavhxq
builtins so that they use the same parameterized names.
2022-10-25 Christophe Lyon
gcc/
* config/arm/iterators.md (MVE_VRMLxLDAVxQ, MVE_VRMLxLDAVHxQ_P):
New.
(mve_insn): Add vrmlaldavh, vrmlaldavhx
This patch adds the binary_acc_int64 shape description.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (binary_acc_int64): New.
* config/arm/arm-mve-builtins-shapes.h (binary_acc_int64): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc | 23
Implement vabavq using the new MVE builtins framework.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vabavq): New.
* config/arm/arm-mve-builtins-base.def (vabavq): New.
* config/arm/arm-mve-builtins-base.h (vabavq): New
Implement vqrdmladhq, vqrdmladhxq, vqrdmlsdhq, vqrdmlsdhxq vqdmladhq,
vqdmladhxq, vqdmlsdhq, vqdmlsdhxq using the new MVE builtins
framework.
2022-12-12 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vqdmladhq, vqdmladhxq)
(vqdmlsdhq, vqdmlsdhxq
Factorize vmlaq_n, vmlasq_n, vqdmlahq_n, vqdmlashq_n, vqrdmlahq_n,
vqrdmlashq_n builtins so that they use the same parameterized names.
2022-12-12 Christophe Lyon
gcc/
* config/arm/iterators.md (MVE_VMLxQ_N): New.
(mve_insn): Add vmla, vmlas, vqdmlah, vqdmlash
This patch adds the ternary shape description.
2022-12-12 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (ternary): New.
* config/arm/arm-mve-builtins-shapes.h (ternary): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc | 26
Implement vmlaldavaq, vmlaldavaxq, vmlsldavaq, vmlsldavaxq using the
new MVE builtins framework.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vmlaldavaq, vmlaldavaxq)
(vmlsldavaq, vmlsldavaxq): New.
* config/arm/arm-mve-builtins
Factorize vmlaldavaq, vmlaldavaxq, vmlsldavaq, vmlsldavaxq builtins so
that they use the same parameterized names.
2022-10-25 Christophe Lyon
gcc/
* config/arm/iterators.md (MVE_VMLxLDAVAxQ, MVE_VMLxLDAVAxQ_P):
New.
(mve_insn): Add vmlaldava, vmlaldavax
Implement vrmlaldavhq, vrmlaldavhxq, vrmlsldavhq, vrmlsldavhxq using
the new MVE builtins framework.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vrmlaldavhq, vrmlaldavhxq)
(vrmlsldavhq, vrmlsldavhxq): New.
* config/arm/arm-mve
Implement vmladavaq, vmladavaxq, vmlsdavaq, vmlsdavaxq using the new
MVE builtins framework.
2022-10-25 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vmladavaxq, vmladavaq)
(vmlsdavaq, vmlsdavaxq): New.
* config/arm/arm-mve-builtins-base.def
Implement vmlaq, vmlasq, vqdmlahq, vqdmlashq, vqrdmlahq, vqrdmlashq
using the new MVE builtins framework.
2022-12-12 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vmlaq, vmlasq, vqdmlahq)
(vqdmlashq, vqrdmlahq, vqrdmlashq): New.
* config/arm/arm
This patch adds the binary_widen_opt_n shape description.
2022-12-12 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (binary_widen_opt_n): New.
* config/arm/arm-mve-builtins-shapes.h (binary_widen_opt_n): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc
This patch adds the binary_imm32 shape description.
2022-12-12 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (binary_imm32): New.
* config/arm/arm-mve-builtins-shapes.h (binary_imm32): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc | 27
Factorize vqshluq builtins so that they use parameterized names.
2022-12-12 Christophe Lyon
gcc/
* config/arm/iterators.md (mve_insn): Add vqshlu.
(supf): Add VQSHLUQ_M_N_S, VQSHLUQ_N_S.
(VQSHLUQ_M_N, VQSHLUQ_N): New.
* config/arm/mve.md
This patch adds the binary_lshift_unsigned shape description.
2022-12-12 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc
(binary_lshift_unsigned): New.
* config/arm/arm-mve-builtins-shapes.h
(binary_lshift_unsigned): New.
---
gcc/config
Implement vrmlaldavhaq, vrmlaldavhaxq, vrmlsldavhaq, vrmlsldavhaxq
using the new MVE builtins framework.
2022-12-12 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vrmlaldavhaq)
(vrmlaldavhaxq, vrmlsldavhaq, vrmlsldavhaxq): New.
* config/arm/arm-mve
Implement vqdmullbq, vqdmulltq using the new MVE builtins framework.
2022-12-12 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vqdmullbq, vqdmulltq): New.
* config/arm/arm-mve-builtins-base.def (vqdmullbq, vqdmulltq):
New.
* config/arm/arm
Factorize vrmlaldavhaq, vrmlaldavhaxq, vrmlsldavhaq, vrmlsldavhaxq
builtins so that they use the same parameterized names.
2022-12-12 Christophe Lyon
gcc/
* config/arm/iterators.md (MVE_VRMLxLDAVHAxQ)
(MVE_VRMLxLDAVHAxQ_P): New.
(mve_insn): Add vrmlaldavha
Implement vbrsrq using the new MVE builtins framework.
2022-12-12 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-base.cc (vbrsrq): New.
* config/arm/arm-mve-builtins-base.def (vbrsrq): New.
* config/arm/arm-mve-builtins-base.h (vbrsrq): New
Factorize vqdmullbq, vqdmulltq builtins so that they use the same
parameterized names.
2022-12-12 Christophe Lyon
gcc/
* config/arm/iterators.md (MVE_VQDMULLxQ, MVE_VQDMULLxQ_M)
(MVE_VQDMULLxQ_M_N, MVE_VQDMULLxQ_N): New.
(mve_insn): Add vqdmullb, vqdmullt
Factorize vrbsrq builtins so that they use parameterized names.
2022-12-12 Christophe Lyon
gcc/
* config/arm/iterators.md (MVE_VBRSR_M_N_FP, MVE_VBRSR_N_FP): New.
(mve_insn): Add vbrsr.
* config/arm/mve.md (mve_vbrsrq_n_f): Rename into ...
(@mve_q_n_f
This patch adds the vpsel shape description.
2022-12-12 Christophe Lyon
gcc/
* config/arm/arm-mve-builtins-shapes.cc (vpsel): New.
* config/arm/arm-mve-builtins-shapes.h (vpsel): New.
---
gcc/config/arm/arm-mve-builtins-shapes.cc | 39 +++
gcc
Factorize vsliq builtins so that they use parameterized names.
2022-12-12 Christophe Lyon
gcc/
* config/arm/iterators.md (mve_insn>): Add vsli.
* config/arm/mve.md (mve_vsliq_n_): Rename into ...
(@mve_q_n_): ... this.
(mve_vsliq_m_n_): Rename i
2201 - 2300 of 3175 matches
Mail list logo