[PATCH] D27278: AMDGPU: Fix operand name for v_interp_*
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 5 15:17:52 PST 2016
arsenm updated this revision to Diff 80337.
arsenm added a comment.
Fix rest of operands
https://reviews.llvm.org/D27278
Files:
lib/Target/AMDGPU/SIInstructions.td
test/MC/Disassembler/AMDGPU/missing_op.txt
test/MC/Disassembler/AMDGPU/vinterp.txt
Index: test/MC/Disassembler/AMDGPU/vinterp.txt
===================================================================
--- test/MC/Disassembler/AMDGPU/vinterp.txt
+++ test/MC/Disassembler/AMDGPU/vinterp.txt
@@ -1,5 +1,5 @@
# RUN: llvm-mc -arch=amdgcn -mcpu=fiji -disassemble < %s | FileCheck %s -check-prefix=VI
#TODO: this test will fail when we fix v_interp_p2_f32 signature, remove it then
-#VI: v_interp_p2_f32 16, [/*Missing OP1*/], /*Missing OP2*/, /*Missing OP3*/, /*Missing OP4*/
+#VI: v_interp_p2_f32 v7, [v7], v212, 1, 16, [m0]
0xd4 0x41 0x1d 0xd4
Index: lib/Target/AMDGPU/SIInstructions.td
===================================================================
--- lib/Target/AMDGPU/SIInstructions.td
+++ lib/Target/AMDGPU/SIInstructions.td
@@ -50,44 +50,44 @@
multiclass V_INTERP_P1_F32_m : VINTRP_m <
0x00000000,
- (outs VGPR_32:$dst),
- (ins VGPR_32:$i, i32imm:$attr_chan, i32imm:$attr),
- "v_interp_p1_f32 $dst, $i, $attr_chan, $attr, [m0]",
- [(set f32:$dst, (AMDGPUinterp_p1 f32:$i, (i32 imm:$attr_chan),
- (i32 imm:$attr)))]
+ (outs VGPR_32:$vdst),
+ (ins VGPR_32:$vsrc, i32imm:$attrchan, i32imm:$attr),
+ "v_interp_p1_f32 $vdst, $vsrc, $attrchan, $attr, [m0]",
+ [(set f32:$vdst, (AMDGPUinterp_p1 f32:$vsrc, (i32 imm:$attrchan),
+ (i32 imm:$attr)))]
>;
let OtherPredicates = [has32BankLDS] in {
defm V_INTERP_P1_F32 : V_INTERP_P1_F32_m;
} // End OtherPredicates = [has32BankLDS]
-let OtherPredicates = [has16BankLDS], Constraints = "@earlyclobber $dst", isAsmParserOnly=1 in {
+let OtherPredicates = [has16BankLDS], Constraints = "@earlyclobber $vdst", isAsmParserOnly=1 in {
defm V_INTERP_P1_F32_16bank : V_INTERP_P1_F32_m;
-} // End OtherPredicates = [has32BankLDS], Constraints = "@earlyclobber $dst", isAsmParserOnly=1
+} // End OtherPredicates = [has32BankLDS], Constraints = "@earlyclobber $vdst", isAsmParserOnly=1
-let DisableEncoding = "$src0", Constraints = "$src0 = $dst" in {
+let DisableEncoding = "$src0", Constraints = "$src0 = $vdst" 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, f32:$j, (i32 imm:$attr_chan),
- (i32 imm:$attr)))]>;
+ (outs VGPR_32:$vdst),
+ (ins VGPR_32:$src0, VGPR_32:$vsrc, i32imm:$attrchan, i32imm:$attr),
+ "v_interp_p2_f32 $vdst, [$src0], $vsrc, $attrchan, $attr, [m0]",
+ [(set f32:$vdst, (AMDGPUinterp_p2 f32:$src0, f32:$vsrc, (i32 imm:$attrchan),
+ (i32 imm:$attr)))]>;
-} // End DisableEncoding = "$src0", Constraints = "$src0 = $dst"
+} // End DisableEncoding = "$src0", Constraints = "$src0 = $vdst"
defm V_INTERP_MOV_F32 : VINTRP_m <
0x00000002,
- (outs VGPR_32:$dst),
- (ins InterpSlot:$src0, i32imm:$attr_chan, i32imm:$attr),
- "v_interp_mov_f32 $dst, $src0, $attr_chan, $attr, [m0]",
- [(set f32:$dst, (AMDGPUinterp_mov (i32 imm:$src0), (i32 imm:$attr_chan),
- (i32 imm:$attr)))]>;
+ (outs VGPR_32:$vdst),
+ (ins InterpSlot:$src0, i32imm:$attrchan, i32imm:$attr),
+ "v_interp_mov_f32 $vdst, $src0, $attrchan, $attr, [m0]",
+ [(set f32:$vdst, (AMDGPUinterp_mov (i32 imm:$src0), (i32 imm:$attrchan),
+ (i32 imm:$attr)))]>;
} // End Uses = [M0, EXEC]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27278.80337.patch
Type: text/x-patch
Size: 3556 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161205/4ec570e8/attachment.bin>
More information about the llvm-commits
mailing list