Imported Upstream version 4.8.1
[platform/upstream/gcc48.git] / gcc / testsuite / gcc.target / aarch64 / test-framepointer-8.c
1 /* { dg-do run } */
2 /* { dg-options "-O2 -fno-omit-frame-pointer -momit-leaf-frame-pointer -fno-inline --save-temps" } */
3
4 #include "asm-adder-clobber-lr.c"
5
6 /* omit-frame-pointer is FALSE.
7    omit-leaf-frame-pointer is TRUE.
8    LR is being clobbered in the leaf.
9
10    Unless we are removing all frame records (which we aren't), it's
11    not OK to remove the frame record for a leaf where LR is clobbered.
12    Therefore, we expect a frame record in main and leaf.  */
13
14 /* { dg-final { scan-assembler-times "stp\tx29, x30, \\\[sp, -\[0-9\]+\\\]!" 2 } } */
15
16 /* { dg-final { cleanup-saved-temps } } */