xref: /llvm-project/llvm/test/MC/AMDGPU/vop1.s (revision 2f69f9a95068fc85de18dc26f35d160a40343286)
1// RUN: not llvm-mc -triple=amdgcn -mcpu=tahiti -show-encoding %s | FileCheck %s --check-prefixes=GCN,SICI
2// RUN: not llvm-mc -triple=amdgcn -mcpu=bonaire -show-encoding %s | FileCheck %s --check-prefixes=GCN,CI,SICI,CIVI
3// RUN: not llvm-mc -triple=amdgcn -mcpu=tonga -show-encoding %s | FileCheck %s --check-prefixes=GCN,CIVI,VI
4
5// RUN: not llvm-mc -triple=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck %s --check-prefixes=NOSI,NOSICI --implicit-check-not=error:
6// RUN: not llvm-mc -triple=amdgcn -mcpu=bonaire %s 2>&1 | FileCheck %s --check-prefix=NOSICI --implicit-check-not=error:
7// RUN: not llvm-mc -triple=amdgcn -mcpu=tonga %s 2>&1 | FileCheck %s -check-prefix=NOVI --implicit-check-not=error:
8
9// Force 32-bit encoding
10
11// GCN: v_mov_b32_e32 v1, v2 ; encoding: [0x02,0x03,0x02,0x7e]
12v_mov_b32_e32 v1, v2
13
14// Force 32-bit encoding for special instructions
15// FIXME: We should be printing _e32 suffixes for these:
16
17// GCN: v_nop ; encoding: [0x00,0x00,0x00,0x7e]
18v_nop_e32
19
20// SICI: v_clrexcp ; encoding: [0x00,0x82,0x00,0x7e]
21// VI:   v_clrexcp ; encoding: [0x00,0x6a,0x00,0x7e]
22v_clrexcp_e32
23
24//===----------------------------------------------------------------------===//
25// Instructions
26//===----------------------------------------------------------------------===//
27
28
29// GCN: v_nop ; encoding: [0x00,0x00,0x00,0x7e]
30v_nop
31
32// GCN: v_mov_b32_e32 v1, v2 ; encoding: [0x02,0x03,0x02,0x7e]
33v_mov_b32_e32 v1, v2
34
35// GCN: v_readfirstlane_b32 s1, v2 ; encoding: [0x02,0x05,0x02,0x7e]
36v_readfirstlane_b32 s1, v2
37
38// GCN: v_cvt_i32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x07,0x02,0x7e]
39v_cvt_i32_f64_e32 v1, v[2:3]
40
41// GCN: v_cvt_f64_i32_e32 v[1:2], v2 ; encoding: [0x02,0x09,0x02,0x7e]
42v_cvt_f64_i32_e32 v[1:2], v2
43
44// GCN: v_cvt_f32_i32_e32 v1, v2 ; encoding: [0x02,0x0b,0x02,0x7e]
45v_cvt_f32_i32_e32 v1, v2
46
47// GCN: v_cvt_f32_u32_e32 v1, v2 ; encoding: [0x02,0x0d,0x02,0x7e]
48v_cvt_f32_u32_e32 v1, v2
49
50// GCN: v_cvt_u32_f32_e32 v1, v2 ; encoding: [0x02,0x0f,0x02,0x7e
51v_cvt_u32_f32_e32 v1, v2
52
53// GCN: v_cvt_i32_f32_e32 v1, v2 ; encoding: [0x02,0x11,0x02,0x7e]
54v_cvt_i32_f32_e32 v1, v2
55
56// GCN: v_cvt_f16_f32_e32 v1, v2 ; encoding: [0x02,0x15,0x02,0x7e]
57v_cvt_f16_f32_e32 v1, v2
58
59// GCN: v_cvt_f32_f16_e32 v1, v2 ; encoding: [0x02,0x17,0x02,0x7e]
60v_cvt_f32_f16_e32 v1, v2
61
62// GCN: v_cvt_rpi_i32_f32_e32 v1, v2 ; encoding: [0x02,0x19,0x02,0x7e]
63v_cvt_rpi_i32_f32_e32 v1, v2
64
65// GCN: v_cvt_flr_i32_f32_e32 v1, v2 ; encoding: [0x02,0x1b,0x02,0x7e]
66v_cvt_flr_i32_f32_e32 v1, v2
67
68// GCN: v_cvt_off_f32_i4_e32 v1, v2 ; encoding: [0x02,0x1d,0x02,0x7e]
69v_cvt_off_f32_i4_e32 v1, v2
70
71// GCN: v_cvt_f32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x1f,0x02,0x7e]
72v_cvt_f32_f64_e32 v1, v[2:3]
73
74// GCN: v_cvt_f64_f32_e32 v[1:2], v2 ; encoding: [0x02,0x21,0x02,0x7e]
75v_cvt_f64_f32_e32 v[1:2], v2
76
77// GCN: v_cvt_f32_ubyte0_e32 v1, v2 ; encoding: [0x02,0x23,0x02,0x7e]
78v_cvt_f32_ubyte0_e32 v1, v2
79
80// GCN: v_cvt_f32_ubyte1_e32 v1, v2 ; encoding: [0x02,0x25,0x02,0x7e]
81v_cvt_f32_ubyte1_e32 v1, v2
82
83// GCN: v_cvt_f32_ubyte2_e32 v1, v2 ; encoding: [0x02,0x27,0x02,0x7e]
84v_cvt_f32_ubyte2_e32 v1, v2
85
86// GCN: v_cvt_f32_ubyte3_e32 v1, v2 ; encoding: [0x02,0x29,0x02,0x7e]
87v_cvt_f32_ubyte3_e32 v1, v2
88
89// GCN: v_cvt_u32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x2b,0x02,0x7e]
90v_cvt_u32_f64_e32 v1, v[2:3]
91
92// GCN: v_cvt_f64_u32_e32 v[1:2], v2 ; encoding: [0x02,0x2d,0x02,0x7e]
93v_cvt_f64_u32_e32 v[1:2], v2
94
95// NOSI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
96// NOSI: v_trunc_f64_e32 v[1:2], v[2:3]
97// CIVI: v_trunc_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x2f,0x02,0x7e]
98v_trunc_f64_e32 v[1:2], v[2:3]
99
100// NOSI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
101// NOSI: v_ceil_f64_e32 v[1:2], v[2:3]
102// CIVI: v_ceil_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x31,0x02,0x7e]
103v_ceil_f64_e32 v[1:2], v[2:3]
104
105// NOSI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
106// NOSI: v_rndne_f64_e32 v[1:2], v[2:3]
107// CIVI: v_rndne_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x33,0x02,0x7e]
108v_rndne_f64_e32 v[1:2], v[2:3]
109
110// NOSI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
111// NOSI: v_floor_f64_e32 v[1:2], v[2:3]
112// CIVI: v_floor_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x35,0x02,0x7e]
113v_floor_f64_e32 v[1:2], v[2:3]
114
115// SICI: v_fract_f32_e32 v1, v2 ; encoding: [0x02,0x41,0x02,0x7e]
116// VI:   v_fract_f32_e32 v1, v2 ; encoding: [0x02,0x37,0x02,0x7e]
117v_fract_f32 v1, v2
118
119// SICI: v_trunc_f32_e32 v1, v2 ; encoding: [0x02,0x43,0x02,0x7e]
120// VI:   v_trunc_f32_e32 v1, v2 ; encoding: [0x02,0x39,0x02,0x7e]
121v_trunc_f32 v1, v2
122
123// SICI: v_ceil_f32_e32 v1, v2 ; encoding: [0x02,0x45,0x02,0x7e]
124// VI:   v_ceil_f32_e32 v1, v2 ; encoding: [0x02,0x3b,0x02,0x7e]
125v_ceil_f32 v1, v2
126
127// SICI: v_rndne_f32_e32 v1, v2 ; encoding: [0x02,0x47,0x02,0x7e]
128// VI:   v_rndne_f32_e32 v1, v2 ; encoding: [0x02,0x3d,0x02,0x7e]
129v_rndne_f32 v1, v2
130
131// SICI: v_floor_f32_e32 v1, v2 ; encoding: [0x02,0x49,0x02,0x7e]
132// VI:   v_floor_f32_e32 v1, v2 ; encoding: [0x02,0x3f,0x02,0x7e]
133v_floor_f32_e32 v1, v2
134
135// SICI: v_exp_f32_e32 v1, v2 ; encoding: [0x02,0x4b,0x02,0x7e]
136// VI:   v_exp_f32_e32 v1, v2 ; encoding: [0x02,0x41,0x02,0x7e]
137v_exp_f32 v1, v2
138
139// SICI: v_log_clamp_f32_e32 v1, v2 ; encoding: [0x02,0x4d,0x02,0x7e]
140// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
141// NOVI: v_log_clamp_f32 v1, v2
142v_log_clamp_f32 v1, v2
143
144// SICI: v_log_f32_e32 v1, v2 ; encoding: [0x02,0x4f,0x02,0x7e]
145// VI:   v_log_f32_e32 v1, v2 ; encoding: [0x02,0x43,0x02,0x7e]
146v_log_f32 v1, v2
147
148// SICI: v_rcp_clamp_f32_e32 v1, v2 ; encoding: [0x02,0x51,0x02,0x7e]
149// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
150// NOVI: v_rcp_clamp_f32 v1, v2
151v_rcp_clamp_f32 v1, v2
152
153// SICI: v_rcp_legacy_f32_e32 v1, v2 ; encoding: [0x02,0x53,0x02,0x7e]
154// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
155// NOVI: v_rcp_legacy_f32 v1, v2
156v_rcp_legacy_f32 v1, v2
157
158// SICI: v_rcp_f32_e32 v1, v2 ; encoding: [0x02,0x55,0x02,0x7e]
159// VI:   v_rcp_f32_e32 v1, v2 ; encoding: [0x02,0x45,0x02,0x7e]
160v_rcp_f32 v1, v2
161
162// SICI: v_rcp_iflag_f32_e32 v1, v2 ; encoding: [0x02,0x57,0x02,0x7e]
163// VI:   v_rcp_iflag_f32_e32 v1, v2 ; encoding: [0x02,0x47,0x02,0x7e]
164v_rcp_iflag_f32 v1, v2
165
166// SICI: v_rsq_clamp_f32_e32 v1, v2 ; encoding: [0x02,0x59,0x02,0x7e]
167// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
168// NOVI: v_rsq_clamp_f32 v1, v2
169v_rsq_clamp_f32 v1, v2
170
171// SICI: v_rsq_legacy_f32_e32 v1, v2 ; encoding: [0x02,0x5b,0x02,0x7e]
172// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
173// NOVI: v_rsq_legacy_f32 v1, v2
174v_rsq_legacy_f32 v1, v2
175
176// SICI: v_rsq_f32_e32 v1, v2 ; encoding: [0x02,0x5d,0x02,0x7e]
177// VI:   v_rsq_f32_e32 v1, v2 ; encoding: [0x02,0x49,0x02,0x7e]
178v_rsq_f32_e32 v1, v2
179
180// SICI: v_rcp_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x5f,0x02,0x7e]
181// VI:   v_rcp_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x4b,0x02,0x7e]
182v_rcp_f64 v[1:2], v[2:3]
183
184// SICI: v_rcp_clamp_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x61,0x02,0x7e]
185// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
186// NOVI: v_rcp_clamp_f64 v[1:2], v[2:3]
187v_rcp_clamp_f64 v[1:2], v[2:3]
188
189// SICI: v_rsq_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x63,0x02,0x7e]
190// VI:   v_rsq_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x4d,0x02,0x7e]
191v_rsq_f64 v[1:2], v[2:3]
192
193// SICI: v_rsq_clamp_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x65,0x02,0x7e]
194// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
195// NOVI: v_rsq_clamp_f64 v[1:2], v[2:3]
196v_rsq_clamp_f64 v[1:2], v[2:3]
197
198// SICI: v_sqrt_f32_e32 v1, v2 ; encoding: [0x02,0x67,0x02,0x7e]
199// VI:   v_sqrt_f32_e32 v1, v2 ; encoding: [0x02,0x4f,0x02,0x7e]
200v_sqrt_f32 v1, v2
201
202// SICI: v_sqrt_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x69,0x02,0x7e]
203// VI:   v_sqrt_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x51,0x02,0x7e]
204v_sqrt_f64 v[1:2], v[2:3]
205
206// SICI: v_sin_f32_e32 v1, v2 ; encoding: [0x02,0x6b,0x02,0x7e]
207// VI:   v_sin_f32_e32 v1, v2 ; encoding: [0x02,0x53,0x02,0x7e]
208v_sin_f32 v1, v2
209
210// SICI: v_cos_f32_e32 v1, v2 ; encoding: [0x02,0x6d,0x02,0x7e]
211// VI:   v_cos_f32_e32 v1, v2 ; encoding: [0x02,0x55,0x02,0x7e]
212v_cos_f32 v1, v2
213
214// SICI: v_not_b32_e32 v1, v2 ; encoding: [0x02,0x6f,0x02,0x7e]
215// VI:   v_not_b32_e32 v1, v2 ; encoding: [0x02,0x57,0x02,0x7e]
216v_not_b32_e32 v1, v2
217
218// SICI: v_bfrev_b32_e32 v1, v2 ; encoding: [0x02,0x71,0x02,0x7e]
219// VI:   v_bfrev_b32_e32 v1, v2 ; encoding: [0x02,0x59,0x02,0x7e]
220v_bfrev_b32_e32 v1, v2
221
222// SICI: v_ffbh_u32_e32 v1, v2 ; encoding: [0x02,0x73,0x02,0x7e]
223// VI:   v_ffbh_u32_e32 v1, v2 ; encoding: [0x02,0x5b,0x02,0x7e]
224v_ffbh_u32_e32 v1, v2
225
226// SICI: v_ffbl_b32_e32 v1, v2 ; encoding: [0x02,0x75,0x02,0x7e]
227// VI:   v_ffbl_b32_e32 v1, v2 ; encoding: [0x02,0x5d,0x02,0x7e]
228v_ffbl_b32_e32 v1, v2
229
230// SICI: v_ffbh_i32_e32 v1, v2 ; encoding: [0x02,0x77,0x02,0x7e]
231// VI:   v_ffbh_i32_e32 v1, v2 ; encoding: [0x02,0x5f,0x02,0x7e]
232v_ffbh_i32_e32 v1, v2
233
234// SICI: v_frexp_exp_i32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x79,0x02,0x7e]
235// VI:   v_frexp_exp_i32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x61,0x02,0x7e]
236v_frexp_exp_i32_f64_e32 v1, v[2:3]
237
238// SICI: v_frexp_mant_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x7b,0x02,0x7e]
239// VI:   v_frexp_mant_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x63,0x02,0x7e]
240v_frexp_mant_f64_e32 v[1:2], v[2:3]
241
242// SICI: v_fract_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x7d,0x02,0x7e]
243// VI:   v_fract_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x65,0x02,0x7e]
244v_fract_f64_e32 v[1:2], v[2:3]
245
246// SICI: v_frexp_exp_i32_f32_e32 v1, v2 ; encoding: [0x02,0x7f,0x02,0x7e]
247// VI:   v_frexp_exp_i32_f32_e32 v1, v2 ; encoding: [0x02,0x67,0x02,0x7e]
248v_frexp_exp_i32_f32_e32 v1, v2
249
250// SICI: v_frexp_mant_f32_e32 v1, v2 ; encoding: [0x02,0x81,0x02,0x7e]
251// VI:   v_frexp_mant_f32_e32 v1, v2 ; encoding: [0x02,0x69,0x02,0x7e]
252v_frexp_mant_f32 v1, v2
253
254// SICI: v_clrexcp ; encoding: [0x00,0x82,0x00,0x7e]
255// VI:   v_clrexcp ; encoding: [0x00,0x6a,0x00,0x7e]
256v_clrexcp_e32
257
258// SICI: v_movreld_b32_e32 v1, v2 ; encoding: [0x02,0x85,0x02,0x7e]
259// VI:   v_movreld_b32_e32 v1, v2 ; encoding: [0x02,0x6d,0x02,0x7e]
260v_movreld_b32_e32 v1, v2
261
262// SICI: v_movrels_b32_e32 v1, v2 ; encoding: [0x02,0x87,0x02,0x7e]
263// VI:   v_movrels_b32_e32 v1, v2 ; encoding: [0x02,0x6f,0x02,0x7e]
264v_movrels_b32_e32 v1, v2
265
266// SICI: v_movrelsd_b32_e32 v1, v2 ; encoding: [0x02,0x89,0x02,0x7e]
267// VI:   v_movrelsd_b32_e32 v1, v2 ; encoding: [0x02,0x71,0x02,0x7e]
268v_movrelsd_b32_e32 v1, v2
269
270// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
271// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
272v_movrelsd_b32_e32 v1, s2
273
274// NOSI: :[[@LINE+4]]:{{[0-9]+}}: error: instruction not supported on this GPU
275// NOSI: v_log_legacy_f32 v1, v2
276// CI: v_log_legacy_f32_e32 v1, v2 ; encoding: [0x02,0x8b,0x02,0x7e]
277// VI: v_log_legacy_f32_e32 v1, v2 ; encoding: [0x02,0x99,0x02,0x7e]
278v_log_legacy_f32 v1, v2
279
280// NOSI: :[[@LINE+4]]:{{[0-9]+}}: error: instruction not supported on this GPU
281// NOSI: v_exp_legacy_f32 v1, v2
282// CI: v_exp_legacy_f32_e32 v1, v2 ; encoding: [0x02,0x8d,0x02,0x7e]
283// VI: v_exp_legacy_f32_e32 v1, v2 ; encoding: [0x02,0x97,0x02,0x7e]
284v_exp_legacy_f32 v1, v2
285
286// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
287// NOSICI: v_cvt_f16_u16_e32 v1, v2
288// VI: v_cvt_f16_u16_e32 v1, v2 ; encoding: [0x02,0x73,0x02,0x7e]
289v_cvt_f16_u16_e32 v1, v2
290
291// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
292// NOSICI: v_cvt_f16_i16_e32 v1, v2
293// VI: v_cvt_f16_i16_e32 v1, v2 ; encoding: [0x02,0x75,0x02,0x7e]
294v_cvt_f16_i16_e32 v1, v2
295
296// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
297// NOSICI: v_cvt_u16_f16_e32 v1, v2
298// VI: v_cvt_u16_f16_e32 v1, v2 ; encoding: [0x02,0x77,0x02,0x7e]
299v_cvt_u16_f16_e32 v1, v2
300
301// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
302// NOSICI: v_cvt_i16_f16_e32 v1, v2
303// VI: v_cvt_i16_f16_e32 v1, v2 ; encoding: [0x02,0x79,0x02,0x7e]
304v_cvt_i16_f16_e32 v1, v2
305
306// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
307// NOSICI: v_rcp_f16_e32 v1, v2
308// VI: v_rcp_f16_e32 v1, v2 ; encoding: [0x02,0x7b,0x02,0x7e]
309v_rcp_f16_e32 v1, v2
310
311// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
312// NOSICI: v_sqrt_f16_e32 v1, v2
313// VI: v_sqrt_f16_e32 v1, v2 ; encoding: [0x02,0x7d,0x02,0x7e]
314v_sqrt_f16_e32 v1, v2
315
316// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
317// NOSICI: v_rsq_f16_e32 v1, v2
318// VI: v_rsq_f16_e32 v1, v2 ; encoding: [0x02,0x7f,0x02,0x7e]
319v_rsq_f16_e32 v1, v2
320
321// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
322// NOSICI: v_log_f16_e32 v1, v2
323// VI: v_log_f16_e32 v1, v2 ; encoding: [0x02,0x81,0x02,0x7e]
324v_log_f16_e32 v1, v2
325
326// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
327// NOSICI: v_exp_f16_e32 v1, v2
328// VI: v_exp_f16_e32 v1, v2 ; encoding: [0x02,0x83,0x02,0x7e]
329v_exp_f16_e32 v1, v2
330
331// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
332// NOSICI: v_frexp_mant_f16_e32 v1, v2
333// VI: v_frexp_mant_f16_e32 v1, v2 ; encoding: [0x02,0x85,0x02,0x7e]
334v_frexp_mant_f16_e32 v1, v2
335
336// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
337// NOSICI: v_frexp_exp_i16_f16_e32 v1, v2
338// VI: v_frexp_exp_i16_f16_e32 v1, v2 ; encoding: [0x02,0x87,0x02,0x7e]
339v_frexp_exp_i16_f16_e32 v1, v2
340
341// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
342// NOSICI: v_floor_f16_e32 v1, v2
343// VI: v_floor_f16_e32 v1, v2 ; encoding: [0x02,0x89,0x02,0x7e]
344v_floor_f16_e32 v1, v2
345
346// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
347// NOSICI: v_ceil_f16_e32 v1, v2
348// VI: v_ceil_f16_e32 v1, v2 ; encoding: [0x02,0x8b,0x02,0x7e]
349v_ceil_f16_e32 v1, v2
350
351// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
352// NOSICI: v_trunc_f16_e32 v1, v2
353// VI: v_trunc_f16_e32 v1, v2 ; encoding: [0x02,0x8d,0x02,0x7e]
354v_trunc_f16_e32 v1, v2
355
356// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
357// NOSICI: v_rndne_f16_e32 v1, v2
358// VI: v_rndne_f16_e32 v1, v2 ; encoding: [0x02,0x8f,0x02,0x7e]
359v_rndne_f16_e32 v1, v2
360
361// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
362// NOSICI: v_fract_f16_e32 v1, v2
363// VI: v_fract_f16_e32 v1, v2 ; encoding: [0x02,0x91,0x02,0x7e]
364v_fract_f16_e32 v1, v2
365
366// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
367// NOSICI: v_sin_f16_e32 v1, v2
368// VI: v_sin_f16_e32 v1, v2 ; encoding: [0x02,0x93,0x02,0x7e]
369v_sin_f16_e32 v1, v2
370
371// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
372// NOSICI: v_cos_f16_e32 v1, v2
373// VI: v_cos_f16_e32 v1, v2 ; encoding: [0x02,0x95,0x02,0x7e]
374v_cos_f16_e32 v1, v2
375