1 /* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
2 /* { dg-options "-O2 -mgeneral-regs-only -mtune=generic" } */
3 
4 typedef unsigned int uword_t __attribute__ ((mode (__word__)));
5 
6 void
7  __attribute__ ((interrupt))
fn1(void * frame,uword_t error)8 fn1 (void *frame, uword_t error)
9 {
10   char fxsave_region [512] __attribute__((aligned(16)));
11   __builtin_ia32_fxsave64 (fxsave_region);
12 }
13 
14 /* { dg-final { scan-assembler-times "sub\[lq\]\[\t \]*\\\$392,\[\t \]*%\[re\]sp" 1 } } */
15 /* { dg-final { scan-assembler-times "fxsave64\[\t \]*-120\\(%\[re\]sp\\)" 1 } } */
16 /* { dg-final { scan-assembler-times "add\[lq\]\[\t \]*\\\$400,\[\t \]*%\[re\]sp" 1 } } */
17