1  /* { dg-do compile { target { ! ia32 } } } */
       2  /* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mred-zone -fno-stack-protector" } */
       3  
       4  void
       5  __attribute__((interrupt))
       6  fn (void *frame)
       7  {
       8    /* No need to adjust stack if less than 128 bytes are used on stack
       9       with a 128-byte red zone.  */
      10    long long int i0;
      11    long long int i1;
      12    long long int i2;
      13    long long int i3;
      14    long long int i4;
      15    long long int i5;
      16    long long int i6;
      17    long long int i7;
      18    long long int i8;
      19    long long int i9;
      20    long long int i10;
      21    long long int i11;
      22    long long int i12;
      23    long long int i13;
      24    asm ("# %0, %1, %2, %3, %4, %5, %6, %7"
      25         : "=m" (i0), "=m" (i1), "=m" (i2), "=m" (i3),
      26           "=m" (i4), "=m" (i5), "=m" (i6), "=m" (i7),
      27           "=m" (i8), "=m" (i9), "=m" (i10), "=m" (i11),
      28  	 "=m" (i12), "=m" (i13));
      29  }
      30  
      31  /* { dg-final { scan-assembler-not "(sub|add)(l|q)\[\\t \]*\\$\[0-9\]*,\[\\t \]*%\[re\]?sp" } } */
      32  /* { dg-final { scan-assembler-not "\tcld" } } */