https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123656
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[16 Regression] wrong code |[16 Regression] wrong code
|with unsigned char [2] |with unsigned char [2]
|vector multiplication by |vector multiplication by
|210 at -Og |210
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
>From .optimized:
_4 = v_1(D) << 3; // v*8
_5 = _4 - v_1(D); // v*8-v; v*7
_6 = _5 << 4; //v*7 * 16; v*112
_7 = _5 - _6; // v*7 - v*112 = -v*105 <--- this seems swapped
_8 = _7 << 1; // v*-105 *2 = v*-210
Confirmed.