> Hmm, I think VEC_EXTRACT and VEC_SET should be ECF_CONST. Maybe the > GIMPLE ISEL > comments do not match the implementation, but then that should be fixed? > > /* Expand all ARRAY_REF(VIEW_CONVERT_EXPR) gimple assignments into calls > to > internal function based on vector type of selected expansion. > > For vec_set: > > VIEW_CONVERT_EXPR<int[4]>(u)[_1] = i_4(D); > => > _7 = u; > _8 = .VEC_SET (_7, i_4(D), _1); > u = _8; > > For vec_extract: > > _3 = VIEW_CONVERT_EXPR<intD.1[4]>(vD.2208)[idx_2(D)]; > => > _4 = vD.2208; > _3 = .VEC_EXTRACT (_4, idx_2(D)); */ >
I probably just forgot to set ECF_CONST in the recent isel patch for vec_extract. Regards Robin