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

--- Comment #3 from Samuel Thibault <samuel.thiba...@ens-lyon.org> ---
And for comparison, here is the disassemble of -march=i686 -mtune=generic,
which does not raise the exception:

Dump of assembler code for function f:
   0x000011b9 <+0>:     push   %ebp
   0x000011ba <+1>:     mov    %esp,%ebp
   0x000011bc <+3>:     push   %ebx
   0x000011bd <+4>:     sub    $0x14,%esp
   0x000011c0 <+7>:     call   0x1292 <__x86.get_pc_thunk.ax>
   0x000011c5 <+12>:    add    $0x2e3b,%eax
   0x000011ca <+17>:    mov    0x8(%ebp),%edx
   0x000011cd <+20>:    mov    %edx,-0x10(%ebp)
   0x000011d0 <+23>:    mov    0xc(%ebp),%edx
   0x000011d3 <+26>:    mov    %edx,-0xc(%ebp)
   0x000011d6 <+29>:    fldl   -0x10(%ebp)
   0x000011d9 <+32>:    fldz   
   0x000011db <+34>:    fucomip %st(1),%st
   0x000011dd <+36>:    fstp   %st(0)
   0x000011df <+38>:    setnp  %dl
   0x000011e2 <+41>:    mov    $0x0,%ecx
   0x000011e7 <+46>:    fldl   -0x10(%ebp)
   0x000011ea <+49>:    fldz   
   0x000011ec <+51>:    fucomip %st(1),%st
   0x000011ee <+53>:    fstp   %st(0)
   0x000011f0 <+55>:    cmovne %ecx,%edx
   0x000011f3 <+58>:    movzbl %dl,%edx
   0x000011f6 <+61>:    test   %edx,%edx
   0x000011f8 <+63>:    je     0x120e <f+85>
   0x000011fa <+65>:    sub    $0xc,%esp
   0x000011fd <+68>:    lea    -0x1ff8(%eax),%edx
   0x00001203 <+74>:    push   %edx
   0x00001204 <+75>:    mov    %eax,%ebx
   0x00001206 <+77>:    call   0x1040 <puts@plt>
   0x0000120b <+82>:    add    $0x10,%esp
   0x0000120e <+85>:    nop
   0x0000120f <+86>:    mov    -0x4(%ebp),%ebx
   0x00001212 <+89>:    leave  
   0x00001213 <+90>:    ret

Reply via email to