Index: llvm/lib/Target/AMDGPU/SIInstrInfo.td =================================================================== --- llvm/lib/Target/AMDGPU/SIInstrInfo.td +++ llvm/lib/Target/AMDGPU/SIInstrInfo.td @@ -1339,8 +1339,8 @@ } def DSTCLAMP { - int NONE = 0; - int ENABLE = 1; + bit NONE = 0; + bit ENABLE = 1; } def DSTOMOD { Index: llvm/lib/Target/AMDGPU/VOP3PInstructions.td =================================================================== --- llvm/lib/Target/AMDGPU/VOP3PInstructions.td +++ llvm/lib/Target/AMDGPU/VOP3PInstructions.td @@ -10,6 +10,9 @@ // VOP3P Classes //===----------------------------------------------------------------------===// +class vdst_in_op32 : + OperandWithDefaultOps; + class VOP3PInst : VOP3P_Pseudo.ret, getVOP3Pat.ret) @@ -31,7 +34,7 @@ FP16InputMods:$src1_modifiers, VCSrc_f16:$src1, FP16InputMods:$src2_modifiers, VCSrc_f16:$src2, clampmod:$clamp), - !if(UseTiedOutput, (ins VGPR_32:$vdst_in), (ins))), + !if(UseTiedOutput, (ins vdst_in_op32:$vdst_in), (ins))), (ins op_sel:$op_sel, op_sel_hi:$op_sel_hi)); let Constraints = !if(UseTiedOutput, "$vdst = $vdst_in", ""); @@ -91,7 +94,7 @@ $src1_modifiers, $src1, $src2_modifiers, $src2, DSTCLAMP.NONE, - (i32 (IMPLICIT_DEF))) + (IMPLICIT_DEF)) >; // FIXME: Special case handling for maxhi (especially for clamp) @@ -137,7 +140,7 @@ $lo_src1_modifiers, $lo_src1, $lo_src2_modifiers, $lo_src2, DSTCLAMP.ENABLE, - (i32 (IMPLICIT_DEF))))) + (IMPLICIT_DEF)))) >; }