]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: add the case to cover the vectorization of A[(i+x)*stride] [PR114322]
authorHao Liu <hliu@os.amperecomputing.com>
Wed, 20 Mar 2024 09:37:01 +0000 (17:37 +0800)
committerHao Liu <hliu@os.amperecomputing.com>
Wed, 20 Mar 2024 09:38:32 +0000 (17:38 +0800)
This issues has been fixed by r14-9540-ge0e9499a in PR114151. Tested on
aarch64-linux-gnu.

gcc/testsuite/ChangeLog:

PR tree-optimization/114322
* gcc.dg/vect/pr114322.c: New testcase.

gcc/testsuite/gcc.dg/vect/pr114322.c [new file with mode: 0644]

diff --git a/gcc/testsuite/gcc.dg/vect/pr114322.c b/gcc/testsuite/gcc.dg/vect/pr114322.c
new file mode 100644 (file)
index 0000000..2642abf
--- /dev/null
@@ -0,0 +1,20 @@
+/* PR tree-optimization/114322 */
+/* { dg-do compile } */
+/* { dg-require-effective-target vect_int } */
+
+int
+foo (int *A, int *B, int x, int stride)
+{
+  int sum = 0;
+
+  if (stride > 1)
+    {
+      for (int i = 0; i < 1024; ++i)
+        sum += A[(i + x) * stride] + B[i];
+    }
+
+  return sum;
+}
+
+/* { dg-final { scan-tree-dump-not "failed: evolution of base is not affine." "vect" } } */
+/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" } } */