https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121284
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Component|target |tree-optimization Last reconfirmed| |2025-07-28 Status|UNCONFIRMED |NEW --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- trunk: _3 = {_8, _9, _10, _11, _12, _13, _14, _15}; _16 = BIT_FIELD_REF <_3, 256, 0>; _17 = BIT_FIELD_REF <_3, 256, 256>; _18 = VEC_PACK_FIX_TRUNC_EXPR <_16, _17>; 13: _16 = {_8, _9, _10, _11}; _17 = {_12, _13, _14, _15}; _18 = VEC_PACK_FIX_TRUNC_EXPR <_16, _17>; Though I think the real issue: _1 = {x_4(D), { 0.0, 0.0 }}; _2 = {y_5(D), { 0.0, 0.0 }}; _3 = VEC_PERM_EXPR <_1, _2, { 0, 1, 4, 5 }>; _6 = .VEC_CONVERT (_3); is that vec perm should become: _3 = {x_4(D), y_5(D)};