On Fri, Jan 31, 2025 at 11:35 AM H.J. Lu <hjl.to...@gmail.com> wrote:
> r15-1619-g3b9b8d6cfdf593 changed the codegen from > > f2: > .cfi_startproc > pushq %rbx > .cfi_def_cfa_offset 16 > .cfi_offset 3, -16 > movq f1@GOTPCREL(%rip), %rbx > call *%rbx > leaq f3(%rip), %rax > call *%rax > movq %rbx, %rax > popq %rbx > .cfi_def_cfa_offset 8 > jmp *%rax > .cfi_endproc > > to > > f2: > .cfi_startproc > subq $8, %rsp > .cfi_def_cfa_offset 16 > call *f1@GOTPCREL(%rip) > leaq f3(%rip), %rax > call *%rax > addq $8, %rsp > .cfi_def_cfa_offset 8 > jmp *f1@GOTPCREL(%rip) > .cfi_endproc > > Since it is OK to indirect call via memory for -mforce-indirect-call, > allow indirect branch via GOT. > > PR target/115673 > * gcc.target/i386/force-indirect-call-2.c: Allow indirect branch > via GOT. > NIce, so at the end it was only a testsuite patch. OK. Thanks, Uros. > > Signed-off-by: H.J. Lu <hjl.to...@gmail.com> > --- > gcc/testsuite/gcc.target/i386/force-indirect-call-2.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gcc/testsuite/gcc.target/i386/force-indirect-call-2.c > b/gcc/testsuite/gcc.target/i386/force-indirect-call-2.c > index 2f702363041..405c97c8000 100644 > --- a/gcc/testsuite/gcc.target/i386/force-indirect-call-2.c > +++ b/gcc/testsuite/gcc.target/i386/force-indirect-call-2.c > @@ -1,6 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O2 -mforce-indirect-call -fPIC" } */ > /* { dg-require-effective-target fpic } */ > -/* { dg-final { scan-assembler-times "(?:call|jmp)\[ \\t\]+\\*%" 3 } } */ > +/* { dg-final { scan-assembler-times "(?:call|jmp)\[ \\t\]+\\*" 3 } } */ > > #include "force-indirect-call-1.c" > -- > 2.48.1 > >