https://gcc.gnu.org/g:8e4120500e0cfc71956dc6569fe4ff00d2c20949

commit r15-6748-g8e4120500e0cfc71956dc6569fe4ff00d2c20949
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Thu Jan 9 22:04:58 2025 +0100

    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  <ja...@redhat.com>
    
            PR target/118362
            * gcc.c-torture/compile/pr118362.c: New test.
            * gcc.target/s390/pr118362.c: New test.

Diff:
---
 gcc/testsuite/gcc.c-torture/compile/pr118362.c | 19 +++++++++++++++++++
 gcc/testsuite/gcc.target/s390/pr118362.c       |  5 +++++
 2 files changed, 24 insertions(+)

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 000000000000..b01c46ad3a73
--- /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 000000000000..d2fdacbf8f42
--- /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"

Reply via email to