[PATCH] D148874: [RISCV][CodeGen] Support Zfinx codegen

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 28 10:50:05 PDT 2023


craig.topper added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoF.td:644
+/// Loads
+def : Pat<(f32 (load GPR:$rs1)), (COPY (LW GPR:$rs1, 0))>;
+
----------------
```
def : Pat<(f32 (load (AddrRegImm GPR:$rs1, simm12:$imm12))),
          (COPY_TO_REGCLASS (LW GPR:$rs1, simm12:$imm12), GPRF32)>;
```


================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoF.td:647
+/// Stores
+def : Pat<(store (f32 FPR32INX:$rs2), GPR:$rs1),
+          (SW (COPY FPR32INX:$rs2), GPR:$rs1, 0)>;
----------------
```
def : Pat<(store (f32 FPR32INX:$rs2), (AddrRegImm GPR:$rs1, simm12:$imm12)),
          (SW (COPY_TO_REGCLASS FPR32INX:$rs2, GPR), GPR:$rs1, simm12:$imm12)>;
```


================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoF.td:659
+// Moves (no conversion)
+def : Pat<(f32 (bitconvert (i32 GPR:$rs1))), (COPY GPR:$rs1)>;
+def : Pat<(i32 (bitconvert FPR32INX:$rs1)), (COPY FPR32INX:$rs1)>;
----------------
`(COPY_TO_REGCLASS GPR:$rs1, GPRF32)`


================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoF.td:660
+def : Pat<(f32 (bitconvert (i32 GPR:$rs1))), (COPY GPR:$rs1)>;
+def : Pat<(i32 (bitconvert FPR32INX:$rs1)), (COPY FPR32INX:$rs1)>;
+} // Predicates = [HasStdExtZfinx, IsRV32]
----------------
`(COPY_TO_REGCLASS FPR32INX:$rs1, GPR)`


================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoF.td:739
+// Moves (no conversion)
+def : Pat<(riscv_fmv_w_x_rv64 GPR:$src), (COPY GPR:$src)>;
+def : Pat<(riscv_fmv_x_anyextw_rv64 GPRF32:$src), (COPY GPRF32:$src)>;
----------------
`(COPY_TO_REGCLASS GPR:$src, GPRF32)`


================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoF.td:740
+def : Pat<(riscv_fmv_w_x_rv64 GPR:$src), (COPY GPR:$src)>;
+def : Pat<(riscv_fmv_x_anyextw_rv64 GPRF32:$src), (COPY GPRF32:$src)>;
+
----------------
`(COPY_TO_REGCLASS GPRF32:$src, GPR)`


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D148874/new/

https://reviews.llvm.org/D148874



More information about the llvm-commits mailing list