https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95756
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Known to fail| |3.4.6, 5.1.0 Component|middle-end |target Resolution|--- |DUPLICATE --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- What is interesting is for: ``` float f1() { return 0.0f; } ``` This starts also out in expand as: ``` ;; return 0.0; (insn 5 4 6 (set (reg:SF 98 [ <retval> ]) (mem/u/c:SF (symbol_ref/u:DI ("*.LC0") [flags 0x2]) [0 S4 A32])) "/app/example.cpp":9:12 discrim 1 -1 (expr_list:REG_EQUAL (const_double:SF 0.0 [0x0.0p+0]) (nil))) ``` Which in itself funny. But the way expand combines the expression for complex is a bit interesting: ``` (insn 12 11 13 2 (set (mem/c:SF (plus:DI (reg/f:DI 93 virtual-stack-vars) (const_int -8 [0xfffffffffffffff8])) [0 S4 A32]) (reg:SF 100)) "/app/example.cpp":4:1 -1 (nil)) (insn 13 12 14 2 (set (mem/c:SF (plus:DI (reg/f:DI 93 virtual-stack-vars) (const_int -4 [0xfffffffffffffffc])) [0 S4 A32]) (reg:SF 101)) "/app/example.cpp":4:1 -1 (nil)) (insn 14 13 15 2 (set (reg:DI 20 xmm0) (mem/c:DI (plus:DI (reg/f:DI 93 virtual-stack-vars) (const_int -8 [0xfffffffffffffff8])) [0 S8 A32])) "/app/example.cpp":4:1 -1 (nil)) ``` Which means this exactly a dup of bug 48609. *** This bug has been marked as a duplicate of bug 48609 ***