1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -mgeneral-regs-only -mno-cld" } */
       3  
       4  extern void bar (int);
       5  
       6  void f1 (void){  bar (1); }
       7  __attribute__((interrupt))
       8  void f2 (void *frame){  bar (2); }
       9  void f3 (void){  bar (3); }
      10  __attribute__((interrupt))
      11  void f4 (void *frame){  bar (4); }
      12  void f5 (void){  bar (5); }
      13  
      14  /* { dg-final { scan-assembler-times "push.\t%.ax" 2 } } */
      15  /* { dg-final { scan-assembler-times "pop.\t%.ax" 2 } } */
      16  /* { dg-final { scan-assembler-times "iret" 2 { target ia32 } } } */
      17  /* { dg-final { scan-assembler-times "iretq" 2 { target { ! ia32 } } } } */
      18  /* { dg-final { scan-assembler-times "\tcld" 2 } } */