https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121432
--- Comment #27 from Gopi Kumar Bulusu <gopi at sankhya dot com> ---
It is a structured process of analysis
check gcc/config/microblaze/microblaze.cc
MicroBlaze stack frames look like:
+-----------------------+
| |
| arguments for called |
| subroutines |
| (optional) |
| |
+-----------------------+
| Link register |
low FP,SP->| |
memory +-----------------------+
Based on the above description, there is nothing wrong with compiler using the
caller's stack frame to save r5
In fact when one looks at the "regression" - the first reaction is that it
looks like a compiler defect, however upon analyzing the ABI, the "blame"
shifts to the Linux Kernel for MicroBlaze