[llvm] [RISCV][GISEL] Legalize G_INSERT and G_EXTRACT for scalable vectors (PR #108220)
    Craig Topper via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Wed Sep 11 10:03:00 PDT 2024
    
    
  
================
@@ -41,6 +41,82 @@ def G_VMCLR_VL : RISCVGenericInstruction {
 }
 def : GINodeEquiv<G_VMCLR_VL, riscv_vmclr_vl>;
 
+// Pseudo equivalent to a RISCVISD::VFMV_S_F_VL
+def G_VFMV_S_F_VL : RISCVGenericInstruction {
+  let OutOperandList = (outs type0:$dst);
+  let InOperandList = (ins type0:$vec, type1:$scalar, type2:$vl);
+  let hasSideEffects = false;
+}
+def : GINodeEquiv<G_VFMV_S_F_VL, riscv_vfmv_s_f_vl>;
+
+// Pseudo equivalent to a RISCVISD::VFMV_V_F_VL
+def G_VFMV_V_F_VL : RISCVGenericInstruction {
+  let OutOperandList = (outs type0:$dst);
+  let InOperandList = (ins type0:$vec, type1:$scalar, type2:$vl);
+  let hasSideEffects = false;
+}
+def : GINodeEquiv<G_VFMV_V_F_VL, riscv_vfmv_v_f_vl>;
+
+// Pseudo equivalent to a RISCVISD::VMV_S_X_VL
+def G_VMV_S_X_VL : RISCVGenericInstruction {
+  let OutOperandList = (outs type0:$dst);
+  let InOperandList = (ins type0:$vec, type1:$scalar, type2:$vl);
+  let hasSideEffects = false;
+}
+def : GINodeEquiv<G_VMV_S_X_VL, riscv_vmv_s_x_vl>;
+
+// Pseudo equivalent to a RISCVISD::VMV_V_X_VL
+def G_VMV_V_X_VL : RISCVGenericInstruction {
----------------
topperc wrote:
This isn't used?
https://github.com/llvm/llvm-project/pull/108220
    
    
More information about the llvm-commits
mailing list