1 // RUN
: not llvm-mc
-triple
=amdgcn
-mcpu
=tahiti
-show-encoding
%s | FileCheck
--check-prefixes
=SI
,SICI
%s
2 // RUN
: not llvm-mc
-triple
=amdgcn
-mcpu
=bonaire
-show-encoding
%s | FileCheck
--check-prefixes
=CI
,SICI
%s
3 // RUN
: not llvm-mc
-triple
=amdgcn
-mcpu
=tonga
-show-encoding
%s | FileCheck
-check-prefix
=VI
%s
5 // RUN
: not llvm-mc
-triple
=amdgcn
-mcpu
=tahiti
%s
2>&1 | FileCheck
--check-prefixes
=NOSI
,NOSICIVI
,NOSICI
--implicit-check-
not=error
: %s
6 // RUN
: not llvm-mc
-triple
=amdgcn
-mcpu
=bonaire
%s
2>&1 | FileCheck
--check-prefixes
=NOCI
,NOSICIVI
,NOSICI
--implicit-check-
not=error
: %s
7 // RUN
: not llvm-mc
-triple
=amdgcn
-mcpu
=tonga
%s
2>&1 | FileCheck
--check-prefixes
=NOVI
,NOSICIVI
--implicit-check-
not=error
: %s
9 //===----------------------------------------------------------------------===//
10 // Test for different operand combinations
11 //===----------------------------------------------------------------------===//
13 //===----------------------------------------------------------------------===//
14 // load
- immediate offset only
15 //===----------------------------------------------------------------------===//
17 buffer_load_dword v1
, off
, s
[4:7], s1
18 // SICI
: buffer_load_dword v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x30,0xe0,0x00,0x01,0x01,0x01]
19 // VI
: buffer_load_dword v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x50,0xe0,0x00,0x01,0x01,0x01]
21 buffer_load_dword v1
, off
, ttmp
[4:7], s1
22 // SICI
: buffer_load_dword v1
, off
, ttmp
[4:7], s1 ; encoding
: [0x00,0x00,0x30,0xe0,0x00,0x01,0x1d,0x01]
23 // VI
: buffer_load_dword v1
, off
, ttmp
[4:7], s1 ; encoding
: [0x00,0x00,0x50,0xe0,0x00,0x01,0x1d,0x01]
25 buffer_load_dword v1
, off
, s
[4:7], s1 offset
:4
26 // SICI
: buffer_load_dword v1
, off
, s
[4:7], s1 offset
:4 ; encoding
: [0x04,0x00,0x30,0xe0,0x00,0x01,0x01,0x01]
27 // VI
: buffer_load_dword v1
, off
, s
[4:7], s1 offset
:4 ; encoding
: [0x04,0x00,0x50,0xe0,0x00,0x01,0x01,0x01]
29 buffer_load_dword v1
, off
, s
[4:7], s1 offset
:4 glc
30 // SICI
: buffer_load_dword v1
, off
, s
[4:7], s1 offset
:4 glc ; encoding
: [0x04,0x40,0x30,0xe0,0x00,0x01,0x01,0x01]
31 // VI
: buffer_load_dword v1
, off
, s
[4:7], s1 offset
:4 glc ; encoding
: [0x04,0x40,0x50,0xe0,0x00,0x01,0x01,0x01]
33 buffer_load_dword v1
, off
, s
[4:7], s1 offset
:4 slc
34 // SICI
: buffer_load_dword v1
, off
, s
[4:7], s1 offset
:4 slc ; encoding
: [0x04,0x00,0x30,0xe0,0x00,0x01,0x41,0x01]
35 // VI
: buffer_load_dword v1
, off
, s
[4:7], s1 offset
:4 slc ; encoding
: [0x04,0x00,0x52,0xe0,0x00,0x01,0x01,0x01]
37 buffer_load_dword v
[1:2], off
, s
[4:7], s1 offset
:4 tfe
38 // SICI
: buffer_load_dword v
[1:2], off
, s
[4:7], s1 offset
:4 tfe ; encoding
: [0x04,0x00,0x30,0xe0,0x00,0x01,0x81,0x01]
39 // VI
: buffer_load_dword v
[1:2], off
, s
[4:7], s1 offset
:4 tfe ; encoding
: [0x04,0x00,0x50,0xe0,0x00,0x01,0x81,0x01]
41 buffer_load_dword v
[1:2], off
, s
[4:7], s1 glc tfe
42 // SICI
: buffer_load_dword v
[1:2], off
, s
[4:7], s1 glc tfe ; encoding
: [0x00,0x40,0x30,0xe0,0x00,0x01,0x81,0x01]
43 // VI
: buffer_load_dword v
[1:2], off
, s
[4:7], s1 glc tfe ; encoding
: [0x00,0x40,0x50,0xe0,0x00,0x01,0x81,0x01]
45 buffer_load_dword v
[1:2], off
, s
[4:7], s1 offset
:4 glc slc tfe
46 // SICI
: buffer_load_dword v
[1:2], off
, s
[4:7], s1 offset
:4 glc slc tfe ; encoding
: [0x04,0x40,0x30,0xe0,0x00,0x01,0xc1,0x01]
47 // VI
: buffer_load_dword v
[1:2], off
, s
[4:7], s1 offset
:4 glc slc tfe ; encoding
: [0x04,0x40,0x52,0xe0,0x00,0x01,0x81,0x01]
49 buffer_load_dword v
[1:2], off
, ttmp
[4:7], s1 offset
:4 glc slc tfe
50 // SICI
: buffer_load_dword v
[1:2], off
, ttmp
[4:7], s1 offset
:4 glc slc tfe ; encoding
: [0x04,0x40,0x30,0xe0,0x00,0x01,0xdd,0x01]
51 // VI
: buffer_load_dword v
[1:2], off
, ttmp
[4:7], s1 offset
:4 glc slc tfe ; encoding
: [0x04,0x40,0x52,0xe0,0x00,0x01,0x9d,0x01]
53 //===----------------------------------------------------------------------===//
55 //===----------------------------------------------------------------------===//
57 buffer_load_dword v1
, v2
, s
[4:7], s1 offen
58 // SICI
: buffer_load_dword v1
, v2
, s
[4:7], s1 offen ; encoding
: [0x00,0x10,0x30,0xe0,0x02,0x01,0x01,0x01]
59 // VI
: buffer_load_dword v1
, v2
, s
[4:7], s1 offen ; encoding
: [0x00,0x10,0x50,0xe0,0x02,0x01,0x01,0x01]
61 buffer_load_dword v1
, v2
, s
[4:7], s1 offen offset
:4
62 // SICI
: buffer_load_dword v1
, v2
, s
[4:7], s1 offen offset
:4 ; encoding
: [0x04,0x10,0x30,0xe0,0x02,0x01,0x01,0x01]
63 // VI
: buffer_load_dword v1
, v2
, s
[4:7], s1 offen offset
:4 ; encoding
: [0x04,0x10,0x50,0xe0,0x02,0x01,0x01,0x01]
65 buffer_load_dword v1
, v2
, s
[4:7], s1 offen offset
:4 glc
66 // SICI
: buffer_load_dword v1
, v2
, s
[4:7], s1 offen offset
:4 glc ; encoding
: [0x04,0x50,0x30,0xe0,0x02,0x01,0x01,0x01]
67 // VI
: buffer_load_dword v1
, v2
, s
[4:7], s1 offen offset
:4 glc ; encoding
: [0x04,0x50,0x50,0xe0,0x02,0x01,0x01,0x01]
69 buffer_load_dword v1
, v2
, s
[4:7], s1 offen offset
:4 slc
70 // SICI
: buffer_load_dword v1
, v2
, s
[4:7], s1 offen offset
:4 slc ; encoding
: [0x04,0x10,0x30,0xe0,0x02,0x01,0x41,0x01]
71 // VI
: buffer_load_dword v1
, v2
, s
[4:7], s1 offen offset
:4 slc ; encoding
: [0x04,0x10,0x52,0xe0,0x02,0x01,0x01,0x01]
73 buffer_load_dword v
[1:2], v2
, s
[4:7], s1 offen offset
:4 tfe
74 // SICI
: buffer_load_dword v
[1:2], v2
, s
[4:7], s1 offen offset
:4 tfe ; encoding
: [0x04,0x10,0x30,0xe0,0x02,0x01,0x81,0x01]
75 // VI
: buffer_load_dword v
[1:2], v2
, s
[4:7], s1 offen offset
:4 tfe ; encoding
: [0x04,0x10,0x50,0xe0,0x02,0x01,0x81,0x01]
77 buffer_load_dword v
[1:2], v2
, s
[4:7], s1 offen glc tfe
78 // SICI
: buffer_load_dword v
[1:2], v2
, s
[4:7], s1 offen glc tfe ; encoding
: [0x00,0x50,0x30,0xe0,0x02,0x01,0x81,0x01]
79 // VI
: buffer_load_dword v
[1:2], v2
, s
[4:7], s1 offen glc tfe ; encoding
: [0x00,0x50,0x50,0xe0,0x02,0x01,0x81,0x01]
81 buffer_load_dword v
[1:2], v2
, s
[4:7], s1 offen offset
:4 glc slc tfe
82 // SICI
: buffer_load_dword v
[1:2], v2
, s
[4:7], s1 offen offset
:4 glc slc tfe ; encoding
: [0x04,0x50,0x30,0xe0,0x02,0x01,0xc1,0x01]
83 // VI
: buffer_load_dword v
[1:2], v2
, s
[4:7], s1 offen offset
:4 glc slc tfe ; encoding
: [0x04,0x50,0x52,0xe0,0x02,0x01,0x81,0x01]
85 buffer_load_dword v
[1:2], v2
, ttmp
[4:7], s1 offen offset
:4 glc slc tfe
86 // SICI
: buffer_load_dword v
[1:2], v2
, ttmp
[4:7], s1 offen offset
:4 glc slc tfe ; encoding
: [0x04,0x50,0x30,0xe0,0x02,0x01,0xdd,0x01]
87 // VI
: buffer_load_dword v
[1:2], v2
, ttmp
[4:7], s1 offen offset
:4 glc slc tfe ; encoding
: [0x04,0x50,0x52,0xe0,0x02,0x01,0x9d,0x01]
89 buffer_load_dwordx2 v
[1:3], v2
, ttmp
[4:7], s1 offen offset
:4 glc slc tfe
90 // SICI
: buffer_load_dwordx2 v
[1:3], v2
, ttmp
[4:7], s1 offen offset
:4 glc slc tfe ; encoding
: [0x04,0x50,0x34,0xe0,0x02,0x01,0xdd,0x01]
91 // VI
: buffer_load_dwordx2 v
[1:3], v2
, ttmp
[4:7], s1 offen offset
:4 glc slc tfe ; encoding
: [0x04,0x50,0x56,0xe0,0x02,0x01,0x9d,0x01]
93 //===----------------------------------------------------------------------===//
95 //===----------------------------------------------------------------------===//
97 buffer_load_dword v1
, v2
, s
[4:7], s1 idxen
98 // SICI
: buffer_load_dword v1
, v2
, s
[4:7], s1 idxen ; encoding
: [0x00,0x20,0x30,0xe0,0x02,0x01,0x01,0x01]
99 // VI
: buffer_load_dword v1
, v2
, s
[4:7], s1 idxen ; encoding
: [0x00,0x20,0x50,0xe0,0x02,0x01,0x01,0x01]
101 buffer_load_dword v1
, v2
, s
[4:7], s1 idxen offset
:4
102 // SICI
: buffer_load_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 ; encoding
: [0x04,0x20,0x30,0xe0,0x02,0x01,0x01,0x01]
103 // VI
: buffer_load_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 ; encoding
: [0x04,0x20,0x50,0xe0,0x02,0x01,0x01,0x01]
105 buffer_load_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 glc
106 // SICI
: buffer_load_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 glc ; encoding
: [0x04,0x60,0x30,0xe0,0x02,0x01,0x01,0x01]
107 // VI
: buffer_load_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 glc ; encoding
: [0x04,0x60,0x50,0xe0,0x02,0x01,0x01,0x01]
109 buffer_load_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 slc
110 // SICI
: buffer_load_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 slc ; encoding
: [0x04,0x20,0x30,0xe0,0x02,0x01,0x41,0x01]
111 // VI
: buffer_load_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 slc ; encoding
: [0x04,0x20,0x52,0xe0,0x02,0x01,0x01,0x01]
113 buffer_load_dword v
[1:2], v2
, s
[4:7], s1 idxen offset
:4 tfe
114 // SICI
: buffer_load_dword v
[1:2], v2
, s
[4:7], s1 idxen offset
:4 tfe ; encoding
: [0x04,0x20,0x30,0xe0,0x02,0x01,0x81,0x01]
115 // VI
: buffer_load_dword v
[1:2], v2
, s
[4:7], s1 idxen offset
:4 tfe ; encoding
: [0x04,0x20,0x50,0xe0,0x02,0x01,0x81,0x01]
117 buffer_load_dword v
[1:2], v2
, s
[4:7], s1 idxen glc tfe
118 // SICI
: buffer_load_dword v
[1:2], v2
, s
[4:7], s1 idxen glc tfe ; encoding
: [0x00,0x60,0x30,0xe0,0x02,0x01,0x81,0x01]
119 // VI
: buffer_load_dword v
[1:2], v2
, s
[4:7], s1 idxen glc tfe ; encoding
: [0x00,0x60,0x50,0xe0,0x02,0x01,0x81,0x01]
121 buffer_load_dword v
[1:2], v2
, s
[4:7], s1 idxen offset
:4 glc slc tfe
122 // SICI
: buffer_load_dword v
[1:2], v2
, s
[4:7], s1 idxen offset
:4 glc slc tfe ; encoding
: [0x04,0x60,0x30,0xe0,0x02,0x01,0xc1,0x01]
123 // VI
: buffer_load_dword v
[1:2], v2
, s
[4:7], s1 idxen offset
:4 glc slc tfe ; encoding
: [0x04,0x60,0x52,0xe0,0x02,0x01,0x81,0x01]
125 buffer_load_dword v
[1:2], v2
, ttmp
[4:7], s1 idxen offset
:4 glc slc tfe
126 // SICI
: buffer_load_dword v
[1:2], v2
, ttmp
[4:7], s1 idxen offset
:4 glc slc tfe ; encoding
: [0x04,0x60,0x30,0xe0,0x02,0x01,0xdd,0x01]
127 // VI
: buffer_load_dword v
[1:2], v2
, ttmp
[4:7], s1 idxen offset
:4 glc slc tfe ; encoding
: [0x04,0x60,0x52,0xe0,0x02,0x01,0x9d,0x01]
129 buffer_load_dwordx4 v
[1:5], v2
, ttmp
[4:7], s1 idxen offset
:4 glc slc tfe
130 // SICI
: buffer_load_dwordx4 v
[1:5], v2
, ttmp
[4:7], s1 idxen offset
:4 glc slc tfe ; encoding
: [0x04,0x60,0x38,0xe0,0x02,0x01,0xdd,0x01]
131 // VI
: buffer_load_dwordx4 v
[1:5], v2
, ttmp
[4:7], s1 idxen offset
:4 glc slc tfe ; encoding
: [0x04,0x60,0x5e,0xe0,0x02,0x01,0x9d,0x01]
133 //===----------------------------------------------------------------------===//
134 // load
- vgpr index
and offset
135 //===----------------------------------------------------------------------===//
137 buffer_load_dword v1
, v
[2:3], s
[4:7], s1 idxen offen
138 // SICI
: buffer_load_dword v1
, v
[2:3], s
[4:7], s1 idxen offen ; encoding
: [0x00,0x30,0x30,0xe0,0x02,0x01,0x01,0x01]
139 // VI
: buffer_load_dword v1
, v
[2:3], s
[4:7], s1 idxen offen ; encoding
: [0x00,0x30,0x50,0xe0,0x02,0x01,0x01,0x01]
141 buffer_load_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4
142 // SICI
: buffer_load_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 ; encoding
: [0x04,0x30,0x30,0xe0,0x02,0x01,0x01,0x01]
143 // VI
: buffer_load_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 ; encoding
: [0x04,0x30,0x50,0xe0,0x02,0x01,0x01,0x01]
145 buffer_load_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 glc
146 // SICI
: buffer_load_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 glc ; encoding
: [0x04,0x70,0x30,0xe0,0x02,0x01,0x01,0x01]
147 // VI
: buffer_load_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 glc ; encoding
: [0x04,0x70,0x50,0xe0,0x02,0x01,0x01,0x01]
149 buffer_load_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 slc
150 // SICI
: buffer_load_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 slc ; encoding
: [0x04,0x30,0x30,0xe0,0x02,0x01,0x41,0x01]
151 // VI
: buffer_load_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 slc ; encoding
: [0x04,0x30,0x52,0xe0,0x02,0x01,0x01,0x01]
153 buffer_load_dword v
[1:2], v
[2:3], s
[4:7], s1 idxen offen offset
:4 tfe
154 // SICI
: buffer_load_dword v
[1:2], v
[2:3], s
[4:7], s1 idxen offen offset
:4 tfe ; encoding
: [0x04,0x30,0x30,0xe0,0x02,0x01,0x81,0x01]
155 // VI
: buffer_load_dword v
[1:2], v
[2:3], s
[4:7], s1 idxen offen offset
:4 tfe ; encoding
: [0x04,0x30,0x50,0xe0,0x02,0x01,0x81,0x01]
157 buffer_load_dword v
[1:2], v
[2:3], s
[4:7], s1 idxen offen glc tfe
158 // SICI
: buffer_load_dword v
[1:2], v
[2:3], s
[4:7], s1 idxen offen glc tfe ; encoding
: [0x00,0x70,0x30,0xe0,0x02,0x01,0x81,0x01]
159 // VI
: buffer_load_dword v
[1:2], v
[2:3], s
[4:7], s1 idxen offen glc tfe ; encoding
: [0x00,0x70,0x50,0xe0,0x02,0x01,0x81,0x01]
161 buffer_load_dword v
[1:2], v
[2:3], s
[4:7], s1 idxen offen offset
:4 glc slc tfe
162 // SICI
: buffer_load_dword v
[1:2], v
[2:3], s
[4:7], s1 idxen offen offset
:4 glc slc tfe ; encoding
: [0x04,0x70,0x30,0xe0,0x02,0x01,0xc1,0x01]
163 // VI
: buffer_load_dword v
[1:2], v
[2:3], s
[4:7], s1 idxen offen offset
:4 glc slc tfe ; encoding
: [0x04,0x70,0x52,0xe0,0x02,0x01,0x81,0x01]
165 buffer_load_dword v
[1:2], v
[2:3], ttmp
[4:7], ttmp1 idxen offen offset
:4 glc slc tfe
166 // SICI
: buffer_load_dword v
[1:2], v
[2:3], ttmp
[4:7], ttmp1 idxen offen offset
:4 glc slc tfe ; encoding
: [0x04,0x70,0x30,0xe0,0x02,0x01,0xdd,0x71]
167 // VI
: buffer_load_dword v
[1:2], v
[2:3], ttmp
[4:7], ttmp1 idxen offen offset
:4 glc slc tfe ; encoding
: [0x04,0x70,0x52,0xe0,0x02,0x01,0x9d,0x71]
169 //===----------------------------------------------------------------------===//
171 //===----------------------------------------------------------------------===//
173 buffer_load_dword v1
, v
[2:3], s
[4:7], s1 addr64
174 // SICI
: buffer_load_dword v1
, v
[2:3], s
[4:7], s1 addr64 ; encoding
: [0x00,0x80,0x30,0xe0,0x02,0x01,0x01,0x01]
175 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
177 buffer_load_dword v1
, v
[2:3], s
[4:7], s1 addr64 offset
:4
178 // SICI
: buffer_load_dword v1
, v
[2:3], s
[4:7], s1 addr64 offset
:4 ; encoding
: [0x04,0x80,0x30,0xe0,0x02,0x01,0x01,0x01]
179 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
181 buffer_load_dword v1
, v
[2:3], s
[4:7], s1 addr64 offset
:4 glc
182 // SICI
: buffer_load_dword v1
, v
[2:3], s
[4:7], s1 addr64 offset
:4 glc ; encoding
: [0x04,0xc0,0x30,0xe0,0x02,0x01,0x01,0x01]
183 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
185 buffer_load_dword v1
, v
[2:3], s
[4:7], s1 addr64 offset
:4 slc
186 // SICI
: buffer_load_dword v1
, v
[2:3], s
[4:7], s1 addr64 offset
:4 slc ; encoding
: [0x04,0x80,0x30,0xe0,0x02,0x01,0x41,0x01]
187 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
189 buffer_load_dword v
[1:2], v
[2:3], s
[4:7], s1 addr64 offset
:4 tfe
190 // SICI
: buffer_load_dword v
[1:2], v
[2:3], s
[4:7], s1 addr64 offset
:4 tfe ; encoding
: [0x04,0x80,0x30,0xe0,0x02,0x01,0x81,0x01]
191 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
193 buffer_load_dword v
[1:2], v
[2:3], s
[4:7], s1 addr64 glc tfe
194 // SICI
: buffer_load_dword v
[1:2], v
[2:3], s
[4:7], s1 addr64 glc tfe ; encoding
: [0x00,0xc0,0x30,0xe0,0x02,0x01,0x81,0x01]
195 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
197 buffer_load_dword v
[1:2], v
[2:3], s
[4:7], s1 addr64 offset
:4 glc slc tfe
198 // SICI
: buffer_load_dword v
[1:2], v
[2:3], s
[4:7], s1 addr64 offset
:4 glc slc tfe ; encoding
: [0x04,0xc0,0x30,0xe0,0x02,0x01,0xc1,0x01]
199 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
201 buffer_load_dword v
[1:2], v
[2:3], ttmp
[4:7], ttmp1 addr64 offset
:4 glc slc tfe
202 // SICI
: buffer_load_dword v
[1:2], v
[2:3], ttmp
[4:7], ttmp1 addr64 offset
:4 glc slc tfe ; encoding
: [0x04,0xc0,0x30,0xe0,0x02,0x01,0xdd,0x71]
203 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
205 //===----------------------------------------------------------------------===//
206 // store
- immediate offset only
207 //===----------------------------------------------------------------------===//
209 buffer_store_dword v1
, off
, s
[4:7], s1
210 // SICI
: buffer_store_dword v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x70,0xe0,0x00,0x01,0x01,0x01]
211 // VI
: buffer_store_dword v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x70,0xe0,0x00,0x01,0x01,0x01]
213 buffer_store_dword v1
, off
, s
[4:7], s1 offset
:4
214 // SICI
: buffer_store_dword v1
, off
, s
[4:7], s1 offset
:4 ; encoding
: [0x04,0x00,0x70,0xe0,0x00,0x01,0x01,0x01]
215 // VI
: buffer_store_dword v1
, off
, s
[4:7], s1 offset
:4 ; encoding
: [0x04,0x00,0x70,0xe0,0x00,0x01,0x01,0x01]
217 buffer_store_dword v1
, off
, s
[4:7], s1 offset
:4 glc
218 // SICI
: buffer_store_dword v1
, off
, s
[4:7], s1 offset
:4 glc ; encoding
: [0x04,0x40,0x70,0xe0,0x00,0x01,0x01,0x01]
219 // VI
: buffer_store_dword v1
, off
, s
[4:7], s1 offset
:4 glc ; encoding
: [0x04,0x40,0x70,0xe0,0x00,0x01,0x01,0x01]
221 buffer_store_dword v1
, off
, s
[4:7], s1 offset
:4 slc
222 // SICI
: buffer_store_dword v1
, off
, s
[4:7], s1 offset
:4 slc ; encoding
: [0x04,0x00,0x70,0xe0,0x00,0x01,0x41,0x01]
223 // VI
: buffer_store_dword v1
, off
, s
[4:7], s1 offset
:4 slc ; encoding
: [0x04,0x00,0x72,0xe0,0x00,0x01,0x01,0x01]
225 //===----------------------------------------------------------------------===//
226 // store
- vgpr offset
227 //===----------------------------------------------------------------------===//
229 buffer_store_dword v1
, v2
, s
[4:7], s1 offen
230 // SICI
: buffer_store_dword v1
, v2
, s
[4:7], s1 offen ; encoding
: [0x00,0x10,0x70,0xe0,0x02,0x01,0x01,0x01]
231 // VI
: buffer_store_dword v1
, v2
, s
[4:7], s1 offen ; encoding
: [0x00,0x10,0x70,0xe0,0x02,0x01,0x01,0x01]
233 buffer_store_dword v1
, v2
, s
[4:7], s1 offen offset
:4
234 // SICI
: buffer_store_dword v1
, v2
, s
[4:7], s1 offen offset
:4 ; encoding
: [0x04,0x10,0x70,0xe0,0x02,0x01,0x01,0x01]
235 // VI
: buffer_store_dword v1
, v2
, s
[4:7], s1 offen offset
:4 ; encoding
: [0x04,0x10,0x70,0xe0,0x02,0x01,0x01,0x01]
237 buffer_store_dword v1
, v2
, s
[4:7], s1 offen offset
:4 glc
238 // SICI
: buffer_store_dword v1
, v2
, s
[4:7], s1 offen offset
:4 glc ; encoding
: [0x04,0x50,0x70,0xe0,0x02,0x01,0x01,0x01]
239 // VI
: buffer_store_dword v1
, v2
, s
[4:7], s1 offen offset
:4 glc ; encoding
: [0x04,0x50,0x70,0xe0,0x02,0x01,0x01,0x01]
241 buffer_store_dword v1
, v2
, s
[4:7], s1 offen offset
:4 slc
242 // SICI
: buffer_store_dword v1
, v2
, s
[4:7], s1 offen offset
:4 slc ; encoding
: [0x04,0x10,0x70,0xe0,0x02,0x01,0x41,0x01]
243 // VI
: buffer_store_dword v1
, v2
, s
[4:7], s1 offen offset
:4 slc ; encoding
: [0x04,0x10,0x72,0xe0,0x02,0x01,0x01,0x01]
245 //===----------------------------------------------------------------------===//
246 // store
- vgpr index
247 //===----------------------------------------------------------------------===//
249 buffer_store_dword v1
, v2
, s
[4:7], s1 idxen
250 // SICI
: buffer_store_dword v1
, v2
, s
[4:7], s1 idxen ; encoding
: [0x00,0x20,0x70,0xe0,0x02,0x01,0x01,0x01]
251 // VI
: buffer_store_dword v1
, v2
, s
[4:7], s1 idxen ; encoding
: [0x00,0x20,0x70,0xe0,0x02,0x01,0x01,0x01]
253 buffer_store_dword v1
, v2
, s
[4:7], s1 idxen offset
:4
254 // SICI
: buffer_store_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 ; encoding
: [0x04,0x20,0x70,0xe0,0x02,0x01,0x01,0x01]
255 // VI
: buffer_store_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 ; encoding
: [0x04,0x20,0x70,0xe0,0x02,0x01,0x01,0x01]
257 buffer_store_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 glc
258 // SICI
: buffer_store_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 glc ; encoding
: [0x04,0x60,0x70,0xe0,0x02,0x01,0x01,0x01]
259 // VI
: buffer_store_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 glc ; encoding
: [0x04,0x60,0x70,0xe0,0x02,0x01,0x01,0x01]
261 buffer_store_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 slc
262 // SICI
: buffer_store_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 slc ; encoding
: [0x04,0x20,0x70,0xe0,0x02,0x01,0x41,0x01]
263 // VI
: buffer_store_dword v1
, v2
, s
[4:7], s1 idxen offset
:4 slc ; encoding
: [0x04,0x20,0x72,0xe0,0x02,0x01,0x01,0x01]
265 //===----------------------------------------------------------------------===//
266 // store
- vgpr index
and offset
267 //===----------------------------------------------------------------------===//
269 buffer_store_dword v1
, v
[2:3], s
[4:7], s1 idxen offen
270 // SICI
: buffer_store_dword v1
, v
[2:3], s
[4:7], s1 idxen offen ; encoding
: [0x00,0x30,0x70,0xe0,0x02,0x01,0x01,0x01]
271 // VI
: buffer_store_dword v1
, v
[2:3], s
[4:7], s1 idxen offen ; encoding
: [0x00,0x30,0x70,0xe0,0x02,0x01,0x01,0x01]
273 buffer_store_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4
274 // SICI
: buffer_store_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 ; encoding
: [0x04,0x30,0x70,0xe0,0x02,0x01,0x01,0x01]
275 // VI
: buffer_store_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 ; encoding
: [0x04,0x30,0x70,0xe0,0x02,0x01,0x01,0x01]
277 buffer_store_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 glc
278 // SICI
: buffer_store_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 glc ; encoding
: [0x04,0x70,0x70,0xe0,0x02,0x01,0x01,0x01]
279 // VI
: buffer_store_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 glc ; encoding
: [0x04,0x70,0x70,0xe0,0x02,0x01,0x01,0x01]
281 buffer_store_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 slc
282 // SICI
: buffer_store_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 slc ; encoding
: [0x04,0x30,0x70,0xe0,0x02,0x01,0x41,0x01]
283 // VI
: buffer_store_dword v1
, v
[2:3], s
[4:7], s1 idxen offen offset
:4 slc ; encoding
: [0x04,0x30,0x72,0xe0,0x02,0x01,0x01,0x01]
285 //===----------------------------------------------------------------------===//
287 //===----------------------------------------------------------------------===//
289 buffer_store_dword v1
, v
[2:3], s
[4:7], s1 addr64
290 // SICI
: buffer_store_dword v1
, v
[2:3], s
[4:7], s1 addr64 ; encoding
: [0x00,0x80,0x70,0xe0,0x02,0x01,0x01,0x01]
291 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
293 buffer_store_dword v1
, v
[2:3], s
[4:7], s1 addr64 offset
:4
294 // SICI
: buffer_store_dword v1
, v
[2:3], s
[4:7], s1 addr64 offset
:4 ; encoding
: [0x04,0x80,0x70,0xe0,0x02,0x01,0x01,0x01]
295 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
297 buffer_store_dword v1
, v
[2:3], s
[4:7], s1 addr64 offset
:4 glc
298 // SICI
: buffer_store_dword v1
, v
[2:3], s
[4:7], s1 addr64 offset
:4 glc ; encoding
: [0x04,0xc0,0x70,0xe0,0x02,0x01,0x01,0x01]
299 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
301 buffer_store_dword v1
, v
[2:3], s
[4:7], s1 addr64 offset
:4 slc
302 // SICI
: buffer_store_dword v1
, v
[2:3], s
[4:7], s1 addr64 offset
:4 slc ; encoding
: [0x04,0x80,0x70,0xe0,0x02,0x01,0x41,0x01]
303 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
305 //===----------------------------------------------------------------------===//
307 //===----------------------------------------------------------------------===//
309 buffer_load_format_x v1
, off
, s
[4:7], s1
310 // SICI
: buffer_load_format_x v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x00,0xe0,0x00,0x01,0x01,0x01]
311 // VI
: buffer_load_format_x v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x00,0xe0,0x00,0x01,0x01,0x01]
313 buffer_load_format_xy v
[1:2], off
, s
[4:7], s1
314 // SICI
: buffer_load_format_xy v
[1:2], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x04,0xe0,0x00,0x01,0x01,0x01]
315 // VI
: buffer_load_format_xy v
[1:2], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x04,0xe0,0x00,0x01,0x01,0x01]
317 buffer_load_format_xyz v
[1:3], off
, s
[4:7], s1
318 // SICI
: buffer_load_format_xyz v
[1:3], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x08,0xe0,0x00,0x01,0x01,0x01]
319 // VI
: buffer_load_format_xyz v
[1:3], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x08,0xe0,0x00,0x01,0x01,0x01]
321 buffer_load_format_xyzw v
[1:4], off
, s
[4:7], s1
322 // SICI
: buffer_load_format_xyzw v
[1:4], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x0c,0xe0,0x00,0x01,0x01,0x01]
323 // VI
: buffer_load_format_xyzw v
[1:4], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x0c,0xe0,0x00,0x01,0x01,0x01]
325 buffer_store_format_x v1
, off
, s
[4:7], s1
326 // SICI
: buffer_store_format_x v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x10,0xe0,0x00,0x01,0x01,0x01]
327 // VI
: buffer_store_format_x v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x10,0xe0,0x00,0x01,0x01,0x01]
329 buffer_store_format_xy v
[1:2], off
, s
[4:7], s1
330 // SICI
: buffer_store_format_xy v
[1:2], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x14,0xe0,0x00,0x01,0x01,0x01]
331 // VI
: buffer_store_format_xy v
[1:2], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x14,0xe0,0x00,0x01,0x01,0x01]
333 buffer_store_format_xyz v
[1:3], off
, s
[4:7], s1
334 // SICI
: buffer_store_format_xyz v
[1:3], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x18,0xe0,0x00,0x01,0x01,0x01]
335 // VI
: buffer_store_format_xyz v
[1:3], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x18,0xe0,0x00,0x01,0x01,0x01]
337 buffer_store_format_xyzw v
[1:4], off
, s
[4:7], s1
338 // SICI
: buffer_store_format_xyzw v
[1:4], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x1c,0xe0,0x00,0x01,0x01,0x01]
339 // VI
: buffer_store_format_xyzw v
[1:4], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x1c,0xe0,0x00,0x01,0x01,0x01]
341 buffer_store_format_xyzw v
[1:4], off
, ttmp
[4:7], ttmp1
342 // SICI
: buffer_store_format_xyzw v
[1:4], off
, ttmp
[4:7], ttmp1 ; encoding
: [0x00,0x00,0x1c,0xe0,0x00,0x01,0x1d,0x71]
343 // VI
: buffer_store_format_xyzw v
[1:4], off
, ttmp
[4:7], ttmp1 ; encoding
: [0x00,0x00,0x1c,0xe0,0x00,0x01,0x1d,0x71]
345 buffer_load_ubyte v1
, off
, s
[4:7], s1
346 // SICI
: buffer_load_ubyte v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x20,0xe0,0x00,0x01,0x01,0x01]
347 // VI
: buffer_load_ubyte v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x40,0xe0,0x00,0x01,0x01,0x01]
349 buffer_load_ubyte v1
, off
, ttmp
[4:7], ttmp1
350 // SICI
: buffer_load_ubyte v1
, off
, ttmp
[4:7], ttmp1 ; encoding
: [0x00,0x00,0x20,0xe0,0x00,0x01,0x1d,0x71]
351 // VI
: buffer_load_ubyte v1
, off
, ttmp
[4:7], ttmp1 ; encoding
: [0x00,0x00,0x40,0xe0,0x00,0x01,0x1d,0x71]
353 buffer_load_sbyte v1
, off
, s
[4:7], s1
354 // SICI
: buffer_load_sbyte v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x24,0xe0,0x00,0x01,0x01,0x01]
355 // VI
: buffer_load_sbyte v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x44,0xe0,0x00,0x01,0x01,0x01]
357 buffer_load_ushort v1
, off
, s
[4:7], s1
358 // SICI
: buffer_load_ushort v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x28,0xe0,0x00,0x01,0x01,0x01]
359 // VI
: buffer_load_ushort v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x48,0xe0,0x00,0x01,0x01,0x01]
361 buffer_load_sshort v1
, off
, s
[4:7], s1
362 // SICI
: buffer_load_sshort v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x2c,0xe0,0x00,0x01,0x01,0x01]
363 // VI
: buffer_load_sshort v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x4c,0xe0,0x00,0x01,0x01,0x01]
365 buffer_load_dword v1
, off
, s
[4:7], s1
366 // SICI
: buffer_load_dword v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x30,0xe0,0x00,0x01,0x01,0x01]
367 // VI
: buffer_load_dword v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x50,0xe0,0x00,0x01,0x01,0x01]
369 buffer_load_dword v1
, off
, ttmp
[4:7], ttmp1
370 // SICI
: buffer_load_dword v1
, off
, ttmp
[4:7], ttmp1 ; encoding
: [0x00,0x00,0x30,0xe0,0x00,0x01,0x1d,0x71]
371 // VI
: buffer_load_dword v1
, off
, ttmp
[4:7], ttmp1 ; encoding
: [0x00,0x00,0x50,0xe0,0x00,0x01,0x1d,0x71]
373 buffer_load_dwordx2 v
[1:2], off
, s
[4:7], s1
374 // SICI
: buffer_load_dwordx2 v
[1:2], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x34,0xe0,0x00,0x01,0x01,0x01]
375 // VI
: buffer_load_dwordx2 v
[1:2], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x54,0xe0,0x00,0x01,0x01,0x01]
377 buffer_load_dwordx3 v
[0:2], off
, s
[4:7], s0 offset
:4095
378 // SICI
: buffer_load_dwordx3 v
[0:2], off
, s
[4:7], s0 offset
:4095 ; encoding
: [0xff,0x0f,0x3c,0xe0,0x00,0x00,0x01,0x00]
379 // VI
: buffer_load_dwordx3 v
[0:2], off
, s
[4:7], s0 offset
:4095 ; encoding
: [0xff,0x0f,0x58,0xe0,0x00,0x00,0x01,0x00]
381 buffer_load_dwordx4 v
[1:4], off
, s
[4:7], s1
382 // SICI
: buffer_load_dwordx4 v
[1:4], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x38,0xe0,0x00,0x01,0x01,0x01]
383 // VI
: buffer_load_dwordx4 v
[1:4], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x5c,0xe0,0x00,0x01,0x01,0x01]
385 buffer_load_dwordx4 v
[1:4], off
, ttmp
[4:7], ttmp1
386 // SICI
: buffer_load_dwordx4 v
[1:4], off
, ttmp
[4:7], ttmp1 ; encoding
: [0x00,0x00,0x38,0xe0,0x00,0x01,0x1d,0x71]
387 // VI
: buffer_load_dwordx4 v
[1:4], off
, ttmp
[4:7], ttmp1 ; encoding
: [0x00,0x00,0x5c,0xe0,0x00,0x01,0x1d,0x71]
389 buffer_store_byte v1
, off
, s
[4:7], s1
390 // SICI
: buffer_store_byte v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x60,0xe0,0x00,0x01,0x01,0x01]
391 // VI
: buffer_store_byte v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x60,0xe0,0x00,0x01,0x01,0x01]
393 buffer_store_byte v1
, off
, ttmp
[4:7], ttmp1
394 // SICI
: buffer_store_byte v1
, off
, ttmp
[4:7], ttmp1 ; encoding
: [0x00,0x00,0x60,0xe0,0x00,0x01,0x1d,0x71]
395 // VI
: buffer_store_byte v1
, off
, ttmp
[4:7], ttmp1 ; encoding
: [0x00,0x00,0x60,0xe0,0x00,0x01,0x1d,0x71]
397 buffer_store_short v1
, off
, s
[4:7], s1
398 // SICI
: buffer_store_short v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x68,0xe0,0x00,0x01,0x01,0x01]
399 // VI
: buffer_store_short v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x68,0xe0,0x00,0x01,0x01,0x01]
401 buffer_store_dword v1
, off
, s
[4:7], s1
402 // SICI
: buffer_store_dword v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x70,0xe0,0x00,0x01,0x01,0x01]
403 // VI
: buffer_store_dword v1
, off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x70,0xe0,0x00,0x01,0x01,0x01]
405 buffer_store_dwordx2 v
[1:2], off
, s
[4:7], s1
406 // SICI
: buffer_store_dwordx2 v
[1:2], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x74,0xe0,0x00,0x01,0x01,0x01]
407 // VI
: buffer_store_dwordx2 v
[1:2], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x74,0xe0,0x00,0x01,0x01,0x01]
409 buffer_store_dwordx3 v
[0:2], off
, s
[4:7], s0 offset
:4095
410 // SICI
: buffer_store_dwordx3 v
[0:2], off
, s
[4:7], s0 offset
:4095 ; encoding
: [0xff,0x0f,0x7c,0xe0,0x00,0x00,0x01,0x00]
411 // VI
: buffer_store_dwordx3 v
[0:2], off
, s
[4:7], s0 offset
:4095 ; encoding
: [0xff,0x0f,0x78,0xe0,0x00,0x00,0x01,0x00]
413 buffer_store_dwordx4 v
[1:4], off
, s
[4:7], s1
414 // SICI
: buffer_store_dwordx4 v
[1:4], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x78,0xe0,0x00,0x01,0x01,0x01]
415 // VI
: buffer_store_dwordx4 v
[1:4], off
, s
[4:7], s1 ; encoding
: [0x00,0x00,0x7c,0xe0,0x00,0x01,0x01,0x01]
417 buffer_store_dwordx4 v
[1:4], off
, ttmp
[4:7], ttmp1
418 // SICI
: buffer_store_dwordx4 v
[1:4], off
, ttmp
[4:7], ttmp1 ; encoding
: [0x00,0x00,0x78,0xe0,0x00,0x01,0x1d,0x71]
419 // VI
: buffer_store_dwordx4 v
[1:4], off
, ttmp
[4:7], ttmp1 ; encoding
: [0x00,0x00,0x7c,0xe0,0x00,0x01,0x1d,0x71]
421 //===----------------------------------------------------------------------===//
422 // Cache invalidation
423 //===----------------------------------------------------------------------===//
426 // SICI
: buffer_wbinvl1 ; encoding
: [0x00,0x00,0xc4,0xe1,0x00,0x00,0x00,0x00]
427 // VI
: buffer_wbinvl1 ; encoding
: [0x00,0x00,0xf8,0xe0,0x00,0x00,0x00,0x00]
430 // SI
: buffer_wbinvl1_sc ; encoding
: [0x00,0x00,0xc0,0xe1,0x00,0x00,0x00,0x00]
431 // NOCI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
432 // NOVI
: :[[@LINE-
3]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
435 // CI
: buffer_wbinvl1_vol ; encoding
: [0x00,0x00,0xc0,0xe1,0x00,0x00,0x00,0x00]
436 // VI
: buffer_wbinvl1_vol ; encoding
: [0x00,0x00,0xfc,0xe0,0x00,0x00,0x00,0x00]
437 // NOSI
: :[[@LINE-
3]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
439 //===----------------------------------------------------------------------===//
441 //===----------------------------------------------------------------------===//
442 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64
443 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64 ; encoding
: [0x00,0x80,0xf0,0xe0,0x02,0x01,0x02,0xb8]
444 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
446 buffer_atomic_inc v1
, v
[2:3], s
[8:11], s4 addr64
447 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], s4 addr64 ; encoding
: [0x00,0x80,0xf0,0xe0,0x02,0x01,0x02,0x04]
448 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
450 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64 slc
451 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64 slc ; encoding
: [0x00,0x80,0xf0,0xe0,0x02,0x01,0x42,0xb8]
452 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
454 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64 offset
:4
455 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64 offset
:4 ; encoding
: [0x04,0x80,0xf0,0xe0,0x02,0x01,0x02,0xb8]
456 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
458 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64 offset
:4 slc
459 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64 offset
:4 slc ; encoding
: [0x04,0x80,0xf0,0xe0,0x02,0x01,0x42,0xb8]
460 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
462 buffer_atomic_inc v1
, off
, s
[8:11], 56
463 // SICI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 ; encoding
: [0x00,0x00,0xf0,0xe0,0x00,0x01,0x02,0xb8]
464 // VI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 ; encoding
: [0x00,0x00,0x2c,0xe1,0x00,0x01,0x02,0xb8]
466 buffer_atomic_inc v1
, off
, s
[8:11], 56 slc
467 // SICI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 slc ; encoding
: [0x00,0x00,0xf0,0xe0,0x00,0x01,0x42,0xb8]
468 // VI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 slc ; encoding
: [0x00,0x00,0x2e,0xe1,0x00,0x01,0x02,0xb8]
470 buffer_atomic_inc v1
, off
, s
[8:11], s4 slc
471 // SICI
: buffer_atomic_inc v1
, off
, s
[8:11], s4 slc ; encoding
: [0x00,0x00,0xf0,0xe0,0x00,0x01,0x42,0x04]
472 // VI
: buffer_atomic_inc v1
, off
, s
[8:11], s4 slc ; encoding
: [0x00,0x00,0x2e,0xe1,0x00,0x01,0x02,0x04]
474 buffer_atomic_inc v1
, off
, s
[8:11], 56 offset
:4
475 // SICI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 offset
:4 ; encoding
: [0x04,0x00,0xf0,0xe0,0x00,0x01,0x02,0xb8]
476 // VI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 offset
:4 ; encoding
: [0x04,0x00,0x2c,0xe1,0x00,0x01,0x02,0xb8]
478 buffer_atomic_inc v1
, off
, s
[8:11], 56 offset
:4 slc
479 // SICI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 offset
:4 slc ; encoding
: [0x04,0x00,0xf0,0xe0,0x00,0x01,0x42,0xb8]
480 // VI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 offset
:4 slc ; encoding
: [0x04,0x00,0x2e,0xe1,0x00,0x01,0x02,0xb8]
482 buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen
483 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen ; encoding
: [0x00,0x10,0xf0,0xe0,0x02,0x01,0x02,0xb8]
484 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen ; encoding
: [0x00,0x10,0x2c,0xe1,0x02,0x01,0x02,0xb8]
486 buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen slc
487 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen slc ; encoding
: [0x00,0x10,0xf0,0xe0,0x02,0x01,0x42,0xb8]
488 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen slc ; encoding
: [0x00,0x10,0x2e,0xe1,0x02,0x01,0x02,0xb8]
490 buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen offset
:4
491 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen offset
:4 ; encoding
: [0x04,0x10,0xf0,0xe0,0x02,0x01,0x02,0xb8]
492 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen offset
:4 ; encoding
: [0x04,0x10,0x2c,0xe1,0x02,0x01,0x02,0xb8]
494 buffer_atomic_inc v1
, v2
, s
[8:11], s4 offen offset
:4
495 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], s4 offen offset
:4 ; encoding
: [0x04,0x10,0xf0,0xe0,0x02,0x01,0x02,0x04]
496 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], s4 offen offset
:4 ; encoding
: [0x04,0x10,0x2c,0xe1,0x02,0x01,0x02,0x04]
498 buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen offset
:4 slc
499 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen offset
:4 slc ; encoding
: [0x04,0x10,0xf0,0xe0,0x02,0x01,0x42,0xb8]
500 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen offset
:4 slc ; encoding
: [0x04,0x10,0x2e,0xe1,0x02,0x01,0x02,0xb8]
502 buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen
503 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen ; encoding
: [0x00,0x20,0xf0,0xe0,0x02,0x01,0x02,0xb8]
504 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen ; encoding
: [0x00,0x20,0x2c,0xe1,0x02,0x01,0x02,0xb8]
506 buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen slc
507 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen slc ; encoding
: [0x00,0x20,0xf0,0xe0,0x02,0x01,0x42,0xb8]
508 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen slc ; encoding
: [0x00,0x20,0x2e,0xe1,0x02,0x01,0x02,0xb8]
510 buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen offset
:4
511 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen offset
:4 ; encoding
: [0x04,0x20,0xf0,0xe0,0x02,0x01,0x02,0xb8]
512 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen offset
:4 ; encoding
: [0x04,0x20,0x2c,0xe1,0x02,0x01,0x02,0xb8]
514 buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen offset
:4 slc
515 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen offset
:4 slc ; encoding
: [0x04,0x20,0xf0,0xe0,0x02,0x01,0x42,0xb8]
516 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen offset
:4 slc ; encoding
: [0x04,0x20,0x2e,0xe1,0x02,0x01,0x02,0xb8]
518 buffer_atomic_inc v1
, v2
, s
[8:11], s4 idxen offset
:4 slc
519 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], s4 idxen offset
:4 slc ; encoding
: [0x04,0x20,0xf0,0xe0,0x02,0x01,0x42,0x04]
520 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], s4 idxen offset
:4 slc ; encoding
: [0x04,0x20,0x2e,0xe1,0x02,0x01,0x02,0x04]
522 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen
523 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen ; encoding
: [0x00,0x30,0xf0,0xe0,0x02,0x01,0x02,0xb8]
524 // VI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen ; encoding
: [0x00,0x30,0x2c,0xe1,0x02,0x01,0x02,0xb8]
526 buffer_atomic_inc v1
, v
[2:3], s
[8:11], s4 idxen offen
527 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], s4 idxen offen ; encoding
: [0x00,0x30,0xf0,0xe0,0x02,0x01,0x02,0x04]
528 // VI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], s4 idxen offen ; encoding
: [0x00,0x30,0x2c,0xe1,0x02,0x01,0x02,0x04]
530 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen slc
531 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen slc ; encoding
: [0x00,0x30,0xf0,0xe0,0x02,0x01,0x42,0xb8]
532 // VI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen slc ; encoding
: [0x00,0x30,0x2e,0xe1,0x02,0x01,0x02,0xb8]
534 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen offset
:4
535 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen offset
:4 ; encoding
: [0x04,0x30,0xf0,0xe0,0x02,0x01,0x02,0xb8]
536 // VI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen offset
:4 ; encoding
: [0x04,0x30,0x2c,0xe1,0x02,0x01,0x02,0xb8]
538 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen offset
:4 slc
539 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen offset
:4 slc ; encoding
: [0x04,0x30,0xf0,0xe0,0x02,0x01,0x42,0xb8]
540 // VI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen offset
:4 slc ; encoding
: [0x04,0x30,0x2e,0xe1,0x02,0x01,0x02,0xb8]
542 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64 glc
543 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64 glc ; encoding
: [0x00,0xc0,0xf0,0xe0,0x02,0x01,0x02,0xb8]
544 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
546 buffer_atomic_inc v1
, v
[2:3], s
[8:11], s4 addr64 glc
547 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], s4 addr64 glc ; encoding
: [0x00,0xc0,0xf0,0xe0,0x02,0x01,0x02,0x04]
548 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
550 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64 glc slc
551 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64 glc slc ; encoding
: [0x00,0xc0,0xf0,0xe0,0x02,0x01,0x42,0xb8]
552 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
554 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64 offset
:4 glc
555 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64 offset
:4 glc ; encoding
: [0x04,0xc0,0xf0,0xe0,0x02,0x01,0x02,0xb8]
556 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
558 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64 offset
:4 glc slc
559 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 addr64 offset
:4 glc slc ; encoding
: [0x04,0xc0,0xf0,0xe0,0x02,0x01,0x42,0xb8]
560 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: invalid operand for instruction
562 buffer_atomic_inc v1
, off
, s
[8:11], 56 glc
563 // SICI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 glc ; encoding
: [0x00,0x40,0xf0,0xe0,0x00,0x01,0x02,0xb8]
564 // VI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 glc ; encoding
: [0x00,0x40,0x2c,0xe1,0x00,0x01,0x02,0xb8]
566 buffer_atomic_inc v1
, off
, s
[8:11], 56 glc slc
567 // SICI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 glc slc ; encoding
: [0x00,0x40,0xf0,0xe0,0x00,0x01,0x42,0xb8]
568 // VI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 glc slc ; encoding
: [0x00,0x40,0x2e,0xe1,0x00,0x01,0x02,0xb8]
570 buffer_atomic_inc v1
, off
, s
[8:11], s4 glc slc
571 // SICI
: buffer_atomic_inc v1
, off
, s
[8:11], s4 glc slc ; encoding
: [0x00,0x40,0xf0,0xe0,0x00,0x01,0x42,0x04]
572 // VI
: buffer_atomic_inc v1
, off
, s
[8:11], s4 glc slc ; encoding
: [0x00,0x40,0x2e,0xe1,0x00,0x01,0x02,0x04]
574 buffer_atomic_inc v1
, off
, s
[8:11], 56 offset
:4 glc
575 // SICI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 offset
:4 glc ; encoding
: [0x04,0x40,0xf0,0xe0,0x00,0x01,0x02,0xb8]
576 // VI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 offset
:4 glc ; encoding
: [0x04,0x40,0x2c,0xe1,0x00,0x01,0x02,0xb8]
578 buffer_atomic_inc v1
, off
, s
[8:11], 56 offset
:4 glc slc
579 // SICI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 offset
:4 glc slc ; encoding
: [0x04,0x40,0xf0,0xe0,0x00,0x01,0x42,0xb8]
580 // VI
: buffer_atomic_inc v1
, off
, s
[8:11], 56 offset
:4 glc slc ; encoding
: [0x04,0x40,0x2e,0xe1,0x00,0x01,0x02,0xb8]
582 buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen glc
583 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen glc ; encoding
: [0x00,0x50,0xf0,0xe0,0x02,0x01,0x02,0xb8]
584 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen glc ; encoding
: [0x00,0x50,0x2c,0xe1,0x02,0x01,0x02,0xb8]
586 buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen glc slc
587 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen glc slc ; encoding
: [0x00,0x50,0xf0,0xe0,0x02,0x01,0x42,0xb8]
588 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen glc slc ; encoding
: [0x00,0x50,0x2e,0xe1,0x02,0x01,0x02,0xb8]
590 buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen offset
:4 glc
591 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen offset
:4 glc ; encoding
: [0x04,0x50,0xf0,0xe0,0x02,0x01,0x02,0xb8]
592 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen offset
:4 glc ; encoding
: [0x04,0x50,0x2c,0xe1,0x02,0x01,0x02,0xb8]
594 buffer_atomic_inc v1
, v2
, s
[8:11], s4 offen offset
:4 glc
595 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], s4 offen offset
:4 glc ; encoding
: [0x04,0x50,0xf0,0xe0,0x02,0x01,0x02,0x04]
596 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], s4 offen offset
:4 glc ; encoding
: [0x04,0x50,0x2c,0xe1,0x02,0x01,0x02,0x04]
598 buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen offset
:4 glc slc
599 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen offset
:4 glc slc ; encoding
: [0x04,0x50,0xf0,0xe0,0x02,0x01,0x42,0xb8]
600 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 offen offset
:4 glc slc ; encoding
: [0x04,0x50,0x2e,0xe1,0x02,0x01,0x02,0xb8]
602 buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen glc
603 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen glc ; encoding
: [0x00,0x60,0xf0,0xe0,0x02,0x01,0x02,0xb8]
604 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen glc ; encoding
: [0x00,0x60,0x2c,0xe1,0x02,0x01,0x02,0xb8]
606 buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen glc slc
607 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen glc slc ; encoding
: [0x00,0x60,0xf0,0xe0,0x02,0x01,0x42,0xb8]
608 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen glc slc ; encoding
: [0x00,0x60,0x2e,0xe1,0x02,0x01,0x02,0xb8]
610 buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen offset
:4 glc
611 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen offset
:4 glc ; encoding
: [0x04,0x60,0xf0,0xe0,0x02,0x01,0x02,0xb8]
612 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen offset
:4 glc ; encoding
: [0x04,0x60,0x2c,0xe1,0x02,0x01,0x02,0xb8]
614 buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen offset
:4 glc slc
615 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen offset
:4 glc slc ; encoding
: [0x04,0x60,0xf0,0xe0,0x02,0x01,0x42,0xb8]
616 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], 56 idxen offset
:4 glc slc ; encoding
: [0x04,0x60,0x2e,0xe1,0x02,0x01,0x02,0xb8]
618 buffer_atomic_inc v1
, v2
, s
[8:11], s4 idxen offset
:4 glc slc
619 // SICI
: buffer_atomic_inc v1
, v2
, s
[8:11], s4 idxen offset
:4 glc slc ; encoding
: [0x04,0x60,0xf0,0xe0,0x02,0x01,0x42,0x04]
620 // VI
: buffer_atomic_inc v1
, v2
, s
[8:11], s4 idxen offset
:4 glc slc ; encoding
: [0x04,0x60,0x2e,0xe1,0x02,0x01,0x02,0x04]
622 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen glc
623 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen glc ; encoding
: [0x00,0x70,0xf0,0xe0,0x02,0x01,0x02,0xb8]
624 // VI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen glc ; encoding
: [0x00,0x70,0x2c,0xe1,0x02,0x01,0x02,0xb8]
626 buffer_atomic_inc v1
, v
[2:3], s
[8:11], s4 idxen offen glc
627 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], s4 idxen offen glc ; encoding
: [0x00,0x70,0xf0,0xe0,0x02,0x01,0x02,0x04]
628 // VI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], s4 idxen offen glc ; encoding
: [0x00,0x70,0x2c,0xe1,0x02,0x01,0x02,0x04]
630 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen glc slc
631 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen glc slc ; encoding
: [0x00,0x70,0xf0,0xe0,0x02,0x01,0x42,0xb8]
632 // VI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen glc slc ; encoding
: [0x00,0x70,0x2e,0xe1,0x02,0x01,0x02,0xb8]
634 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen offset
:4 glc
635 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen offset
:4 glc ; encoding
: [0x04,0x70,0xf0,0xe0,0x02,0x01,0x02,0xb8]
636 // VI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen offset
:4 glc ; encoding
: [0x04,0x70,0x2c,0xe1,0x02,0x01,0x02,0xb8]
638 buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen offset
:4 glc slc
639 // SICI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen offset
:4 glc slc ; encoding
: [0x04,0x70,0xf0,0xe0,0x02,0x01,0x42,0xb8]
640 // VI
: buffer_atomic_inc v1
, v
[2:3], s
[8:11], 56 idxen offen offset
:4 glc slc ; encoding
: [0x04,0x70,0x2e,0xe1,0x02,0x01,0x02,0xb8]
642 buffer_atomic_add v5
, off
, s
[8:11], 0.5 offset
:4095 glc
643 // SICI
: buffer_atomic_add v5
, off
, s
[8:11], 0.5 offset
:4095 glc ; encoding
: [0xff,0x4f,0xc8,0xe0,0x00,0x05,0x02,0xf0]
644 // VI
: buffer_atomic_add v5
, off
, s
[8:11], 0.5 offset
:4095 glc ; encoding
: [0xff,0x4f,0x08,0xe1,0x00,0x05,0x02,0xf0]
646 buffer_atomic_add v5
, off
, s
[8:11], 0.15915494 offset
:4095 glc
647 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
648 // VI
: buffer_atomic_add v5
, off
, s
[8:11], 0.15915494 offset
:4095 glc ; encoding
: [0xff,0x4f,0x08,0xe1,0x00,0x05,0x02,0xf8]
650 buffer_atomic_fcmpswap v
[0:1], off
, s
[0:3], s0 offset
:4095
651 // SICI
: buffer_atomic_fcmpswap v
[0:1], off
, s
[0:3], s0 offset
:4095 ; encoding
: [0xff,0x0f,0xf8,0xe0,0x00,0x00,0x00,0x00]
652 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
654 buffer_atomic_fcmpswap v
[0:1], v
[0:1], s
[0:3], s0 addr64 offset
:4095
655 // SICI
: buffer_atomic_fcmpswap v
[0:1], v
[0:1], s
[0:3], s0 addr64 offset
:4095 ; encoding
: [0xff,0x8f,0xf8,0xe0,0x00,0x00,0x00,0x00]
656 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
658 buffer_atomic_fcmpswap_x2 v
[0:3], off
, s
[0:3], s0 offset
:4095
659 // SICI
: buffer_atomic_fcmpswap_x2 v
[0:3], off
, s
[0:3], s0 offset
:4095 ; encoding
: [0xff,0x0f,0x78,0xe1,0x00,0x00,0x00,0x00]
660 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
662 buffer_atomic_fcmpswap_x2 v
[0:3], v0
, s
[0:3], s0 idxen offset
:4095
663 // SICI
: buffer_atomic_fcmpswap_x2 v
[0:3], v0
, s
[0:3], s0 idxen offset
:4095 ; encoding
: [0xff,0x2f,0x78,0xe1,0x00,0x00,0x00,0x00]
664 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
666 buffer_atomic_fmax v1
, off
, s
[0:3], s0 offset
:4095
667 // SICI
: buffer_atomic_fmax v1
, off
, s
[0:3], s0 offset
:4095 ; encoding
: [0xff,0x0f,0x00,0xe1,0x00,0x01,0x00,0x00]
668 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
670 buffer_atomic_fmax v0
, off
, s
[0:3], s0 offset
:7
671 // SICI
: buffer_atomic_fmax v0
, off
, s
[0:3], s0 offset
:7 ; encoding
: [0x07,0x00,0x00,0xe1,0x00,0x00,0x00,0x00]
672 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
674 buffer_atomic_fmax v0
, off
, s
[0:3], s0 offset
:4095 glc
675 // SICI
: buffer_atomic_fmax v0
, off
, s
[0:3], s0 offset
:4095 glc ; encoding
: [0xff,0x4f,0x00,0xe1,0x00,0x00,0x00,0x00]
676 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
678 buffer_atomic_fmax_x2 v
[5:6], off
, s
[0:3], s0 offset
:4095
679 // SICI
: buffer_atomic_fmax_x2 v
[5:6], off
, s
[0:3], s0 offset
:4095 ; encoding
: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x00,0x00]
680 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
682 buffer_atomic_fmax_x2 v
[0:1], v0
, s
[0:3], s0 idxen offset
:4095
683 // SICI
: buffer_atomic_fmax_x2 v
[0:1], v0
, s
[0:3], s0 idxen offset
:4095 ; encoding
: [0xff,0x2f,0x80,0xe1,0x00,0x00,0x00,0x00]
684 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
686 buffer_atomic_fmin v0
, v
[0:1], s
[0:3], s0 addr64 offset
:4095
687 // SICI
: buffer_atomic_fmin v0
, v
[0:1], s
[0:3], s0 addr64 offset
:4095 ; encoding
: [0xff,0x8f,0xfc,0xe0,0x00,0x00,0x00,0x00]
688 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
690 buffer_atomic_fmin v0
, off
, s
[0:3], s0
691 // SICI
: buffer_atomic_fmin v0
, off
, s
[0:3], s0 ; encoding
: [0x00,0x00,0xfc,0xe0,0x00,0x00,0x00,0x00]
692 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
694 buffer_atomic_fmin v0
, off
, s
[0:3], s0 offset
:0
695 // SICI
: buffer_atomic_fmin v0
, off
, s
[0:3], s0 ; encoding
: [0x00,0x00,0xfc,0xe0,0x00,0x00,0x00,0x00]
696 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
698 buffer_atomic_fmin_x2 v
[0:1], off
, s
[0:3], s0 offset
:4095 slc
699 // SICI
: buffer_atomic_fmin_x2 v
[0:1], off
, s
[0:3], s0 offset
:4095 slc ; encoding
: [0xff,0x0f,0x7c,0xe1,0x00,0x00,0x40,0x00]
700 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
702 buffer_atomic_fmin_x2 v
[0:1], v0
, s
[0:3], s0 idxen offset
:4095
703 // SICI
: buffer_atomic_fmin_x2 v
[0:1], v0
, s
[0:3], s0 idxen offset
:4095 ; encoding
: [0xff,0x2f,0x7c,0xe1,0x00,0x00,0x00,0x00]
704 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
706 //===----------------------------------------------------------------------===//
708 //===----------------------------------------------------------------------===//
710 buffer_load_sbyte off
, s
[8:11], s3 lds
711 // SICI
: buffer_load_sbyte off
, s
[8:11], s3 lds ; encoding
: [0x00,0x00,0x25,0xe0,0x00,0x00,0x02,0x03]
712 // VI
: buffer_load_sbyte off
, s
[8:11], s3 lds ; encoding
: [0x00,0x00,0x45,0xe0,0x00,0x00,0x02,0x03]
714 buffer_load_sbyte off
, s
[8:11], s3 glc slc lds
715 // SICI
: buffer_load_sbyte off
, s
[8:11], s3 glc slc lds ; encoding
: [0x00,0x40,0x25,0xe0,0x00,0x00,0x42,0x03]
716 // VI
: buffer_load_sbyte off
, s
[8:11], s3 glc slc lds ; encoding
: [0x00,0x40,0x47,0xe0,0x00,0x00,0x02,0x03]
718 buffer_load_sbyte off
, s
[8:11], s3 offset
:4095 glc slc lds
719 // SICI
: buffer_load_sbyte off
, s
[8:11], s3 offset
:4095 glc slc lds ; encoding
: [0xff,0x4f,0x25,0xe0,0x00,0x00,0x42,0x03]
720 // VI
: buffer_load_sbyte off
, s
[8:11], s3 offset
:4095 glc slc lds ; encoding
: [0xff,0x4f,0x47,0xe0,0x00,0x00,0x02,0x03]
722 buffer_load_sbyte v0
, s
[8:11], s3 offen offset
:4095 slc lds
723 // SICI
: buffer_load_sbyte v0
, s
[8:11], s3 offen offset
:4095 slc lds ; encoding
: [0xff,0x1f,0x25,0xe0,0x00,0x00,0x42,0x03]
724 // VI
: buffer_load_sbyte v0
, s
[8:11], s3 offen offset
:4095 slc lds ; encoding
: [0xff,0x1f,0x47,0xe0,0x00,0x00,0x02,0x03]
726 buffer_load_sbyte v0
, s
[8:11], s3 offen lds
727 // SICI
: buffer_load_sbyte v0
, s
[8:11], s3 offen lds ; encoding
: [0x00,0x10,0x25,0xe0,0x00,0x00,0x02,0x03]
728 // VI
: buffer_load_sbyte v0
, s
[8:11], s3 offen lds ; encoding
: [0x00,0x10,0x45,0xe0,0x00,0x00,0x02,0x03]
730 buffer_load_sbyte v0
, s
[8:11], s3 idxen glc slc lds
731 // SICI
: buffer_load_sbyte v0
, s
[8:11], s3 idxen glc slc lds ; encoding
: [0x00,0x60,0x25,0xe0,0x00,0x00,0x42,0x03]
732 // VI
: buffer_load_sbyte v0
, s
[8:11], s3 idxen glc slc lds ; encoding
: [0x00,0x60,0x47,0xe0,0x00,0x00,0x02,0x03]
734 buffer_load_sbyte v
[0:1], s
[8:11], s3 idxen offen offset
:4095 lds
735 // SICI
: buffer_load_sbyte v
[0:1], s
[8:11], s3 idxen offen offset
:4095 lds ; encoding
: [0xff,0x3f,0x25,0xe0,0x00,0x00,0x02,0x03]
736 // VI
: buffer_load_sbyte v
[0:1], s
[8:11], s3 idxen offen offset
:4095 lds ; encoding
: [0xff,0x3f,0x45,0xe0,0x00,0x00,0x02,0x03]
738 buffer_load_sbyte v
[0:1], s
[8:11], s3 idxen offen offset
:4095 glc slc lds
739 // SICI
: buffer_load_sbyte v
[0:1], s
[8:11], s3 idxen offen offset
:4095 glc slc lds ; encoding
: [0xff,0x7f,0x25,0xe0,0x00,0x00,0x42,0x03]
740 // VI
: buffer_load_sbyte v
[0:1], s
[8:11], s3 idxen offen offset
:4095 glc slc lds ; encoding
: [0xff,0x7f,0x47,0xe0,0x00,0x00,0x02,0x03]
742 buffer_load_ubyte off
, s
[8:11], s3 offset
:4095 lds
743 // SICI
: buffer_load_ubyte off
, s
[8:11], s3 offset
:4095 lds ; encoding
: [0xff,0x0f,0x21,0xe0,0x00,0x00,0x02,0x03]
744 // VI
: buffer_load_ubyte off
, s
[8:11], s3 offset
:4095 lds ; encoding
: [0xff,0x0f,0x41,0xe0,0x00,0x00,0x02,0x03]
746 buffer_load_sshort v0
, s
[8:11], s3 offen offset
:4095 glc slc lds
747 // SICI
: buffer_load_sshort v0
, s
[8:11], s3 offen offset
:4095 glc slc lds ; encoding
: [0xff,0x5f,0x2d,0xe0,0x00,0x00,0x42,0x03]
748 // VI
: buffer_load_sshort v0
, s
[8:11], s3 offen offset
:4095 glc slc lds ; encoding
: [0xff,0x5f,0x4f,0xe0,0x00,0x00,0x02,0x03]
750 buffer_load_ushort v0
, s
[8:11], s3 idxen offset
:4095 glc slc lds
751 // SICI
: buffer_load_ushort v0
, s
[8:11], s3 idxen offset
:4095 glc slc lds ; encoding
: [0xff,0x6f,0x29,0xe0,0x00,0x00,0x42,0x03]
752 // VI
: buffer_load_ushort v0
, s
[8:11], s3 idxen offset
:4095 glc slc lds ; encoding
: [0xff,0x6f,0x4b,0xe0,0x00,0x00,0x02,0x03]
754 buffer_load_dword v0
, s
[8:11], s101 offen lds
755 // SICI
: buffer_load_dword v0
, s
[8:11], s101 offen lds ; encoding
: [0x00,0x10,0x31,0xe0,0x00,0x00,0x02,0x65]
756 // VI
: buffer_load_dword v0
, s
[8:11], s101 offen lds ; encoding
: [0x00,0x10,0x51,0xe0,0x00,0x00,0x02,0x65]
758 buffer_load_format_x v
[0:1], s
[8:11], s3 idxen offen offset
:4095 glc slc lds
759 // SICI
: buffer_load_format_x v
[0:1], s
[8:11], s3 idxen offen offset
:4095 glc slc lds ; encoding
: [0xff,0x7f,0x01,0xe0,0x00,0x00,0x42,0x03]
760 // VI
: buffer_load_format_x v
[0:1], s
[8:11], s3 idxen offen offset
:4095 glc slc lds ; encoding
: [0xff,0x7f,0x03,0xe0,0x00,0x00,0x02,0x03]
762 buffer_store_lds_dword s
[4:7], s0 lds
763 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
764 // VI
: buffer_store_lds_dword s
[4:7], s0 lds ; encoding
: [0x00,0x00,0xf5,0xe0,0x00,0x00,0x01,0x00]
766 buffer_store_lds_dword s
[4:7], s0 offset
:4095 lds
767 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
768 // VI
: buffer_store_lds_dword s
[4:7], s0 offset
:4095 lds ; encoding
: [0xff,0x0f,0xf5,0xe0,0x00,0x00,0x01,0x00]
770 buffer_store_lds_dword s
[4:7], s8 offset
:4 lds glc slc
771 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
772 // VI
: buffer_store_lds_dword s
[4:7], s8 offset
:4 lds glc slc ; encoding
: [0x04,0x40,0xf7,0xe0,0x00,0x00,0x01,0x08]
774 //===----------------------------------------------------------------------===//
776 //===----------------------------------------------------------------------===//
778 buffer_load_sbyte off
, s
[8:11], s3 lds tfe
779 // NOSICIVI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
781 buffer_load_dword off
, s
[8:11], s3 tfe lds
782 // NOSICIVI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
784 buffer_store_lds_dword s
[4:7], s8 offset
:4 lds tfe
785 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
786 // NOVI
: error
: invalid operand for instruction
788 buffer_store_lds_dword s
[4:7], s8 offset
:4 tfe lds
789 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
790 // NOVI
: error
: invalid operand for instruction
792 buffer_load_dword off
, s
[8:11], s3
793 // NOSICIVI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: too few operands for instruction
795 buffer_load_dword off
, s
[8:11], s3 offset
:1
796 // NOSICIVI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: too few operands for instruction
798 buffer_store_dword v
[1:2], off
, s
[4:7], s1 tfe
799 // NOSICIVI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: TFE modifier has no meaning for store instructions