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

--- Comment #2 from Christophe Lyon <clyon at gcc dot gnu.org> ---
Confirmed.
In test_dfp_17.c we have:
  ARG(_Decimal64, 11.0dd, D0)
  DOTS
  ANON(struct z, a, D1)
  ANON(struct z, b, STACK)
  ANON(int , 5, W0)
  ANON(_Decimal32, f1, STACK+32) /* Note: no promotion to _Decimal64.  */
  LAST_ANON(_Decimal64, 0.5dd, STACK+40)

Execution fails on aarch64_be for argument:
ANON(_Decimal32, f1, STACK+32)

in main() we generate:
str     s0, [sp, 32]    // 19   [c=4 l=4]  *movsd_aarch64/7 for aarch64
and
str     s0, [sp, 36]    // 19   [c=4 l=4]  *movsd_aarch64/7 for aarch64_be


Alignment for the last argument (_Decimal64) still seems OK, at sp+40.

Reply via email to