https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110386
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|target |tree-optimization Target Milestone|--- |14.0 Keywords| |ice-checking, | |ice-on-valid-code Last reconfirmed| |2023-06-24 Status|UNCONFIRMED |NEW Ever confirmed|0 |1 --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This is a bug in backprop rather than a target issue. We start with: _7 = VIEW_CONVERT_EXPR<vector(4) intD.6>(XMM0_2(D)); _8 = ABSU_EXPR <_7>; _5 = VIEW_CONVERT_EXPR<vector(4) unsigned intD.9>(XMM0_2(D)); _6 = _5 * _8; _3 = _6 * _6; _4 = VIEW_CONVERT_EXPR<__m128iD.5706>(_3); And backprop changes it into: _7 = VIEW_CONVERT_EXPR<vector(4) intD.6>(XMM0_2(D)); _8 = ABSU_EXPR <_7>; _5 = VIEW_CONVERT_EXPR<vector(4) unsigned intD.9>(XMM0_2(D)); _6 = _5 * _7; _3 = _6 * _6; _4 = VIEW_CONVERT_EXPR<__m128iD.5706>(_3); But misses the conversion