aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorChristoph Müllner <christoph.muellner@vrull.eu>2022-12-05 00:38:56 +0100
committerPhilipp Tomsich <philipp.tomsich@vrull.eu>2023-03-15 10:01:16 +0100
commit75047aeb7e6af248dee47ee29bdcd57f93e7352e (patch)
treea3e935a80c7a3aff48e028bbb64ee5c1cc24289b /gcc/fortran
parentb2a1bef96dadcd18f1cc861b10bceaeec7cf48a6 (diff)
downloadgcc-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