[Bug middle-end/80372] non-optimal handling of copying a std::complex<double>

pinskia at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Jul 24 09:31:06 GMT 2021


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

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
;; MEM[(struct complex *)res_1(D) + 16B] = MEM[(const struct complex
&)res_1(D)];

(insn 7 6 8 (set (reg:DF 83)
        (mem:DF (reg/v/f:DI 82 [ res ]) [4 MEM[(const struct complex
&)res_1(D)]+0 S8 A64])) "/app/example.cpp":3:14 -1
     (nil))

(insn 8 7 9 (set (mem:DF (plus:DI (reg/v/f:DI 82 [ res ])
                (const_int 16 [0x10])) [4 MEM[(struct complex *)res_1(D) +
16B]+0 S8 A64])
        (reg:DF 83)) "/app/example.cpp":3:14 -1
     (nil))

(insn 9 8 10 (set (reg:DF 84)
        (mem:DF (plus:DI (reg/v/f:DI 82 [ res ])
                (const_int 8 [0x8])) [4 MEM[(const struct complex &)res_1(D)]+8
S8 A64])) "/app/example.cpp":3:14 -1
     (nil))

(insn 10 9 0 (set (mem:DF (plus:DI (reg/v/f:DI 82 [ res ])
                (const_int 24 [0x18])) [4 MEM[(struct complex *)res_1(D) +
16B]+8 S8 A64])
        (reg:DF 84)) "/app/example.cpp":3:14 -1
     (nil))


More information about the Gcc-bugs mailing list