currently, the implementation of AArch64 prologue/epilogue expand hooks are a bit unclean.
the major issues are: * when pushing callee-saved registers, register offset are calculated by ad-hoc code instead of referencing offset table initialized in aarch64_layout_frame. * FP/LR push/restore are done by ad-hoc code, should be unified with other registers. * various duplicated code for pushing/restoring core and vectore registers. * sub-optimal instruction sequences generated for some scenarios. the following patch set trying to address above issues in an incremental way, that the review could be easier. no regression on aarch64-none-elf little/big endian bare-metal full test. bootstrap OK on aarch64. ok to install? thanks. -- Jiong