https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114134
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
Last reconfirmed| |2024-02-28
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Looks like the biggest issue is when expanding:
;; return D.26244;
Before:
(insn 34 33 35 (set (subreg:DI (reg:TI 107) 8)
(reg:DI 108)) "/app/example.cpp":14:47 discrim 1 -1
(nil))
(insn 35 34 36 (set (reg:TI 98 [ <retval> ])
(reg:TI 107)) "/app/example.cpp":14:47 discrim 1 -1
(nil))
After:
(insn 41 40 42 (set (reg:TI 130)
(ior:TI (and:TI (reg:TI 130)
(const_wide_int 0x0ffffffffffffffff))
(ashift:TI (zero_extend:TI (reg:DI 131))
(const_int 64 [0x40])))) "/app/example.cpp":14:47 discrim 1 -1
(nil))
(insn 42 41 43 (set (reg:TI 114 [ <retval> ])
(reg:TI 130)) "/app/example.cpp":14:47 discrim 1 -1
(nil))