This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/79430] [7 Regression] action of statement incorrectly optimised away
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 01 Mar 2017 15:28:09 +0000
- Subject: [Bug fortran/79430] [7 Regression] action of statement incorrectly optimised away
- Auto-submitted: auto-generated
- References: <bug-79430-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79430
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #26 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I can see the mlm_matching_isr FAIL with current trunk, but certainly don't see
the integral > final comparison being optimized out.
0x00007ffff57978e1
<__shower_core_MOD_shower_generate_next_isr_branching+4529>: callq
0x7ffff578e160 <__shower_core_MOD_integral_over_z_part_isr>
0x00007ffff57978e6
<__shower_core_MOD_shower_generate_next_isr_branching+4534>: fldt
0x1f0(%rsp)
0x00007ffff57978ed
<__shower_core_MOD_shower_generate_next_isr_branching+4541>: pop %r10
0x00007ffff57978ef
<__shower_core_MOD_shower_generate_next_isr_branching+4543>: pop %r11
0x00007ffff57978f1
<__shower_core_MOD_shower_generate_next_isr_branching+4545>: fld %st(0)
0x00007ffff57978f3
<__shower_core_MOD_shower_generate_next_isr_branching+4547>: fldt
0x40(%rsp)
0x00007ffff57978f7
<__shower_core_MOD_shower_generate_next_isr_branching+4551>: fxch %st(2)
=> 0x00007ffff57978f9
<__shower_core_MOD_shower_generate_next_isr_branching+4553>: fucomi
%st(2),%st
0x00007ffff57978fb
<__shower_core_MOD_shower_generate_next_isr_branching+4555>: fstp %st(2)
0x00007ffff57978fd
<__shower_core_MOD_shower_generate_next_isr_branching+4557>: fldt
0x70(%rsp)
0x00007ffff5797901
<__shower_core_MOD_shower_generate_next_isr_branching+4561>: fldt
0x80(%rsp)
0x00007ffff5797908
<__shower_core_MOD_shower_generate_next_isr_branching+4568>: ja
0x7ffff579752a <__shower_core_MOD_shower_generate_next_isr_branching+3578>
That fucomi is the comparison of integral and final. I have no idea what the
code is meant to do and in which occurence of this call + comparison do you
expect to see the return part (if I put a breakpoint on this spot, I see more
than hundred cases).
At least on the first one the final value integral_over_z_part_isr is called
with is one of the comparison operands,
final is 8.0709805577720652785753130409318601 and integral is
1.2830660500802092213986273722913488e-06
info float
R7: Valid 0x40028122bc8264869727 +8.070980557772065279
R6: Valid 0x3febac35d05484382d81 +1.283066050080209221e-06
=>R5: Valid 0x3febac35d05484382d81 +1.283066050080209221e-06
R4: Empty 0xc009d3234afd757eb870
R3: Empty 0x3ffc9d2933f75a096595
R2: Empty 0x4007bfa6d946f18e35f7
R1: Empty 0xc009d32c3121bd4b4150
R0: Empty 0x3ffc9d2933f75a096595
on the fucomi.
So, what values of integral or final do you expect the return on?