summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr42916.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr42916.c')
-rw-r--r--gcc/testsuite/gcc.dg/pr42916.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr42916.c b/gcc/testsuite/gcc.dg/pr42916.c
new file mode 100644
index 000000000..d32ba9488
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr42916.c
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+/* { dg-options "-O1 -funroll-loops -ftree-vectorize -fcompare-debug" } */
+
+int seed;
+
+static inline int hash(const char *str)
+{
+ int h = seed++;
+ int i = 12;
+ while (i--)
+ h += (h << 3) ^ *str++;
+ return h;
+}
+
+void f(const char *str, int *h)
+{
+ int i = 6;
+ while (i--)
+ *h++ = hash(str);
+}