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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2023-08-24
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #3)
> On the trunk we now get:
>   _25 = SR.116_117 == 0;
>   _27 = (unsigned char) _25;
>   _32 = _27 | SR.116_117;
> 
> Rather than:
>   _119 = MAX_EXPR <1, SR.115_117>;
> 
> But we should instead just get:
> SR.116_117 | 1
> 
> Though that should still be transformed into 1 (will fix that seperately).
> 
> I have a quick patch which fixes that, we need to move `a ? zero_one_value :
> zero_one_value` part of match.pd below the min/max detection.

The two patches for that.

https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628405.html
https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628404.html

I have not looked into the rest but otherwise confirmed.

Reply via email to