https://gcc.gnu.org/g:a09c04dbcfd9b41f574461e344394bee05b1f196

commit r16-4602-ga09c04dbcfd9b41f574461e344394bee05b1f196
Author: Alex Coplan <[email protected]>
Date:   Thu Oct 23 16:06:22 2025 +0000

    testsuite: Add test for ICE fixed by r16-4571
    
    I recently ran into an ICE that was fixed by richi's
    r16-4571-g1ceda79ca5fe1a1a296624a98de8fd04958fbe55.
    
    This adds a testcase for that fix.
    
    gcc/testsuite/ChangeLog:
    
            * gcc.dg/torture/vect-permute-ice.c: New test.

Diff:
---
 gcc/testsuite/gcc.dg/torture/vect-permute-ice.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gcc/testsuite/gcc.dg/torture/vect-permute-ice.c 
b/gcc/testsuite/gcc.dg/torture/vect-permute-ice.c
new file mode 100644
index 000000000000..05a1da5d5d48
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/vect-permute-ice.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* This testcase triggered an ICE that was fixed by
+   g:1ceda79ca5fe1a1a296624a98de8fd04958fbe55.  */
+char *a;
+char c, e;
+_Bool f() {
+  int g, d = 0;
+  for (int h = 0; h < 128; h += 8) {
+    char *b = &a[h];
+    g = e * b[0] + c * b[1] + 2 * b[2] + 3 * b[3] + 4 * b[4] + 5 * b[5] +
+        6 * b[6] + 7 * b[7];
+    d += g;
+  }
+  return d;
+}

Reply via email to