Hi,
On 6 February 2017 at 17:56, Richard Earnshaw (lists) <richard.earns...@arm.com> wrote: > On 06/02/17 15:54, Jiong Wang wrote: >> On 06/02/17 15:26, Jan Hubicka wrote: >>> I think it is not a regression, just the testcase if fragile and >>> depends on outcome >>> of ifcombine. It seems it was updated several time in the past. I am >>> not quite >>> sure what the test is testing. >> >> They are tring to make sure optimal stack adjustment decisions are made. >> >> Fix the testcases by disabling relevant transformation passes looks one >> way to >> me. The other way, might be more reliable, is we dump the decisions >> made during >> aarch64 frame layout if dump_file be true, and prefix the dump entry by >> function >> name to make it easier caught by dejagnu. We then scan rtl dump instead of >> instructions. >> >> > > We only care that the epilogue instructions appear at least once. So > for the epilogue we should probably just adjust the tests to use > scan-assembler, rather than scan-assembler-times. > Here is a patch do to that, it also updates tests 8, 10 and 12 which have similar matching patterns. OK? > R.
gcc/testsuite/ChangeLog: 2017-02-07 Christophe Lyon <christophe.l...@linaro.org> * gcc.target/aarch64/test_frame_1.c: Scan epilogue with scan-assembler instead of scan-assembler-times. * gcc.target/aarch64/test_frame_10.c: Likewise. * gcc.target/aarch64/test_frame_12.c: Likewise. * gcc.target/aarch64/test_frame_2.c: Likewise. * gcc.target/aarch64/test_frame_4.c: Likewise. * gcc.target/aarch64/test_frame_6.c: Likewise. * gcc.target/aarch64/test_frame_7.c: Likewise. * gcc.target/aarch64/test_frame_8.c: Likewise.
diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_1.c b/gcc/testsuite/gcc.target/aarch64/test_frame_1.c index e7c7255..f906b07 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_frame_1.c +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_1.c @@ -14,5 +14,5 @@ t_frame_pattern (test1, 200, ) t_frame_run (test1) /* { dg-final { scan-assembler-times "str\tx30, \\\[sp, -\[0-9\]+\\\]!" 2 } } */ -/* { dg-final { scan-assembler-times "ldr\tx30, \\\[sp\\\], \[0-9\]+" 2 } } */ +/* { dg-final { scan-assembler "ldr\tx30, \\\[sp\\\], \[0-9\]+" } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_10.c b/gcc/testsuite/gcc.target/aarch64/test_frame_10.c index e23a4a8..c195050 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_frame_10.c +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_10.c @@ -15,5 +15,5 @@ t_frame_pattern_outgoing (test10, 480, "x19", 24, a[8], a[9], a[10]) t_frame_run (test10) /* { dg-final { scan-assembler-times "stp\tx19, x30, \\\[sp, \[0-9\]+\\\]" 1 } } */ -/* { dg-final { scan-assembler-times "ldp\tx19, x30, \\\[sp, \[0-9\]+\\\]" 1 } } */ +/* { dg-final { scan-assembler "ldp\tx19, x30, \\\[sp, \[0-9\]+\\\]" } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_12.c b/gcc/testsuite/gcc.target/aarch64/test_frame_12.c index 3d7d359..62761e7 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_frame_12.c +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_12.c @@ -14,5 +14,5 @@ t_frame_run (test12) /* { dg-final { scan-assembler-times "sub\tsp, sp, #\[0-9\]+" 1 } } */ /* Check epilogue using no write-back. */ -/* { dg-final { scan-assembler-times "ldp\tx29, x30, \\\[sp, \[0-9\]+\\\]" 1 } } */ +/* { dg-final { scan-assembler "ldp\tx29, x30, \\\[sp, \[0-9\]+\\\]" } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_2.c b/gcc/testsuite/gcc.target/aarch64/test_frame_2.c index bbe201d..7e5df84 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_frame_2.c +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_2.c @@ -15,5 +15,5 @@ t_frame_run (test2) /* { dg-final { scan-assembler-times "stp\tx19, x30, \\\[sp, -\[0-9\]+\\\]!" 1 } } */ -/* { dg-final { scan-assembler-times "ldp\tx19, x30, \\\[sp\\\], \[0-9\]+" 1 } } */ +/* { dg-final { scan-assembler "ldp\tx19, x30, \\\[sp\\\], \[0-9\]+" } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_4.c b/gcc/testsuite/gcc.target/aarch64/test_frame_4.c index e32049e..ed13487 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_frame_4.c +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_4.c @@ -14,5 +14,5 @@ t_frame_pattern (test4, 400, "x19") t_frame_run (test4) /* { dg-final { scan-assembler-times "stp\tx19, x30, \\\[sp, -\[0-9\]+\\\]!" 1 } } */ -/* { dg-final { scan-assembler-times "ldp\tx19, x30, \\\[sp\\\], \[0-9\]+" 1 } } */ +/* { dg-final { scan-assembler "ldp\tx19, x30, \\\[sp\\\], \[0-9\]+" } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_6.c b/gcc/testsuite/gcc.target/aarch64/test_frame_6.c index 6a753df..56259c9 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_frame_6.c +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_6.c @@ -14,6 +14,6 @@ t_frame_pattern (test6, 700, ) t_frame_run (test6) /* { dg-final { scan-assembler-times "str\tx30, \\\[sp\\\]" 1 } } */ -/* { dg-final { scan-assembler-times "ldr\tx30, \\\[sp\\\]" 2 } } */ -/* { dg-final { scan-assembler-times "ldr\tx30, \\\[sp\\\]," 1 } } */ +/* { dg-final { scan-assembler "ldr\tx30, \\\[sp\\\]" } } */ +/* { dg-final { scan-assembler "ldr\tx30, \\\[sp\\\]," } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_7.c b/gcc/testsuite/gcc.target/aarch64/test_frame_7.c index f2a8713..9645279 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_frame_7.c +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_7.c @@ -14,5 +14,5 @@ t_frame_pattern (test7, 700, "x19") t_frame_run (test7) /* { dg-final { scan-assembler-times "stp\tx19, x30, \\\[sp]" 1 } } */ -/* { dg-final { scan-assembler-times "ldp\tx19, x30, \\\[sp\\\]" 1 } } */ +/* { dg-final { scan-assembler "ldp\tx19, x30, \\\[sp\\\]" } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_8.c b/gcc/testsuite/gcc.target/aarch64/test_frame_8.c index 9b6c693..75a68b4 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_frame_8.c +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_8.c @@ -13,5 +13,5 @@ t_frame_pattern_outgoing (test8, 700, , 8, a[8]) t_frame_run (test8) /* { dg-final { scan-assembler-times "str\tx30, \\\[sp, \[0-9\]+\\\]" 1 } } */ -/* { dg-final { scan-assembler-times "ldr\tx30, \\\[sp, \[0-9\]+\\\]" 1 } } */ +/* { dg-final { scan-assembler "ldr\tx30, \\\[sp, \[0-9\]+\\\]" } } */