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