diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target/R600/SIInstrInfo.td index 12e9d4f24bb..587ddb5cd1a 100644 --- a/lib/Target/R600/SIInstrInfo.td +++ b/lib/Target/R600/SIInstrInfo.td @@ -1771,16 +1771,12 @@ class VINTRP_Real_vi op, string opName, dag outs, dag ins, SIMCInstr; multiclass VINTRP_m op, dag outs, dag ins, string asm, - list pattern = [], - string disableEncoding = "", string constraints = ""> { - let DisableEncoding = disableEncoding, - Constraints = constraints in { - def "" : VINTRP_Pseudo ; + list pattern = []> { + def "" : VINTRP_Pseudo ; - def _si : VINTRP_Real_si ; + def _si : VINTRP_Real_si ; - def _vi : VINTRP_Real_vi ; - } + def _vi : VINTRP_Real_vi ; } //===----------------------------------------------------------------------===// diff --git a/lib/Target/R600/SIInstructions.td b/lib/Target/R600/SIInstructions.td index 15c2f3ec193..d92c4b62398 100644 --- a/lib/Target/R600/SIInstructions.td +++ b/lib/Target/R600/SIInstructions.td @@ -1461,15 +1461,17 @@ defm V_INTERP_P1_F32_16bank : V_INTERP_P1_F32_m; } // End OtherPredicates = [has32BankLDS], Constraints = "@earlyclobber $dst" +let DisableEncoding = "$src0", Constraints = "$src0 = $dst" in { + defm V_INTERP_P2_F32 : VINTRP_m < 0x00000001, (outs VGPR_32:$dst), (ins VGPR_32:$src0, VGPR_32:$j, i32imm:$attr_chan, i32imm:$attr), "v_interp_p2_f32 $dst, [$src0], $j, $attr_chan, $attr, [m0]", [(set f32:$dst, (AMDGPUinterp_p2 f32:$src0, i32:$j, (i32 imm:$attr_chan), - (i32 imm:$attr)))], - "$src0", - "$src0 = $dst">; + (i32 imm:$attr)))]>; + +} // End DisableEncoding = "$src0", Constraints = "$src0 = $dst" defm V_INTERP_MOV_F32 : VINTRP_m < 0x00000002,