[Bug rtl-optimization/78085] extra sign extend if used to store in 32bit and return 64bit and the upper bits are known to be zeroed.
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Sep 26 16:29:42 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78085
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
>From REE:
Trying to eliminate extension:
(insn 9 8 15 2 (set (reg:DI 0 ax [orig:88 _3 ] [88])
(sign_extend:DI (reg:SI 0 ax [orig:84 _3 ] [84]))) "a.c":6:9 160
{*extendsidi2_rex64}
(nil))
Tentatively merged extension with definition :
(insn 7 6 8 2 (parallel [
(set (reg:DI 0 ax)
(zero_extend:DI (and:SI (reg:SI 0 ax [86])
(const_int 3 [0x3]))))
(clobber (reg:CC 17 flags))
]) "a.c":5:4 -1
(nil))
deferring rescan insn with uid = 7.
All merges were successful.
Eliminated the extension.
deferring deletion of insn with uid = 9.
Elimination opportunities = 1 realized = 1
More information about the Gcc-bugs
mailing list