testsuite: Add a -O2 -fgimple testcase next to the -O2 -fno-tree-dse one [PR93820]
authorJakub Jelinek <jakub@redhat.com>
Wed, 26 Feb 2020 09:58:13 +0000 (10:58 +0100)
committerJakub Jelinek <jakub@redhat.com>
Wed, 26 Feb 2020 09:58:13 +0000 (10:58 +0100)
2020-02-26  Jakub Jelinek  <jakub@redhat.com>

PR tree-optimization/93820
* gcc.dg/pr93820-2.c: New test.

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr93820-2.c [new file with mode: 0644]

index 53a2a4ca9762075c208398e782fbaf06fb88c212..35715adbe5206708df210594f2b5ea1487abab8e 100644 (file)
@@ -1,5 +1,8 @@
 2020-02-26  Jakub Jelinek  <jakub@redhat.com>
 
+       PR tree-optimization/93820
+       * gcc.dg/pr93820-2.c: New test.
+
        PR tree-optimization/93820
        * gcc.dg/pr93820.c: New test.
 
diff --git a/gcc/testsuite/gcc.dg/pr93820-2.c b/gcc/testsuite/gcc.dg/pr93820-2.c
new file mode 100644 (file)
index 0000000..be5d368
--- /dev/null
@@ -0,0 +1,30 @@
+/* PR tree-optimization/93820 */
+/* { dg-do run } */
+/* { dg-options "-O2 -fgimple" } */
+
+typedef int v4si __attribute__((vector_size(4 * sizeof (int))));
+int a[10];
+
+void __GIMPLE (ssa,startwith("store-merging"))
+foo (int *p)
+{
+  int _2;
+  __BB(2):
+  _2 = *p_1(D);
+  a[6] = _2;
+  a[4] = 1;
+  __MEM <v4si> ((int *)&a + _Literal (int *) 16) = _Literal (v4si) { 0, 0, 0, 0 };
+  a[3] = 0;
+  return;
+}
+
+int
+main ()
+{
+  int i = 0;
+  foo (&i);
+  for (i = 0; i < 10; i++)
+    if (a[i])
+      __builtin_abort ();
+  return 0;
+}