# RUN: llvm-mc -triple=amdgcn -mcpu=gfx950 -show-encoding -disassemble %s | FileCheck -check-prefix=GFX950 %s # GFX950: global_load_lds_dwordx3 v2, s[4:5] offset:4 ; encoding: [0x04,0x80,0xf8,0xdd,0x02,0x00,0x04,0x00] 0x04,0x80,0xf8,0xdd,0x02,0x00,0x04,0x00 # GFX950: global_load_lds_dwordx3 v[2:3], off ; encoding: [0x00,0x80,0xf8,0xdd,0x02,0x00,0x7f,0x00] 0x00,0x80,0xf8,0xdd,0x02,0x00,0x7f,0x00 # GFX950: global_load_lds_dwordx3 v[2:3], off offset:4 ; encoding: [0x04,0x80,0xf8,0xdd,0x02,0x00,0x7f,0x00] 0x04,0x80,0xf8,0xdd,0x02,0x00,0x7f,0x00 # GFX950: global_load_lds_dwordx3 v[2:3], off sc0 nt sc1 ; encoding: [0x00,0x80,0xfb,0xdf,0x02,0x00,0x7f,0x00] 0x00,0x80,0xfb,0xdf,0x02,0x00,0x7f,0x00 # GFX950: global_load_lds_dwordx4 v2, s[4:5] offset:4 ; encoding: [0x04,0x80,0xf4,0xdd,0x02,0x00,0x04,0x00] 0x04,0x80,0xf4,0xdd,0x02,0x00,0x04,0x00 # GFX950: global_load_lds_dwordx4 v[2:3], off ; encoding: [0x00,0x80,0xf4,0xdd,0x02,0x00,0x7f,0x00] 0x00,0x80,0xf4,0xdd,0x02,0x00,0x7f,0x00 # GFX950: global_load_lds_dwordx4 v[2:3], off offset:4 ; encoding: [0x04,0x80,0xf4,0xdd,0x02,0x00,0x7f,0x00] 0x04,0x80,0xf4,0xdd,0x02,0x00,0x7f,0x00 # GFX950: global_load_lds_dwordx4 v[2:3], off sc0 nt sc1 ; encoding: [0x00,0x80,0xf7,0xdf,0x02,0x00,0x7f,0x00] 0x00,0x80,0xf7,0xdf,0x02,0x00,0x7f,0x00 # GFX950: buffer_load_dwordx3 off, s[8:11], s3 lds ; encoding: [0x00,0x00,0x59,0xe0,0x00,0x00,0x02,0x03] 0x00,0x00,0x59,0xe0,0x00,0x00,0x02,0x03 # GFX950: buffer_load_dwordx3 off, s[8:11], s3 offset:4095 lds ; encoding: [0xff,0x0f,0x59,0xe0,0x00,0x00,0x02,0x03] 0xff,0x0f,0x59,0xe0,0x00,0x00,0x02,0x03 # GFX950: buffer_load_dwordx3 v0, s[8:11], s101 offen lds ; encoding: [0x00,0x10,0x59,0xe0,0x00,0x00,0x02,0x65] 0x00,0x10,0x59,0xe0,0x00,0x00,0x02,0x65 # GFX950: buffer_load_dwordx4 off, s[8:11], s3 lds ; encoding: [0x00,0x00,0x5d,0xe0,0x00,0x00,0x02,0x03] 0x00,0x00,0x5d,0xe0,0x00,0x00,0x02,0x03 # GFX950: buffer_load_dwordx4 off, s[8:11], s3 offset:4095 lds ; encoding: [0xff,0x0f,0x5d,0xe0,0x00,0x00,0x02,0x03] 0xff,0x0f,0x5d,0xe0,0x00,0x00,0x02,0x03 # GFX950: buffer_load_dwordx4 v0, s[8:11], s101 offen lds ; encoding: [0x00,0x10,0x5d,0xe0,0x00,0x00,0x02,0x65] 0x00,0x10,0x5d,0xe0,0x00,0x00,0x02,0x65 # GFX950: v_permlane16_swap_b32_e32 v1, v2 ; encoding: [0x02,0xb3,0x02,0x7e] 0x02,0xb3,0x02,0x7e # GFX950: v_permlane16_swap_b32_e64 v1, v2 ; encoding: [0x01,0x00,0x99,0xd1,0x02,0x01,0x00,0x00] 0x01,0x00,0x99,0xd1,0x02,0x01,0x00,0x00 # GFX950: v_permlane16_swap_b32_e64 v1, v2 bound_ctrl:1 ; encoding: [0x01,0x10,0x99,0xd1,0x02,0x01,0x00,0x00] 0x01,0x10,0x99,0xd1,0x02,0x01,0x00,0x00 # GFX950: v_permlane16_swap_b32_e64 v1, v2 bound_ctrl:1 fi:1 ; encoding: [0x01,0x18,0x99,0xd1,0x02,0x01,0x00,0x00] 0x01,0x18,0x99,0xd1,0x02,0x01,0x00,0x00 # GFX950: v_permlane16_swap_b32_e64 v1, v2 fi:1 ; encoding: [0x01,0x08,0x99,0xd1,0x02,0x01,0x00,0x00] 0x01,0x08,0x99,0xd1,0x02,0x01,0x00,0x00 # GFX950: v_permlane32_swap_b32_e32 v1, v2 ; encoding: [0x02,0xb5,0x02,0x7e] 0x02,0xb5,0x02,0x7e # GFX950: v_permlane32_swap_b32_e64 v1, v2 ; encoding: [0x01,0x00,0x9a,0xd1,0x02,0x01,0x00,0x00] 0x01,0x00,0x9a,0xd1,0x02,0x01,0x00,0x00 # GFX950: v_permlane32_swap_b32_e64 v1, v2 bound_ctrl:1 ; encoding: [0x01,0x10,0x9a,0xd1,0x02,0x01,0x00,0x00] 0x01,0x10,0x9a,0xd1,0x02,0x01,0x00,0x00 # GFX950: v_permlane32_swap_b32_e64 v1, v2 bound_ctrl:1 fi:1 ; encoding: [0x01,0x18,0x9a,0xd1,0x02,0x01,0x00,0x00] 0x01,0x18,0x9a,0xd1,0x02,0x01,0x00,0x00 # GFX950: v_permlane32_swap_b32_e64 v1, v2 fi:1 ; encoding: [0x01,0x08,0x9a,0xd1,0x02,0x01,0x00,0x00] 0x01,0x08,0x9a,0xd1,0x02,0x01,0x00,0x00 # GFX950: buffer_atomic_pk_add_bf16 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 # GFX950: buffer_atomic_pk_add_bf16 v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe1,0x00,0xff,0x02,0x03] 0xff,0x0f,0x48,0xe1,0x00,0xff,0x02,0x03 # GFX950: buffer_atomic_pk_add_bf16 v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe1,0x00,0x05,0x03,0x03] 0xff,0x0f,0x48,0xe1,0x00,0x05,0x03,0x03 # GFX950: buffer_atomic_pk_add_bf16 v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe1,0x00,0x05,0x18,0x03] 0xff,0x0f,0x48,0xe1,0x00,0x05,0x18,0x03 # GFX950: buffer_atomic_pk_add_bf16 v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0x65] 0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0x65 # GFX950: buffer_atomic_pk_add_bf16 v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0x7c] 0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0x7c # GFX950: buffer_atomic_pk_add_bf16 v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x48,0xe1,0x00,0x05,0x02,0x03] 0xff,0x2f,0x48,0xe1,0x00,0x05,0x02,0x03 # GFX950: buffer_atomic_pk_add_bf16 v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x48,0xe1,0x00,0x05,0x02,0x03] 0xff,0x1f,0x48,0xe1,0x00,0x05,0x02,0x03 # GFX950: buffer_atomic_pk_add_bf16 v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x48,0xe1,0x00,0x05,0x02,0x03] 0x00,0x00,0x48,0xe1,0x00,0x05,0x02,0x03 # GFX950: buffer_atomic_pk_add_bf16 v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x48,0xe1,0x00,0x05,0x02,0x03] 0x00,0x00,0x48,0xe1,0x00,0x05,0x02,0x03 # GFX950: buffer_atomic_pk_add_bf16 v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x48,0xe1,0x00,0x05,0x02,0x03] 0x07,0x00,0x48,0xe1,0x00,0x05,0x02,0x03 # GFX950: buffer_atomic_pk_add_bf16 v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0x80] 0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0x80 # GFX950: buffer_atomic_pk_add_bf16 v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0xc1] 0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0xc1 # GFX950: buffer_atomic_pk_add_bf16 v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0xf0] 0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0xf0 # GFX950: buffer_atomic_pk_add_bf16 v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0xf7] 0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0xf7