aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/arm/pac-9.c
blob: 2a69db6e8e8a32090a6c16ccc66871946188f8d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* Check that GCC does .save and .cfi_offset directives with RA_AUTH_CODE pseudo hard-register.  */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" "-mcpu=*" } } */
/* { dg-options "-march=armv8.1-m.main -mbranch-protection=pac-ret+leaf+bti -mthumb -mfloat-abi=soft -fasynchronous-unwind-tables --save-temps -g" } */

__attribute__((noinline)) void
fn1 (int a, int b, int c)
{
  if (a != b + c)
    __builtin_abort ();
}

int main ()
{
  fn1 (40, 40, 80);
  return 0;
}

/* { dg-final { scan-assembler "\.save \{r7, ra_auth_code, lr\}" } } */
/* { dg-final { scan-assembler "\.save \{r3, r7, ra_auth_code, lr\}" } } */
/* { dg-final { scan-assembler "\.cfi_offset 143, \-8" } } */