PR119156 was fixed by g:f702b593e7268ab161053bafd097f1b09933b783.
This patch adds a test for it.

Tested on aarch64-linux-gnu & pushed as (hopefully) obvious.

Richard


gcc/testsuite/
        PR target/119156
        * gcc.target/aarch64/sve/pr119156_1.c: New test.
---
 gcc/testsuite/gcc.target/aarch64/sve/pr119156_1.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/pr119156_1.c

diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pr119156_1.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pr119156_1.c
new file mode 100644
index 00000000000..35a566887f1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pr119156_1.c
@@ -0,0 +1,15 @@
+/* { dg-options "-O2" } */
+
+#include <arm_sve.h>
+
+void inner_loop_029(double *restrict input, int64_t *restrict scale,
+                           double *restrict output, int64_t size) {
+    svbool_t p;
+    int64_t i = 0;
+    while (p = svwhilelt_b64(i, size), svptest_first(svptrue_b64(), p)) {
+        svst1(p, output+i, svld1(p, input+i));
+        i += svcntd();
+    }
+}
+
+/* { dg-final { scan-assembler-not {\tptest\t} } } */
-- 
2.43.0

Reply via email to