Especially as the ABI states that the write of the backlink
and the stack pointer update _have_ to be done in one insn.
That's on allocation. Deallocation isn't so critical. You just need
to
ensure the backchain is written before updating sp.
Yes, but your example generated code showed allocation with
two insns. Of course it works, but it's not allowed by the
ABI.
Hmm, on powerpc64-linux you could even alloc up to 288 bytes without
an atomic update, since 288 bytes below the current sp is available for
use.
Yes. Question is, can GCC support this (easily) -- it would
have to keep track how much space it already alloca()'ed
before doing _this_ alloca().
Segher