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 fortran/79430] [7 Regression] action of statement incorrectly optimised away


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?

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