PR rtl-optimization/87918
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / cet-sjlj-6a.c
blob040b297aeb023f9347a7afa2508e702914fbf58c
1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-require-effective-target maybe_x32 } */
3 /* { dg-options "-O -maddress-mode=short -fcf-protection -mx32" } */
4 /* { dg-final { scan-assembler-times "endbr64" 2 } } */
5 /* { dg-final { scan-assembler-times "movq\t.*buf\\+8" 1 } } */
6 /* { dg-final { scan-assembler-times "subq\tbuf\\+8" 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);