https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94516

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Created attachment 48228
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48228&action=edit
pre-processed source file

It's compiled with:

$ gcc -fdiagnostics-show-option  -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables
-fstack-clash-protection -Werror=return-type -g -fPIE -MT psk-file.o psk-file.i
-c

The assembly diff is quite small (it's doit function):

$ diff -u /tmp/psk-file.good.s /tmp/psk-file.bad.s 
--- /tmp/psk-file.good.s        2020-04-07 13:40:35.985428368 +0200
+++ /tmp/psk-file.bad.s 2020-04-07 13:38:27.658722637 +0200
@@ -1036,37 +1036,33 @@
        pushq   $0
        .cfi_def_cfa_offset 80
        call    run_test3
-       addq    $24, %rsp
-       .cfi_def_cfa_offset 56
+       pushq   $0
+       .cfi_def_cfa_offset 64
        xorl    %r9d, %r9d
        xorl    %r8d, %r8d
        pushq   $0
-       .cfi_def_cfa_offset 64
+       .cfi_def_cfa_offset 72
        movq    %r12, %rcx
        leaq    .LC42(%rip), %rdx
        leaq    .LC43(%rip), %rsi
-       pushq   $0
-       .cfi_def_cfa_offset 72
-       leaq    .LC44(%rip), %rdi
        pushq   $9
        .cfi_def_cfa_offset 80
+       leaq    .LC44(%rip), %rdi
        call    run_test3
-       addq    $24, %rsp
-       .cfi_def_cfa_offset 56
-       xorl    %r9d, %r9d
-       movq    %r12, %rcx
        pushq   $-32
        .cfi_def_cfa_offset 64
+       xorl    %r9d, %r9d
        movl    $1, %r8d
-       leaq    .LC42(%rip), %rdx
-       xorl    %esi, %esi
        pushq   $-12
        .cfi_def_cfa_offset 72
-       leaq    .LC45(%rip), %rdi
+       movq    %r12, %rcx
+       leaq    .LC42(%rip), %rdx
+       xorl    %esi, %esi
        pushq   $0
        .cfi_def_cfa_offset 80
+       leaq    .LC45(%rip), %rdi
        call    run_test3
-       addq    $32, %rsp
+       movq    %r12, %rsp
        .cfi_def_cfa_offset 48
        movq    24(%rsp), %rax
        subq    %fs:40, %rax

Reply via email to