This patch refactor the inner loop out into "aarch64_next_callee_save", and simplify the code logic and reduce indent. *no functional change* ok to install? thanks. gcc/ * config/aarch64/aarch64.c (aarch64_next_callee_save): New function. (aarch64_save_or_restore_fprs): Use aarch64_next_callee_save. (aarch64_save_or_restore_callee_save_registers): Likewise.