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

            Bug ID: 109273
           Summary: [11/12/13 Regression] unaligned stp generated with
                    -mstrict-align
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: amonakov at gcc dot gnu.org
  Target Milestone: ---
            Target: aarch64-*-*

With -O2 -mstrict-align, for

void f(void *p)
{
  __builtin_memset(p, 0, 16);
}

gcc-10 and before, targeting aarch64, used to generate

f:
        mov     x2, 16
        mov     w1, 0
        b       memset

but gcc-11 and newer emit a potentially-misaligned 'stp':

f:
        stp     xzr, xzr, [x0]
        ret

Reply via email to