https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102583
--- Comment #3 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Hongtao.liu from comment #2) > Simplify > _4 = VEC_PERM_EXPR <_1, _1, { 4, 5, 6, 7, 4, 5, 6, 7 }>; > _5 = BIT_FIELD_REF <_4, 128, 0>; > > to > > _5 = BIT_FIELD_REF <_1, 128, 128>; > > in match.pd? maybe forwprop this 15 _1 = *srcp_7(D); 16 _2 = BIT_FIELD_REF <_1, 32, 128>; 17 _3 = BIT_FIELD_REF <_1, 32, 160>; 18 _4 = BIT_FIELD_REF <_1, 32, 192>; 19 _5 = BIT_FIELD_REF <_1, 32, 224>; 20 b_9 = {_2, _3, _4, _5}; directly into b_9 = BIT_FIELD_REF <*srcp_7, 128, 128>;