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 ...

Reply via email to