handling.
gcc/testsuite/ChangeLog:
* gcc.dg/vect/nodump-extractlast-1.c: New test.
Signed-off-by: Juergen Christ
---
.../gcc.dg/vect/nodump-extractlast-1.c| 21 ++
gcc/tree-vect-loop.cc | 22 ++-
2 files changed, 33
>
>
> > Am 09.09.2025 um 12:54 schrieb Juergen Christ :
> >
> > The length returned by vect_get_loop_len is REALLEN + BIAS, but was
> > assumed to be REALLEN - BIAS. If BIAS is -1, this leads to wrong
> > code.
> >
> > Bootstrapped and regteste
390/s390.md (clzsi2): Implement.
(ctzsi2): Implement.
gcc/testsuite/ChangeLog:
* gcc.dg/vect/pr109011-2.c: Fix expected outcome.
* gcc.dg/vect/pr109011-4.c: Fix expected outcome.
* gcc.target/s390/ffs-1.c: New test.
Signed-off-by: Juergen Christ
---
gcc/config/s
si2): Implement.
gcc/testsuite/ChangeLog:
* gcc.dg/vect/pr109011-2.c: Fix expected outcome.
* gcc.dg/vect/pr109011-4.c: Fix expected outcome.
* gcc.target/s390/ffs-1.c: New test.
Signed-off-by: Juergen Christ
Bootstrapped and regtested on s390. Ok for trunk?
---
gcc/config/s
Loop peeling and minimal loop vectorization threshold prevented loop
vectorization in these examples. Adjust parameters in the test to
make the test pass.
Tested on s390x. Okay for main and gcc15?
Signed-off-by: Juergen Christ
PR testsuite/121286
PR testsuite/121288
gcc
Implementation and tests for the standard reduction optabs.
Bootstrapped and regtested on s390. Ok for trunk?
Signed-off-by: Juergen Christ
gcc/ChangeLog:
* config/s390/vector.md (reduc_plus_scal_): Implement.
(reduc_plus_scal_v2df): Implement.
(reduc_plus_scal_v4sf
backends.
Signed-off-by: Juergen Christ
gcc/ChangeLog:
* config/s390/s390.cc (s390_option_override_internal): Remove override.
---
gcc/config/s390/s390.cc | 3 ---
1 file changed, 3 deletions(-)
diff --git a/gcc/config/s390/s390.cc b/gcc/config/s390/s390.cc
index de9c15c7bd42
Vectorization of int patterns requires 64bit long type (at least the
way the tests are coded). Fix this to only test for successful
vectoriation on 64bit targets.
Signed-off-by: Juergen Christ
gcc/testsuite/ChangeLog:
* gcc.target/s390/vector/pattern-avg-1.c: Fix on -m31
The new vector pattern tests used int128 without guard. This causes
failure on 31bit targets. Split the tests such that the tests
requiring 128 bit support are only executed on targets supporting
them.
Committed as obvious.
Signed-off-by: Juergen Christ
gcc/testsuite/ChangeLog
> On Wed, Jun 25, 2025 at 10:04:41AM +0200, Juergen Christ wrote:
> > On VXE targets, we can directly use the fp min/max instruction instead of
> > calling into libm for fmin/fmax etc.
> >
> > Provide fmin/fmax versions also for vectors even though it cannot be
> &g
> On 6/27/25 8:09 PM, Juergen Christ wrote:
> > s390 missed constant vector permutation cases based on the vector pack
> > instruction or changing the size of the vector elements during vector
> > merge. This enables some more patterns that do not need to load a
&g
.
* gcc.target/s390/vector/vec-perm-pack-1.c: New test.
Signed-off-by: Juergen Christ
---
gcc/config/s390/s390.cc | 169 +++-
.../gcc.target/s390/vector/vec-perm-merge-1.c | 242 ++
.../gcc.target/s390/vector/vec-perm-pack-1.c | 133 ++
3 files
.
* config/s390/vx-builtins.md (vec_umulh): Remove unspec.
(vec_smulh): Remove unspec.
gcc/testsuite/ChangeLog:
* gcc.target/s390/vector/pattern-avg-1.c: New test.
* gcc.target/s390/vector/pattern-mulh-1.c: New test.
Signed-off-by: Juergen Christ
---
gcc/config/s390/s390.md
insn.
(vfmax): Redefined to use new insn.
gcc/testsuite/ChangeLog:
* gcc.target/s390/fminmax-1.c: New test.
* gcc.target/s390/fminmax-2.c: New test.
Signed-off-by: Juergen Christ
---
gcc/config/s390/s390.md | 6 +-
gcc/config/s390/vector.md
> On Tue, Jun 24, 2025 at 09:49:01AM +0200, Juergen Christ wrote:
> > Some patterns that are detected by the autovectorizer can be supported by
> > s390. Add expanders such that autovectorization of these patterns works.
> >
> > Bootstrapped and regtested on s390.
> On Mon, Jun 23, 2025 at 09:51:13AM +0200, Juergen Christ wrote:
> > On VXE targets, we can directly use the fp min/max instruction instead of
> > calling into libm for fmin/fmax etc.
> >
> > Provide fmin/fmax versions also for vectors even though it cannot be
> &g
): New pattern.
(smul3_highpart): New pattern.
(umul3_highpart): New pattern.
gcc/testsuite/ChangeLog:
* gcc.target/s390/vector/pattern-avg-1.c: New test.
* gcc.target/s390/vector/pattern-mulh-1.c: New test.
Signed-off-by: Juergen Christ
---
gcc/config/s390/vector.md
-by: Juergen Christ
---
gcc/config/s390/s390.md | 3 +
gcc/config/s390/vector.md | 24 +++
gcc/testsuite/gcc.target/s390/fminmax-1.c | 77 +++
gcc/testsuite/gcc.target/s390/fminmax-2.c | 29 +
4 files changed, 133 insertions
suite/ChangeLog:
* gcc.target/s390/vector/vec-extract-1.c: Fix test on arch11.
* gcc.target/s390/vector/vec-set-1.c: Run test on arch11.
* gcc.target/s390/vector/vec-extract-2.c: New test.
Signed-off-by: Juergen Christ
---
gcc/config/s390/vector.md
/ChangeLog:
* gcc.target/s390/vector/vec-extract-1.c: New test.
* gcc.target/s390/vector/vec-set-1.c: New test.
Signed-off-by: Juergen Christ
---
gcc/config/s390/vector.md | 137 +++--
.../gcc.target/s390/vector/vec-extract-1.c| 190
/vector/vec-extract-1.c: New test.
* gcc.target/s390/vector/vec-set-1.c: New test.
Signed-off-by: Juergen Christ
---
gcc/config/s390/vector.md | 135 -
.../gcc.target/s390/vector/vec-extract-1.c| 190 ++
.../gcc.target/s390/vector/vec-set-1.c
ite/ChangeLog:
* gcc.target/s390/delegitimize.c: New test.
Bootstrapped and tested on s390x. Okay for trunk?
Signed-off-by: Juergen Christ
---
gcc/config/s390/s390.cc | 15 +
gcc/testsuite/gcc.target/s390/delegitimize.c | 22
2 fi
/ChangeLog:
* gcc.target/s390/ccusage.c: New test.
Signed-off-by: Juergen Christ
Bootstrapped and regression tested on s390. Okay for trunk?
Okay to backport to GCC 14?
---
gcc/config/s390/s390.cc | 2 +-
gcc/testsuite/gcc.target/s390/ccusage.c | 37
Am Tue, Aug 20, 2024 at 02:51:02PM +0200 schrieb Richard Biener:
> On Tue, Aug 20, 2024 at 11:16 AM Juergen Christ wrote:
> >
> > Am Tue, Aug 20, 2024 at 10:15:22AM +0200 schrieb Richard Biener:
> > > On Fri, Aug 9, 2024 at 2:58 PM Juergen Christ
> > > wrot
Am Tue, Aug 20, 2024 at 10:15:22AM +0200 schrieb Richard Biener:
> On Fri, Aug 9, 2024 at 2:58 PM Juergen Christ wrote:
> >
> > Am Thu, Aug 08, 2024 at 02:06:44PM +0200 schrieb Richard Biener:
> > > On Mon, Aug 5, 2024 at 4:02 PM Juergen Christ
> > > wrote:
>
Am Thu, Aug 08, 2024 at 02:06:44PM +0200 schrieb Richard Biener:
> On Mon, Aug 5, 2024 at 4:02 PM Juergen Christ wrote:
> >
> > Am Mon, Aug 05, 2024 at 01:00:31PM +0200 schrieb Richard Biener:
> > > On Fri, Aug 2, 2024 at 2:43 PM Juergen Christ
> > > wrote:
>
Am Mon, Aug 05, 2024 at 01:00:31PM +0200 schrieb Richard Biener:
> On Fri, Aug 2, 2024 at 2:43 PM Juergen Christ wrote:
> >
> > Do not convert floats to ints in multiple step if trapping math is
> > enabled. This might hide some inexact signals.
> >
> > Also
negative).
gcc/ChangeLog:
* tree-vect-stmts.cc (vectorizable_conversion): multi-step
float to int conversion only with trapping math and correct
sign.
Signed-off-by: Juergen Christ
Bootstrapped and tested on x84 and s390. Ok for trunk?
---
gcc/tree-vect-stmts.cc
-cast-single.c: New test.
* gcc.target/s390/vector/vec_pack_ufix_trunc_v2df.c: New test.
Bootstrapped and regtested on s390x. Ok for trunk?
Signed-off-by: Juergen Christ
---
gcc/config/s390/vector.md | 170 ++-
.../gcc.target/s390/vector/vec-cast-single.c
Am Tue, Apr 09, 2024 at 05:01:18PM +0200 schrieb Andreas Krebbel:
> On 4/9/24 16:31, Juergen Christ wrote:
> > Loop vectorizer can generate vector permutes with constant indexes
> > where all indexes are equal. Optimize this case to use vector
> > replicate instead of vector
new function.
* config/s390/vx-builtins.md (vec_splat): Change to...
(@vec_splat): ...this.
gcc/testsuite/ChangeLog:
* gcc.target/s390/vector/vec-expand-replicate.c: New test.
Bootstrapped and regtested on s390x. Ok for trunk?
Signed-off-by: Juergen Christ
---
gcc/config
Am Tue, Apr 09, 2024 at 11:51:00AM +0200 schrieb Stefan Schulze Frielinghaus:
> > +static bool expand_perm_as_replicate (const struct expand_vec_perm_d &d)
>^~~~
> Function names start on a new line.
Fixed
> > +{
> > + unsigned char i;
> > + unsigned char ele
new function.
* config/s390/vx-builtins.md (vec_splat): Change to...
(@vec_splat): ...this.
gcc/testsuite/ChangeLog:
* gcc.target/s390/vector/vec-expand-replicate.c: New test.
Bootstrapped and regtested on s390x. Ok for trunk?
Signed-off-by: Juergen Christ
---
gcc/config
: New test.
* gcc.target/s390/vector/slp-1.c: New test.
* gcc.target/s390/vector/slp-2.c: New test.
Signed-off-by: Juergen Christ
Bootstrapped and tested on s390x. Ok for master?
---
gcc/config/s390/s390.cc | 127 ++
gcc/testsuite/gcc.target
Hello,
I have added myself to write after approval and DCO.
Thanks,
Juergen Christ
ChangeLog:
* MAINTAINERS: Add myself to write after approval and DCO.
Signed-off-by: Juergen Christ
---
MAINTAINERS | 2 ++
1 file changed, 2 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
Am Fri, Feb 23, 2024 at 01:57:12PM + schrieb Sam James:
>
> Juergen Christ writes:
>
> > The emulation via word mode tries to perform integer arithmetic on floating
> > point values instead of floating point arithmetic. This leads to
> > mis-compilations.
>
&
/vector/partial/s390-vec-length-epil-run-3.c
gcc.target/s390/vector/partial/s390-vec-length-full-run-3.c
gcc/ChangeLog:
* tree-vect-stmts.cc (vectorizable_operation): Don't emulate floating
point vectors
Signed-off-by: Juergen Christ
---
gcc/tree-vect-stmts.cc | 3 ++-
1
Fixes various test failures on s390x.
gcc/ChangeLog:
* tree-vect-stmts.cc (vectorizable_operation): Don't emulate floating
point vectors
Signed-off-by: Juergen Christ
Regtested and bootstrapped on x86_64-pc-linux-gnu and
s390x-ibm-linux-gnu. Okay for trunk?
---
gcc
:
* gcc.target/s390/pr112753.c: New test.
Bootstrapped and tested on s390x.
Signed-off-by: Juergen Christ
---
gcc/config/s390/s390.cc | 4
gcc/testsuite/gcc.target/s390/pr112753.c | 8
2 files changed, 12 insertions(+)
create mode 100644 gcc/testsuite
cases.
(s390_md_asm_adjust): Implement flags output.
* config/s390/s390.md (ccstore4): Allow mask operands.
* doc/extend.texi: Document flags output.
gcc/testsuite/ChangeLog:
* gcc.target/s390/ccor.c: New test.
Signed-off-by: Juergen Christ
---
gcc/config/s390/s390
Issue two loads when using GPRs instead of one load-multiple.
Bootstrapped and tested on s390. OK for mainline?
gcc/ChangeLog:
* config/s390/s390.md: Split TImode loads.
gcc/testsuite/ChangeLog:
* gcc.target/s390/int128load.c: New test.
Signed-off-by: Juergen Christ
?
gcc/ChangeLog:
* config/s390/vector.md: (*vec_extract) Fix.
Signed-off-by: Juergen Christ
---
gcc/config/s390/vector.md | 14 --
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/gcc/config/s390/vector.md b/gcc/config/s390/vector.md
index 7d1eb36e8446..deda5990a035
/s390/htm-builtins-2.c: Fix.
Signed-off-by: Juergen Christ
---
gcc/testsuite/gcc.target/s390/htm-builtins-1.c | 4 +++-
gcc/testsuite/gcc.target/s390/htm-builtins-2.c | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/gcc/testsuite/gcc.target/s390/htm-builtins-1.c
b/gcc
:
* gcc.target/s390/vector/vec-cmpge.c: New test.
Signed-off-by: Juergen Christ
---
gcc/config/s390/vx-builtins.md | 11 +++
.../gcc.target/s390/vector/vec-cmpge.c | 18 ++
2 files changed, 29 insertions(+)
create mode 100644 gcc/testsuite
-off-by: Juergen Christ
---
gcc/config/s390/s390.cc | 11 ++-
.../gcc.target/s390/vector/vec-init-3.c | 17 +
2 files changed, 23 insertions(+), 5 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/s390/vector/vec-init-3.c
diff --git
45 matches
Mail list logo