xref: /llvm-project/llvm/test/MC/Disassembler/AMDGPU/gfx908-atomic-fadd-insts.txt (revision 252c42354eca54274ed7b10c32c73c6937478e8b)
1# RUN: llvm-mc -triple=amdgcn -mcpu=gfx908 -disassemble -show-encoding < %s | FileCheck %s
2
3# CHECK: buffer_atomic_add_f32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x03]
40xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x03
5
6# CHECK: buffer_atomic_add_f32 v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x34,0xe1,0x00,0xff,0x02,0x03]
70xff,0x0f,0x34,0xe1,0x00,0xff,0x02,0x03
8
9# CHECK: buffer_atomic_add_f32 v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x03,0x03]
100xff,0x0f,0x34,0xe1,0x00,0x05,0x03,0x03
11
12# CHECK: buffer_atomic_add_f32 v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x18,0x03]
130xff,0x0f,0x34,0xe1,0x00,0x05,0x18,0x03
14
15# CHECK: buffer_atomic_add_f32 v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x65]
160xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x65
17
18# CHECK: buffer_atomic_add_f32 v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x7c]
190xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x7c
20
21# CHECK: buffer_atomic_add_f32 v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x80]
220xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x80
23
24# CHECK: buffer_atomic_add_f32 v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0xc1]
250xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0xc1
26
27# CHECK: buffer_atomic_add_f32 v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x34,0xe1,0x00,0x05,0x02,0x03]
280xff,0x2f,0x34,0xe1,0x00,0x05,0x02,0x03
29
30# CHECK: buffer_atomic_add_f32 v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x34,0xe1,0x00,0x05,0x02,0x03]
310xff,0x1f,0x34,0xe1,0x00,0x05,0x02,0x03
32
33# CHECK: buffer_atomic_add_f32 v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x34,0xe1,0x00,0x05,0x02,0x03]
340x00,0x00,0x34,0xe1,0x00,0x05,0x02,0x03
35
36# CHECK: buffer_atomic_add_f32 v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x34,0xe1,0x00,0x05,0x02,0x03]
370x00,0x00,0x34,0xe1,0x00,0x05,0x02,0x03
38
39# CHECK: buffer_atomic_add_f32 v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x34,0xe1,0x00,0x05,0x02,0x03]
400x07,0x00,0x34,0xe1,0x00,0x05,0x02,0x03
41
42# CHECK: buffer_atomic_add_f32 v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x36,0xe1,0x00,0x05,0x02,0x03]
430xff,0x0f,0x36,0xe1,0x00,0x05,0x02,0x03
44
45# CHECK: buffer_atomic_pk_add_f16 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x38,0xe1,0x00,0x05,0x02,0x03]
460xff,0x0f,0x38,0xe1,0x00,0x05,0x02,0x03
47
48# CHECK: buffer_atomic_pk_add_f16 v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x38,0xe1,0x00,0xff,0x02,0x03]
490xff,0x0f,0x38,0xe1,0x00,0xff,0x02,0x03
50
51# CHECK: buffer_atomic_pk_add_f16 v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x38,0xe1,0x00,0x05,0x03,0x03]
520xff,0x0f,0x38,0xe1,0x00,0x05,0x03,0x03
53
54# CHECK: buffer_atomic_pk_add_f16 v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x38,0xe1,0x00,0x05,0x18,0x03]
550xff,0x0f,0x38,0xe1,0x00,0x05,0x18,0x03
56
57# CHECK: buffer_atomic_pk_add_f16 v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x38,0xe1,0x00,0x05,0x02,0x65]
580xff,0x0f,0x38,0xe1,0x00,0x05,0x02,0x65
59
60# CHECK: buffer_atomic_pk_add_f16 v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x38,0xe1,0x00,0x05,0x02,0x7c]
610xff,0x0f,0x38,0xe1,0x00,0x05,0x02,0x7c
62
63# CHECK: buffer_atomic_pk_add_f16 v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x38,0xe1,0x00,0x05,0x02,0x80]
640xff,0x0f,0x38,0xe1,0x00,0x05,0x02,0x80
65
66# CHECK: buffer_atomic_pk_add_f16 v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x38,0xe1,0x00,0x05,0x02,0xc1]
670xff,0x0f,0x38,0xe1,0x00,0x05,0x02,0xc1
68
69# CHECK: buffer_atomic_pk_add_f16 v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x38,0xe1,0x00,0x05,0x02,0x03]
700xff,0x2f,0x38,0xe1,0x00,0x05,0x02,0x03
71
72# CHECK: buffer_atomic_pk_add_f16 v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x38,0xe1,0x00,0x05,0x02,0x03]
730xff,0x1f,0x38,0xe1,0x00,0x05,0x02,0x03
74
75# CHECK: buffer_atomic_pk_add_f16 v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x38,0xe1,0x00,0x05,0x02,0x03]
760x00,0x00,0x38,0xe1,0x00,0x05,0x02,0x03
77
78# CHECK: buffer_atomic_pk_add_f16 v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x38,0xe1,0x00,0x05,0x02,0x03]
790x00,0x00,0x38,0xe1,0x00,0x05,0x02,0x03
80
81# CHECK: buffer_atomic_pk_add_f16 v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x38,0xe1,0x00,0x05,0x02,0x03]
820x07,0x00,0x38,0xe1,0x00,0x05,0x02,0x03
83
84# CHECK: buffer_atomic_pk_add_f16 v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x3a,0xe1,0x00,0x05,0x02,0x03]
850xff,0x0f,0x3a,0xe1,0x00,0x05,0x02,0x03
86
87# CHECK: global_atomic_add_f32 v[1:2], v2, off offset:-1 ; encoding: [0xff,0x9f,0x34,0xdd,0x01,0x02,0x7f,0x00]
880xff,0x9f,0x34,0xdd,0x01,0x02,0x7f,0x00
89
90# CHECK: global_atomic_add_f32 v[1:2], v255, off offset:-1 ; encoding: [0xff,0x9f,0x34,0xdd,0x01,0xff,0x7f,0x00]
910xff,0x9f,0x34,0xdd,0x01,0xff,0x7f,0x00
92
93# CHECK: global_atomic_add_f32 v[1:2], v2, off ; encoding: [0x00,0x80,0x34,0xdd,0x01,0x02,0x7f,0x00]
940x00,0x80,0x34,0xdd,0x01,0x02,0x7f,0x00
95
96# CHECK: global_atomic_pk_add_f16 v[1:2], v2, off offset:-1 ; encoding: [0xff,0x9f,0x38,0xdd,0x01,0x02,0x7f,0x00]
970xff,0x9f,0x38,0xdd,0x01,0x02,0x7f,0x00
98
99# CHECK: global_atomic_pk_add_f16 v[1:2], v255, off offset:-1 ; encoding: [0xff,0x9f,0x38,0xdd,0x01,0xff,0x7f,0x00]
1000xff,0x9f,0x38,0xdd,0x01,0xff,0x7f,0x00
101
102# CHECK: global_atomic_pk_add_f16 v[1:2], v2, off ; encoding: [0x00,0x80,0x38,0xdd,0x01,0x02,0x7f,0x00]
1030x00,0x80,0x38,0xdd,0x01,0x02,0x7f,0x00
104