Skip to content

Commit 45251ef

Browse files
committed
[AMDGPU][MC] Corrected v_writelane_b32 to fix a decoding bug
Corrected vdst_in to match vdst operand type. See bug 45193: https://bugs.llvm.org/show_bug.cgi?id=45193 Reviewers: arsenm, rampitec Differential Revision: https://reviews.llvm.org/D80636
1 parent a56141b commit 45251ef

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

llvm/lib/Target/AMDGPU/VOP2Instructions.td

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1262,9 +1262,9 @@ defm V_SUBBREV_U32 : VOP2be_Real_gfx6_gfx7<0x02a>;
12621262

12631263
defm V_READLANE_B32 : VOP2Only_Real_gfx6_gfx7<0x001>;
12641264

1265-
let InOperandList = (ins SSrcOrLds_b32:$src0, SCSrc_b32:$src1, VSrc_b32:$vdst_in) in {
1265+
let InOperandList = (ins SSrcOrLds_b32:$src0, SCSrc_b32:$src1, VGPR_32:$vdst_in) in {
12661266
defm V_WRITELANE_B32 : VOP2Only_Real_gfx6_gfx7<0x002>;
1267-
} // End InOperandList = (ins SSrcOrLds_b32:$src0, SCSrc_b32:$src1, VSrc_b32:$vdst_in)
1267+
} // End InOperandList = (ins SSrcOrLds_b32:$src0, SCSrc_b32:$src1, VGPR_32:$vdst_in)
12681268

12691269
let SubtargetPredicate = isGFX6GFX7 in {
12701270
defm : VOP2eInstAliases<V_CNDMASK_B32_e32, V_CNDMASK_B32_e32_gfx6_gfx7>;

llvm/lib/Target/AMDGPU/VOP3Instructions.td

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -839,9 +839,9 @@ let AssemblerPredicate = isGFX10Plus, DecoderNamespace = "GFX10" in {
839839

840840
defm V_READLANE_B32 : VOP3_Real_gfx10<0x360>;
841841

842-
let InOperandList = (ins SSrcOrLds_b32:$src0, SCSrc_b32:$src1, VSrc_b32:$vdst_in) in {
842+
let InOperandList = (ins SSrcOrLds_b32:$src0, SCSrc_b32:$src1, VGPR_32:$vdst_in) in {
843843
defm V_WRITELANE_B32 : VOP3_Real_gfx10<0x361>;
844-
} // End InOperandList = (ins SSrcOrLds_b32:$src0, SCSrc_b32:$src1, VSrc_b32:$vdst_in)
844+
} // End InOperandList = (ins SSrcOrLds_b32:$src0, SCSrc_b32:$src1, VGPR_32:$vdst_in)
845845

846846
defm V_XOR3_B32 : VOP3_Real_gfx10<0x178>;
847847
defm V_LSHLREV_B64 : VOP3_Real_gfx10<0x2ff>;

llvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_all.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98025,8 +98025,8 @@
9802598025
# GFX10: v_trunc_f64_e64 v[5:6], |v[1:2]| ; encoding: [0x05,0x01,0x97,0xd5,0x01,0x01,0x00,0x00]
9802698026
0x05,0x01,0x97,0xd5,0x01,0x01,0x00,0x00
9802798027

98028-
# GFX10-FIXME: v_writelane_b32 v255, 0, s2 ; encoding: [0xff,0x00,0x61,0xd7,0x80,0x04,0x00,0x00]
98029-
# 0xff,0x00,0x61,0xd7,0x80,0x04,0x00,0x00
98028+
# GFX10: v_writelane_b32 v255, 0, s2 ; encoding: [0xff,0x00,0x61,0xd7,0x80,0x04,0x00,0x00]
98029+
0xff,0x00,0x61,0xd7,0x80,0x04,0x00,0x00
9803098030

9803198031
# GFX10: v_writelane_b32 v5, -1, s2 ; encoding: [0x05,0x00,0x61,0xd7,0xc1,0x04,0x00,0x00]
9803298032
0x05,0x00,0x61,0xd7,0xc1,0x04,0x00,0x00

0 commit comments

Comments
 (0)