diff options
author | Jiong Wang <jiong.wang@arm.com> | 2014-07-24 14:41:49 +0000 |
---|---|---|
committer | Marcus Shawcroft <mshawcroft@gcc.gnu.org> | 2014-07-24 14:41:49 +0000 |
commit | c5e1f66e59f66083d9bc4229721aaae8d320c8dc (patch) | |
tree | 6e3f6e1bdbb3e244a4ca41941a6210dfaa4fa5ae /gcc/testsuite | |
parent | ae13fce333f73741790fef665546290509220093 (diff) | |
download | gcc-c5e1f66e59f66083d9bc4229721aaae8d320c8dc.zip gcc-c5e1f66e59f66083d9bc4229721aaae8d320c8dc.tar.gz gcc-c5e1f66e59f66083d9bc4229721aaae8d320c8dc.tar.bz2 |
[AArch64] Optimize prologue when there is no frame pointer.
From-SVN: r212999
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/test_fp_attribute_1.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/test_frame_1.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/test_frame_10.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/test_frame_2.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/test_frame_4.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/test_frame_6.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/test_frame_7.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/test_frame_8.c | 5 |
9 files changed, 42 insertions, 8 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 42ac62f..901343c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,15 @@ +2014-07-24 Jiong Wang <jiong.wang@arm.com> + + * gcc.target/aarch64/test_frame_1.c: Match optimized instruction + sequences. + * gcc.target/aarch64/test_frame_10.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. + * gcc.target/aarch64/test_fp_attribute_1.c: Likewise. + 2014-07-24 Martin Jambor <mjambor@suse.cz> PR ipa/61160 diff --git a/gcc/testsuite/gcc.target/aarch64/test_fp_attribute_1.c b/gcc/testsuite/gcc.target/aarch64/test_fp_attribute_1.c index 7538250..960174a 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_fp_attribute_1.c +++ b/gcc/testsuite/gcc.target/aarch64/test_fp_attribute_1.c @@ -21,6 +21,6 @@ non_leaf_2 (void) leaf (); } -/* { dg-final { scan-assembler-times "str\tx30, \\\[sp\\\]" 2 } } */ +/* { dg-final { scan-assembler-times "str\tx30, \\\[sp, -\[0-9\]+\\\]!" 2 } } */ /* { dg-final { cleanup-saved-temps } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_1.c b/gcc/testsuite/gcc.target/aarch64/test_frame_1.c index feea7a2..e9d04aa 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_frame_1.c +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_1.c @@ -6,9 +6,12 @@ * optimized code should use "str !" for stack adjustment. */ /* { dg-do run } */ -/* { dg-options "-O2 -fomit-frame-pointer" } */ +/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */ #include "test_frame_common.h" t_frame_pattern (test1, 200, ) t_frame_run (test1) + +/* { dg-final { scan-assembler-times "str\tx30, \\\[sp, -\[0-9\]+\\\]!" 2 } } */ +/* { dg-final { cleanup-saved-temps } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_10.c b/gcc/testsuite/gcc.target/aarch64/test_frame_10.c index 2892c5f..b646a71 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_frame_10.c +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_10.c @@ -8,9 +8,12 @@ the first subtractions could be optimized into "stp !". */ /* { dg-do run } */ -/* { dg-options "-O2 -fomit-frame-pointer" } */ +/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */ #include "test_frame_common.h" 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 { cleanup-saved-temps } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_2.c b/gcc/testsuite/gcc.target/aarch64/test_frame_2.c index aa15dae..b972664 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_frame_2.c +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_2.c @@ -6,9 +6,13 @@ * optimized code should use "stp !" for stack adjustment. */ /* { dg-do run } */ -/* { dg-options "-O2 -fomit-frame-pointer" } */ +/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */ #include "test_frame_common.h" t_frame_pattern (test2, 200, "x19") t_frame_run (test2) + + +/* { dg-final { scan-assembler-times "stp\tx19, x30, \\\[sp, -\[0-9\]+\\\]!" 1 } } */ +/* { dg-final { cleanup-saved-temps } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_4.c b/gcc/testsuite/gcc.target/aarch64/test_frame_4.c index c45e740..5a9a919 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_frame_4.c +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_4.c @@ -6,9 +6,12 @@ * we can use "stp !" to optimize stack adjustment. */ /* { dg-do run } */ -/* { dg-options "-O2 -fomit-frame-pointer" } */ +/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */ #include "test_frame_common.h" t_frame_pattern (test4, 400, "x19") t_frame_run (test4) + +/* { dg-final { scan-assembler-times "stp\tx19, x30, \\\[sp, -\[0-9\]+\\\]!" 1 } } */ +/* { dg-final { cleanup-saved-temps } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_6.c b/gcc/testsuite/gcc.target/aarch64/test_frame_6.c index 54f646b..6056f57 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_frame_6.c +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_6.c @@ -7,9 +7,12 @@ the second subtraction should use "str !". */ /* { dg-do run } */ -/* { dg-options "-O2 -fomit-frame-pointer" } */ +/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */ #include "test_frame_common.h" t_frame_pattern (test6, 700, ) t_frame_run (test6) + +/* { dg-final { scan-assembler-times "str\tx30, \\\[sp, -\[0-9\]+\\\]!" 2 } } */ +/* { dg-final { cleanup-saved-temps } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_7.c b/gcc/testsuite/gcc.target/aarch64/test_frame_7.c index aa97bc0..991860c 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_frame_7.c +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_7.c @@ -7,9 +7,12 @@ the second subtraction should use "stp !". */ /* { dg-do run } */ -/* { dg-options "-O2 -fomit-frame-pointer" } */ +/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */ #include "test_frame_common.h" t_frame_pattern (test7, 700, "x19") t_frame_run (test7) + +/* { dg-final { scan-assembler-times "stp\tx19, x30, \\\[sp, -\[0-9\]+\\\]!" 1 } } */ +/* { dg-final { cleanup-saved-temps } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_8.c b/gcc/testsuite/gcc.target/aarch64/test_frame_8.c index f75f080..4a4d93b 100644 --- a/gcc/testsuite/gcc.target/aarch64/test_frame_8.c +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_8.c @@ -5,9 +5,12 @@ * number of callee-saved reg == 1. */ /* { dg-do run } */ -/* { dg-options "-O2 -fomit-frame-pointer" } */ +/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */ #include "test_frame_common.h" t_frame_pattern_outgoing (test8, 700, , 8, a[8]) t_frame_run (test8) + +/* { dg-final { scan-assembler-times "str\tx30, \\\[sp, -\[0-9\]+\\\]!" 3 } } */ +/* { dg-final { cleanup-saved-temps } } */ |