[llvm] e8d2607 - [AMDGPU] gfx11 allow dlc for MUBUF atomics

Petar Avramovic via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 1 03:18:57 PDT 2022


Author: Petar Avramovic
Date: 2022-08-01T12:18:01+02:00
New Revision: e8d260753e7ebd2d03141d21bafc952790747a8f

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

LOG: [AMDGPU] gfx11 allow dlc for MUBUF atomics

Add MC support for dlc in gfx11 MUBUF atomic instructions.

Differential Revision: https://reviews.llvm.org/D129075

Added: 
    

Modified: 
    llvm/lib/Target/AMDGPU/BUFInstructions.td
    llvm/test/MC/AMDGPU/gfx11_mubuf.s
    llvm/test/MC/Disassembler/AMDGPU/mubuf_dasm_gfx11.txt

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/AMDGPU/BUFInstructions.td b/llvm/lib/Target/AMDGPU/BUFInstructions.td
index 04dd3e938a159..8ad0c8ecb34d7 100644
--- a/llvm/lib/Target/AMDGPU/BUFInstructions.td
+++ b/llvm/lib/Target/AMDGPU/BUFInstructions.td
@@ -2078,6 +2078,12 @@ class MUBUF_Real_gfx11<bits<8> op, MUBUF_Pseudo ps,
   let Inst{55}    = ps.idxen;
 }
 
+class Base_MUBUF_Real_Atomic_gfx11<bits<8> op, MUBUF_Pseudo ps,
+                                   string real_name> :
+  MUBUF_Real_gfx11<op, ps, real_name> {
+  let Inst{13} = cpol{CPolBit.DLC};
+}
+
 class Base_MUBUF_Real_gfx6_gfx7_gfx10<bits<7> op, MUBUF_Pseudo ps, int ef> :
   Base_MUBUF_Real_gfx6_gfx7_gfx10_gfx11<ps, ef> {
   let Inst{12}    = ps.offen;
@@ -2104,62 +2110,66 @@ class MUBUF_Real_gfx6_gfx7<bits<8> op, MUBUF_Pseudo ps> :
 // MUBUF - GFX11.
 //===----------------------------------------------------------------------===//
 
+// Shortcut to default Mnemonic from MUBUF_Pseudo. Hides the cast to the
+// specific pseudo (bothen in this case) since any of them will work.
+class get_MUBUF_ps<string name> {
+  string Mnemonic = !cast<MUBUF_Pseudo>(name # "_BOTHEN").Mnemonic;
+}
+
+// gfx11 instruction that accept both old and new assembler name.
+class Pre_gfx11_MUBUF_Name <string mnemonic, string real_name> :
+  MnemonicAlias<mnemonic, real_name>, Requires<[isGFX11Plus]>;
+
+class MUBUF_Real_gfx11_impl<bits<8> op, string ps_name, string real_name> :
+  MUBUF_Real_gfx11<op, !cast<MUBUF_Pseudo>(ps_name), real_name>;
 let AssemblerPredicate = isGFX11Only, DecoderNamespace = "GFX11" in
 multiclass MUBUF_Real_AllAddr_gfx11_Renamed_Impl<bits<8> op, string real_name> {
-  def _BOTHEN_gfx11 :
-    MUBUF_Real_gfx11<op, !cast<MUBUF_Pseudo>(NAME#"_BOTHEN"), real_name>,
-    AtomicNoRet<NAME # "_BOTHEN_gfx11", 0>;
-  def _IDXEN_gfx11 :
-    MUBUF_Real_gfx11<op, !cast<MUBUF_Pseudo>(NAME#"_IDXEN"), real_name>,
-    AtomicNoRet<NAME # "_IDXEN_gfx11", 0>;
-  def _OFFEN_gfx11 :
-    MUBUF_Real_gfx11<op, !cast<MUBUF_Pseudo>(NAME#"_OFFEN"), real_name>,
-    AtomicNoRet<NAME # "_OFFEN_gfx11", 0>;
-  def _OFFSET_gfx11 :
-    MUBUF_Real_gfx11<op, !cast<MUBUF_Pseudo>(NAME#"_OFFSET"), real_name>,
-    AtomicNoRet<NAME # "_OFFSET_gfx11", 0>;
+  def _BOTHEN_gfx11 : MUBUF_Real_gfx11_impl<op, NAME # "_BOTHEN", real_name>;
+  def _IDXEN_gfx11 : MUBUF_Real_gfx11_impl<op, NAME # "_IDXEN", real_name>;
+  def _OFFEN_gfx11 : MUBUF_Real_gfx11_impl<op, NAME # "_OFFEN", real_name>;
+  def _OFFSET_gfx11 : MUBUF_Real_gfx11_impl<op, NAME # "_OFFSET", real_name>;
 }
 
-multiclass MUBUF_Real_AllAddr_gfx11_Impl<bits<8> op, MUBUF_Pseudo ps> :
-  MUBUF_Real_AllAddr_gfx11_Renamed_Impl<op, ps.Mnemonic>;
+// Non-renamed, non-atomic gfx11 mubuf instructions.
 multiclass MUBUF_Real_AllAddr_gfx11<bits<8> op> :
-  MUBUF_Real_AllAddr_gfx11_Impl<op, !cast<MUBUF_Pseudo>(NAME#"_BOTHEN")>;
+  MUBUF_Real_AllAddr_gfx11_Renamed_Impl<op, get_MUBUF_ps<NAME>.Mnemonic>;
 
-class Pre_gfx11_MUBUF_Name <MUBUF_Pseudo ps, string real_name> :
-  MnemonicAlias<ps.Mnemonic, real_name>, Requires<[isGFX11Plus]>;
 multiclass MUBUF_Real_AllAddr_gfx11_Renamed<bits<8> op, string real_name> :
   MUBUF_Real_AllAddr_gfx11_Renamed_Impl<op, real_name> {
-  def : Pre_gfx11_MUBUF_Name<!cast<MUBUF_Pseudo>(NAME#"_BOTHEN"), real_name>;
+  def : Pre_gfx11_MUBUF_Name<get_MUBUF_ps<NAME>.Mnemonic, real_name>;
 }
 
+class MUBUF_Real_Atomic_gfx11_impl<bits<8> op, string ps_name,
+                                   string real_name> :
+  Base_MUBUF_Real_Atomic_gfx11<op, !cast<MUBUF_Pseudo>(ps_name), real_name>;
 let AssemblerPredicate = isGFX11Only, DecoderNamespace = "GFX11" in
-multiclass MUBUF_Real_Atomics_RTN_gfx11_Renamed<bits<8> op, string real_name> {
-  def _BOTHEN_RTN_gfx11 :
-    MUBUF_Real_gfx11<op, !cast<MUBUF_Pseudo>(NAME#"_BOTHEN_RTN"), real_name>,
-    AtomicNoRet<NAME # "_BOTHEN_gfx11", 1>;
-  def _IDXEN_RTN_gfx11 :
-    MUBUF_Real_gfx11<op, !cast<MUBUF_Pseudo>(NAME#"_IDXEN_RTN"), real_name>,
-    AtomicNoRet<NAME # "_IDXEN_gfx11", 1>;
-  def _OFFEN_RTN_gfx11 :
-    MUBUF_Real_gfx11<op, !cast<MUBUF_Pseudo>(NAME#"_OFFEN_RTN"), real_name>,
-    AtomicNoRet<NAME # "_OFFEN_gfx11", 1>;
-  def _OFFSET_RTN_gfx11 :
-    MUBUF_Real_gfx11<op, !cast<MUBUF_Pseudo>(NAME#"_OFFSET_RTN"), real_name>,
-    AtomicNoRet<NAME # "_OFFSET_gfx11", 1>;
-}
-
-multiclass MUBUF_Real_Atomics_RTN_gfx11_impl<bits<8> op, MUBUF_Pseudo ps> :
-  MUBUF_Real_Atomics_RTN_gfx11_Renamed<op, ps.Mnemonic>;
-multiclass MUBUF_Real_Atomics_RTN_gfx11<bits<8> op> :
-  MUBUF_Real_Atomics_RTN_gfx11_impl<op, !cast<MUBUF_Pseudo>(NAME#"_BOTHEN")>;
-
-multiclass MUBUF_Real_Atomics_gfx11<bits<8> op> :
-  MUBUF_Real_AllAddr_gfx11<op>,
-  MUBUF_Real_Atomics_RTN_gfx11<op>;
-
-multiclass MUBUF_Real_Atomics_gfx11_Renamed<bits<8> op, string real_name> :
-  MUBUF_Real_AllAddr_gfx11_Renamed<op, real_name>,
-  MUBUF_Real_Atomics_RTN_gfx11_Renamed<op, real_name>;
+multiclass MUBUF_Real_Atomic_gfx11_Renamed_impl<bits<8> op, bit is_return,
+                                                string real_name> {
+  defvar Rtn = !if(!eq(is_return, 1), "_RTN", "");
+  def _BOTHEN#Rtn#_gfx11 :
+    MUBUF_Real_Atomic_gfx11_impl<op, NAME # "_BOTHEN" # Rtn, real_name>,
+    AtomicNoRet<NAME # "_BOTHEN_gfx11", is_return>;
+  def _IDXEN#Rtn#_gfx11 :
+    MUBUF_Real_Atomic_gfx11_impl<op, NAME # "_IDXEN" # Rtn, real_name>,
+    AtomicNoRet<NAME # "_IDXEN_gfx11", is_return>;
+  def _OFFEN#Rtn#_gfx11 :
+    MUBUF_Real_Atomic_gfx11_impl<op, NAME # "_OFFEN" # Rtn, real_name>,
+    AtomicNoRet<NAME # "_OFFEN_gfx11", is_return>;
+  def _OFFSET#Rtn#_gfx11 :
+    MUBUF_Real_Atomic_gfx11_impl<op, NAME # "_OFFSET" # Rtn, real_name>,
+    AtomicNoRet<NAME # "_OFFSET_gfx11", is_return>;
+}
+
+// Non-renamed gfx11 mubuf atomic.
+multiclass MUBUF_Real_Atomic_gfx11<bits<8> op> :
+  MUBUF_Real_Atomic_gfx11_Renamed_impl<op, 0, get_MUBUF_ps<NAME>.Mnemonic>,
+  MUBUF_Real_Atomic_gfx11_Renamed_impl<op, 1, get_MUBUF_ps<NAME>.Mnemonic>;
+
+multiclass MUBUF_Real_Atomic_gfx11_Renamed<bits<8> op, string real_name> :
+  MUBUF_Real_Atomic_gfx11_Renamed_impl<op, 0, real_name>,
+  MUBUF_Real_Atomic_gfx11_Renamed_impl<op, 1, real_name>  {
+  def : Pre_gfx11_MUBUF_Name<get_MUBUF_ps<NAME>.Mnemonic, real_name>;
+}
 
 let AssemblerPredicate = isGFX11Only, DecoderNamespace = "GFX11" in {
 def BUFFER_GL0_INV_gfx11          : MUBUF_Real_gfx11<0x02B, BUFFER_GL0_INV>;
@@ -2212,38 +2222,38 @@ defm BUFFER_STORE_FORMAT_X        : MUBUF_Real_AllAddr_gfx11<0x004>;
 defm BUFFER_STORE_FORMAT_XY       : MUBUF_Real_AllAddr_gfx11<0x005>;
 defm BUFFER_STORE_FORMAT_XYZ      : MUBUF_Real_AllAddr_gfx11<0x006>;
 defm BUFFER_STORE_FORMAT_XYZW     : MUBUF_Real_AllAddr_gfx11<0x007>;
-defm BUFFER_ATOMIC_ADD_F32        : MUBUF_Real_Atomics_gfx11<0x056>;
-defm BUFFER_ATOMIC_ADD            : MUBUF_Real_Atomics_gfx11_Renamed<0x035, "buffer_atomic_add_u32">;
-defm BUFFER_ATOMIC_ADD_X2         : MUBUF_Real_Atomics_gfx11_Renamed<0x043, "buffer_atomic_add_u64">;
-defm BUFFER_ATOMIC_AND            : MUBUF_Real_Atomics_gfx11_Renamed<0x03C, "buffer_atomic_and_b32">;
-defm BUFFER_ATOMIC_AND_X2         : MUBUF_Real_Atomics_gfx11_Renamed<0x049, "buffer_atomic_and_b64">;
-defm BUFFER_ATOMIC_CMPSWAP        : MUBUF_Real_Atomics_gfx11_Renamed<0x034, "buffer_atomic_cmpswap_b32">;
-defm BUFFER_ATOMIC_CMPSWAP_X2     : MUBUF_Real_Atomics_gfx11_Renamed<0x042, "buffer_atomic_cmpswap_b64">;
-defm BUFFER_ATOMIC_FCMPSWAP       : MUBUF_Real_Atomics_gfx11_Renamed<0x050, "buffer_atomic_cmpswap_f32">;
-defm BUFFER_ATOMIC_CSUB           : MUBUF_Real_Atomics_RTN_gfx11_Renamed<0x037, "buffer_atomic_csub_u32">;
-def : MnemonicAlias<"buffer_atomic_csub", "buffer_atomic_csub_u32">, Requires<[isGFX11Plus]>;
-defm BUFFER_ATOMIC_DEC            : MUBUF_Real_Atomics_gfx11_Renamed<0x040, "buffer_atomic_dec_u32">;
-defm BUFFER_ATOMIC_DEC_X2         : MUBUF_Real_Atomics_gfx11_Renamed<0x04D, "buffer_atomic_dec_u64">;
-defm BUFFER_ATOMIC_INC            : MUBUF_Real_Atomics_gfx11_Renamed<0x03F, "buffer_atomic_inc_u32">;
-defm BUFFER_ATOMIC_INC_X2         : MUBUF_Real_Atomics_gfx11_Renamed<0x04C, "buffer_atomic_inc_u64">;
-defm BUFFER_ATOMIC_FMAX           : MUBUF_Real_Atomics_gfx11_Renamed<0x052, "buffer_atomic_max_f32">;
-defm BUFFER_ATOMIC_SMAX           : MUBUF_Real_Atomics_gfx11_Renamed<0x03A, "buffer_atomic_max_i32">;
-defm BUFFER_ATOMIC_SMAX_X2        : MUBUF_Real_Atomics_gfx11_Renamed<0x047, "buffer_atomic_max_i64">;
-defm BUFFER_ATOMIC_UMAX           : MUBUF_Real_Atomics_gfx11_Renamed<0x03B, "buffer_atomic_max_u32">;
-defm BUFFER_ATOMIC_UMAX_X2        : MUBUF_Real_Atomics_gfx11_Renamed<0x048, "buffer_atomic_max_u64">;
-defm BUFFER_ATOMIC_FMIN           : MUBUF_Real_Atomics_gfx11_Renamed<0x051, "buffer_atomic_min_f32">;
-defm BUFFER_ATOMIC_SMIN           : MUBUF_Real_Atomics_gfx11_Renamed<0x038, "buffer_atomic_min_i32">;
-defm BUFFER_ATOMIC_SMIN_X2        : MUBUF_Real_Atomics_gfx11_Renamed<0x045, "buffer_atomic_min_i64">;
-defm BUFFER_ATOMIC_UMIN           : MUBUF_Real_Atomics_gfx11_Renamed<0x039, "buffer_atomic_min_u32">;
-defm BUFFER_ATOMIC_UMIN_X2        : MUBUF_Real_Atomics_gfx11_Renamed<0x046, "buffer_atomic_min_u64">;
-defm BUFFER_ATOMIC_OR             : MUBUF_Real_Atomics_gfx11_Renamed<0x03D, "buffer_atomic_or_b32">;
-defm BUFFER_ATOMIC_OR_X2          : MUBUF_Real_Atomics_gfx11_Renamed<0x04A, "buffer_atomic_or_b64">;
-defm BUFFER_ATOMIC_SUB            : MUBUF_Real_Atomics_gfx11_Renamed<0x036, "buffer_atomic_sub_u32">;
-defm BUFFER_ATOMIC_SUB_X2         : MUBUF_Real_Atomics_gfx11_Renamed<0x044, "buffer_atomic_sub_u64">;
-defm BUFFER_ATOMIC_SWAP           : MUBUF_Real_Atomics_gfx11_Renamed<0x033, "buffer_atomic_swap_b32">;
-defm BUFFER_ATOMIC_SWAP_X2        : MUBUF_Real_Atomics_gfx11_Renamed<0x041, "buffer_atomic_swap_b64">;
-defm BUFFER_ATOMIC_XOR            : MUBUF_Real_Atomics_gfx11_Renamed<0x03E, "buffer_atomic_xor_b32">;
-defm BUFFER_ATOMIC_XOR_X2         : MUBUF_Real_Atomics_gfx11_Renamed<0x04B, "buffer_atomic_xor_b64">;
+defm BUFFER_ATOMIC_ADD_F32        : MUBUF_Real_Atomic_gfx11<0x056>;
+defm BUFFER_ATOMIC_ADD            : MUBUF_Real_Atomic_gfx11_Renamed<0x035, "buffer_atomic_add_u32">;
+defm BUFFER_ATOMIC_ADD_X2         : MUBUF_Real_Atomic_gfx11_Renamed<0x043, "buffer_atomic_add_u64">;
+defm BUFFER_ATOMIC_AND            : MUBUF_Real_Atomic_gfx11_Renamed<0x03C, "buffer_atomic_and_b32">;
+defm BUFFER_ATOMIC_AND_X2         : MUBUF_Real_Atomic_gfx11_Renamed<0x049, "buffer_atomic_and_b64">;
+defm BUFFER_ATOMIC_CMPSWAP        : MUBUF_Real_Atomic_gfx11_Renamed<0x034, "buffer_atomic_cmpswap_b32">;
+defm BUFFER_ATOMIC_CMPSWAP_X2     : MUBUF_Real_Atomic_gfx11_Renamed<0x042, "buffer_atomic_cmpswap_b64">;
+defm BUFFER_ATOMIC_FCMPSWAP       : MUBUF_Real_Atomic_gfx11_Renamed<0x050, "buffer_atomic_cmpswap_f32">;
+defm BUFFER_ATOMIC_CSUB           : MUBUF_Real_Atomic_gfx11_Renamed_impl<0x037, 1, "buffer_atomic_csub_u32">;
+def : Pre_gfx11_MUBUF_Name<"buffer_atomic_csub", "buffer_atomic_csub_u32">;
+defm BUFFER_ATOMIC_DEC            : MUBUF_Real_Atomic_gfx11_Renamed<0x040, "buffer_atomic_dec_u32">;
+defm BUFFER_ATOMIC_DEC_X2         : MUBUF_Real_Atomic_gfx11_Renamed<0x04D, "buffer_atomic_dec_u64">;
+defm BUFFER_ATOMIC_INC            : MUBUF_Real_Atomic_gfx11_Renamed<0x03F, "buffer_atomic_inc_u32">;
+defm BUFFER_ATOMIC_INC_X2         : MUBUF_Real_Atomic_gfx11_Renamed<0x04C, "buffer_atomic_inc_u64">;
+defm BUFFER_ATOMIC_FMAX           : MUBUF_Real_Atomic_gfx11_Renamed<0x052, "buffer_atomic_max_f32">;
+defm BUFFER_ATOMIC_SMAX           : MUBUF_Real_Atomic_gfx11_Renamed<0x03A, "buffer_atomic_max_i32">;
+defm BUFFER_ATOMIC_SMAX_X2        : MUBUF_Real_Atomic_gfx11_Renamed<0x047, "buffer_atomic_max_i64">;
+defm BUFFER_ATOMIC_UMAX           : MUBUF_Real_Atomic_gfx11_Renamed<0x03B, "buffer_atomic_max_u32">;
+defm BUFFER_ATOMIC_UMAX_X2        : MUBUF_Real_Atomic_gfx11_Renamed<0x048, "buffer_atomic_max_u64">;
+defm BUFFER_ATOMIC_FMIN           : MUBUF_Real_Atomic_gfx11_Renamed<0x051, "buffer_atomic_min_f32">;
+defm BUFFER_ATOMIC_SMIN           : MUBUF_Real_Atomic_gfx11_Renamed<0x038, "buffer_atomic_min_i32">;
+defm BUFFER_ATOMIC_SMIN_X2        : MUBUF_Real_Atomic_gfx11_Renamed<0x045, "buffer_atomic_min_i64">;
+defm BUFFER_ATOMIC_UMIN           : MUBUF_Real_Atomic_gfx11_Renamed<0x039, "buffer_atomic_min_u32">;
+defm BUFFER_ATOMIC_UMIN_X2        : MUBUF_Real_Atomic_gfx11_Renamed<0x046, "buffer_atomic_min_u64">;
+defm BUFFER_ATOMIC_OR             : MUBUF_Real_Atomic_gfx11_Renamed<0x03D, "buffer_atomic_or_b32">;
+defm BUFFER_ATOMIC_OR_X2          : MUBUF_Real_Atomic_gfx11_Renamed<0x04A, "buffer_atomic_or_b64">;
+defm BUFFER_ATOMIC_SUB            : MUBUF_Real_Atomic_gfx11_Renamed<0x036, "buffer_atomic_sub_u32">;
+defm BUFFER_ATOMIC_SUB_X2         : MUBUF_Real_Atomic_gfx11_Renamed<0x044, "buffer_atomic_sub_u64">;
+defm BUFFER_ATOMIC_SWAP           : MUBUF_Real_Atomic_gfx11_Renamed<0x033, "buffer_atomic_swap_b32">;
+defm BUFFER_ATOMIC_SWAP_X2        : MUBUF_Real_Atomic_gfx11_Renamed<0x041, "buffer_atomic_swap_b64">;
+defm BUFFER_ATOMIC_XOR            : MUBUF_Real_Atomic_gfx11_Renamed<0x03E, "buffer_atomic_xor_b32">;
+defm BUFFER_ATOMIC_XOR_X2         : MUBUF_Real_Atomic_gfx11_Renamed<0x04B, "buffer_atomic_xor_b64">;
 
 //===----------------------------------------------------------------------===//
 // MUBUF - GFX10.

diff  --git a/llvm/test/MC/AMDGPU/gfx11_mubuf.s b/llvm/test/MC/AMDGPU/gfx11_mubuf.s
index 858a6910a8b14..fca0baba6d14c 100644
--- a/llvm/test/MC/AMDGPU/gfx11_mubuf.s
+++ b/llvm/test/MC/AMDGPU/gfx11_mubuf.s
@@ -2740,8 +2740,11 @@ buffer_atomic_add_u32 v5, off, s[8:11], s3 offset:4095 glc
 buffer_atomic_add_u32 v5, off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0xd4,0xe0,0x00,0x05,0x02,0x03]
 
-buffer_atomic_add_u32 v5, off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0xd4,0xe0,0x00,0x05,0x02,0x03]
+buffer_atomic_add_u32 v5, off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0xd4,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add_u32 v5, off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0xd4,0xe0,0x00,0x05,0x02,0x03]
 
 buffer_atomic_add_u64 v[5:6], off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x03]
@@ -2794,8 +2797,11 @@ buffer_atomic_add_u64 v[5:6], off, s[8:11], s3 offset:4095 glc
 buffer_atomic_add_u64 v[5:6], off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x0c,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_add_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x0c,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_add_u64 v[5:6], off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x0c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x0c,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_and_b32 v5, off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0xf0,0xe0,0x00,0x05,0x02,0x03]
@@ -2848,8 +2854,11 @@ buffer_atomic_and_b32 v5, off, s[8:11], s3 offset:4095 glc
 buffer_atomic_and_b32 v5, off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0xf0,0xe0,0x00,0x05,0x02,0x03]
 
-buffer_atomic_and_b32 v5, off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0xf0,0xe0,0x00,0x05,0x02,0x03]
+buffer_atomic_and_b32 v5, off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0xf0,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and_b32 v5, off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0xf0,0xe0,0x00,0x05,0x02,0x03]
 
 buffer_atomic_and_b64 v[5:6], off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x03]
@@ -2902,8 +2911,11 @@ buffer_atomic_and_b64 v[5:6], off, s[8:11], s3 offset:4095 glc
 buffer_atomic_and_b64 v[5:6], off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x24,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_and_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x24,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_and_b64 v[5:6], off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x24,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x24,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_cmpswap_b32 v[5:6], off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0xd0,0xe0,0x00,0x05,0x02,0x03]
@@ -2956,8 +2968,11 @@ buffer_atomic_cmpswap_b32 v[5:6], off, s[8:11], s3 offset:4095 glc
 buffer_atomic_cmpswap_b32 v[5:6], off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0xd0,0xe0,0x00,0x05,0x02,0x03]
 
-buffer_atomic_cmpswap_b32 v[5:6], off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0xd0,0xe0,0x00,0x05,0x02,0x03]
+buffer_atomic_cmpswap_b32 v[5:6], off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0xd0,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap_b32 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0xd0,0xe0,0x00,0x05,0x02,0x03]
 
 buffer_atomic_cmpswap_b64 v[5:8], off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x03]
@@ -3010,8 +3025,11 @@ buffer_atomic_cmpswap_b64 v[5:8], off, s[8:11], s3 offset:4095 glc
 buffer_atomic_cmpswap_b64 v[5:8], off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x08,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_cmpswap_b64 v[5:8], off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x08,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_cmpswap_b64 v[5:8], off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x08,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap_b64 v[5:8], off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x08,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_cmpswap_f32 v[5:6], off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x40,0xe1,0x00,0x05,0x02,0x03]
@@ -3064,8 +3082,11 @@ buffer_atomic_cmpswap_f32 v[5:6], off, s[8:11], s3 offset:4095 glc
 buffer_atomic_cmpswap_f32 v[5:6], off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x40,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_cmpswap_f32 v[5:6], off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x40,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_cmpswap_f32 v[5:6], off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x40,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap_f32 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x40,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_csub_u32 v5, off, s[8:11], s3 offset:4095
 // GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction must use glc
@@ -3121,6 +3142,12 @@ buffer_atomic_csub_u32 v5, off, s[8:11], s3 offset:4095 glc
 buffer_atomic_csub_u32 v5, off, s[8:11], s3 offset:4095 glc slc
 // GFX11: encoding: [0xff,0x5f,0xdc,0xe0,0x00,0x05,0x02,0x03]
 
+buffer_atomic_csub_u32 v5, off, s[8:11], s3 offset:4095 glc dlc
+// GFX11: encoding: [0xff,0x6f,0xdc,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_atomic_csub_u32 v5, off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0xdc,0xe0,0x00,0x05,0x02,0x03]
+
 buffer_atomic_dec_u32 v5, off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x03]
 
@@ -3172,8 +3199,11 @@ buffer_atomic_dec_u32 v5, off, s[8:11], s3 offset:4095 glc
 buffer_atomic_dec_u32 v5, off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x00,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_dec_u32 v5, off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x00,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_dec_u32 v5, off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x00,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec_u32 v5, off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x00,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_dec_u64 v[5:6], off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x03]
@@ -3226,8 +3256,11 @@ buffer_atomic_dec_u64 v[5:6], off, s[8:11], s3 offset:4095 glc
 buffer_atomic_dec_u64 v[5:6], off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x34,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_dec_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x34,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_dec_u64 v[5:6], off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x34,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x34,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_inc_u32 v5, off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0xfc,0xe0,0x00,0x05,0x02,0x03]
@@ -3280,8 +3313,11 @@ buffer_atomic_inc_u32 v5, off, s[8:11], s3 offset:4095 glc
 buffer_atomic_inc_u32 v5, off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0xfc,0xe0,0x00,0x05,0x02,0x03]
 
-buffer_atomic_inc_u32 v5, off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0xfc,0xe0,0x00,0x05,0x02,0x03]
+buffer_atomic_inc_u32 v5, off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0xfc,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc_u32 v5, off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0xfc,0xe0,0x00,0x05,0x02,0x03]
 
 buffer_atomic_inc_u64 v[5:6], off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x03]
@@ -3334,8 +3370,11 @@ buffer_atomic_inc_u64 v[5:6], off, s[8:11], s3 offset:4095 glc
 buffer_atomic_inc_u64 v[5:6], off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x30,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_inc_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x30,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_inc_u64 v[5:6], off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x30,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x30,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_max_f32 v5, off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0x03]
@@ -3388,8 +3427,11 @@ buffer_atomic_max_f32 v5, off, s[8:11], s3 offset:4095 glc
 buffer_atomic_max_f32 v5, off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x48,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_max_f32 v5, off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x48,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_max_f32 v5, off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x48,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_max_f32 v5, off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x48,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_max_i32 v5, off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0xe8,0xe0,0x00,0x05,0x02,0x03]
@@ -3442,8 +3484,11 @@ buffer_atomic_max_i32 v5, off, s[8:11], s3 offset:4095 glc
 buffer_atomic_max_i32 v5, off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0xe8,0xe0,0x00,0x05,0x02,0x03]
 
-buffer_atomic_max_i32 v5, off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0xe8,0xe0,0x00,0x05,0x02,0x03]
+buffer_atomic_max_i32 v5, off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0xe8,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_atomic_max_i32 v5, off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0xe8,0xe0,0x00,0x05,0x02,0x03]
 
 buffer_atomic_max_i64 v[5:6], off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x03]
@@ -3496,8 +3541,11 @@ buffer_atomic_max_i64 v[5:6], off, s[8:11], s3 offset:4095 glc
 buffer_atomic_max_i64 v[5:6], off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x1c,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_max_i64 v[5:6], off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x1c,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_max_i64 v[5:6], off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x1c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_max_i64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x1c,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_max_u32 v5, off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0xec,0xe0,0x00,0x05,0x02,0x03]
@@ -3550,8 +3598,11 @@ buffer_atomic_max_u32 v5, off, s[8:11], s3 offset:4095 glc
 buffer_atomic_max_u32 v5, off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0xec,0xe0,0x00,0x05,0x02,0x03]
 
-buffer_atomic_max_u32 v5, off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0xec,0xe0,0x00,0x05,0x02,0x03]
+buffer_atomic_max_u32 v5, off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0xec,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_atomic_max_u32 v5, off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0xec,0xe0,0x00,0x05,0x02,0x03]
 
 buffer_atomic_max_u64 v[5:6], off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x03]
@@ -3604,8 +3655,11 @@ buffer_atomic_max_u64 v[5:6], off, s[8:11], s3 offset:4095 glc
 buffer_atomic_max_u64 v[5:6], off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x20,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_max_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x20,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_max_u64 v[5:6], off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x20,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_max_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x20,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_min_f32 v5, off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x44,0xe1,0x00,0x05,0x02,0x03]
@@ -3658,8 +3712,11 @@ buffer_atomic_min_f32 v5, off, s[8:11], s3 offset:4095 glc
 buffer_atomic_min_f32 v5, off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x44,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_min_f32 v5, off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x44,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_min_f32 v5, off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x44,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_min_f32 v5, off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x44,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_min_i32 v5, off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0xe0,0xe0,0x00,0x05,0x02,0x03]
@@ -3712,8 +3769,11 @@ buffer_atomic_min_i32 v5, off, s[8:11], s3 offset:4095 glc
 buffer_atomic_min_i32 v5, off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0xe0,0xe0,0x00,0x05,0x02,0x03]
 
-buffer_atomic_min_i32 v5, off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0xe0,0xe0,0x00,0x05,0x02,0x03]
+buffer_atomic_min_i32 v5, off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0xe0,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_atomic_min_i32 v5, off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0xe0,0xe0,0x00,0x05,0x02,0x03]
 
 buffer_atomic_min_i64 v[5:6], off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x03]
@@ -3766,8 +3826,11 @@ buffer_atomic_min_i64 v[5:6], off, s[8:11], s3 offset:4095 glc
 buffer_atomic_min_i64 v[5:6], off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x14,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_min_i64 v[5:6], off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x14,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_min_i64 v[5:6], off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x14,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_min_i64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x14,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_min_u32 v5, off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0xe4,0xe0,0x00,0x05,0x02,0x03]
@@ -3820,8 +3883,11 @@ buffer_atomic_min_u32 v5, off, s[8:11], s3 offset:4095 glc
 buffer_atomic_min_u32 v5, off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0xe4,0xe0,0x00,0x05,0x02,0x03]
 
-buffer_atomic_min_u32 v5, off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0xe4,0xe0,0x00,0x05,0x02,0x03]
+buffer_atomic_min_u32 v5, off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0xe4,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_atomic_min_u32 v5, off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0xe4,0xe0,0x00,0x05,0x02,0x03]
 
 buffer_atomic_min_u64 v[5:6], off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x03]
@@ -3874,8 +3940,11 @@ buffer_atomic_min_u64 v[5:6], off, s[8:11], s3 offset:4095 glc
 buffer_atomic_min_u64 v[5:6], off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x18,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_min_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x18,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_min_u64 v[5:6], off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x18,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_min_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x18,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_or_b32 v5, off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0xf4,0xe0,0x00,0x05,0x02,0x03]
@@ -3928,8 +3997,11 @@ buffer_atomic_or_b32 v5, off, s[8:11], s3 offset:4095 glc
 buffer_atomic_or_b32 v5, off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0xf4,0xe0,0x00,0x05,0x02,0x03]
 
-buffer_atomic_or_b32 v5, off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0xf4,0xe0,0x00,0x05,0x02,0x03]
+buffer_atomic_or_b32 v5, off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0xf4,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or_b32 v5, off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0xf4,0xe0,0x00,0x05,0x02,0x03]
 
 buffer_atomic_or_b64 v[5:6], off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x03]
@@ -3982,8 +4054,11 @@ buffer_atomic_or_b64 v[5:6], off, s[8:11], s3 offset:4095 glc
 buffer_atomic_or_b64 v[5:6], off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x28,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_or_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x28,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_or_b64 v[5:6], off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x28,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x28,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_sub_u32 v5, off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0xd8,0xe0,0x00,0x05,0x02,0x03]
@@ -4036,8 +4111,11 @@ buffer_atomic_sub_u32 v5, off, s[8:11], s3 offset:4095 glc
 buffer_atomic_sub_u32 v5, off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0xd8,0xe0,0x00,0x05,0x02,0x03]
 
-buffer_atomic_sub_u32 v5, off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0xd8,0xe0,0x00,0x05,0x02,0x03]
+buffer_atomic_sub_u32 v5, off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0xd8,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub_u32 v5, off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0xd8,0xe0,0x00,0x05,0x02,0x03]
 
 buffer_atomic_sub_u64 v[5:6], off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x03]
@@ -4090,8 +4168,11 @@ buffer_atomic_sub_u64 v[5:6], off, s[8:11], s3 offset:4095 glc
 buffer_atomic_sub_u64 v[5:6], off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x10,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_sub_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x10,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_sub_u64 v[5:6], off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x10,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x10,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_swap_b32 v5, off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0xcc,0xe0,0x00,0x05,0x02,0x03]
@@ -4144,8 +4225,11 @@ buffer_atomic_swap_b32 v5, off, s[8:11], s3 offset:4095 glc
 buffer_atomic_swap_b32 v5, off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0xcc,0xe0,0x00,0x05,0x02,0x03]
 
-buffer_atomic_swap_b32 v5, off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0xcc,0xe0,0x00,0x05,0x02,0x03]
+buffer_atomic_swap_b32 v5, off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0xcc,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap_b32 v5, off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0xcc,0xe0,0x00,0x05,0x02,0x03]
 
 buffer_atomic_swap_b64 v[5:6], off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x03]
@@ -4198,8 +4282,11 @@ buffer_atomic_swap_b64 v[5:6], off, s[8:11], s3 offset:4095 glc
 buffer_atomic_swap_b64 v[5:6], off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x04,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_swap_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x04,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_swap_b64 v[5:6], off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x04,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x04,0xe1,0x00,0x05,0x02,0x03]
 
 buffer_atomic_xor_b32 v5, off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0xf8,0xe0,0x00,0x05,0x02,0x03]
@@ -4252,8 +4339,11 @@ buffer_atomic_xor_b32 v5, off, s[8:11], s3 offset:4095 glc
 buffer_atomic_xor_b32 v5, off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0xf8,0xe0,0x00,0x05,0x02,0x03]
 
-buffer_atomic_xor_b32 v5, off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0xf8,0xe0,0x00,0x05,0x02,0x03]
+buffer_atomic_xor_b32 v5, off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0xf8,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor_b32 v5, off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0xf8,0xe0,0x00,0x05,0x02,0x03]
 
 buffer_atomic_xor_b64 v[5:6], off, s[8:11], s3 offset:4095
 // GFX11: encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x03]
@@ -4306,5 +4396,8 @@ buffer_atomic_xor_b64 v[5:6], off, s[8:11], s3 offset:4095 glc
 buffer_atomic_xor_b64 v[5:6], off, s[8:11], s3 offset:4095 slc
 // GFX11: encoding: [0xff,0x1f,0x2c,0xe1,0x00,0x05,0x02,0x03]
 
-buffer_atomic_xor_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc
-// GFX11: encoding: [0xff,0x5f,0x2c,0xe1,0x00,0x05,0x02,0x03]
+buffer_atomic_xor_b64 v[5:6], off, s[8:11], s3 offset:4095 dlc
+// GFX11: encoding: [0xff,0x2f,0x2c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc
+// GFX11: encoding: [0xff,0x7f,0x2c,0xe1,0x00,0x05,0x02,0x03]

diff  --git a/llvm/test/MC/Disassembler/AMDGPU/mubuf_dasm_gfx11.txt b/llvm/test/MC/Disassembler/AMDGPU/mubuf_dasm_gfx11.txt
index 1a2032d6aeef5..752a60366c57a 100644
--- a/llvm/test/MC/Disassembler/AMDGPU/mubuf_dasm_gfx11.txt
+++ b/llvm/test/MC/Disassembler/AMDGPU/mubuf_dasm_gfx11.txt
@@ -2733,8 +2733,11 @@
 # GFX11: buffer_atomic_add_u32 v5, off, s[8:11], s3 offset:4095 slc                     ; encoding: [0xff,0x1f,0xd4,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x1f,0xd4,0xe0,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_add_u32 v5, off, s[8:11], s3 offset:4095 glc slc                 ; encoding: [0xff,0x5f,0xd4,0xe0,0x00,0x05,0x02,0x03]
-0xff,0x5f,0xd4,0xe0,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_add_u32 v5, off, s[8:11], s3 offset:4095 dlc                     ; encoding: [0xff,0x2f,0xd4,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xd4,0xe0,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_add_u32 v5, off, s[8:11], s3 offset:4095 glc slc dlc             ; encoding: [0xff,0x7f,0xd4,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x7f,0xd4,0xe0,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_add_u64 v[5:6], off, s[8:11], s3 offset:4095                     ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x03
@@ -2787,8 +2790,11 @@
 # GFX11: buffer_atomic_add_u64 v[5:6], off, s[8:11], s3 offset:4095 slc                 ; encoding: [0xff,0x1f,0x0c,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x0c,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_add_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc             ; encoding: [0xff,0x5f,0x0c,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x0c,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_add_u64 v[5:6], off, s[8:11], s3 offset:4095 dlc                 ; encoding: [0xff,0x2f,0x0c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x0c,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_add_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc         ; encoding: [0xff,0x7f,0x0c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x0c,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_and_b32 v5, off, s[8:11], s3 offset:4095                         ; encoding: [0xff,0x0f,0xf0,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x0f,0xf0,0xe0,0x00,0x05,0x02,0x03
@@ -2841,8 +2847,11 @@
 # GFX11: buffer_atomic_and_b32 v5, off, s[8:11], s3 offset:4095 slc                     ; encoding: [0xff,0x1f,0xf0,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x1f,0xf0,0xe0,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_and_b32 v5, off, s[8:11], s3 offset:4095 glc slc                 ; encoding: [0xff,0x5f,0xf0,0xe0,0x00,0x05,0x02,0x03]
-0xff,0x5f,0xf0,0xe0,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_and_b32 v5, off, s[8:11], s3 offset:4095 dlc                     ; encoding: [0xff,0x2f,0xf0,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xf0,0xe0,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_and_b32 v5, off, s[8:11], s3 offset:4095 glc slc dlc             ; encoding: [0xff,0x7f,0xf0,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x7f,0xf0,0xe0,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_and_b64 v[5:6], off, s[8:11], s3 offset:4095                     ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x03
@@ -2895,8 +2904,11 @@
 # GFX11: buffer_atomic_and_b64 v[5:6], off, s[8:11], s3 offset:4095 slc                 ; encoding: [0xff,0x1f,0x24,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x24,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_and_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc             ; encoding: [0xff,0x5f,0x24,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x24,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_and_b64 v[5:6], off, s[8:11], s3 offset:4095 dlc                 ; encoding: [0xff,0x2f,0x24,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x24,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_and_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc         ; encoding: [0xff,0x7f,0x24,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x24,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_cmpswap_b32 v[5:6], off, s[8:11], s3 offset:4095                 ; encoding: [0xff,0x0f,0xd0,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x0f,0xd0,0xe0,0x00,0x05,0x02,0x03
@@ -2949,8 +2961,11 @@
 # GFX11: buffer_atomic_cmpswap_b32 v[5:6], off, s[8:11], s3 offset:4095 slc             ; encoding: [0xff,0x1f,0xd0,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x1f,0xd0,0xe0,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_cmpswap_b32 v[5:6], off, s[8:11], s3 offset:4095 glc slc         ; encoding: [0xff,0x5f,0xd0,0xe0,0x00,0x05,0x02,0x03]
-0xff,0x5f,0xd0,0xe0,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_cmpswap_b32 v[5:6], off, s[8:11], s3 offset:4095 dlc             ; encoding: [0xff,0x2f,0xd0,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xd0,0xe0,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_cmpswap_b32 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc     ; encoding: [0xff,0x7f,0xd0,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x7f,0xd0,0xe0,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_cmpswap_b64 v[5:8], off, s[8:11], s3 offset:4095                 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x03
@@ -3003,8 +3018,11 @@
 # GFX11: buffer_atomic_cmpswap_b64 v[5:8], off, s[8:11], s3 offset:4095 slc             ; encoding: [0xff,0x1f,0x08,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x08,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_cmpswap_b64 v[5:8], off, s[8:11], s3 offset:4095 glc slc         ; encoding: [0xff,0x5f,0x08,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x08,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_cmpswap_b64 v[5:8], off, s[8:11], s3 offset:4095 dlc             ; encoding: [0xff,0x2f,0x08,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x08,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_cmpswap_b64 v[5:8], off, s[8:11], s3 offset:4095 glc slc dlc     ; encoding: [0xff,0x7f,0x08,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x08,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_cmpswap_f32 v[5:6], off, s[8:11], s3 offset:4095                 ; encoding: [0xff,0x0f,0x40,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x40,0xe1,0x00,0x05,0x02,0x03
@@ -3057,8 +3075,11 @@
 # GFX11: buffer_atomic_cmpswap_f32 v[5:6], off, s[8:11], s3 offset:4095 slc             ; encoding: [0xff,0x1f,0x40,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x40,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_cmpswap_f32 v[5:6], off, s[8:11], s3 offset:4095 glc slc         ; encoding: [0xff,0x5f,0x40,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x40,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_cmpswap_f32 v[5:6], off, s[8:11], s3 offset:4095 dlc             ; encoding: [0xff,0x2f,0x40,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x40,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_cmpswap_f32 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc     ; encoding: [0xff,0x7f,0x40,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x40,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_csub_u32 v5, off, s[8:11], s3 offset:4095 glc                    ; encoding: [0xff,0x4f,0xdc,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x4f,0xdc,0xe0,0x00,0x05,0x02,0x03
@@ -3111,6 +3132,12 @@
 # GFX11: buffer_atomic_csub_u32 v5, off, s[8:11], s3 offset:4095 glc slc                ; encoding: [0xff,0x5f,0xdc,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x5f,0xdc,0xe0,0x00,0x05,0x02,0x03
 
+# GFX11: buffer_atomic_csub_u32 v5, off, s[8:11], s3 offset:4095 glc dlc                ; encoding: [0xff,0x6f,0xdc,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x6f,0xdc,0xe0,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_csub_u32 v5, off, s[8:11], s3 offset:4095 glc slc dlc            ; encoding: [0xff,0x7f,0xdc,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x7f,0xdc,0xe0,0x00,0x05,0x02,0x03
+
 # GFX11: buffer_atomic_dec_u32 v5, off, s[8:11], s3 offset:4095                         ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x03
 
@@ -3162,8 +3189,11 @@
 # GFX11: buffer_atomic_dec_u32 v5, off, s[8:11], s3 offset:4095 slc                     ; encoding: [0xff,0x1f,0x00,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x00,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_dec_u32 v5, off, s[8:11], s3 offset:4095 glc slc                 ; encoding: [0xff,0x5f,0x00,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x00,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_dec_u32 v5, off, s[8:11], s3 offset:4095 dlc                     ; encoding: [0xff,0x2f,0x00,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x00,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_dec_u32 v5, off, s[8:11], s3 offset:4095 glc slc dlc             ; encoding: [0xff,0x7f,0x00,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x00,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_dec_u64 v[5:6], off, s[8:11], s3 offset:4095                     ; encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x03
@@ -3216,8 +3246,11 @@
 # GFX11: buffer_atomic_dec_u64 v[5:6], off, s[8:11], s3 offset:4095 slc                 ; encoding: [0xff,0x1f,0x34,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x34,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_dec_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc             ; encoding: [0xff,0x5f,0x34,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x34,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_dec_u64 v[5:6], off, s[8:11], s3 offset:4095 dlc                 ; encoding: [0xff,0x2f,0x34,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x34,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_dec_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc         ; encoding: [0xff,0x7f,0x34,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x34,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_inc_u32 v5, off, s[8:11], s3 offset:4095                         ; encoding: [0xff,0x0f,0xfc,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x0f,0xfc,0xe0,0x00,0x05,0x02,0x03
@@ -3270,8 +3303,11 @@
 # GFX11: buffer_atomic_inc_u32 v5, off, s[8:11], s3 offset:4095 slc                     ; encoding: [0xff,0x1f,0xfc,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x1f,0xfc,0xe0,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_inc_u32 v5, off, s[8:11], s3 offset:4095 glc slc                 ; encoding: [0xff,0x5f,0xfc,0xe0,0x00,0x05,0x02,0x03]
-0xff,0x5f,0xfc,0xe0,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_inc_u32 v5, off, s[8:11], s3 offset:4095 dlc                     ; encoding: [0xff,0x2f,0xfc,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xfc,0xe0,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_inc_u32 v5, off, s[8:11], s3 offset:4095 glc slc dlc             ; encoding: [0xff,0x7f,0xfc,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x7f,0xfc,0xe0,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_inc_u64 v[5:6], off, s[8:11], s3 offset:4095                     ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x03
@@ -3324,8 +3360,11 @@
 # GFX11: buffer_atomic_inc_u64 v[5:6], off, s[8:11], s3 offset:4095 slc                 ; encoding: [0xff,0x1f,0x30,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x30,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_inc_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc             ; encoding: [0xff,0x5f,0x30,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x30,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_inc_u64 v[5:6], off, s[8:11], s3 offset:4095 dlc                 ; encoding: [0xff,0x2f,0x30,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x30,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_inc_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc         ; encoding: [0xff,0x7f,0x30,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x30,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_max_f32 v5, off, s[8:11], s3 offset:4095                         ; encoding: [0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0x03
@@ -3378,8 +3417,11 @@
 # GFX11: buffer_atomic_max_f32 v5, off, s[8:11], s3 offset:4095 slc                     ; encoding: [0xff,0x1f,0x48,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x48,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_max_f32 v5, off, s[8:11], s3 offset:4095 glc slc                 ; encoding: [0xff,0x5f,0x48,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x48,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_max_f32 v5, off, s[8:11], s3 offset:4095 dlc                     ; encoding: [0xff,0x2f,0x48,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x48,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_max_f32 v5, off, s[8:11], s3 offset:4095 glc slc dlc             ; encoding: [0xff,0x7f,0x48,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x48,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_max_i32 v5, off, s[8:11], s3 offset:4095                         ; encoding: [0xff,0x0f,0xe8,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x0f,0xe8,0xe0,0x00,0x05,0x02,0x03
@@ -3432,8 +3474,11 @@
 # GFX11: buffer_atomic_max_i32 v5, off, s[8:11], s3 offset:4095 slc                     ; encoding: [0xff,0x1f,0xe8,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x1f,0xe8,0xe0,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_max_i32 v5, off, s[8:11], s3 offset:4095 glc slc                 ; encoding: [0xff,0x5f,0xe8,0xe0,0x00,0x05,0x02,0x03]
-0xff,0x5f,0xe8,0xe0,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_max_i32 v5, off, s[8:11], s3 offset:4095 dlc                     ; encoding: [0xff,0x2f,0xe8,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xe8,0xe0,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_max_i32 v5, off, s[8:11], s3 offset:4095 glc slc dlc             ; encoding: [0xff,0x7f,0xe8,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x7f,0xe8,0xe0,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_max_i64 v[5:6], off, s[8:11], s3 offset:4095                     ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x03
@@ -3486,8 +3531,11 @@
 # GFX11: buffer_atomic_max_i64 v[5:6], off, s[8:11], s3 offset:4095 slc                 ; encoding: [0xff,0x1f,0x1c,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x1c,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_max_i64 v[5:6], off, s[8:11], s3 offset:4095 glc slc             ; encoding: [0xff,0x5f,0x1c,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x1c,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_max_i64 v[5:6], off, s[8:11], s3 offset:4095 dlc                 ; encoding: [0xff,0x2f,0x1c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x1c,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_max_i64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc         ; encoding: [0xff,0x7f,0x1c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x1c,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_max_u32 v5, off, s[8:11], s3 offset:4095                         ; encoding: [0xff,0x0f,0xec,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x0f,0xec,0xe0,0x00,0x05,0x02,0x03
@@ -3540,8 +3588,11 @@
 # GFX11: buffer_atomic_max_u32 v5, off, s[8:11], s3 offset:4095 slc                     ; encoding: [0xff,0x1f,0xec,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x1f,0xec,0xe0,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_max_u32 v5, off, s[8:11], s3 offset:4095 glc slc                 ; encoding: [0xff,0x5f,0xec,0xe0,0x00,0x05,0x02,0x03]
-0xff,0x5f,0xec,0xe0,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_max_u32 v5, off, s[8:11], s3 offset:4095 dlc                     ; encoding: [0xff,0x2f,0xec,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xec,0xe0,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_max_u32 v5, off, s[8:11], s3 offset:4095 glc slc dlc             ; encoding: [0xff,0x7f,0xec,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x7f,0xec,0xe0,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_max_u64 v[5:6], off, s[8:11], s3 offset:4095                     ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x03
@@ -3594,8 +3645,11 @@
 # GFX11: buffer_atomic_max_u64 v[5:6], off, s[8:11], s3 offset:4095 slc                 ; encoding: [0xff,0x1f,0x20,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x20,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_max_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc             ; encoding: [0xff,0x5f,0x20,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x20,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_max_u64 v[5:6], off, s[8:11], s3 offset:4095 dlc                 ; encoding: [0xff,0x2f,0x20,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x20,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_max_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc         ; encoding: [0xff,0x7f,0x20,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x20,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_min_f32 v5, off, s[8:11], s3 offset:4095                         ; encoding: [0xff,0x0f,0x44,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x44,0xe1,0x00,0x05,0x02,0x03
@@ -3648,8 +3702,11 @@
 # GFX11: buffer_atomic_min_f32 v5, off, s[8:11], s3 offset:4095 slc                     ; encoding: [0xff,0x1f,0x44,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x44,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_min_f32 v5, off, s[8:11], s3 offset:4095 glc slc                 ; encoding: [0xff,0x5f,0x44,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x44,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_min_f32 v5, off, s[8:11], s3 offset:4095 dlc                     ; encoding: [0xff,0x2f,0x44,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x44,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_min_f32 v5, off, s[8:11], s3 offset:4095 glc slc dlc             ; encoding: [0xff,0x7f,0x44,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x44,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_min_i32 v5, off, s[8:11], s3 offset:4095                         ; encoding: [0xff,0x0f,0xe0,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x0f,0xe0,0xe0,0x00,0x05,0x02,0x03
@@ -3702,8 +3759,11 @@
 # GFX11: buffer_atomic_min_i32 v5, off, s[8:11], s3 offset:4095 slc                     ; encoding: [0xff,0x1f,0xe0,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x1f,0xe0,0xe0,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_min_i32 v5, off, s[8:11], s3 offset:4095 glc slc                 ; encoding: [0xff,0x5f,0xe0,0xe0,0x00,0x05,0x02,0x03]
-0xff,0x5f,0xe0,0xe0,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_min_i32 v5, off, s[8:11], s3 offset:4095 dlc                     ; encoding: [0xff,0x2f,0xe0,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xe0,0xe0,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_min_i32 v5, off, s[8:11], s3 offset:4095 glc slc dlc             ; encoding: [0xff,0x7f,0xe0,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x7f,0xe0,0xe0,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_min_i64 v[5:6], off, s[8:11], s3 offset:4095                     ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x03
@@ -3756,8 +3816,11 @@
 # GFX11: buffer_atomic_min_i64 v[5:6], off, s[8:11], s3 offset:4095 slc                 ; encoding: [0xff,0x1f,0x14,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x14,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_min_i64 v[5:6], off, s[8:11], s3 offset:4095 glc slc             ; encoding: [0xff,0x5f,0x14,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x14,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_min_i64 v[5:6], off, s[8:11], s3 offset:4095 dlc                 ; encoding: [0xff,0x2f,0x14,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x14,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_min_i64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc         ; encoding: [0xff,0x7f,0x14,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x14,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_min_u32 v5, off, s[8:11], s3 offset:4095                         ; encoding: [0xff,0x0f,0xe4,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x0f,0xe4,0xe0,0x00,0x05,0x02,0x03
@@ -3810,8 +3873,11 @@
 # GFX11: buffer_atomic_min_u32 v5, off, s[8:11], s3 offset:4095 slc                     ; encoding: [0xff,0x1f,0xe4,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x1f,0xe4,0xe0,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_min_u32 v5, off, s[8:11], s3 offset:4095 glc slc                 ; encoding: [0xff,0x5f,0xe4,0xe0,0x00,0x05,0x02,0x03]
-0xff,0x5f,0xe4,0xe0,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_min_u32 v5, off, s[8:11], s3 offset:4095 dlc                     ; encoding: [0xff,0x2f,0xe4,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xe4,0xe0,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_min_u32 v5, off, s[8:11], s3 offset:4095 glc slc dlc             ; encoding: [0xff,0x7f,0xe4,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x7f,0xe4,0xe0,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_min_u64 v[5:6], off, s[8:11], s3 offset:4095                     ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x03
@@ -3864,8 +3930,11 @@
 # GFX11: buffer_atomic_min_u64 v[5:6], off, s[8:11], s3 offset:4095 slc                 ; encoding: [0xff,0x1f,0x18,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x18,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_min_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc             ; encoding: [0xff,0x5f,0x18,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x18,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_min_u64 v[5:6], off, s[8:11], s3 offset:4095 dlc                 ; encoding: [0xff,0x2f,0x18,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x18,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_min_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc         ; encoding: [0xff,0x7f,0x18,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x18,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_or_b32 v5, off, s[8:11], s3 offset:4095                          ; encoding: [0xff,0x0f,0xf4,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x0f,0xf4,0xe0,0x00,0x05,0x02,0x03
@@ -3918,8 +3987,11 @@
 # GFX11: buffer_atomic_or_b32 v5, off, s[8:11], s3 offset:4095 slc                      ; encoding: [0xff,0x1f,0xf4,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x1f,0xf4,0xe0,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_or_b32 v5, off, s[8:11], s3 offset:4095 glc slc                  ; encoding: [0xff,0x5f,0xf4,0xe0,0x00,0x05,0x02,0x03]
-0xff,0x5f,0xf4,0xe0,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_or_b32 v5, off, s[8:11], s3 offset:4095 dlc                      ; encoding: [0xff,0x2f,0xf4,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xf4,0xe0,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_or_b32 v5, off, s[8:11], s3 offset:4095 glc slc dlc              ; encoding: [0xff,0x7f,0xf4,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x7f,0xf4,0xe0,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_or_b64 v[5:6], off, s[8:11], s3 offset:4095                      ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x03
@@ -3972,8 +4044,11 @@
 # GFX11: buffer_atomic_or_b64 v[5:6], off, s[8:11], s3 offset:4095 slc                  ; encoding: [0xff,0x1f,0x28,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x28,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_or_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc              ; encoding: [0xff,0x5f,0x28,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x28,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_or_b64 v[5:6], off, s[8:11], s3 offset:4095 dlc                  ; encoding: [0xff,0x2f,0x28,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x28,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_or_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc          ; encoding: [0xff,0x7f,0x28,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x28,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_sub_u32 v5, off, s[8:11], s3 offset:4095                         ; encoding: [0xff,0x0f,0xd8,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x0f,0xd8,0xe0,0x00,0x05,0x02,0x03
@@ -4026,8 +4101,11 @@
 # GFX11: buffer_atomic_sub_u32 v5, off, s[8:11], s3 offset:4095 slc                     ; encoding: [0xff,0x1f,0xd8,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x1f,0xd8,0xe0,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_sub_u32 v5, off, s[8:11], s3 offset:4095 glc slc                 ; encoding: [0xff,0x5f,0xd8,0xe0,0x00,0x05,0x02,0x03]
-0xff,0x5f,0xd8,0xe0,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_sub_u32 v5, off, s[8:11], s3 offset:4095 dlc                     ; encoding: [0xff,0x2f,0xd8,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xd8,0xe0,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_sub_u32 v5, off, s[8:11], s3 offset:4095 glc slc dlc             ; encoding: [0xff,0x7f,0xd8,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x7f,0xd8,0xe0,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_sub_u64 v[5:6], off, s[8:11], s3 offset:4095                     ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x03
@@ -4080,8 +4158,11 @@
 # GFX11: buffer_atomic_sub_u64 v[5:6], off, s[8:11], s3 offset:4095 slc                 ; encoding: [0xff,0x1f,0x10,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x10,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_sub_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc             ; encoding: [0xff,0x5f,0x10,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x10,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_sub_u64 v[5:6], off, s[8:11], s3 offset:4095 dlc                 ; encoding: [0xff,0x2f,0x10,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x10,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_sub_u64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc         ; encoding: [0xff,0x7f,0x10,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x10,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_swap_b32 v5, off, s[8:11], s3 offset:4095                        ; encoding: [0xff,0x0f,0xcc,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x0f,0xcc,0xe0,0x00,0x05,0x02,0x03
@@ -4134,8 +4215,11 @@
 # GFX11: buffer_atomic_swap_b32 v5, off, s[8:11], s3 offset:4095 slc                    ; encoding: [0xff,0x1f,0xcc,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x1f,0xcc,0xe0,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_swap_b32 v5, off, s[8:11], s3 offset:4095 glc slc                ; encoding: [0xff,0x5f,0xcc,0xe0,0x00,0x05,0x02,0x03]
-0xff,0x5f,0xcc,0xe0,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_swap_b32 v5, off, s[8:11], s3 offset:4095 dlc                    ; encoding: [0xff,0x2f,0xcc,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xcc,0xe0,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_swap_b32 v5, off, s[8:11], s3 offset:4095 glc slc dlc            ; encoding: [0xff,0x7f,0xcc,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x7f,0xcc,0xe0,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_swap_b64 v[5:6], off, s[8:11], s3 offset:4095                    ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x03
@@ -4188,8 +4272,11 @@
 # GFX11: buffer_atomic_swap_b64 v[5:6], off, s[8:11], s3 offset:4095 slc                ; encoding: [0xff,0x1f,0x04,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x04,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_swap_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc            ; encoding: [0xff,0x5f,0x04,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x04,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_swap_b64 v[5:6], off, s[8:11], s3 offset:4095 dlc                ; encoding: [0xff,0x2f,0x04,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x04,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_swap_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc        ; encoding: [0xff,0x7f,0x04,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x04,0xe1,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_xor_b32 v5, off, s[8:11], s3 offset:4095                         ; encoding: [0xff,0x0f,0xf8,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x0f,0xf8,0xe0,0x00,0x05,0x02,0x03
@@ -4242,8 +4329,11 @@
 # GFX11: buffer_atomic_xor_b32 v5, off, s[8:11], s3 offset:4095 slc                     ; encoding: [0xff,0x1f,0xf8,0xe0,0x00,0x05,0x02,0x03]
 0xff,0x1f,0xf8,0xe0,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_xor_b32 v5, off, s[8:11], s3 offset:4095 glc slc                 ; encoding: [0xff,0x5f,0xf8,0xe0,0x00,0x05,0x02,0x03]
-0xff,0x5f,0xf8,0xe0,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_xor_b32 v5, off, s[8:11], s3 offset:4095 dlc                     ; encoding: [0xff,0x2f,0xf8,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xf8,0xe0,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_xor_b32 v5, off, s[8:11], s3 offset:4095 glc slc dlc             ; encoding: [0xff,0x7f,0xf8,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x7f,0xf8,0xe0,0x00,0x05,0x02,0x03
 
 # GFX11: buffer_atomic_xor_b64 v[5:6], off, s[8:11], s3 offset:4095                     ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x03
@@ -4296,6 +4386,9 @@
 # GFX11: buffer_atomic_xor_b64 v[5:6], off, s[8:11], s3 offset:4095 slc                 ; encoding: [0xff,0x1f,0x2c,0xe1,0x00,0x05,0x02,0x03]
 0xff,0x1f,0x2c,0xe1,0x00,0x05,0x02,0x03
 
-# GFX11: buffer_atomic_xor_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc             ; encoding: [0xff,0x5f,0x2c,0xe1,0x00,0x05,0x02,0x03]
-0xff,0x5f,0x2c,0xe1,0x00,0x05,0x02,0x03
+# GFX11: buffer_atomic_xor_b64 v[5:6], off, s[8:11], s3 offset:4095 dlc                 ; encoding: [0xff,0x2f,0x2c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x2c,0xe1,0x00,0x05,0x02,0x03
+
+# GFX11: buffer_atomic_xor_b64 v[5:6], off, s[8:11], s3 offset:4095 glc slc dlc         ; encoding: [0xff,0x7f,0x2c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x7f,0x2c,0xe1,0x00,0x05,0x02,0x03
 


        


More information about the llvm-commits mailing list