# RUN: llvm-mc -arch=amdgcn -mcpu=gfx1030 -disassemble -show-encoding < %s | FileCheck -check-prefix=GFX10 %s # RUN: llvm-mc -arch=amdgcn -mcpu=gfx1031 -disassemble -show-encoding < %s | FileCheck -check-prefix=GFX10 %s # RUN: llvm-mc -arch=amdgcn -mcpu=gfx1032 -disassemble -show-encoding < %s | FileCheck -check-prefix=GFX10 %s # RUN: llvm-mc -arch=amdgcn -mcpu=gfx1033 -disassemble -show-encoding < %s | FileCheck -check-prefix=GFX10 %s # GFX10: global_load_dword_addtid v1, s[2:3] offset:16 0x10,0x80,0x58,0xdc,0x00,0x00,0x02,0x01 # GFX10: global_load_dword_addtid v1, s[2:3] offset:16 glc slc dlc 0x10,0x90,0x5b,0xdc,0x00,0x00,0x02,0x01 # GFX10: global_store_dword_addtid v1, s[2:3] offset:16 glc slc dlc 0x10,0x90,0x5f,0xdc,0x00,0x01,0x02,0x00 # GFX10: global_load_dword_addtid v1, off offset:16 0x10,0x80,0x58,0xdc,0x00,0x00,0x7d,0x01 # GFX10: global_load_dword_addtid v1, off offset:16 glc slc dlc 0x10,0x90,0x5b,0xdc,0x00,0x00,0x7d,0x01 # GFX10: global_store_dword_addtid v1, off offset:16 glc slc dlc 0x10,0x90,0x5f,0xdc,0x00,0x01,0x7d,0x00 # GFX10: global_store_dword v254, v1, s[2:3] offset:16 0x10,0x80,0x70,0xdc,0xfe,0x01,0x02,0x00 # GFX10: global_atomic_csub v2, v[0:1], v2, off offset:100 glc slc 0x64,0x80,0xd3,0xdc,0x00,0x02,0x7d,0x02 # GFX10: global_atomic_csub v2, v[0:1], v2, off glc 0x00,0x80,0xd1,0xdc,0x00,0x02,0x7d,0x02 # GFX10: global_atomic_csub v2, v0, v2, s[2:3] glc 0x00,0x80,0xd1,0xdc,0x00,0x02,0x02,0x02 # GFX10: global_atomic_csub v2, v0, v2, s[2:3] offset:100 glc slc 0x64,0x80,0xd3,0xdc,0x00,0x02,0x02,0x02 # GFX10: buffer_atomic_csub v5, off, s[8:11], s3 0x00,0x40,0xd0,0xe0,0x00,0x05,0x02,0x03 # GFX10: buffer_atomic_csub v5, off, s[8:11], s3 offset:4095 glc 0xff,0x4f,0xd0,0xe0,0x00,0x05,0x02,0x03 # GFX10: buffer_atomic_csub v5, off, s[8:11], -1 offset:4095 glc 0xff,0x4f,0xd0,0xe0,0x00,0x05,0x02,0xc1 # GFX10: buffer_atomic_csub v5, v0, s[8:11], s3 offen offset:4095 glc 0xff,0x5f,0xd0,0xe0,0x00,0x05,0x02,0x03 # GFX10: buffer_atomic_csub v5, v0, s[8:11], s3 idxen offset:4095 glc 0xff,0x6f,0xd0,0xe0,0x00,0x05,0x02,0x03 # GFX10: buffer_atomic_csub v5, off, s[8:11], s3 glc slc 0x00,0x40,0xd0,0xe0,0x00,0x05,0x42,0x03 # GFX10: v_fma_legacy_f32 v0, v1, v2, v3 0x00,0x00,0x40,0xd5,0x01,0x05,0x0e,0x04 # GFX10: v_fma_legacy_f32 v0, v1, |v2|, -v3 0x00,0x02,0x40,0xd5,0x01,0x05,0x0e,0x84 # GFX10: v_fma_legacy_f32 v0, s1, 2.0, -v3 0x00,0x00,0x40,0xd5,0x01,0xe8,0x0d,0x84 # GFX10: v_fmac_legacy_f32_e32 v0, v1, v2 0x01,0x05,0x00,0x0c # GFX10: v_fmac_legacy_f32_e64 v0, |v1|, -v2 0x00,0x01,0x06,0xd5,0x01,0x05,0x02,0x40 # GFX10: v_fmac_legacy_f32_e64 v0, s1, 2.0 0x00,0x00,0x06,0xd5,0x01,0xe8,0x01,0x00 # GFX10: image_bvh_intersect_ray v[4:7], v[9:24], s[4:7] 0x01,0x9f,0x98,0xf1,0x09,0x04,0x01,0x00 # GFX10: image_bvh_intersect_ray v[4:7], v[9:16], s[4:7] a16 0x01,0x9f,0x98,0xf1,0x09,0x04,0x01,0x40 # GFX10: image_bvh64_intersect_ray v[4:7], v[9:24], s[4:7] 0x01,0x9f,0x9c,0xf1,0x09,0x04,0x01,0x00 # GFX10: image_bvh64_intersect_ray v[4:7], v[9:24], s[4:7] a16 0x01,0x9f,0x9c,0xf1,0x09,0x04,0x01,0x40 # GFX10: image_bvh_intersect_ray v[39:42], [v50, v46, v23, v17, v16, v15, v21, v20, v19, v37, v40], s[12:15] 0x07,0x9f,0x98,0xf1,0x32,0x27,0x03,0x00,0x2e,0x17,0x11,0x10,0x0f,0x15,0x14,0x13,0x25,0x28,0x00,0x00 # GFX10: image_bvh_intersect_ray v[39:42], [v50, v46, v23, v17, v16, v15, v21, v20], s[12:15] a16 0x05,0x9f,0x98,0xf1,0x32,0x27,0x03,0x40,0x2e,0x17,0x11,0x10,0x0f,0x15,0x14,0x00 # GFX10: image_bvh64_intersect_ray v[39:42], [v50, v46, v23, v17, v16, v15, v21, v20, v19, v37, v40, v42], s[12:15] 0x07,0x9f,0x9c,0xf1,0x32,0x27,0x03,0x00,0x2e,0x17,0x11,0x10,0x0f,0x15,0x14,0x13,0x25,0x28,0x2a,0x00 # GFX10: image_bvh64_intersect_ray v[39:42], [v50, v46, v23, v17, v16, v15, v21, v20, v19], s[12:15] a16 0x05,0x9f,0x9c,0xf1,0x32,0x27,0x03,0x40,0x2e,0x17,0x11,0x10,0x0f,0x15,0x14,0x13 # GFX10: image_msaa_load v[1:4], v5, s[8:15] dmask:0xf dim:SQ_RSRC_IMG_1D 0x01,0x0f,0x00,0xf0,0x05,0x01,0x02,0x00 # GFX10: image_msaa_load v[1:4], v5, s[8:15] dmask:0xf dim:SQ_RSRC_IMG_1D glc 0x01,0x2f,0x00,0xf0,0x05,0x01,0x02,0x00 # GFX10: image_msaa_load v5, v[1:2], s[8:15] dmask:0x1 dim:SQ_RSRC_IMG_2D d16 0x09,0x01,0x00,0xf0,0x01,0x05,0x02,0x80 # GFX10: image_msaa_load v[1:4], v5, s[8:15] dmask:0xf dim:SQ_RSRC_IMG_1D 0x01,0x0f,0x00,0xf0,0x05,0x01,0x02,0x00 # GFX10: image_msaa_load v14, [v204, v11, v14, v19], s[40:47] dmask:0x1 dim:SQ_RSRC_IMG_2D_MSAA_ARRAY 0x3b,0x01,0x00,0xf0,0xcc,0x0e,0x0a,0x00,0x0b,0x0e,0x13,0x00 # GFX10: scratch_load_ubyte v1, off, off ; encoding: [0x00,0x40,0x20,0xdc,0x00,0x00,0x7f,0x01] 0x00,0x40,0x20,0xdc,0x00,0x00,0x7f,0x01 # GFX10: scratch_load_sbyte v1, off, off ; encoding: [0x00,0x40,0x24,0xdc,0x00,0x00,0x7f,0x01] 0x00,0x40,0x24,0xdc,0x00,0x00,0x7f,0x01 # GFX10: scratch_load_ushort v1, off, off ; encoding: [0x00,0x40,0x28,0xdc,0x00,0x00,0x7f,0x01] 0x00,0x40,0x28,0xdc,0x00,0x00,0x7f,0x01 # GFX10: scratch_load_sshort v1, off, off ; encoding: [0x00,0x40,0x2c,0xdc,0x00,0x00,0x7f,0x01] 0x00,0x40,0x2c,0xdc,0x00,0x00,0x7f,0x01 # GFX10: scratch_load_dword v1, off, off ; encoding: [0x00,0x40,0x30,0xdc,0x00,0x00,0x7f,0x01] 0x00,0x40,0x30,0xdc,0x00,0x00,0x7f,0x01 # GFX10: scratch_load_dwordx2 v[1:2], off, off ; encoding: [0x00,0x40,0x34,0xdc,0x00,0x00,0x7f,0x01] 0x00,0x40,0x34,0xdc,0x00,0x00,0x7f,0x01 # GFX10: scratch_load_dwordx3 v[1:3], off, off ; encoding: [0x00,0x40,0x3c,0xdc,0x00,0x00,0x7f,0x01] 0x00,0x40,0x3c,0xdc,0x00,0x00,0x7f,0x01 # GFX10: scratch_load_dwordx4 v[1:4], off, off ; encoding: [0x00,0x40,0x38,0xdc,0x00,0x00,0x7f,0x01] 0x00,0x40,0x38,0xdc,0x00,0x00,0x7f,0x01 # GFX10: scratch_load_dword v1, off, off offset:2047 ; encoding: [0xff,0x47,0x30,0xdc,0x00,0x00,0x7f,0x01] 0xff,0x47,0x30,0xdc,0x00,0x00,0x7f,0x01 # GFX10: scratch_store_byte off, v2, off ; encoding: [0x00,0x40,0x60,0xdc,0x00,0x02,0x7f,0x00] 0x00,0x40,0x60,0xdc,0x00,0x02,0x7f,0x00 # GFX10: scratch_store_short off, v2, off ; encoding: [0x00,0x40,0x68,0xdc,0x00,0x02,0x7f,0x00] 0x00,0x40,0x68,0xdc,0x00,0x02,0x7f,0x00 # GFX10: scratch_store_dword off, v2, off ; encoding: [0x00,0x40,0x70,0xdc,0x00,0x02,0x7f,0x00] 0x00,0x40,0x70,0xdc,0x00,0x02,0x7f,0x00 # GFX10: scratch_store_dwordx2 off, v[2:3], off ; encoding: [0x00,0x40,0x74,0xdc,0x00,0x02,0x7f,0x00] 0x00,0x40,0x74,0xdc,0x00,0x02,0x7f,0x00 # GFX10: scratch_store_dwordx3 off, v[2:4], off ; encoding: [0x00,0x40,0x7c,0xdc,0x00,0x02,0x7f,0x00] 0x00,0x40,0x7c,0xdc,0x00,0x02,0x7f,0x00 # GFX10: scratch_store_dwordx4 off, v[2:5], off ; encoding: [0x00,0x40,0x78,0xdc,0x00,0x02,0x7f,0x00] 0x00,0x40,0x78,0xdc,0x00,0x02,0x7f,0x00 # GFX10: scratch_store_dword off, v2, off offset:2047 ; encoding: [0xff,0x47,0x70,0xdc,0x00,0x02,0x7f,0x00] 0xff,0x47,0x70,0xdc,0x00,0x02,0x7f,0x00 # GFX10: scratch_load_ubyte_d16 v1, off, off ; encoding: [0x00,0x40,0x80,0xdc,0x00,0x00,0x7f,0x01] 0x00,0x40,0x80,0xdc,0x00,0x00,0x7f,0x01 # GFX10: scratch_load_ubyte_d16_hi v1, off, off ; encoding: [0x00,0x40,0x84,0xdc,0x00,0x00,0x7f,0x01] 0x00,0x40,0x84,0xdc,0x00,0x00,0x7f,0x01 # GFX10: scratch_load_sbyte_d16 v1, off, off ; encoding: [0x00,0x40,0x88,0xdc,0x00,0x00,0x7f,0x01] 0x00,0x40,0x88,0xdc,0x00,0x00,0x7f,0x01 # GFX10: scratch_load_sbyte_d16_hi v1, off, off ; encoding: [0x00,0x40,0x8c,0xdc,0x00,0x00,0x7f,0x01] 0x00,0x40,0x8c,0xdc,0x00,0x00,0x7f,0x01 # GFX10: scratch_load_short_d16 v1, off, off ; encoding: [0x00,0x40,0x90,0xdc,0x00,0x00,0x7f,0x01] 0x00,0x40,0x90,0xdc,0x00,0x00,0x7f,0x01 # GFX10: scratch_load_short_d16_hi v1, off, off ; encoding: [0x00,0x40,0x94,0xdc,0x00,0x00,0x7f,0x01] 0x00,0x40,0x94,0xdc,0x00,0x00,0x7f,0x01 # GFX10: scratch_store_byte_d16_hi off, v2, off ; encoding: [0x00,0x40,0x64,0xdc,0x00,0x02,0x7f,0x00] 0x00,0x40,0x64,0xdc,0x00,0x02,0x7f,0x00 # GFX10: scratch_store_short_d16_hi off, v2, off ; encoding: [0x00,0x40,0x6c,0xdc,0x00,0x02,0x7f,0x00] 0x00,0x40,0x6c,0xdc,0x00,0x02,0x7f,0x00