On Tue, Apr 15, 2025 at 12:45 AM Uros Bizjak <ubiz...@gmail.com> wrote: > > On Tue, Apr 15, 2025 at 1:06 AM H.J. Lu <hjl.to...@gmail.com> wrote: > > > > ix86_add_cfa_restore_note omits the REG_CFA_RESTORE REG note for registers > > pushed in red-zone. Since > > > > commit 0a074b8c7e79f9d9359d044f1499b0a9ce9d2801 > > Author: H.J. Lu <hjl.to...@gmail.com> > > Date: Sun Apr 13 12:20:42 2025 -0700 > > > > APX: Don't use red-zone with 32 GPRs and no caller-saved registers > > > > disabled red-zone, update gcc.target/i386/apx-interrupt-1.c to expect > > 31 .cfi_restore directives. > > Hm, did you also account for RED_ZONE_RESERVE? The last 8-byte slot is > reserved for internal use by the compiler.
There is no red-zone in this case. > Uros. > > > > > PR target/119784 > > * gcc.target/i386/apx-interrupt-1.c: Expect 31 .cfi_restore > > directives. > > > > Signed-off-by: H.J. Lu <hjl.to...@gmail.com> > > --- > > gcc/testsuite/gcc.target/i386/apx-interrupt-1.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/gcc/testsuite/gcc.target/i386/apx-interrupt-1.c > > b/gcc/testsuite/gcc.target/i386/apx-interrupt-1.c > > index fefe2e6d6fc..fa1acc7a142 100644 > > --- a/gcc/testsuite/gcc.target/i386/apx-interrupt-1.c > > +++ b/gcc/testsuite/gcc.target/i386/apx-interrupt-1.c > > @@ -66,7 +66,7 @@ void foo (void *frame) > > /* { dg-final { scan-assembler-times {\t\.cfi_offset 132, -120} 1 } } */ > > /* { dg-final { scan-assembler-times {\t\.cfi_offset 131, -128} 1 } } */ > > /* { dg-final { scan-assembler-times {\t\.cfi_offset 130, -136} 1 } } */ > > -/* { dg-final { scan-assembler-times ".cfi_restore" 15} } */ > > +/* { dg-final { scan-assembler-times ".cfi_restore" 31 } } */ > > /* { dg-final { scan-assembler-times "pop(?:l|q)\[\\t \]*%(?:e|r)ax" 1 } } > > */ > > /* { dg-final { scan-assembler-times "pop(?:l|q)\[\\t \]*%(?:e|r)bx" 1 } } > > */ > > /* { dg-final { scan-assembler-times "pop(?:l|q)\[\\t \]*%(?:e|r)cx" 1 } } > > */ > > -- > > 2.49.0 > > -- H.J.