Thank you too.
On Sun, Mar 30, 2025, 19:34 Jeff Law wrote:
>
>
> On 3/26/25 6:15 AM, Mariam Arutunian wrote:
> > Fixed the iteration number in crc-crc32c-data16.c test from 8 to 16 to
> > match the test name.
> Thanks. I pushed this to the trunk.
>
> jeff
>
Yes, thank you!
On Sun, Mar 30, 2025, 19:40 Sam James wrote:
> Fixed the iteration number in crc-crc32-data16.c test from 8 to 16 to
> match the test name, just like in r15-9038-gdf55a933cfc675.
>
> gcc/testsuite/ChangeLog:
> * gcc.target/aarch64/crc-crc32-data16.c: Fix iteration
>
Fixed the iteration number in crc-crc32c-data16.c test from 8 to 16 to
match the test name.
From d5f5bab516e45da6fa8a65dac106add2b4e4602f Mon Sep 17 00:00:00 2001
From: Mariam Arutunian
Date: Wed, 26 Mar 2025 16:03:54 +0400
Subject: [PATCH] Fixed the iteration number in crc-crc32c-data16.c test
On Mon, Dec 16, 2024 at 5:20 PM Xi Ruoyao wrote:
> A generic CRC optimization pass has been implemented in r15-5850. But
> without target-specific code, it'll only optimize the CRC loop to a
> table lookup. With LoongArch-specific code we can do it better: for
> 64-bit LoongArch and the IEEE 80
Thank you all very much for your help! )
Mariam
On Tue, Dec 10, 2024, 04:04 Jeff Law wrote:
>
>
> On 12/9/24 3:43 PM, Richard Sandiford wrote:
>
> >> Thanks. I was just about to reach out to confirm we're OK on aarch64.
> >> I was going to run everything through one of the cfarm machines or
>
On Sun, Nov 24, 2024, 08:59 Jeff Law wrote:
>
>
> On 11/13/24 7:16 AM, Mariam Arutunian wrote:
>
> >
> >
> > To address this, I added code in |target-supports.exp| and modified the
> > relevant tests.
> > I've attached the patch. Could you please
On Fri, Nov 22, 2024, 20:29 Jeff Law wrote:
>
>
> On 11/13/24 7:16 AM, Mariam Arutunian wrote:
> >
> >
> > On Tue, Nov 12, 2024 at 2:15 AM Jeff Law > <mailto:jeffreya...@gmail.com>> wrote:
> >
> >
> > > \ No newline at end of fil
On Tue, Nov 12, 2024 at 2:15 AM Jeff Law wrote:
> > +
> > +
> > +/* Generate assembly to calculate CRC using clmul instruction.
> > + The following code will be generated when the CRC and data sizes are
> equal:
> > + li a4,quotient
> > + li a5,polynomial
> > + xor a0,
On Tue, Nov 12, 2024 at 12:31 AM Jeff Law wrote:
>
>
> On 11/9/24 12:43 PM, Mariam Arutunian wrote:
> > Add two new internal functions (IFN_CRC, IFN_CRC_REV), to provide faster
> > CRC generation.
> > One performs bit-forward and the other bit-reversed CRC computa
On Tue, Nov 12, 2024 at 2:32 AM Jeff Law wrote:
>
>
> On 11/9/24 12:44 PM, Mariam Arutunian wrote:
> > This patch adds a new compiler pass aimed at identifying naive CRC
> > implementations,
> > characterized by the presence of a loop calculating a CRC (polynomial
&
(optimize_crc_loop): New function.
(execute): Add optimize_crc_loop function call.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/gimple-crc-optimization.cc | 78 ++
1 file changed, 78 insertions(+)
diff --git a/gcc/gimple-crc-optimization.cc
s.h (make_pass_crc_optimization): New extern function
declaration.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/Makefile.in|1 +
gcc/common.opt | 10 +
gcc/common.opt.urls|3 +
gcc/doc/invoke.texi| 16 +-
gcc/gimple-
gcc/testsuite/gcc.target/aarch64/
* crc-builtin-pmul64.c: New test.
Signed-off-by: Mariam Arutunian
---
.../gcc.target/aarch64/crc-builtin-pmul64.c | 61 +++
1 file changed, 61 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/aarch64/crc-builtin-pmul64.c
diff
: Likewise.
* crc-crc32c-data8.c: Likewise.
Signed-off-by: Mariam Arutunian
Co-authored-by: Richard Sandiford
---
gcc/config/aarch64/aarch64-protos.h | 3 +
gcc/config/aarch64/aarch64-simd.md| 2 +-
gcc/config/aarch64/aarch64.cc | 131
gcc/testsuite/gcc.target/riscv/
* crc-builtin-zbc32.c: New file.
* crc-builtin-zbc64.c: Likewise.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
.../gcc.target/riscv/crc-builtin-zbc32.c | 21 ++
.../gcc.target/riscv/crc-builtin-zbc64.c | 66
public
and static.
(create_reversed_lfsr): New static function declaration.
(create_forward_lfsr): New static function declaration.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/Makefile.in|1 +
gcc/crc-verification.cc| 1299
.
* crc-CCIT-data16-zbc.c: Likewise.
* crc-CCIT-data16-zbkc.c: Likewise.
* crc-CCIT-data8-zbc.c: Likewise.
* crc-CCIT-data8-zbkc.c: Likewise.
* crc-coremark-16bitdata-zbc.c: Likewise.
* crc-coremark-16bitdata-zbkc.c: Likewise.
Signed-off-by: Mariam Arutunian
: Likewise.
* crc-8-pclmul.c: Likewise.
* crc-9-pclmul.c: Likewise.
* crc-CCIT-data16-pclmul.c: Likewise.
* crc-CCIT-data8-pclmul.c: Likewise.
* crc-coremark-16bitdata-pclmul.c: Likewise.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/config/i386/i386-protos.h
-target32.c
* gcc.dg/crc-builtin-target64.c
Signed-off-by: Mariam Arutunian
Co-authored-by: Joern Rennecke
Mentored-by: Jeff Law
---
gcc/builtin-types.def | 20 +++
gcc/builtins.cc | 114 +-
gcc/builtins.def
internal functions.
* optabs.def (crc_optab, crc_rev_optab): New optabs.
Signed-off-by: Mariam Arutunian
Co-authored-by: Joern Rennecke
Mentored-by: Jeff Law
---
gcc/doc/md.texi | 14 ++
gcc/expr.cc | 372
gcc/expr.h | 6 +
gcc
Hello,
This patch series is a revised version of the following:
https://gcc.gnu.org/pipermail/gcc-patches/2024-November/668229.html.
In this version:
- Patch 09/12 has been updated with comments provided by Matevos, which
were missing in the previously submitted series.
- Patch 06/12 in
* sym-exec-expression-is-a-helper.h: New file.
* sym-exec-expression.cc: New file.
* sym-exec-expression.h: New file.
* sym-exec-state.cc: New file.
* sym-exec-state.h: New file.
Signed-off-by: Mariam Arutunian
Author: Matevos Mehrabyan
Co-authored-by: Mariam Arutunian
Mentored-by
-pmul.c: Likewise.
* crc-coremark-16bitdata-pmul.c: Likewise.
* crc-crc32-data16.c: Likewise.
* crc-crc32-data32.c: Likewise.
* crc-crc32-data8.c: Likewise.
* crc-crc32c-data16.c: Likewise.
* crc-crc32c-data32.c: Likewise.
* crc-crc32c-data8.c: Likewise.
Signed-off-by: Mariam
(optimize_crc_loop): New function.
(execute): Add optimize_crc_loop function call.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/gimple-crc-optimization.cc | 78 ++
1 file changed, 78 insertions(+)
diff --git a/gcc/gimple-crc-optimization.cc
s.h (make_pass_crc_optimization): New extern function
declaration.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/Makefile.in|1 +
gcc/common.opt | 10 +
gcc/common.opt.urls|3 +
gcc/doc/invoke.texi| 16 +-
gcc/gimple-
: Likewise.
* crc-8-pclmul.c: Likewise.
* crc-9-pclmul.c: Likewise.
* crc-CCIT-data16-pclmul.c: Likewise.
* crc-CCIT-data8-pclmul.c: Likewise.
* crc-coremark-16bitdata-pclmul.c: Likewise.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/config/i386/i386-protos.h
public
and static.
(create_reversed_lfsr): New static function declaration.
(create_forward_lfsr): New static function declaration.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/Makefile.in|1 +
gcc/crc-verification.cc| 1298
gcc/testsuite/gcc.target/aarch64/
* crc-builtin-pmul64.c: New test.
Signed-off-by: Mariam Arutunian
---
.../gcc.target/aarch64/crc-builtin-pmul64.c | 61 +++
1 file changed, 61 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/aarch64/crc-builtin-pmul64.c
diff
gcc/testsuite/gcc.target/riscv/
* crc-builtin-zbc32.c: New file.
* crc-builtin-zbc64.c: Likewise.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
.../gcc.target/riscv/crc-builtin-zbc32.c | 21 ++
.../gcc.target/riscv/crc-builtin-zbc64.c | 66
.
* crc-CCIT-data16-zbc.c: Likewise.
* crc-CCIT-data16-zbkc.c: Likewise.
* crc-CCIT-data8-zbc.c: Likewise.
* crc-CCIT-data8-zbkc.c: Likewise.
* crc-coremark-16bitdata-zbc.c: Likewise.
* crc-coremark-16bitdata-zbkc.c: Likewise.
Signed-off-by: Mariam Arutunian
-off-by: Mariam Arutunian
Co-authored-by: Joern Rennecke
Mentored-by: Jeff Law
---
gcc/builtin-types.def | 20 +++
gcc/builtins.cc | 114 +-
gcc/builtins.def | 21 +++-
gcc/builtins.h
internal functions.
* optabs.def (crc_optab, crc_rev_optab): New optabs.
Signed-off-by: Mariam Arutunian
Co-authored-by: Joern Rennecke
Mentored-by: Jeff Law
---
gcc/doc/md.texi | 14 ++
gcc/expr.cc | 372
gcc/expr.h | 6 +
gcc
Hello,
This patch series is a revised version of the following:
https://gcc.gnu.org/pipermail/gcc-patches/2024-October/665855.html .
I have addressed the feedback on the emit_crc function in patch 01/12, and
Matevos has provided additional comments for patch 09/12.
Thanks,
Mariam
On Sat, Oct 19, 2024, 17:58 Jeff Law wrote:
>
>
> On 10/18/24 9:00 AM, Mariam Arutunian wrote:
> > Hello,
> >
> > This patch series is a respin of the following: https://gcc.gnu.org/
> > pipermail/gcc-patches/2024-September/662961.html <https://gcc.gnu
public
and static.
(create_reversed_lfsr): New static function declaration.
(create_forward_lfsr): New static function declaration.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/Makefile.in|1 +
gcc/crc-verification.cc| 1298
internal functions.
* optabs.def (crc_optab, crc_rev_optab): New optabs.
Signed-off-by: Mariam Arutunian
Co-authored-by: Joern Rennecke
Mentored-by: Jeff Law
---
gcc/doc/md.texi | 14 ++
gcc/expr.cc | 371
gcc/expr.h | 6 +
gcc
* sym-exec-expression-is-a-helper.h: New file.
* sym-exec-expression.cc: New file.
* sym-exec-expression.h: New file.
* sym-exec-state.cc: New file.
* sym-exec-state.h: New file.
Signed-off-by: Mariam Arutunian
Author: Matevos Mehrabyan
Co-authored-by: Mariam Arutunian
Mentored-by
(optimize_crc_loop): New function.
(execute): Add optimize_crc_loop function call.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/gimple-crc-optimization.cc | 78 ++
1 file changed, 78 insertions(+)
diff --git a/gcc/gimple-crc-optimization.cc
gcc/testsuite/gcc.target/aarch64/
* crc-builtin-pmul64.c: New test.
Signed-off-by: Mariam Arutunian
---
.../gcc.target/aarch64/crc-builtin-pmul64.c | 61 +++
1 file changed, 61 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/aarch64/crc-builtin-pmul64.c
diff
.
* crc-CCIT-data16-zbc.c: Likewise.
* crc-CCIT-data16-zbkc.c: Likewise.
* crc-CCIT-data8-zbc.c: Likewise.
* crc-CCIT-data8-zbkc.c: Likewise.
* crc-coremark-16bitdata-zbc.c: Likewise.
* crc-coremark-16bitdata-zbkc.c: Likewise.
Signed-off-by: Mariam Arutunian
-pmul.c: Likewise.
* crc-coremark-16bitdata-pmul.c: Likewise.
* crc-crc32-data16.c: Likewise.
* crc-crc32-data32.c: Likewise.
* crc-crc32-data8.c: Likewise.
* crc-crc32c-data16.c: Likewise.
* crc-crc32c-data32.c: Likewise.
* crc-crc32c-data8.c: Likewise.
Signed-off-by: Mariam
-off-by: Mariam Arutunian
Co-authored-by: Joern Rennecke
Mentored-by: Jeff Law
---
gcc/builtin-types.def | 20 +++
gcc/builtins.cc | 114 +-
gcc/builtins.def | 21 +++-
gcc/builtins.h
gcc/testsuite/gcc.target/riscv/
* crc-builtin-zbc32.c: New file.
* crc-builtin-zbc64.c: Likewise.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
.../gcc.target/riscv/crc-builtin-zbc32.c | 21 ++
.../gcc.target/riscv/crc-builtin-zbc64.c | 66
s.h (make_pass_crc_optimization): New extern function
declaration.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/Makefile.in|1 +
gcc/common.opt | 10 +
gcc/common.opt.urls|3 +
gcc/doc/invoke.texi| 16 +-
gcc/gimple-
: Likewise.
* crc-8-pclmul.c: Likewise.
* crc-9-pclmul.c: Likewise.
* crc-CCIT-data16-pclmul.c: Likewise.
* crc-CCIT-data8-pclmul.c: Likewise.
* crc-coremark-16bitdata-pclmul.c: Likewise.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/config/i386/i386-protos.h
Hello,
This patch series is a respin of the following:
https://gcc.gnu.org/pipermail/gcc-patches/2024-September/662961.html.
Although I sent [PATCH v4 00/12] to the mailing list, it didn’t appear in
the archives, so I've provided the link to the first patch ([PATCH v4
01/12]). The original patch s
On Wed, Oct 9, 2024 at 7:45 AM Jeff Law wrote:
>
>
> On 10/8/24 4:52 AM, Mariam Arutunian wrote:
> >
> >
> > On Sun, Sep 29, 2024 at 9:08 PM Jeff Law > <mailto:jeffreya...@gmail.com>> wrote:
> >
> >
> >
> > On 9/13/24 5
On Sun, Sep 29, 2024 at 9:08 PM Jeff Law wrote:
>
>
> On 9/13/24 5:05 AM, Mariam Arutunian wrote:
> > Add two new internal functions (IFN_CRC, IFN_CRC_REV), to provide faster
> > CRC generation.
> > One performs bit-forward and the other bit-reversed CRC computa
(optimize_crc_loop): New function.
(execute): Add optimize_crc_loop function call.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/gimple-crc-optimization.cc | 78 ++
1 file changed, 78 insertions(+)
diff --git a/gcc/gimple-crc-optimization.cc
* sym-exec-expression-is-a-helper.h: New file.
* sym-exec-expression.cc: New file.
* sym-exec-expression.h: New file.
* sym-exec-state.cc: New file.
* sym-exec-state.h: New file.
Signed-off-by: Mariam Arutunian
Author: Matevos Mehrabyan
Co-authored-by: Mariam Arutunian
Mentored-by: Jeff Law
-state.h (is_bit_vector): Reorder, make the function public
and static.
(create_reversed_lfsr): New static function declaration.
(create_forward_lfsr): New static function declaration.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/Makefile.in|1 +
gcc/crc
-pmul.c: Likewise.
* crc-coremark-16bitdata-pmul.c: Likewise.
* crc-crc32-data16.c: Likewise.
* crc-crc32-data32.c: Likewise.
* crc-crc32-data8.c: Likewise.
* crc-crc32c-data16.c: Likewise.
* crc-crc32c-data32.c: Likewise.
* crc-crc32c-data8.c: Likewise.
Signed-off-by: Mariam
On Thu, Aug 22, 2024 at 1:19 PM Richard Biener
wrote:
> On Fri, Aug 2, 2024 at 6:15 PM Mariam Arutunian
> wrote:
> >
> > After the loop exit an internal function call (CRC, CRC_REV) is added,
> > and its result is assigned to the output CRC variable (the variable
>
gcc/testsuite/gcc.target/aarch64/
* crc-builtin-pmul64.c: New test.
Signed-off-by: Mariam Arutunian
---
.../gcc.target/aarch64/crc-builtin-pmul64.c | 61 +++
1 file changed, 61 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/aarch64/crc-builtin-pmul64.c
diff
: Likewise.
* crc-8-pclmul.c: Likewise.
* crc-9-pclmul.c: Likewise.
* crc-CCIT-data16-pclmul.c: Likewise.
* crc-CCIT-data8-pclmul.c: Likewise.
* crc-coremark-16bitdata-pclmul.c: Likewise.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/config/i386/i386-protos.h
var.
* tree-pass.h (make_pass_crc_optimization): New extern function
declaration.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/Makefile.in|1 +
gcc/common.opt | 10 +
gcc/common.opt.urls|3 +
gcc/doc/invoke.texi|
-off-by: Mariam Arutunian
Co-authored-by: Joern Rennecke
Mentored-by: Jeff Law
---
gcc/builtin-types.def | 20 +++
gcc/builtins.cc | 114 +-
gcc/builtins.def | 21 +++-
gcc/builtins.h
: Mariam Arutunian
Mentored-by: Jeff Law
---
gcc/config/riscv/bitmanip.md | 63 +++
gcc/config/riscv/iterators.md | 6 +
gcc/config/riscv/riscv-protos.h | 3 +
gcc/config/riscv/riscv.cc | 155 ++
gcc/config
gcc/testsuite/gcc.target/riscv/
* crc-builtin-zbc32.c: New file.
* crc-builtin-zbc64.c: Likewise.
Signed-off-by: Mariam Arutunian
Mentored-by: Jeff Law
---
.../gcc.target/riscv/crc-builtin-zbc32.c | 21 ++
.../gcc.target/riscv/crc-builtin-zbc64.c | 66
internal functions.
* optabs.def (crc_optab, crc_rev_optab): New optabs.
Signed-off-by: Mariam Arutunian
Co-authored-by: Joern Rennecke
Mentored-by: Jeff Law
---
gcc/doc/md.texi | 14 ++
gcc/expr.cc | 371
gcc/expr.h | 6 +
gcc
On Sun, Aug 25, 2024 at 9:41 PM Jeff Law wrote:
>
>
> On 7/26/24 12:06 PM, Mariam Arutunian wrote:
> >If the target is ZBC or ZBKC, it uses clmul instruction for the CRC
> > calculation.
> > Otherwise, if the target is ZBKB, generates table-based CRC, but for
&
On Tue, Aug 27, 2024 at 12:25 PM Richard Biener
wrote:
> On Mon, Aug 26, 2024 at 5:26 PM Matevos Mehrabyan
> wrote:
> >
> >
> >
> > On Mon, Aug 26, 2024 at 2:44 AM Jeff Law wrote:
> >>
> >>
> >>
> >> On 8/20/24 5:41 AM, Richard Biener wrote:
> >>
> >> >
> >> > So the store-merging variant IIRC
On Fri, Aug 23, 2024, 15:03 Richard Biener
wrote:
> On Fri, Aug 23, 2024 at 9:55 AM Mariam Arutunian
> wrote:
> >
> >
> > On Wed, Aug 21, 2024 at 5:56 PM Richard Sandiford <
> richard.sandif...@arm.com> wrote:
> >>
> >> Mariam Arutunian wri
On Wed, Aug 21, 2024 at 5:56 PM Richard Sandiford
wrote:
> Mariam Arutunian writes:
> > This patch introduces two new expanders for the aarch64 backend,
> > dedicated to generate optimized code for CRC computations.
> > The new expanders are designed to leverage specific
I sent the new version and added you as a co-author.
Thanks,
Mariam
On Fri, Aug 16, 2024 at 7:25 PM Mariam Arutunian
wrote:
>
>
> On Fri, Aug 9, 2024 at 7:22 PM Richard Sandiford <
> richard.sandif...@arm.com> wrote:
>
>> Sorry again for the slow review. :(
>&g
-pmul.c: Likewise.
* crc-coremark-16bitdata-pmul.c: Likewise.
* crc-crc32-data16.c: Likewise.
* crc-crc32-data32.c: Likewise.
* crc-crc32-data8.c: Likewise.
* crc-crc32c-data16.c: Likewise.
* crc-crc32c-data32.c: Likewise.
* crc-crc32c-data8.c: Likewise.
Signed-off-by: Mariam
versed version below:
>
> Mariam Arutunian writes:
> > [...]
> > diff --git a/gcc/config/aarch64/aarch64.cc
> b/gcc/config/aarch64/aarch64.cc
> > index ee12d8897a8..546a379fd74 100644
> > --- a/gcc/config/aarch64/aarch64.cc
> > +++ b/gcc/config/aarch64/aarch64.cc
> &
On Fri, Aug 2, 2024 at 2:12 PM Richard Biener
wrote:
> On Wed, Jul 31, 2024 at 10:15 AM Mariam Arutunian
> wrote:
> >
> > This patch adds a new compiler pass aimed at identifying naive CRC
> implementations,
> > characterized by the presence of a loop calculati
(get_data): New function.
(optimize_crc_loop): Likewise.
(build_polynomial_without_1): Likewise.
(execute): Add optimize_crc_loop function call.
Signed-off-by: Mariam Arutunian
diff --git a/gcc/gimple-crc-optimization.cc b/gcc/gimple-crc-optimization.cc
index bd84d553a60..4de383419a0
: New file.
* condition.h: New file.
* expression-is-a-helper.h: New file.
* expression.cc: New file.
* expression.h: New file.
* state.cc: New file.
* state.h: New file.
Signed-off-by: Mariam Arutunian
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 0
ion.
(enable_fdo_optimizations): Enable gimple-crc-optimization.
* passes.def (pass_crc_optimization): Add new pass.
* timevar.def (TV_GIMPLE_CRC_OPTIMIZATION): New timevar.
* tree-pass.h (make_pass_crc_optimization): New extern function
declaration.
Signed-off-by: Mariam Arutunian
diff --
.
* crc-crc32c-data16.c: Likewise.
* crc-crc32c-data32.c: Likewise.
* crc-crc32c-data8.c: Likewise.
Signed-off-by: Mariam Arutunian
diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h
index 1d3f94c813e..7c6bf9d2c71 100644
--- a/gcc/config
-coremark-16bitdata-pclmul.c: Likewise.
Signed-off-by: Mariam Arutunian
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index dbc861fb1ea..845a5dcd9ab 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -288,6 +288,8 @@ extern void
-16bitdata-zbc.c: Likewise.
* crc-coremark-16bitdata-zbkc.c: Likewise.
Signed-off-by: Mariam Arutunian
diff --git a/gcc/config/riscv/bitmanip.md b/gcc/config/riscv/bitmanip.md
index 8769a6b818b..9683ac48ef6 100644
--- a/gcc/config/riscv/bitmanip.md
+++ b/gcc/config/riscv/bitmanip.md
* gcc.dg/crc-builtin-rev-target64.c
* gcc.dg/crc-builtin-target32.c
* gcc.dg/crc-builtin-target64.c
Signed-off-by: Mariam Arutunian
diff --git a/gcc/builtin-types.def b/gcc/builtin-types.def
index c97d6bad1de..a0c4b8b9ca6 100644
--- a/gcc/builtin-types.def
.
(direct_crc_optab_supported_p): Likewise.
(expand_crc_optab_fn): New function
* internal-fn.def (CRC, CRC_REV): New internal functions.
* optabs.def (crc_optab, crc_rev_optab): New optabs.
Signed-off-by: Mariam Arutunian
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index
On Sat, Jun 8, 2024 at 3:41 PM Richard Sandiford
wrote:
> Mariam Arutunian writes:
> > This patch introduces two new expanders for the aarch64 backend,
> > dedicated to generate optimized code for CRC computations.
> > The new expanders are designed to leverage specific
-16bitdata-pmul.c: Likewise.
* crc-crc32-data16.c: Likewise.
* crc-crc32-data32.c: Likewise.
* crc-crc32-data8.c: Likewise.
* crc-crc32c-data16.c: Likewise.
* crc-crc32c-data32.c: Likewise.
* crc-crc32c-data8.c: Likewise.
Signed-off-by: Mariam Arutunian
diff --git a/gcc/config
On Sun, Jun 9, 2024 at 2:00 AM Jeff Law wrote:
>
>
> On 5/29/24 5:12 AM, Mariam Arutunian wrote:
>
> >
> > IIRC we looked at the problem of canonicalizing the loop into a form
> > where we didn't necessarily have conditional blocks, instead we had
&
On Sat, Jun 8, 2024 at 3:41 PM Richard Sandiford
wrote:
> Mariam Arutunian writes:
> > This patch introduces two new expanders for the aarch64 backend,
> > dedicated to generate optimized code for CRC computations.
> > The new expanders are designed to leverage specific
On Sun, Jun 9, 2024 at 1:48 AM Jeff Law wrote:
>
>
> On 6/4/24 7:41 AM, Mariam Arutunian wrote:
> >/Mariam, your thoughts on whether or not those two phases could handle a
> > loop with two CRC calculations inside, essentially creating two calls to
On Sat, Jun 8, 2024, 09:53 Richard Sandiford
wrote:
> Thanks a lot for doing this! It's a really nice series.
>
Thank you for your positive feedback and for your review and suggestions on
the patch series.
Just had a comment on the long division helper:
>
> Mariam
Sorry for the late response; somehow, I didn't receive the last few messages.
>>* Am 30.05.2024 um 00:31 schrieb Jeff Law >>:
*>> >>*
*>> >>>* On 5/28/24 1:01 AM, Richard Biener wrote:
*>>>>* On Fri, May 24, 2024 at 10:46 AM Mariam Aru
On Tue, May 28, 2024 at 8:20 AM Jeff Law wrote:
>
>
> On 5/24/24 2:42 AM, Mariam Arutunian wrote:
> > This patch adds a new compiler pass aimed at identifying naive CRC
> > implementations,
> > characterized by the presence of a loop calculating a CRC (polynomial
&
On Sat, May 25, 2024 at 10:32 PM Jeff Law wrote:
>
>
> On 5/24/24 2:41 AM, Mariam Arutunian wrote:
> > If the target is ZBC or ZBKC, it uses clmul instruction for the CRC
> > calculation.
> > Otherwise, if the target is ZBKB, generates table-based CRC,
> > but fo
On Sat, May 25, 2024 at 9:40 PM Jeff Law wrote:
>
>
> On 5/24/24 2:41 AM, Mariam Arutunian wrote:
> > Add two new internal functions (IFN_CRC, IFN_CRC_REV), to provide faster
> > CRC generation.
> > One performs bit-forward and the other bit-reversed CRC computa
implementations.
This would require a completely different algorithm than the one used for
bitwise implementations.
Thanks,
Mariam
On Sun, May 26, 2024 at 10:23 PM NightStrike wrote:
>
>
> On Fri, May 24, 2024, 04:42 Mariam Arutunian
> wrote:
>
>> Hello!
>> This pa
On Sat, May 25, 2024, 22:34 Jeff Law wrote:
>
>
> On 5/24/24 2:42 AM, Mariam Arutunian wrote:
> >gcc/testsuite/gcc.c-torture/compile/
> >
> > * crc-11.c: New test.
> > * crc-15.c: Likewise.
> > * crc-16.c: Likewise.
> > * crc
On Sat, May 25, 2024, 22:35 Jeff Law wrote:
>
>
> On 5/24/24 2:41 AM, Mariam Arutunian wrote:
> >gcc/testsuite/gcc.target/riscv/
> >
> > * crc-builtin-zbc32.c: New file.
> > * crc-builtin-zbc64.c: Likewise.
> OK once prerequisites are approved.
>
> jeff
>
Thank you.
>
.
(create_forward_lfsr): New static function declaration.
Signed-off-by: Mariam Arutunian
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index aab909c3510..1996a60078c 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1716,6 +1716,7 @@ OBJS = \
tree-iterator.o \
tree-logical-location.o \
tree
ip.cc.
* tree-ssa-loop-manip.cc (destroy_loop): Add, move function from
tree-loop-distribution.cc.
* tree-ssa-loop-manip.h (destroy_loop): Add extern function declaration.
Signed-off-by: Mariam Arutunian
diff --git a/gcc/gimple-crc-optimization.cc b/gcc/gimple-crc-optimization.cc
index 039506
def (TV_GIMPLE_CRC_OPTIMIZATION): New timevar.
* tree-pass.h (make_pass_crc_optimization): New extern function
declaration.
Signed-off-by: Mariam Arutunian
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index a7f15694c34..e9e2ecc3a17 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -171
: Likewise.
* crc-8-pclmul.c: Likewise.
* crc-9-pclmul.c: Likewise.
* crc-CCIT-data16-pclmul.c: Likewise.
* crc-CCIT-data8-pclmul.c: Likewise.
* crc-coremark-16bitdata-pclmul.c: Likewise.
Signed-off-by: Mariam Arutunian
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386
(8), crc(7), ... crc(1), crc(0) ^ 1
Co-authored-by: Mariam Arutunian
gcc/
* Makefile.in (OBJS): Add sym-exec/expression.o,
sym-exec/state.o, sym-exec/condition.o.
* configure (sym-exec): New subdir.
gcc/sym-exec/
* condition.cc: New file.
* condition.h: New file.
* expre
gcc/testsuite/gcc.target/aarch64/
* crc-builtin-pmul64.c: New test.
Signed-off-by: Mariam Arutunian
diff --git a/gcc/testsuite/gcc.target/aarch64/crc-builtin-pmul64.c b/gcc/testsuite/gcc.target/aarch64/crc-builtin-pmul64.c
new file mode 100644
index 000..d8bb1724a65
--- /dev/null
gcc/testsuite/gcc.target/riscv/
* crc-builtin-zbc32.c: New file.
* crc-builtin-zbc64.c: Likewise.
Signed-off-by: Mariam Arutunian
diff --git a/gcc/testsuite/gcc.target/riscv/crc-builtin-zbc32.c b/gcc/testsuite/gcc.target/riscv/crc-builtin-zbc32.c
new file mode 100644
index 000
-target32.c
* gcc.c-torture/compile/crc-builtin-target64.c
Signed-off-by: Mariam Arutunian
diff --git a/gcc/builtin-types.def b/gcc/builtin-types.def
index c97d6bad1de..a0c4b8b9ca6 100644
--- a/gcc/builtin-types.def
+++ b/gcc/builtin-types.def
@@ -829,6 +829,26 @@ DEF_FUNCTION_TYPE_3
.
* crc-CCIT-data8-pmul.c: Likewise.
* crc-coremark-16bitdata-pmul.c: Likewise.
* crc-crc32-data16.c: New test.
* crc-crc32-data32.c: Likewise.
* crc-crc32-data8.c: Likewise.
Signed-off-by: Mariam Arutunian diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64
: Likewise.
* crc-coremark-16bitdata-zbc.c: Likewise.
Signed-off-by: Mariam Arutunian
diff --git a/gcc/config/riscv/bitmanip.md b/gcc/config/riscv/bitmanip.md
index 8769a6b818b..c98d451f404 100644
--- a/gcc/config/riscv/bitmanip.md
+++ b/gcc/config/riscv/bitmanip.md
@@ -973,3 +973,66
-off-by: Mariam Arutunian
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index 5730bda80dc..be68ef860f9 100644
--- a/gcc/doc/md.texi
+++ b/gcc/doc/md.texi
@@ -8557,6 +8557,20 @@ operand 2, greater than operand 2 or is unordered with operand 2.
This pattern is not allowed to @code{FAIL}.
+@cindex
1 - 100 of 101 matches
Mail list logo