[llvm] [AMDGPU][MC] Add GFX12 VDS encoding (PR #75316)
Mirko BrkuĊĦanin via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 13 03:00:05 PST 2023
https://github.com/mbrkusanin created https://github.com/llvm/llvm-project/pull/75316
None
>From 1ad0b21cd34ae162b0f7aec2da6e23794e26bb7c Mon Sep 17 00:00:00 2001
From: Mirko Brkusanin <Mirko.Brkusanin at amd.com>
Date: Wed, 13 Dec 2023 11:55:52 +0100
Subject: [PATCH] [AMDGPU][MC] Add GFX12 VDS encoding
---
llvm/lib/Target/AMDGPU/DSInstructions.td | 313 +-
llvm/test/MC/AMDGPU/gfx11_unsupported.s | 6 +
llvm/test/MC/AMDGPU/gfx12_asm_ds.s | 1819 ++++++++++
llvm/test/MC/AMDGPU/gfx12_asm_ds_alias.s | 25 +
llvm/test/MC/AMDGPU/gfx12_unsupported.s | 42 +
.../MC/Disassembler/AMDGPU/gfx12_dasm_ds.txt | 3070 +++++++++++++++++
6 files changed, 5153 insertions(+), 122 deletions(-)
create mode 100644 llvm/test/MC/AMDGPU/gfx12_asm_ds.s
create mode 100644 llvm/test/MC/AMDGPU/gfx12_asm_ds_alias.s
create mode 100644 llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_ds.txt
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