]> git.ipfire.org Git - thirdparty/gcc.git/commit
RISC-V: Add sifive-7 pipeline description.
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 26 Mar 2019 19:41:02 +0000 (19:41 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 26 Mar 2019 19:41:02 +0000 (19:41 +0000)
commit8b1090c1eaf28580aeac2de46401eaf4fc91bb5a
treed246eb687ec1e908666d71afffd2152c6a17ccd7
parent5bcde5d8f7c8ac819d316db9a819988bea64c87c
RISC-V: Add sifive-7 pipeline description.

* config/riscv/generic.md (generic_alu, generic_load, generic_store)
(generic_xfer, generic_branch, generic_imul, generic_idivsi)
(generic_idivdi, generic_fmul_single, generic_fmul_double)
(generic_fdiv, generic_fsqrt): Add check for generic tune.
(generic_alu): Add auipc to type list.
* config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): New.
(riscv_microarchitecture): Declare.
* config/riscv/riscv-protos.h (riscv_store_data_bypass_p): Declare.
* config/riscv/riscv.c (struct riscv_cpu_info): Add microarchitecture
field.
(riscv_microarchitecture): New.
(sifive_7_tune_info): New.
(riscv_cpu_info_table): Add microarchitecture value for rocket and
size.  Add sifive-3-series, sifive-5-series, and sifive-7-series
entries.
(riscv_store_data_bypass_p): New.
(riscv_option_override): Set riscv_microarchitecture from
cpu->microarchitecture.
* config/riscv/riscv.md: Include sifive-7.md.
(type): Add auipc.
(tune): New.
(auipc<mode>): Change type to auipc.
(restore_stack_nonlocal): New.
* config/riscv/sifive-7.md: New.
* doc/invoke.texi (RISC-V Options): Update mtune docs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269954 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/riscv/generic.md
gcc/config/riscv/riscv-opts.h
gcc/config/riscv/riscv-protos.h
gcc/config/riscv/riscv.c
gcc/config/riscv/riscv.md
gcc/config/riscv/sifive-7.md [new file with mode: 0644]
gcc/doc/invoke.texi