diff options
author | Christoph Müllner <christoph.muellner@vrull.eu> | 2022-12-05 00:38:56 +0100 |
---|---|---|
committer | Philipp Tomsich <philipp.tomsich@vrull.eu> | 2023-03-15 10:01:16 +0100 |
commit | 75047aeb7e6af248dee47ee29bdcd57f93e7352e (patch) | |
tree | a3e935a80c7a3aff48e028bbb64ee5c1cc24289b /gcc/fortran | |
parent | b2a1bef96dadcd18f1cc861b10bceaeec7cf48a6 (diff) | |
download | gcc-75047aeb7e6af248dee47ee29bdcd57f93e7352e.zip gcc-75047aeb7e6af248dee47ee29bdcd57f93e7352e.tar.gz gcc-75047aeb7e6af248dee47ee29bdcd57f93e7352e.tar.bz2 |
riscv: thead: Add support for the XTheadFmv ISA extension
The XTheadFmv ISA extension provides instructions to move
data between 32-bit GP registers and 64-bit FP registers.
Co-Developed-by: Xianmiao Qu <cooper.qu@linux.alibaba.com>
Signed-off-by: Xianmiao Qu <cooper.qu@linux.alibaba.com>
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
gcc/ChangeLog:
* config/riscv/constraints.md (TARGET_XTHEADFMV ? FP_REGS : NO_REGS)
New constraint "th_f_fmv".
(TARGET_XTHEADFMV ? GR_REGS : NO_REGS): New constraint
"th_r_fmv".
* config/riscv/riscv.cc (riscv_split_doubleword_move):
Add split code for XTheadFmv.
(riscv_secondary_memory_needed): XTheadFmv does not need
secondary memory.
* config/riscv/riscv.md: Add new UNSPEC_XTHEADFMV and
UNSPEC_XTHEADFMV_HW. Add support for XTheadFmv to
movdf_hardfloat_rv32.
* config/riscv/thead.md (th_fmv_hw_w_x): New INSN.
(th_fmv_x_w): New INSN.
(th_fmv_x_hw): New INSN.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/xtheadfmv-fmv.c: New test.
Diffstat (limited to 'gcc/fortran')
0 files changed, 0 insertions, 0 deletions