https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122431
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|rtl-optimization |middle-end
Summary|Bitwise multiplexing has |Bitwise multiplexing with
|too much latency on POWER |targets that have `a & ~b`
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
On the gimple the Canonical form is:
```
_6 = b_2(D) ^ c_3(D);
_7 = a_1(D) & _6;
_4 = c_3(D) ^ _7;
```
Isel or some other method should turn it into:
```
_6 = a_1(D) & b_2(D);
_7 = .BIT_ANDN (c_3(D), a_1(D));
_t = _6 | _7;
```
When BIT_ANDN optab exists.