https://gcc.gnu.org/g:5f34558100e8466aa70373e2f930bf1013192ba8

commit r15-7302-g5f34558100e8466aa70373e2f930bf1013192ba8
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Fri Jan 31 18:28:23 2025 +0800

    force-indirect-call-2.c: Allow indirect branch via GOT
    
    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.
    
    Signed-off-by: H.J. Lu <hjl.to...@gmail.com>

Diff:
---
 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 2f7023630415..405c97c80008 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"

Reply via email to