aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2025-09-02 14:43:37 +0900
committerMatt Arsenault <arsenm2@gmail.com>2025-09-02 15:17:24 +0900
commit5892af7332272fd0ea0e30652ef9ccc8ab1d0ed7 (patch)
tree419a460194232f297e73131f6b96ad1164ee6479
parentc3c9b84d25cec1357823ca94dfc9873b941746c4 (diff)
downloadllvm-users/arsenm/amdgpu/true16-handle-ds-write-b8-b16.zip
llvm-users/arsenm/amdgpu/true16-handle-ds-write-b8-b16.tar.gz
llvm-users/arsenm/amdgpu/true16-handle-ds-write-b8-b16.tar.bz2
AMDGPU: Handle true16 disassembly of ds_write_b8/b16users/arsenm/amdgpu/true16-handle-ds-write-b8-b16
This avoids an inconsistency in pseudo definitions I ran into for a later patch.
-rw-r--r--llvm/lib/Target/AMDGPU/DSInstructions.td39
-rw-r--r--llvm/lib/Target/AMDGPU/SIInstrInfo.td4
-rw-r--r--llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_ds.txt96
-rw-r--r--llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_ds.txt12
-rw-r--r--llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_ds.txt48
5 files changed, 118 insertions, 81 deletions
diff --git a/llvm/lib/Target/AMDGPU/DSInstructions.td b/llvm/lib/Target/AMDGPU/DSInstructions.td
index a937625..6f9ba80 100644
--- a/llvm/lib/Target/AMDGPU/DSInstructions.td
+++ b/llvm/lib/Target/AMDGPU/DSInstructions.td
@@ -1380,6 +1380,21 @@ multiclass DS_Real_gfx12_with_name<bits<8> op, string name> {
defm "" : DS_Real_gfx12<op, !cast<DS_Pseudo>(NAME), name>;
}
+multiclass DS_Real_gfx12_with_t16<bits<8> op,
+ string name = !tolower(NAME)> {
+ let DecoderNamespace = "GFX12_FAKE16" in {
+ defm "" : DS_Real_gfx12<op, !cast<DS_Pseudo>(NAME#"_gfx9"), name>;
+ }
+
+ let DecoderNamespace = "GFX12", AssemblerPredicate = isGFX12Plus in {
+ def _gfx12_t16 :
+ Base_DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<op,
+ !cast<DS_Pseudo>(NAME#"_t16"),
+ SIEncodingFamily.GFX12, name>,
+ True16D16Table<NAME#"_D16_HI", NAME>;
+ }
+}
+
defm DS_MIN_F32 : DS_Real_gfx12_with_name<0x012, "ds_min_num_f32">;
defm DS_MAX_F32 : DS_Real_gfx12_with_name<0x013, "ds_max_num_f32">;
defm DS_MIN_RTN_F32 : DS_Real_gfx12_with_name<0x032, "ds_min_num_rtn_f32">;
@@ -1444,17 +1459,37 @@ multiclass DS_Real_gfx11<bits<8> op, DS_Pseudo ps = !cast<DS_Pseudo>(NAME),
} // End AssemblerPredicate
}
+multiclass DS_Real_gfx11_with_t16<bits<8> op,
+ string name = !tolower(NAME)> {
+ let DecoderNamespace = "GFX11_FAKE16" in {
+ defm "" : DS_Real_gfx11<op, !cast<DS_Pseudo>(NAME#"_gfx9"), name>;
+ }
+
+ let DecoderNamespace = "GFX11", AssemblerPredicate = isGFX11Only in {
+ def _gfx11_t16 :
+ Base_DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<op,
+ !cast<DS_Pseudo>(NAME#"_t16"),
+ SIEncodingFamily.GFX11, name>,
+ True16D16Table<NAME#"_D16_HI", NAME#"_gfx9">;
+ }
+}
+
multiclass DS_Real_gfx11_gfx12<bits<8> op,
string name = !tolower(NAME),
DS_Pseudo ps = !cast<DS_Pseudo>(NAME)>
: DS_Real_gfx11<op, ps, name>,
DS_Real_gfx12<op, ps, name>;
+multiclass DS_Real_gfx11_gfx12_with_t16<bits<8> op,
+ string name = !tolower(NAME)>
+ : DS_Real_gfx11_with_t16<op, name>,
+ DS_Real_gfx12_with_t16<op, name>;
+
defm DS_WRITE_B32 : DS_Real_gfx11_gfx12<0x00d, "ds_store_b32">;
defm DS_WRITE2_B32 : DS_Real_gfx11_gfx12<0x00e, "ds_store_2addr_b32">;
defm DS_WRITE2ST64_B32 : DS_Real_gfx11_gfx12<0x00f, "ds_store_2addr_stride64_b32">;
-defm DS_WRITE_B8 : DS_Real_gfx11_gfx12<0x01e, "ds_store_b8">;
-defm DS_WRITE_B16 : DS_Real_gfx11_gfx12<0x01f, "ds_store_b16">;
+defm DS_WRITE_B8 : DS_Real_gfx11_gfx12_with_t16<0x01e, "ds_store_b8">;
+defm DS_WRITE_B16 : DS_Real_gfx11_gfx12_with_t16<0x01f, "ds_store_b16">;
defm DS_WRXCHG_RTN_B32 : DS_Real_gfx11_gfx12<0x02d, "ds_storexchg_rtn_b32">;
defm DS_WRXCHG2_RTN_B32 : DS_Real_gfx11_gfx12<0x02e, "ds_storexchg_2addr_rtn_b32">;
defm DS_WRXCHG2ST64_RTN_B32 : DS_Real_gfx11_gfx12<0x02f, "ds_storexchg_2addr_stride64_rtn_b32">;
diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.td b/llvm/lib/Target/AMDGPU/SIInstrInfo.td
index 63c938b..cf9fe74 100644
--- a/llvm/lib/Target/AMDGPU/SIInstrInfo.td
+++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.td
@@ -12,7 +12,9 @@ def isWave64 : Predicate<"Subtarget->isWave64()">,
AssemblerPredicate <(all_of FeatureWavefrontSize64)>;
class AMDGPUMnemonicAlias<string From, string To, string VariantName = "">
- : MnemonicAlias<From, To, VariantName>, PredicateControl;
+ : MnemonicAlias<From, To, VariantName>, PredicateControl {
+ string DecoderNamespace = ?; // Dummy field
+}
// Except for the NONE field, this must be kept in sync with the
// SIEncodingFamily enum in SIInstrInfo.cpp and the columns of the
diff --git a/llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_ds.txt b/llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_ds.txt
index 448cfc9..2730b5be 100644
--- a/llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_ds.txt
+++ b/llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_ds.txt
@@ -4447,76 +4447,76 @@
# GFX11: ds_store_b128 v255, v[2:5] offset:65535 ; encoding: [0xff,0xff,0x7c,0xdb,0xff,0x02,0x00,0x00]
0xff,0xff,0x7c,0xdb,0xff,0x02,0x00,0x00
-# GFX11: ds_store_b16 v0, v1 ; encoding: [0x00,0x00,0x7c,0xd8,0x00,0x01,0x00,0x00]
+# GFX11: ds_store_b16 v0, v1.l ; encoding: [0x00,0x00,0x7c,0xd8,0x00,0x01,0x00,0x00]
0x00,0x00,0x7c,0xd8,0x00,0x01,0x00,0x00
-# GFX11: ds_store_b16 v0, v1 gds ; encoding: [0x00,0x00,0x7e,0xd8,0x00,0x01,0x00,0x00]
+# GFX11: ds_store_b16 v0, v1.l gds ; encoding: [0x00,0x00,0x7e,0xd8,0x00,0x01,0x00,0x00]
0x00,0x00,0x7e,0xd8,0x00,0x01,0x00,0x00
-# GFX11: ds_store_b16 v0, v1 offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0x00,0x01,0x00,0x00]
+# GFX11: ds_store_b16 v0, v1.l offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0x00,0x01,0x00,0x00]
0x34,0x12,0x7c,0xd8,0x00,0x01,0x00,0x00
-# GFX11: ds_store_b16 v0, v1 offset:4660 gds ; encoding: [0x34,0x12,0x7e,0xd8,0x00,0x01,0x00,0x00]
+# GFX11: ds_store_b16 v0, v1.l offset:4660 gds ; encoding: [0x34,0x12,0x7e,0xd8,0x00,0x01,0x00,0x00]
0x34,0x12,0x7e,0xd8,0x00,0x01,0x00,0x00
-# GFX11: ds_store_b16 v0, v1 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x00,0x01,0x00,0x00]
+# GFX11: ds_store_b16 v0, v1.l offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x00,0x01,0x00,0x00]
0xff,0xff,0x7c,0xd8,0x00,0x01,0x00,0x00
-# GFX11: ds_store_b16 v0, v1 offset:65535 gds ; encoding: [0xff,0xff,0x7e,0xd8,0x00,0x01,0x00,0x00]
+# GFX11: ds_store_b16 v0, v1.l offset:65535 gds ; encoding: [0xff,0xff,0x7e,0xd8,0x00,0x01,0x00,0x00]
0xff,0xff,0x7e,0xd8,0x00,0x01,0x00,0x00
-# GFX11: ds_store_b16 v0, v254 ; encoding: [0x00,0x00,0x7c,0xd8,0x00,0xfe,0x00,0x00]
+# GFX11: ds_store_b16 v0, v254.l ; encoding: [0x00,0x00,0x7c,0xd8,0x00,0xfe,0x00,0x00]
0x00,0x00,0x7c,0xd8,0x00,0xfe,0x00,0x00
-# GFX11: ds_store_b16 v0, v254 gds ; encoding: [0x00,0x00,0x7e,0xd8,0x00,0xfe,0x00,0x00]
+# GFX11: ds_store_b16 v0, v254.l gds ; encoding: [0x00,0x00,0x7e,0xd8,0x00,0xfe,0x00,0x00]
0x00,0x00,0x7e,0xd8,0x00,0xfe,0x00,0x00
-# GFX11: ds_store_b16 v0, v254 offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0x00,0xfe,0x00,0x00]
+# GFX11: ds_store_b16 v0, v254.l offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0x00,0xfe,0x00,0x00]
0x34,0x12,0x7c,0xd8,0x00,0xfe,0x00,0x00
-# GFX11: ds_store_b16 v0, v254 offset:4660 gds ; encoding: [0x34,0x12,0x7e,0xd8,0x00,0xfe,0x00,0x00]
+# GFX11: ds_store_b16 v0, v254.l offset:4660 gds ; encoding: [0x34,0x12,0x7e,0xd8,0x00,0xfe,0x00,0x00]
0x34,0x12,0x7e,0xd8,0x00,0xfe,0x00,0x00
-# GFX11: ds_store_b16 v0, v254 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x00,0xfe,0x00,0x00]
+# GFX11: ds_store_b16 v0, v254.l offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x00,0xfe,0x00,0x00]
0xff,0xff,0x7c,0xd8,0x00,0xfe,0x00,0x00
-# GFX11: ds_store_b16 v0, v254 offset:65535 gds ; encoding: [0xff,0xff,0x7e,0xd8,0x00,0xfe,0x00,0x00]
+# GFX11: ds_store_b16 v0, v254.l offset:65535 gds ; encoding: [0xff,0xff,0x7e,0xd8,0x00,0xfe,0x00,0x00]
0xff,0xff,0x7e,0xd8,0x00,0xfe,0x00,0x00
-# GFX11: ds_store_b16 v255, v1 ; encoding: [0x00,0x00,0x7c,0xd8,0xff,0x01,0x00,0x00]
+# GFX11: ds_store_b16 v255, v1.l ; encoding: [0x00,0x00,0x7c,0xd8,0xff,0x01,0x00,0x00]
0x00,0x00,0x7c,0xd8,0xff,0x01,0x00,0x00
-# GFX11: ds_store_b16 v255, v1 gds ; encoding: [0x00,0x00,0x7e,0xd8,0xff,0x01,0x00,0x00]
+# GFX11: ds_store_b16 v255, v1.l gds ; encoding: [0x00,0x00,0x7e,0xd8,0xff,0x01,0x00,0x00]
0x00,0x00,0x7e,0xd8,0xff,0x01,0x00,0x00
-# GFX11: ds_store_b16 v255, v1 offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0xff,0x01,0x00,0x00]
+# GFX11: ds_store_b16 v255, v1.l offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0xff,0x01,0x00,0x00]
0x34,0x12,0x7c,0xd8,0xff,0x01,0x00,0x00
-# GFX11: ds_store_b16 v255, v1 offset:4660 gds ; encoding: [0x34,0x12,0x7e,0xd8,0xff,0x01,0x00,0x00]
+# GFX11: ds_store_b16 v255, v1.l offset:4660 gds ; encoding: [0x34,0x12,0x7e,0xd8,0xff,0x01,0x00,0x00]
0x34,0x12,0x7e,0xd8,0xff,0x01,0x00,0x00
-# GFX11: ds_store_b16 v255, v1 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0xff,0x01,0x00,0x00]
+# GFX11: ds_store_b16 v255, v1.l offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0xff,0x01,0x00,0x00]
0xff,0xff,0x7c,0xd8,0xff,0x01,0x00,0x00
-# GFX11: ds_store_b16 v255, v1 offset:65535 gds ; encoding: [0xff,0xff,0x7e,0xd8,0xff,0x01,0x00,0x00]
+# GFX11: ds_store_b16 v255, v1.l offset:65535 gds ; encoding: [0xff,0xff,0x7e,0xd8,0xff,0x01,0x00,0x00]
0xff,0xff,0x7e,0xd8,0xff,0x01,0x00,0x00
-# GFX11: ds_store_b16 v255, v254 ; encoding: [0x00,0x00,0x7c,0xd8,0xff,0xfe,0x00,0x00]
+# GFX11: ds_store_b16 v255, v254.l ; encoding: [0x00,0x00,0x7c,0xd8,0xff,0xfe,0x00,0x00]
0x00,0x00,0x7c,0xd8,0xff,0xfe,0x00,0x00
-# GFX11: ds_store_b16 v255, v254 gds ; encoding: [0x00,0x00,0x7e,0xd8,0xff,0xfe,0x00,0x00]
+# GFX11: ds_store_b16 v255, v254.l gds ; encoding: [0x00,0x00,0x7e,0xd8,0xff,0xfe,0x00,0x00]
0x00,0x00,0x7e,0xd8,0xff,0xfe,0x00,0x00
-# GFX11: ds_store_b16 v255, v254 offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0xff,0xfe,0x00,0x00]
+# GFX11: ds_store_b16 v255, v254.l offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0xff,0xfe,0x00,0x00]
0x34,0x12,0x7c,0xd8,0xff,0xfe,0x00,0x00
-# GFX11: ds_store_b16 v255, v254 offset:4660 gds ; encoding: [0x34,0x12,0x7e,0xd8,0xff,0xfe,0x00,0x00]
+# GFX11: ds_store_b16 v255, v254.l offset:4660 gds ; encoding: [0x34,0x12,0x7e,0xd8,0xff,0xfe,0x00,0x00]
0x34,0x12,0x7e,0xd8,0xff,0xfe,0x00,0x00
-# GFX11: ds_store_b16 v255, v254 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0xff,0xfe,0x00,0x00]
+# GFX11: ds_store_b16 v255, v254.l offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0xff,0xfe,0x00,0x00]
0xff,0xff,0x7c,0xd8,0xff,0xfe,0x00,0x00
-# GFX11: ds_store_b16 v255, v254 offset:65535 gds ; encoding: [0xff,0xff,0x7e,0xd8,0xff,0xfe,0x00,0x00]
+# GFX11: ds_store_b16 v255, v254.l offset:65535 gds ; encoding: [0xff,0xff,0x7e,0xd8,0xff,0xfe,0x00,0x00]
0xff,0xff,0x7e,0xd8,0xff,0xfe,0x00,0x00
# GFX11: ds_store_b16_d16_hi v1, v2 ; encoding: [0x00,0x00,0x84,0xda,0x01,0x02,0x00,0x00]
@@ -4627,76 +4627,76 @@
# GFX11: ds_store_b64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x34,0xd9,0xff,0x02,0x00,0x00]
0xff,0xff,0x34,0xd9,0xff,0x02,0x00,0x00
-# GFX11: ds_store_b8 v0, v1 ; encoding: [0x00,0x00,0x78,0xd8,0x00,0x01,0x00,0x00]
+# GFX11: ds_store_b8 v0, v1.l ; encoding: [0x00,0x00,0x78,0xd8,0x00,0x01,0x00,0x00]
0x00,0x00,0x78,0xd8,0x00,0x01,0x00,0x00
-# GFX11: ds_store_b8 v0, v1 gds ; encoding: [0x00,0x00,0x7a,0xd8,0x00,0x01,0x00,0x00]
+# GFX11: ds_store_b8 v0, v1.l gds ; encoding: [0x00,0x00,0x7a,0xd8,0x00,0x01,0x00,0x00]
0x00,0x00,0x7a,0xd8,0x00,0x01,0x00,0x00
-# GFX11: ds_store_b8 v0, v1 offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0x00,0x01,0x00,0x00]
+# GFX11: ds_store_b8 v0, v1.l offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0x00,0x01,0x00,0x00]
0x34,0x12,0x78,0xd8,0x00,0x01,0x00,0x00
-# GFX11: ds_store_b8 v0, v1 offset:4660 gds ; encoding: [0x34,0x12,0x7a,0xd8,0x00,0x01,0x00,0x00]
+# GFX11: ds_store_b8 v0, v1.l offset:4660 gds ; encoding: [0x34,0x12,0x7a,0xd8,0x00,0x01,0x00,0x00]
0x34,0x12,0x7a,0xd8,0x00,0x01,0x00,0x00
-# GFX11: ds_store_b8 v0, v1 offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0x00,0x01,0x00,0x00]
+# GFX11: ds_store_b8 v0, v1.l offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0x00,0x01,0x00,0x00]
0xff,0xff,0x78,0xd8,0x00,0x01,0x00,0x00
-# GFX11: ds_store_b8 v0, v1 offset:65535 gds ; encoding: [0xff,0xff,0x7a,0xd8,0x00,0x01,0x00,0x00]
+# GFX11: ds_store_b8 v0, v1.l offset:65535 gds ; encoding: [0xff,0xff,0x7a,0xd8,0x00,0x01,0x00,0x00]
0xff,0xff,0x7a,0xd8,0x00,0x01,0x00,0x00
-# GFX11: ds_store_b8 v0, v254 ; encoding: [0x00,0x00,0x78,0xd8,0x00,0xfe,0x00,0x00]
+# GFX11: ds_store_b8 v0, v254.l ; encoding: [0x00,0x00,0x78,0xd8,0x00,0xfe,0x00,0x00]
0x00,0x00,0x78,0xd8,0x00,0xfe,0x00,0x00
-# GFX11: ds_store_b8 v0, v254 gds ; encoding: [0x00,0x00,0x7a,0xd8,0x00,0xfe,0x00,0x00]
+# GFX11: ds_store_b8 v0, v254.l gds ; encoding: [0x00,0x00,0x7a,0xd8,0x00,0xfe,0x00,0x00]
0x00,0x00,0x7a,0xd8,0x00,0xfe,0x00,0x00
-# GFX11: ds_store_b8 v0, v254 offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0x00,0xfe,0x00,0x00]
+# GFX11: ds_store_b8 v0, v254.l offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0x00,0xfe,0x00,0x00]
0x34,0x12,0x78,0xd8,0x00,0xfe,0x00,0x00
-# GFX11: ds_store_b8 v0, v254 offset:4660 gds ; encoding: [0x34,0x12,0x7a,0xd8,0x00,0xfe,0x00,0x00]
+# GFX11: ds_store_b8 v0, v254.l offset:4660 gds ; encoding: [0x34,0x12,0x7a,0xd8,0x00,0xfe,0x00,0x00]
0x34,0x12,0x7a,0xd8,0x00,0xfe,0x00,0x00
-# GFX11: ds_store_b8 v0, v254 offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0x00,0xfe,0x00,0x00]
+# GFX11: ds_store_b8 v0, v254.l offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0x00,0xfe,0x00,0x00]
0xff,0xff,0x78,0xd8,0x00,0xfe,0x00,0x00
-# GFX11: ds_store_b8 v0, v254 offset:65535 gds ; encoding: [0xff,0xff,0x7a,0xd8,0x00,0xfe,0x00,0x00]
+# GFX11: ds_store_b8 v0, v254.l offset:65535 gds ; encoding: [0xff,0xff,0x7a,0xd8,0x00,0xfe,0x00,0x00]
0xff,0xff,0x7a,0xd8,0x00,0xfe,0x00,0x00
-# GFX11: ds_store_b8 v255, v1 ; encoding: [0x00,0x00,0x78,0xd8,0xff,0x01,0x00,0x00]
+# GFX11: ds_store_b8 v255, v1.l ; encoding: [0x00,0x00,0x78,0xd8,0xff,0x01,0x00,0x00]
0x00,0x00,0x78,0xd8,0xff,0x01,0x00,0x00
-# GFX11: ds_store_b8 v255, v1 gds ; encoding: [0x00,0x00,0x7a,0xd8,0xff,0x01,0x00,0x00]
+# GFX11: ds_store_b8 v255, v1.l gds ; encoding: [0x00,0x00,0x7a,0xd8,0xff,0x01,0x00,0x00]
0x00,0x00,0x7a,0xd8,0xff,0x01,0x00,0x00
-# GFX11: ds_store_b8 v255, v1 offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0xff,0x01,0x00,0x00]
+# GFX11: ds_store_b8 v255, v1.l offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0xff,0x01,0x00,0x00]
0x34,0x12,0x78,0xd8,0xff,0x01,0x00,0x00
-# GFX11: ds_store_b8 v255, v1 offset:4660 gds ; encoding: [0x34,0x12,0x7a,0xd8,0xff,0x01,0x00,0x00]
+# GFX11: ds_store_b8 v255, v1.l offset:4660 gds ; encoding: [0x34,0x12,0x7a,0xd8,0xff,0x01,0x00,0x00]
0x34,0x12,0x7a,0xd8,0xff,0x01,0x00,0x00
-# GFX11: ds_store_b8 v255, v1 offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0xff,0x01,0x00,0x00]
+# GFX11: ds_store_b8 v255, v1.l offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0xff,0x01,0x00,0x00]
0xff,0xff,0x78,0xd8,0xff,0x01,0x00,0x00
-# GFX11: ds_store_b8 v255, v1 offset:65535 gds ; encoding: [0xff,0xff,0x7a,0xd8,0xff,0x01,0x00,0x00]
+# GFX11: ds_store_b8 v255, v1.l offset:65535 gds ; encoding: [0xff,0xff,0x7a,0xd8,0xff,0x01,0x00,0x00]
0xff,0xff,0x7a,0xd8,0xff,0x01,0x00,0x00
-# GFX11: ds_store_b8 v255, v254 ; encoding: [0x00,0x00,0x78,0xd8,0xff,0xfe,0x00,0x00]
+# GFX11: ds_store_b8 v255, v254.l ; encoding: [0x00,0x00,0x78,0xd8,0xff,0xfe,0x00,0x00]
0x00,0x00,0x78,0xd8,0xff,0xfe,0x00,0x00
-# GFX11: ds_store_b8 v255, v254 gds ; encoding: [0x00,0x00,0x7a,0xd8,0xff,0xfe,0x00,0x00]
+# GFX11: ds_store_b8 v255, v254.l gds ; encoding: [0x00,0x00,0x7a,0xd8,0xff,0xfe,0x00,0x00]
0x00,0x00,0x7a,0xd8,0xff,0xfe,0x00,0x00
-# GFX11: ds_store_b8 v255, v254 offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0xff,0xfe,0x00,0x00]
+# GFX11: ds_store_b8 v255, v254.l offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0xff,0xfe,0x00,0x00]
0x34,0x12,0x78,0xd8,0xff,0xfe,0x00,0x00
-# GFX11: ds_store_b8 v255, v254 offset:4660 gds ; encoding: [0x34,0x12,0x7a,0xd8,0xff,0xfe,0x00,0x00]
+# GFX11: ds_store_b8 v255, v254.l offset:4660 gds ; encoding: [0x34,0x12,0x7a,0xd8,0xff,0xfe,0x00,0x00]
0x34,0x12,0x7a,0xd8,0xff,0xfe,0x00,0x00
-# GFX11: ds_store_b8 v255, v254 offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0xff,0xfe,0x00,0x00]
+# GFX11: ds_store_b8 v255, v254.l offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0xff,0xfe,0x00,0x00]
0xff,0xff,0x78,0xd8,0xff,0xfe,0x00,0x00
-# GFX11: ds_store_b8 v255, v254 offset:65535 gds ; encoding: [0xff,0xff,0x7a,0xd8,0xff,0xfe,0x00,0x00]
+# GFX11: ds_store_b8 v255, v254.l offset:65535 gds ; encoding: [0xff,0xff,0x7a,0xd8,0xff,0xfe,0x00,0x00]
0xff,0xff,0x7a,0xd8,0xff,0xfe,0x00,0x00
# GFX11: ds_store_b8_d16_hi v1, v2 ; encoding: [0x00,0x00,0x80,0xda,0x01,0x02,0x00,0x00]
diff --git a/llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_ds.txt b/llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_ds.txt
index 13440a0..6e4b6f0 100644
--- a/llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_ds.txt
+++ b/llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_ds.txt
@@ -873,13 +873,13 @@
# GFX1250: ds_store_b128 v255, v[252:255] offset:4 ; encoding: [0x04,0x00,0x7c,0xdb,0xff,0xfc,0x00,0x00]
0x04,0x00,0x7c,0xdb,0xff,0xfc,0x00,0x00
-# GFX1250: ds_store_b16 v1, v2 ; encoding: [0x00,0x00,0x7c,0xd8,0x01,0x02,0x00,0x00]
+# GFX1250: ds_store_b16 v1, v2.l ; encoding: [0x00,0x00,0x7c,0xd8,0x01,0x02,0x00,0x00]
0x00,0x00,0x7c,0xd8,0x01,0x02,0x00,0x00
-# GFX1250: ds_store_b16 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x01,0x02,0x00,0x00]
+# GFX1250: ds_store_b16 v1, v2.l offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x01,0x02,0x00,0x00]
0xff,0xff,0x7c,0xd8,0x01,0x02,0x00,0x00
-# GFX1250: ds_store_b16 v255, v255 offset:4 ; encoding: [0x04,0x00,0x7c,0xd8,0xff,0xff,0x00,0x00]
+# GFX1250: ds_store_b16 v255, v255.l offset:4 ; encoding: [0x04,0x00,0x7c,0xd8,0xff,0xff,0x00,0x00]
0x04,0x00,0x7c,0xd8,0xff,0xff,0x00,0x00
# GFX1250: ds_store_b16_d16_hi v1, v2 ; encoding: [0x00,0x00,0x84,0xda,0x01,0x02,0x00,0x00]
@@ -909,13 +909,13 @@
# GFX1250: ds_store_b64 v255, v[254:255] offset:4 ; encoding: [0x04,0x00,0x34,0xd9,0xff,0xfe,0x00,0x00]
0x04,0x00,0x34,0xd9,0xff,0xfe,0x00,0x00
-# GFX1250: ds_store_b8 v1, v2 ; encoding: [0x00,0x00,0x78,0xd8,0x01,0x02,0x00,0x00]
+# GFX1250: ds_store_b8 v1, v2.l ; encoding: [0x00,0x00,0x78,0xd8,0x01,0x02,0x00,0x00]
0x00,0x00,0x78,0xd8,0x01,0x02,0x00,0x00
-# GFX1250: ds_store_b8 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0x01,0x02,0x00,0x00]
+# GFX1250: ds_store_b8 v1, v2.l offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0x01,0x02,0x00,0x00]
0xff,0xff,0x78,0xd8,0x01,0x02,0x00,0x00
-# GFX1250: ds_store_b8 v255, v255 offset:4 ; encoding: [0x04,0x00,0x78,0xd8,0xff,0xff,0x00,0x00]
+# GFX1250: ds_store_b8 v255, v255.l offset:4 ; encoding: [0x04,0x00,0x78,0xd8,0xff,0xff,0x00,0x00]
0x04,0x00,0x78,0xd8,0xff,0xff,0x00,0x00
# GFX1250: ds_store_b8_d16_hi v1, v2 ; encoding: [0x00,0x00,0x80,0xda,0x01,0x02,0x00,0x00]
diff --git a/llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_ds.txt b/llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_ds.txt
index d9381b5..8f75458 100644
--- a/llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_ds.txt
+++ b/llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_ds.txt
@@ -2781,40 +2781,40 @@
# GFX12: ds_store_b128 v255, v[2:5] offset:65535 ; encoding: [0xff,0xff,0x7c,0xdb,0xff,0x02,0x00,0x00]
0xff,0xff,0x7c,0xdb,0xff,0x02,0x00,0x00
-# GFX12: ds_store_b16 v0, v1 ; encoding: [0x00,0x00,0x7c,0xd8,0x00,0x01,0x00,0x00]
+# GFX12: ds_store_b16 v0, v1.l ; encoding: [0x00,0x00,0x7c,0xd8,0x00,0x01,0x00,0x00]
0x00,0x00,0x7c,0xd8,0x00,0x01,0x00,0x00
-# GFX12: ds_store_b16 v0, v1 offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0x00,0x01,0x00,0x00]
+# GFX12: ds_store_b16 v0, v1.l offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0x00,0x01,0x00,0x00]
0x34,0x12,0x7c,0xd8,0x00,0x01,0x00,0x00
-# GFX12: ds_store_b16 v0, v1 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x00,0x01,0x00,0x00]
+# GFX12: ds_store_b16 v0, v1.l offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x00,0x01,0x00,0x00]
0xff,0xff,0x7c,0xd8,0x00,0x01,0x00,0x00
-# GFX12: ds_store_b16 v0, v254 ; encoding: [0x00,0x00,0x7c,0xd8,0x00,0xfe,0x00,0x00]
+# GFX12: ds_store_b16 v0, v254.l ; encoding: [0x00,0x00,0x7c,0xd8,0x00,0xfe,0x00,0x00]
0x00,0x00,0x7c,0xd8,0x00,0xfe,0x00,0x00
-# GFX12: ds_store_b16 v0, v254 offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0x00,0xfe,0x00,0x00]
+# GFX12: ds_store_b16 v0, v254.l offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0x00,0xfe,0x00,0x00]
0x34,0x12,0x7c,0xd8,0x00,0xfe,0x00,0x00
-# GFX12: ds_store_b16 v0, v254 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x00,0xfe,0x00,0x00]
+# GFX12: ds_store_b16 v0, v254.l offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x00,0xfe,0x00,0x00]
0xff,0xff,0x7c,0xd8,0x00,0xfe,0x00,0x00
-# GFX12: ds_store_b16 v255, v1 ; encoding: [0x00,0x00,0x7c,0xd8,0xff,0x01,0x00,0x00]
+# GFX12: ds_store_b16 v255, v1.l ; encoding: [0x00,0x00,0x7c,0xd8,0xff,0x01,0x00,0x00]
0x00,0x00,0x7c,0xd8,0xff,0x01,0x00,0x00
-# GFX12: ds_store_b16 v255, v1 offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0xff,0x01,0x00,0x00]
+# GFX12: ds_store_b16 v255, v1.l offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0xff,0x01,0x00,0x00]
0x34,0x12,0x7c,0xd8,0xff,0x01,0x00,0x00
-# GFX12: ds_store_b16 v255, v1 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0xff,0x01,0x00,0x00]
+# GFX12: ds_store_b16 v255, v1.l offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0xff,0x01,0x00,0x00]
0xff,0xff,0x7c,0xd8,0xff,0x01,0x00,0x00
-# GFX12: ds_store_b16 v255, v254 ; encoding: [0x00,0x00,0x7c,0xd8,0xff,0xfe,0x00,0x00]
+# GFX12: ds_store_b16 v255, v254.l ; encoding: [0x00,0x00,0x7c,0xd8,0xff,0xfe,0x00,0x00]
0x00,0x00,0x7c,0xd8,0xff,0xfe,0x00,0x00
-# GFX12: ds_store_b16 v255, v254 offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0xff,0xfe,0x00,0x00]
+# GFX12: ds_store_b16 v255, v254.l offset:4660 ; encoding: [0x34,0x12,0x7c,0xd8,0xff,0xfe,0x00,0x00]
0x34,0x12,0x7c,0xd8,0xff,0xfe,0x00,0x00
-# GFX12: ds_store_b16 v255, v254 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0xff,0xfe,0x00,0x00]
+# GFX12: ds_store_b16 v255, v254.l offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0xff,0xfe,0x00,0x00]
0xff,0xff,0x7c,0xd8,0xff,0xfe,0x00,0x00
# GFX12: ds_store_b16_d16_hi v1, v2 ; encoding: [0x00,0x00,0x84,0xda,0x01,0x02,0x00,0x00]
@@ -2883,40 +2883,40 @@
# GFX12: ds_store_b64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x34,0xd9,0xff,0x02,0x00,0x00]
0xff,0xff,0x34,0xd9,0xff,0x02,0x00,0x00
-# GFX12: ds_store_b8 v0, v1 ; encoding: [0x00,0x00,0x78,0xd8,0x00,0x01,0x00,0x00]
+# GFX12: ds_store_b8 v0, v1.l ; encoding: [0x00,0x00,0x78,0xd8,0x00,0x01,0x00,0x00]
0x00,0x00,0x78,0xd8,0x00,0x01,0x00,0x00
-# GFX12: ds_store_b8 v0, v1 offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0x00,0x01,0x00,0x00]
+# GFX12: ds_store_b8 v0, v1.l offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0x00,0x01,0x00,0x00]
0x34,0x12,0x78,0xd8,0x00,0x01,0x00,0x00
-# GFX12: ds_store_b8 v0, v1 offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0x00,0x01,0x00,0x00]
+# GFX12: ds_store_b8 v0, v1.l offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0x00,0x01,0x00,0x00]
0xff,0xff,0x78,0xd8,0x00,0x01,0x00,0x00
-# GFX12: ds_store_b8 v0, v254 ; encoding: [0x00,0x00,0x78,0xd8,0x00,0xfe,0x00,0x00]
+# GFX12: ds_store_b8 v0, v254.l ; encoding: [0x00,0x00,0x78,0xd8,0x00,0xfe,0x00,0x00]
0x00,0x00,0x78,0xd8,0x00,0xfe,0x00,0x00
-# GFX12: ds_store_b8 v0, v254 offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0x00,0xfe,0x00,0x00]
+# GFX12: ds_store_b8 v0, v254.l offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0x00,0xfe,0x00,0x00]
0x34,0x12,0x78,0xd8,0x00,0xfe,0x00,0x00
-# GFX12: ds_store_b8 v0, v254 offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0x00,0xfe,0x00,0x00]
+# GFX12: ds_store_b8 v0, v254.l offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0x00,0xfe,0x00,0x00]
0xff,0xff,0x78,0xd8,0x00,0xfe,0x00,0x00
-# GFX12: ds_store_b8 v255, v1 ; encoding: [0x00,0x00,0x78,0xd8,0xff,0x01,0x00,0x00]
+# GFX12: ds_store_b8 v255, v1.l ; encoding: [0x00,0x00,0x78,0xd8,0xff,0x01,0x00,0x00]
0x00,0x00,0x78,0xd8,0xff,0x01,0x00,0x00
-# GFX12: ds_store_b8 v255, v1 offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0xff,0x01,0x00,0x00]
+# GFX12: ds_store_b8 v255, v1.l offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0xff,0x01,0x00,0x00]
0x34,0x12,0x78,0xd8,0xff,0x01,0x00,0x00
-# GFX12: ds_store_b8 v255, v1 offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0xff,0x01,0x00,0x00]
+# GFX12: ds_store_b8 v255, v1.l offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0xff,0x01,0x00,0x00]
0xff,0xff,0x78,0xd8,0xff,0x01,0x00,0x00
-# GFX12: ds_store_b8 v255, v254 ; encoding: [0x00,0x00,0x78,0xd8,0xff,0xfe,0x00,0x00]
+# GFX12: ds_store_b8 v255, v254.l ; encoding: [0x00,0x00,0x78,0xd8,0xff,0xfe,0x00,0x00]
0x00,0x00,0x78,0xd8,0xff,0xfe,0x00,0x00
-# GFX12: ds_store_b8 v255, v254 offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0xff,0xfe,0x00,0x00]
+# GFX12: ds_store_b8 v255, v254.l offset:4660 ; encoding: [0x34,0x12,0x78,0xd8,0xff,0xfe,0x00,0x00]
0x34,0x12,0x78,0xd8,0xff,0xfe,0x00,0x00
-# GFX12: ds_store_b8 v255, v254 offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0xff,0xfe,0x00,0x00]
+# GFX12: ds_store_b8 v255, v254.l offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0xff,0xfe,0x00,0x00]
0xff,0xff,0x78,0xd8,0xff,0xfe,0x00,0x00
# GFX12: ds_store_b8_d16_hi v1, v2 ; encoding: [0x00,0x00,0x80,0xda,0x01,0x02,0x00,0x00]