[Bug target/95169] i386 comparison between nan and 0.0 triggers Invalid operation exception

pinskia at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun May 17 01:59:12 GMT 2020


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

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
   0x000011e6 <+45>:    fcompl -0x10(%ebp)
   0x000011e9 <+48>:    fnstsw %ax
   0x000011eb <+50>:    sahf   

That is what raises the invalid-operation exception

#(insn 23 56 24 2 (set (reg:HI 0 ax [99])
#        (unspec:HI [
#                (compare:CCFP (reg:DF 8 st)
#                    (mem/c:DF (plus:SI (reg/f:SI 6 bp)
#                            (const_int -16 [0xfffffffffffffff0])) [1 y+0 S8
A64]))
#            ] UNSPEC_FNSTSW)) "t6.c":6:25 23 {*cmpdf_i387}
#     (expr_list:REG_DEAD (reg:DF 8 st)
#        (nil)))
        fcompl  -16(%ebp)       # 23    [c=20 l=16]  *cmpdf_i387


More information about the Gcc-bugs mailing list