[Bug rtl-optimization/82628] [8 Regression] wrong code at -Os on x86_64-linux-gnu in the 32-bit mode
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Oct 20 17:35:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82628
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
There is another important detail, num_sign_bit_copies ((reg/v:DI 89 [ d ]),
DImode) == 64.
So, in the end, if the whole DI 89 pseudo is non-zero, then
(plus:SI (ltu:SI (reg:SI 93)
(subreg:SI (reg/v:DI 89 [ d ]) 0))
(subreg:SI (reg/v:DI 89 [ d ]) 4))
is (plus:SI (ltu:SI (reg:SI 93) (const_int -1)) (const_int -1)) and
if d is 0, then it is (const_int 0).
More information about the Gcc-bugs
mailing list