]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/MC/AMDGPU/vop3-gfx9.s
Vendor import of llvm trunk r351319 (just before the release_80 branch
[FreeBSD/FreeBSD.git] / test / MC / AMDGPU / vop3-gfx9.s
1 // RUN: llvm-mc -arch=amdgcn -mcpu=gfx900 -show-encoding %s | FileCheck -check-prefix=GFX9 %s
2 // RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti -show-encoding %s 2>&1 | FileCheck -check-prefix=NOVI %s
3 // RUN: not llvm-mc -arch=amdgcn -mcpu=hawaii -show-encoding %s 2>&1 | FileCheck -check-prefix=NOVI %s
4 // RUN: not llvm-mc -arch=amdgcn -mcpu=tonga -show-encoding %s 2>&1 | FileCheck -check-prefix=NOVI %s
5
6 v_lshl_add_u32 v1, v2, v3, v4
7 // GFX9: v_lshl_add_u32 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xfd,0xd1,0x02,0x07,0x12,0x04]
8 // NOVI: :1: error: instruction not supported on this GPU
9
10 v_add_lshl_u32 v1, v2, v3, v4
11 // GFX9: v_add_lshl_u32 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xfe,0xd1,0x02,0x07,0x12,0x04]
12 // NOVI: :1: error: instruction not supported on this GPU
13
14 v_add3_u32 v1, v2, v3, v4
15 // GFX9: v_add3_u32 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xff,0xd1,0x02,0x07,0x12,0x04]
16 // NOVI: :1: error: instruction not supported on this GPU
17
18 v_lshl_or_b32 v1, v2, v3, v4
19 // GFX9: v_lshl_or_b32 v1, v2, v3, v4 ; encoding: [0x01,0x00,0x00,0xd2,0x02,0x07,0x12,0x04]
20 // NOVI: :1: error: instruction not supported on this GPU
21
22 v_and_or_b32 v1, v2, v3, v4
23 // GFX9: v_and_or_b32 v1, v2, v3, v4 ; encoding: [0x01,0x00,0x01,0xd2,0x02,0x07,0x12,0x04]
24 // NOVI: :1: error: instruction not supported on this GPU
25
26 v_or3_b32 v1, v2, v3, v4
27 // GFX9: v_or3_b32 v1, v2, v3, v4 ; encoding: [0x01,0x00,0x02,0xd2,0x02,0x07,0x12,0x04]
28 // NOVI: :1: error: instruction not supported on this GPU
29
30 v_pack_b32_f16 v1, v2, v3
31 // GFX9: v_pack_b32_f16 v1, v2, v3 ; encoding: [0x01,0x00,0xa0,0xd2,0x02,0x07,0x02,0x00]
32 // NOVI: :1: error: instruction not supported on this GPU
33
34 v_pack_b32_f16 v5, v1, v2 op_sel:[1,0,0]
35 // GFX9: v_pack_b32_f16 v5, v1, v2 op_sel:[1,0,0] ; encoding: [0x05,0x08,0xa0,0xd2,0x01,0x05,0x02,0x00]
36
37 v_pack_b32_f16 v5, v1, v2 op_sel:[0,1,0]
38 // GFX9: v_pack_b32_f16 v5, v1, v2 op_sel:[0,1,0] ; encoding: [0x05,0x10,0xa0,0xd2,0x01,0x05,0x02,0x00]
39
40 v_pack_b32_f16 v5, v1, v2 op_sel:[0,0,1]
41 // GFX9: v_pack_b32_f16 v5, v1, v2 op_sel:[0,0,1] ; encoding: [0x05,0x40,0xa0,0xd2,0x01,0x05,0x02,0x00]
42
43 v_xad_u32 v1, v2, v3, v4
44 // GFX9: v_xad_u32 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xf3,0xd1,0x02,0x07,0x12,0x04]
45 // NOVI: :1: error: instruction not supported on this GPU
46
47 v_min3_f16 v1, v2, v3, v4
48 // GFX9: v_min3_f16 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xf4,0xd1,0x02,0x07,0x12,0x04]
49 // NOVI: :1: error: instruction not supported on this GPU
50
51 v_min3_i16 v1, v2, v3, v4
52 // GFX9: v_min3_i16 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xf5,0xd1,0x02,0x07,0x12,0x04]
53 // NOVI: :1: error: instruction not supported on this GPU
54
55 v_min3_u16 v1, v2, v3, v4
56 // GFX9: v_min3_u16 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xf6,0xd1,0x02,0x07,0x12,0x04]
57 // NOVI: :1: error: instruction not supported on this GPU
58
59 v_max3_f16 v1, v2, v3, v4
60 // GFX9: v_max3_f16 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xf7,0xd1,0x02,0x07,0x12,0x04]
61 // NOVI: :1: error: instruction not supported on this GPU
62
63 v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,0,0]
64 // GFX9: v_max3_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x04]
65
66 v_max3_f16 v5, v1, v2, v3 op_sel:[1,0,0,0]
67 // GFX9: v_max3_f16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0xf7,0xd1,0x01,0x05,0x0e,0x04]
68
69 v_max3_f16 v5, v1, v2, v3 op_sel:[0,1,0,0]
70 // GFX9: v_max3_f16 v5, v1, v2, v3 op_sel:[0,1,0,0] ; encoding: [0x05,0x10,0xf7,0xd1,0x01,0x05,0x0e,0x04]
71
72 v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,1,0]
73 // GFX9: v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,1,0] ; encoding: [0x05,0x20,0xf7,0xd1,0x01,0x05,0x0e,0x04]
74
75 v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,0,1]
76 // GFX9: v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0xf7,0xd1,0x01,0x05,0x0e,0x04]
77
78 v_max3_f16 v5, v1, v2, v3 op_sel:[1,1,1,1]
79 // GFX9: v_max3_f16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0xf7,0xd1,0x01,0x05,0x0e,0x04]
80
81 v_max3_i16 v1, v2, v3, v4
82 // GFX9: v_max3_i16 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xf8,0xd1,0x02,0x07,0x12,0x04]
83 // NOVI: :1: error: instruction not supported on this GPU
84
85 v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,0,0]
86 // GFX9: v_max3_i16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x04]
87
88 v_max3_i16 v5, v1, v2, v3 op_sel:[1,0,0,0]
89 // GFX9: v_max3_i16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0xf8,0xd1,0x01,0x05,0x0e,0x04]
90
91 v_max3_i16 v5, v1, v2, v3 op_sel:[0,1,0,0]
92 // GFX9: v_max3_i16 v5, v1, v2, v3 op_sel:[0,1,0,0] ; encoding: [0x05,0x10,0xf8,0xd1,0x01,0x05,0x0e,0x04]
93
94 v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,1,0]
95 // GFX9: v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,1,0] ; encoding: [0x05,0x20,0xf8,0xd1,0x01,0x05,0x0e,0x04]
96
97 v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,0,1]
98 // GFX9: v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0xf8,0xd1,0x01,0x05,0x0e,0x04]
99
100 v_max3_i16 v5, v1, v2, v3 op_sel:[1,1,1,1]
101 // GFX9: v_max3_i16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0xf8,0xd1,0x01,0x05,0x0e,0x04]
102
103 v_max3_u16 v1, v2, v3, v4
104 // GFX9: v_max3_u16 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xf9,0xd1,0x02,0x07,0x12,0x04]
105 // NOVI: :1: error: instruction not supported on this GPU
106
107 v_med3_f16 v1, v2, v3, v4
108 // GFX9: v_med3_f16 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xfa,0xd1,0x02,0x07,0x12,0x04]
109 // NOVI: :1: error: instruction not supported on this GPU
110
111 v_med3_i16 v1, v2, v3, v4
112 // GFX9: v_med3_i16 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xfb,0xd1,0x02,0x07,0x12,0x04]
113 // NOVI: :1: error: instruction not supported on this GPU
114
115 v_med3_u16 v1, v2, v3, v4
116 // GFX9: v_med3_u16 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xfc,0xd1,0x02,0x07,0x12,0x04]
117 // NOVI: :1: error: instruction not supported on this GPU
118
119 v_mad_u32_u16 v5, v1, v2, v3
120 // GFX9: v_mad_u32_u16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0x0e,0x04]
121
122 v_mad_u32_u16 v5, v1, v2, v3 op_sel:[1,0,0,0]
123 // GFX9: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0xf1,0xd1,0x01,0x05,0x0e,0x04]
124
125 v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,1,0,0]
126 // GFX9: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,1,0,0] ; encoding: [0x05,0x10,0xf1,0xd1,0x01,0x05,0x0e,0x04]
127
128 v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,0,1,0]
129 // GFX9: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,0,1,0] ; encoding: [0x05,0x20,0xf1,0xd1,0x01,0x05,0x0e,0x04]
130
131 v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,0,0,1]
132 // GFX9: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0xf1,0xd1,0x01,0x05,0x0e,0x04]
133
134 v_mad_u32_u16 v5, v1, v2, v3 op_sel:[1,1,1,1]
135 // GFX9: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0xf1,0xd1,0x01,0x05,0x0e,0x04]
136
137 v_mad_i32_i16 v5, v1, v2, v3
138 // GFX9: v_mad_i32_i16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0x0e,0x04]
139
140 v_mad_i32_i16 v5, v1, v2, v3 op_sel:[0,0,0,1]
141 // GFX9: v_mad_i32_i16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0xf2,0xd1,0x01,0x05,0x0e,0x04]
142
143 v_cvt_pknorm_i16_f16 v5, v1, v2
144 // GFX9: v_cvt_pknorm_i16_f16 v5, v1, v2 ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x00]
145
146 v_cvt_pknorm_i16_f16 v5, -v1, v2
147 // GFX9: v_cvt_pknorm_i16_f16 v5, -v1, v2 ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x20]
148
149 v_cvt_pknorm_i16_f16 v5, v1, -v2
150 // GFX9: v_cvt_pknorm_i16_f16 v5, v1, -v2 ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x40]
151
152 v_cvt_pknorm_i16_f16 v5, -v1, -v2
153 // GFX9: v_cvt_pknorm_i16_f16 v5, -v1, -v2 ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x60]
154
155 v_cvt_pknorm_i16_f16 v5, |v1|, v2
156 // GFX9: v_cvt_pknorm_i16_f16 v5, |v1|, v2 ; encoding: [0x05,0x01,0x99,0xd2,0x01,0x05,0x02,0x00]
157
158 v_cvt_pknorm_i16_f16 v5, v1, |v2|
159 // GFX9: v_cvt_pknorm_i16_f16 v5, v1, |v2| ; encoding: [0x05,0x02,0x99,0xd2,0x01,0x05,0x02,0x00]
160
161 v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[0,0,0]
162 // GFX9: v_cvt_pknorm_i16_f16 v5, v1, v2 ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x00]
163
164 v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[1,0,0]
165 // GFX9: v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[1,0,0] ; encoding: [0x05,0x08,0x99,0xd2,0x01,0x05,0x02,0x00]
166
167 v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[1,1,1]
168 // GFX9: v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[1,1,1] ; encoding: [0x05,0x58,0x99,0xd2,0x01,0x05,0x02,0x00]
169
170 v_cvt_pknorm_u16_f16 v5, -v1, -v2
171 // GFX9: v_cvt_pknorm_u16_f16 v5, -v1, -v2 ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0x05,0x02,0x60]
172
173 v_cvt_pknorm_u16_f16 v5, |v1|, |v2|
174 // GFX9: v_cvt_pknorm_u16_f16 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x9a,0xd2,0x01,0x05,0x02,0x00]
175
176 v_cvt_pknorm_u16_f16 v5, v1, v2 op_sel:[1,1,1]
177 // GFX9: v_cvt_pknorm_u16_f16 v5, v1, v2 op_sel:[1,1,1] ; encoding: [0x05,0x58,0x9a,0xd2,0x01,0x05,0x02,0x00]
178
179 v_add_i16 v5, v1, v2
180 // GFX9: v_add_i16 v5, v1, v2 ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0x05,0x02,0x00]
181
182 v_add_i16 v5, v1, v2 op_sel:[1,1,1]
183 // GFX9: v_add_i16 v5, v1, v2 op_sel:[1,1,1] ; encoding: [0x05,0x58,0x9e,0xd2,0x01,0x05,0x02,0x00]
184
185 v_sub_i16 v5, v1, v2
186 // GFX9: v_sub_i16 v5, v1, v2 ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0x05,0x02,0x00]
187
188 v_sub_i16 v5, v1, v2 op_sel:[1,1,1]
189 // GFX9: v_sub_i16 v5, v1, v2 op_sel:[1,1,1] ; encoding: [0x05,0x58,0x9f,0xd2,0x01,0x05,0x02,0x00]
190
191 v_sub_i16 v5, v1, v2 clamp
192 // GFX9: v_sub_i16 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x9f,0xd2,0x01,0x05,0x02,0x00]
193
194 v_fma_f16_e64 v5, v1, v2, v3
195 // GFX9: v_fma_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0x06,0xd2,0x01,0x05,0x0e,0x04]
196
197 v_fma_f16 v5, v1, -v2, v3
198 // GFX9: v_fma_f16 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0x06,0xd2,0x01,0x05,0x0e,0x44]
199
200 v_fma_f16 v5, v1, v2, |v3|
201 // GFX9: v_fma_f16 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0x06,0xd2,0x01,0x05,0x0e,0x04]
202
203 v_fma_f16 v5, v1, v2, v3 clamp
204 // GFX9: v_fma_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0x06,0xd2,0x01,0x05,0x0e,0x04]
205
206 v_fma_f16 v5, v1, v2, v3 op_sel:[1,0,0,0]
207 // GFX9: v_fma_f16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0x06,0xd2,0x01,0x05,0x0e,0x04]
208
209 v_fma_f16 v5, v1, v2, v3 op_sel:[0,1,0,0]
210 // GFX9: v_fma_f16 v5, v1, v2, v3 op_sel:[0,1,0,0] ; encoding: [0x05,0x10,0x06,0xd2,0x01,0x05,0x0e,0x04]
211
212 v_fma_f16 v5, v1, v2, v3 op_sel:[1,1,1,1]
213 // GFX9: v_fma_f16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0x06,0xd2,0x01,0x05,0x0e,0x04]
214
215 v_fma_legacy_f16_e64 v5, v1, v2, v3
216 // GFX9: v_fma_legacy_f16 v5, v1, v2, v3 ; encoding:  [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x04]
217
218 v_fma_legacy_f16 v5, -v1, v2, v3
219 // GFX9: v_fma_legacy_f16 v5, -v1, v2, v3 ; encoding:  [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x24]
220
221 v_fma_legacy_f16 v5, v1, |v2|, v3
222 // GFX9: v_fma_legacy_f16 v5, v1, |v2|, v3 ; encoding:  [0x05,0x02,0xee,0xd1,0x01,0x05,0x0e,0x04]
223
224 v_fma_legacy_f16 v5, v1, v2, v3 clamp
225 // GFX9: v_fma_legacy_f16 v5, v1, v2, v3 clamp ; encoding:  [0x05,0x80,0xee,0xd1,0x01,0x05,0x0e,0x04]
226
227 v_div_fixup_f16_e64 v5, 0.5, v2, v3
228 // GFX9: v_div_fixup_f16 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0x07,0xd2,0xf0,0x04,0x0e,0x04]
229
230 v_div_fixup_f16 v5, v1, 0.5, v3
231 // GFX9: v_div_fixup_f16 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0x07,0xd2,0x01,0xe1,0x0d,0x04]
232
233 v_div_fixup_f16 v5, v1, v2, 0.5
234 // GFX9: v_div_fixup_f16 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0x07,0xd2,0x01,0x05,0xc2,0x03]
235
236 v_div_fixup_f16 v5, -v1, v2, v3
237 // GFX9: v_div_fixup_f16 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0x07,0xd2,0x01,0x05,0x0e,0x24]
238
239 v_div_fixup_f16 v5, |v1|, v2, v3
240 // GFX9: v_div_fixup_f16 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0x07,0xd2,0x01,0x05,0x0e,0x04]
241
242 v_div_fixup_f16 v5, v1, v2, v3 clamp
243 // GFX9: v_div_fixup_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0x07,0xd2,0x01,0x05,0x0e,0x04]
244
245 v_div_fixup_f16 v5, v1, v2, v3 op_sel:[1,0,0,0]
246 // GFX9: v_div_fixup_f16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0x07,0xd2,0x01,0x05,0x0e,0x04]
247
248 v_div_fixup_f16 v5, v1, v2, v3 op_sel:[0,0,1,0]
249 // GFX9: v_div_fixup_f16 v5, v1, v2, v3 op_sel:[0,0,1,0] ; encoding: [0x05,0x20,0x07,0xd2,0x01,0x05,0x0e,0x04]
250
251 v_div_fixup_f16 v5, v1, v2, v3 op_sel:[0,0,0,1]
252 // GFX9: v_div_fixup_f16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0x07,0xd2,0x01,0x05,0x0e,0x04]
253
254 v_div_fixup_legacy_f16_e64 v5, 0.5, v2, v3
255 // GFX9: v_div_fixup_legacy_f16 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0xf0,0x04,0x0e,0x04]
256
257 v_div_fixup_legacy_f16 v5, v1, 0.5, v3
258 // GFX9: v_div_fixup_legacy_f16 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xe1,0x0d,0x04]
259
260 v_div_fixup_legacy_f16 v5, v1, v2, 0.5
261 // GFX9: v_div_fixup_legacy_f16 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xc2,0x03]
262
263 v_div_fixup_legacy_f16 v5, -v1, v2, v3
264 // GFX9: v_div_fixup_legacy_f16 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x24]
265
266 v_div_fixup_legacy_f16 v5, v1, |v2|, v3
267 // GFX9: v_div_fixup_legacy_f16 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xef,0xd1,0x01,0x05,0x0e,0x04]
268
269 v_div_fixup_legacy_f16 v5, v1, v2, v3 clamp
270 // GFX9: v_div_fixup_legacy_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xef,0xd1,0x01,0x05,0x0e,0x04]
271
272 v_mad_f16_e64 v5, 0.5, v2, v3
273 // GFX9: v_mad_f16 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0x03,0xd2,0xf0,0x04,0x0e,0x04]
274
275 v_mad_f16 v5, v1, 0.5, v3
276 // GFX9: v_mad_f16 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0x03,0xd2,0x01,0xe1,0x0d,0x04]
277
278 v_mad_f16 v5, v1, v2, 0.5
279 // GFX9: v_mad_f16 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0x03,0xd2,0x01,0x05,0xc2,0x03]
280
281 v_mad_f16 v5, v1, v2, -v3
282 // GFX9: v_mad_f16 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0x03,0xd2,0x01,0x05,0x0e,0x84]
283
284 v_mad_f16 v5, v1, v2, |v3|
285 // GFX9: v_mad_f16 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0x03,0xd2,0x01,0x05,0x0e,0x04]
286
287 v_mad_f16 v5, v1, v2, v3 op_sel:[0,0,0,0]
288 // GFX9: v_mad_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0x03,0xd2,0x01,0x05,0x0e,0x04]
289
290 v_mad_f16 v5, v1, v2, v3 op_sel:[1,0,0,0]
291 // GFX9: v_mad_f16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0x03,0xd2,0x01,0x05,0x0e,0x04]
292
293 v_mad_f16 v5, v1, v2, v3 op_sel:[0,1,0,0]
294 // GFX9: v_mad_f16 v5, v1, v2, v3 op_sel:[0,1,0,0] ; encoding: [0x05,0x10,0x03,0xd2,0x01,0x05,0x0e,0x04]
295
296 v_mad_f16 v5, v1, v2, v3 op_sel:[0,0,1,0]
297 // GFX9: v_mad_f16 v5, v1, v2, v3 op_sel:[0,0,1,0] ; encoding: [0x05,0x20,0x03,0xd2,0x01,0x05,0x0e,0x04]
298
299 v_mad_f16 v5, v1, v2, v3 op_sel:[0,0,0,1]
300 // GFX9: v_mad_f16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0x03,0xd2,0x01,0x05,0x0e,0x04]
301
302 v_mad_f16 v5, v1, v2, v3 op_sel:[1,1,1,1]
303 // GFX9: v_mad_f16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0x03,0xd2,0x01,0x05,0x0e,0x04]
304
305 v_mad_f16 v5, v1, v2, v3 clamp
306 // GFX9: v_mad_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0x03,0xd2,0x01,0x05,0x0e,0x04]
307
308 v_mad_i16_e64 v5, 0, v2, v3
309 // GFX9: v_mad_i16 v5, 0, v2, v3 ; encoding: [0x05,0x00,0x05,0xd2,0x80,0x04,0x0e,0x04]
310
311 v_mad_i16 v5, v1, -1, v3
312 // GFX9: v_mad_i16 v5, v1, -1, v3 ; encoding: [0x05,0x00,0x05,0xd2,0x01,0x83,0x0d,0x04]
313
314 v_mad_i16 v5, v1, v2, -4.0
315 // GFX9: v_mad_i16 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0x05,0xd2,0x01,0x05,0xde,0x03]
316
317 v_mad_i16 v5, v1, v2, v3 clamp
318 // GFX9: v_mad_i16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0x05,0xd2,0x01,0x05,0x0e,0x04]
319
320 v_mad_i16 v5, v1, v2, v3 op_sel:[0,0,0,1]
321 // GFX9: v_mad_i16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0x05,0xd2,0x01,0x05,0x0e,0x04]
322
323 v_mad_i16 v5, v1, v2, v3 op_sel:[1,1,1,1]
324 // GFX9: v_mad_i16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0x05,0xd2,0x01,0x05,0x0e,0x04]
325
326 v_mad_legacy_f16_e64 v5, 0.5, v2, v3
327 // GFX9: v_mad_legacy_f16 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0xf0,0x04,0x0e,0x04]
328
329 v_mad_legacy_f16 v5, v1, 0.5, v3
330 // GFX9: v_mad_legacy_f16 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xe1,0x0d,0x04]
331
332 v_mad_legacy_f16 v5, v1, v2, 0.5
333 // GFX9: v_mad_legacy_f16 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xc2,0x03]
334
335 v_mad_legacy_f16 v5, v1, -v2, v3
336 // GFX9: v_mad_legacy_f16 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x44]
337
338 v_mad_legacy_f16 v5, v1, |v2|, v3
339 // GFX9: v_mad_legacy_f16 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xea,0xd1,0x01,0x05,0x0e,0x04]
340
341 v_mad_legacy_f16 v5, v1, v2, v3 clamp
342 // GFX9: v_mad_legacy_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xea,0xd1,0x01,0x05,0x0e,0x04]
343
344 v_mad_legacy_i16_e64 v5, 0, v2, v3
345 // GFX9: v_mad_legacy_i16 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x80,0x04,0x0e,0x04]
346
347 v_mad_legacy_i16 v5, v1, -1, v3
348 // GFX9: v_mad_legacy_i16 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x83,0x0d,0x04]
349
350 v_mad_legacy_i16 v5, v1, v2, -4.0
351 // GFX9: v_mad_legacy_i16 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0xde,0x03]
352
353 v_mad_legacy_i16 v5, v1, v2, -4.0 clamp
354 // GFX9: v_mad_legacy_i16 v5, v1, v2, -4.0 clamp ; encoding: [0x05,0x80,0xec,0xd1,0x01,0x05,0xde,0x03]
355
356 v_mad_legacy_u16_e64 v5, 0, v2, v3
357 // GFX9: v_mad_legacy_u16 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x80,0x04,0x0e,0x04]
358
359 v_mad_legacy_u16 v5, v1, -1, v3
360 // GFX9: v_mad_legacy_u16 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x83,0x0d,0x04]
361
362 v_mad_legacy_u16 v5, v1, v2, -4.0
363 // GFX9: v_mad_legacy_u16 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xde,0x03]
364
365 v_mad_legacy_u16 v5, v1, v2, -4.0 clamp
366 // GFX9: v_mad_legacy_u16 v5, v1, v2, -4.0 clamp ; encoding: [0x05,0x80,0xeb,0xd1,0x01,0x05,0xde,0x03]
367
368 v_mad_u16_e64 v5, 0, v2, v3
369 // GFX9: v_mad_u16 v5, 0, v2, v3 ; encoding: [0x05,0x00,0x04,0xd2,0x80,0x04,0x0e,0x04]
370
371 v_mad_u16 v5, v1, -1, v3
372 // GFX9: v_mad_u16 v5, v1, -1, v3 ; encoding: [0x05,0x00,0x04,0xd2,0x01,0x83,0x0d,0x04]
373
374 v_mad_u16 v5, v1, v2, -4.0
375 // GFX9: v_mad_u16 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0x04,0xd2,0x01,0x05,0xde,0x03]
376
377 v_mad_u16 v5, v1, v2, v3 clamp
378 // GFX9: v_mad_u16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0x04,0xd2,0x01,0x05,0x0e,0x04]
379
380 v_mad_u16 v5, v1, v2, v3 op_sel:[1,0,0,0]
381 // GFX9: v_mad_u16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0x04,0xd2,0x01,0x05,0x0e,0x04]
382
383 v_mad_u16 v5, v1, v2, v3 op_sel:[0,0,0,1]
384 // GFX9: v_mad_u16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0x04,0xd2,0x01,0x05,0x0e,0x04]
385
386 v_mad_u16 v5, v1, v2, v3 op_sel:[1,1,1,1]
387 // GFX9: v_mad_u16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0x04,0xd2,0x01,0x05,0x0e,0x04]
388
389 v_interp_p2_f16 v5, v2, attr0.x, v3
390 // GFX9: v_interp_p2_f16 v5, v2, attr0.x, v3 ; encoding: [0x05,0x00,0x77,0xd2,0x00,0x04,0x0e,0x04]
391
392 v_interp_p2_f16 v5, -v2, attr0.x, v3
393 // GFX9: v_interp_p2_f16 v5, -v2, attr0.x, v3 ; encoding: [0x05,0x00,0x77,0xd2,0x00,0x04,0x0e,0x44]
394
395 v_interp_p2_f16 v5, v2, attr0.x, |v3|
396 // GFX9: v_interp_p2_f16 v5, v2, attr0.x, |v3| ; encoding: [0x05,0x04,0x77,0xd2,0x00,0x04,0x0e,0x04]
397
398 v_interp_p2_f16 v5, v2, attr0.w, v3
399 // GFX9: v_interp_p2_f16 v5, v2, attr0.w, v3 ; encoding: [0x05,0x00,0x77,0xd2,0xc0,0x04,0x0e,0x04]
400
401 v_interp_p2_f16 v5, v2, attr0.x, v3 high
402 // GFX9: v_interp_p2_f16 v5, v2, attr0.x, v3 high ; encoding: [0x05,0x00,0x77,0xd2,0x00,0x05,0x0e,0x04]
403
404 v_interp_p2_f16 v5, v2, attr0.x, v3 clamp
405 // GFX9: v_interp_p2_f16 v5, v2, attr0.x, v3 clamp ; encoding: [0x05,0x80,0x77,0xd2,0x00,0x04,0x0e,0x04]
406
407 v_interp_p2_legacy_f16 v5, v2, attr31.x, v3
408 // GFX9: v_interp_p2_legacy_f16 v5, v2, attr31.x, v3 ; encoding: [0x05,0x00,0x76,0xd2,0x1f,0x04,0x0e,0x04]
409
410 v_interp_p2_legacy_f16 v5, -v2, attr0.x, v3
411 // GFX9: v_interp_p2_legacy_f16 v5, -v2, attr0.x, v3 ; encoding: [0x05,0x00,0x76,0xd2,0x00,0x04,0x0e,0x44]
412
413 v_interp_p2_legacy_f16 v5, v2, attr0.x, |v3|
414 // GFX9: v_interp_p2_legacy_f16 v5, v2, attr0.x, |v3| ; encoding: [0x05,0x04,0x76,0xd2,0x00,0x04,0x0e,0x04]
415
416 v_interp_p2_legacy_f16 v5, v2, attr0.w, v3
417 // GFX9: v_interp_p2_legacy_f16 v5, v2, attr0.w, v3 ; encoding: [0x05,0x00,0x76,0xd2,0xc0,0x04,0x0e,0x04]
418
419 v_interp_p2_legacy_f16 v5, v2, attr0.x, v3 high
420 // GFX9: v_interp_p2_legacy_f16 v5, v2, attr0.x, v3 high ; encoding: [0x05,0x00,0x76,0xd2,0x00,0x05,0x0e,0x04]
421
422 v_interp_p2_legacy_f16 v5, v2, attr0.x, v3 clamp
423 // GFX9: v_interp_p2_legacy_f16 v5, v2, attr0.x, v3 clamp ; encoding: [0x05,0x80,0x76,0xd2,0x00,0x04,0x0e,0x04]
424
425 v_cvt_norm_i16_f16_e64 v5, -v1
426 // GFX9: v_cvt_norm_i16_f16_e64 v5, -v1 ; encoding: [0x05,0x00,0x8d,0xd1,0x01,0x01,0x00,0x20]
427 // NOVI: error: instruction not supported on this GPU
428
429 v_cvt_norm_i16_f16_e64 v5, |v1|
430 // GFX9: v_cvt_norm_i16_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x8d,0xd1,0x01,0x01,0x00,0x00]
431 // NOVI: error: instruction not supported on this GPU
432
433 v_cvt_norm_u16_f16_e64 v5, -v1
434 // GFX9: v_cvt_norm_u16_f16_e64 v5, -v1 ; encoding: [0x05,0x00,0x8e,0xd1,0x01,0x01,0x00,0x20]
435 // NOVI: error: instruction not supported on this GPU
436
437 v_cvt_norm_u16_f16_e64 v5, |v1|
438 // GFX9: v_cvt_norm_u16_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x8e,0xd1,0x01,0x01,0x00,0x00]
439 // NOVI: error: instruction not supported on this GPU
440
441 v_sat_pk_u8_i16_e64 v5, -1
442 // GFX9: v_sat_pk_u8_i16_e64 v5, -1 ; encoding: [0x05,0x00,0x8f,0xd1,0xc1,0x00,0x00,0x00]
443 // NOVI: error: instruction not supported on this GPU
444
445 v_sat_pk_u8_i16_e64 v5, v255
446 // GFX9: v_sat_pk_u8_i16_e64 v5, v255 ; encoding: [0x05,0x00,0x8f,0xd1,0xff,0x01,0x00,0x00]
447 // NOVI: error: instruction not supported on this GPU
448
449 v_screen_partition_4se_b32_e64 v5, v1
450 // GXF9: [0x05,0x00,0x77,0xd1,0x01,0x01,0x00,0x00]
451 // NOVI: error: instruction not supported on this GPU
452
453 v_screen_partition_4se_b32_e64 v5, -1
454 // GXF9: [0x05,0x00,0x77,0xd1,0xc1,0x00,0x00,0x00]
455 // NOVI: error: instruction not supported on this GPU