[llvm] 16c27bc - [AMDGPU][MC] Add GFX12 VDS encoding (#75316)

via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 14 02:04:25 PST 2023


Author: Mirko BrkuĊĦanin
Date: 2023-12-14T11:04:21+01:00
New Revision: 16c27bcdde6760faa2c7a595d6f8825765820af4

URL: https://github.com/llvm/llvm-project/commit/16c27bcdde6760faa2c7a595d6f8825765820af4
DIFF: https://github.com/llvm/llvm-project/commit/16c27bcdde6760faa2c7a595d6f8825765820af4.diff

LOG: [AMDGPU][MC] Add GFX12 VDS encoding (#75316)

Added: 
    llvm/test/MC/AMDGPU/gfx12_asm_ds.s
    llvm/test/MC/AMDGPU/gfx12_asm_ds_alias.s
    llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_ds.txt

Modified: 
    llvm/lib/Target/AMDGPU/DSInstructions.td
    llvm/test/MC/AMDGPU/gfx11_unsupported.s
    llvm/test/MC/AMDGPU/gfx12_unsupported.s

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/AMDGPU/DSInstructions.td b/llvm/lib/Target/AMDGPU/DSInstructions.td
index 1a10a8fcaadca1..3a895923fa4b98 100644
--- a/llvm/lib/Target/AMDGPU/DSInstructions.td
+++ b/llvm/lib/Target/AMDGPU/DSInstructions.td
@@ -711,17 +711,33 @@ def DS_ADD_SRC2_F32 : DS_1A<"ds_add_src2_f32">;
 
 
 //===----------------------------------------------------------------------===//
-// Instruction definitions for GFX11 and newer.
+// Instruction definitions for GFX11.
 //===----------------------------------------------------------------------===//
 
-let SubtargetPredicate = isGFX11Plus in {
+let SubtargetPredicate = isGFX11Only in {
 
 def DS_ADD_GS_REG_RTN : DS_0A1D_RET_GDS<"ds_add_gs_reg_rtn", VReg_64, VGPR_32>;
 def DS_SUB_GS_REG_RTN : DS_0A1D_RET_GDS<"ds_sub_gs_reg_rtn", VReg_64, VGPR_32>;
+
+} // let SubtargetPredicate = isGFX11Only
+
+let SubtargetPredicate = isGFX11Plus in {
+
 def DS_BVH_STACK_RTN_B32 : DS_BVH_STACK<"ds_bvh_stack_rtn_b32">;
 
 } // let SubtargetPredicate = isGFX11Plus
 
+//===----------------------------------------------------------------------===//
+// Instruction definitions for GFX12 and newer.
+//===----------------------------------------------------------------------===//
+
+let SubtargetPredicate = isGFX12Plus in {
+
+defm DS_SUB_CLAMP_U32     : DS_1A1D_NORET_mc<"ds_sub_clamp_u32">;
+defm DS_SUB_CLAMP_RTN_U32 : DS_1A1D_RET_mc<"ds_sub_clamp_rtn_u32", VGPR_32, "ds_sub_clamp_u32">;
+
+} // let SubtargetPredicate = isGFX12Plus
+
 //===----------------------------------------------------------------------===//
 // DS Patterns
 //===----------------------------------------------------------------------===//
@@ -1169,11 +1185,12 @@ def : GCNPat <
 //===----------------------------------------------------------------------===//
 
 //===----------------------------------------------------------------------===//
-// Base ENC_DS for GFX6, GFX7, GFX10, GFX11.
+// Base ENC_DS for GFX6, GFX7, GFX10, GFX11, GFX12.
 //===----------------------------------------------------------------------===//
 
-class Base_DS_Real_gfx6_gfx7_gfx10_gfx11<bits<8> op, DS_Pseudo ps, int ef, string opName = ps.Mnemonic> :
-    DS_Real<ps, opName>, SIMCInstr <ps.Mnemonic, ef> {
+class Base_DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<bits<8> op, DS_Pseudo ps, int ef,
+                                               string opName = ps.Mnemonic>
+    : DS_Real<ps, opName>, SIMCInstr <ps.Mnemonic, ef> {
 
   let Inst{7-0}   = !if(ps.has_offset0, offset0, 0);
   let Inst{15-8}  = !if(ps.has_offset1, offset1, 0);
@@ -1186,75 +1203,118 @@ class Base_DS_Real_gfx6_gfx7_gfx10_gfx11<bits<8> op, DS_Pseudo ps, int ef, strin
   let Inst{63-56} = !if(ps.has_vdst, vdst{7-0}, 0);
 }
 
+//===----------------------------------------------------------------------===//
+// GFX12.
+//===----------------------------------------------------------------------===//
+
+let AssemblerPredicate = isGFX12Plus, DecoderNamespace = "GFX12" in {
+  multiclass DS_Real_gfx12<bits<8> op> {
+    defvar ps = !cast<DS_Pseudo>(NAME);
+    def _gfx12 :
+      Base_DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<op, ps, SIEncodingFamily.GFX12,
+                                               ps.Mnemonic>;
+  }
+
+  multiclass DS_Real_Renamed_gfx12<bits<8> op, DS_Pseudo backing_pseudo,
+                                   string real_name> {
+    def _gfx12 :
+      Base_DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<op, backing_pseudo,
+                                               SIEncodingFamily.GFX12,
+                                               real_name>,
+      MnemonicAlias<backing_pseudo.Mnemonic, real_name>,
+      Requires<[isGFX12Plus]>;
+  }
+} // End AssemblerPredicate = isGFX12Plus, DecoderNamespace = "GFX12"
+
+defm DS_MIN_NUM_F32       : DS_Real_Renamed_gfx12<0x012, DS_MIN_F32, "ds_min_num_f32">;
+defm DS_MAX_NUM_F32       : DS_Real_Renamed_gfx12<0x013, DS_MAX_F32, "ds_max_num_f32">;
+defm DS_MIN_NUM_RTN_F32   : DS_Real_Renamed_gfx12<0x032, DS_MIN_RTN_F32, "ds_min_num_rtn_f32">;
+defm DS_MAX_NUM_RTN_F32   : DS_Real_Renamed_gfx12<0x033, DS_MAX_RTN_F32, "ds_max_num_rtn_f32">;
+defm DS_MIN_NUM_F64       : DS_Real_Renamed_gfx12<0x052, DS_MIN_F64, "ds_min_num_f64">;
+defm DS_MAX_NUM_F64       : DS_Real_Renamed_gfx12<0x053, DS_MAX_F64, "ds_max_num_f64">;
+defm DS_MIN_NUM_RTN_F64   : DS_Real_Renamed_gfx12<0x072, DS_MIN_RTN_F64, "ds_min_num_rtn_f64">;
+defm DS_MAX_NUM_RTN_F64   : DS_Real_Renamed_gfx12<0x073, DS_MAX_RTN_F64, "ds_max_num_rtn_f64">;
+defm DS_SUB_CLAMP_U32     : DS_Real_gfx12<0x099>;
+defm DS_SUB_CLAMP_RTN_U32 : DS_Real_gfx12<0x0a9>;
+
 //===----------------------------------------------------------------------===//
 // GFX11.
 //===----------------------------------------------------------------------===//
 
-let AssemblerPredicate = isGFX11Plus, DecoderNamespace = "GFX11" in {
+let AssemblerPredicate = isGFX11Only, DecoderNamespace = "GFX11" in {
   multiclass DS_Real_gfx11<bits<8> op>  {
-    def _gfx11 : Base_DS_Real_gfx6_gfx7_gfx10_gfx11<op, !cast<DS_Pseudo>(NAME),
+    def _gfx11 :
+      Base_DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<op, !cast<DS_Pseudo>(NAME),
                                               SIEncodingFamily.GFX11>;
   }
 
   multiclass DS_Real_Renamed_gfx11<bits<8> op, DS_Pseudo backing_pseudo, string real_name> {
-     def _gfx11 : Base_DS_Real_gfx6_gfx7_gfx10_gfx11<op, backing_pseudo, SIEncodingFamily.GFX11, real_name>,
-               MnemonicAlias<backing_pseudo.Mnemonic, real_name>, Requires<[isGFX11Plus]>;
+     def _gfx11 : Base_DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<op, backing_pseudo, SIEncodingFamily.GFX11, real_name>,
+               MnemonicAlias<backing_pseudo.Mnemonic, real_name>, Requires<[isGFX11Only]>;
   }
-} // End AssemblerPredicate = isGFX11Plus, DecoderNamespace = "GFX11"
-
-defm DS_STORE_B32                        : DS_Real_Renamed_gfx11<0x00d, DS_WRITE_B32, "ds_store_b32">;
-defm DS_STORE_2ADDR_B32                  : DS_Real_Renamed_gfx11<0x00e, DS_WRITE2_B32, "ds_store_2addr_b32">;
-defm DS_STORE_2ADDR_STRIDE64_B32         : DS_Real_Renamed_gfx11<0x00f, DS_WRITE2ST64_B32, "ds_store_2addr_stride64_b32">;
-defm DS_STORE_B8                         : DS_Real_Renamed_gfx11<0x01e, DS_WRITE_B8, "ds_store_b8">;
-defm DS_STORE_B16                        : DS_Real_Renamed_gfx11<0x01f, DS_WRITE_B16, "ds_store_b16">;
-defm DS_STOREXCHG_RTN_B32                : DS_Real_Renamed_gfx11<0x02d, DS_WRXCHG_RTN_B32, "ds_storexchg_rtn_b32">;
-defm DS_STOREXCHG_2ADDR_RTN_B32          : DS_Real_Renamed_gfx11<0x02e, DS_WRXCHG2_RTN_B32, "ds_storexchg_2addr_rtn_b32">;
-defm DS_STOREXCHG_2ADDR_STRIDE64_RTN_B32 : DS_Real_Renamed_gfx11<0x02f, DS_WRXCHG2ST64_RTN_B32, "ds_storexchg_2addr_stride64_rtn_b32">;
-defm DS_LOAD_B32                         : DS_Real_Renamed_gfx11<0x036, DS_READ_B32, "ds_load_b32">;
-defm DS_LOAD_2ADDR_B32                   : DS_Real_Renamed_gfx11<0x037, DS_READ2_B32, "ds_load_2addr_b32">;
-defm DS_LOAD_2ADDR_STRIDE64_B32          : DS_Real_Renamed_gfx11<0x038, DS_READ2ST64_B32, "ds_load_2addr_stride64_b32">;
-defm DS_LOAD_I8                          : DS_Real_Renamed_gfx11<0x039, DS_READ_I8, "ds_load_i8">;
-defm DS_LOAD_U8                          : DS_Real_Renamed_gfx11<0x03a, DS_READ_U8, "ds_load_u8">;
-defm DS_LOAD_I16                         : DS_Real_Renamed_gfx11<0x03b, DS_READ_I16, "ds_load_i16">;
-defm DS_LOAD_U16                         : DS_Real_Renamed_gfx11<0x03c, DS_READ_U16, "ds_load_u16">;
-defm DS_STORE_B64                        : DS_Real_Renamed_gfx11<0x04d, DS_WRITE_B64, "ds_store_b64">;
-defm DS_STORE_2ADDR_B64                  : DS_Real_Renamed_gfx11<0x04e, DS_WRITE2_B64, "ds_store_2addr_b64">;
-defm DS_STORE_2ADDR_STRIDE64_B64         : DS_Real_Renamed_gfx11<0x04f, DS_WRITE2ST64_B64, "ds_store_2addr_stride64_b64">;
-defm DS_STOREXCHG_RTN_B64                : DS_Real_Renamed_gfx11<0x06d, DS_WRXCHG_RTN_B64, "ds_storexchg_rtn_b64">;
-defm DS_STOREXCHG_2ADDR_RTN_B64          : DS_Real_Renamed_gfx11<0x06e, DS_WRXCHG2_RTN_B64, "ds_storexchg_2addr_rtn_b64">;
-defm DS_STOREXCHG_2ADDR_STRIDE64_RTN_B64 : DS_Real_Renamed_gfx11<0x06f, DS_WRXCHG2ST64_RTN_B64, "ds_storexchg_2addr_stride64_rtn_b64">;
-defm DS_LOAD_B64                         : DS_Real_Renamed_gfx11<0x076, DS_READ_B64, "ds_load_b64">;
-defm DS_LOAD_2ADDR_B64                   : DS_Real_Renamed_gfx11<0x077, DS_READ2_B64, "ds_load_2addr_b64">;
-defm DS_LOAD_2ADDR_STRIDE64_B64          : DS_Real_Renamed_gfx11<0x078, DS_READ2ST64_B64, "ds_load_2addr_stride64_b64">;
-defm DS_STORE_B8_D16_HI                  : DS_Real_Renamed_gfx11<0x0a0, DS_WRITE_B8_D16_HI, "ds_store_b8_d16_hi">;
-defm DS_STORE_B16_D16_HI                 : DS_Real_Renamed_gfx11<0x0a1, DS_WRITE_B16_D16_HI, "ds_store_b16_d16_hi">;
-defm DS_LOAD_U8_D16                      : DS_Real_Renamed_gfx11<0x0a2, DS_READ_U8_D16, "ds_load_u8_d16">;
-defm DS_LOAD_U8_D16_HI                   : DS_Real_Renamed_gfx11<0x0a3, DS_READ_U8_D16_HI, "ds_load_u8_d16_hi">;
-defm DS_LOAD_I8_D16                      : DS_Real_Renamed_gfx11<0x0a4, DS_READ_I8_D16, "ds_load_i8_d16">;
-defm DS_LOAD_I8_D16_HI                   : DS_Real_Renamed_gfx11<0x0a5, DS_READ_I8_D16_HI, "ds_load_i8_d16_hi">;
-defm DS_LOAD_U16_D16                     : DS_Real_Renamed_gfx11<0x0a6, DS_READ_U16_D16, "ds_load_u16_d16">;
-defm DS_LOAD_U16_D16_HI                  : DS_Real_Renamed_gfx11<0x0a7, DS_READ_U16_D16_HI, "ds_load_u16_d16_hi">;
-defm DS_STORE_ADDTID_B32                 : DS_Real_Renamed_gfx11<0x0b0, DS_WRITE_ADDTID_B32, "ds_store_addtid_b32">;
-defm DS_LOAD_ADDTID_B32                  : DS_Real_Renamed_gfx11<0x0b1, DS_READ_ADDTID_B32, "ds_load_addtid_b32">;
-defm DS_STORE_B96                        : DS_Real_Renamed_gfx11<0x0de, DS_WRITE_B96, "ds_store_b96">;
-defm DS_STORE_B128                       : DS_Real_Renamed_gfx11<0x0df, DS_WRITE_B128, "ds_store_b128">;
-defm DS_LOAD_B96                         : DS_Real_Renamed_gfx11<0x0fe, DS_READ_B96, "ds_load_b96">;
-defm DS_LOAD_B128                        : DS_Real_Renamed_gfx11<0x0ff, DS_READ_B128, "ds_load_b128">;
+} // End AssemblerPredicate = isGFX11Only, DecoderNamespace = "GFX11"
+
+multiclass DS_Real_gfx11_gfx12<bits<8> op>
+  : DS_Real_gfx11<op>, DS_Real_gfx12<op>;
+
+multiclass DS_Real_Renamed_gfx11_gfx12<bits<8> op, DS_Pseudo backing_pseudo,
+                                       string real_name>
+  : DS_Real_Renamed_gfx11<op, backing_pseudo, real_name>,
+    DS_Real_Renamed_gfx12<op, backing_pseudo, real_name>;
+
+defm DS_STORE_B32                        : DS_Real_Renamed_gfx11_gfx12<0x00d, DS_WRITE_B32, "ds_store_b32">;
+defm DS_STORE_2ADDR_B32                  : DS_Real_Renamed_gfx11_gfx12<0x00e, DS_WRITE2_B32, "ds_store_2addr_b32">;
+defm DS_STORE_2ADDR_STRIDE64_B32         : DS_Real_Renamed_gfx11_gfx12<0x00f, DS_WRITE2ST64_B32, "ds_store_2addr_stride64_b32">;
+defm DS_STORE_B8                         : DS_Real_Renamed_gfx11_gfx12<0x01e, DS_WRITE_B8, "ds_store_b8">;
+defm DS_STORE_B16                        : DS_Real_Renamed_gfx11_gfx12<0x01f, DS_WRITE_B16, "ds_store_b16">;
+defm DS_STOREXCHG_RTN_B32                : DS_Real_Renamed_gfx11_gfx12<0x02d, DS_WRXCHG_RTN_B32, "ds_storexchg_rtn_b32">;
+defm DS_STOREXCHG_2ADDR_RTN_B32          : DS_Real_Renamed_gfx11_gfx12<0x02e, DS_WRXCHG2_RTN_B32, "ds_storexchg_2addr_rtn_b32">;
+defm DS_STOREXCHG_2ADDR_STRIDE64_RTN_B32 : DS_Real_Renamed_gfx11_gfx12<0x02f, DS_WRXCHG2ST64_RTN_B32, "ds_storexchg_2addr_stride64_rtn_b32">;
+defm DS_LOAD_B32                         : DS_Real_Renamed_gfx11_gfx12<0x036, DS_READ_B32, "ds_load_b32">;
+defm DS_LOAD_2ADDR_B32                   : DS_Real_Renamed_gfx11_gfx12<0x037, DS_READ2_B32, "ds_load_2addr_b32">;
+defm DS_LOAD_2ADDR_STRIDE64_B32          : DS_Real_Renamed_gfx11_gfx12<0x038, DS_READ2ST64_B32, "ds_load_2addr_stride64_b32">;
+defm DS_LOAD_I8                          : DS_Real_Renamed_gfx11_gfx12<0x039, DS_READ_I8, "ds_load_i8">;
+defm DS_LOAD_U8                          : DS_Real_Renamed_gfx11_gfx12<0x03a, DS_READ_U8, "ds_load_u8">;
+defm DS_LOAD_I16                         : DS_Real_Renamed_gfx11_gfx12<0x03b, DS_READ_I16, "ds_load_i16">;
+defm DS_LOAD_U16                         : DS_Real_Renamed_gfx11_gfx12<0x03c, DS_READ_U16, "ds_load_u16">;
+defm DS_STORE_B64                        : DS_Real_Renamed_gfx11_gfx12<0x04d, DS_WRITE_B64, "ds_store_b64">;
+defm DS_STORE_2ADDR_B64                  : DS_Real_Renamed_gfx11_gfx12<0x04e, DS_WRITE2_B64, "ds_store_2addr_b64">;
+defm DS_STORE_2ADDR_STRIDE64_B64         : DS_Real_Renamed_gfx11_gfx12<0x04f, DS_WRITE2ST64_B64, "ds_store_2addr_stride64_b64">;
+defm DS_STOREXCHG_RTN_B64                : DS_Real_Renamed_gfx11_gfx12<0x06d, DS_WRXCHG_RTN_B64, "ds_storexchg_rtn_b64">;
+defm DS_STOREXCHG_2ADDR_RTN_B64          : DS_Real_Renamed_gfx11_gfx12<0x06e, DS_WRXCHG2_RTN_B64, "ds_storexchg_2addr_rtn_b64">;
+defm DS_STOREXCHG_2ADDR_STRIDE64_RTN_B64 : DS_Real_Renamed_gfx11_gfx12<0x06f, DS_WRXCHG2ST64_RTN_B64, "ds_storexchg_2addr_stride64_rtn_b64">;
+defm DS_LOAD_B64                         : DS_Real_Renamed_gfx11_gfx12<0x076, DS_READ_B64, "ds_load_b64">;
+defm DS_LOAD_2ADDR_B64                   : DS_Real_Renamed_gfx11_gfx12<0x077, DS_READ2_B64, "ds_load_2addr_b64">;
+defm DS_LOAD_2ADDR_STRIDE64_B64          : DS_Real_Renamed_gfx11_gfx12<0x078, DS_READ2ST64_B64, "ds_load_2addr_stride64_b64">;
+defm DS_STORE_B8_D16_HI                  : DS_Real_Renamed_gfx11_gfx12<0x0a0, DS_WRITE_B8_D16_HI, "ds_store_b8_d16_hi">;
+defm DS_STORE_B16_D16_HI                 : DS_Real_Renamed_gfx11_gfx12<0x0a1, DS_WRITE_B16_D16_HI, "ds_store_b16_d16_hi">;
+defm DS_LOAD_U8_D16                      : DS_Real_Renamed_gfx11_gfx12<0x0a2, DS_READ_U8_D16, "ds_load_u8_d16">;
+defm DS_LOAD_U8_D16_HI                   : DS_Real_Renamed_gfx11_gfx12<0x0a3, DS_READ_U8_D16_HI, "ds_load_u8_d16_hi">;
+defm DS_LOAD_I8_D16                      : DS_Real_Renamed_gfx11_gfx12<0x0a4, DS_READ_I8_D16, "ds_load_i8_d16">;
+defm DS_LOAD_I8_D16_HI                   : DS_Real_Renamed_gfx11_gfx12<0x0a5, DS_READ_I8_D16_HI, "ds_load_i8_d16_hi">;
+defm DS_LOAD_U16_D16                     : DS_Real_Renamed_gfx11_gfx12<0x0a6, DS_READ_U16_D16, "ds_load_u16_d16">;
+defm DS_LOAD_U16_D16_HI                  : DS_Real_Renamed_gfx11_gfx12<0x0a7, DS_READ_U16_D16_HI, "ds_load_u16_d16_hi">;
+defm DS_STORE_ADDTID_B32                 : DS_Real_Renamed_gfx11_gfx12<0x0b0, DS_WRITE_ADDTID_B32, "ds_store_addtid_b32">;
+defm DS_LOAD_ADDTID_B32                  : DS_Real_Renamed_gfx11_gfx12<0x0b1, DS_READ_ADDTID_B32, "ds_load_addtid_b32">;
+defm DS_STORE_B96                        : DS_Real_Renamed_gfx11_gfx12<0x0de, DS_WRITE_B96, "ds_store_b96">;
+defm DS_STORE_B128                       : DS_Real_Renamed_gfx11_gfx12<0x0df, DS_WRITE_B128, "ds_store_b128">;
+defm DS_LOAD_B96                         : DS_Real_Renamed_gfx11_gfx12<0x0fe, DS_READ_B96, "ds_load_b96">;
+defm DS_LOAD_B128                        : DS_Real_Renamed_gfx11_gfx12<0x0ff, DS_READ_B128, "ds_load_b128">;
 
 // DS_CMPST_* are renamed to DS_CMPSTORE_* in GFX11, but also the data operands (src and cmp) are swapped
 // comparing to pre-GFX11.
 // Note: the mnemonic alias is not generated to avoid a potential ambiguity due to the semantics change.
 
-defm DS_CMPSTORE_B32                     : DS_Real_gfx11<0x010>;
+defm DS_CMPSTORE_B32                     : DS_Real_gfx11_gfx12<0x010>;
 defm DS_CMPSTORE_F32                     : DS_Real_gfx11<0x011>;
-defm DS_CMPSTORE_RTN_B32                 : DS_Real_gfx11<0x030>;
+defm DS_CMPSTORE_RTN_B32                 : DS_Real_gfx11_gfx12<0x030>;
 defm DS_CMPSTORE_RTN_F32                 : DS_Real_gfx11<0x031>;
-defm DS_CMPSTORE_B64                     : DS_Real_gfx11<0x050>;
+defm DS_CMPSTORE_B64                     : DS_Real_gfx11_gfx12<0x050>;
 defm DS_CMPSTORE_F64                     : DS_Real_gfx11<0x051>;
-defm DS_CMPSTORE_RTN_B64                 : DS_Real_gfx11<0x070>;
+defm DS_CMPSTORE_RTN_B64                 : DS_Real_gfx11_gfx12<0x070>;
 defm DS_CMPSTORE_RTN_F64                 : DS_Real_gfx11<0x071>;
 
-defm DS_ADD_RTN_F32                      : DS_Real_gfx11<0x079>;
+defm DS_ADD_RTN_F32                      : DS_Real_gfx11_gfx12<0x079>;
 defm DS_ADD_GS_REG_RTN                   : DS_Real_gfx11<0x07a>;
 defm DS_SUB_GS_REG_RTN                   : DS_Real_gfx11<0x07b>;
 defm DS_BVH_STACK_RTN_B32                : DS_Real_gfx11<0x0ad>;
@@ -1265,8 +1325,8 @@ defm DS_BVH_STACK_RTN_B32                : DS_Real_gfx11<0x0ad>;
 
 let AssemblerPredicate = isGFX10Only, DecoderNamespace = "GFX10" in {
   multiclass DS_Real_gfx10<bits<8> op>  {
-    def _gfx10 : Base_DS_Real_gfx6_gfx7_gfx10_gfx11<op, !cast<DS_Pseudo>(NAME),
-                                              SIEncodingFamily.GFX10>;
+    def _gfx10 : Base_DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<op,
+      !cast<DS_Pseudo>(NAME), SIEncodingFamily.GFX10>;
   }
 } // End AssemblerPredicate = isGFX10Only, DecoderNamespace = "GFX10"
 
@@ -1283,28 +1343,34 @@ defm DS_WRITE_ADDTID_B32 : DS_Real_gfx10<0x0b0>;
 defm DS_READ_ADDTID_B32  : DS_Real_gfx10<0x0b1>;
 
 //===----------------------------------------------------------------------===//
-// GFX10, GFX11.
+// GFX10, GFX11, GFX12.
 //===----------------------------------------------------------------------===//
 
+multiclass DS_Real_gfx10_gfx11_gfx12<bits<8> op> :
+  DS_Real_gfx10<op>, DS_Real_gfx11<op>, DS_Real_gfx12<op>;
+
 multiclass DS_Real_gfx10_gfx11<bits<8> op> :
   DS_Real_gfx10<op>, DS_Real_gfx11<op>;
 
-defm DS_ADD_F32          : DS_Real_gfx10_gfx11<0x015>;
+defm DS_ADD_F32          : DS_Real_gfx10_gfx11_gfx12<0x015>;
 defm DS_ADD_SRC2_F32     : DS_Real_gfx10<0x095>;
-defm DS_PERMUTE_B32      : DS_Real_gfx10_gfx11<0x0b2>;
-defm DS_BPERMUTE_B32     : DS_Real_gfx10_gfx11<0x0b3>;
+defm DS_PERMUTE_B32      : DS_Real_gfx10_gfx11_gfx12<0x0b2>;
+defm DS_BPERMUTE_B32     : DS_Real_gfx10_gfx11_gfx12<0x0b3>;
 
 //===----------------------------------------------------------------------===//
-// GFX7, GFX10, GFX11.
+// GFX7, GFX10, GFX11, GFX12.
 //===----------------------------------------------------------------------===//
 
 let AssemblerPredicate = isGFX7Only, DecoderNamespace = "GFX7" in {
   multiclass DS_Real_gfx7<bits<8> op> {
-    def _gfx7 : Base_DS_Real_gfx6_gfx7_gfx10_gfx11<op, !cast<DS_Pseudo>(NAME),
-                                             SIEncodingFamily.SI>;
+    def _gfx7 : Base_DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<op,
+      !cast<DS_Pseudo>(NAME), SIEncodingFamily.SI>;
   }
 } // End AssemblerPredicate = isGFX7Only, DecoderNamespace = "GFX7"
 
+multiclass DS_Real_gfx7_gfx10_gfx11_gfx12<bits<8> op> :
+  DS_Real_gfx7<op>, DS_Real_gfx10_gfx11_gfx12<op>;
+
 multiclass DS_Real_gfx7_gfx10_gfx11<bits<8> op> :
   DS_Real_gfx7<op>, DS_Real_gfx10_gfx11<op>;
 
@@ -1314,7 +1380,7 @@ multiclass DS_Real_gfx7_gfx10<bits<8> op> :
 // FIXME-GFX7: Add tests when upstreaming this part.
 defm DS_GWS_SEMA_RELEASE_ALL : DS_Real_gfx7_gfx10_gfx11<0x018>;
 defm DS_WRAP_RTN_B32         : DS_Real_gfx7_gfx10_gfx11<0x034>;
-defm DS_CONDXCHG32_RTN_B64   : DS_Real_gfx7_gfx10_gfx11<0x07e>;
+defm DS_CONDXCHG32_RTN_B64   : DS_Real_gfx7_gfx10_gfx11_gfx12<0x07e>;
 defm DS_WRITE_B96            : DS_Real_gfx7_gfx10<0x0de>;
 defm DS_WRITE_B128           : DS_Real_gfx7_gfx10<0x0df>;
 defm DS_READ_B96             : DS_Real_gfx7_gfx10<0x0fe>;
@@ -1326,30 +1392,33 @@ defm DS_READ_B128            : DS_Real_gfx7_gfx10<0x0ff>;
 
 let AssemblerPredicate = isGFX6GFX7, DecoderNamespace = "GFX6GFX7" in {
   multiclass DS_Real_gfx6_gfx7<bits<8> op> {
-    def _gfx6_gfx7 : Base_DS_Real_gfx6_gfx7_gfx10_gfx11<op, !cast<DS_Pseudo>(NAME),
-                                                  SIEncodingFamily.SI>;
+    def _gfx6_gfx7 : Base_DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<op,
+      !cast<DS_Pseudo>(NAME), SIEncodingFamily.SI>;
   }
 } // End AssemblerPredicate = isGFX6GFX7, DecoderNamespace = "GFX6GFX7"
 
+multiclass DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<bits<8> op> :
+  DS_Real_gfx6_gfx7<op>, DS_Real_gfx10_gfx11_gfx12<op>;
+
 multiclass DS_Real_gfx6_gfx7_gfx10_gfx11<bits<8> op> :
   DS_Real_gfx6_gfx7<op>, DS_Real_gfx10_gfx11<op>;
 
 multiclass DS_Real_gfx6_gfx7_gfx10<bits<8> op> :
   DS_Real_gfx6_gfx7<op>, DS_Real_gfx10<op>;
 
-defm DS_ADD_U32             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x000>;
-defm DS_SUB_U32             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x001>;
-defm DS_RSUB_U32            : DS_Real_gfx6_gfx7_gfx10_gfx11<0x002>;
-defm DS_INC_U32             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x003>;
-defm DS_DEC_U32             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x004>;
-defm DS_MIN_I32             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x005>;
-defm DS_MAX_I32             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x006>;
-defm DS_MIN_U32             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x007>;
-defm DS_MAX_U32             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x008>;
-defm DS_AND_B32             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x009>;
-defm DS_OR_B32              : DS_Real_gfx6_gfx7_gfx10_gfx11<0x00a>;
-defm DS_XOR_B32             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x00b>;
-defm DS_MSKOR_B32           : DS_Real_gfx6_gfx7_gfx10_gfx11<0x00c>;
+defm DS_ADD_U32             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x000>;
+defm DS_SUB_U32             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x001>;
+defm DS_RSUB_U32            : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x002>;
+defm DS_INC_U32             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x003>;
+defm DS_DEC_U32             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x004>;
+defm DS_MIN_I32             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x005>;
+defm DS_MAX_I32             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x006>;
+defm DS_MIN_U32             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x007>;
+defm DS_MAX_U32             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x008>;
+defm DS_AND_B32             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x009>;
+defm DS_OR_B32              : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x00a>;
+defm DS_XOR_B32             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x00b>;
+defm DS_MSKOR_B32           : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x00c>;
 
 defm DS_WRITE_B32           : DS_Real_gfx6_gfx7_gfx10<0x00d>;
 defm DS_WRITE2_B32          : DS_Real_gfx6_gfx7_gfx10<0x00e>;
@@ -1359,7 +1428,7 @@ defm DS_CMPST_F32           : DS_Real_gfx6_gfx7_gfx10<0x011>;
 
 defm DS_MIN_F32             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x012>;
 defm DS_MAX_F32             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x013>;
-defm DS_NOP                 : DS_Real_gfx6_gfx7_gfx10_gfx11<0x014>;
+defm DS_NOP                 : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x014>;
 defm DS_GWS_INIT            : DS_Real_gfx6_gfx7_gfx10_gfx11<0x019>;
 defm DS_GWS_SEMA_V          : DS_Real_gfx6_gfx7_gfx10_gfx11<0x01a>;
 defm DS_GWS_SEMA_BR         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x01b>;
@@ -1369,19 +1438,19 @@ defm DS_GWS_BARRIER         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x01d>;
 defm DS_WRITE_B8            : DS_Real_gfx6_gfx7_gfx10<0x01e>;
 defm DS_WRITE_B16           : DS_Real_gfx6_gfx7_gfx10<0x01f>;
 
-defm DS_ADD_RTN_U32         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x020>;
-defm DS_SUB_RTN_U32         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x021>;
-defm DS_RSUB_RTN_U32        : DS_Real_gfx6_gfx7_gfx10_gfx11<0x022>;
-defm DS_INC_RTN_U32         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x023>;
-defm DS_DEC_RTN_U32         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x024>;
-defm DS_MIN_RTN_I32         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x025>;
-defm DS_MAX_RTN_I32         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x026>;
-defm DS_MIN_RTN_U32         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x027>;
-defm DS_MAX_RTN_U32         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x028>;
-defm DS_AND_RTN_B32         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x029>;
-defm DS_OR_RTN_B32          : DS_Real_gfx6_gfx7_gfx10_gfx11<0x02a>;
-defm DS_XOR_RTN_B32         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x02b>;
-defm DS_MSKOR_RTN_B32       : DS_Real_gfx6_gfx7_gfx10_gfx11<0x02c>;
+defm DS_ADD_RTN_U32         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x020>;
+defm DS_SUB_RTN_U32         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x021>;
+defm DS_RSUB_RTN_U32        : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x022>;
+defm DS_INC_RTN_U32         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x023>;
+defm DS_DEC_RTN_U32         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x024>;
+defm DS_MIN_RTN_I32         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x025>;
+defm DS_MAX_RTN_I32         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x026>;
+defm DS_MIN_RTN_U32         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x027>;
+defm DS_MAX_RTN_U32         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x028>;
+defm DS_AND_RTN_B32         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x029>;
+defm DS_OR_RTN_B32          : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x02a>;
+defm DS_XOR_RTN_B32         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x02b>;
+defm DS_MSKOR_RTN_B32       : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x02c>;
 
 defm DS_WRXCHG_RTN_B32      : DS_Real_gfx6_gfx7_gfx10<0x02d>;
 defm DS_WRXCHG2_RTN_B32     : DS_Real_gfx6_gfx7_gfx10<0x02e>;
@@ -1391,7 +1460,7 @@ defm DS_CMPST_RTN_F32       : DS_Real_gfx6_gfx7_gfx10<0x031>;
 
 defm DS_MIN_RTN_F32         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x032>;
 defm DS_MAX_RTN_F32         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x033>;
-defm DS_SWIZZLE_B32         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x035>;
+defm DS_SWIZZLE_B32         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x035>;
 
 defm DS_READ_B32            : DS_Real_gfx6_gfx7_gfx10<0x036>;
 defm DS_READ2_B32           : DS_Real_gfx6_gfx7_gfx10<0x037>;
@@ -1401,22 +1470,22 @@ defm DS_READ_U8             : DS_Real_gfx6_gfx7_gfx10<0x03a>;
 defm DS_READ_I16            : DS_Real_gfx6_gfx7_gfx10<0x03b>;
 defm DS_READ_U16            : DS_Real_gfx6_gfx7_gfx10<0x03c>;
 
-defm DS_CONSUME             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x03d>;
-defm DS_APPEND              : DS_Real_gfx6_gfx7_gfx10_gfx11<0x03e>;
+defm DS_CONSUME             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x03d>;
+defm DS_APPEND              : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x03e>;
 defm DS_ORDERED_COUNT       : DS_Real_gfx6_gfx7_gfx10_gfx11<0x03f>;
-defm DS_ADD_U64             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x040>;
-defm DS_SUB_U64             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x041>;
-defm DS_RSUB_U64            : DS_Real_gfx6_gfx7_gfx10_gfx11<0x042>;
-defm DS_INC_U64             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x043>;
-defm DS_DEC_U64             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x044>;
-defm DS_MIN_I64             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x045>;
-defm DS_MAX_I64             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x046>;
-defm DS_MIN_U64             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x047>;
-defm DS_MAX_U64             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x048>;
-defm DS_AND_B64             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x049>;
-defm DS_OR_B64              : DS_Real_gfx6_gfx7_gfx10_gfx11<0x04a>;
-defm DS_XOR_B64             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x04b>;
-defm DS_MSKOR_B64           : DS_Real_gfx6_gfx7_gfx10_gfx11<0x04c>;
+defm DS_ADD_U64             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x040>;
+defm DS_SUB_U64             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x041>;
+defm DS_RSUB_U64            : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x042>;
+defm DS_INC_U64             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x043>;
+defm DS_DEC_U64             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x044>;
+defm DS_MIN_I64             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x045>;
+defm DS_MAX_I64             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x046>;
+defm DS_MIN_U64             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x047>;
+defm DS_MAX_U64             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x048>;
+defm DS_AND_B64             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x049>;
+defm DS_OR_B64              : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x04a>;
+defm DS_XOR_B64             : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x04b>;
+defm DS_MSKOR_B64           : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x04c>;
 
 defm DS_WRITE_B64           : DS_Real_gfx6_gfx7_gfx10<0x04d>;
 defm DS_WRITE2_B64          : DS_Real_gfx6_gfx7_gfx10<0x04e>;
@@ -1426,19 +1495,19 @@ defm DS_CMPST_F64           : DS_Real_gfx6_gfx7_gfx10<0x051>;
 
 defm DS_MIN_F64             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x052>;
 defm DS_MAX_F64             : DS_Real_gfx6_gfx7_gfx10_gfx11<0x053>;
-defm DS_ADD_RTN_U64         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x060>;
-defm DS_SUB_RTN_U64         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x061>;
-defm DS_RSUB_RTN_U64        : DS_Real_gfx6_gfx7_gfx10_gfx11<0x062>;
-defm DS_INC_RTN_U64         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x063>;
-defm DS_DEC_RTN_U64         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x064>;
-defm DS_MIN_RTN_I64         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x065>;
-defm DS_MAX_RTN_I64         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x066>;
-defm DS_MIN_RTN_U64         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x067>;
-defm DS_MAX_RTN_U64         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x068>;
-defm DS_AND_RTN_B64         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x069>;
-defm DS_OR_RTN_B64          : DS_Real_gfx6_gfx7_gfx10_gfx11<0x06a>;
-defm DS_XOR_RTN_B64         : DS_Real_gfx6_gfx7_gfx10_gfx11<0x06b>;
-defm DS_MSKOR_RTN_B64       : DS_Real_gfx6_gfx7_gfx10_gfx11<0x06c>;
+defm DS_ADD_RTN_U64         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x060>;
+defm DS_SUB_RTN_U64         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x061>;
+defm DS_RSUB_RTN_U64        : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x062>;
+defm DS_INC_RTN_U64         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x063>;
+defm DS_DEC_RTN_U64         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x064>;
+defm DS_MIN_RTN_I64         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x065>;
+defm DS_MAX_RTN_I64         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x066>;
+defm DS_MIN_RTN_U64         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x067>;
+defm DS_MAX_RTN_U64         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x068>;
+defm DS_AND_RTN_B64         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x069>;
+defm DS_OR_RTN_B64          : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x06a>;
+defm DS_XOR_RTN_B64         : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x06b>;
+defm DS_MSKOR_RTN_B64       : DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12<0x06c>;
 
 defm DS_WRXCHG_RTN_B64      : DS_Real_gfx6_gfx7_gfx10<0x06d>;
 defm DS_WRXCHG2_RTN_B64     : DS_Real_gfx6_gfx7_gfx10<0x06e>;

diff  --git a/llvm/test/MC/AMDGPU/gfx11_unsupported.s b/llvm/test/MC/AMDGPU/gfx11_unsupported.s
index 3b1b7e47b2143c..282bb580bd1b13 100644
--- a/llvm/test/MC/AMDGPU/gfx11_unsupported.s
+++ b/llvm/test/MC/AMDGPU/gfx11_unsupported.s
@@ -1983,3 +1983,9 @@ s_cmp_nlt_f16 s1, s2
 
 s_singleuse_vdst 0x1234
 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_sub_clamp_rtn_u32 v5, v1, v2
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_sub_clamp_u32 v1, v2
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU

diff  --git a/llvm/test/MC/AMDGPU/gfx12_asm_ds.s b/llvm/test/MC/AMDGPU/gfx12_asm_ds.s
new file mode 100644
index 00000000000000..ba32dc8820eaad
--- /dev/null
+++ b/llvm/test/MC/AMDGPU/gfx12_asm_ds.s
@@ -0,0 +1,1819 @@
+// RUN: llvm-mc -arch=amdgcn -mcpu=gfx1200 -show-encoding %s | FileCheck --check-prefix=GFX12 %s
+
+ds_nop
+// GFX12: [0x00,0x00,0x50,0xd8,0x00,0x00,0x00,0x00]
+
+ds_add_f32 v1, v2
+// GFX12: [0x00,0x00,0x54,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_f32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x54,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_f32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x54,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_f32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x54,0xd8,0xff,0xff,0x00,0x00]
+
+ds_add_rtn_f32 v5, v1, v2
+// GFX12: [0x00,0x00,0xe4,0xd9,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_f32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0xe4,0xd9,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_f32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0xe4,0xd9,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_f32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0xe4,0xd9,0xff,0xff,0x00,0xff]
+
+ds_add_rtn_u32 v5, v1, v2
+// GFX12: [0x00,0x00,0x80,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_u32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x80,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_u32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0x80,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_u32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0x80,0xd8,0xff,0xff,0x00,0xff]
+
+ds_add_rtn_u64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0x80,0xd9,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_u64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x80,0xd9,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_u64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x80,0xd9,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_u64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x80,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_add_u32 v1, v2
+// GFX12: [0x00,0x00,0x00,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_u32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x00,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_u32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x00,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_u32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x00,0xd8,0xff,0xff,0x00,0x00]
+
+ds_add_u64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x00,0xd9,0x01,0x02,0x00,0x00]
+
+ds_add_u64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x00,0xd9,0x01,0x02,0x00,0x00]
+
+ds_add_u64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x00,0xd9,0x01,0x02,0x00,0x00]
+
+ds_add_u64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x00,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_and_b32 v1, v2
+// GFX12: [0x00,0x00,0x24,0xd8,0x01,0x02,0x00,0x00]
+
+ds_and_b32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x24,0xd8,0x01,0x02,0x00,0x00]
+
+ds_and_b32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x24,0xd8,0x01,0x02,0x00,0x00]
+
+ds_and_b32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x24,0xd8,0xff,0xff,0x00,0x00]
+
+ds_and_b64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x24,0xd9,0x01,0x02,0x00,0x00]
+
+ds_and_b64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x24,0xd9,0x01,0x02,0x00,0x00]
+
+ds_and_b64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x24,0xd9,0x01,0x02,0x00,0x00]
+
+ds_and_b64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x24,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_and_rtn_b32 v5, v1, v2
+// GFX12: [0x00,0x00,0xa4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0xa4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0xa4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0xa4,0xd8,0xff,0xff,0x00,0xff]
+
+ds_and_rtn_b64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0xa4,0xd9,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0xa4,0xd9,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0xa4,0xd9,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0xa4,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_append v5
+// GFX12: [0x00,0x00,0xf8,0xd8,0x00,0x00,0x00,0x05]
+
+ds_append v5 offset:65535
+// GFX12: [0xff,0xff,0xf8,0xd8,0x00,0x00,0x00,0x05]
+
+ds_append v5 offset:0
+// GFX12: [0x00,0x00,0xf8,0xd8,0x00,0x00,0x00,0x05]
+
+ds_append v255 offset:4
+// GFX12: [0x04,0x00,0xf8,0xd8,0x00,0x00,0x00,0xff]
+
+ds_bpermute_b32 v5, v1, v2
+// GFX12: [0x00,0x00,0xcc,0xda,0x01,0x02,0x00,0x05]
+
+ds_bpermute_b32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0xcc,0xda,0x01,0x02,0x00,0x05]
+
+ds_bpermute_b32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0xcc,0xda,0x01,0x02,0x00,0x05]
+
+ds_bpermute_b32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0xcc,0xda,0xff,0xff,0x00,0xff]
+
+ds_cmpstore_b32 v1, v2, v3
+// GFX12: [0x00,0x00,0x40,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpstore_b32 v1, v2, v3 offset:65535
+// GFX12: [0xff,0xff,0x40,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpstore_b32 v1, v2, v3 offset:0
+// GFX12: [0x00,0x00,0x40,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpstore_b32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0x40,0xd8,0xff,0xff,0xff,0x00]
+
+ds_cmpstore_b64 v1, v[2:3], v[3:4]
+// GFX12: [0x00,0x00,0x40,0xd9,0x01,0x02,0x03,0x00]
+
+ds_cmpstore_b64 v1, v[2:3], v[3:4] offset:65535
+// GFX12: [0xff,0xff,0x40,0xd9,0x01,0x02,0x03,0x00]
+
+ds_cmpstore_b64 v1, v[2:3], v[3:4] offset:0
+// GFX12: [0x00,0x00,0x40,0xd9,0x01,0x02,0x03,0x00]
+
+ds_cmpstore_b64 v255, v[254:255], v[254:255] offset:4
+// GFX12: [0x04,0x00,0x40,0xd9,0xff,0xfe,0xfe,0x00]
+
+ds_cmpstore_rtn_b32 v5, v1, v2, v3
+// GFX12: [0x00,0x00,0xc0,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpstore_rtn_b32 v5, v1, v2, v3 offset:65535
+// GFX12: [0xff,0xff,0xc0,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpstore_rtn_b32 v5, v1, v2, v3 offset:0
+// GFX12: [0x00,0x00,0xc0,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpstore_rtn_b32 v255, v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0xc0,0xd8,0xff,0xff,0xff,0xff]
+
+ds_cmpstore_rtn_b64 v[5:6], v1, v[2:3], v[3:4]
+// GFX12: [0x00,0x00,0xc0,0xd9,0x01,0x02,0x03,0x05]
+
+ds_cmpstore_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:65535
+// GFX12: [0xff,0xff,0xc0,0xd9,0x01,0x02,0x03,0x05]
+
+ds_cmpstore_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:0
+// GFX12: [0x00,0x00,0xc0,0xd9,0x01,0x02,0x03,0x05]
+
+ds_cmpstore_rtn_b64 v[254:255], v255, v[254:255], v[254:255] offset:4
+// GFX12: [0x04,0x00,0xc0,0xd9,0xff,0xfe,0xfe,0xfe]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0xf8,0xd9,0x01,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0xf8,0xd9,0x01,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0xf8,0xd9,0x01,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0xf8,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_consume v5
+// GFX12: [0x00,0x00,0xf4,0xd8,0x00,0x00,0x00,0x05]
+
+ds_consume v5 offset:65535
+// GFX12: [0xff,0xff,0xf4,0xd8,0x00,0x00,0x00,0x05]
+
+ds_consume v5 offset:0
+// GFX12: [0x00,0x00,0xf4,0xd8,0x00,0x00,0x00,0x05]
+
+ds_consume v255 offset:4
+// GFX12: [0x04,0x00,0xf4,0xd8,0x00,0x00,0x00,0xff]
+
+ds_dec_rtn_u32 v5, v1, v2
+// GFX12: [0x00,0x00,0x90,0xd8,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x90,0xd8,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0x90,0xd8,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0x90,0xd8,0xff,0xff,0x00,0xff]
+
+ds_dec_rtn_u64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0x90,0xd9,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x90,0xd9,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x90,0xd9,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x90,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_dec_u32 v1, v2
+// GFX12: [0x00,0x00,0x10,0xd8,0x01,0x02,0x00,0x00]
+
+ds_dec_u32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x10,0xd8,0x01,0x02,0x00,0x00]
+
+ds_dec_u32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x10,0xd8,0x01,0x02,0x00,0x00]
+
+ds_dec_u32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x10,0xd8,0xff,0xff,0x00,0x00]
+
+ds_dec_u64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x10,0xd9,0x01,0x02,0x00,0x00]
+
+ds_dec_u64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x10,0xd9,0x01,0x02,0x00,0x00]
+
+ds_dec_u64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x10,0xd9,0x01,0x02,0x00,0x00]
+
+ds_dec_u64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x10,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_inc_rtn_u32 v5, v1, v2
+// GFX12: [0x00,0x00,0x8c,0xd8,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x8c,0xd8,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0x8c,0xd8,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0x8c,0xd8,0xff,0xff,0x00,0xff]
+
+ds_inc_rtn_u64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0x8c,0xd9,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x8c,0xd9,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x8c,0xd9,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x8c,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_inc_u32 v1, v2
+// GFX12: [0x00,0x00,0x0c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_inc_u32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x0c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_inc_u32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x0c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_inc_u32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x0c,0xd8,0xff,0xff,0x00,0x00]
+
+ds_inc_u64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x0c,0xd9,0x01,0x02,0x00,0x00]
+
+ds_inc_u64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x0c,0xd9,0x01,0x02,0x00,0x00]
+
+ds_inc_u64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x0c,0xd9,0x01,0x02,0x00,0x00]
+
+ds_inc_u64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x0c,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_load_2addr_b32 v[5:6], v1
+// GFX12: [0x00,0x00,0xdc,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_2addr_b32 v[5:6], v1 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xdc,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_2addr_b32 v[5:6], v1 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xdc,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_2addr_b32 v[254:255], v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xdc,0xd8,0xff,0x00,0x00,0xfe]
+
+ds_load_2addr_b64 v[5:8], v1
+// GFX12: [0x00,0x00,0xdc,0xd9,0x01,0x00,0x00,0x05]
+
+ds_load_2addr_b64 v[5:8], v1 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xdc,0xd9,0x01,0x00,0x00,0x05]
+
+ds_load_2addr_b64 v[5:8], v1 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xdc,0xd9,0x01,0x00,0x00,0x05]
+
+ds_load_2addr_b64 v[252:255], v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xdc,0xd9,0xff,0x00,0x00,0xfc]
+
+ds_load_2addr_stride64_b32 v[5:6], v1
+// GFX12: [0x00,0x00,0xe0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_2addr_stride64_b32 v[5:6], v1 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xe0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_2addr_stride64_b32 v[5:6], v1 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xe0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_2addr_stride64_b32 v[254:255], v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xe0,0xd8,0xff,0x00,0x00,0xfe]
+
+ds_load_2addr_stride64_b64 v[5:8], v1
+// GFX12: [0x00,0x00,0xe0,0xd9,0x01,0x00,0x00,0x05]
+
+ds_load_2addr_stride64_b64 v[5:8], v1 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xe0,0xd9,0x01,0x00,0x00,0x05]
+
+ds_load_2addr_stride64_b64 v[5:8], v1 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xe0,0xd9,0x01,0x00,0x00,0x05]
+
+ds_load_2addr_stride64_b64 v[252:255], v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xe0,0xd9,0xff,0x00,0x00,0xfc]
+
+ds_load_addtid_b32 v5
+// GFX12: [0x00,0x00,0xc4,0xda,0x00,0x00,0x00,0x05]
+
+ds_load_addtid_b32 v5 offset:65535
+// GFX12: [0xff,0xff,0xc4,0xda,0x00,0x00,0x00,0x05]
+
+ds_load_addtid_b32 v5 offset:0
+// GFX12: [0x00,0x00,0xc4,0xda,0x00,0x00,0x00,0x05]
+
+ds_load_addtid_b32 v255 offset:4
+// GFX12: [0x04,0x00,0xc4,0xda,0x00,0x00,0x00,0xff]
+
+ds_load_b128 v[5:8], v1
+// GFX12: [0x00,0x00,0xfc,0xdb,0x01,0x00,0x00,0x05]
+
+ds_load_b128 v[5:8], v1 offset:65535
+// GFX12: [0xff,0xff,0xfc,0xdb,0x01,0x00,0x00,0x05]
+
+ds_load_b128 v[5:8], v1 offset:0
+// GFX12: [0x00,0x00,0xfc,0xdb,0x01,0x00,0x00,0x05]
+
+ds_load_b128 v[252:255], v255 offset:4
+// GFX12: [0x04,0x00,0xfc,0xdb,0xff,0x00,0x00,0xfc]
+
+ds_load_b32 v5, v1
+// GFX12: [0x00,0x00,0xd8,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_b32 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0xd8,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_b32 v5, v1 offset:0
+// GFX12: [0x00,0x00,0xd8,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_b32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0xd8,0xd8,0xff,0x00,0x00,0xff]
+
+ds_load_b64 v[5:6], v1
+// GFX12: [0x00,0x00,0xd8,0xd9,0x01,0x00,0x00,0x05]
+
+ds_load_b64 v[5:6], v1 offset:65535
+// GFX12: [0xff,0xff,0xd8,0xd9,0x01,0x00,0x00,0x05]
+
+ds_load_b64 v[5:6], v1 offset:0
+// GFX12: [0x00,0x00,0xd8,0xd9,0x01,0x00,0x00,0x05]
+
+ds_load_b64 v[254:255], v255 offset:4
+// GFX12: [0x04,0x00,0xd8,0xd9,0xff,0x00,0x00,0xfe]
+
+ds_load_b96 v[5:7], v1
+// GFX12: [0x00,0x00,0xf8,0xdb,0x01,0x00,0x00,0x05]
+
+ds_load_b96 v[5:7], v1 offset:65535
+// GFX12: [0xff,0xff,0xf8,0xdb,0x01,0x00,0x00,0x05]
+
+ds_load_b96 v[5:7], v1 offset:0
+// GFX12: [0x00,0x00,0xf8,0xdb,0x01,0x00,0x00,0x05]
+
+ds_load_b96 v[253:255], v255 offset:4
+// GFX12: [0x04,0x00,0xf8,0xdb,0xff,0x00,0x00,0xfd]
+
+ds_load_i16 v5, v1
+// GFX12: [0x00,0x00,0xec,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_i16 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0xec,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_i16 v5, v1 offset:0
+// GFX12: [0x00,0x00,0xec,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_i16 v255, v255 offset:4
+// GFX12: [0x04,0x00,0xec,0xd8,0xff,0x00,0x00,0xff]
+
+ds_load_i8 v5, v1
+// GFX12: [0x00,0x00,0xe4,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_i8 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0xe4,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_i8 v5, v1 offset:0
+// GFX12: [0x00,0x00,0xe4,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_i8 v255, v255 offset:4
+// GFX12: [0x04,0x00,0xe4,0xd8,0xff,0x00,0x00,0xff]
+
+ds_load_i8_d16 v5, v1
+// GFX12: [0x00,0x00,0x90,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_i8_d16 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0x90,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_i8_d16 v5, v1 offset:0
+// GFX12: [0x00,0x00,0x90,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_i8_d16 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x90,0xda,0xff,0x00,0x00,0xff]
+
+ds_load_i8_d16_hi v5, v1
+// GFX12: [0x00,0x00,0x94,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_i8_d16_hi v5, v1 offset:65535
+// GFX12: [0xff,0xff,0x94,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_i8_d16_hi v5, v1 offset:0
+// GFX12: [0x00,0x00,0x94,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_i8_d16_hi v255, v255 offset:4
+// GFX12: [0x04,0x00,0x94,0xda,0xff,0x00,0x00,0xff]
+
+ds_load_u16 v5, v1
+// GFX12: [0x00,0x00,0xf0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_u16 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0xf0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_u16 v5, v1 offset:0
+// GFX12: [0x00,0x00,0xf0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_u16 v255, v255 offset:4
+// GFX12: [0x04,0x00,0xf0,0xd8,0xff,0x00,0x00,0xff]
+
+ds_load_u16_d16 v5, v1
+// GFX12: [0x00,0x00,0x98,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_u16_d16 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0x98,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_u16_d16 v5, v1 offset:0
+// GFX12: [0x00,0x00,0x98,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_u16_d16 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x98,0xda,0xff,0x00,0x00,0xff]
+
+ds_load_u16_d16_hi v5, v1
+// GFX12: [0x00,0x00,0x9c,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_u16_d16_hi v5, v1 offset:65535
+// GFX12: [0xff,0xff,0x9c,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_u16_d16_hi v5, v1 offset:0
+// GFX12: [0x00,0x00,0x9c,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_u16_d16_hi v255, v255 offset:4
+// GFX12: [0x04,0x00,0x9c,0xda,0xff,0x00,0x00,0xff]
+
+ds_load_u8 v5, v1
+// GFX12: [0x00,0x00,0xe8,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_u8 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0xe8,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_u8 v5, v1 offset:0
+// GFX12: [0x00,0x00,0xe8,0xd8,0x01,0x00,0x00,0x05]
+
+ds_load_u8 v255, v255 offset:4
+// GFX12: [0x04,0x00,0xe8,0xd8,0xff,0x00,0x00,0xff]
+
+ds_load_u8_d16 v5, v1
+// GFX12: [0x00,0x00,0x88,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_u8_d16 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0x88,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_u8_d16 v5, v1 offset:0
+// GFX12: [0x00,0x00,0x88,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_u8_d16 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x88,0xda,0xff,0x00,0x00,0xff]
+
+ds_load_u8_d16_hi v5, v1
+// GFX12: [0x00,0x00,0x8c,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_u8_d16_hi v5, v1 offset:65535
+// GFX12: [0xff,0xff,0x8c,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_u8_d16_hi v5, v1 offset:0
+// GFX12: [0x00,0x00,0x8c,0xda,0x01,0x00,0x00,0x05]
+
+ds_load_u8_d16_hi v255, v255 offset:4
+// GFX12: [0x04,0x00,0x8c,0xda,0xff,0x00,0x00,0xff]
+
+ds_max_num_f32 v1, v2
+// GFX12: [0x00,0x00,0x4c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_num_f32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x4c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_num_f32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x4c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_num_f32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x4c,0xd8,0xff,0xff,0x00,0x00]
+
+ds_max_num_f64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x4c,0xd9,0x01,0x02,0x00,0x00]
+
+ds_max_num_f64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x4c,0xd9,0x01,0x02,0x00,0x00]
+
+ds_max_num_f64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x4c,0xd9,0x01,0x02,0x00,0x00]
+
+ds_max_num_f64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x4c,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_max_i32 v1, v2
+// GFX12: [0x00,0x00,0x18,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_i32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x18,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_i32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x18,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_i32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x18,0xd8,0xff,0xff,0x00,0x00]
+
+ds_max_i64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x18,0xd9,0x01,0x02,0x00,0x00]
+
+ds_max_i64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x18,0xd9,0x01,0x02,0x00,0x00]
+
+ds_max_i64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x18,0xd9,0x01,0x02,0x00,0x00]
+
+ds_max_i64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x18,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_max_num_rtn_f32 v5, v1, v2
+// GFX12: [0x00,0x00,0xcc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_num_rtn_f32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0xcc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_num_rtn_f32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0xcc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_num_rtn_f32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0xcc,0xd8,0xff,0xff,0x00,0xff]
+
+ds_max_num_rtn_f64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0xcc,0xd9,0x01,0x02,0x00,0x05]
+
+ds_max_num_rtn_f64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0xcc,0xd9,0x01,0x02,0x00,0x05]
+
+ds_max_num_rtn_f64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0xcc,0xd9,0x01,0x02,0x00,0x05]
+
+ds_max_num_rtn_f64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0xcc,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_max_rtn_i32 v5, v1, v2
+// GFX12: [0x00,0x00,0x98,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x98,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0x98,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0x98,0xd8,0xff,0xff,0x00,0xff]
+
+ds_max_rtn_i64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0x98,0xd9,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x98,0xd9,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x98,0xd9,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x98,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_max_rtn_u32 v5, v1, v2
+// GFX12: [0x00,0x00,0xa0,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0xa0,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0xa0,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0xa0,0xd8,0xff,0xff,0x00,0xff]
+
+ds_max_rtn_u64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0xa0,0xd9,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0xa0,0xd9,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0xa0,0xd9,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0xa0,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_max_u32 v1, v2
+// GFX12: [0x00,0x00,0x20,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_u32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x20,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_u32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x20,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_u32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x20,0xd8,0xff,0xff,0x00,0x00]
+
+ds_max_u64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x20,0xd9,0x01,0x02,0x00,0x00]
+
+ds_max_u64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x20,0xd9,0x01,0x02,0x00,0x00]
+
+ds_max_u64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x20,0xd9,0x01,0x02,0x00,0x00]
+
+ds_max_u64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x20,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_min_num_f32 v1, v2
+// GFX12: [0x00,0x00,0x48,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_num_f32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x48,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_num_f32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x48,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_num_f32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x48,0xd8,0xff,0xff,0x00,0x00]
+
+ds_min_num_f64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x48,0xd9,0x01,0x02,0x00,0x00]
+
+ds_min_num_f64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x48,0xd9,0x01,0x02,0x00,0x00]
+
+ds_min_num_f64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x48,0xd9,0x01,0x02,0x00,0x00]
+
+ds_min_num_f64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x48,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_min_i32 v1, v2
+// GFX12: [0x00,0x00,0x14,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_i32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x14,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_i32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x14,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_i32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x14,0xd8,0xff,0xff,0x00,0x00]
+
+ds_min_i64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x14,0xd9,0x01,0x02,0x00,0x00]
+
+ds_min_i64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x14,0xd9,0x01,0x02,0x00,0x00]
+
+ds_min_i64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x14,0xd9,0x01,0x02,0x00,0x00]
+
+ds_min_i64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x14,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_min_num_rtn_f32 v5, v1, v2
+// GFX12: [0x00,0x00,0xc8,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_num_rtn_f32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0xc8,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_num_rtn_f32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0xc8,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_num_rtn_f32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0xc8,0xd8,0xff,0xff,0x00,0xff]
+
+ds_min_num_rtn_f64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0xc8,0xd9,0x01,0x02,0x00,0x05]
+
+ds_min_num_rtn_f64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0xc8,0xd9,0x01,0x02,0x00,0x05]
+
+ds_min_num_rtn_f64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0xc8,0xd9,0x01,0x02,0x00,0x05]
+
+ds_min_num_rtn_f64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0xc8,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_min_rtn_i32 v5, v1, v2
+// GFX12: [0x00,0x00,0x94,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x94,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0x94,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0x94,0xd8,0xff,0xff,0x00,0xff]
+
+ds_min_rtn_i64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0x94,0xd9,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x94,0xd9,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x94,0xd9,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x94,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_min_rtn_u32 v5, v1, v2
+// GFX12: [0x00,0x00,0x9c,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x9c,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0x9c,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0x9c,0xd8,0xff,0xff,0x00,0xff]
+
+ds_min_rtn_u64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0x9c,0xd9,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x9c,0xd9,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x9c,0xd9,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x9c,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_min_u32 v1, v2
+// GFX12: [0x00,0x00,0x1c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_u32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x1c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_u32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x1c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_u32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x1c,0xd8,0xff,0xff,0x00,0x00]
+
+ds_min_u64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x1c,0xd9,0x01,0x02,0x00,0x00]
+
+ds_min_u64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x1c,0xd9,0x01,0x02,0x00,0x00]
+
+ds_min_u64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x1c,0xd9,0x01,0x02,0x00,0x00]
+
+ds_min_u64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x1c,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_mskor_b32 v1, v2, v3
+// GFX12: [0x00,0x00,0x30,0xd8,0x01,0x02,0x03,0x00]
+
+ds_mskor_b32 v1, v2, v3 offset:65535
+// GFX12: [0xff,0xff,0x30,0xd8,0x01,0x02,0x03,0x00]
+
+ds_mskor_b32 v1, v2, v3 offset:0
+// GFX12: [0x00,0x00,0x30,0xd8,0x01,0x02,0x03,0x00]
+
+ds_mskor_b32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0x30,0xd8,0xff,0xff,0xff,0x00]
+
+ds_mskor_b64 v1, v[2:3], v[3:4]
+// GFX12: [0x00,0x00,0x30,0xd9,0x01,0x02,0x03,0x00]
+
+ds_mskor_b64 v1, v[2:3], v[3:4] offset:65535
+// GFX12: [0xff,0xff,0x30,0xd9,0x01,0x02,0x03,0x00]
+
+ds_mskor_b64 v1, v[2:3], v[3:4] offset:0
+// GFX12: [0x00,0x00,0x30,0xd9,0x01,0x02,0x03,0x00]
+
+ds_mskor_b64 v255, v[254:255], v[254:255] offset:4
+// GFX12: [0x04,0x00,0x30,0xd9,0xff,0xfe,0xfe,0x00]
+
+ds_mskor_rtn_b32 v5, v1, v2, v3
+// GFX12: [0x00,0x00,0xb0,0xd8,0x01,0x02,0x03,0x05]
+
+ds_mskor_rtn_b32 v5, v1, v2, v3 offset:65535
+// GFX12: [0xff,0xff,0xb0,0xd8,0x01,0x02,0x03,0x05]
+
+ds_mskor_rtn_b32 v5, v1, v2, v3 offset:0
+// GFX12: [0x00,0x00,0xb0,0xd8,0x01,0x02,0x03,0x05]
+
+ds_mskor_rtn_b32 v255, v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0xb0,0xd8,0xff,0xff,0xff,0xff]
+
+ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[3:4]
+// GFX12: [0x00,0x00,0xb0,0xd9,0x01,0x02,0x03,0x05]
+
+ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:65535
+// GFX12: [0xff,0xff,0xb0,0xd9,0x01,0x02,0x03,0x05]
+
+ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:0
+// GFX12: [0x00,0x00,0xb0,0xd9,0x01,0x02,0x03,0x05]
+
+ds_mskor_rtn_b64 v[254:255], v255, v[254:255], v[254:255] offset:4
+// GFX12: [0x04,0x00,0xb0,0xd9,0xff,0xfe,0xfe,0xfe]
+
+ds_or_b32 v1, v2
+// GFX12: [0x00,0x00,0x28,0xd8,0x01,0x02,0x00,0x00]
+
+ds_or_b32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x28,0xd8,0x01,0x02,0x00,0x00]
+
+ds_or_b32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x28,0xd8,0x01,0x02,0x00,0x00]
+
+ds_or_b32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x28,0xd8,0xff,0xff,0x00,0x00]
+
+ds_or_b64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x28,0xd9,0x01,0x02,0x00,0x00]
+
+ds_or_b64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x28,0xd9,0x01,0x02,0x00,0x00]
+
+ds_or_b64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x28,0xd9,0x01,0x02,0x00,0x00]
+
+ds_or_b64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x28,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_or_rtn_b32 v5, v1, v2
+// GFX12: [0x00,0x00,0xa8,0xd8,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0xa8,0xd8,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0xa8,0xd8,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0xa8,0xd8,0xff,0xff,0x00,0xff]
+
+ds_or_rtn_b64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0xa8,0xd9,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0xa8,0xd9,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0xa8,0xd9,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0xa8,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_permute_b32 v5, v1, v2
+// GFX12: [0x00,0x00,0xc8,0xda,0x01,0x02,0x00,0x05]
+
+ds_permute_b32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0xc8,0xda,0x01,0x02,0x00,0x05]
+
+ds_permute_b32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0xc8,0xda,0x01,0x02,0x00,0x05]
+
+ds_permute_b32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0xc8,0xda,0xff,0xff,0x00,0xff]
+
+ds_read2_b32 v[5:6], v1
+// GFX12: [0x00,0x00,0xdc,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b32 v[5:6], v1 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xdc,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b32 v[5:6], v1 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xdc,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b32 v[254:255], v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xdc,0xd8,0xff,0x00,0x00,0xfe]
+
+ds_read2_b64 v[5:8], v1
+// GFX12: [0x00,0x00,0xdc,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read2_b64 v[5:8], v1 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xdc,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read2_b64 v[5:8], v1 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xdc,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read2_b64 v[252:255], v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xdc,0xd9,0xff,0x00,0x00,0xfc]
+
+ds_read2st64_b32 v[5:6], v1
+// GFX12: [0x00,0x00,0xe0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b32 v[5:6], v1 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xe0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b32 v[5:6], v1 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xe0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b32 v[254:255], v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xe0,0xd8,0xff,0x00,0x00,0xfe]
+
+ds_read2st64_b64 v[5:8], v1
+// GFX12: [0x00,0x00,0xe0,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b64 v[5:8], v1 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xe0,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b64 v[5:8], v1 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xe0,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b64 v[252:255], v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xe0,0xd9,0xff,0x00,0x00,0xfc]
+
+ds_read_addtid_b32 v5
+// GFX12: [0x00,0x00,0xc4,0xda,0x00,0x00,0x00,0x05]
+
+ds_read_addtid_b32 v5 offset:65535
+// GFX12: [0xff,0xff,0xc4,0xda,0x00,0x00,0x00,0x05]
+
+ds_read_addtid_b32 v5 offset:0
+// GFX12: [0x00,0x00,0xc4,0xda,0x00,0x00,0x00,0x05]
+
+ds_read_addtid_b32 v255 offset:4
+// GFX12: [0x04,0x00,0xc4,0xda,0x00,0x00,0x00,0xff]
+
+ds_read_b128 v[5:8], v1
+// GFX12: [0x00,0x00,0xfc,0xdb,0x01,0x00,0x00,0x05]
+
+ds_read_b128 v[5:8], v1 offset:65535
+// GFX12: [0xff,0xff,0xfc,0xdb,0x01,0x00,0x00,0x05]
+
+ds_read_b128 v[5:8], v1 offset:0
+// GFX12: [0x00,0x00,0xfc,0xdb,0x01,0x00,0x00,0x05]
+
+ds_read_b128 v[252:255], v255 offset:4
+// GFX12: [0x04,0x00,0xfc,0xdb,0xff,0x00,0x00,0xfc]
+
+ds_read_b32 v5, v1
+// GFX12: [0x00,0x00,0xd8,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_b32 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0xd8,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_b32 v5, v1 offset:0
+// GFX12: [0x00,0x00,0xd8,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_b32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0xd8,0xd8,0xff,0x00,0x00,0xff]
+
+ds_read_b64 v[5:6], v1
+// GFX12: [0x00,0x00,0xd8,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read_b64 v[5:6], v1 offset:65535
+// GFX12: [0xff,0xff,0xd8,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read_b64 v[5:6], v1 offset:0
+// GFX12: [0x00,0x00,0xd8,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read_b64 v[254:255], v255 offset:4
+// GFX12: [0x04,0x00,0xd8,0xd9,0xff,0x00,0x00,0xfe]
+
+ds_read_b96 v[5:7], v1
+// GFX12: [0x00,0x00,0xf8,0xdb,0x01,0x00,0x00,0x05]
+
+ds_read_b96 v[5:7], v1 offset:65535
+// GFX12: [0xff,0xff,0xf8,0xdb,0x01,0x00,0x00,0x05]
+
+ds_read_b96 v[5:7], v1 offset:0
+// GFX12: [0x00,0x00,0xf8,0xdb,0x01,0x00,0x00,0x05]
+
+ds_read_b96 v[253:255], v255 offset:4
+// GFX12: [0x04,0x00,0xf8,0xdb,0xff,0x00,0x00,0xfd]
+
+ds_read_i16 v5, v1
+// GFX12: [0x00,0x00,0xec,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i16 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0xec,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i16 v5, v1 offset:0
+// GFX12: [0x00,0x00,0xec,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i16 v255, v255 offset:4
+// GFX12: [0x04,0x00,0xec,0xd8,0xff,0x00,0x00,0xff]
+
+ds_read_i8 v5, v1
+// GFX12: [0x00,0x00,0xe4,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i8 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0xe4,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i8 v5, v1 offset:0
+// GFX12: [0x00,0x00,0xe4,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i8 v255, v255 offset:4
+// GFX12: [0x04,0x00,0xe4,0xd8,0xff,0x00,0x00,0xff]
+
+ds_read_i8_d16 v5, v1
+// GFX12: [0x00,0x00,0x90,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_i8_d16 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0x90,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_i8_d16 v5, v1 offset:0
+// GFX12: [0x00,0x00,0x90,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_i8_d16 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x90,0xda,0xff,0x00,0x00,0xff]
+
+ds_read_i8_d16_hi v5, v1
+// GFX12: [0x00,0x00,0x94,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_i8_d16_hi v5, v1 offset:65535
+// GFX12: [0xff,0xff,0x94,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_i8_d16_hi v5, v1 offset:0
+// GFX12: [0x00,0x00,0x94,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_i8_d16_hi v255, v255 offset:4
+// GFX12: [0x04,0x00,0x94,0xda,0xff,0x00,0x00,0xff]
+
+ds_read_u16 v5, v1
+// GFX12: [0x00,0x00,0xf0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u16 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0xf0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u16 v5, v1 offset:0
+// GFX12: [0x00,0x00,0xf0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u16 v255, v255 offset:4
+// GFX12: [0x04,0x00,0xf0,0xd8,0xff,0x00,0x00,0xff]
+
+ds_read_u16_d16 v5, v1
+// GFX12: [0x00,0x00,0x98,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_u16_d16 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0x98,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_u16_d16 v5, v1 offset:0
+// GFX12: [0x00,0x00,0x98,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_u16_d16 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x98,0xda,0xff,0x00,0x00,0xff]
+
+ds_read_u16_d16_hi v5, v1
+// GFX12: [0x00,0x00,0x9c,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_u16_d16_hi v5, v1 offset:65535
+// GFX12: [0xff,0xff,0x9c,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_u16_d16_hi v5, v1 offset:0
+// GFX12: [0x00,0x00,0x9c,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_u16_d16_hi v255, v255 offset:4
+// GFX12: [0x04,0x00,0x9c,0xda,0xff,0x00,0x00,0xff]
+
+ds_read_u8 v5, v1
+// GFX12: [0x00,0x00,0xe8,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u8 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0xe8,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u8 v5, v1 offset:0
+// GFX12: [0x00,0x00,0xe8,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u8 v255, v255 offset:4
+// GFX12: [0x04,0x00,0xe8,0xd8,0xff,0x00,0x00,0xff]
+
+ds_read_u8_d16 v5, v1
+// GFX12: [0x00,0x00,0x88,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_u8_d16 v5, v1 offset:65535
+// GFX12: [0xff,0xff,0x88,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_u8_d16 v5, v1 offset:0
+// GFX12: [0x00,0x00,0x88,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_u8_d16 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x88,0xda,0xff,0x00,0x00,0xff]
+
+ds_read_u8_d16_hi v5, v1
+// GFX12: [0x00,0x00,0x8c,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_u8_d16_hi v5, v1 offset:65535
+// GFX12: [0xff,0xff,0x8c,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_u8_d16_hi v5, v1 offset:0
+// GFX12: [0x00,0x00,0x8c,0xda,0x01,0x00,0x00,0x05]
+
+ds_read_u8_d16_hi v255, v255 offset:4
+// GFX12: [0x04,0x00,0x8c,0xda,0xff,0x00,0x00,0xff]
+
+ds_rsub_rtn_u32 v5, v1, v2
+// GFX12: [0x00,0x00,0x88,0xd8,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x88,0xd8,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0x88,0xd8,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0x88,0xd8,0xff,0xff,0x00,0xff]
+
+ds_rsub_rtn_u64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0x88,0xd9,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x88,0xd9,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x88,0xd9,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x88,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_rsub_u32 v1, v2
+// GFX12: [0x00,0x00,0x08,0xd8,0x01,0x02,0x00,0x00]
+
+ds_rsub_u32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x08,0xd8,0x01,0x02,0x00,0x00]
+
+ds_rsub_u32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x08,0xd8,0x01,0x02,0x00,0x00]
+
+ds_rsub_u32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x08,0xd8,0xff,0xff,0x00,0x00]
+
+ds_rsub_u64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x08,0xd9,0x01,0x02,0x00,0x00]
+
+ds_rsub_u64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x08,0xd9,0x01,0x02,0x00,0x00]
+
+ds_rsub_u64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x08,0xd9,0x01,0x02,0x00,0x00]
+
+ds_rsub_u64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x08,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_store_2addr_b32 v1, v2, v3
+// GFX12: [0x00,0x00,0x38,0xd8,0x01,0x02,0x03,0x00]
+
+ds_store_2addr_b32 v1, v2, v3 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0x38,0xd8,0x01,0x02,0x03,0x00]
+
+ds_store_2addr_b32 v1, v2, v3 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0x38,0xd8,0x01,0x02,0x03,0x00]
+
+ds_store_2addr_b32 v255, v255, v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0x38,0xd8,0xff,0xff,0xff,0x00]
+
+ds_store_2addr_b64 v1, v[2:3], v[3:4]
+// GFX12: [0x00,0x00,0x38,0xd9,0x01,0x02,0x03,0x00]
+
+ds_store_2addr_b64 v1, v[2:3], v[3:4] offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0x38,0xd9,0x01,0x02,0x03,0x00]
+
+ds_store_2addr_b64 v1, v[2:3], v[3:4] offset0:0 offset1:0
+// GFX12: [0x00,0x00,0x38,0xd9,0x01,0x02,0x03,0x00]
+
+ds_store_2addr_b64 v255, v[254:255], v[254:255] offset0:16 offset1:1
+// GFX12: [0x10,0x01,0x38,0xd9,0xff,0xfe,0xfe,0x00]
+
+ds_store_2addr_stride64_b32 v1, v2, v3
+// GFX12: [0x00,0x00,0x3c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_store_2addr_stride64_b32 v1, v2, v3 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0x3c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_store_2addr_stride64_b32 v1, v2, v3 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0x3c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_store_2addr_stride64_b32 v255, v255, v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0x3c,0xd8,0xff,0xff,0xff,0x00]
+
+ds_store_2addr_stride64_b64 v1, v[2:3], v[3:4]
+// GFX12: [0x00,0x00,0x3c,0xd9,0x01,0x02,0x03,0x00]
+
+ds_store_2addr_stride64_b64 v1, v[2:3], v[3:4] offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0x3c,0xd9,0x01,0x02,0x03,0x00]
+
+ds_store_2addr_stride64_b64 v1, v[2:3], v[3:4] offset0:0 offset1:0
+// GFX12: [0x00,0x00,0x3c,0xd9,0x01,0x02,0x03,0x00]
+
+ds_store_2addr_stride64_b64 v255, v[254:255], v[254:255] offset0:16 offset1:1
+// GFX12: [0x10,0x01,0x3c,0xd9,0xff,0xfe,0xfe,0x00]
+
+ds_store_addtid_b32 v1
+// GFX12: [0x00,0x00,0xc0,0xda,0x00,0x01,0x00,0x00]
+
+ds_store_addtid_b32 v1 offset:65535
+// GFX12: [0xff,0xff,0xc0,0xda,0x00,0x01,0x00,0x00]
+
+ds_store_addtid_b32 v1 offset:0
+// GFX12: [0x00,0x00,0xc0,0xda,0x00,0x01,0x00,0x00]
+
+ds_store_addtid_b32 v255 offset:4
+// GFX12: [0x04,0x00,0xc0,0xda,0x00,0xff,0x00,0x00]
+
+ds_store_b128 v1, v[2:5]
+// GFX12: [0x00,0x00,0x7c,0xdb,0x01,0x02,0x00,0x00]
+
+ds_store_b128 v1, v[2:5] offset:65535
+// GFX12: [0xff,0xff,0x7c,0xdb,0x01,0x02,0x00,0x00]
+
+ds_store_b128 v1, v[2:5] offset:0
+// GFX12: [0x00,0x00,0x7c,0xdb,0x01,0x02,0x00,0x00]
+
+ds_store_b128 v255, v[252:255] offset:4
+// GFX12: [0x04,0x00,0x7c,0xdb,0xff,0xfc,0x00,0x00]
+
+ds_store_b16 v1, v2
+// GFX12: [0x00,0x00,0x7c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_store_b16 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x7c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_store_b16 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x7c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_store_b16 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x7c,0xd8,0xff,0xff,0x00,0x00]
+
+ds_store_b16_d16_hi v1, v2
+// GFX12: [0x00,0x00,0x84,0xda,0x01,0x02,0x00,0x00]
+
+ds_store_b16_d16_hi v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x84,0xda,0x01,0x02,0x00,0x00]
+
+ds_store_b16_d16_hi v1, v2 offset:0
+// GFX12: [0x00,0x00,0x84,0xda,0x01,0x02,0x00,0x00]
+
+ds_store_b16_d16_hi v255, v255 offset:4
+// GFX12: [0x04,0x00,0x84,0xda,0xff,0xff,0x00,0x00]
+
+ds_store_b32 v1, v2
+// GFX12: [0x00,0x00,0x34,0xd8,0x01,0x02,0x00,0x00]
+
+ds_store_b32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x34,0xd8,0x01,0x02,0x00,0x00]
+
+ds_store_b32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x34,0xd8,0x01,0x02,0x00,0x00]
+
+ds_store_b32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x34,0xd8,0xff,0xff,0x00,0x00]
+
+ds_store_b64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x34,0xd9,0x01,0x02,0x00,0x00]
+
+ds_store_b64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x34,0xd9,0x01,0x02,0x00,0x00]
+
+ds_store_b64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x34,0xd9,0x01,0x02,0x00,0x00]
+
+ds_store_b64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x34,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_store_b8 v1, v2
+// GFX12: [0x00,0x00,0x78,0xd8,0x01,0x02,0x00,0x00]
+
+ds_store_b8 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x78,0xd8,0x01,0x02,0x00,0x00]
+
+ds_store_b8 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x78,0xd8,0x01,0x02,0x00,0x00]
+
+ds_store_b8 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x78,0xd8,0xff,0xff,0x00,0x00]
+
+ds_store_b8_d16_hi v1, v2
+// GFX12: [0x00,0x00,0x80,0xda,0x01,0x02,0x00,0x00]
+
+ds_store_b8_d16_hi v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x80,0xda,0x01,0x02,0x00,0x00]
+
+ds_store_b8_d16_hi v1, v2 offset:0
+// GFX12: [0x00,0x00,0x80,0xda,0x01,0x02,0x00,0x00]
+
+ds_store_b8_d16_hi v255, v255 offset:4
+// GFX12: [0x04,0x00,0x80,0xda,0xff,0xff,0x00,0x00]
+
+ds_store_b96 v1, v[2:4]
+// GFX12: [0x00,0x00,0x78,0xdb,0x01,0x02,0x00,0x00]
+
+ds_store_b96 v1, v[2:4] offset:65535
+// GFX12: [0xff,0xff,0x78,0xdb,0x01,0x02,0x00,0x00]
+
+ds_store_b96 v1, v[2:4] offset:0
+// GFX12: [0x00,0x00,0x78,0xdb,0x01,0x02,0x00,0x00]
+
+ds_store_b96 v255, v[253:255] offset:4
+// GFX12: [0x04,0x00,0x78,0xdb,0xff,0xfd,0x00,0x00]
+
+ds_storexchg_2addr_rtn_b32 v[5:6], v1, v2, v3
+// GFX12: [0x00,0x00,0xb8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_storexchg_2addr_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xb8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_storexchg_2addr_rtn_b32 v[5:6], v1, v2, v3 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xb8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_storexchg_2addr_rtn_b32 v[254:255], v255, v255, v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xb8,0xd8,0xff,0xff,0xff,0xfe]
+
+ds_storexchg_2addr_rtn_b64 v[5:8], v1, v[2:3], v[3:4]
+// GFX12: [0x00,0x00,0xb8,0xd9,0x01,0x02,0x03,0x05]
+
+ds_storexchg_2addr_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xb8,0xd9,0x01,0x02,0x03,0x05]
+
+ds_storexchg_2addr_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xb8,0xd9,0x01,0x02,0x03,0x05]
+
+ds_storexchg_2addr_rtn_b64 v[252:255], v255, v[254:255], v[254:255] offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xb8,0xd9,0xff,0xfe,0xfe,0xfc]
+
+ds_storexchg_2addr_stride64_rtn_b32 v[5:6], v1, v2, v3
+// GFX12: [0x00,0x00,0xbc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_storexchg_2addr_stride64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xbc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_storexchg_2addr_stride64_rtn_b32 v[5:6], v1, v2, v3 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xbc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_storexchg_2addr_stride64_rtn_b32 v[254:255], v255, v255, v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xbc,0xd8,0xff,0xff,0xff,0xfe]
+
+ds_storexchg_2addr_stride64_rtn_b64 v[5:8], v1, v[2:3], v[3:4]
+// GFX12: [0x00,0x00,0xbc,0xd9,0x01,0x02,0x03,0x05]
+
+ds_storexchg_2addr_stride64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xbc,0xd9,0x01,0x02,0x03,0x05]
+
+ds_storexchg_2addr_stride64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xbc,0xd9,0x01,0x02,0x03,0x05]
+
+ds_storexchg_2addr_stride64_rtn_b64 v[252:255], v255, v[254:255], v[254:255] offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xbc,0xd9,0xff,0xfe,0xfe,0xfc]
+
+ds_storexchg_rtn_b32 v5, v1, v2
+// GFX12: [0x00,0x00,0xb4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_storexchg_rtn_b32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0xb4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_storexchg_rtn_b32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0xb4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_storexchg_rtn_b32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0xb4,0xd8,0xff,0xff,0x00,0xff]
+
+ds_storexchg_rtn_b64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0xb4,0xd9,0x01,0x02,0x00,0x05]
+
+ds_storexchg_rtn_b64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0xb4,0xd9,0x01,0x02,0x00,0x05]
+
+ds_storexchg_rtn_b64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0xb4,0xd9,0x01,0x02,0x00,0x05]
+
+ds_storexchg_rtn_b64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0xb4,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_sub_clamp_rtn_u32 v5, v1, v2
+// GFX12: [0x00,0x00,0xa4,0xda,0x01,0x02,0x00,0x05]
+
+ds_sub_clamp_rtn_u32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0xa4,0xda,0x01,0x02,0x00,0x05]
+
+ds_sub_clamp_rtn_u32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0xa4,0xda,0x01,0x02,0x00,0x05]
+
+ds_sub_clamp_rtn_u32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0xa4,0xda,0xff,0xff,0x00,0xff]
+
+ds_sub_clamp_u32 v1, v2
+// GFX12: [0x00,0x00,0x64,0xda,0x01,0x02,0x00,0x00]
+
+ds_sub_clamp_u32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x64,0xda,0x01,0x02,0x00,0x00]
+
+ds_sub_clamp_u32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x64,0xda,0x01,0x02,0x00,0x00]
+
+ds_sub_clamp_u32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x64,0xda,0xff,0xff,0x00,0x00]
+
+ds_sub_rtn_u32 v5, v1, v2
+// GFX12: [0x00,0x00,0x84,0xd8,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x84,0xd8,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0x84,0xd8,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0x84,0xd8,0xff,0xff,0x00,0xff]
+
+ds_sub_rtn_u64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0x84,0xd9,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x84,0xd9,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x84,0xd9,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x84,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_sub_u32 v1, v2
+// GFX12: [0x00,0x00,0x04,0xd8,0x01,0x02,0x00,0x00]
+
+ds_sub_u32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x04,0xd8,0x01,0x02,0x00,0x00]
+
+ds_sub_u32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x04,0xd8,0x01,0x02,0x00,0x00]
+
+ds_sub_u32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x04,0xd8,0xff,0xff,0x00,0x00]
+
+ds_sub_u64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x04,0xd9,0x01,0x02,0x00,0x00]
+
+ds_sub_u64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x04,0xd9,0x01,0x02,0x00,0x00]
+
+ds_sub_u64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x04,0xd9,0x01,0x02,0x00,0x00]
+
+ds_sub_u64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x04,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_write2_b32 v1, v2, v3
+// GFX12: [0x00,0x00,0x38,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b32 v1, v2, v3 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0x38,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b32 v1, v2, v3 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0x38,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b32 v255, v255, v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0x38,0xd8,0xff,0xff,0xff,0x00]
+
+ds_write2_b64 v1, v[2:3], v[3:4]
+// GFX12: [0x00,0x00,0x38,0xd9,0x01,0x02,0x03,0x00]
+
+ds_write2_b64 v1, v[2:3], v[3:4] offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0x38,0xd9,0x01,0x02,0x03,0x00]
+
+ds_write2_b64 v1, v[2:3], v[3:4] offset0:0 offset1:0
+// GFX12: [0x00,0x00,0x38,0xd9,0x01,0x02,0x03,0x00]
+
+ds_write2_b64 v255, v[254:255], v[254:255] offset0:16 offset1:1
+// GFX12: [0x10,0x01,0x38,0xd9,0xff,0xfe,0xfe,0x00]
+
+ds_write2st64_b32 v1, v2, v3
+// GFX12: [0x00,0x00,0x3c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b32 v1, v2, v3 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0x3c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b32 v1, v2, v3 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0x3c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b32 v255, v255, v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0x3c,0xd8,0xff,0xff,0xff,0x00]
+
+ds_write2st64_b64 v1, v[2:3], v[3:4]
+// GFX12: [0x00,0x00,0x3c,0xd9,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b64 v1, v[2:3], v[3:4] offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0x3c,0xd9,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b64 v1, v[2:3], v[3:4] offset0:0 offset1:0
+// GFX12: [0x00,0x00,0x3c,0xd9,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b64 v255, v[254:255], v[254:255] offset0:16 offset1:1
+// GFX12: [0x10,0x01,0x3c,0xd9,0xff,0xfe,0xfe,0x00]
+
+ds_write_addtid_b32 v1
+// GFX12: [0x00,0x00,0xc0,0xda,0x00,0x01,0x00,0x00]
+
+ds_write_addtid_b32 v1 offset:65535
+// GFX12: [0xff,0xff,0xc0,0xda,0x00,0x01,0x00,0x00]
+
+ds_write_addtid_b32 v1 offset:0
+// GFX12: [0x00,0x00,0xc0,0xda,0x00,0x01,0x00,0x00]
+
+ds_write_addtid_b32 v255 offset:4
+// GFX12: [0x04,0x00,0xc0,0xda,0x00,0xff,0x00,0x00]
+
+ds_write_b128 v1, v[2:5]
+// GFX12: [0x00,0x00,0x7c,0xdb,0x01,0x02,0x00,0x00]
+
+ds_write_b128 v1, v[2:5] offset:65535
+// GFX12: [0xff,0xff,0x7c,0xdb,0x01,0x02,0x00,0x00]
+
+ds_write_b128 v1, v[2:5] offset:0
+// GFX12: [0x00,0x00,0x7c,0xdb,0x01,0x02,0x00,0x00]
+
+ds_write_b128 v255, v[252:255] offset:4
+// GFX12: [0x04,0x00,0x7c,0xdb,0xff,0xfc,0x00,0x00]
+
+ds_write_b16 v1, v2
+// GFX12: [0x00,0x00,0x7c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b16 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x7c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b16 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x7c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b16 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x7c,0xd8,0xff,0xff,0x00,0x00]
+
+ds_write_b16_d16_hi v1, v2
+// GFX12: [0x00,0x00,0x84,0xda,0x01,0x02,0x00,0x00]
+
+ds_write_b16_d16_hi v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x84,0xda,0x01,0x02,0x00,0x00]
+
+ds_write_b16_d16_hi v1, v2 offset:0
+// GFX12: [0x00,0x00,0x84,0xda,0x01,0x02,0x00,0x00]
+
+ds_write_b16_d16_hi v255, v255 offset:4
+// GFX12: [0x04,0x00,0x84,0xda,0xff,0xff,0x00,0x00]
+
+ds_write_b32 v1, v2
+// GFX12: [0x00,0x00,0x34,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x34,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x34,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x34,0xd8,0xff,0xff,0x00,0x00]
+
+ds_write_b64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x34,0xd9,0x01,0x02,0x00,0x00]
+
+ds_write_b64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x34,0xd9,0x01,0x02,0x00,0x00]
+
+ds_write_b64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x34,0xd9,0x01,0x02,0x00,0x00]
+
+ds_write_b64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x34,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_write_b8 v1, v2
+// GFX12: [0x00,0x00,0x78,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b8 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x78,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b8 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x78,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b8 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x78,0xd8,0xff,0xff,0x00,0x00]
+
+ds_write_b8_d16_hi v1, v2
+// GFX12: [0x00,0x00,0x80,0xda,0x01,0x02,0x00,0x00]
+
+ds_write_b8_d16_hi v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x80,0xda,0x01,0x02,0x00,0x00]
+
+ds_write_b8_d16_hi v1, v2 offset:0
+// GFX12: [0x00,0x00,0x80,0xda,0x01,0x02,0x00,0x00]
+
+ds_write_b8_d16_hi v255, v255 offset:4
+// GFX12: [0x04,0x00,0x80,0xda,0xff,0xff,0x00,0x00]
+
+ds_write_b96 v1, v[2:4]
+// GFX12: [0x00,0x00,0x78,0xdb,0x01,0x02,0x00,0x00]
+
+ds_write_b96 v1, v[2:4] offset:65535
+// GFX12: [0xff,0xff,0x78,0xdb,0x01,0x02,0x00,0x00]
+
+ds_write_b96 v1, v[2:4] offset:0
+// GFX12: [0x00,0x00,0x78,0xdb,0x01,0x02,0x00,0x00]
+
+ds_write_b96 v255, v[253:255] offset:4
+// GFX12: [0x04,0x00,0x78,0xdb,0xff,0xfd,0x00,0x00]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3
+// GFX12: [0x00,0x00,0xb8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xb8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xb8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[254:255], v255, v255, v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xb8,0xd8,0xff,0xff,0xff,0xfe]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4]
+// GFX12: [0x00,0x00,0xb8,0xd9,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xb8,0xd9,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xb8,0xd9,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[252:255], v255, v[254:255], v[254:255] offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xb8,0xd9,0xff,0xfe,0xfe,0xfc]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3
+// GFX12: [0x00,0x00,0xbc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xbc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xbc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[254:255], v255, v255, v255 offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xbc,0xd8,0xff,0xff,0xff,0xfe]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4]
+// GFX12: [0x00,0x00,0xbc,0xd9,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255
+// GFX12: [0x7f,0xff,0xbc,0xd9,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:0 offset1:0
+// GFX12: [0x00,0x00,0xbc,0xd9,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[252:255], v255, v[254:255], v[254:255] offset0:16 offset1:1
+// GFX12: [0x10,0x01,0xbc,0xd9,0xff,0xfe,0xfe,0xfc]
+
+ds_wrxchg_rtn_b32 v5, v1, v2
+// GFX12: [0x00,0x00,0xb4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0xb4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0xb4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0xb4,0xd8,0xff,0xff,0x00,0xff]
+
+ds_wrxchg_rtn_b64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0xb4,0xd9,0x01,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0xb4,0xd9,0x01,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0xb4,0xd9,0x01,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0xb4,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_xor_b32 v1, v2
+// GFX12: [0x00,0x00,0x2c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_xor_b32 v1, v2 offset:65535
+// GFX12: [0xff,0xff,0x2c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_xor_b32 v1, v2 offset:0
+// GFX12: [0x00,0x00,0x2c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_xor_b32 v255, v255 offset:4
+// GFX12: [0x04,0x00,0x2c,0xd8,0xff,0xff,0x00,0x00]
+
+ds_xor_b64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x2c,0xd9,0x01,0x02,0x00,0x00]
+
+ds_xor_b64 v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0x2c,0xd9,0x01,0x02,0x00,0x00]
+
+ds_xor_b64 v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0x2c,0xd9,0x01,0x02,0x00,0x00]
+
+ds_xor_b64 v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0x2c,0xd9,0xff,0xfe,0x00,0x00]
+
+ds_xor_rtn_b32 v5, v1, v2
+// GFX12: [0x00,0x00,0xac,0xd8,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b32 v5, v1, v2 offset:65535
+// GFX12: [0xff,0xff,0xac,0xd8,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b32 v5, v1, v2 offset:0
+// GFX12: [0x00,0x00,0xac,0xd8,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b32 v255, v255, v255 offset:4
+// GFX12: [0x04,0x00,0xac,0xd8,0xff,0xff,0x00,0xff]
+
+ds_xor_rtn_b64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0xac,0xd9,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b64 v[5:6], v1, v[2:3] offset:65535
+// GFX12: [0xff,0xff,0xac,0xd9,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b64 v[5:6], v1, v[2:3] offset:0
+// GFX12: [0x00,0x00,0xac,0xd9,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b64 v[254:255], v255, v[254:255] offset:4
+// GFX12: [0x04,0x00,0xac,0xd9,0xff,0xfe,0x00,0xfe]
+
+ds_swizzle_b32 v8, v2
+// GFX12: [0x00,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
+
+ds_swizzle_b32 v8, v2 offset:0
+// GFX12: [0x00,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
+
+ds_swizzle_b32 v8, v2 offset:0xFFFF
+// GFX12: [0xff,0xff,0xd4,0xd8,0x02,0x00,0x00,0x08]
+
+ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, 0, 1, 2, 3)
+// GFX12: [0xe4,0x80,0xd4,0xd8,0x02,0x00,0x00,0x08]
+
+ds_swizzle_b32 v8, v2 offset:swizzle(SWAP,16)
+// GFX12: [0x1f,0x40,0xd4,0xd8,0x02,0x00,0x00,0x08]
+
+ds_swizzle_b32 v8, v2 offset:swizzle(REVERSE,8)
+// GFX12: [0x1f,0x1c,0xd4,0xd8,0x02,0x00,0x00,0x08]
+
+ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,4,1)
+// GFX12: [0x3c,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
+
+ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,8,7)
+// GFX12: [0xf8,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
+
+ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, "01pip")
+// GFX12: [0x07,0x09,0xd4,0xd8,0x02,0x00,0x00,0x08]

diff  --git a/llvm/test/MC/AMDGPU/gfx12_asm_ds_alias.s b/llvm/test/MC/AMDGPU/gfx12_asm_ds_alias.s
new file mode 100644
index 00000000000000..aa4b028160175c
--- /dev/null
+++ b/llvm/test/MC/AMDGPU/gfx12_asm_ds_alias.s
@@ -0,0 +1,25 @@
+// RUN: llvm-mc -arch=amdgcn -mcpu=gfx1200 -show-encoding %s | FileCheck --check-prefix=GFX12 %s
+
+ds_max_f32 v1, v2
+// GFX12: [0x00,0x00,0x4c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_f64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x4c,0xd9,0x01,0x02,0x00,0x00]
+
+ds_max_rtn_f32 v5, v1, v2
+// GFX12: [0x00,0x00,0xcc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_f64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0xcc,0xd9,0x01,0x02,0x00,0x05]
+
+ds_min_f32 v1, v2
+// GFX12: [0x00,0x00,0x48,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_f64 v1, v[2:3]
+// GFX12: [0x00,0x00,0x48,0xd9,0x01,0x02,0x00,0x00]
+
+ds_min_rtn_f32 v5, v1, v2
+// GFX12: [0x00,0x00,0xc8,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_f64 v[5:6], v1, v[2:3]
+// GFX12: [0x00,0x00,0xc8,0xd9,0x01,0x02,0x00,0x05]

diff  --git a/llvm/test/MC/AMDGPU/gfx12_unsupported.s b/llvm/test/MC/AMDGPU/gfx12_unsupported.s
index c9eb29c18a1a60..3b9e0446539bcd 100644
--- a/llvm/test/MC/AMDGPU/gfx12_unsupported.s
+++ b/llvm/test/MC/AMDGPU/gfx12_unsupported.s
@@ -9,3 +9,45 @@ s_subvector_loop_begin s0, 0x1234
 
 s_subvector_loop_end s0, 0x1234
 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_cmpstore_f32 v0, v1, v2
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_cmpstore_rtn_f32 v0, v1, v2, v3
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_cmpstore_f64 v0, v[1:2], v[3:4]
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_cmpstore_rtn_f64 v[0:1], v2, v[3:4], v[5:6]
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_add_gs_reg_rtn v[0:1], v2 gds
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_sub_gs_reg_rtn v[0:1], v2 gds
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_wrap_rtn_b32 v0, v1, v2, v3
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_gws_sema_release_all gds
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_gws_init v0 gds
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_gws_sema_v gds
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_gws_sema_br v0 gds
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_gws_sema_p gds
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_gws_barrier v0 gds
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
+
+ds_ordered_count v0, v1 gds
+// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU

diff  --git a/llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_ds.txt b/llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_ds.txt
new file mode 100644
index 00000000000000..d3c0e714949907
--- /dev/null
+++ b/llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_ds.txt
@@ -0,0 +1,3070 @@
+# RUN: llvm-mc -arch=amdgcn -mcpu=gfx1200 -disassemble -show-encoding < %s | FileCheck -strict-whitespace -check-prefix=GFX12 %s
+
+# GFX12: ds_add_f32 v0, v1                       ; encoding: [0x00,0x00,0x54,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x54,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_add_f32 v0, v1 offset:4660           ; encoding: [0x34,0x12,0x54,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x54,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_add_f32 v0, v1 offset:65535          ; encoding: [0xff,0xff,0x54,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x54,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_add_f32 v0, v254                     ; encoding: [0x00,0x00,0x54,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x54,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_add_f32 v0, v254 offset:4660         ; encoding: [0x34,0x12,0x54,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x54,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_add_f32 v0, v254 offset:65535        ; encoding: [0xff,0xff,0x54,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x54,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_add_f32 v255, v1                     ; encoding: [0x00,0x00,0x54,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x54,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_add_f32 v255, v1 offset:4660         ; encoding: [0x34,0x12,0x54,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x54,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_add_f32 v255, v1 offset:65535        ; encoding: [0xff,0xff,0x54,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x54,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_add_f32 v255, v254                   ; encoding: [0x00,0x00,0x54,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x54,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_add_f32 v255, v254 offset:4660       ; encoding: [0x34,0x12,0x54,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x54,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_add_f32 v255, v254 offset:65535      ; encoding: [0xff,0xff,0x54,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x54,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_add_rtn_f32 v0, v1, v2               ; encoding: [0x00,0x00,0xe4,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0xe4,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_add_rtn_f32 v0, v1, v2 offset:4660   ; encoding: [0x34,0x12,0xe4,0xd9,0x01,0x02,0x00,0x00]
+0x34,0x12,0xe4,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_add_rtn_f32 v0, v1, v2 offset:65535  ; encoding: [0xff,0xff,0xe4,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0xe4,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_add_rtn_f32 v0, v254, v253           ; encoding: [0x00,0x00,0xe4,0xd9,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0xe4,0xd9,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_add_rtn_f32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xe4,0xd9,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0xe4,0xd9,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_add_rtn_f32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xe4,0xd9,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0xe4,0xd9,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_add_rtn_f32 v255, v1, v253           ; encoding: [0x00,0x00,0xe4,0xd9,0x01,0xfd,0x00,0xff]
+0x00,0x00,0xe4,0xd9,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_add_rtn_f32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0xe4,0xd9,0x01,0xfd,0x00,0xff]
+0x34,0x12,0xe4,0xd9,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_add_rtn_f32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0xe4,0xd9,0x01,0xfd,0x00,0xff]
+0xff,0xff,0xe4,0xd9,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_add_rtn_f32 v255, v254, v2           ; encoding: [0x00,0x00,0xe4,0xd9,0xfe,0x02,0x00,0xff]
+0x00,0x00,0xe4,0xd9,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_add_rtn_f32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0xe4,0xd9,0xfe,0x02,0x00,0xff]
+0x34,0x12,0xe4,0xd9,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_add_rtn_f32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0xe4,0xd9,0xfe,0x02,0x00,0xff]
+0xff,0xff,0xe4,0xd9,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_add_rtn_f32 v255, v254, v253         ; encoding: [0x00,0x00,0xe4,0xd9,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0xe4,0xd9,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_add_rtn_f32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xe4,0xd9,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0xe4,0xd9,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_add_rtn_f32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xe4,0xd9,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0xe4,0xd9,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_add_rtn_u32 v0, v1, v2               ; encoding: [0x00,0x00,0x80,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x80,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_add_rtn_u32 v0, v1, v2 offset:4660   ; encoding: [0x34,0x12,0x80,0xd8,0x01,0x02,0x00,0x00]
+0x34,0x12,0x80,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_add_rtn_u32 v0, v1, v2 offset:65535  ; encoding: [0xff,0xff,0x80,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x80,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_add_rtn_u32 v0, v254, v253           ; encoding: [0x00,0x00,0x80,0xd8,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0x80,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_add_rtn_u32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x80,0xd8,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0x80,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_add_rtn_u32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x80,0xd8,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0x80,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_add_rtn_u32 v255, v1, v253           ; encoding: [0x00,0x00,0x80,0xd8,0x01,0xfd,0x00,0xff]
+0x00,0x00,0x80,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_add_rtn_u32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0x80,0xd8,0x01,0xfd,0x00,0xff]
+0x34,0x12,0x80,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_add_rtn_u32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0x80,0xd8,0x01,0xfd,0x00,0xff]
+0xff,0xff,0x80,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_add_rtn_u32 v255, v254, v2           ; encoding: [0x00,0x00,0x80,0xd8,0xfe,0x02,0x00,0xff]
+0x00,0x00,0x80,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_add_rtn_u32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0x80,0xd8,0xfe,0x02,0x00,0xff]
+0x34,0x12,0x80,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_add_rtn_u32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0x80,0xd8,0xfe,0x02,0x00,0xff]
+0xff,0xff,0x80,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_add_rtn_u32 v255, v254, v253         ; encoding: [0x00,0x00,0x80,0xd8,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0x80,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_add_rtn_u32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x80,0xd8,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0x80,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_add_rtn_u32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x80,0xd8,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0x80,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_add_rtn_u64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x80,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0x80,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_add_rtn_u64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x80,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0x80,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_add_rtn_u64 v[5:6], v1, v[2:3]       ; encoding: [0x00,0x00,0x80,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0x80,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_add_rtn_u64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x80,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0x80,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_add_rtn_u64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x80,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0x80,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_add_rtn_u64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x80,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0x80,0xd9,0xff,0x02,0x00,0x05
+
+# GFX12: ds_add_u32 v0, v1                       ; encoding: [0x00,0x00,0x00,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x00,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_add_u32 v0, v1 offset:4660           ; encoding: [0x34,0x12,0x00,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x00,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_add_u32 v0, v1 offset:65535          ; encoding: [0xff,0xff,0x00,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x00,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_add_u32 v0, v254                     ; encoding: [0x00,0x00,0x00,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x00,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_add_u32 v0, v254 offset:4660         ; encoding: [0x34,0x12,0x00,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x00,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_add_u32 v0, v254 offset:65535        ; encoding: [0xff,0xff,0x00,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x00,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_add_u32 v255, v1                     ; encoding: [0x00,0x00,0x00,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x00,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_add_u32 v255, v1 offset:4660         ; encoding: [0x34,0x12,0x00,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x00,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_add_u32 v255, v1 offset:65535        ; encoding: [0xff,0xff,0x00,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x00,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_add_u32 v255, v254                   ; encoding: [0x00,0x00,0x00,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x00,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_add_u32 v255, v254 offset:4660       ; encoding: [0x34,0x12,0x00,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x00,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_add_u32 v255, v254 offset:65535      ; encoding: [0xff,0xff,0x00,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x00,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_add_u64 v1, v[254:255] offset:65535  ; encoding: [0xff,0xff,0x00,0xd9,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x00,0xd9,0x01,0xfe,0x00,0x00
+
+# GFX12: ds_add_u64 v1, v[2:3]                   ; encoding: [0x00,0x00,0x00,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0x00,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_add_u64 v1, v[2:3] offset:4          ; encoding: [0x04,0x00,0x00,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0x00,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_add_u64 v1, v[2:3] offset:65535      ; encoding: [0xff,0xff,0x00,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0x00,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_add_u64 v255, v[2:3] offset:65535    ; encoding: [0xff,0xff,0x00,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0x00,0xd9,0xff,0x02,0x00,0x00
+
+# GFX12: ds_and_b32 v0, v1                       ; encoding: [0x00,0x00,0x24,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x24,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_and_b32 v0, v1 offset:4660           ; encoding: [0x34,0x12,0x24,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x24,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_and_b32 v0, v1 offset:65535          ; encoding: [0xff,0xff,0x24,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x24,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_and_b32 v0, v254                     ; encoding: [0x00,0x00,0x24,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x24,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_and_b32 v0, v254 offset:4660         ; encoding: [0x34,0x12,0x24,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x24,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_and_b32 v0, v254 offset:65535        ; encoding: [0xff,0xff,0x24,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x24,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_and_b32 v255, v1                     ; encoding: [0x00,0x00,0x24,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x24,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_and_b32 v255, v1 offset:4660         ; encoding: [0x34,0x12,0x24,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x24,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_and_b32 v255, v1 offset:65535        ; encoding: [0xff,0xff,0x24,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x24,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_and_b32 v255, v254                   ; encoding: [0x00,0x00,0x24,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x24,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_and_b32 v255, v254 offset:4660       ; encoding: [0x34,0x12,0x24,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x24,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_and_b32 v255, v254 offset:65535      ; encoding: [0xff,0xff,0x24,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x24,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_and_b64 v1, v[254:255] offset:65535  ; encoding: [0xff,0xff,0x24,0xd9,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x24,0xd9,0x01,0xfe,0x00,0x00
+
+# GFX12: ds_and_b64 v1, v[2:3]                   ; encoding: [0x00,0x00,0x24,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0x24,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_and_b64 v1, v[2:3] offset:4          ; encoding: [0x04,0x00,0x24,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0x24,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_and_b64 v1, v[2:3] offset:65535      ; encoding: [0xff,0xff,0x24,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0x24,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_and_b64 v255, v[2:3] offset:65535    ; encoding: [0xff,0xff,0x24,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0x24,0xd9,0xff,0x02,0x00,0x00
+
+# GFX12: ds_and_rtn_b32 v0, v1, v2               ; encoding: [0x00,0x00,0xa4,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0xa4,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_and_rtn_b32 v0, v1, v2 offset:4660   ; encoding: [0x34,0x12,0xa4,0xd8,0x01,0x02,0x00,0x00]
+0x34,0x12,0xa4,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_and_rtn_b32 v0, v1, v2 offset:65535  ; encoding: [0xff,0xff,0xa4,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0xa4,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_and_rtn_b32 v0, v254, v253           ; encoding: [0x00,0x00,0xa4,0xd8,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0xa4,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_and_rtn_b32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xa4,0xd8,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0xa4,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_and_rtn_b32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xa4,0xd8,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0xa4,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_and_rtn_b32 v255, v1, v253           ; encoding: [0x00,0x00,0xa4,0xd8,0x01,0xfd,0x00,0xff]
+0x00,0x00,0xa4,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_and_rtn_b32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0xa4,0xd8,0x01,0xfd,0x00,0xff]
+0x34,0x12,0xa4,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_and_rtn_b32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0xa4,0xd8,0x01,0xfd,0x00,0xff]
+0xff,0xff,0xa4,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_and_rtn_b32 v255, v254, v2           ; encoding: [0x00,0x00,0xa4,0xd8,0xfe,0x02,0x00,0xff]
+0x00,0x00,0xa4,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_and_rtn_b32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0xa4,0xd8,0xfe,0x02,0x00,0xff]
+0x34,0x12,0xa4,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_and_rtn_b32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0xa4,0xd8,0xfe,0x02,0x00,0xff]
+0xff,0xff,0xa4,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_and_rtn_b32 v255, v254, v253         ; encoding: [0x00,0x00,0xa4,0xd8,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0xa4,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_and_rtn_b32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xa4,0xd8,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0xa4,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_and_rtn_b32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xa4,0xd8,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0xa4,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_and_rtn_b64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xa4,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xa4,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_and_rtn_b64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xa4,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xa4,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_and_rtn_b64 v[5:6], v1, v[2:3]       ; encoding: [0x00,0x00,0xa4,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0xa4,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_and_rtn_b64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xa4,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0xa4,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_and_rtn_b64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xa4,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0xa4,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_and_rtn_b64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xa4,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0xa4,0xd9,0xff,0x02,0x00,0x05
+
+# GFX12: ds_append v255 offset:65535             ; encoding: [0xff,0xff,0xf8,0xd8,0x00,0x00,0x00,0xff]
+0xff,0xff,0xf8,0xd8,0x00,0x00,0x00,0xff
+
+# GFX12: ds_append v5                            ; encoding: [0x00,0x00,0xf8,0xd8,0x00,0x00,0x00,0x05]
+0x00,0x00,0xf8,0xd8,0x00,0x00,0x00,0x05
+
+# GFX12: ds_append v5 offset:4                   ; encoding: [0x04,0x00,0xf8,0xd8,0x00,0x00,0x00,0x05]
+0x04,0x00,0xf8,0xd8,0x00,0x00,0x00,0x05
+
+# GFX12: ds_append v5 offset:65535               ; encoding: [0xff,0xff,0xf8,0xd8,0x00,0x00,0x00,0x05]
+0xff,0xff,0xf8,0xd8,0x00,0x00,0x00,0x05
+
+# GFX12: ds_bpermute_b32 v0, v1, v2              ; encoding: [0x00,0x00,0xcc,0xda,0x01,0x02,0x00,0x00]
+0x00,0x00,0xcc,0xda,0x01,0x02,0x00,0x00
+
+# GFX12: ds_bpermute_b32 v0, v1, v2 offset:4660  ; encoding: [0x34,0x12,0xcc,0xda,0x01,0x02,0x00,0x00]
+0x34,0x12,0xcc,0xda,0x01,0x02,0x00,0x00
+
+# GFX12: ds_bpermute_b32 v0, v1, v2 offset:65535 ; encoding: [0xff,0xff,0xcc,0xda,0x01,0x02,0x00,0x00]
+0xff,0xff,0xcc,0xda,0x01,0x02,0x00,0x00
+
+# GFX12: ds_bpermute_b32 v0, v254, v253          ; encoding: [0x00,0x00,0xcc,0xda,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0xcc,0xda,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_bpermute_b32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xcc,0xda,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0xcc,0xda,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_bpermute_b32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xcc,0xda,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0xcc,0xda,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_bpermute_b32 v255, v1, v253          ; encoding: [0x00,0x00,0xcc,0xda,0x01,0xfd,0x00,0xff]
+0x00,0x00,0xcc,0xda,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_bpermute_b32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0xcc,0xda,0x01,0xfd,0x00,0xff]
+0x34,0x12,0xcc,0xda,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_bpermute_b32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0xcc,0xda,0x01,0xfd,0x00,0xff]
+0xff,0xff,0xcc,0xda,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_bpermute_b32 v255, v254, v2          ; encoding: [0x00,0x00,0xcc,0xda,0xfe,0x02,0x00,0xff]
+0x00,0x00,0xcc,0xda,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_bpermute_b32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0xcc,0xda,0xfe,0x02,0x00,0xff]
+0x34,0x12,0xcc,0xda,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_bpermute_b32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0xcc,0xda,0xfe,0x02,0x00,0xff]
+0xff,0xff,0xcc,0xda,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_bpermute_b32 v255, v254, v253        ; encoding: [0x00,0x00,0xcc,0xda,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0xcc,0xda,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_bpermute_b32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xcc,0xda,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0xcc,0xda,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_bpermute_b32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xcc,0xda,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0xcc,0xda,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_cmpstore_b32 v0, v1, v2              ; encoding: [0x00,0x00,0x40,0xd8,0x00,0x01,0x02,0x00]
+0x00,0x00,0x40,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_cmpstore_b32 v0, v1, v2 offset:4660  ; encoding: [0x34,0x12,0x40,0xd8,0x00,0x01,0x02,0x00]
+0x34,0x12,0x40,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_cmpstore_b32 v0, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x40,0xd8,0x00,0x01,0x02,0x00]
+0xff,0xff,0x40,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_cmpstore_b32 v0, v254, v253          ; encoding: [0x00,0x00,0x40,0xd8,0x00,0xfe,0xfd,0x00]
+0x00,0x00,0x40,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_cmpstore_b32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x40,0xd8,0x00,0xfe,0xfd,0x00]
+0x34,0x12,0x40,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_cmpstore_b32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x40,0xd8,0x00,0xfe,0xfd,0x00]
+0xff,0xff,0x40,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_cmpstore_b32 v255, v1, v253          ; encoding: [0x00,0x00,0x40,0xd8,0xff,0x01,0xfd,0x00]
+0x00,0x00,0x40,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_cmpstore_b32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0x40,0xd8,0xff,0x01,0xfd,0x00]
+0x34,0x12,0x40,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_cmpstore_b32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0x40,0xd8,0xff,0x01,0xfd,0x00]
+0xff,0xff,0x40,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_cmpstore_b32 v255, v254, v2          ; encoding: [0x00,0x00,0x40,0xd8,0xff,0xfe,0x02,0x00]
+0x00,0x00,0x40,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_cmpstore_b32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0x40,0xd8,0xff,0xfe,0x02,0x00]
+0x34,0x12,0x40,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_cmpstore_b32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0x40,0xd8,0xff,0xfe,0x02,0x00]
+0xff,0xff,0x40,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_cmpstore_b32 v255, v254, v253        ; encoding: [0x00,0x00,0x40,0xd8,0xff,0xfe,0xfd,0x00]
+0x00,0x00,0x40,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_cmpstore_b32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x40,0xd8,0xff,0xfe,0xfd,0x00]
+0x34,0x12,0x40,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_cmpstore_b32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x40,0xd8,0xff,0xfe,0xfd,0x00]
+0xff,0xff,0x40,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_cmpstore_b64 v1, v[254:255], v[3:4] offset:65535 ; encoding: [0xff,0xff,0x40,0xd9,0x01,0xfe,0x03,0x00]
+0xff,0xff,0x40,0xd9,0x01,0xfe,0x03,0x00
+
+# GFX12: ds_cmpstore_b64 v1, v[2:3], v[254:255] offset:65535 ; encoding: [0xff,0xff,0x40,0xd9,0x01,0x02,0xfe,0x00]
+0xff,0xff,0x40,0xd9,0x01,0x02,0xfe,0x00
+
+# GFX12: ds_cmpstore_b64 v1, v[2:3], v[3:4]      ; encoding: [0x00,0x00,0x40,0xd9,0x01,0x02,0x03,0x00]
+0x00,0x00,0x40,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_cmpstore_b64 v1, v[2:3], v[3:4] offset:4 ; encoding: [0x04,0x00,0x40,0xd9,0x01,0x02,0x03,0x00]
+0x04,0x00,0x40,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_cmpstore_b64 v1, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0x40,0xd9,0x01,0x02,0x03,0x00]
+0xff,0xff,0x40,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_cmpstore_b64 v255, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0x40,0xd9,0xff,0x02,0x03,0x00]
+0xff,0xff,0x40,0xd9,0xff,0x02,0x03,0x00
+
+# GFX12: ds_cmpstore_rtn_b32 v255, v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0xc0,0xd8,0x01,0x02,0x03,0xff]
+0xff,0xff,0xc0,0xd8,0x01,0x02,0x03,0xff
+
+# GFX12: ds_cmpstore_rtn_b32 v5, v1, v2, v255 offset:65535 ; encoding: [0xff,0xff,0xc0,0xd8,0x01,0x02,0xff,0x05]
+0xff,0xff,0xc0,0xd8,0x01,0x02,0xff,0x05
+
+# GFX12: ds_cmpstore_rtn_b32 v5, v1, v2, v3      ; encoding: [0x00,0x00,0xc0,0xd8,0x01,0x02,0x03,0x05]
+0x00,0x00,0xc0,0xd8,0x01,0x02,0x03,0x05
+
+# GFX12: ds_cmpstore_rtn_b32 v5, v1, v2, v3 offset:4 ; encoding: [0x04,0x00,0xc0,0xd8,0x01,0x02,0x03,0x05]
+0x04,0x00,0xc0,0xd8,0x01,0x02,0x03,0x05
+
+# GFX12: ds_cmpstore_rtn_b32 v5, v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0xc0,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0xc0,0xd8,0x01,0x02,0x03,0x05
+
+# GFX12: ds_cmpstore_rtn_b32 v5, v1, v255, v3 offset:65535 ; encoding: [0xff,0xff,0xc0,0xd8,0x01,0xff,0x03,0x05]
+0xff,0xff,0xc0,0xd8,0x01,0xff,0x03,0x05
+
+# GFX12: ds_cmpstore_rtn_b32 v5, v255, v2, v3 offset:65535 ; encoding: [0xff,0xff,0xc0,0xd8,0xff,0x02,0x03,0x05]
+0xff,0xff,0xc0,0xd8,0xff,0x02,0x03,0x05
+
+# GFX12: ds_cmpstore_rtn_b64 v[254:255], v1, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xc0,0xd9,0x01,0x02,0x03,0xfe]
+0xff,0xff,0xc0,0xd9,0x01,0x02,0x03,0xfe
+
+# GFX12: ds_cmpstore_rtn_b64 v[5:6], v1, v[254:255], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xc0,0xd9,0x01,0xfe,0x03,0x05]
+0xff,0xff,0xc0,0xd9,0x01,0xfe,0x03,0x05
+
+# GFX12: ds_cmpstore_rtn_b64 v[5:6], v1, v[2:3], v[254:255] offset:65535 ; encoding: [0xff,0xff,0xc0,0xd9,0x01,0x02,0xfe,0x05]
+0xff,0xff,0xc0,0xd9,0x01,0x02,0xfe,0x05
+
+# GFX12: ds_cmpstore_rtn_b64 v[5:6], v1, v[2:3], v[3:4] ; encoding: [0x00,0x00,0xc0,0xd9,0x01,0x02,0x03,0x05]
+0x00,0x00,0xc0,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_cmpstore_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:4 ; encoding: [0x04,0x00,0xc0,0xd9,0x01,0x02,0x03,0x05]
+0x04,0x00,0xc0,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_cmpstore_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xc0,0xd9,0x01,0x02,0x03,0x05]
+0xff,0xff,0xc0,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_cmpstore_rtn_b64 v[5:6], v255, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xc0,0xd9,0xff,0x02,0x03,0x05]
+0xff,0xff,0xc0,0xd9,0xff,0x02,0x03,0x05
+
+# GFX12: ds_condxchg32_rtn_b64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xf8,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xf8,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_condxchg32_rtn_b64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xf8,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xf8,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xf8,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0xf8,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xf8,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0xf8,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xf8,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0xf8,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_condxchg32_rtn_b64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xf8,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0xf8,0xd9,0xff,0x02,0x00,0x05
+
+# GFX12: ds_consume v255 offset:65535            ; encoding: [0xff,0xff,0xf4,0xd8,0x00,0x00,0x00,0xff]
+0xff,0xff,0xf4,0xd8,0x00,0x00,0x00,0xff
+
+# GFX12: ds_consume v5                           ; encoding: [0x00,0x00,0xf4,0xd8,0x00,0x00,0x00,0x05]
+0x00,0x00,0xf4,0xd8,0x00,0x00,0x00,0x05
+
+# GFX12: ds_consume v5 offset:4                  ; encoding: [0x04,0x00,0xf4,0xd8,0x00,0x00,0x00,0x05]
+0x04,0x00,0xf4,0xd8,0x00,0x00,0x00,0x05
+
+# GFX12: ds_consume v5 offset:65535              ; encoding: [0xff,0xff,0xf4,0xd8,0x00,0x00,0x00,0x05]
+0xff,0xff,0xf4,0xd8,0x00,0x00,0x00,0x05
+
+# GFX12: ds_dec_rtn_u32 v0, v1, v2               ; encoding: [0x00,0x00,0x90,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x90,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_dec_rtn_u32 v0, v1, v2 offset:4660   ; encoding: [0x34,0x12,0x90,0xd8,0x01,0x02,0x00,0x00]
+0x34,0x12,0x90,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_dec_rtn_u32 v0, v1, v2 offset:65535  ; encoding: [0xff,0xff,0x90,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x90,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_dec_rtn_u32 v0, v254, v253           ; encoding: [0x00,0x00,0x90,0xd8,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0x90,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_dec_rtn_u32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x90,0xd8,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0x90,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_dec_rtn_u32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x90,0xd8,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0x90,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_dec_rtn_u32 v255, v1, v253           ; encoding: [0x00,0x00,0x90,0xd8,0x01,0xfd,0x00,0xff]
+0x00,0x00,0x90,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_dec_rtn_u32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0x90,0xd8,0x01,0xfd,0x00,0xff]
+0x34,0x12,0x90,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_dec_rtn_u32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0x90,0xd8,0x01,0xfd,0x00,0xff]
+0xff,0xff,0x90,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_dec_rtn_u32 v255, v254, v2           ; encoding: [0x00,0x00,0x90,0xd8,0xfe,0x02,0x00,0xff]
+0x00,0x00,0x90,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_dec_rtn_u32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0x90,0xd8,0xfe,0x02,0x00,0xff]
+0x34,0x12,0x90,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_dec_rtn_u32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0x90,0xd8,0xfe,0x02,0x00,0xff]
+0xff,0xff,0x90,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_dec_rtn_u32 v255, v254, v253         ; encoding: [0x00,0x00,0x90,0xd8,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0x90,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_dec_rtn_u32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x90,0xd8,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0x90,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_dec_rtn_u32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x90,0xd8,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0x90,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_dec_rtn_u64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x90,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0x90,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_dec_rtn_u64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x90,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0x90,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_dec_rtn_u64 v[5:6], v1, v[2:3]       ; encoding: [0x00,0x00,0x90,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0x90,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_dec_rtn_u64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x90,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0x90,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_dec_rtn_u64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x90,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0x90,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_dec_rtn_u64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x90,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0x90,0xd9,0xff,0x02,0x00,0x05
+
+# GFX12: ds_dec_u32 v0, v1                       ; encoding: [0x00,0x00,0x10,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x10,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_dec_u32 v0, v1 offset:4660           ; encoding: [0x34,0x12,0x10,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x10,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_dec_u32 v0, v1 offset:65535          ; encoding: [0xff,0xff,0x10,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x10,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_dec_u32 v0, v254                     ; encoding: [0x00,0x00,0x10,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x10,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_dec_u32 v0, v254 offset:4660         ; encoding: [0x34,0x12,0x10,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x10,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_dec_u32 v0, v254 offset:65535        ; encoding: [0xff,0xff,0x10,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x10,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_dec_u32 v255, v1                     ; encoding: [0x00,0x00,0x10,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x10,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_dec_u32 v255, v1 offset:4660         ; encoding: [0x34,0x12,0x10,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x10,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_dec_u32 v255, v1 offset:65535        ; encoding: [0xff,0xff,0x10,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x10,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_dec_u32 v255, v254                   ; encoding: [0x00,0x00,0x10,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x10,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_dec_u32 v255, v254 offset:4660       ; encoding: [0x34,0x12,0x10,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x10,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_dec_u32 v255, v254 offset:65535      ; encoding: [0xff,0xff,0x10,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x10,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_dec_u64 v1, v[254:255] offset:65535  ; encoding: [0xff,0xff,0x10,0xd9,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x10,0xd9,0x01,0xfe,0x00,0x00
+
+# GFX12: ds_dec_u64 v1, v[2:3]                   ; encoding: [0x00,0x00,0x10,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0x10,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_dec_u64 v1, v[2:3] offset:4          ; encoding: [0x04,0x00,0x10,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0x10,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_dec_u64 v1, v[2:3] offset:65535      ; encoding: [0xff,0xff,0x10,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0x10,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_dec_u64 v255, v[2:3] offset:65535    ; encoding: [0xff,0xff,0x10,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0x10,0xd9,0xff,0x02,0x00,0x00
+
+# GFX12: ds_inc_rtn_u32 v0, v1, v2               ; encoding: [0x00,0x00,0x8c,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x8c,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_inc_rtn_u32 v0, v1, v2 offset:4660   ; encoding: [0x34,0x12,0x8c,0xd8,0x01,0x02,0x00,0x00]
+0x34,0x12,0x8c,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_inc_rtn_u32 v0, v1, v2 offset:65535  ; encoding: [0xff,0xff,0x8c,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x8c,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_inc_rtn_u32 v0, v254, v253           ; encoding: [0x00,0x00,0x8c,0xd8,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0x8c,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_inc_rtn_u32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x8c,0xd8,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0x8c,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_inc_rtn_u32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x8c,0xd8,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0x8c,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_inc_rtn_u32 v255, v1, v253           ; encoding: [0x00,0x00,0x8c,0xd8,0x01,0xfd,0x00,0xff]
+0x00,0x00,0x8c,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_inc_rtn_u32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0x8c,0xd8,0x01,0xfd,0x00,0xff]
+0x34,0x12,0x8c,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_inc_rtn_u32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0x8c,0xd8,0x01,0xfd,0x00,0xff]
+0xff,0xff,0x8c,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_inc_rtn_u32 v255, v254, v2           ; encoding: [0x00,0x00,0x8c,0xd8,0xfe,0x02,0x00,0xff]
+0x00,0x00,0x8c,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_inc_rtn_u32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0x8c,0xd8,0xfe,0x02,0x00,0xff]
+0x34,0x12,0x8c,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_inc_rtn_u32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0x8c,0xd8,0xfe,0x02,0x00,0xff]
+0xff,0xff,0x8c,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_inc_rtn_u32 v255, v254, v253         ; encoding: [0x00,0x00,0x8c,0xd8,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0x8c,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_inc_rtn_u32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x8c,0xd8,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0x8c,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_inc_rtn_u32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x8c,0xd8,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0x8c,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_inc_rtn_u64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x8c,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0x8c,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_inc_rtn_u64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x8c,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0x8c,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_inc_rtn_u64 v[5:6], v1, v[2:3]       ; encoding: [0x00,0x00,0x8c,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0x8c,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_inc_rtn_u64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x8c,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0x8c,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_inc_rtn_u64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x8c,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0x8c,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_inc_rtn_u64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x8c,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0x8c,0xd9,0xff,0x02,0x00,0x05
+
+# GFX12: ds_inc_u32 v0, v1                       ; encoding: [0x00,0x00,0x0c,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x0c,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_inc_u32 v0, v1 offset:4660           ; encoding: [0x34,0x12,0x0c,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x0c,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_inc_u32 v0, v1 offset:65535          ; encoding: [0xff,0xff,0x0c,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x0c,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_inc_u32 v0, v254                     ; encoding: [0x00,0x00,0x0c,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x0c,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_inc_u32 v0, v254 offset:4660         ; encoding: [0x34,0x12,0x0c,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x0c,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_inc_u32 v0, v254 offset:65535        ; encoding: [0xff,0xff,0x0c,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x0c,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_inc_u32 v255, v1                     ; encoding: [0x00,0x00,0x0c,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x0c,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_inc_u32 v255, v1 offset:4660         ; encoding: [0x34,0x12,0x0c,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x0c,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_inc_u32 v255, v1 offset:65535        ; encoding: [0xff,0xff,0x0c,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x0c,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_inc_u32 v255, v254                   ; encoding: [0x00,0x00,0x0c,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x0c,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_inc_u32 v255, v254 offset:4660       ; encoding: [0x34,0x12,0x0c,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x0c,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_inc_u32 v255, v254 offset:65535      ; encoding: [0xff,0xff,0x0c,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x0c,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_inc_u64 v1, v[254:255] offset:65535  ; encoding: [0xff,0xff,0x0c,0xd9,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x0c,0xd9,0x01,0xfe,0x00,0x00
+
+# GFX12: ds_inc_u64 v1, v[2:3]                   ; encoding: [0x00,0x00,0x0c,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0x0c,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_inc_u64 v1, v[2:3] offset:4          ; encoding: [0x04,0x00,0x0c,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0x0c,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_inc_u64 v1, v[2:3] offset:65535      ; encoding: [0xff,0xff,0x0c,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0x0c,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_inc_u64 v255, v[2:3] offset:65535    ; encoding: [0xff,0xff,0x0c,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0x0c,0xd9,0xff,0x02,0x00,0x00
+
+# GFX12: ds_max_num_f32 v0, v1                   ; encoding: [0x00,0x00,0x4c,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x4c,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_max_num_f32 v0, v1 offset:4660       ; encoding: [0x34,0x12,0x4c,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x4c,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_max_num_f32 v0, v1 offset:65535      ; encoding: [0xff,0xff,0x4c,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x4c,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_max_num_f32 v0, v254                 ; encoding: [0x00,0x00,0x4c,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x4c,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_max_num_f32 v0, v254 offset:4660     ; encoding: [0x34,0x12,0x4c,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x4c,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_max_num_f32 v0, v254 offset:65535    ; encoding: [0xff,0xff,0x4c,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x4c,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_max_num_f32 v255, v1                 ; encoding: [0x00,0x00,0x4c,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x4c,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_max_num_f32 v255, v1 offset:4660     ; encoding: [0x34,0x12,0x4c,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x4c,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_max_num_f32 v255, v1 offset:65535    ; encoding: [0xff,0xff,0x4c,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x4c,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_max_num_f32 v255, v254               ; encoding: [0x00,0x00,0x4c,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x4c,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_max_num_f32 v255, v254 offset:4660   ; encoding: [0x34,0x12,0x4c,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x4c,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_max_num_f32 v255, v254 offset:65535  ; encoding: [0xff,0xff,0x4c,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x4c,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_max_num_f64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x4c,0xd9,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x4c,0xd9,0x01,0xfe,0x00,0x00
+
+# GFX12: ds_max_num_f64 v1, v[2:3]               ; encoding: [0x00,0x00,0x4c,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0x4c,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_max_num_f64 v1, v[2:3] offset:4      ; encoding: [0x04,0x00,0x4c,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0x4c,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_max_num_f64 v1, v[2:3] offset:65535  ; encoding: [0xff,0xff,0x4c,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0x4c,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_max_num_f64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x4c,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0x4c,0xd9,0xff,0x02,0x00,0x00
+
+# GFX12: ds_max_i32 v0, v1                       ; encoding: [0x00,0x00,0x18,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x18,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_max_i32 v0, v1 offset:4660           ; encoding: [0x34,0x12,0x18,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x18,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_max_i32 v0, v1 offset:65535          ; encoding: [0xff,0xff,0x18,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x18,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_max_i32 v0, v254                     ; encoding: [0x00,0x00,0x18,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x18,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_max_i32 v0, v254 offset:4660         ; encoding: [0x34,0x12,0x18,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x18,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_max_i32 v0, v254 offset:65535        ; encoding: [0xff,0xff,0x18,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x18,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_max_i32 v255, v1                     ; encoding: [0x00,0x00,0x18,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x18,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_max_i32 v255, v1 offset:4660         ; encoding: [0x34,0x12,0x18,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x18,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_max_i32 v255, v1 offset:65535        ; encoding: [0xff,0xff,0x18,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x18,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_max_i32 v255, v254                   ; encoding: [0x00,0x00,0x18,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x18,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_max_i32 v255, v254 offset:4660       ; encoding: [0x34,0x12,0x18,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x18,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_max_i32 v255, v254 offset:65535      ; encoding: [0xff,0xff,0x18,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x18,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_max_i64 v1, v[254:255] offset:65535  ; encoding: [0xff,0xff,0x18,0xd9,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x18,0xd9,0x01,0xfe,0x00,0x00
+
+# GFX12: ds_max_i64 v1, v[2:3]                   ; encoding: [0x00,0x00,0x18,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0x18,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_max_i64 v1, v[2:3] offset:4          ; encoding: [0x04,0x00,0x18,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0x18,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_max_i64 v1, v[2:3] offset:65535      ; encoding: [0xff,0xff,0x18,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0x18,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_max_i64 v255, v[2:3] offset:65535    ; encoding: [0xff,0xff,0x18,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0x18,0xd9,0xff,0x02,0x00,0x00
+
+# GFX12: ds_max_num_rtn_f32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0xcc,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0xcc,0xd8,0x01,0x02,0x00,0xff
+
+# GFX12: ds_max_num_rtn_f32 v5, v1, v2           ; encoding: [0x00,0x00,0xcc,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xcc,0xd8,0x01,0x02,0x00,0x05
+
+# GFX12: ds_max_num_rtn_f32 v5, v1, v2 offset:4  ; encoding: [0x04,0x00,0xcc,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xcc,0xd8,0x01,0x02,0x00,0x05
+
+# GFX12: ds_max_num_rtn_f32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0xcc,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xcc,0xd8,0x01,0x02,0x00,0x05
+
+# GFX12: ds_max_num_rtn_f32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0xcc,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0xcc,0xd8,0x01,0xff,0x00,0x05
+
+# GFX12: ds_max_num_rtn_f32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0xcc,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xcc,0xd8,0xff,0x02,0x00,0x05
+
+# GFX12: ds_max_num_rtn_f64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xcc,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xcc,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_max_num_rtn_f64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xcc,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xcc,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_max_num_rtn_f64 v[5:6], v1, v[2:3]   ; encoding: [0x00,0x00,0xcc,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0xcc,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_max_num_rtn_f64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xcc,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0xcc,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_max_num_rtn_f64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xcc,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0xcc,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_max_num_rtn_f64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xcc,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0xcc,0xd9,0xff,0x02,0x00,0x05
+
+# GFX12: ds_max_rtn_i32 v0, v1, v2               ; encoding: [0x00,0x00,0x98,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x98,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_max_rtn_i32 v0, v1, v2 offset:4660   ; encoding: [0x34,0x12,0x98,0xd8,0x01,0x02,0x00,0x00]
+0x34,0x12,0x98,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_max_rtn_i32 v0, v1, v2 offset:65535  ; encoding: [0xff,0xff,0x98,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x98,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_max_rtn_i32 v0, v254, v253           ; encoding: [0x00,0x00,0x98,0xd8,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0x98,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_max_rtn_i32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x98,0xd8,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0x98,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_max_rtn_i32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x98,0xd8,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0x98,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_max_rtn_i32 v255, v1, v253           ; encoding: [0x00,0x00,0x98,0xd8,0x01,0xfd,0x00,0xff]
+0x00,0x00,0x98,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_max_rtn_i32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0x98,0xd8,0x01,0xfd,0x00,0xff]
+0x34,0x12,0x98,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_max_rtn_i32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0x98,0xd8,0x01,0xfd,0x00,0xff]
+0xff,0xff,0x98,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_max_rtn_i32 v255, v254, v2           ; encoding: [0x00,0x00,0x98,0xd8,0xfe,0x02,0x00,0xff]
+0x00,0x00,0x98,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_max_rtn_i32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0x98,0xd8,0xfe,0x02,0x00,0xff]
+0x34,0x12,0x98,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_max_rtn_i32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0x98,0xd8,0xfe,0x02,0x00,0xff]
+0xff,0xff,0x98,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_max_rtn_i32 v255, v254, v253         ; encoding: [0x00,0x00,0x98,0xd8,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0x98,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_max_rtn_i32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x98,0xd8,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0x98,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_max_rtn_i32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x98,0xd8,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0x98,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_max_rtn_i64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x98,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0x98,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_max_rtn_i64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x98,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0x98,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_max_rtn_i64 v[5:6], v1, v[2:3]       ; encoding: [0x00,0x00,0x98,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0x98,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_max_rtn_i64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x98,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0x98,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_max_rtn_i64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x98,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0x98,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_max_rtn_i64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x98,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0x98,0xd9,0xff,0x02,0x00,0x05
+
+# GFX12: ds_max_rtn_u32 v0, v1, v2               ; encoding: [0x00,0x00,0xa0,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0xa0,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_max_rtn_u32 v0, v1, v2 offset:4660   ; encoding: [0x34,0x12,0xa0,0xd8,0x01,0x02,0x00,0x00]
+0x34,0x12,0xa0,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_max_rtn_u32 v0, v1, v2 offset:65535  ; encoding: [0xff,0xff,0xa0,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0xa0,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_max_rtn_u32 v0, v254, v253           ; encoding: [0x00,0x00,0xa0,0xd8,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0xa0,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_max_rtn_u32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xa0,0xd8,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0xa0,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_max_rtn_u32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xa0,0xd8,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0xa0,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_max_rtn_u32 v255, v1, v253           ; encoding: [0x00,0x00,0xa0,0xd8,0x01,0xfd,0x00,0xff]
+0x00,0x00,0xa0,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_max_rtn_u32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0xa0,0xd8,0x01,0xfd,0x00,0xff]
+0x34,0x12,0xa0,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_max_rtn_u32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0xa0,0xd8,0x01,0xfd,0x00,0xff]
+0xff,0xff,0xa0,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_max_rtn_u32 v255, v254, v2           ; encoding: [0x00,0x00,0xa0,0xd8,0xfe,0x02,0x00,0xff]
+0x00,0x00,0xa0,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_max_rtn_u32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0xa0,0xd8,0xfe,0x02,0x00,0xff]
+0x34,0x12,0xa0,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_max_rtn_u32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0xa0,0xd8,0xfe,0x02,0x00,0xff]
+0xff,0xff,0xa0,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_max_rtn_u32 v255, v254, v253         ; encoding: [0x00,0x00,0xa0,0xd8,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0xa0,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_max_rtn_u32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xa0,0xd8,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0xa0,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_max_rtn_u32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xa0,0xd8,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0xa0,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_max_rtn_u64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xa0,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xa0,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_max_rtn_u64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xa0,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xa0,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_max_rtn_u64 v[5:6], v1, v[2:3]       ; encoding: [0x00,0x00,0xa0,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0xa0,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_max_rtn_u64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xa0,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0xa0,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_max_rtn_u64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xa0,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0xa0,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_max_rtn_u64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xa0,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0xa0,0xd9,0xff,0x02,0x00,0x05
+
+# GFX12: ds_max_u32 v0, v1                       ; encoding: [0x00,0x00,0x20,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x20,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_max_u32 v0, v1 offset:4660           ; encoding: [0x34,0x12,0x20,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x20,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_max_u32 v0, v1 offset:65535          ; encoding: [0xff,0xff,0x20,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x20,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_max_u32 v0, v254                     ; encoding: [0x00,0x00,0x20,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x20,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_max_u32 v0, v254 offset:4660         ; encoding: [0x34,0x12,0x20,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x20,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_max_u32 v0, v254 offset:65535        ; encoding: [0xff,0xff,0x20,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x20,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_max_u32 v255, v1                     ; encoding: [0x00,0x00,0x20,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x20,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_max_u32 v255, v1 offset:4660         ; encoding: [0x34,0x12,0x20,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x20,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_max_u32 v255, v1 offset:65535        ; encoding: [0xff,0xff,0x20,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x20,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_max_u32 v255, v254                   ; encoding: [0x00,0x00,0x20,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x20,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_max_u32 v255, v254 offset:4660       ; encoding: [0x34,0x12,0x20,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x20,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_max_u32 v255, v254 offset:65535      ; encoding: [0xff,0xff,0x20,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x20,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_max_u64 v1, v[254:255] offset:65535  ; encoding: [0xff,0xff,0x20,0xd9,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x20,0xd9,0x01,0xfe,0x00,0x00
+
+# GFX12: ds_max_u64 v1, v[2:3]                   ; encoding: [0x00,0x00,0x20,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0x20,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_max_u64 v1, v[2:3] offset:4          ; encoding: [0x04,0x00,0x20,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0x20,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_max_u64 v1, v[2:3] offset:65535      ; encoding: [0xff,0xff,0x20,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0x20,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_max_u64 v255, v[2:3] offset:65535    ; encoding: [0xff,0xff,0x20,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0x20,0xd9,0xff,0x02,0x00,0x00
+
+# GFX12: ds_min_num_f32 v0, v1                   ; encoding: [0x00,0x00,0x48,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x48,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_min_num_f32 v0, v1 offset:4660       ; encoding: [0x34,0x12,0x48,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x48,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_min_num_f32 v0, v1 offset:65535      ; encoding: [0xff,0xff,0x48,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x48,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_min_num_f32 v0, v254                 ; encoding: [0x00,0x00,0x48,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x48,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_min_num_f32 v0, v254 offset:4660     ; encoding: [0x34,0x12,0x48,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x48,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_min_num_f32 v0, v254 offset:65535    ; encoding: [0xff,0xff,0x48,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x48,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_min_num_f32 v255, v1                 ; encoding: [0x00,0x00,0x48,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x48,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_min_num_f32 v255, v1 offset:4660     ; encoding: [0x34,0x12,0x48,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x48,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_min_num_f32 v255, v1 offset:65535    ; encoding: [0xff,0xff,0x48,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x48,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_min_num_f32 v255, v254               ; encoding: [0x00,0x00,0x48,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x48,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_min_num_f32 v255, v254 offset:4660   ; encoding: [0x34,0x12,0x48,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x48,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_min_num_f32 v255, v254 offset:65535  ; encoding: [0xff,0xff,0x48,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x48,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_min_num_f64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x48,0xd9,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x48,0xd9,0x01,0xfe,0x00,0x00
+
+# GFX12: ds_min_num_f64 v1, v[2:3]               ; encoding: [0x00,0x00,0x48,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0x48,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_min_num_f64 v1, v[2:3] offset:4      ; encoding: [0x04,0x00,0x48,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0x48,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_min_num_f64 v1, v[2:3] offset:65535  ; encoding: [0xff,0xff,0x48,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0x48,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_min_num_f64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x48,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0x48,0xd9,0xff,0x02,0x00,0x00
+
+# GFX12: ds_min_i32 v0, v1                       ; encoding: [0x00,0x00,0x14,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x14,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_min_i32 v0, v1 offset:4660           ; encoding: [0x34,0x12,0x14,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x14,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_min_i32 v0, v1 offset:65535          ; encoding: [0xff,0xff,0x14,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x14,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_min_i32 v0, v254                     ; encoding: [0x00,0x00,0x14,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x14,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_min_i32 v0, v254 offset:4660         ; encoding: [0x34,0x12,0x14,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x14,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_min_i32 v0, v254 offset:65535        ; encoding: [0xff,0xff,0x14,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x14,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_min_i32 v255, v1                     ; encoding: [0x00,0x00,0x14,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x14,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_min_i32 v255, v1 offset:4660         ; encoding: [0x34,0x12,0x14,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x14,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_min_i32 v255, v1 offset:65535        ; encoding: [0xff,0xff,0x14,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x14,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_min_i32 v255, v254                   ; encoding: [0x00,0x00,0x14,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x14,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_min_i32 v255, v254 offset:4660       ; encoding: [0x34,0x12,0x14,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x14,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_min_i32 v255, v254 offset:65535      ; encoding: [0xff,0xff,0x14,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x14,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_min_i64 v1, v[254:255] offset:65535  ; encoding: [0xff,0xff,0x14,0xd9,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x14,0xd9,0x01,0xfe,0x00,0x00
+
+# GFX12: ds_min_i64 v1, v[2:3]                   ; encoding: [0x00,0x00,0x14,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0x14,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_min_i64 v1, v[2:3] offset:4          ; encoding: [0x04,0x00,0x14,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0x14,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_min_i64 v1, v[2:3] offset:65535      ; encoding: [0xff,0xff,0x14,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0x14,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_min_i64 v255, v[2:3] offset:65535    ; encoding: [0xff,0xff,0x14,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0x14,0xd9,0xff,0x02,0x00,0x00
+
+# GFX12: ds_min_num_rtn_f32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0xc8,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0xc8,0xd8,0x01,0x02,0x00,0xff
+
+# GFX12: ds_min_num_rtn_f32 v5, v1, v2           ; encoding: [0x00,0x00,0xc8,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xc8,0xd8,0x01,0x02,0x00,0x05
+
+# GFX12: ds_min_num_rtn_f32 v5, v1, v2 offset:4  ; encoding: [0x04,0x00,0xc8,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xc8,0xd8,0x01,0x02,0x00,0x05
+
+# GFX12: ds_min_num_rtn_f32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0xc8,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xc8,0xd8,0x01,0x02,0x00,0x05
+
+# GFX12: ds_min_num_rtn_f32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0xc8,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0xc8,0xd8,0x01,0xff,0x00,0x05
+
+# GFX12: ds_min_num_rtn_f32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0xc8,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xc8,0xd8,0xff,0x02,0x00,0x05
+
+# GFX12: ds_min_num_rtn_f64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc8,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xc8,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_min_num_rtn_f64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xc8,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xc8,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_min_num_rtn_f64 v[5:6], v1, v[2:3]   ; encoding: [0x00,0x00,0xc8,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0xc8,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_min_num_rtn_f64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xc8,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0xc8,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_min_num_rtn_f64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc8,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0xc8,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_min_num_rtn_f64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc8,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0xc8,0xd9,0xff,0x02,0x00,0x05
+
+# GFX12: ds_min_rtn_i32 v0, v1, v2               ; encoding: [0x00,0x00,0x94,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x94,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_min_rtn_i32 v0, v1, v2 offset:4660   ; encoding: [0x34,0x12,0x94,0xd8,0x01,0x02,0x00,0x00]
+0x34,0x12,0x94,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_min_rtn_i32 v0, v1, v2 offset:65535  ; encoding: [0xff,0xff,0x94,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x94,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_min_rtn_i32 v0, v254, v253           ; encoding: [0x00,0x00,0x94,0xd8,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0x94,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_min_rtn_i32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x94,0xd8,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0x94,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_min_rtn_i32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x94,0xd8,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0x94,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_min_rtn_i32 v255, v1, v253           ; encoding: [0x00,0x00,0x94,0xd8,0x01,0xfd,0x00,0xff]
+0x00,0x00,0x94,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_min_rtn_i32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0x94,0xd8,0x01,0xfd,0x00,0xff]
+0x34,0x12,0x94,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_min_rtn_i32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0x94,0xd8,0x01,0xfd,0x00,0xff]
+0xff,0xff,0x94,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_min_rtn_i32 v255, v254, v2           ; encoding: [0x00,0x00,0x94,0xd8,0xfe,0x02,0x00,0xff]
+0x00,0x00,0x94,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_min_rtn_i32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0x94,0xd8,0xfe,0x02,0x00,0xff]
+0x34,0x12,0x94,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_min_rtn_i32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0x94,0xd8,0xfe,0x02,0x00,0xff]
+0xff,0xff,0x94,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_min_rtn_i32 v255, v254, v253         ; encoding: [0x00,0x00,0x94,0xd8,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0x94,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_min_rtn_i32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x94,0xd8,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0x94,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_min_rtn_i32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x94,0xd8,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0x94,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_min_rtn_i64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x94,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0x94,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_min_rtn_i64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x94,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0x94,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_min_rtn_i64 v[5:6], v1, v[2:3]       ; encoding: [0x00,0x00,0x94,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0x94,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_min_rtn_i64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x94,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0x94,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_min_rtn_i64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x94,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0x94,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_min_rtn_i64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x94,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0x94,0xd9,0xff,0x02,0x00,0x05
+
+# GFX12: ds_min_rtn_u32 v0, v1, v2               ; encoding: [0x00,0x00,0x9c,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x9c,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_min_rtn_u32 v0, v1, v2 offset:4660   ; encoding: [0x34,0x12,0x9c,0xd8,0x01,0x02,0x00,0x00]
+0x34,0x12,0x9c,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_min_rtn_u32 v0, v1, v2 offset:65535  ; encoding: [0xff,0xff,0x9c,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x9c,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_min_rtn_u32 v0, v254, v253           ; encoding: [0x00,0x00,0x9c,0xd8,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0x9c,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_min_rtn_u32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x9c,0xd8,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0x9c,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_min_rtn_u32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x9c,0xd8,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0x9c,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_min_rtn_u32 v255, v1, v253           ; encoding: [0x00,0x00,0x9c,0xd8,0x01,0xfd,0x00,0xff]
+0x00,0x00,0x9c,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_min_rtn_u32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0x9c,0xd8,0x01,0xfd,0x00,0xff]
+0x34,0x12,0x9c,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_min_rtn_u32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0x9c,0xd8,0x01,0xfd,0x00,0xff]
+0xff,0xff,0x9c,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_min_rtn_u32 v255, v254, v2           ; encoding: [0x00,0x00,0x9c,0xd8,0xfe,0x02,0x00,0xff]
+0x00,0x00,0x9c,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_min_rtn_u32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0x9c,0xd8,0xfe,0x02,0x00,0xff]
+0x34,0x12,0x9c,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_min_rtn_u32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0x9c,0xd8,0xfe,0x02,0x00,0xff]
+0xff,0xff,0x9c,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_min_rtn_u32 v255, v254, v253         ; encoding: [0x00,0x00,0x9c,0xd8,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0x9c,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_min_rtn_u32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x9c,0xd8,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0x9c,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_min_rtn_u32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x9c,0xd8,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0x9c,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_min_rtn_u64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x9c,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0x9c,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_min_rtn_u64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x9c,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0x9c,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_min_rtn_u64 v[5:6], v1, v[2:3]       ; encoding: [0x00,0x00,0x9c,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0x9c,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_min_rtn_u64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x9c,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0x9c,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_min_rtn_u64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x9c,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0x9c,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_min_rtn_u64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x9c,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0x9c,0xd9,0xff,0x02,0x00,0x05
+
+# GFX12: ds_min_u32 v0, v1                       ; encoding: [0x00,0x00,0x1c,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x1c,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_min_u32 v0, v1 offset:4660           ; encoding: [0x34,0x12,0x1c,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x1c,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_min_u32 v0, v1 offset:65535          ; encoding: [0xff,0xff,0x1c,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x1c,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_min_u32 v0, v254                     ; encoding: [0x00,0x00,0x1c,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x1c,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_min_u32 v0, v254 offset:4660         ; encoding: [0x34,0x12,0x1c,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x1c,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_min_u32 v0, v254 offset:65535        ; encoding: [0xff,0xff,0x1c,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x1c,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_min_u32 v255, v1                     ; encoding: [0x00,0x00,0x1c,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x1c,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_min_u32 v255, v1 offset:4660         ; encoding: [0x34,0x12,0x1c,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x1c,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_min_u32 v255, v1 offset:65535        ; encoding: [0xff,0xff,0x1c,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x1c,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_min_u32 v255, v254                   ; encoding: [0x00,0x00,0x1c,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x1c,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_min_u32 v255, v254 offset:4660       ; encoding: [0x34,0x12,0x1c,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x1c,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_min_u32 v255, v254 offset:65535      ; encoding: [0xff,0xff,0x1c,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x1c,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_min_u64 v1, v[254:255] offset:65535  ; encoding: [0xff,0xff,0x1c,0xd9,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x1c,0xd9,0x01,0xfe,0x00,0x00
+
+# GFX12: ds_min_u64 v1, v[2:3]                   ; encoding: [0x00,0x00,0x1c,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0x1c,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_min_u64 v1, v[2:3] offset:4          ; encoding: [0x04,0x00,0x1c,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0x1c,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_min_u64 v1, v[2:3] offset:65535      ; encoding: [0xff,0xff,0x1c,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0x1c,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_min_u64 v255, v[2:3] offset:65535    ; encoding: [0xff,0xff,0x1c,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0x1c,0xd9,0xff,0x02,0x00,0x00
+
+# GFX12: ds_mskor_b32 v0, v1, v2                 ; encoding: [0x00,0x00,0x30,0xd8,0x00,0x01,0x02,0x00]
+0x00,0x00,0x30,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_mskor_b32 v0, v1, v2 offset:4660     ; encoding: [0x34,0x12,0x30,0xd8,0x00,0x01,0x02,0x00]
+0x34,0x12,0x30,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_mskor_b32 v0, v1, v2 offset:65535    ; encoding: [0xff,0xff,0x30,0xd8,0x00,0x01,0x02,0x00]
+0xff,0xff,0x30,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_mskor_b32 v0, v254, v253             ; encoding: [0x00,0x00,0x30,0xd8,0x00,0xfe,0xfd,0x00]
+0x00,0x00,0x30,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_mskor_b32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x30,0xd8,0x00,0xfe,0xfd,0x00]
+0x34,0x12,0x30,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_mskor_b32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x30,0xd8,0x00,0xfe,0xfd,0x00]
+0xff,0xff,0x30,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_mskor_b32 v255, v1, v253             ; encoding: [0x00,0x00,0x30,0xd8,0xff,0x01,0xfd,0x00]
+0x00,0x00,0x30,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_mskor_b32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0x30,0xd8,0xff,0x01,0xfd,0x00]
+0x34,0x12,0x30,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_mskor_b32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0x30,0xd8,0xff,0x01,0xfd,0x00]
+0xff,0xff,0x30,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_mskor_b32 v255, v254, v2             ; encoding: [0x00,0x00,0x30,0xd8,0xff,0xfe,0x02,0x00]
+0x00,0x00,0x30,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_mskor_b32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0x30,0xd8,0xff,0xfe,0x02,0x00]
+0x34,0x12,0x30,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_mskor_b32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0x30,0xd8,0xff,0xfe,0x02,0x00]
+0xff,0xff,0x30,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_mskor_b32 v255, v254, v253           ; encoding: [0x00,0x00,0x30,0xd8,0xff,0xfe,0xfd,0x00]
+0x00,0x00,0x30,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_mskor_b32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x30,0xd8,0xff,0xfe,0xfd,0x00]
+0x34,0x12,0x30,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_mskor_b32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x30,0xd8,0xff,0xfe,0xfd,0x00]
+0xff,0xff,0x30,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_mskor_b64 v1, v[254:255], v[3:4] offset:65535 ; encoding: [0xff,0xff,0x30,0xd9,0x01,0xfe,0x03,0x00]
+0xff,0xff,0x30,0xd9,0x01,0xfe,0x03,0x00
+
+# GFX12: ds_mskor_b64 v1, v[2:3], v[254:255] offset:65535 ; encoding: [0xff,0xff,0x30,0xd9,0x01,0x02,0xfe,0x00]
+0xff,0xff,0x30,0xd9,0x01,0x02,0xfe,0x00
+
+# GFX12: ds_mskor_b64 v1, v[2:3], v[3:4]         ; encoding: [0x00,0x00,0x30,0xd9,0x01,0x02,0x03,0x00]
+0x00,0x00,0x30,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_mskor_b64 v1, v[2:3], v[3:4] offset:4 ; encoding: [0x04,0x00,0x30,0xd9,0x01,0x02,0x03,0x00]
+0x04,0x00,0x30,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_mskor_b64 v1, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0x30,0xd9,0x01,0x02,0x03,0x00]
+0xff,0xff,0x30,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_mskor_b64 v255, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0x30,0xd9,0xff,0x02,0x03,0x00]
+0xff,0xff,0x30,0xd9,0xff,0x02,0x03,0x00
+
+# GFX12: ds_mskor_rtn_b32 v0, v1, v2, v3         ; encoding: [0x00,0x00,0xb0,0xd8,0x01,0x02,0x03,0x00]
+0x00,0x00,0xb0,0xd8,0x01,0x02,0x03,0x00
+
+# GFX12: ds_mskor_rtn_b32 v0, v1, v2, v3 offset:4660 ; encoding: [0x34,0x12,0xb0,0xd8,0x01,0x02,0x03,0x00]
+0x34,0x12,0xb0,0xd8,0x01,0x02,0x03,0x00
+
+# GFX12: ds_mskor_rtn_b32 v0, v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0xb0,0xd8,0x01,0x02,0x03,0x00]
+0xff,0xff,0xb0,0xd8,0x01,0x02,0x03,0x00
+
+# GFX12: ds_mskor_rtn_b32 v0, v254, v253, v252   ; encoding: [0x00,0x00,0xb0,0xd8,0xfe,0xfd,0xfc,0x00]
+0x00,0x00,0xb0,0xd8,0xfe,0xfd,0xfc,0x00
+
+# GFX12: ds_mskor_rtn_b32 v0, v254, v253, v252 offset:4660 ; encoding: [0x34,0x12,0xb0,0xd8,0xfe,0xfd,0xfc,0x00]
+0x34,0x12,0xb0,0xd8,0xfe,0xfd,0xfc,0x00
+
+# GFX12: ds_mskor_rtn_b32 v0, v254, v253, v252 offset:65535 ; encoding: [0xff,0xff,0xb0,0xd8,0xfe,0xfd,0xfc,0x00]
+0xff,0xff,0xb0,0xd8,0xfe,0xfd,0xfc,0x00
+
+# GFX12: ds_mskor_rtn_b32 v255, v1, v253, v252   ; encoding: [0x00,0x00,0xb0,0xd8,0x01,0xfd,0xfc,0xff]
+0x00,0x00,0xb0,0xd8,0x01,0xfd,0xfc,0xff
+
+# GFX12: ds_mskor_rtn_b32 v255, v1, v253, v252 offset:4660 ; encoding: [0x34,0x12,0xb0,0xd8,0x01,0xfd,0xfc,0xff]
+0x34,0x12,0xb0,0xd8,0x01,0xfd,0xfc,0xff
+
+# GFX12: ds_mskor_rtn_b32 v255, v1, v253, v252 offset:65535 ; encoding: [0xff,0xff,0xb0,0xd8,0x01,0xfd,0xfc,0xff]
+0xff,0xff,0xb0,0xd8,0x01,0xfd,0xfc,0xff
+
+# GFX12: ds_mskor_rtn_b32 v255, v254, v2, v252   ; encoding: [0x00,0x00,0xb0,0xd8,0xfe,0x02,0xfc,0xff]
+0x00,0x00,0xb0,0xd8,0xfe,0x02,0xfc,0xff
+
+# GFX12: ds_mskor_rtn_b32 v255, v254, v2, v252 offset:4660 ; encoding: [0x34,0x12,0xb0,0xd8,0xfe,0x02,0xfc,0xff]
+0x34,0x12,0xb0,0xd8,0xfe,0x02,0xfc,0xff
+
+# GFX12: ds_mskor_rtn_b32 v255, v254, v2, v252 offset:65535 ; encoding: [0xff,0xff,0xb0,0xd8,0xfe,0x02,0xfc,0xff]
+0xff,0xff,0xb0,0xd8,0xfe,0x02,0xfc,0xff
+
+# GFX12: ds_mskor_rtn_b32 v255, v254, v253, v252 ; encoding: [0x00,0x00,0xb0,0xd8,0xfe,0xfd,0xfc,0xff]
+0x00,0x00,0xb0,0xd8,0xfe,0xfd,0xfc,0xff
+
+# GFX12: ds_mskor_rtn_b32 v255, v254, v253, v252 offset:4660 ; encoding: [0x34,0x12,0xb0,0xd8,0xfe,0xfd,0xfc,0xff]
+0x34,0x12,0xb0,0xd8,0xfe,0xfd,0xfc,0xff
+
+# GFX12: ds_mskor_rtn_b32 v255, v254, v253, v252 offset:65535 ; encoding: [0xff,0xff,0xb0,0xd8,0xfe,0xfd,0xfc,0xff]
+0xff,0xff,0xb0,0xd8,0xfe,0xfd,0xfc,0xff
+
+# GFX12: ds_mskor_rtn_b32 v255, v254, v253, v3   ; encoding: [0x00,0x00,0xb0,0xd8,0xfe,0xfd,0x03,0xff]
+0x00,0x00,0xb0,0xd8,0xfe,0xfd,0x03,0xff
+
+# GFX12: ds_mskor_rtn_b32 v255, v254, v253, v3 offset:4660 ; encoding: [0x34,0x12,0xb0,0xd8,0xfe,0xfd,0x03,0xff]
+0x34,0x12,0xb0,0xd8,0xfe,0xfd,0x03,0xff
+
+# GFX12: ds_mskor_rtn_b32 v255, v254, v253, v3 offset:65535 ; encoding: [0xff,0xff,0xb0,0xd8,0xfe,0xfd,0x03,0xff]
+0xff,0xff,0xb0,0xd8,0xfe,0xfd,0x03,0xff
+
+# GFX12: ds_mskor_rtn_b64 v[254:255], v1, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xb0,0xd9,0x01,0x02,0x03,0xfe]
+0xff,0xff,0xb0,0xd9,0x01,0x02,0x03,0xfe
+
+# GFX12: ds_mskor_rtn_b64 v[5:6], v1, v[254:255], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xb0,0xd9,0x01,0xfe,0x03,0x05]
+0xff,0xff,0xb0,0xd9,0x01,0xfe,0x03,0x05
+
+# GFX12: ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[254:255] offset:65535 ; encoding: [0xff,0xff,0xb0,0xd9,0x01,0x02,0xfe,0x05]
+0xff,0xff,0xb0,0xd9,0x01,0x02,0xfe,0x05
+
+# GFX12: ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[3:4] ; encoding: [0x00,0x00,0xb0,0xd9,0x01,0x02,0x03,0x05]
+0x00,0x00,0xb0,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:4 ; encoding: [0x04,0x00,0xb0,0xd9,0x01,0x02,0x03,0x05]
+0x04,0x00,0xb0,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xb0,0xd9,0x01,0x02,0x03,0x05]
+0xff,0xff,0xb0,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_mskor_rtn_b64 v[5:6], v255, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xb0,0xd9,0xff,0x02,0x03,0x05]
+0xff,0xff,0xb0,0xd9,0xff,0x02,0x03,0x05
+
+# GFX12: ds_nop                                  ; encoding: [0x00,0x00,0x50,0xd8,0x00,0x00,0x00,0x00]
+0x00,0x00,0x50,0xd8,0x00,0x00,0x00,0x00
+
+# GFX12: ds_or_b32 v0, v1                        ; encoding: [0x00,0x00,0x28,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x28,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_or_b32 v0, v1 offset:4660            ; encoding: [0x34,0x12,0x28,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x28,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_or_b32 v0, v1 offset:65535           ; encoding: [0xff,0xff,0x28,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x28,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_or_b32 v0, v254                      ; encoding: [0x00,0x00,0x28,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x28,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_or_b32 v0, v254 offset:4660          ; encoding: [0x34,0x12,0x28,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x28,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_or_b32 v0, v254 offset:65535         ; encoding: [0xff,0xff,0x28,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x28,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_or_b32 v255, v1                      ; encoding: [0x00,0x00,0x28,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x28,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_or_b32 v255, v1 offset:4660          ; encoding: [0x34,0x12,0x28,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x28,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_or_b32 v255, v1 offset:65535         ; encoding: [0xff,0xff,0x28,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x28,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_or_b32 v255, v254                    ; encoding: [0x00,0x00,0x28,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x28,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_or_b32 v255, v254 offset:4660        ; encoding: [0x34,0x12,0x28,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x28,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_or_b32 v255, v254 offset:65535       ; encoding: [0xff,0xff,0x28,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x28,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_or_b64 v1, v[254:255] offset:65535   ; encoding: [0xff,0xff,0x28,0xd9,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x28,0xd9,0x01,0xfe,0x00,0x00
+
+# GFX12: ds_or_b64 v1, v[2:3]                    ; encoding: [0x00,0x00,0x28,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0x28,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_or_b64 v1, v[2:3] offset:4           ; encoding: [0x04,0x00,0x28,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0x28,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_or_b64 v1, v[2:3] offset:65535       ; encoding: [0xff,0xff,0x28,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0x28,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_or_b64 v255, v[2:3] offset:65535     ; encoding: [0xff,0xff,0x28,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0x28,0xd9,0xff,0x02,0x00,0x00
+
+# GFX12: ds_or_rtn_b32 v0, v1, v2                ; encoding: [0x00,0x00,0xa8,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0xa8,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_or_rtn_b32 v0, v1, v2 offset:4660    ; encoding: [0x34,0x12,0xa8,0xd8,0x01,0x02,0x00,0x00]
+0x34,0x12,0xa8,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_or_rtn_b32 v0, v1, v2 offset:65535   ; encoding: [0xff,0xff,0xa8,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0xa8,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_or_rtn_b32 v0, v254, v253            ; encoding: [0x00,0x00,0xa8,0xd8,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0xa8,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_or_rtn_b32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xa8,0xd8,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0xa8,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_or_rtn_b32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xa8,0xd8,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0xa8,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_or_rtn_b32 v255, v1, v253            ; encoding: [0x00,0x00,0xa8,0xd8,0x01,0xfd,0x00,0xff]
+0x00,0x00,0xa8,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_or_rtn_b32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0xa8,0xd8,0x01,0xfd,0x00,0xff]
+0x34,0x12,0xa8,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_or_rtn_b32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0xa8,0xd8,0x01,0xfd,0x00,0xff]
+0xff,0xff,0xa8,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_or_rtn_b32 v255, v254, v2            ; encoding: [0x00,0x00,0xa8,0xd8,0xfe,0x02,0x00,0xff]
+0x00,0x00,0xa8,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_or_rtn_b32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0xa8,0xd8,0xfe,0x02,0x00,0xff]
+0x34,0x12,0xa8,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_or_rtn_b32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0xa8,0xd8,0xfe,0x02,0x00,0xff]
+0xff,0xff,0xa8,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_or_rtn_b32 v255, v254, v253          ; encoding: [0x00,0x00,0xa8,0xd8,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0xa8,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_or_rtn_b32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xa8,0xd8,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0xa8,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_or_rtn_b32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xa8,0xd8,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0xa8,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_or_rtn_b64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xa8,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xa8,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_or_rtn_b64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xa8,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xa8,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_or_rtn_b64 v[5:6], v1, v[2:3]        ; encoding: [0x00,0x00,0xa8,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0xa8,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_or_rtn_b64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xa8,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0xa8,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_or_rtn_b64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xa8,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0xa8,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_or_rtn_b64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xa8,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0xa8,0xd9,0xff,0x02,0x00,0x05
+
+# GFX12: ds_permute_b32 v0, v1, v2               ; encoding: [0x00,0x00,0xc8,0xda,0x01,0x02,0x00,0x00]
+0x00,0x00,0xc8,0xda,0x01,0x02,0x00,0x00
+
+# GFX12: ds_permute_b32 v0, v1, v2 offset:4660   ; encoding: [0x34,0x12,0xc8,0xda,0x01,0x02,0x00,0x00]
+0x34,0x12,0xc8,0xda,0x01,0x02,0x00,0x00
+
+# GFX12: ds_permute_b32 v0, v1, v2 offset:65535  ; encoding: [0xff,0xff,0xc8,0xda,0x01,0x02,0x00,0x00]
+0xff,0xff,0xc8,0xda,0x01,0x02,0x00,0x00
+
+# GFX12: ds_permute_b32 v0, v254, v253           ; encoding: [0x00,0x00,0xc8,0xda,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0xc8,0xda,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_permute_b32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xc8,0xda,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0xc8,0xda,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_permute_b32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xc8,0xda,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0xc8,0xda,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_permute_b32 v255, v1, v253           ; encoding: [0x00,0x00,0xc8,0xda,0x01,0xfd,0x00,0xff]
+0x00,0x00,0xc8,0xda,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_permute_b32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0xc8,0xda,0x01,0xfd,0x00,0xff]
+0x34,0x12,0xc8,0xda,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_permute_b32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0xc8,0xda,0x01,0xfd,0x00,0xff]
+0xff,0xff,0xc8,0xda,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_permute_b32 v255, v254, v2           ; encoding: [0x00,0x00,0xc8,0xda,0xfe,0x02,0x00,0xff]
+0x00,0x00,0xc8,0xda,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_permute_b32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0xc8,0xda,0xfe,0x02,0x00,0xff]
+0x34,0x12,0xc8,0xda,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_permute_b32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0xc8,0xda,0xfe,0x02,0x00,0xff]
+0xff,0xff,0xc8,0xda,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_permute_b32 v255, v254, v253         ; encoding: [0x00,0x00,0xc8,0xda,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0xc8,0xda,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_permute_b32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xc8,0xda,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0xc8,0xda,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_permute_b32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xc8,0xda,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0xc8,0xda,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_load_2addr_b32 v[254:255], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd8,0x01,0x00,0x00,0xfe]
+0x7f,0xff,0xdc,0xd8,0x01,0x00,0x00,0xfe
+
+# GFX12: ds_load_2addr_b32 v[5:6], v1 offset0:127 ; encoding: [0x7f,0x00,0xdc,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0x00,0xdc,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_b32 v[5:6], v1 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xdc,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0x01,0xdc,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_b32 v[5:6], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0xff,0xdc,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_b32 v[5:6], v1 offset0:16 offset1:255 ; encoding: [0x10,0xff,0xdc,0xd8,0x01,0x00,0x00,0x05]
+0x10,0xff,0xdc,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_b32 v[5:6], v1 offset1:255 ; encoding: [0x00,0xff,0xdc,0xd8,0x01,0x00,0x00,0x05]
+0x00,0xff,0xdc,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_b32 v[5:6], v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd8,0xff,0x00,0x00,0x05]
+0x7f,0xff,0xdc,0xd8,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_b64 v[252:255], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd9,0x01,0x00,0x00,0xfc]
+0x7f,0xff,0xdc,0xd9,0x01,0x00,0x00,0xfc
+
+# GFX12: ds_load_2addr_b64 v[5:8], v1 offset0:127 ; encoding: [0x7f,0x00,0xdc,0xd9,0x01,0x00,0x00,0x05]
+0x7f,0x00,0xdc,0xd9,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_b64 v[5:8], v1 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xdc,0xd9,0x01,0x00,0x00,0x05]
+0x7f,0x01,0xdc,0xd9,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_b64 v[5:8], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd9,0x01,0x00,0x00,0x05]
+0x7f,0xff,0xdc,0xd9,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_b64 v[5:8], v1 offset0:16 offset1:255 ; encoding: [0x10,0xff,0xdc,0xd9,0x01,0x00,0x00,0x05]
+0x10,0xff,0xdc,0xd9,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_b64 v[5:8], v1 offset1:255 ; encoding: [0x00,0xff,0xdc,0xd9,0x01,0x00,0x00,0x05]
+0x00,0xff,0xdc,0xd9,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_b64 v[5:8], v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd9,0xff,0x00,0x00,0x05]
+0x7f,0xff,0xdc,0xd9,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_stride64_b32 v[254:255], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xe0,0xd8,0x01,0x00,0x00,0xfe]
+0x7f,0xff,0xe0,0xd8,0x01,0x00,0x00,0xfe
+
+# GFX12: ds_load_2addr_stride64_b32 v[5:6], v1 offset0:127 ; encoding: [0x7f,0x00,0xe0,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0x00,0xe0,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_stride64_b32 v[5:6], v1 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xe0,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0x01,0xe0,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_stride64_b32 v[5:6], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xe0,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0xff,0xe0,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_stride64_b32 v[5:6], v1 offset0:16 offset1:255 ; encoding: [0x10,0xff,0xe0,0xd8,0x01,0x00,0x00,0x05]
+0x10,0xff,0xe0,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_stride64_b32 v[5:6], v1 offset1:255 ; encoding: [0x00,0xff,0xe0,0xd8,0x01,0x00,0x00,0x05]
+0x00,0xff,0xe0,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_stride64_b32 v[5:6], v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xe0,0xd8,0xff,0x00,0x00,0x05]
+0x7f,0xff,0xe0,0xd8,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_stride64_b64 v[252:255], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xe0,0xd9,0x01,0x00,0x00,0xfc]
+0x7f,0xff,0xe0,0xd9,0x01,0x00,0x00,0xfc
+
+# GFX12: ds_load_2addr_stride64_b64 v[5:8], v1 offset0:127 ; encoding: [0x7f,0x00,0xe0,0xd9,0x01,0x00,0x00,0x05]
+0x7f,0x00,0xe0,0xd9,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_stride64_b64 v[5:8], v1 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xe0,0xd9,0x01,0x00,0x00,0x05]
+0x7f,0x01,0xe0,0xd9,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_stride64_b64 v[5:8], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xe0,0xd9,0x01,0x00,0x00,0x05]
+0x7f,0xff,0xe0,0xd9,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_stride64_b64 v[5:8], v1 offset0:16 offset1:255 ; encoding: [0x10,0xff,0xe0,0xd9,0x01,0x00,0x00,0x05]
+0x10,0xff,0xe0,0xd9,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_stride64_b64 v[5:8], v1 offset1:255 ; encoding: [0x00,0xff,0xe0,0xd9,0x01,0x00,0x00,0x05]
+0x00,0xff,0xe0,0xd9,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_2addr_stride64_b64 v[5:8], v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xe0,0xd9,0xff,0x00,0x00,0x05]
+0x7f,0xff,0xe0,0xd9,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_addtid_b32 v255 offset:65535    ; encoding: [0xff,0xff,0xc4,0xda,0x00,0x00,0x00,0xff]
+0xff 0xff 0xc4 0xda 0x00 0x00 0x00 0xff
+
+# GFX12: ds_load_addtid_b32 v5                   ; encoding: [0x00,0x00,0xc4,0xda,0x00,0x00,0x00,0x05]
+0x00 0x00 0xc4 0xda 0x00 0x00 0x00 0x05
+
+# GFX12: ds_load_addtid_b32 v5 offset:4          ; encoding: [0x04,0x00,0xc4,0xda,0x00,0x00,0x00,0x05]
+0x04 0x00 0xc4 0xda 0x00 0x00 0x00 0x05
+
+# GFX12: ds_load_addtid_b32 v5 offset:65535      ; encoding: [0xff,0xff,0xc4,0xda,0x00,0x00,0x00,0x05]
+0xff 0xff 0xc4 0xda 0x00 0x00 0x00 0x05
+
+# GFX12: ds_load_b128 v[252:255], v1 offset:65535 ; encoding: [0xff,0xff,0xfc,0xdb,0x01,0x00,0x00,0xfc]
+0xff,0xff,0xfc,0xdb,0x01,0x00,0x00,0xfc
+
+# GFX12: ds_load_b128 v[5:8], v1                 ; encoding: [0x00,0x00,0xfc,0xdb,0x01,0x00,0x00,0x05]
+0x00,0x00,0xfc,0xdb,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_b128 v[5:8], v1 offset:4        ; encoding: [0x04,0x00,0xfc,0xdb,0x01,0x00,0x00,0x05]
+0x04,0x00,0xfc,0xdb,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_b128 v[5:8], v1 offset:65535    ; encoding: [0xff,0xff,0xfc,0xdb,0x01,0x00,0x00,0x05]
+0xff,0xff,0xfc,0xdb,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_b128 v[5:8], v255 offset:65535  ; encoding: [0xff,0xff,0xfc,0xdb,0xff,0x00,0x00,0x05]
+0xff,0xff,0xfc,0xdb,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_b32 v255, v1 offset:65535       ; encoding: [0xff,0xff,0xd8,0xd8,0x01,0x00,0x00,0xff]
+0xff,0xff,0xd8,0xd8,0x01,0x00,0x00,0xff
+
+# GFX12: ds_load_b32 v5, v1                      ; encoding: [0x00,0x00,0xd8,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0xd8,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_b32 v5, v1 offset:4             ; encoding: [0x04,0x00,0xd8,0xd8,0x01,0x00,0x00,0x05]
+0x04,0x00,0xd8,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_b32 v5, v1 offset:65535         ; encoding: [0xff,0xff,0xd8,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0xd8,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_b32 v5, v255 offset:65535       ; encoding: [0xff,0xff,0xd8,0xd8,0xff,0x00,0x00,0x05]
+0xff,0xff,0xd8,0xd8,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_b64 v[254:255], v1 offset:65535 ; encoding: [0xff,0xff,0xd8,0xd9,0x01,0x00,0x00,0xfe]
+0xff,0xff,0xd8,0xd9,0x01,0x00,0x00,0xfe
+
+# GFX12: ds_load_b64 v[5:6], v1                  ; encoding: [0x00,0x00,0xd8,0xd9,0x01,0x00,0x00,0x05]
+0x00,0x00,0xd8,0xd9,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_b64 v[5:6], v1 offset:4         ; encoding: [0x04,0x00,0xd8,0xd9,0x01,0x00,0x00,0x05]
+0x04,0x00,0xd8,0xd9,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_b64 v[5:6], v1 offset:65535     ; encoding: [0xff,0xff,0xd8,0xd9,0x01,0x00,0x00,0x05]
+0xff,0xff,0xd8,0xd9,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_b64 v[5:6], v255 offset:65535   ; encoding: [0xff,0xff,0xd8,0xd9,0xff,0x00,0x00,0x05]
+0xff,0xff,0xd8,0xd9,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_b96 v[253:255], v1 offset:65535 ; encoding: [0xff,0xff,0xf8,0xdb,0x01,0x00,0x00,0xfd]
+0xff,0xff,0xf8,0xdb,0x01,0x00,0x00,0xfd
+
+# GFX12: ds_load_b96 v[5:7], v1                  ; encoding: [0x00,0x00,0xf8,0xdb,0x01,0x00,0x00,0x05]
+0x00,0x00,0xf8,0xdb,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_b96 v[5:7], v1 offset:4         ; encoding: [0x04,0x00,0xf8,0xdb,0x01,0x00,0x00,0x05]
+0x04,0x00,0xf8,0xdb,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_b96 v[5:7], v1 offset:65535     ; encoding: [0xff,0xff,0xf8,0xdb,0x01,0x00,0x00,0x05]
+0xff,0xff,0xf8,0xdb,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_b96 v[5:7], v255 offset:65535   ; encoding: [0xff,0xff,0xf8,0xdb,0xff,0x00,0x00,0x05]
+0xff,0xff,0xf8,0xdb,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_i16 v255, v1 offset:65535       ; encoding: [0xff,0xff,0xec,0xd8,0x01,0x00,0x00,0xff]
+0xff,0xff,0xec,0xd8,0x01,0x00,0x00,0xff
+
+# GFX12: ds_load_i16 v5, v1                      ; encoding: [0x00,0x00,0xec,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0xec,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_i16 v5, v1 offset:4             ; encoding: [0x04,0x00,0xec,0xd8,0x01,0x00,0x00,0x05]
+0x04,0x00,0xec,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_i16 v5, v1 offset:65535         ; encoding: [0xff,0xff,0xec,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0xec,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_i16 v5, v255 offset:65535       ; encoding: [0xff,0xff,0xec,0xd8,0xff,0x00,0x00,0x05]
+0xff,0xff,0xec,0xd8,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_i8 v255, v1 offset:65535        ; encoding: [0xff,0xff,0xe4,0xd8,0x01,0x00,0x00,0xff]
+0xff,0xff,0xe4,0xd8,0x01,0x00,0x00,0xff
+
+# GFX12: ds_load_i8 v5, v1                       ; encoding: [0x00,0x00,0xe4,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0xe4,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_i8 v5, v1 offset:4              ; encoding: [0x04,0x00,0xe4,0xd8,0x01,0x00,0x00,0x05]
+0x04,0x00,0xe4,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_i8 v5, v1 offset:65535          ; encoding: [0xff,0xff,0xe4,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0xe4,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_i8 v5, v255 offset:65535        ; encoding: [0xff,0xff,0xe4,0xd8,0xff,0x00,0x00,0x05]
+0xff,0xff,0xe4,0xd8,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_i8_d16 v255, v1 offset:65535    ; encoding: [0xff,0xff,0x90,0xda,0x01,0x00,0x00,0xff]
+0xff,0xff,0x90,0xda,0x01,0x00,0x00,0xff
+
+# GFX12: ds_load_i8_d16 v5, v1                   ; encoding: [0x00,0x00,0x90,0xda,0x01,0x00,0x00,0x05]
+0x00,0x00,0x90,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_i8_d16 v5, v1 offset:4          ; encoding: [0x04,0x00,0x90,0xda,0x01,0x00,0x00,0x05]
+0x04,0x00,0x90,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_i8_d16 v5, v1 offset:65535      ; encoding: [0xff,0xff,0x90,0xda,0x01,0x00,0x00,0x05]
+0xff,0xff,0x90,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_i8_d16 v5, v255 offset:65535    ; encoding: [0xff,0xff,0x90,0xda,0xff,0x00,0x00,0x05]
+0xff,0xff,0x90,0xda,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_i8_d16_hi v255, v1 offset:65535 ; encoding: [0xff,0xff,0x94,0xda,0x01,0x00,0x00,0xff]
+0xff,0xff,0x94,0xda,0x01,0x00,0x00,0xff
+
+# GFX12: ds_load_i8_d16_hi v5, v1                ; encoding: [0x00,0x00,0x94,0xda,0x01,0x00,0x00,0x05]
+0x00,0x00,0x94,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_i8_d16_hi v5, v1 offset:4       ; encoding: [0x04,0x00,0x94,0xda,0x01,0x00,0x00,0x05]
+0x04,0x00,0x94,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_i8_d16_hi v5, v1 offset:65535   ; encoding: [0xff,0xff,0x94,0xda,0x01,0x00,0x00,0x05]
+0xff,0xff,0x94,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_i8_d16_hi v5, v255 offset:65535 ; encoding: [0xff,0xff,0x94,0xda,0xff,0x00,0x00,0x05]
+0xff,0xff,0x94,0xda,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_u16 v255, v1 offset:65535       ; encoding: [0xff,0xff,0xf0,0xd8,0x01,0x00,0x00,0xff]
+0xff,0xff,0xf0,0xd8,0x01,0x00,0x00,0xff
+
+# GFX12: ds_load_u16 v5, v1                      ; encoding: [0x00,0x00,0xf0,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0xf0,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u16 v5, v1 offset:4             ; encoding: [0x04,0x00,0xf0,0xd8,0x01,0x00,0x00,0x05]
+0x04,0x00,0xf0,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u16 v5, v1 offset:65535         ; encoding: [0xff,0xff,0xf0,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0xf0,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u16 v5, v255 offset:65535       ; encoding: [0xff,0xff,0xf0,0xd8,0xff,0x00,0x00,0x05]
+0xff,0xff,0xf0,0xd8,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_u16_d16 v255, v1 offset:65535   ; encoding: [0xff,0xff,0x98,0xda,0x01,0x00,0x00,0xff]
+0xff,0xff,0x98,0xda,0x01,0x00,0x00,0xff
+
+# GFX12: ds_load_u16_d16 v5, v1                  ; encoding: [0x00,0x00,0x98,0xda,0x01,0x00,0x00,0x05]
+0x00,0x00,0x98,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u16_d16 v5, v1 offset:4         ; encoding: [0x04,0x00,0x98,0xda,0x01,0x00,0x00,0x05]
+0x04,0x00,0x98,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u16_d16 v5, v1 offset:65535     ; encoding: [0xff,0xff,0x98,0xda,0x01,0x00,0x00,0x05]
+0xff,0xff,0x98,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u16_d16 v5, v255 offset:65535   ; encoding: [0xff,0xff,0x98,0xda,0xff,0x00,0x00,0x05]
+0xff,0xff,0x98,0xda,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_u16_d16_hi v255, v1 offset:65535 ; encoding: [0xff,0xff,0x9c,0xda,0x01,0x00,0x00,0xff]
+0xff,0xff,0x9c,0xda,0x01,0x00,0x00,0xff
+
+# GFX12: ds_load_u16_d16_hi v5, v1               ; encoding: [0x00,0x00,0x9c,0xda,0x01,0x00,0x00,0x05]
+0x00,0x00,0x9c,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u16_d16_hi v5, v1 offset:4      ; encoding: [0x04,0x00,0x9c,0xda,0x01,0x00,0x00,0x05]
+0x04,0x00,0x9c,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u16_d16_hi v5, v1 offset:65535  ; encoding: [0xff,0xff,0x9c,0xda,0x01,0x00,0x00,0x05]
+0xff,0xff,0x9c,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u16_d16_hi v5, v255 offset:65535 ; encoding: [0xff,0xff,0x9c,0xda,0xff,0x00,0x00,0x05]
+0xff,0xff,0x9c,0xda,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_u8 v255, v1 offset:65535        ; encoding: [0xff,0xff,0xe8,0xd8,0x01,0x00,0x00,0xff]
+0xff,0xff,0xe8,0xd8,0x01,0x00,0x00,0xff
+
+# GFX12: ds_load_u8 v5, v1                       ; encoding: [0x00,0x00,0xe8,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0xe8,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u8 v5, v1 offset:4              ; encoding: [0x04,0x00,0xe8,0xd8,0x01,0x00,0x00,0x05]
+0x04,0x00,0xe8,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u8 v5, v1 offset:65535          ; encoding: [0xff,0xff,0xe8,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0xe8,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u8 v5, v255 offset:65535        ; encoding: [0xff,0xff,0xe8,0xd8,0xff,0x00,0x00,0x05]
+0xff,0xff,0xe8,0xd8,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_u8_d16 v255, v1 offset:65535    ; encoding: [0xff,0xff,0x88,0xda,0x01,0x00,0x00,0xff]
+0xff,0xff,0x88,0xda,0x01,0x00,0x00,0xff
+
+# GFX12: ds_load_u8_d16 v5, v1                   ; encoding: [0x00,0x00,0x88,0xda,0x01,0x00,0x00,0x05]
+0x00,0x00,0x88,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u8_d16 v5, v1 offset:4          ; encoding: [0x04,0x00,0x88,0xda,0x01,0x00,0x00,0x05]
+0x04,0x00,0x88,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u8_d16 v5, v1 offset:65535      ; encoding: [0xff,0xff,0x88,0xda,0x01,0x00,0x00,0x05]
+0xff,0xff,0x88,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u8_d16 v5, v255 offset:65535    ; encoding: [0xff,0xff,0x88,0xda,0xff,0x00,0x00,0x05]
+0xff,0xff,0x88,0xda,0xff,0x00,0x00,0x05
+
+# GFX12: ds_load_u8_d16_hi v255, v1 offset:65535 ; encoding: [0xff,0xff,0x8c,0xda,0x01,0x00,0x00,0xff]
+0xff,0xff,0x8c,0xda,0x01,0x00,0x00,0xff
+
+# GFX12: ds_load_u8_d16_hi v5, v1                ; encoding: [0x00,0x00,0x8c,0xda,0x01,0x00,0x00,0x05]
+0x00,0x00,0x8c,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u8_d16_hi v5, v1 offset:4       ; encoding: [0x04,0x00,0x8c,0xda,0x01,0x00,0x00,0x05]
+0x04,0x00,0x8c,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u8_d16_hi v5, v1 offset:65535   ; encoding: [0xff,0xff,0x8c,0xda,0x01,0x00,0x00,0x05]
+0xff,0xff,0x8c,0xda,0x01,0x00,0x00,0x05
+
+# GFX12: ds_load_u8_d16_hi v5, v255 offset:65535 ; encoding: [0xff,0xff,0x8c,0xda,0xff,0x00,0x00,0x05]
+0xff,0xff,0x8c,0xda,0xff,0x00,0x00,0x05
+
+# GFX12: ds_rsub_rtn_u32 v0, v1, v2              ; encoding: [0x00,0x00,0x88,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x88,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_rsub_rtn_u32 v0, v1, v2 offset:4660  ; encoding: [0x34,0x12,0x88,0xd8,0x01,0x02,0x00,0x00]
+0x34,0x12,0x88,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_rsub_rtn_u32 v0, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x88,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x88,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_rsub_rtn_u32 v0, v254, v253          ; encoding: [0x00,0x00,0x88,0xd8,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0x88,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_rsub_rtn_u32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x88,0xd8,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0x88,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_rsub_rtn_u32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x88,0xd8,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0x88,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_rsub_rtn_u32 v255, v1, v253          ; encoding: [0x00,0x00,0x88,0xd8,0x01,0xfd,0x00,0xff]
+0x00,0x00,0x88,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_rsub_rtn_u32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0x88,0xd8,0x01,0xfd,0x00,0xff]
+0x34,0x12,0x88,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_rsub_rtn_u32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0x88,0xd8,0x01,0xfd,0x00,0xff]
+0xff,0xff,0x88,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_rsub_rtn_u32 v255, v254, v2          ; encoding: [0x00,0x00,0x88,0xd8,0xfe,0x02,0x00,0xff]
+0x00,0x00,0x88,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_rsub_rtn_u32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0x88,0xd8,0xfe,0x02,0x00,0xff]
+0x34,0x12,0x88,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_rsub_rtn_u32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0x88,0xd8,0xfe,0x02,0x00,0xff]
+0xff,0xff,0x88,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_rsub_rtn_u32 v255, v254, v253        ; encoding: [0x00,0x00,0x88,0xd8,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0x88,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_rsub_rtn_u32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x88,0xd8,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0x88,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_rsub_rtn_u32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x88,0xd8,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0x88,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_rsub_rtn_u64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x88,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0x88,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_rsub_rtn_u64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x88,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0x88,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_rsub_rtn_u64 v[5:6], v1, v[2:3]      ; encoding: [0x00,0x00,0x88,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0x88,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_rsub_rtn_u64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x88,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0x88,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_rsub_rtn_u64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x88,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0x88,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_rsub_rtn_u64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x88,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0x88,0xd9,0xff,0x02,0x00,0x05
+
+# GFX12: ds_rsub_u32 v0, v1                      ; encoding: [0x00,0x00,0x08,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x08,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_rsub_u32 v0, v1 offset:4660          ; encoding: [0x34,0x12,0x08,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x08,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_rsub_u32 v0, v1 offset:65535         ; encoding: [0xff,0xff,0x08,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x08,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_rsub_u32 v0, v254                    ; encoding: [0x00,0x00,0x08,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x08,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_rsub_u32 v0, v254 offset:4660        ; encoding: [0x34,0x12,0x08,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x08,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_rsub_u32 v0, v254 offset:65535       ; encoding: [0xff,0xff,0x08,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x08,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_rsub_u32 v255, v1                    ; encoding: [0x00,0x00,0x08,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x08,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_rsub_u32 v255, v1 offset:4660        ; encoding: [0x34,0x12,0x08,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x08,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_rsub_u32 v255, v1 offset:65535       ; encoding: [0xff,0xff,0x08,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x08,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_rsub_u32 v255, v254                  ; encoding: [0x00,0x00,0x08,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x08,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_rsub_u32 v255, v254 offset:4660      ; encoding: [0x34,0x12,0x08,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x08,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_rsub_u32 v255, v254 offset:65535     ; encoding: [0xff,0xff,0x08,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x08,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_rsub_u64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x08,0xd9,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x08,0xd9,0x01,0xfe,0x00,0x00
+
+# GFX12: ds_rsub_u64 v1, v[2:3]                  ; encoding: [0x00,0x00,0x08,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0x08,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_rsub_u64 v1, v[2:3] offset:4         ; encoding: [0x04,0x00,0x08,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0x08,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_rsub_u64 v1, v[2:3] offset:65535     ; encoding: [0xff,0xff,0x08,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0x08,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_rsub_u64 v255, v[2:3] offset:65535   ; encoding: [0xff,0xff,0x08,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0x08,0xd9,0xff,0x02,0x00,0x00
+
+# GFX12: ds_sub_clamp_rtn_u32 v0, v1, v2         ; encoding: [0x00,0x00,0xa4,0xda,0x01,0x02,0x00,0x00]
+0x00,0x00,0xa4,0xda,0x01,0x02,0x00,0x00
+
+# GFX12: ds_sub_clamp_rtn_u32 v0, v1, v2 offset:4660 ; encoding: [0x34,0x12,0xa4,0xda,0x01,0x02,0x00,0x00]
+0x34,0x12,0xa4,0xda,0x01,0x02,0x00,0x00
+
+# GFX12: ds_sub_clamp_rtn_u32 v0, v1, v2 offset:65535 ; encoding: [0xff,0xff,0xa4,0xda,0x01,0x02,0x00,0x00]
+0xff,0xff,0xa4,0xda,0x01,0x02,0x00,0x00
+
+# GFX12: ds_sub_clamp_rtn_u32 v0, v254, v253     ; encoding: [0x00,0x00,0xa4,0xda,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0xa4,0xda,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_sub_clamp_rtn_u32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xa4,0xda,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0xa4,0xda,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_sub_clamp_rtn_u32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xa4,0xda,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0xa4,0xda,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_sub_clamp_rtn_u32 v255, v1, v253     ; encoding: [0x00,0x00,0xa4,0xda,0x01,0xfd,0x00,0xff]
+0x00,0x00,0xa4,0xda,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_sub_clamp_rtn_u32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0xa4,0xda,0x01,0xfd,0x00,0xff]
+0x34,0x12,0xa4,0xda,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_sub_clamp_rtn_u32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0xa4,0xda,0x01,0xfd,0x00,0xff]
+0xff,0xff,0xa4,0xda,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_sub_clamp_rtn_u32 v255, v254, v2     ; encoding: [0x00,0x00,0xa4,0xda,0xfe,0x02,0x00,0xff]
+0x00,0x00,0xa4,0xda,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_sub_clamp_rtn_u32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0xa4,0xda,0xfe,0x02,0x00,0xff]
+0x34,0x12,0xa4,0xda,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_sub_clamp_rtn_u32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0xa4,0xda,0xfe,0x02,0x00,0xff]
+0xff,0xff,0xa4,0xda,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_sub_clamp_rtn_u32 v255, v254, v253   ; encoding: [0x00,0x00,0xa4,0xda,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0xa4,0xda,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_sub_clamp_rtn_u32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xa4,0xda,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0xa4,0xda,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_sub_clamp_rtn_u32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xa4,0xda,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0xa4,0xda,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_sub_clamp_u32 v0, v1                 ; encoding: [0x00,0x00,0x64,0xda,0x00,0x01,0x00,0x00]
+0x00,0x00,0x64,0xda,0x00,0x01,0x00,0x00
+
+# GFX12: ds_sub_clamp_u32 v0, v1 offset:4660     ; encoding: [0x34,0x12,0x64,0xda,0x00,0x01,0x00,0x00]
+0x34,0x12,0x64,0xda,0x00,0x01,0x00,0x00
+
+# GFX12: ds_sub_clamp_u32 v0, v1 offset:65535    ; encoding: [0xff,0xff,0x64,0xda,0x00,0x01,0x00,0x00]
+0xff,0xff,0x64,0xda,0x00,0x01,0x00,0x00
+
+# GFX12: ds_sub_clamp_u32 v0, v254               ; encoding: [0x00,0x00,0x64,0xda,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x64,0xda,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_sub_clamp_u32 v0, v254 offset:4660   ; encoding: [0x34,0x12,0x64,0xda,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x64,0xda,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_sub_clamp_u32 v0, v254 offset:65535  ; encoding: [0xff,0xff,0x64,0xda,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x64,0xda,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_sub_clamp_u32 v255, v1               ; encoding: [0x00,0x00,0x64,0xda,0xff,0x01,0x00,0x00]
+0x00,0x00,0x64,0xda,0xff,0x01,0x00,0x00
+
+# GFX12: ds_sub_clamp_u32 v255, v1 offset:4660   ; encoding: [0x34,0x12,0x64,0xda,0xff,0x01,0x00,0x00]
+0x34,0x12,0x64,0xda,0xff,0x01,0x00,0x00
+
+# GFX12: ds_sub_clamp_u32 v255, v1 offset:65535  ; encoding: [0xff,0xff,0x64,0xda,0xff,0x01,0x00,0x00]
+0xff,0xff,0x64,0xda,0xff,0x01,0x00,0x00
+
+# GFX12: ds_sub_clamp_u32 v255, v254             ; encoding: [0x00,0x00,0x64,0xda,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x64,0xda,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_sub_clamp_u32 v255, v254 offset:4660 ; encoding: [0x34,0x12,0x64,0xda,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x64,0xda,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_sub_clamp_u32 v255, v254 offset:65535 ; encoding: [0xff,0xff,0x64,0xda,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x64,0xda,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_sub_rtn_u32 v0, v1, v2               ; encoding: [0x00,0x00,0x84,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x84,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_sub_rtn_u32 v0, v1, v2 offset:4660   ; encoding: [0x34,0x12,0x84,0xd8,0x01,0x02,0x00,0x00]
+0x34,0x12,0x84,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_sub_rtn_u32 v0, v1, v2 offset:65535  ; encoding: [0xff,0xff,0x84,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x84,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_sub_rtn_u32 v0, v254, v253           ; encoding: [0x00,0x00,0x84,0xd8,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0x84,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_sub_rtn_u32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x84,0xd8,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0x84,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_sub_rtn_u32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x84,0xd8,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0x84,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_sub_rtn_u32 v255, v1, v253           ; encoding: [0x00,0x00,0x84,0xd8,0x01,0xfd,0x00,0xff]
+0x00,0x00,0x84,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_sub_rtn_u32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0x84,0xd8,0x01,0xfd,0x00,0xff]
+0x34,0x12,0x84,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_sub_rtn_u32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0x84,0xd8,0x01,0xfd,0x00,0xff]
+0xff,0xff,0x84,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_sub_rtn_u32 v255, v254, v2           ; encoding: [0x00,0x00,0x84,0xd8,0xfe,0x02,0x00,0xff]
+0x00,0x00,0x84,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_sub_rtn_u32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0x84,0xd8,0xfe,0x02,0x00,0xff]
+0x34,0x12,0x84,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_sub_rtn_u32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0x84,0xd8,0xfe,0x02,0x00,0xff]
+0xff,0xff,0x84,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_sub_rtn_u32 v255, v254, v253         ; encoding: [0x00,0x00,0x84,0xd8,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0x84,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_sub_rtn_u32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0x84,0xd8,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0x84,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_sub_rtn_u32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0x84,0xd8,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0x84,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_sub_rtn_u64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x84,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0x84,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_sub_rtn_u64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x84,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0x84,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_sub_rtn_u64 v[5:6], v1, v[2:3]       ; encoding: [0x00,0x00,0x84,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0x84,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_sub_rtn_u64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x84,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0x84,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_sub_rtn_u64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x84,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0x84,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_sub_rtn_u64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x84,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0x84,0xd9,0xff,0x02,0x00,0x05
+
+# GFX12: ds_sub_u32 v0, v1                       ; encoding: [0x00,0x00,0x04,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x04,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_sub_u32 v0, v1 offset:4660           ; encoding: [0x34,0x12,0x04,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x04,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_sub_u32 v0, v1 offset:65535          ; encoding: [0xff,0xff,0x04,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x04,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_sub_u32 v0, v254                     ; encoding: [0x00,0x00,0x04,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x04,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_sub_u32 v0, v254 offset:4660         ; encoding: [0x34,0x12,0x04,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x04,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_sub_u32 v0, v254 offset:65535        ; encoding: [0xff,0xff,0x04,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x04,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_sub_u32 v255, v1                     ; encoding: [0x00,0x00,0x04,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x04,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_sub_u32 v255, v1 offset:4660         ; encoding: [0x34,0x12,0x04,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x04,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_sub_u32 v255, v1 offset:65535        ; encoding: [0xff,0xff,0x04,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x04,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_sub_u32 v255, v254                   ; encoding: [0x00,0x00,0x04,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x04,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_sub_u32 v255, v254 offset:4660       ; encoding: [0x34,0x12,0x04,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x04,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_sub_u32 v255, v254 offset:65535      ; encoding: [0xff,0xff,0x04,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x04,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_sub_u64 v1, v[254:255] offset:65535  ; encoding: [0xff,0xff,0x04,0xd9,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x04,0xd9,0x01,0xfe,0x00,0x00
+
+# GFX12: ds_sub_u64 v1, v[2:3]                   ; encoding: [0x00,0x00,0x04,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0x04,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_sub_u64 v1, v[2:3] offset:4          ; encoding: [0x04,0x00,0x04,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0x04,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_sub_u64 v1, v[2:3] offset:65535      ; encoding: [0xff,0xff,0x04,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0x04,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_sub_u64 v255, v[2:3] offset:65535    ; encoding: [0xff,0xff,0x04,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0x04,0xd9,0xff,0x02,0x00,0x00
+
+# GFX12: ds_swizzle_b32 v255, v1 offset:65535    ; encoding: [0xff,0xff,0xd4,0xd8,0x01,0x00,0x00,0xff]
+0xff,0xff,0xd4,0xd8,0x01,0x00,0x00,0xff
+
+# GFX12: ds_swizzle_b32 v5, v1                   ; encoding: [0x00,0x00,0xd4,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0xd4,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_swizzle_b32 v5, v1 offset:65535      ; encoding: [0xff,0xff,0xd4,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0xd4,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_swizzle_b32 v5, v1 offset:swizzle(BITMASK_PERM,"00p00") ; encoding: [0x04,0x00,0xd4,0xd8,0x01,0x00,0x00,0x05]
+0x04,0x00,0xd4,0xd8,0x01,0x00,0x00,0x05
+
+# GFX12: ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM,0,1,2,3) ; encoding: [0xe4,0x80,0xd4,0xd8,0x02,0x00,0x00,0x08]
+0xe4,0x80,0xd4,0xd8,0x02,0x00,0x00,0x08
+
+# GFX12: ds_swizzle_b32 v8, v2 offset:swizzle(SWAP,4) ; encoding: [0x1f,0x10,0xd4,0xd8,0x02,0x00,0x00,0x08]
+0x1f,0x10,0xd4,0xd8,0x02,0x00,0x00,0x08
+
+# GFX12: ds_swizzle_b32 v8, v2 offset:swizzle(REVERSE,16) ; encoding: [0x1f,0x3c,0xd4,0xd8,0x02,0x00,0x00,0x08]
+0x1f,0x3c,0xd4,0xd8,0x02,0x00,0x00,0x08
+
+# GFX12: ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,32,1) ; encoding: [0x20,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
+0x20,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08
+
+# GFX12: ds_swizzle_b32 v5, v255 offset:65535    ; encoding: [0xff,0xff,0xd4,0xd8,0xff,0x00,0x00,0x05]
+0xff,0xff,0xd4,0xd8,0xff,0x00,0x00,0x05
+
+# GFX12: ds_store_2addr_b32 v0, v1, v2           ; encoding: [0x00,0x00,0x38,0xd8,0x00,0x01,0x02,0x00]
+0x00,0x00,0x38,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v0, v1, v2 offset0:123 ; encoding: [0x7b,0x00,0x38,0xd8,0x00,0x01,0x02,0x00]
+0x7b,0x00,0x38,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v0, v1, v2 offset0:123 offset1:64 ; encoding: [0x7b,0x40,0x38,0xd8,0x00,0x01,0x02,0x00]
+0x7b,0x40,0x38,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v0, v1, v2 offset0:255 offset1:255 ; encoding: [0xff,0xff,0x38,0xd8,0x00,0x01,0x02,0x00]
+0xff,0xff,0x38,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v0, v1, v2 offset0:255 offset1:64 ; encoding: [0xff,0x40,0x38,0xd8,0x00,0x01,0x02,0x00]
+0xff,0x40,0x38,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v0, v1, v2 offset0:64 offset1:123 ; encoding: [0x40,0x7b,0x38,0xd8,0x00,0x01,0x02,0x00]
+0x40,0x7b,0x38,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v0, v1, v2 offset0:64 offset1:255 ; encoding: [0x40,0xff,0x38,0xd8,0x00,0x01,0x02,0x00]
+0x40,0xff,0x38,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v0, v1, v2 offset1:123 ; encoding: [0x00,0x7b,0x38,0xd8,0x00,0x01,0x02,0x00]
+0x00,0x7b,0x38,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v0, v254, v253       ; encoding: [0x00,0x00,0x38,0xd8,0x00,0xfe,0xfd,0x00]
+0x00,0x00,0x38,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v0, v254, v253 offset0:123 ; encoding: [0x7b,0x00,0x38,0xd8,0x00,0xfe,0xfd,0x00]
+0x7b,0x00,0x38,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v0, v254, v253 offset0:123 offset1:64 ; encoding: [0x7b,0x40,0x38,0xd8,0x00,0xfe,0xfd,0x00]
+0x7b,0x40,0x38,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v0, v254, v253 offset0:255 offset1:255 ; encoding: [0xff,0xff,0x38,0xd8,0x00,0xfe,0xfd,0x00]
+0xff,0xff,0x38,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v0, v254, v253 offset0:255 offset1:64 ; encoding: [0xff,0x40,0x38,0xd8,0x00,0xfe,0xfd,0x00]
+0xff,0x40,0x38,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v0, v254, v253 offset0:64 offset1:123 ; encoding: [0x40,0x7b,0x38,0xd8,0x00,0xfe,0xfd,0x00]
+0x40,0x7b,0x38,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v0, v254, v253 offset0:64 offset1:255 ; encoding: [0x40,0xff,0x38,0xd8,0x00,0xfe,0xfd,0x00]
+0x40,0xff,0x38,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v0, v254, v253 offset1:123 ; encoding: [0x00,0x7b,0x38,0xd8,0x00,0xfe,0xfd,0x00]
+0x00,0x7b,0x38,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v1, v253       ; encoding: [0x00,0x00,0x38,0xd8,0xff,0x01,0xfd,0x00]
+0x00,0x00,0x38,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v1, v253 offset0:123 ; encoding: [0x7b,0x00,0x38,0xd8,0xff,0x01,0xfd,0x00]
+0x7b,0x00,0x38,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v1, v253 offset0:123 offset1:64 ; encoding: [0x7b,0x40,0x38,0xd8,0xff,0x01,0xfd,0x00]
+0x7b,0x40,0x38,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v1, v253 offset0:255 offset1:255 ; encoding: [0xff,0xff,0x38,0xd8,0xff,0x01,0xfd,0x00]
+0xff,0xff,0x38,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v1, v253 offset0:255 offset1:64 ; encoding: [0xff,0x40,0x38,0xd8,0xff,0x01,0xfd,0x00]
+0xff,0x40,0x38,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v1, v253 offset0:64 offset1:123 ; encoding: [0x40,0x7b,0x38,0xd8,0xff,0x01,0xfd,0x00]
+0x40,0x7b,0x38,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v1, v253 offset0:64 offset1:255 ; encoding: [0x40,0xff,0x38,0xd8,0xff,0x01,0xfd,0x00]
+0x40,0xff,0x38,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v1, v253 offset1:123 ; encoding: [0x00,0x7b,0x38,0xd8,0xff,0x01,0xfd,0x00]
+0x00,0x7b,0x38,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v2       ; encoding: [0x00,0x00,0x38,0xd8,0xff,0xfe,0x02,0x00]
+0x00,0x00,0x38,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v2 offset0:123 ; encoding: [0x7b,0x00,0x38,0xd8,0xff,0xfe,0x02,0x00]
+0x7b,0x00,0x38,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v2 offset0:123 offset1:64 ; encoding: [0x7b,0x40,0x38,0xd8,0xff,0xfe,0x02,0x00]
+0x7b,0x40,0x38,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v2 offset0:255 offset1:255 ; encoding: [0xff,0xff,0x38,0xd8,0xff,0xfe,0x02,0x00]
+0xff,0xff,0x38,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v2 offset0:255 offset1:64 ; encoding: [0xff,0x40,0x38,0xd8,0xff,0xfe,0x02,0x00]
+0xff,0x40,0x38,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v2 offset0:64 offset1:123 ; encoding: [0x40,0x7b,0x38,0xd8,0xff,0xfe,0x02,0x00]
+0x40,0x7b,0x38,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v2 offset0:64 offset1:255 ; encoding: [0x40,0xff,0x38,0xd8,0xff,0xfe,0x02,0x00]
+0x40,0xff,0x38,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v2 offset1:123 ; encoding: [0x00,0x7b,0x38,0xd8,0xff,0xfe,0x02,0x00]
+0x00,0x7b,0x38,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v253     ; encoding: [0x00,0x00,0x38,0xd8,0xff,0xfe,0xfd,0x00]
+0x00,0x00,0x38,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v253 offset0:123 ; encoding: [0x7b,0x00,0x38,0xd8,0xff,0xfe,0xfd,0x00]
+0x7b,0x00,0x38,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v253 offset0:123 offset1:64 ; encoding: [0x7b,0x40,0x38,0xd8,0xff,0xfe,0xfd,0x00]
+0x7b,0x40,0x38,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v253 offset0:255 offset1:255 ; encoding: [0xff,0xff,0x38,0xd8,0xff,0xfe,0xfd,0x00]
+0xff,0xff,0x38,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v253 offset0:255 offset1:64 ; encoding: [0xff,0x40,0x38,0xd8,0xff,0xfe,0xfd,0x00]
+0xff,0x40,0x38,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v253 offset0:64 offset1:123 ; encoding: [0x40,0x7b,0x38,0xd8,0xff,0xfe,0xfd,0x00]
+0x40,0x7b,0x38,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v253 offset0:64 offset1:255 ; encoding: [0x40,0xff,0x38,0xd8,0xff,0xfe,0xfd,0x00]
+0x40,0xff,0x38,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b32 v255, v254, v253 offset1:123 ; encoding: [0x00,0x7b,0x38,0xd8,0xff,0xfe,0xfd,0x00]
+0x00,0x7b,0x38,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_b64 v1, v[254:255], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x38,0xd9,0x01,0xfe,0x03,0x00]
+0x7f,0xff,0x38,0xd9,0x01,0xfe,0x03,0x00
+
+# GFX12: ds_store_2addr_b64 v1, v[2:3], v[254:255] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x38,0xd9,0x01,0x02,0xfe,0x00]
+0x7f,0xff,0x38,0xd9,0x01,0x02,0xfe,0x00
+
+# GFX12: ds_store_2addr_b64 v1, v[2:3], v[3:4] offset0:127 ; encoding: [0x7f,0x00,0x38,0xd9,0x01,0x02,0x03,0x00]
+0x7f,0x00,0x38,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_store_2addr_b64 v1, v[2:3], v[3:4] offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x38,0xd9,0x01,0x02,0x03,0x00]
+0x7f,0x01,0x38,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_store_2addr_b64 v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x38,0xd9,0x01,0x02,0x03,0x00]
+0x7f,0xff,0x38,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_store_2addr_b64 v1, v[2:3], v[3:4] offset0:16 offset1:255 ; encoding: [0x10,0xff,0x38,0xd9,0x01,0x02,0x03,0x00]
+0x10,0xff,0x38,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_store_2addr_b64 v1, v[2:3], v[3:4] offset1:255 ; encoding: [0x00,0xff,0x38,0xd9,0x01,0x02,0x03,0x00]
+0x00,0xff,0x38,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_store_2addr_b64 v255, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x38,0xd9,0xff,0x02,0x03,0x00]
+0x7f,0xff,0x38,0xd9,0xff,0x02,0x03,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v1, v2  ; encoding: [0x00,0x00,0x3c,0xd8,0x00,0x01,0x02,0x00]
+0x00,0x00,0x3c,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v1, v2 offset0:123 ; encoding: [0x7b,0x00,0x3c,0xd8,0x00,0x01,0x02,0x00]
+0x7b,0x00,0x3c,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v1, v2 offset0:123 offset1:64 ; encoding: [0x7b,0x40,0x3c,0xd8,0x00,0x01,0x02,0x00]
+0x7b,0x40,0x3c,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v1, v2 offset0:255 offset1:255 ; encoding: [0xff,0xff,0x3c,0xd8,0x00,0x01,0x02,0x00]
+0xff,0xff,0x3c,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v1, v2 offset0:255 offset1:64 ; encoding: [0xff,0x40,0x3c,0xd8,0x00,0x01,0x02,0x00]
+0xff,0x40,0x3c,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v1, v2 offset0:64 offset1:123 ; encoding: [0x40,0x7b,0x3c,0xd8,0x00,0x01,0x02,0x00]
+0x40,0x7b,0x3c,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v1, v2 offset0:64 offset1:255 ; encoding: [0x40,0xff,0x3c,0xd8,0x00,0x01,0x02,0x00]
+0x40,0xff,0x3c,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v1, v2 offset1:123 ; encoding: [0x00,0x7b,0x3c,0xd8,0x00,0x01,0x02,0x00]
+0x00,0x7b,0x3c,0xd8,0x00,0x01,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v254, v253 ; encoding: [0x00,0x00,0x3c,0xd8,0x00,0xfe,0xfd,0x00]
+0x00,0x00,0x3c,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v254, v253 offset0:123 ; encoding: [0x7b,0x00,0x3c,0xd8,0x00,0xfe,0xfd,0x00]
+0x7b,0x00,0x3c,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v254, v253 offset0:123 offset1:64 ; encoding: [0x7b,0x40,0x3c,0xd8,0x00,0xfe,0xfd,0x00]
+0x7b,0x40,0x3c,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v254, v253 offset0:255 offset1:255 ; encoding: [0xff,0xff,0x3c,0xd8,0x00,0xfe,0xfd,0x00]
+0xff,0xff,0x3c,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v254, v253 offset0:255 offset1:64 ; encoding: [0xff,0x40,0x3c,0xd8,0x00,0xfe,0xfd,0x00]
+0xff,0x40,0x3c,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v254, v253 offset0:64 offset1:123 ; encoding: [0x40,0x7b,0x3c,0xd8,0x00,0xfe,0xfd,0x00]
+0x40,0x7b,0x3c,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v254, v253 offset0:64 offset1:255 ; encoding: [0x40,0xff,0x3c,0xd8,0x00,0xfe,0xfd,0x00]
+0x40,0xff,0x3c,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v0, v254, v253 offset1:123 ; encoding: [0x00,0x7b,0x3c,0xd8,0x00,0xfe,0xfd,0x00]
+0x00,0x7b,0x3c,0xd8,0x00,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v1, v253 ; encoding: [0x00,0x00,0x3c,0xd8,0xff,0x01,0xfd,0x00]
+0x00,0x00,0x3c,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v1, v253 offset0:123 ; encoding: [0x7b,0x00,0x3c,0xd8,0xff,0x01,0xfd,0x00]
+0x7b,0x00,0x3c,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v1, v253 offset0:123 offset1:64 ; encoding: [0x7b,0x40,0x3c,0xd8,0xff,0x01,0xfd,0x00]
+0x7b,0x40,0x3c,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v1, v253 offset0:255 offset1:255 ; encoding: [0xff,0xff,0x3c,0xd8,0xff,0x01,0xfd,0x00]
+0xff,0xff,0x3c,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v1, v253 offset0:255 offset1:64 ; encoding: [0xff,0x40,0x3c,0xd8,0xff,0x01,0xfd,0x00]
+0xff,0x40,0x3c,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v1, v253 offset0:64 offset1:123 ; encoding: [0x40,0x7b,0x3c,0xd8,0xff,0x01,0xfd,0x00]
+0x40,0x7b,0x3c,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v1, v253 offset0:64 offset1:255 ; encoding: [0x40,0xff,0x3c,0xd8,0xff,0x01,0xfd,0x00]
+0x40,0xff,0x3c,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v1, v253 offset1:123 ; encoding: [0x00,0x7b,0x3c,0xd8,0xff,0x01,0xfd,0x00]
+0x00,0x7b,0x3c,0xd8,0xff,0x01,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v2 ; encoding: [0x00,0x00,0x3c,0xd8,0xff,0xfe,0x02,0x00]
+0x00,0x00,0x3c,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v2 offset0:123 ; encoding: [0x7b,0x00,0x3c,0xd8,0xff,0xfe,0x02,0x00]
+0x7b,0x00,0x3c,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v2 offset0:123 offset1:64 ; encoding: [0x7b,0x40,0x3c,0xd8,0xff,0xfe,0x02,0x00]
+0x7b,0x40,0x3c,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v2 offset0:255 offset1:255 ; encoding: [0xff,0xff,0x3c,0xd8,0xff,0xfe,0x02,0x00]
+0xff,0xff,0x3c,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v2 offset0:255 offset1:64 ; encoding: [0xff,0x40,0x3c,0xd8,0xff,0xfe,0x02,0x00]
+0xff,0x40,0x3c,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v2 offset0:64 offset1:123 ; encoding: [0x40,0x7b,0x3c,0xd8,0xff,0xfe,0x02,0x00]
+0x40,0x7b,0x3c,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v2 offset0:64 offset1:255 ; encoding: [0x40,0xff,0x3c,0xd8,0xff,0xfe,0x02,0x00]
+0x40,0xff,0x3c,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v2 offset1:123 ; encoding: [0x00,0x7b,0x3c,0xd8,0xff,0xfe,0x02,0x00]
+0x00,0x7b,0x3c,0xd8,0xff,0xfe,0x02,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v253 ; encoding: [0x00,0x00,0x3c,0xd8,0xff,0xfe,0xfd,0x00]
+0x00,0x00,0x3c,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v253 offset0:123 ; encoding: [0x7b,0x00,0x3c,0xd8,0xff,0xfe,0xfd,0x00]
+0x7b,0x00,0x3c,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v253 offset0:123 offset1:64 ; encoding: [0x7b,0x40,0x3c,0xd8,0xff,0xfe,0xfd,0x00]
+0x7b,0x40,0x3c,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v253 offset0:255 offset1:255 ; encoding: [0xff,0xff,0x3c,0xd8,0xff,0xfe,0xfd,0x00]
+0xff,0xff,0x3c,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v253 offset0:255 offset1:64 ; encoding: [0xff,0x40,0x3c,0xd8,0xff,0xfe,0xfd,0x00]
+0xff,0x40,0x3c,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v253 offset0:64 offset1:123 ; encoding: [0x40,0x7b,0x3c,0xd8,0xff,0xfe,0xfd,0x00]
+0x40,0x7b,0x3c,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v253 offset0:64 offset1:255 ; encoding: [0x40,0xff,0x3c,0xd8,0xff,0xfe,0xfd,0x00]
+0x40,0xff,0x3c,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b32 v255, v254, v253 offset1:123 ; encoding: [0x00,0x7b,0x3c,0xd8,0xff,0xfe,0xfd,0x00]
+0x00,0x7b,0x3c,0xd8,0xff,0xfe,0xfd,0x00
+
+# GFX12: ds_store_2addr_stride64_b64 v1, v[254:255], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x3c,0xd9,0x01,0xfe,0x03,0x00]
+0x7f,0xff,0x3c,0xd9,0x01,0xfe,0x03,0x00
+
+# GFX12: ds_store_2addr_stride64_b64 v1, v[2:3], v[254:255] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x3c,0xd9,0x01,0x02,0xfe,0x00]
+0x7f,0xff,0x3c,0xd9,0x01,0x02,0xfe,0x00
+
+# GFX12: ds_store_2addr_stride64_b64 v1, v[2:3], v[3:4] offset0:127 ; encoding: [0x7f,0x00,0x3c,0xd9,0x01,0x02,0x03,0x00]
+0x7f,0x00,0x3c,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_store_2addr_stride64_b64 v1, v[2:3], v[3:4] offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x3c,0xd9,0x01,0x02,0x03,0x00]
+0x7f,0x01,0x3c,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_store_2addr_stride64_b64 v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x3c,0xd9,0x01,0x02,0x03,0x00]
+0x7f,0xff,0x3c,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_store_2addr_stride64_b64 v1, v[2:3], v[3:4] offset0:16 offset1:255 ; encoding: [0x10,0xff,0x3c,0xd9,0x01,0x02,0x03,0x00]
+0x10,0xff,0x3c,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_store_2addr_stride64_b64 v1, v[2:3], v[3:4] offset1:255 ; encoding: [0x00,0xff,0x3c,0xd9,0x01,0x02,0x03,0x00]
+0x00,0xff,0x3c,0xd9,0x01,0x02,0x03,0x00
+
+# GFX12: ds_store_2addr_stride64_b64 v255, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x3c,0xd9,0xff,0x02,0x03,0x00]
+0x7f,0xff,0x3c,0xd9,0xff,0x02,0x03,0x00
+
+# GFX12: ds_store_addtid_b32 v255 offset:65535   ; encoding: [0xff,0xff,0xc0,0xda,0x00,0xff,0x00,0x00]
+0xff 0xff 0xc0 0xda 0x00 0xff 0x00 0x00
+
+# GFX12: ds_store_addtid_b32 v5                  ; encoding: [0x00,0x00,0xc0,0xda,0x00,0x05,0x00,0x00]
+0x00 0x00 0xc0 0xda 0x00 0x05 0x00 0x00
+
+# GFX12: ds_store_addtid_b32 v5 offset:4         ; encoding: [0x04,0x00,0xc0,0xda,0x00,0x05,0x00,0x00]
+0x04 0x00 0xc0 0xda 0x00 0x05 0x00 0x00
+
+# GFX12: ds_store_addtid_b32 v5 offset:65535     ; encoding: [0xff,0xff,0xc0,0xda,0x00,0x05,0x00,0x00]
+0xff 0xff 0xc0 0xda 0x00 0x05 0x00 0x00
+
+# GFX12: ds_store_b128 v1, v[252:255] offset:65535 ; encoding: [0xff,0xff,0x7c,0xdb,0x01,0xfc,0x00,0x00]
+0xff,0xff,0x7c,0xdb,0x01,0xfc,0x00,0x00
+
+# GFX12: ds_store_b128 v1, v[2:5]                ; encoding: [0x00,0x00,0x7c,0xdb,0x01,0x02,0x00,0x00]
+0x00,0x00,0x7c,0xdb,0x01,0x02,0x00,0x00
+
+# GFX12: ds_store_b128 v1, v[2:5] offset:4       ; encoding: [0x04,0x00,0x7c,0xdb,0x01,0x02,0x00,0x00]
+0x04,0x00,0x7c,0xdb,0x01,0x02,0x00,0x00
+
+# GFX12: ds_store_b128 v1, v[2:5] offset:65535   ; encoding: [0xff,0xff,0x7c,0xdb,0x01,0x02,0x00,0x00]
+0xff,0xff,0x7c,0xdb,0x01,0x02,0x00,0x00
+
+# 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]
+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]
+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]
+0xff,0xff,0x7c,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_store_b16 v0, v254                   ; 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]
+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]
+0xff,0xff,0x7c,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_store_b16 v255, v1                   ; 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]
+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]
+0xff,0xff,0x7c,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_store_b16 v255, v254                 ; 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]
+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]
+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]
+0x00,0x00,0x84,0xda,0x01,0x02,0x00,0x00
+
+# GFX12: ds_store_b16_d16_hi v1, v2 offset:4     ; encoding: [0x04,0x00,0x84,0xda,0x01,0x02,0x00,0x00]
+0x04,0x00,0x84,0xda,0x01,0x02,0x00,0x00
+
+# GFX12: ds_store_b16_d16_hi v1, v2 offset:65535 ; encoding: [0xff,0xff,0x84,0xda,0x01,0x02,0x00,0x00]
+0xff,0xff,0x84,0xda,0x01,0x02,0x00,0x00
+
+# GFX12: ds_store_b16_d16_hi v1, v255 offset:65535 ; encoding: [0xff,0xff,0x84,0xda,0x01,0xff,0x00,0x00]
+0xff,0xff,0x84,0xda,0x01,0xff,0x00,0x00
+
+# GFX12: ds_store_b16_d16_hi v255, v2 offset:65535 ; encoding: [0xff,0xff,0x84,0xda,0xff,0x02,0x00,0x00]
+0xff,0xff,0x84,0xda,0xff,0x02,0x00,0x00
+
+# GFX12: ds_store_b32 v0, v1                     ; encoding: [0x00,0x00,0x34,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x34,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_store_b32 v0, v1 offset:4660         ; encoding: [0x34,0x12,0x34,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x34,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_store_b32 v0, v1 offset:65535        ; encoding: [0xff,0xff,0x34,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x34,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_store_b32 v0, v254                   ; encoding: [0x00,0x00,0x34,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x34,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_store_b32 v0, v254 offset:4660       ; encoding: [0x34,0x12,0x34,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x34,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_store_b32 v0, v254 offset:65535      ; encoding: [0xff,0xff,0x34,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x34,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_store_b32 v255, v1                   ; encoding: [0x00,0x00,0x34,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x34,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_store_b32 v255, v1 offset:4660       ; encoding: [0x34,0x12,0x34,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x34,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_store_b32 v255, v1 offset:65535      ; encoding: [0xff,0xff,0x34,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x34,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_store_b32 v255, v254                 ; encoding: [0x00,0x00,0x34,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x34,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_store_b32 v255, v254 offset:4660     ; encoding: [0x34,0x12,0x34,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x34,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_store_b32 v255, v254 offset:65535    ; encoding: [0xff,0xff,0x34,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x34,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_store_b64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x34,0xd9,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x34,0xd9,0x01,0xfe,0x00,0x00
+
+# GFX12: ds_store_b64 v1, v[2:3]                 ; encoding: [0x00,0x00,0x34,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0x34,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_store_b64 v1, v[2:3] offset:4        ; encoding: [0x04,0x00,0x34,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0x34,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_store_b64 v1, v[2:3] offset:65535    ; encoding: [0xff,0xff,0x34,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0x34,0xd9,0x01,0x02,0x00,0x00
+
+# 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]
+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]
+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]
+0xff,0xff,0x78,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_store_b8 v0, v254                    ; 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]
+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]
+0xff,0xff,0x78,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_store_b8 v255, v1                    ; 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]
+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]
+0xff,0xff,0x78,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_store_b8 v255, v254                  ; 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]
+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]
+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]
+0x00,0x00,0x80,0xda,0x01,0x02,0x00,0x00
+
+# GFX12: ds_store_b8_d16_hi v1, v2 offset:4      ; encoding: [0x04,0x00,0x80,0xda,0x01,0x02,0x00,0x00]
+0x04,0x00,0x80,0xda,0x01,0x02,0x00,0x00
+
+# GFX12: ds_store_b8_d16_hi v1, v2 offset:65535  ; encoding: [0xff,0xff,0x80,0xda,0x01,0x02,0x00,0x00]
+0xff,0xff,0x80,0xda,0x01,0x02,0x00,0x00
+
+# GFX12: ds_store_b8_d16_hi v1, v255 offset:65535 ; encoding: [0xff,0xff,0x80,0xda,0x01,0xff,0x00,0x00]
+0xff,0xff,0x80,0xda,0x01,0xff,0x00,0x00
+
+# GFX12: ds_store_b8_d16_hi v255, v2 offset:65535 ; encoding: [0xff,0xff,0x80,0xda,0xff,0x02,0x00,0x00]
+0xff,0xff,0x80,0xda,0xff,0x02,0x00,0x00
+
+# GFX12: ds_store_b96 v1, v[253:255] offset:65535 ; encoding: [0xff,0xff,0x78,0xdb,0x01,0xfd,0x00,0x00]
+0xff,0xff,0x78,0xdb,0x01,0xfd,0x00,0x00
+
+# GFX12: ds_store_b96 v1, v[2:4]                 ; encoding: [0x00,0x00,0x78,0xdb,0x01,0x02,0x00,0x00]
+0x00,0x00,0x78,0xdb,0x01,0x02,0x00,0x00
+
+# GFX12: ds_store_b96 v1, v[2:4] offset:4        ; encoding: [0x04,0x00,0x78,0xdb,0x01,0x02,0x00,0x00]
+0x04,0x00,0x78,0xdb,0x01,0x02,0x00,0x00
+
+# GFX12: ds_store_b96 v1, v[2:4] offset:65535    ; encoding: [0xff,0xff,0x78,0xdb,0x01,0x02,0x00,0x00]
+0xff,0xff,0x78,0xdb,0x01,0x02,0x00,0x00
+
+# GFX12: ds_store_b96 v255, v[2:4] offset:65535  ; encoding: [0xff,0xff,0x78,0xdb,0xff,0x02,0x00,0x00]
+0xff,0xff,0x78,0xdb,0xff,0x02,0x00,0x00
+
+# GFX12: ds_storexchg_2addr_rtn_b32 v[254:255], v1, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xb8,0xd8,0x01,0x02,0x03,0xfe]
+0x7f,0xff,0xb8,0xd8,0x01,0x02,0x03,0xfe
+
+# GFX12: ds_storexchg_2addr_rtn_b32 v[5:6], v1, v2, v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xb8,0xd8,0x01,0x02,0xff,0x05]
+0x7f,0xff,0xb8,0xd8,0x01,0x02,0xff,0x05
+
+# GFX12: ds_storexchg_2addr_rtn_b32 v[5:6], v1, v2, v3 offset0:127 ; encoding: [0x7f,0x00,0xb8,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x00,0xb8,0xd8,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xb8,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x01,0xb8,0xd8,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xb8,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0xb8,0xd8,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_rtn_b32 v[5:6], v1, v2, v3 offset0:16 offset1:255 ; encoding: [0x10,0xff,0xb8,0xd8,0x01,0x02,0x03,0x05]
+0x10,0xff,0xb8,0xd8,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_rtn_b32 v[5:6], v1, v2, v3 offset1:255 ; encoding: [0x00,0xff,0xb8,0xd8,0x01,0x02,0x03,0x05]
+0x00,0xff,0xb8,0xd8,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_rtn_b32 v[5:6], v1, v255, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xb8,0xd8,0x01,0xff,0x03,0x05]
+0x7f,0xff,0xb8,0xd8,0x01,0xff,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_rtn_b32 v[5:6], v255, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xb8,0xd8,0xff,0x02,0x03,0x05]
+0x7f,0xff,0xb8,0xd8,0xff,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_rtn_b64 v[252:255], v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xb8,0xd9,0x01,0x02,0x03,0xfc]
+0x7f,0xff,0xb8,0xd9,0x01,0x02,0x03,0xfc
+
+# GFX12: ds_storexchg_2addr_rtn_b64 v[5:8], v1, v[254:255], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xb8,0xd9,0x01,0xfe,0x03,0x05]
+0x7f,0xff,0xb8,0xd9,0x01,0xfe,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_rtn_b64 v[5:8], v1, v[2:3], v[254:255] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xb8,0xd9,0x01,0x02,0xfe,0x05]
+0x7f,0xff,0xb8,0xd9,0x01,0x02,0xfe,0x05
+
+# GFX12: ds_storexchg_2addr_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 ; encoding: [0x7f,0x00,0xb8,0xd9,0x01,0x02,0x03,0x05]
+0x7f,0x00,0xb8,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xb8,0xd9,0x01,0x02,0x03,0x05]
+0x7f,0x01,0xb8,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xb8,0xd9,0x01,0x02,0x03,0x05]
+0x7f,0xff,0xb8,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:16 offset1:255 ; encoding: [0x10,0xff,0xb8,0xd9,0x01,0x02,0x03,0x05]
+0x10,0xff,0xb8,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset1:255 ; encoding: [0x00,0xff,0xb8,0xd9,0x01,0x02,0x03,0x05]
+0x00,0xff,0xb8,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_rtn_b64 v[5:8], v255, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xb8,0xd9,0xff,0x02,0x03,0x05]
+0x7f,0xff,0xb8,0xd9,0xff,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b32 v[254:255], v1, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xbc,0xd8,0x01,0x02,0x03,0xfe]
+0x7f,0xff,0xbc,0xd8,0x01,0x02,0x03,0xfe
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b32 v[5:6], v1, v2, v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xbc,0xd8,0x01,0x02,0xff,0x05]
+0x7f,0xff,0xbc,0xd8,0x01,0x02,0xff,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 ; encoding: [0x7f,0x00,0xbc,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x00,0xbc,0xd8,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xbc,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x01,0xbc,0xd8,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xbc,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0xbc,0xd8,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b32 v[5:6], v1, v2, v3 offset0:16 offset1:255 ; encoding: [0x10,0xff,0xbc,0xd8,0x01,0x02,0x03,0x05]
+0x10,0xff,0xbc,0xd8,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b32 v[5:6], v1, v2, v3 offset1:255 ; encoding: [0x00,0xff,0xbc,0xd8,0x01,0x02,0x03,0x05]
+0x00,0xff,0xbc,0xd8,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b32 v[5:6], v1, v255, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xbc,0xd8,0x01,0xff,0x03,0x05]
+0x7f,0xff,0xbc,0xd8,0x01,0xff,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b32 v[5:6], v255, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xbc,0xd8,0xff,0x02,0x03,0x05]
+0x7f,0xff,0xbc,0xd8,0xff,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b64 v[252:255], v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xbc,0xd9,0x01,0x02,0x03,0xfc]
+0x7f,0xff,0xbc,0xd9,0x01,0x02,0x03,0xfc
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b64 v[5:8], v1, v[254:255], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xbc,0xd9,0x01,0xfe,0x03,0x05]
+0x7f,0xff,0xbc,0xd9,0x01,0xfe,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b64 v[5:8], v1, v[2:3], v[254:255] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xbc,0xd9,0x01,0x02,0xfe,0x05]
+0x7f,0xff,0xbc,0xd9,0x01,0x02,0xfe,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 ; encoding: [0x7f,0x00,0xbc,0xd9,0x01,0x02,0x03,0x05]
+0x7f,0x00,0xbc,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xbc,0xd9,0x01,0x02,0x03,0x05]
+0x7f,0x01,0xbc,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xbc,0xd9,0x01,0x02,0x03,0x05]
+0x7f,0xff,0xbc,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:16 offset1:255 ; encoding: [0x10,0xff,0xbc,0xd9,0x01,0x02,0x03,0x05]
+0x10,0xff,0xbc,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset1:255 ; encoding: [0x00,0xff,0xbc,0xd9,0x01,0x02,0x03,0x05]
+0x00,0xff,0xbc,0xd9,0x01,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_2addr_stride64_rtn_b64 v[5:8], v255, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xbc,0xd9,0xff,0x02,0x03,0x05]
+0x7f,0xff,0xbc,0xd9,0xff,0x02,0x03,0x05
+
+# GFX12: ds_storexchg_rtn_b32 v0, v1, v2         ; encoding: [0x00,0x00,0xb4,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0xb4,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_storexchg_rtn_b32 v0, v1, v2 offset:4660 ; encoding: [0x34,0x12,0xb4,0xd8,0x01,0x02,0x00,0x00]
+0x34,0x12,0xb4,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_storexchg_rtn_b32 v0, v1, v2 offset:65535 ; encoding: [0xff,0xff,0xb4,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0xb4,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_storexchg_rtn_b32 v0, v254, v253     ; encoding: [0x00,0x00,0xb4,0xd8,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0xb4,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_storexchg_rtn_b32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xb4,0xd8,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0xb4,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_storexchg_rtn_b32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xb4,0xd8,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0xb4,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_storexchg_rtn_b32 v255, v1, v253     ; encoding: [0x00,0x00,0xb4,0xd8,0x01,0xfd,0x00,0xff]
+0x00,0x00,0xb4,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_storexchg_rtn_b32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0xb4,0xd8,0x01,0xfd,0x00,0xff]
+0x34,0x12,0xb4,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_storexchg_rtn_b32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0xb4,0xd8,0x01,0xfd,0x00,0xff]
+0xff,0xff,0xb4,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_storexchg_rtn_b32 v255, v254, v2     ; encoding: [0x00,0x00,0xb4,0xd8,0xfe,0x02,0x00,0xff]
+0x00,0x00,0xb4,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_storexchg_rtn_b32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0xb4,0xd8,0xfe,0x02,0x00,0xff]
+0x34,0x12,0xb4,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_storexchg_rtn_b32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0xb4,0xd8,0xfe,0x02,0x00,0xff]
+0xff,0xff,0xb4,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_storexchg_rtn_b32 v255, v254, v253   ; encoding: [0x00,0x00,0xb4,0xd8,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0xb4,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_storexchg_rtn_b32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xb4,0xd8,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0xb4,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_storexchg_rtn_b32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xb4,0xd8,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0xb4,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_storexchg_rtn_b64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xb4,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xb4,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_storexchg_rtn_b64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xb4,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xb4,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_storexchg_rtn_b64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xb4,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0xb4,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_storexchg_rtn_b64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xb4,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0xb4,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_storexchg_rtn_b64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xb4,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0xb4,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_storexchg_rtn_b64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xb4,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0xb4,0xd9,0xff,0x02,0x00,0x05
+
+# GFX12: ds_xor_b32 v0, v1                       ; encoding: [0x00,0x00,0x2c,0xd8,0x00,0x01,0x00,0x00]
+0x00,0x00,0x2c,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_xor_b32 v0, v1 offset:4660           ; encoding: [0x34,0x12,0x2c,0xd8,0x00,0x01,0x00,0x00]
+0x34,0x12,0x2c,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_xor_b32 v0, v1 offset:65535          ; encoding: [0xff,0xff,0x2c,0xd8,0x00,0x01,0x00,0x00]
+0xff,0xff,0x2c,0xd8,0x00,0x01,0x00,0x00
+
+# GFX12: ds_xor_b32 v0, v254                     ; encoding: [0x00,0x00,0x2c,0xd8,0x00,0xfe,0x00,0x00]
+0x00,0x00,0x2c,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_xor_b32 v0, v254 offset:4660         ; encoding: [0x34,0x12,0x2c,0xd8,0x00,0xfe,0x00,0x00]
+0x34,0x12,0x2c,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_xor_b32 v0, v254 offset:65535        ; encoding: [0xff,0xff,0x2c,0xd8,0x00,0xfe,0x00,0x00]
+0xff,0xff,0x2c,0xd8,0x00,0xfe,0x00,0x00
+
+# GFX12: ds_xor_b32 v255, v1                     ; encoding: [0x00,0x00,0x2c,0xd8,0xff,0x01,0x00,0x00]
+0x00,0x00,0x2c,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_xor_b32 v255, v1 offset:4660         ; encoding: [0x34,0x12,0x2c,0xd8,0xff,0x01,0x00,0x00]
+0x34,0x12,0x2c,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_xor_b32 v255, v1 offset:65535        ; encoding: [0xff,0xff,0x2c,0xd8,0xff,0x01,0x00,0x00]
+0xff,0xff,0x2c,0xd8,0xff,0x01,0x00,0x00
+
+# GFX12: ds_xor_b32 v255, v254                   ; encoding: [0x00,0x00,0x2c,0xd8,0xff,0xfe,0x00,0x00]
+0x00,0x00,0x2c,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_xor_b32 v255, v254 offset:4660       ; encoding: [0x34,0x12,0x2c,0xd8,0xff,0xfe,0x00,0x00]
+0x34,0x12,0x2c,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_xor_b32 v255, v254 offset:65535      ; encoding: [0xff,0xff,0x2c,0xd8,0xff,0xfe,0x00,0x00]
+0xff,0xff,0x2c,0xd8,0xff,0xfe,0x00,0x00
+
+# GFX12: ds_xor_b64 v1, v[254:255] offset:65535  ; encoding: [0xff,0xff,0x2c,0xd9,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x2c,0xd9,0x01,0xfe,0x00,0x00
+
+# GFX12: ds_xor_b64 v1, v[2:3]                   ; encoding: [0x00,0x00,0x2c,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0x2c,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_xor_b64 v1, v[2:3] offset:4          ; encoding: [0x04,0x00,0x2c,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0x2c,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_xor_b64 v1, v[2:3] offset:65535      ; encoding: [0xff,0xff,0x2c,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0x2c,0xd9,0x01,0x02,0x00,0x00
+
+# GFX12: ds_xor_b64 v255, v[2:3] offset:65535    ; encoding: [0xff,0xff,0x2c,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0x2c,0xd9,0xff,0x02,0x00,0x00
+
+# GFX12: ds_xor_rtn_b32 v0, v1, v2               ; encoding: [0x00,0x00,0xac,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0xac,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_xor_rtn_b32 v0, v1, v2 offset:4660   ; encoding: [0x34,0x12,0xac,0xd8,0x01,0x02,0x00,0x00]
+0x34,0x12,0xac,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_xor_rtn_b32 v0, v1, v2 offset:65535  ; encoding: [0xff,0xff,0xac,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0xac,0xd8,0x01,0x02,0x00,0x00
+
+# GFX12: ds_xor_rtn_b32 v0, v254, v253           ; encoding: [0x00,0x00,0xac,0xd8,0xfe,0xfd,0x00,0x00]
+0x00,0x00,0xac,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_xor_rtn_b32 v0, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xac,0xd8,0xfe,0xfd,0x00,0x00]
+0x34,0x12,0xac,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_xor_rtn_b32 v0, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xac,0xd8,0xfe,0xfd,0x00,0x00]
+0xff,0xff,0xac,0xd8,0xfe,0xfd,0x00,0x00
+
+# GFX12: ds_xor_rtn_b32 v255, v1, v253           ; encoding: [0x00,0x00,0xac,0xd8,0x01,0xfd,0x00,0xff]
+0x00,0x00,0xac,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_xor_rtn_b32 v255, v1, v253 offset:4660 ; encoding: [0x34,0x12,0xac,0xd8,0x01,0xfd,0x00,0xff]
+0x34,0x12,0xac,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_xor_rtn_b32 v255, v1, v253 offset:65535 ; encoding: [0xff,0xff,0xac,0xd8,0x01,0xfd,0x00,0xff]
+0xff,0xff,0xac,0xd8,0x01,0xfd,0x00,0xff
+
+# GFX12: ds_xor_rtn_b32 v255, v254, v2           ; encoding: [0x00,0x00,0xac,0xd8,0xfe,0x02,0x00,0xff]
+0x00,0x00,0xac,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_xor_rtn_b32 v255, v254, v2 offset:4660 ; encoding: [0x34,0x12,0xac,0xd8,0xfe,0x02,0x00,0xff]
+0x34,0x12,0xac,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_xor_rtn_b32 v255, v254, v2 offset:65535 ; encoding: [0xff,0xff,0xac,0xd8,0xfe,0x02,0x00,0xff]
+0xff,0xff,0xac,0xd8,0xfe,0x02,0x00,0xff
+
+# GFX12: ds_xor_rtn_b32 v255, v254, v253         ; encoding: [0x00,0x00,0xac,0xd8,0xfe,0xfd,0x00,0xff]
+0x00,0x00,0xac,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_xor_rtn_b32 v255, v254, v253 offset:4660 ; encoding: [0x34,0x12,0xac,0xd8,0xfe,0xfd,0x00,0xff]
+0x34,0x12,0xac,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_xor_rtn_b32 v255, v254, v253 offset:65535 ; encoding: [0xff,0xff,0xac,0xd8,0xfe,0xfd,0x00,0xff]
+0xff,0xff,0xac,0xd8,0xfe,0xfd,0x00,0xff
+
+# GFX12: ds_xor_rtn_b64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xac,0xd9,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xac,0xd9,0x01,0x02,0x00,0xfe
+
+# GFX12: ds_xor_rtn_b64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xac,0xd9,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xac,0xd9,0x01,0xfe,0x00,0x05
+
+# GFX12: ds_xor_rtn_b64 v[5:6], v1, v[2:3]       ; encoding: [0x00,0x00,0xac,0xd9,0x01,0x02,0x00,0x05]
+0x00,0x00,0xac,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_xor_rtn_b64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xac,0xd9,0x01,0x02,0x00,0x05]
+0x04,0x00,0xac,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_xor_rtn_b64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xac,0xd9,0x01,0x02,0x00,0x05]
+0xff,0xff,0xac,0xd9,0x01,0x02,0x00,0x05
+
+# GFX12: ds_xor_rtn_b64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xac,0xd9,0xff,0x02,0x00,0x05]
+0xff,0xff,0xac,0xd9,0xff,0x02,0x00,0x05


        


More information about the llvm-commits mailing list