re PR tree-optimization/83195 (pr82929.c scan for "Merging successful" fail)
authorJakub Jelinek <jakub@redhat.com>
Wed, 29 Nov 2017 17:38:54 +0000 (18:38 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 29 Nov 2017 17:38:54 +0000 (18:38 +0100)
PR tree-optimization/83195
* gcc.dg/pr82929.c: Don't check for "Merging successful" on arm.
* gcc.dg/pr82929-2.c: New test.

From-SVN: r255247

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

index bf1e37444ba8d0cbf2cd207a4e30f4ae7d16d935..55b160e44efbe6d1883e4d56db983392133da459 100644 (file)
@@ -1,3 +1,9 @@
+2017-11-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/83195
+       * gcc.dg/pr82929.c: Don't check for "Merging successful" on arm.
+       * gcc.dg/pr82929-2.c: New test.
+
 2017-11-29  Richard Biener  <rguenther@suse.de>
 
        PR tree-optimization/83202
diff --git a/gcc/testsuite/gcc.dg/pr82929-2.c b/gcc/testsuite/gcc.dg/pr82929-2.c
new file mode 100644 (file)
index 0000000..3442f91
--- /dev/null
@@ -0,0 +1,21 @@
+/* PR tree-optimization/82929 */
+/* { dg-do compile { target store_merge } } */
+/* { dg-options "-O2 -fdump-tree-store-merging" } */
+
+void
+foo (short *p, short *q, short *r)
+{
+  p = __builtin_assume_aligned (p, __alignof__ (int));
+  q = __builtin_assume_aligned (q, __alignof__ (int));
+  r = __builtin_assume_aligned (r, __alignof__ (int));
+  short a = q[0];
+  short b = q[1];
+  short c = ~a;
+  short d = r[0];
+  short e = r[1];
+  short f = ~b;
+  p[0] = c & d;
+  p[1] = e & f;
+}
+
+/* { dg-final { scan-tree-dump-times "Merging successful" 1 "store-merging" } } */
index afe9394ab318251611fc657d8f9ac33a88ffeaef..bb84f2b21a3ea216a4af69da8e172a71dc78eafb 100644 (file)
@@ -15,4 +15,4 @@ foo (short *p, short *q, short *r)
   p[1] = e & f;
 }
 
-/* { dg-final { scan-tree-dump-times "Merging successful" 1 "store-merging" } } */
+/* { dg-final { scan-tree-dump-times "Merging successful" 1 "store-merging" { target { ! arm*-*-* } } } } */