https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114676
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- > I've bisected gcc, and issue first appears with gcc commit > 32955416d8040b1fa1ba21cd4179b3264e6c5bd6. This just improved DSE but I suspect there might be a way to reproduce it before that. Note the rs6000 backend works correctly with vec_sxt/vec_xl because it builds a MEM_REF directly instead of an INDIRECT_REF. ``` /* Since arg1 may be cast to a different type, just use ptr_type_node here instead of trying to enforce TBAA on pointer types. */ tree arg1_type = ptr_type_node; ... /* Use the build2 helper to set up the mem_ref. The MEM_REF could also take an offset, but since we've already incorporated the offset above, here we just pass in a zero. */ gimple *g = gimple_build_assign (lhs, build2 (MEM_REF, lhs_type, aligned_addr, build_int_cst (arg1_type, 0))); ``` arg1_type is used for the aliasing set ...