aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2019-07-03 16:40:17 +0000
committerWilco Dijkstra <wilco@gcc.gnu.org>2019-07-03 16:40:17 +0000
commite5833b56497c5cf04034ce68d6b9c73c2600158b (patch)
tree4ccc7002974d845a48c2b3907c0d24f14038c0d0 /gcc
parenta35d6e9f2176f066837387ef4916ffbd1dae0828 (diff)
downloadgcc-e5833b56497c5cf04034ce68d6b9c73c2600158b.zip
gcc-e5833b56497c5cf04034ce68d6b9c73c2600158b.tar.gz
gcc-e5833b56497c5cf04034ce68d6b9c73c2600158b.tar.bz2
Fix store merging tests on Arm
Fix the failing store merging test on Arm. Aligning variables fixes a few cases, otherwise disable the test on Arm. All store merging tests now pass. Committed as obvious. testsuite/ * gcc.dg/store_merging_27.c: Fix test for Arm. * gcc.dg/store_merging_28.c: Likewise. * gcc.dg/store_merging_29.c: Likewise. * gcc.dg/tree-ssa/dump-6.c: Likewise. From-SVN: r273011
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.dg/store_merging_27.c2
-rw-r--r--gcc/testsuite/gcc.dg/store_merging_28.c2
-rw-r--r--gcc/testsuite/gcc.dg/store_merging_29.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/dump-6.c6
5 files changed, 13 insertions, 6 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 95db1ad..1695bab 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2019-07-03 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * gcc.dg/store_merging_27.c: Fix test for Arm.
+ * gcc.dg/store_merging_28.c: Likewise.
+ * gcc.dg/store_merging_29.c: Likewise.
+ * gcc.dg/tree-ssa/dump-6.c: Likewise.
+
2019-07-03 Richard Biener <rguenther@suse.de>
PR middle-end/91069
diff --git a/gcc/testsuite/gcc.dg/store_merging_27.c b/gcc/testsuite/gcc.dg/store_merging_27.c
index a691368..d3cd117 100644
--- a/gcc/testsuite/gcc.dg/store_merging_27.c
+++ b/gcc/testsuite/gcc.dg/store_merging_27.c
@@ -18,7 +18,7 @@ bar (struct S *x)
int
main ()
{
- struct S s = {};
+ __attribute__((aligned(8))) struct S s = {};
s.buf[1] = 1;
s.buf[3] = 2;
bar (&s);
diff --git a/gcc/testsuite/gcc.dg/store_merging_28.c b/gcc/testsuite/gcc.dg/store_merging_28.c
index 95a0822..2d6cffc4 100644
--- a/gcc/testsuite/gcc.dg/store_merging_28.c
+++ b/gcc/testsuite/gcc.dg/store_merging_28.c
@@ -3,7 +3,7 @@
/* { dg-require-effective-target store_merge } */
/* { dg-options "-O2 -fno-ipa-icf -fdump-tree-store-merging-details" } */
/* { dg-final { scan-tree-dump-times "New sequence of \[24] stores to replace old one of 16 stores" 8 "store-merging" { target { i?86-*-* x86_64-*-* } } } } */
-/* { dg-final { scan-tree-dump-times "New sequence of \[24] stores to replace old one of 6 stores" 1 "store-merging" } } */
+/* { dg-final { scan-tree-dump-times "New sequence of \[24] stores to replace old one of 6 stores" 1 "store-merging" { target { ! arm*-*-* } } } } */
typedef struct S { char data[16]; } S;
void optimize_me (S);
diff --git a/gcc/testsuite/gcc.dg/store_merging_29.c b/gcc/testsuite/gcc.dg/store_merging_29.c
index 777020f..6b32aa9 100644
--- a/gcc/testsuite/gcc.dg/store_merging_29.c
+++ b/gcc/testsuite/gcc.dg/store_merging_29.c
@@ -3,7 +3,7 @@
/* { dg-require-effective-target store_merge } */
/* { dg-options "-O2 -fdump-tree-store-merging-details" } */
/* { dg-final { scan-tree-dump "New sequence of 3 stores to replace old one of 6 stores" "store-merging" { target { le && { ! arm*-*-* } } } } } */
-/* { dg-final { scan-tree-dump "New sequence of \[34] stores to replace old one of 6 stores" "store-merging" { target { be || { arm*-*-* } } } } } */
+/* { dg-final { scan-tree-dump "New sequence of \[34] stores to replace old one of 6 stores" "store-merging" { target { be && { ! arm*-*-* } } } } } */
struct T { char a[1024]; };
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/dump-6.c b/gcc/testsuite/gcc.dg/tree-ssa/dump-6.c
index 3e09668..70659c0 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/dump-6.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/dump-6.c
@@ -5,7 +5,7 @@
{ dg-require-effective-target store_merge } */
-extern char a2[2];
+extern __attribute__((aligned(2))) char a2[2];
void f2 (void)
{
@@ -13,7 +13,7 @@ void f2 (void)
a2[1] = 0;
}
-extern char a4[4];
+extern __attribute__((aligned(4))) char a4[4];
void f4 (void)
{
@@ -23,7 +23,7 @@ void f4 (void)
a4[3] = 0;
}
-extern char a8[8];
+extern __attribute__((aligned(8))) char a8[8];
void f8 (void)
{