[Bug middle-end/109845] Addition overflow/carry flag unnecessarily put in a temporary register

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Dec 29 09:54:36 GMT 2025


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

--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Andrew Pinski from comment #2)
> So the difference between good1 and bad1 at the gimple level is the order of
> operands of the bit_ior:
> good1:
> 
>   ov_8 = _13 != 0;
>   _9 = x_2(D) != 0;
>   _10 = ov_8 | _9;
>   if (_10 != 0)
> 
> bad1:
>   ov_7 = _13 != 0;
>   _1 = x_8(D) != 0;
>   _2 = _1 | ov_7;
>   if (_2 != 0)

Couldn't optimizers rewrite boolean OR to bitwise OR in the above code?


More information about the Gcc-bugs mailing list