This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/79430] [7/8 Regression] action of statement incorrectly optimised away


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

--- Comment #75 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
To provide some more context, here is the code as
compiled with the patch (correct version):

        call    integral_over_z_part_isr.6797
.LVL1464:
        .loc 1 3089 0
        fldt    496(%rsp)
        popq    %rsi
        .cfi_def_cfa_offset 1160
        popq    %rdi
        .cfi_def_cfa_offset 1152
        movq    80(%rsp), %rax
        movq    96(%rsp), %r11
        fldt    64(%rsp)
        fxch    %st(1)
        fucomi  %st(1), %st
        fstp    %st(1)
        fldt    112(%rsp)
        fldt    128(%rsp)
        ja      .L1788
        fstp    %st(2)
        fxch    %st(1)

And here is the version without the patch:

        call    integral_over_z_part_isr.6797
.LVL1465:
        .loc 1 3089 0
        fldt    64(%rsp)
        fldt    496(%rsp)
        popq    %rsi
        .cfi_def_cfa_offset 1160
        popq    %rdi
        .cfi_def_cfa_offset 1152
        movq    80(%rsp), %rax
        movq    96(%rsp), %r11
        fucomi  %st(1), %st
        fstp    %st(1)
        fldt    112(%rsp)
        fldt    128(%rsp)
        ja      .L1788
        fstp    %st(2)
        fxch    %st(1)

You can see the difference where "fldt  64(%rsp)" loads from.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]