https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123765

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|bpf-unknown-none            |bpf-unknown-none aarch64
             Status|UNCONFIRMED                 |NEW
          Component|target                      |middle-end
   Last reconfirmed|                            |2026-01-22
           Keywords|                            |wrong-code
     Ever confirmed|0                           |1

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Happens on aarch64 with `-O1 -mstrict-align  -mgeneral-regs-only` and the
following testcase:
```
typedef int vec __attribute__((vector_size(2*4*sizeof(int))));
typedef unsigned uvec __attribute__((vector_size(2*4*sizeof(int))));
void h(vec*p,uvec*q){
    vec a = *p;
    *q = (uvec)a;
}
```
Produces:
```
        ldp     x2, x3, [x0]      // tmp108, *p_3(D)
        stp     x2, x3, [x1]      // tmp108, *q_5(D)
        ldp     x2, x3, [x0, 16]  // *p_3(D), *p_3(D)
        stp     x2, x3, [x1, 16]  // *p_3(D), *q_5(D)
```
Notice the overlap.

Reply via email to