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.