https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110280
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- In the original case FRE is trying to do the same thing as the reduced testcase: ``` Successfully combined 4 partial definitions Setting value number of _39 to { 0, 0, 0, 0 } (changed) Value numbering stmt = _40 = VEC_PERM_EXPR <_39, _39, { 0, 1, 2, 3, ... }>; Match-and-simplified VEC_PERM_EXPR <_39, _39, { 0, 1, 2, 3, ... }> to { 0, 0, 0, 0 } RHS VEC_PERM_EXPR <_39, _39, { 0, 1, 2, 3, ... }> simplified to { 0, 0, 0, 0 } Setting value number of _40 to { 0, 0, 0, 0 } (changed) Value numbering stmt = lanes ={v} {CLOBBER(eol)}; Setting value number of .MEM_54 to .MEM_54 (changed) Value numbering stmt = _41 = [vec_unpack_lo_expr] _40; ```