PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / cet-sjlj-6a.c
blob8410ff99b47ec56b04398e2a7823d9ac620b6bca
1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-require-effective-target maybe_x32 } */
3 /* { dg-options "-O -maddress-mode=short -fcf-protection -mcet -mx32" } */
4 /* { dg-final { scan-assembler-times "endbr64" 2 } } */
5 /* { dg-final { scan-assembler-times "movq\t.*buf\\+12" 1 } } */
6 /* { dg-final { scan-assembler-times "subq\tbuf\\+12" 1 } } */
7 /* { dg-final { scan-assembler-times "shrl\t\\\$3," 1 } } */
8 /* { dg-final { scan-assembler-times "rdsspq" 2 } } */
9 /* { dg-final { scan-assembler-times "incsspq" 2 } } */
11 void *buf[5];
13 void raise0(void)
15 __builtin_longjmp (buf, 1);
18 void execute(int cmd)
20 __builtin_setjmp (buf);