• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: llvm-mc -arch=amdgcn -mcpu=tonga -disassemble -show-encoding < %s | FileCheck %s -check-prefix=VI
2
3# VI:   v_cndmask_b32_e32 v1, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x00]
40x02 0x07 0x02 0x00
5
6# VI:   v_readlane_b32 s1, v2, s3 ; encoding: [0x01,0x00,0x89,0xd2,0x02,0x07,0x00,0x00]
70x01 0x00 0x89 0xd2 0x02 0x07 0x00 0x00
8
9# VI:   v_writelane_b32 v1, s2, s3 ; encoding: [0x01,0x00,0x8a,0xd2,0x02,0x06,0x00,0x00]
100x01 0x00 0x8a 0xd2 0x02 0x06 0x00 0x00
11
12# VI:   v_add_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x02]
130x02 0x07 0x02 0x02
14
15# VI:   v_sub_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x04]
160x02 0x07 0x02 0x04
17
18# VI:   v_subrev_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x06]
190x02 0x07 0x02 0x06
20
21# VI:   v_mul_legacy_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x08]
220x02 0x07 0x02 0x08
23
24# VI:   v_mul_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0a]
250x02 0x07 0x02 0x0a
26
27# VI:   v_mul_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0c]
280x02 0x07 0x02 0x0c
29
30# VI:   v_mul_hi_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0e]
310x02 0x07 0x02 0x0e
32
33# VI:   v_mul_u32_u24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x10]
340x02 0x07 0x02 0x10
35
36# VI:   v_mul_hi_u32_u24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x12]
370x02 0x07 0x02 0x12
38
39# VI:   v_min_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x14]
400x02 0x07 0x02 0x14
41
42# VI:   v_max_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x16]
430x02 0x07 0x02 0x16
44
45# VI:   v_min_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x18]
460x02 0x07 0x02 0x18
47
48# VI:   v_max_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1a]
490x02 0x07 0x02 0x1a
50
51# VI:   v_min_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1c]
520x02 0x07 0x02 0x1c
53
54# VI:   v_max_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1e]
550x02 0x07 0x02 0x1e
56
57# VI:   v_lshrrev_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x20]
580x02 0x07 0x02 0x20
59
60# VI:   v_ashrrev_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x22]
610x02 0x07 0x02 0x22
62
63# VI:   v_lshlrev_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x24]
640x02 0x07 0x02 0x24
65
66# VI:   v_and_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x26]
670x02 0x07 0x02 0x26
68
69# VI:   v_or_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x28]
700x02 0x07 0x02 0x28
71
72# VI:   v_xor_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2a]
730x02 0x07 0x02 0x2a
74
75# VI:   v_bfm_b32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x93,0xd2,0x02,0x07,0x02,0x00]
760x01 0x00 0x93 0xd2 0x02 0x07 0x02 0x00
77
78# VI:   v_mac_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2c]
790x02 0x07 0x02 0x2c
80
81# VI:   v_madmk_f32_e32 v1, v2, 0x42800000, v3 ; encoding: [0x02,0x07,0x02,0x2e,0x00,0x00,0x80,0x42]
820x02 0x07 0x02 0x2e 0x00 0x00 0x80 0x42
83
84# VI:   v_madak_f32_e32 v1, v2, v3, 0x42800000 ; encoding: [0x02,0x07,0x02,0x30,0x00,0x00,0x80,0x42]
850x02 0x07 0x02 0x30 0x00 0x00 0x80 0x42
86
87# VI:   v_bcnt_u32_b32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x8b,0xd2,0x02,0x07,0x02,0x00]
880x01 0x00 0x8b 0xd2 0x02 0x07 0x02 0x00
89
90# VI:   v_mbcnt_lo_u32_b32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x8c,0xd2,0x02,0x07,0x02,0x00]
910x01 0x00 0x8c 0xd2 0x02 0x07 0x02 0x00
92
93# VI:   v_mbcnt_hi_u32_b32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x8d,0xd2,0x02,0x07,0x02,0x00]
940x01 0x00 0x8d 0xd2 0x02 0x07 0x02 0x00
95
96# VI:   v_add_i32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x32]
970x02 0x07 0x02 0x32
98
99# VI:   v_add_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x19,0xd1,0x02,0x07,0x02,0x00]
1000x01 0x00 0x19 0xd1 0x02 0x07 0x02 0x00
101
102# VI:   v_add_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x19,0xd1,0x02,0x07,0x02,0x00]
1030x01 0x00 0x19 0xd1 0x02 0x07 0x02 0x00
104
105# VI:   v_add_i32_e64 v1, vcc, v2, v3 ; encoding: [0x01,0x6a,0x19,0xd1,0x02,0x07,0x02,0x00]
1060x01 0x6a 0x19 0xd1 0x02 0x07 0x02 0x00
107
108# VI:   v_add_i32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x32]
1090x02 0x07 0x02 0x32
110
111# VI:   v_add_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x19,0xd1,0x02,0x07,0x02,0x00]
1120x01 0x00 0x19 0xd1 0x02 0x07 0x02 0x00
113
114# VI:   v_sub_i32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x34]
1150x02 0x07 0x02 0x34
116
117# VI:   v_sub_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x1a,0xd1,0x02,0x07,0x02,0x00]
1180x01 0x00 0x1a 0xd1 0x02 0x07 0x02 0x00
119
120# VI:   v_sub_i32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x34]
1210x02 0x07 0x02 0x34
122
123# VI:   v_sub_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x1a,0xd1,0x02,0x07,0x02,0x00]
1240x01 0x00 0x1a 0xd1 0x02 0x07 0x02 0x00
125
126# VI:   v_subrev_i32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x36]
1270x02 0x07 0x02 0x36
128
129# VI:   v_subrev_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x1b,0xd1,0x02,0x07,0x02,0x00]
1300x01 0x00 0x1b 0xd1 0x02 0x07 0x02 0x00
131
132# VI:   v_subrev_i32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x36]
1330x02 0x07 0x02 0x36
134
135# VI:   v_subrev_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x1b,0xd1,0x02,0x07,0x02,0x00]
1360x01 0x00 0x1b 0xd1 0x02 0x07 0x02 0x00
137
138# VI:   v_addc_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x38]
1390x02 0x07 0x02 0x38
140
141# VI:   v_addc_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x38]
1420x02 0x07 0x02 0x38
143
144# VI: v_addc_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x1c,0xd1,0x02,0x07,0xaa,0x01]
1450x01 0x00 0x1c 0xd1 0x02 0x07 0xaa 0x01
146
147# VI: v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3] ; encoding: [0x01,0x00,0x1c,0xd1,0x02,0x07,0x0a,0x00]
1480x01 0x00 0x1c 0xd1 0x02 0x07 0x0a 0x00
149
150# VI: v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3] ; encoding: [0x01,0x00,0x1c,0xd1,0x02,0x07,0x0a,0x00]
1510x01 0x00 0x1c 0xd1 0x02 0x07 0x0a 0x00
152
153# FIXME: v_addc_u32_e64 v1, s[0:1], v2, v3, -1 ; encoding: [0x01,0x00,0x1c,0xd1,0x02,0x07,0x06,0x03]
154#0x01 0x00 0x1c 0xd1 0x02 0x07 0x06 0x03
155
156# FIXME: v_addc_u32_e64 v1, vcc, v2, v3, -1 ; encoding: [0x01,0x6a,0x1c,0xd1,0x02,0x07,0x06,0x03]
157#0x01 0x6a 0x1c 0xd1 0x02 0x07 0x06 0x03
158
159# VI: v_addc_u32_e64 v1, vcc, v2, v3, vcc ; encoding: [0x01,0x6a,0x1c,0xd1,0x02,0x07,0xaa,0x01]
1600x01 0x6a 0x1c 0xd1 0x02 0x07 0xaa 0x01
161
162# VI: v_subb_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x3a]
1630x02 0x07 0x02 0x3a
164
165# VI: v_subb_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x1d,0xd1,0x02,0x07,0xaa,0x01]
1660x01 0x00 0x1d 0xd1 0x02 0x07 0xaa 0x01
167
168# VI:   v_subbrev_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x3c]
1690x02 0x07 0x02 0x3c
170
171# VI: v_subbrev_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x1e,0xd1,0x02,0x07,0xaa,0x01]
1720x01 0x00 0x1e 0xd1 0x02 0x07 0xaa 0x01
173
174# VI:   v_ldexp_f32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x88,0xd2,0x02,0x07,0x02,0x00]
1750x01 0x00 0x88 0xd2 0x02 0x07 0x02 0x00
176
177# VI:   v_cvt_pkaccum_u8_f32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0xf0,0xd1,0x02,0x07,0x02,0x00]
1780x01 0x00 0xf0 0xd1 0x02 0x07 0x02 0x00
179
180# VI:   v_cvt_pknorm_i16_f32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x94,0xd2,0x02,0x07,0x02,0x00]
1810x01 0x00 0x94 0xd2 0x02 0x07 0x02 0x00
182
183# VI:   v_cvt_pknorm_u16_f32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x95,0xd2,0x02,0x07,0x02,0x00]
1840x01 0x00 0x95 0xd2 0x02 0x07 0x02 0x00
185
186# VI:   v_cvt_pkrtz_f16_f32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x96,0xd2,0x02,0x07,0x02,0x00]
1870x01 0x00 0x96 0xd2 0x02 0x07 0x02 0x00
188
189# VI:   v_cvt_pk_u16_u32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x97,0xd2,0x02,0x07,0x02,0x00]
1900x01 0x00 0x97 0xd2 0x02 0x07 0x02 0x00
191
192# VI:   v_cvt_pk_i16_i32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x98,0xd2,0x02,0x07,0x02,0x00]
1930x01 0x00 0x98 0xd2 0x02 0x07 0x02 0x00
194
195# VI:     v_add_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x3e]
1960x02 0x07 0x02 0x3e
197
198# VI:     v_sub_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x40]
1990x02 0x07 0x02 0x40
200
201# VI:     v_subrev_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x42]
2020x02 0x07 0x02 0x42
203
204# VI:     v_mul_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x44]
2050x02 0x07 0x02 0x44
206
207# VI:     v_mac_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x46]
2080x02 0x07 0x02 0x46
209
210# VI:     v_madmk_f16_e32 v1, v2, 0x42800000, v3 ; encoding: [0x02,0x07,0x02,0x48,0x00,0x00,0x80,0x42]
2110x02 0x07 0x02 0x48 0x00 0x00 0x80 0x42
212
213# VI:     v_madak_f16_e32 v1, v2, v3, 0x42800000 ; encoding: [0x02,0x07,0x02,0x4a,0x00,0x00,0x80,0x42]
2140x02 0x07 0x02 0x4a 0x00 0x00 0x80 0x42
215
216# VI:     v_add_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x4c]
2170x02 0x07 0x02 0x4c
218
219# VI:     v_sub_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x4e]
2200x02 0x07 0x02 0x4e
221
222# VI:     v_subrev_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x50]
2230x02 0x07 0x02 0x50
224
225# VI:     v_mul_lo_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x52]
2260x02 0x07 0x02 0x52
227
228# VI:     v_lshlrev_b16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x54]
2290x02 0x07 0x02 0x54
230
231# VI: v_lshrrev_b16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x56]
2320x02 0x07 0x02 0x56
233
234# VI:     v_ashrrev_b16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x58]
2350x02 0x07 0x02 0x58
236
237# VI:     v_max_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5a]
2380x02 0x07 0x02 0x5a
239
240# VI:     v_min_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5c]
2410x02 0x07 0x02 0x5c
242
243# VI:     v_max_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5e]
2440x02 0x07 0x02 0x5e
245
246# VI:     v_max_i16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x60]
2470x02 0x07 0x02 0x60
248
249# VI:     v_min_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x62]
2500x02 0x07 0x02 0x62
251
252# VI:     v_min_i16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x64]
2530x02 0x07 0x02 0x64
254
255# VI:     v_ldexp_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x66]
2560x02 0x07 0x02 0x66
257