diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2015-05-22 17:34:01 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2015-05-22 17:38:17 +0000 |
commit | 7bc2442bdb800a126e550fd4ed89ed03e2d29ad7 (patch) | |
tree | 1f4d941388549c6aaa1072f0c4ac01eceef7d09a | |
parent | a254bbe6deb3c2e5e98f565306543e0de811be2d (diff) |
R600/SI: Remove some unnecessary patterns from VINTRP multiclassvinterp-fix
DisableEncoding and Constraints can be set using let statements around
the multiclass defs.
-rw-r--r-- | lib/Target/R600/SIInstrInfo.td | 12 | ||||
-rw-r--r-- | lib/Target/R600/SIInstructions.td | 8 |
2 files changed, 9 insertions, 11 deletions
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 <bits <2> op, string opName, dag outs, dag ins, SIMCInstr<opName, SISubtarget.VI>; multiclass VINTRP_m <bits <2> op, dag outs, dag ins, string asm, - list<dag> pattern = [], - string disableEncoding = "", string constraints = ""> { - let DisableEncoding = disableEncoding, - Constraints = constraints in { - def "" : VINTRP_Pseudo <NAME, outs, ins, pattern>; + list<dag> pattern = []> { + def "" : VINTRP_Pseudo <NAME, outs, ins, pattern>; - def _si : VINTRP_Real_si <op, NAME, outs, ins, asm>; + def _si : VINTRP_Real_si <op, NAME, outs, ins, asm>; - def _vi : VINTRP_Real_vi <op, NAME, outs, ins, asm>; - } + def _vi : VINTRP_Real_vi <op, NAME, outs, ins, asm>; } //===----------------------------------------------------------------------===// 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, |