diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1adb751cd34..0272bbe0605 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2018-12-06 Jeff Law + + 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 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 eecfc4b195a..c5d567dabdc 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 e395de26ec0..f833aa4351d 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