mirror of git://gcc.gnu.org/git/gcc.git
Previously the spec https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/70 has changed the save/restore routines to save/restore the registers which are really used for ILP32E/LP64 rather than always save/restore all of ra/s0/s1. I also found here that lacks the implementation for lp64e. If it's necessary I will file anothor patch for that. gcc/ChangeLog: * config/riscv/riscv.cc (riscv_compute_frame_info): Remove the dedicated calculation for RVE. libgcc/ChangeLog: * config/riscv/save-restore.S: Only save/restore the registers which are really used for ILP32E/LP64. gcc/testsuite/ChangeLog: * gcc.target/riscv/save-restore-cfi-3.c: New test. |
||
|---|---|---|
| .. | ||
| atomic.c | ||
| crti.S | ||
| crtn.S | ||
| div.S | ||
| feature_bits.c | ||
| linux-unwind.h | ||
| muldi3.S | ||
| multi3.c | ||
| riscv-asm.h | ||
| save-restore.S | ||
| sfp-machine.h | ||
| shadow-stack-unwind.h | ||
| t-crtstuff | ||
| t-elf | ||
| t-elf32 | ||
| t-elf64 | ||
| t-softfp32 | ||
| t-softfp64 | ||
| value-unwind.h | ||