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