diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td b/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td index 0b03703a66938e..f84d480ab21f6f 100644 --- a/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td +++ b/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td @@ -3375,12 +3375,12 @@ defm PseudoVWMACCSU : VPseudoTernaryW_VV_VX; defm PseudoVWMACCUS : VPseudoTernaryW_VX; //===----------------------------------------------------------------------===// -// 12.16. Vector Integer Merge Instructions +// 12.15. Vector Integer Merge Instructions //===----------------------------------------------------------------------===// defm PseudoVMERGE : VPseudoBinaryV_VM_XM_IM; //===----------------------------------------------------------------------===// -// 12.17. Vector Integer Move Instructions +// 12.16. Vector Integer Move Instructions //===----------------------------------------------------------------------===// defm PseudoVMV_V : VPseudoUnaryV_V_X_I_NoDummyMask; @@ -3966,12 +3966,12 @@ defm "" : VPatTernaryW_VV_VX<"int_riscv_vwmaccsu", "PseudoVWMACCSU", AllWidenabl defm "" : VPatTernaryW_VX<"int_riscv_vwmaccus", "PseudoVWMACCUS", AllWidenableIntVectors>; //===----------------------------------------------------------------------===// -// 12.16. Vector Integer Merge Instructions +// 12.15. Vector Integer Merge Instructions //===----------------------------------------------------------------------===// defm "" : VPatBinaryV_VM_XM_IM<"int_riscv_vmerge", "PseudoVMERGE">; //===----------------------------------------------------------------------===// -// 12.17. Vector Integer Move Instructions +// 12.16. Vector Integer Move Instructions //===----------------------------------------------------------------------===// foreach vti = AllVectors in { def : Pat<(vti.Vector (int_riscv_vmv_v_v (vti.Vector vti.RegClass:$rs1), diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td b/llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td index a988a0ed2aaf42..0f69bb1b1b5612 100644 --- a/llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td +++ b/llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td @@ -468,7 +468,7 @@ defm "" : VPatBinarySDNode_VV_VX; defm "" : VPatBinarySDNode_VV_VX; defm "" : VPatBinarySDNode_VV_VX; -// 12.16. Vector Integer Merge Instructions +// 12.15. Vector Integer Merge Instructions foreach vti = AllIntegerVectors in { def : Pat<(vti.Vector (vselect (vti.Mask VMV0:$vm), vti.RegClass:$rs1, vti.RegClass:$rs2)), @@ -647,7 +647,7 @@ foreach vti = AllFloatVectors in { vti.RegClass:$rs1, vti.ScalarRegClass:$rs2, vti.AVL, vti.SEW)>; } -// 14.11. Vector Floating-Point Compare Instructions +// 14.13. Vector Floating-Point Compare Instructions defm "" : VPatFPSetCCSDNode_VV_VF_FV; defm "" : VPatFPSetCCSDNode_VV_VF_FV; @@ -661,8 +661,8 @@ defm "" : VPatFPSetCCSDNode_VV_VF_FV; defm "" : VPatFPSetCCSDNode_VV_VF_FV; // Floating-point vselects: -// 12.16. Vector Integer Merge Instructions -// 14.13. Vector Floating-Point Merge Instruction +// 12.15. Vector Integer Merge Instructions +// 14.15. Vector Floating-Point Merge Instruction foreach fvti = AllFloatVectors in { def : Pat<(fvti.Vector (vselect (fvti.Mask VMV0:$vm), fvti.RegClass:$rs1, fvti.RegClass:$rs2)), @@ -685,13 +685,13 @@ foreach fvti = AllFloatVectors in { fvti.RegClass:$rs2, 0, VMV0:$vm, fvti.AVL, fvti.SEW)>; } -// 14.15. Vector Single-Width Floating-Point/Integer Type-Convert Instructions +// 14.17. Vector Single-Width Floating-Point/Integer Type-Convert Instructions defm "" : VPatConvertFP2ISDNode_V; defm "" : VPatConvertFP2ISDNode_V; defm "" : VPatConvertI2FPSDNode_V; defm "" : VPatConvertI2FPSDNode_V; -// 14.16. Widening Floating-Point/Integer Type-Convert Instructions +// 14.18. Widening Floating-Point/Integer Type-Convert Instructions defm "" : VPatWConvertFP2ISDNode_V; defm "" : VPatWConvertFP2ISDNode_V; defm "" : VPatWConvertI2FPSDNode_V; @@ -704,7 +704,7 @@ foreach fvtiToFWti = AllWidenableFloatVectors in { fvti.RegClass:$rs1, fvti.AVL, fvti.SEW)>; } -// 14.17. Narrowing Floating-Point/Integer Type-Convert Instructions +// 14.19. Narrowing Floating-Point/Integer Type-Convert Instructions defm "" : VPatNConvertFP2ISDNode_V; defm "" : VPatNConvertFP2ISDNode_V; defm "" : VPatNConvertI2FPSDNode_V; diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td b/llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td index 73c4197978a297..d6d399243d1927 100644 --- a/llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td +++ b/llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td @@ -603,7 +603,7 @@ defm "" : VPatBinaryVL_VV_VX; defm "" : VPatBinaryVL_VV_VX; defm "" : VPatBinaryVL_VV_VX; -// 12.16. Vector Integer Merge Instructions +// 12.15. Vector Integer Merge Instructions foreach vti = AllIntegerVectors in { def : Pat<(vti.Vector (riscv_vselect_vl (vti.Mask VMV0:$vm), vti.RegClass:$rs1, @@ -628,7 +628,7 @@ foreach vti = AllIntegerVectors in { vti.RegClass:$rs2, simm5:$rs1, VMV0:$vm, GPR:$vl, vti.SEW)>; } -// 12.17. Vector Integer Move Instructions +// 12.16. Vector Integer Move Instructions foreach vti = AllIntegerVectors in { def : Pat<(vti.Vector (riscv_vmv_v_x_vl GPR:$rs2, (XLenVT (VLOp GPR:$vl)))), (!cast("PseudoVMV_V_X_"#vti.LMul.MX) @@ -762,7 +762,7 @@ foreach vti = AllFloatVectors in { GPR:$vl, vti.SEW)>; } -// 14.11. Vector Floating-Point Compare Instructions +// 14.13. Vector Floating-Point Compare Instructions defm "" : VPatFPSetCCVL_VV_VF_FV; defm "" : VPatFPSetCCVL_VV_VF_FV; @@ -775,8 +775,6 @@ defm "" : VPatFPSetCCVL_VV_VF_FV; defm "" : VPatFPSetCCVL_VV_VF_FV; defm "" : VPatFPSetCCVL_VV_VF_FV; -// 14.12. Vector Floating-Point Sign-Injection Instructions -// Handle fneg with VFSGNJN using the same input for both operands. foreach vti = AllFloatVectors in { // 14.8. Vector Floating-Point Square-Root Instruction def : Pat<(riscv_fsqrt_vl (vti.Vector vti.RegClass:$rs2), (vti.Mask true_mask), @@ -798,8 +796,8 @@ foreach vti = AllFloatVectors in { foreach fvti = AllFloatVectors in { // Floating-point vselects: - // 12.16. Vector Integer Merge Instructions - // 14.13. Vector Floating-Point Merge Instruction + // 12.15. Vector Integer Merge Instructions + // 14.15. Vector Floating-Point Merge Instruction def : Pat<(fvti.Vector (riscv_vselect_vl (fvti.Mask VMV0:$vm), fvti.RegClass:$rs1, fvti.RegClass:$rs2,