forked from OSchip/llvm-project
[AMDGPU][MC][GFX10] Enabled dlc for FLAT and GLOBAL atomics
Differential Revision: https://reviews.llvm.org/D109614
This commit is contained in:
parent
043733d677
commit
b8e7f53208
|
@ -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;
|
||||
|
|
|
@ -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.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue