[llvm] r364208 - [AMDGPU] Allow any value in unused src0 field in v_nop
Tim Renouf via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 24 10:35:20 PDT 2019
Author: tpr
Date: Mon Jun 24 10:35:20 2019
New Revision: 364208
URL: http://llvm.org/viewvc/llvm-project?rev=364208&view=rev
Log:
[AMDGPU] Allow any value in unused src0 field in v_nop
Summary:
The LLVM disassembler assumes that the unused src0 operand of v_nop is
zero. Other tools can put another value in that field, which is still
valid. This commit fixes the LLVM disassembler to recognize such an
encoding as v_nop, in the same way as we already do for s_getpc.
Differential Revision: https://reviews.llvm.org/D63724
Change-Id: Iaf0363eae26ff92fc4ebc716216476adbff37a6f
Modified:
llvm/trunk/lib/Target/AMDGPU/VOP1Instructions.td
llvm/trunk/test/MC/Disassembler/AMDGPU/nop.txt
llvm/trunk/test/MC/Disassembler/AMDGPU/vop1.txt
llvm/trunk/test/MC/Disassembler/AMDGPU/vop1_vi.txt
Modified: llvm/trunk/lib/Target/AMDGPU/VOP1Instructions.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/VOP1Instructions.td?rev=364208&r1=364207&r2=364208&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AMDGPU/VOP1Instructions.td (original)
+++ llvm/trunk/lib/Target/AMDGPU/VOP1Instructions.td Mon Jun 24 10:35:20 2019
@@ -14,7 +14,7 @@ class VOP1e <bits<8> op, VOPProfile P> :
bits<8> vdst;
bits<9> src0;
- let Inst{8-0} = !if(P.HasSrc0, src0{8-0}, 0);
+ let Inst{8-0} = !if(P.HasSrc0, src0{8-0}, ?);
let Inst{16-9} = op;
let Inst{24-17} = !if(P.EmitDst, vdst{7-0}, 0);
let Inst{31-25} = 0x3f; //encoding
Modified: llvm/trunk/test/MC/Disassembler/AMDGPU/nop.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/AMDGPU/nop.txt?rev=364208&r1=364207&r2=364208&view=diff
==============================================================================
--- llvm/trunk/test/MC/Disassembler/AMDGPU/nop.txt (original)
+++ llvm/trunk/test/MC/Disassembler/AMDGPU/nop.txt Mon Jun 24 10:35:20 2019
@@ -2,3 +2,6 @@
# CHECK: v_nop ; encoding: [0x00,0x00,0x00,0x7e]
0x00 0x00 0x00 0x7e
+
+# CHECK: v_nop ; encoding: [0x00,0x00,0x00,0x7e]
+0x80 0x00 0x00 0x7e
Modified: llvm/trunk/test/MC/Disassembler/AMDGPU/vop1.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/AMDGPU/vop1.txt?rev=364208&r1=364207&r2=364208&view=diff
==============================================================================
--- llvm/trunk/test/MC/Disassembler/AMDGPU/vop1.txt (original)
+++ llvm/trunk/test/MC/Disassembler/AMDGPU/vop1.txt Mon Jun 24 10:35:20 2019
@@ -3,6 +3,9 @@
# CHECK: v_nop ; encoding: [0x00,0x00,0x00,0x7e]
0x00 0x00 0x00 0x7e
+# CHECK: v_nop ; encoding: [0x00,0x00,0x00,0x7e]
+0x80 0x00 0x00 0x7e
+
# CHECK: v_clrexcp ; encoding: [0x00,0x6a,0x00,0x7e]
0x00 0x6a 0x00 0x7e
Modified: llvm/trunk/test/MC/Disassembler/AMDGPU/vop1_vi.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/AMDGPU/vop1_vi.txt?rev=364208&r1=364207&r2=364208&view=diff
==============================================================================
--- llvm/trunk/test/MC/Disassembler/AMDGPU/vop1_vi.txt (original)
+++ llvm/trunk/test/MC/Disassembler/AMDGPU/vop1_vi.txt Mon Jun 24 10:35:20 2019
@@ -6,6 +6,9 @@
# VI: v_nop ; encoding: [0x00,0x00,0x00,0x7e]
0x00 0x00 0x00 0x7e
+# VI: v_nop ; encoding: [0x00,0x00,0x00,0x7e]
+0x80 0x00 0x00 0x7e
+
# VI: v_clrexcp ; encoding: [0x00,0x6a,0x00,0x7e]
0x00 0x6a 0x00 0x7e
More information about the llvm-commits
mailing list