-
- Downloads
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.
Showing
- gcc/config/riscv/constraints.md 8 additions, 0 deletionsgcc/config/riscv/constraints.md
- gcc/config/riscv/riscv.cc 22 additions, 3 deletionsgcc/config/riscv/riscv.cc
- gcc/config/riscv/riscv.md 8 additions, 3 deletionsgcc/config/riscv/riscv.md
- gcc/config/riscv/thead.md 33 additions, 0 deletionsgcc/config/riscv/thead.md
- gcc/testsuite/gcc.target/riscv/xtheadfmv-fmv.c 24 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/xtheadfmv-fmv.c
Loading
Please register or sign in to comment