diff options
author | Kito Cheng <kito.cheng@sifive.com> | 2020-06-10 19:40:59 -0700 |
---|---|---|
committer | Giuliano Belinassi <giuliano.belinassi@usp.br> | 2020-08-17 13:11:52 -0300 |
commit | c9573e9ddc621b1fbec95b7b0e648fe823608b61 (patch) | |
tree | ed77972fa21c2815e67ef9a608c4b7f222e5b76f /gcc/fortran/expr.c | |
parent | e5a25c9aac54aa2e6ce9cdcdb64c2c6188e7fbdb (diff) | |
download | gcc-c9573e9ddc621b1fbec95b7b0e648fe823608b61.zip gcc-c9573e9ddc621b1fbec95b7b0e648fe823608b61.tar.gz gcc-c9573e9ddc621b1fbec95b7b0e648fe823608b61.tar.bz2 |
RISC-V: Describe correct USEs for gpr_save pattern [PR95252]
- Verified on rv32emc/rv32gc/rv64gc bare-metal target and rv32gc/rv64gc
linux target with qemu.
gcc/ChangeLog:
* config/riscv/predicates.md (gpr_save_operation): New.
* config/riscv/riscv-protos.h (riscv_gen_gpr_save_insn): New.
(riscv_gpr_save_operation_p): Ditto.
* config/riscv/riscv-sr.c (riscv_remove_unneeded_save_restore_calls):
Ignore USEs for gpr_save patter.
* config/riscv/riscv.c (gpr_save_reg_order): New.
(riscv_expand_prologue): Use riscv_gen_gpr_save_insn to gen gpr_save.
(riscv_gen_gpr_save_insn): New.
(riscv_gpr_save_operation_p): Ditto.
* config/riscv/riscv.md (S3_REGNUM): New.
(S4_REGNUM): Ditto.
(S5_REGNUM): Ditto.
(S6_REGNUM): Ditto.
(S7_REGNUM): Ditto.
(S8_REGNUM): Ditto.
(S9_REGNUM): Ditto.
(S10_REGNUM): Ditto.
(S11_REGNUM): Ditto.
(gpr_save): Model USEs correctly.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/pr95252.c: New.
Diffstat (limited to 'gcc/fortran/expr.c')
0 files changed, 0 insertions, 0 deletions