https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119509
--- Comment #4 from Nick Hudson <skrll at netbsd dot org> ---
(In reply to Andrew Pinski from comment #2)
> _5 = val_2(D) & 0xffff00;
> _1 = _5 > 0xff;
>
> Confirmed.
>
> GCC does handle:
> ```
> unsigned
> foo0(unsigned val)
> {
> return (val & (~0xff000000)) > 0xff;
> }
> ```
>
> Correctly.
where does this happen?
I've tried to find it in gcc/match.pd, but failed.
