[llvm] b8e7f53 - [AMDGPU][MC][GFX10] Enabled dlc for FLAT and GLOBAL atomics

Dmitry Preobrazhensky via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 21 06:22:54 PDT 2021


Author: Dmitry Preobrazhensky
Date: 2021-09-21T16:23:20+03:00
New Revision: b8e7f5320825812fc4b597ee5df3dccc53fe78bb

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

LOG: [AMDGPU][MC][GFX10] Enabled dlc for FLAT and GLOBAL atomics

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

Added: 
    

Modified: 
    llvm/lib/Target/AMDGPU/FLATInstructions.td
    llvm/test/MC/AMDGPU/gfx10_asm_flat.s
    llvm/test/MC/Disassembler/AMDGPU/flat_gfx10.txt

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/AMDGPU/FLATInstructions.td b/llvm/lib/Target/AMDGPU/FLATInstructions.td
index cc126d1e4861c..e132edb7c7254 100644
--- a/llvm/lib/Target/AMDGPU/FLATInstructions.td
+++ b/llvm/lib/Target/AMDGPU/FLATInstructions.td
@@ -352,8 +352,6 @@ class FLAT_AtomicNoRet_Pseudo<string opName, dag outs, dag ins,
     let mayStore = 1;
     let has_glc  = 0;
     let glcValue = 0;
-    let has_dlc  = 0;
-    let dlcValue = 0;
     let has_vdst = 0;
     let has_sccb  = 1;
     let sccbValue = 0;
@@ -367,7 +365,6 @@ class FLAT_AtomicRet_Pseudo<string opName, dag outs, dag ins,
   let hasPostISelHook = 1;
   let has_vdst = 1;
   let glcValue = 1;
-  let dlcValue = 0;
   let sccbValue = 0;
   let IsAtomicNoRet = 0;
   let IsAtomicRet = 1;

diff  --git a/llvm/test/MC/AMDGPU/gfx10_asm_flat.s b/llvm/test/MC/AMDGPU/gfx10_asm_flat.s
index 10becc0b8442e..388327205adb5 100644
--- a/llvm/test/MC/AMDGPU/gfx10_asm_flat.s
+++ b/llvm/test/MC/AMDGPU/gfx10_asm_flat.s
@@ -125,4 +125,200 @@ flat_atomic_inc_x2 v[1:2], v[2:3]
 flat_atomic_dec_x2 v[1:2], v[2:3]
 // GFX10: encoding: [0x00,0x00,0x74,0xdd,0x01,0x02,0x7d,0x00]
 
+//===----------------------------------------------------------------------===//
+// ENC_FLAT: dlc support for atomics.
+//===----------------------------------------------------------------------===//
+
+flat_atomic_add v[1:2], v2 dlc
+// GFX10: [0x00,0x10,0xc8,0xdc,0x01,0x02,0x7d,0x00]
+
+flat_atomic_add_x2 v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0x48,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_and v[1:2], v2 dlc
+// GFX10: [0x00,0x10,0xe4,0xdc,0x01,0x02,0x7d,0x00]
+
+flat_atomic_and_x2 v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0x64,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_cmpswap v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0xc4,0xdc,0x01,0x02,0x7d,0x00]
+
+flat_atomic_cmpswap_x2 v[1:2], v[2:5] dlc
+// GFX10: [0x00,0x10,0x44,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_dec v[1:2], v2 dlc
+// GFX10: [0x00,0x10,0xf4,0xdc,0x01,0x02,0x7d,0x00]
+
+flat_atomic_dec_x2 v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0x74,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_fcmpswap v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0xf8,0xdc,0x01,0x02,0x7d,0x00]
+
+flat_atomic_fcmpswap_x2 v[1:2], v[2:5] dlc
+// GFX10: [0x00,0x10,0x78,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_fmax v[1:2], v2 dlc
+// GFX10: [0x00,0x10,0x00,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_fmax_x2 v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0x80,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_fmin v[1:2], v2 dlc
+// GFX10: [0x00,0x10,0xfc,0xdc,0x01,0x02,0x7d,0x00]
+
+flat_atomic_fmin_x2 v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0x7c,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_inc v[1:2], v2 dlc
+// GFX10: [0x00,0x10,0xf0,0xdc,0x01,0x02,0x7d,0x00]
+
+flat_atomic_inc_x2 v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0x70,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_or v[1:2], v2 dlc
+// GFX10: [0x00,0x10,0xe8,0xdc,0x01,0x02,0x7d,0x00]
+
+flat_atomic_or_x2 v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0x68,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_smax v[1:2], v2 dlc
+// GFX10: [0x00,0x10,0xdc,0xdc,0x01,0x02,0x7d,0x00]
+
+flat_atomic_smax_x2 v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0x5c,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_smin v[1:2], v2 dlc
+// GFX10: [0x00,0x10,0xd4,0xdc,0x01,0x02,0x7d,0x00]
+
+flat_atomic_smin_x2 v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0x54,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_sub v[1:2], v2 dlc
+// GFX10: [0x00,0x10,0xcc,0xdc,0x01,0x02,0x7d,0x00]
+
+flat_atomic_sub_x2 v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0x4c,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_swap v[1:2], v2 dlc
+// GFX10: [0x00,0x10,0xc0,0xdc,0x01,0x02,0x7d,0x00]
+
+flat_atomic_swap_x2 v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0x40,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_umax v[1:2], v2 dlc
+// GFX10: [0x00,0x10,0xe0,0xdc,0x01,0x02,0x7d,0x00]
+
+flat_atomic_umax_x2 v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0x60,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_umin v[1:2], v2 dlc
+// GFX10: [0x00,0x10,0xd8,0xdc,0x01,0x02,0x7d,0x00]
+
+flat_atomic_umin_x2 v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0x58,0xdd,0x01,0x02,0x7d,0x00]
+
+flat_atomic_xor v[1:2], v2 dlc
+// GFX10: [0x00,0x10,0xec,0xdc,0x01,0x02,0x7d,0x00]
+
+flat_atomic_xor_x2 v[1:2], v[2:3] dlc
+// GFX10: [0x00,0x10,0x6c,0xdd,0x01,0x02,0x7d,0x00]
+
+//===----------------------------------------------------------------------===//
+// ENC_FLAT_GLOBAL: dlc support for atomics.
+//===----------------------------------------------------------------------===//
+
+global_atomic_add v[1:2], v2, off dlc
+// GFX10: [0x00,0x90,0xc8,0xdc,0x01,0x02,0x7d,0x00]
+
+global_atomic_add_x2 v[1:2], v[2:3], off dlc
+// GFX10: [0x00,0x90,0x48,0xdd,0x01,0x02,0x7d,0x00]
+
+global_atomic_and v[1:2], v2, off dlc
+// GFX10: [0x00,0x90,0xe4,0xdc,0x01,0x02,0x7d,0x00]
+
+global_atomic_and_x2 v[1:2], v[2:3], off dlc
+// GFX10: [0x00,0x90,0x64,0xdd,0x01,0x02,0x7d,0x00]
+
+global_atomic_cmpswap v[1:2], v[2:3], off dlc
+// GFX10: [0x00,0x90,0xc4,0xdc,0x01,0x02,0x7d,0x00]
+
+global_atomic_cmpswap_x2 v[1:2], v[2:5], off dlc
+// GFX10: [0x00,0x90,0x44,0xdd,0x01,0x02,0x7d,0x00]
+
+global_atomic_dec v[1:2], v2, off dlc
+// GFX10: [0x00,0x90,0xf4,0xdc,0x01,0x02,0x7d,0x00]
+
+global_atomic_dec_x2 v[1:2], v[2:3], off dlc
+// GFX10: [0x00,0x90,0x74,0xdd,0x01,0x02,0x7d,0x00]
+
+global_atomic_fmax v[1:2], v2, off dlc
+// GFX10: [0x00,0x90,0x00,0xdd,0x01,0x02,0x7d,0x00]
+
+global_atomic_fmax_x2 v[1:2], v[2:3], off dlc
+// GFX10: [0x00,0x90,0x80,0xdd,0x01,0x02,0x7d,0x00]
+
+global_atomic_fmin v[1:2], v2, off dlc
+// GFX10: [0x00,0x90,0xfc,0xdc,0x01,0x02,0x7d,0x00]
+
+global_atomic_fmin_x2 v[1:2], v[2:3], off dlc
+// GFX10: [0x00,0x90,0x7c,0xdd,0x01,0x02,0x7d,0x00]
+
+global_atomic_inc v[1:2], v2, off dlc
+// GFX10: [0x00,0x90,0xf0,0xdc,0x01,0x02,0x7d,0x00]
+
+global_atomic_inc_x2 v[1:2], v[2:3], off dlc
+// GFX10: [0x00,0x90,0x70,0xdd,0x01,0x02,0x7d,0x00]
+
+global_atomic_or v[1:2], v2, off dlc
+// GFX10: [0x00,0x90,0xe8,0xdc,0x01,0x02,0x7d,0x00]
+
+global_atomic_or_x2 v[1:2], v[2:3], off dlc
+// GFX10: [0x00,0x90,0x68,0xdd,0x01,0x02,0x7d,0x00]
+
+global_atomic_smax v[1:2], v2, off dlc
+// GFX10: [0x00,0x90,0xdc,0xdc,0x01,0x02,0x7d,0x00]
+
+global_atomic_smax_x2 v[1:2], v[2:3], off dlc
+// GFX10: [0x00,0x90,0x5c,0xdd,0x01,0x02,0x7d,0x00]
+
+global_atomic_smin v[1:2], v2, off dlc
+// GFX10: [0x00,0x90,0xd4,0xdc,0x01,0x02,0x7d,0x00]
+
+global_atomic_smin_x2 v[1:2], v[2:3], off dlc
+// GFX10: [0x00,0x90,0x54,0xdd,0x01,0x02,0x7d,0x00]
+
+global_atomic_sub v[1:2], v2, off dlc
+// GFX10: [0x00,0x90,0xcc,0xdc,0x01,0x02,0x7d,0x00]
+
+global_atomic_sub_x2 v[1:2], v[2:3], off dlc
+// GFX10: [0x00,0x90,0x4c,0xdd,0x01,0x02,0x7d,0x00]
+
+global_atomic_swap v[1:2], v2, off dlc
+// GFX10: [0x00,0x90,0xc0,0xdc,0x01,0x02,0x7d,0x00]
+
+global_atomic_swap_x2 v[1:2], v[2:3], off dlc
+// GFX10: [0x00,0x90,0x40,0xdd,0x01,0x02,0x7d,0x00]
+
+global_atomic_umax v[1:2], v2, off dlc
+// GFX10: [0x00,0x90,0xe0,0xdc,0x01,0x02,0x7d,0x00]
+
+global_atomic_umax_x2 v[1:2], v[2:3], off dlc
+// GFX10: [0x00,0x90,0x60,0xdd,0x01,0x02,0x7d,0x00]
+
+global_atomic_umin v[1:2], v2, off dlc
+// GFX10: [0x00,0x90,0xd8,0xdc,0x01,0x02,0x7d,0x00]
+
+global_atomic_umin_x2 v[1:2], v[2:3], off dlc
+// GFX10: [0x00,0x90,0x58,0xdd,0x01,0x02,0x7d,0x00]
+
+global_atomic_xor v[1:2], v2, off dlc
+// GFX10: [0x00,0x90,0xec,0xdc,0x01,0x02,0x7d,0x00]
+
+global_atomic_xor_x2 v[1:2], v[2:3], off dlc
+// GFX10: [0x00,0x90,0x6c,0xdd,0x01,0x02,0x7d,0x00]
+
+//===----------------------------------------------------------------------===//
 // Also see flat-gfx10.s, flat-global.s, flat-scratch-instructions.s.
+//===----------------------------------------------------------------------===//

diff  --git a/llvm/test/MC/Disassembler/AMDGPU/flat_gfx10.txt b/llvm/test/MC/Disassembler/AMDGPU/flat_gfx10.txt
index 6fc105f6e5949..779e39c69c329 100644
--- a/llvm/test/MC/Disassembler/AMDGPU/flat_gfx10.txt
+++ b/llvm/test/MC/Disassembler/AMDGPU/flat_gfx10.txt
@@ -73,3 +73,197 @@
 
 # CHECK: scratch_store_dword off, v2, s3 offset:-1 dlc ; encoding: [0xff,0x5f,0x70,0xdc,0x00,0x02,0x03,0x00]
 0xff,0x5f,0x70,0xdc,0x00,0x02,0x03,0x00
+
+#===------------------------------------------------------------------------===#
+# FLAT opcodes: dlc support for atomics
+#===------------------------------------------------------------------------===#
+
+# CHECK: flat_atomic_add v[1:2], v2 dlc ; encoding: [0x00,0x10,0xc8,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x10,0xc8,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_add_x2 v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0x48,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x48,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_and v[1:2], v2 dlc ; encoding: [0x00,0x10,0xe4,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x10,0xe4,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_and_x2 v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0x64,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x64,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_cmpswap v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0xc4,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x10,0xc4,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_cmpswap_x2 v[1:2], v[2:5] dlc ; encoding: [0x00,0x10,0x44,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x44,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_dec v[1:2], v2 dlc ; encoding: [0x00,0x10,0xf4,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x10,0xf4,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_dec_x2 v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0x74,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x74,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_fcmpswap v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0xf8,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x10,0xf8,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_fcmpswap_x2 v[1:2], v[2:5] dlc ; encoding: [0x00,0x10,0x78,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x78,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_fmax v[1:2], v2 dlc ; encoding: [0x00,0x10,0x00,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x00,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_fmax_x2 v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0x80,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x80,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_fmin v[1:2], v2 dlc ; encoding: [0x00,0x10,0xfc,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x10,0xfc,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_fmin_x2 v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0x7c,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x7c,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_inc v[1:2], v2 dlc ; encoding: [0x00,0x10,0xf0,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x10,0xf0,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_inc_x2 v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0x70,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x70,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_or v[1:2], v2 dlc ; encoding: [0x00,0x10,0xe8,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x10,0xe8,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_or_x2 v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0x68,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x68,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_smax v[1:2], v2 dlc ; encoding: [0x00,0x10,0xdc,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x10,0xdc,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_smax_x2 v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0x5c,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x5c,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_smin v[1:2], v2 dlc ; encoding: [0x00,0x10,0xd4,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x10,0xd4,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_smin_x2 v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0x54,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x54,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_sub v[1:2], v2 dlc ; encoding: [0x00,0x10,0xcc,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x10,0xcc,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_sub_x2 v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0x4c,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x4c,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_swap v[1:2], v2 dlc ; encoding: [0x00,0x10,0xc0,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x10,0xc0,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_swap_x2 v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0x40,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x40,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_umax v[1:2], v2 dlc ; encoding: [0x00,0x10,0xe0,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x10,0xe0,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_umax_x2 v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0x60,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x60,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_umin v[1:2], v2 dlc ; encoding: [0x00,0x10,0xd8,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x10,0xd8,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_umin_x2 v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0x58,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x58,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_xor v[1:2], v2 dlc ; encoding: [0x00,0x10,0xec,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x10,0xec,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: flat_atomic_xor_x2 v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0x6c,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x10,0x6c,0xdd,0x01,0x02,0x7d,0x00
+
+#===------------------------------------------------------------------------===#
+# FLAT GLOBAL opcodes: dlc support for atomics
+#===------------------------------------------------------------------------===#
+
+# CHECK: global_atomic_add v[1:2], v2, off dlc ; encoding: [0x00,0x90,0xc8,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x90,0xc8,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_add_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x48,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x48,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_and v[1:2], v2, off dlc ; encoding: [0x00,0x90,0xe4,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x90,0xe4,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_and_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x64,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x64,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_cmpswap v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0xc4,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x90,0xc4,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_cmpswap_x2 v[1:2], v[2:5], off dlc ; encoding: [0x00,0x90,0x44,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x44,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_dec v[1:2], v2, off dlc ; encoding: [0x00,0x90,0xf4,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x90,0xf4,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_dec_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x74,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x74,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_fmax v[1:2], v2, off dlc ; encoding: [0x00,0x90,0x00,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x00,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_fmax_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x80,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x80,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_fmin v[1:2], v2, off dlc ; encoding: [0x00,0x90,0xfc,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x90,0xfc,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_fmin_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x7c,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x7c,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_inc v[1:2], v2, off dlc ; encoding: [0x00,0x90,0xf0,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x90,0xf0,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_inc_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x70,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x70,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_or v[1:2], v2, off dlc ; encoding: [0x00,0x90,0xe8,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x90,0xe8,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_or_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x68,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x68,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_smax v[1:2], v2, off dlc ; encoding: [0x00,0x90,0xdc,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x90,0xdc,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_smax_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x5c,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x5c,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_smin v[1:2], v2, off dlc ; encoding: [0x00,0x90,0xd4,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x90,0xd4,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_smin_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x54,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x54,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_sub v[1:2], v2, off dlc ; encoding: [0x00,0x90,0xcc,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x90,0xcc,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_sub_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x4c,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x4c,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_swap v[1:2], v2, off dlc ; encoding: [0x00,0x90,0xc0,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x90,0xc0,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_swap_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x40,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x40,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_umax v[1:2], v2, off dlc ; encoding: [0x00,0x90,0xe0,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x90,0xe0,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_umax_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x60,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x60,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_umin v[1:2], v2, off dlc ; encoding: [0x00,0x90,0xd8,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x90,0xd8,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_umin_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x58,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x58,0xdd,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_xor v[1:2], v2, off dlc ; encoding: [0x00,0x90,0xec,0xdc,0x01,0x02,0x7d,0x00]
+0x00,0x90,0xec,0xdc,0x01,0x02,0x7d,0x00
+
+# CHECK: global_atomic_xor_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x6c,0xdd,0x01,0x02,0x7d,0x00]
+0x00,0x90,0x6c,0xdd,0x01,0x02,0x7d,0x00


        


More information about the llvm-commits mailing list