diff options
author | Jakub Jelinek <jakub@redhat.com> | 2025-01-09 22:04:58 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2025-01-09 22:04:58 +0100 |
commit | 8e4120500e0cfc71956dc6569fe4ff00d2c20949 (patch) | |
tree | f8d271e0718c0cd54cb29df0fb193507e579defd /gcc | |
parent | 21571cdd8355f2162910d40f2f72222d2dd4046f (diff) | |
download | gcc-8e4120500e0cfc71956dc6569fe4ff00d2c20949.zip gcc-8e4120500e0cfc71956dc6569fe4ff00d2c20949.tar.gz gcc-8e4120500e0cfc71956dc6569fe4ff00d2c20949.tar.bz2 |
s390: Add testcase for just fixed PR118362
On Thu, Jan 09, 2025 at 01:29:27PM +0100, Stefan Schulze Frielinghaus wrote:
> Optimization s390_constant_via_vgbm_p() should only apply to constant
> vectors which can be expressed by the hardware, i.e., which have a size
> of at most 16-bytes, similar as it is done for s390_constant_via_vgm_p()
> and s390_constant_via_vrepi_p().
>
> gcc/ChangeLog:
>
> PR target/118362
> * config/s390/s390.cc (s390_constant_via_vgbm_p): Allow at most
> 16-byte vectors.
> ---
> Bootstrap and regtest are still running. If both are successful, I
> will push this one promptly.
This was committed without a testcase, which IMHO shouldn't hurt.
2025-01-09 Jakub Jelinek <jakub@redhat.com>
PR target/118362
* gcc.c-torture/compile/pr118362.c: New test.
* gcc.target/s390/pr118362.c: New test.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr118362.c | 19 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/s390/pr118362.c | 5 |
2 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr118362.c b/gcc/testsuite/gcc.c-torture/compile/pr118362.c new file mode 100644 index 0000000..b01c46a --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr118362.c @@ -0,0 +1,19 @@ +/* PR target/118362 */ + +int a, b, c[18]; + +void +foo (void) +{ + for (int i = 0; i < 8; i++) + if (b) + { + c[i * 2 + 1] = a; + c[i * 2 + 2] = 200; + } + else + { + c[i * 2 + 1] = 1000000; + c[i * 2 + 2] = 200; + } +} diff --git a/gcc/testsuite/gcc.target/s390/pr118362.c b/gcc/testsuite/gcc.target/s390/pr118362.c new file mode 100644 index 0000000..d2fdacb --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/pr118362.c @@ -0,0 +1,5 @@ +/* PR target/118362 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -march=z14" } */ + +#include "../../gcc.c-torture/compile/pr118362.c" |