From f6670a3f0557cfe288ceb3ae07a1abc8d1ec1007 Mon Sep 17 00:00:00 2001 From: Jay Foad Date: Mon, 14 Nov 2022 15:27:59 +0000 Subject: [PATCH] [AMDGPU] More use of DivergentBinFrag and friends. NFC. --- llvm/lib/Target/AMDGPU/SIInstructions.td | 10 +++++----- llvm/lib/Target/AMDGPU/VOP2Instructions.td | 6 +++--- llvm/lib/Target/AMDGPU/VOP3Instructions.td | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/llvm/lib/Target/AMDGPU/SIInstructions.td b/llvm/lib/Target/AMDGPU/SIInstructions.td index a421b03..c1e25c3 100644 --- a/llvm/lib/Target/AMDGPU/SIInstructions.td +++ b/llvm/lib/Target/AMDGPU/SIInstructions.td @@ -236,12 +236,12 @@ def V_SET_INACTIVE_B64 : VPseudoInstSI <(outs VReg_64:$vdst), let usesCustomInserter = 1, Defs = [VCC, EXEC] in { def V_ADD_U64_PSEUDO : VPseudoInstSI < (outs VReg_64:$vdst), (ins VSrc_b64:$src0, VSrc_b64:$src1), - [(set VReg_64:$vdst, (getDivergentFrag.ret i64:$src0, i64:$src1))] + [(set VReg_64:$vdst, (DivergentBinFrag i64:$src0, i64:$src1))] >; def V_SUB_U64_PSEUDO : VPseudoInstSI < (outs VReg_64:$vdst), (ins VSrc_b64:$src0, VSrc_b64:$src1), - [(set VReg_64:$vdst, (getDivergentFrag.ret i64:$src0, i64:$src1))] + [(set VReg_64:$vdst, (DivergentBinFrag i64:$src0, i64:$src1))] >; } // End usesCustomInserter = 1, Defs = [VCC, EXEC] @@ -1075,7 +1075,7 @@ def : VOPSelectPat ; let AddedComplexity = 1 in { def : GCNPat < - (i32 (add (i32 (getDivergentFrag.ret i32:$popcnt)), i32:$val)), + (i32 (add (i32 (DivergentUnaryFrag i32:$popcnt)), i32:$val)), (V_BCNT_U32_B32_e64 $popcnt, $val) >; } @@ -1086,7 +1086,7 @@ def : GCNPat < >; def : GCNPat < - (i16 (add (i16 (trunc (i32 (getDivergentFrag.ret i32:$popcnt)))), i16:$val)), + (i16 (add (i16 (trunc (i32 (DivergentUnaryFrag i32:$popcnt)))), i16:$val)), (V_BCNT_U32_B32_e64 $popcnt, $val) >; @@ -1742,7 +1742,7 @@ def : GCNPat < >; def : GCNPat < - (getDivergentFrag.ret (v2f32 VReg_64:$src)), + (DivergentUnaryFrag (v2f32 VReg_64:$src)), (V_PK_ADD_F32 11 /* OP_SEL_1 | NEG_LO | HEG_HI */, VReg_64:$src, 11 /* OP_SEL_1 | NEG_LO | HEG_HI */, 0, 0, 0, 0, 0, 0) diff --git a/llvm/lib/Target/AMDGPU/VOP2Instructions.td b/llvm/lib/Target/AMDGPU/VOP2Instructions.td index fc07478..c98d3b9 100644 --- a/llvm/lib/Target/AMDGPU/VOP2Instructions.td +++ b/llvm/lib/Target/AMDGPU/VOP2Instructions.td @@ -795,7 +795,7 @@ defm V_CVT_PKACCUM_U8_F32 : VOP2Inst <"v_cvt_pkaccum_u8_f32", VOP_NO_EXT : GCNPat< - (getDivergentFrag.ret Inst.Pfl.Src0VT:$src0, Inst.Pfl.Src1VT:$src1), + (DivergentBinFrag Inst.Pfl.Src0VT:$src0, Inst.Pfl.Src1VT:$src1), !if(!cast(Inst).IsOrig, (Inst $src0, $src1), (Inst $src1, $src0) @@ -804,7 +804,7 @@ class DivergentBinOp : class DivergentClampingBinOp : GCNPat< - (getDivergentFrag.ret Inst.Pfl.Src0VT:$src0, Inst.Pfl.Src1VT:$src1), + (DivergentBinFrag Inst.Pfl.Src0VT:$src0, Inst.Pfl.Src1VT:$src1), !if(!cast(Inst).IsOrig, (Inst $src0, $src1, 0), (Inst $src1, $src0, 0) @@ -830,7 +830,7 @@ def : DivergentBinOp; class divergent_i64_BinOp : GCNPat< - (getDivergentFrag.ret i64:$src0, i64:$src1), + (DivergentBinFrag i64:$src0, i64:$src1), (REG_SEQUENCE VReg_64, (Inst (i32 (EXTRACT_SUBREG $src0, sub0)), diff --git a/llvm/lib/Target/AMDGPU/VOP3Instructions.td b/llvm/lib/Target/AMDGPU/VOP3Instructions.td index c412a18..db8944a 100644 --- a/llvm/lib/Target/AMDGPU/VOP3Instructions.td +++ b/llvm/lib/Target/AMDGPU/VOP3Instructions.td @@ -262,7 +262,7 @@ let SchedRW = [Write64Bit] in { } // End isReMaterializable = 1 def : GCNPat< - (i32 (getDivergentFrag.ret i16:$src)), + (i32 (DivergentUnaryFrag i16:$src)), (i32 (V_BFE_I32_e64 $src, (S_MOV_B32 (i32 0)), (S_MOV_B32 (i32 0x10)))) >; @@ -368,7 +368,7 @@ def V_INTERP_P1LV_F16 : VOP3Interp <"v_interp_p1lv_f16", VOP3_INTERP16<[f32, f32 } // End SubtargetPredicate = Has16BitInsts, isCommutable = 1 def : GCNPat< - (i64 (getDivergentFrag.ret i16:$src)), + (i64 (DivergentUnaryFrag i16:$src)), (REG_SEQUENCE VReg_64, (i32 (V_BFE_I32_e64 $src, (S_MOV_B32 (i32 0)), (S_MOV_B32 (i32 0x10)))), sub0, (i32 (COPY_TO_REGCLASS @@ -615,7 +615,7 @@ def : GCNPat< def : VOPBinOpClampPat; def : VOPBinOpClampPat; -def : GCNPat<(getDivergentFrag.ret (or_oneuse i64:$src0, i64:$src1), i64:$src2), +def : GCNPat<(DivergentBinFrag (or_oneuse i64:$src0, i64:$src1), i64:$src2), (REG_SEQUENCE VReg_64, (V_OR3_B32_e64 (i32 (EXTRACT_SUBREG $src0, sub0)), (i32 (EXTRACT_SUBREG $src1, sub0)), -- 2.7.4