aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr77445-2.c10
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c7
3 files changed, 19 insertions, 5 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1adb751..0272bbe 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2018-12-06 Jeff Law <law@redhat.com>
+
+ PR testsuite/86540
+ * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Skip the post switch conversion
+ tests on aarch64.
+ * gcc.dg/tree-ssa/pr77445-2.c: Similarly.
+
2018-12-06 David Malcolm <dmalcolm@redhat.com>
PR c++/85110
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr77445-2.c b/gcc/testsuite/gcc.dg/tree-ssa/pr77445-2.c
index eecfc4b..c5d567d 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr77445-2.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr77445-2.c
@@ -118,10 +118,14 @@ enum STATES FMS( u8 **in , u32 *transitions) {
/* The profile is not updated perfectly because it is inconsitent from
profile estimation stage. But the number of inconsistencies should not
- increase much. */
+ increase much.
+
+ aarch64 has the highest CASE_VALUES_THRESHOLD in GCC. It's high enough
+ to change decisions in switch expansion which in turn can expose new
+ jump threading opportunities. Skip the later tests on aarch64. */
/* { dg-final { scan-tree-dump "Jumps threaded: 1\[1-9\]" "thread1" } } */
/* { dg-final { scan-tree-dump-times "Invalid sum" 3 "thread1" } } */
/* { dg-final { scan-tree-dump-not "not considered" "thread1" } } */
/* { dg-final { scan-tree-dump-not "not considered" "thread2" } } */
-/* { dg-final { scan-tree-dump-not "not considered" "thread3" } } */
-/* { dg-final { scan-tree-dump-not "not considered" "thread4" } } */
+/* { dg-final { scan-tree-dump-not "not considered" "thread3" { target { ! aarch64*-*-* } } } } */
+/* { dg-final { scan-tree-dump-not "not considered" "thread4" { target { ! aarch64*-*-* } } } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c
index e395de2..f833aa4 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c
@@ -3,8 +3,11 @@
/* { dg-final { scan-tree-dump "Jumps threaded: 16" "thread1" } } */
/* { dg-final { scan-tree-dump "Jumps threaded: 9" "thread2" } } */
/* { dg-final { scan-tree-dump "Jumps threaded: 1" "dom2" } } */
-/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom3" } } */
-/* { dg-final { scan-tree-dump-not "Jumps threaded" "vrp2" } } */
+/* aarch64 has the highest CASE_VALUES_THRESHOLD in GCC. It's high enough
+ to change decisions in switch expansion which in turn can expose new
+ jump threading opportunities. Skip the later tests on aarch64. */
+/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom3" { target { ! aarch64*-*-* } } } } */
+/* { dg-final { scan-tree-dump-not "Jumps threaded" "vrp2" { target { ! aarch64*-*-* } } } } */
/* Most architectures get 3 threadable paths here, whereas aarch64 and
possibly others get 5. We really should rewrite threading tests to