• 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_cmp_lt_f32_e64 s[2:3], v4, -v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x40]
40x02 0x00 0x41 0xd0 0x04 0x0d 0x02 0x40
5
6# VI: v_cmp_lt_f32_e64 vcc, v4, v6 ; encoding: [0x6a,0x00,0x41,0xd0,0x04,0x0d,0x02,0x00]
70x6a 0x00 0x41 0xd0 0x04 0x0d 0x02 0x00
8
9# VI:   v_cmp_lt_f32_e64 s[2:3], -v4, v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x20]
100x02 0x00 0x41 0xd0 0x04 0x0d 0x02 0x20
11
12# VI:   v_cmp_lt_f32_e64 s[2:3], v4, -v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x40]
130x02 0x00 0x41 0xd0 0x04 0x0d 0x02 0x40
14
15# VI:   v_cmp_lt_f32_e64 s[2:3], -v4, -v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x60]
160x02 0x00 0x41 0xd0 0x04 0x0d 0x02 0x60
17
18# VI:   v_cmp_lt_f32_e64 s[2:3], |v4|, v6 ; encoding: [0x02,0x01,0x41,0xd0,0x04,0x0d,0x02,0x00]
190x02 0x01 0x41 0xd0 0x04 0x0d 0x02 0x00
20
21# VI:   v_cmp_lt_f32_e64 s[2:3], v4, |v6| ; encoding: [0x02,0x02,0x41,0xd0,0x04,0x0d,0x02,0x00]
220x02 0x02 0x41 0xd0 0x04 0x0d 0x02 0x00
23
24# VI:   v_cmp_lt_f32_e64 s[2:3], |v4|, |v6| ; encoding: [0x02,0x03,0x41,0xd0,0x04,0x0d,0x02,0x00]
250x02 0x03 0x41 0xd0 0x04 0x0d 0x02 0x00
26
27# VI:   v_cmp_lt_f32_e64 s[2:3], -|v4|, v6 ; encoding: [0x02,0x01,0x41,0xd0,0x04,0x0d,0x02,0x20]
280x02 0x01 0x41 0xd0 0x04 0x0d 0x02 0x20
29
30# VI:   v_cmp_lt_f32_e64 s[2:3], -|v4|, v6 ; encoding: [0x02,0x01,0x41,0xd0,0x04,0x0d,0x02,0x20]
310x02 0x01 0x41 0xd0 0x04 0x0d 0x02 0x20
32
33# VI:   v_cmp_lt_f32_e64 s[2:3], v4, -|v6| ; encoding: [0x02,0x02,0x41,0xd0,0x04,0x0d,0x02,0x40]
340x02 0x02 0x41 0xd0 0x04 0x0d 0x02 0x40
35
36# VI:   v_cmp_lt_f32_e64 s[2:3], v4, -|v6| ; encoding: [0x02,0x02,0x41,0xd0,0x04,0x0d,0x02,0x40]
370x02 0x02 0x41 0xd0 0x04 0x0d 0x02 0x40
38
39# VI:   v_cmp_lt_f32_e64 s[2:3], -|v4|, -|v6| ; encoding: [0x02,0x03,0x41,0xd0,0x04,0x0d,0x02,0x60]
400x02 0x03 0x41 0xd0 0x04 0x0d 0x02 0x60
41
42# VI:   v_cmp_lt_f32_e64 s[2:3], -|v4|, -|v6| ; encoding: [0x02,0x03,0x41,0xd0,0x04,0x0d,0x02,0x60]
430x02 0x03 0x41 0xd0 0x04 0x0d 0x02 0x60
44
45# VI:   v_cmp_f_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x40,0xd0,0x04,0x0d,0x02,0x00]
460x02 0x00 0x40 0xd0 0x04 0x0d 0x02 0x00
47
48# VI:   v_cmp_lt_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x00]
490x02 0x00 0x41 0xd0 0x04 0x0d 0x02 0x00
50
51# VI:   v_cmp_eq_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x42,0xd0,0x04,0x0d,0x02,0x00]
520x02 0x00 0x42 0xd0 0x04 0x0d 0x02 0x00
53
54# VI:   v_cmp_le_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x43,0xd0,0x04,0x0d,0x02,0x00]
550x02 0x00 0x43 0xd0 0x04 0x0d 0x02 0x00
56
57# VI:   v_cmp_gt_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x44,0xd0,0x04,0x0d,0x02,0x00]
580x02 0x00 0x44 0xd0 0x04 0x0d 0x02 0x00
59
60# VI:   v_cmp_lg_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x45,0xd0,0x04,0x0d,0x02,0x00]
610x02 0x00 0x45 0xd0 0x04 0x0d 0x02 0x00
62
63# VI:   v_cmp_ge_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x46,0xd0,0x04,0x0d,0x02,0x00]
640x02 0x00 0x46 0xd0 0x04 0x0d 0x02 0x00
65
66# VI:   v_cmp_f_f64_e64 s[2:3], v[4:5], v[6:7] ; encoding: [0x02,0x00,0x60,0xd0,0x04,0x0d,0x02,0x00]
670x02 0x00 0x60 0xd0 0x04 0x0d 0x02 0x00
68
69# VI:   v_cmp_f_i32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0xc0,0xd0,0x04,0x0d,0x02,0x00]
700x02 0x00 0xc0 0xd0 0x04 0x0d 0x02 0x00
71
72# VI:   v_cmp_f_i64_e64 s[2:3], v[4:5], v[6:7] ; encoding: [0x02,0x00,0xe0,0xd0,0x04,0x0d,0x02,0x00]
730x02 0x00 0xe0 0xd0 0x04 0x0d 0x02 0x00
74
75# VI:   v_mov_b32_e64 v1, v2 ; encoding: [0x01,0x00,0x41,0xd1,0x02,0x01,0x00,0x00]
760x01 0x00 0x41 0xd1 0x02 0x01 0x00 0x00
77
78# VI:   v_nop ; encoding: [0x00,0x00,0x40,0xd1,0x00,0x00,0x00,0x00]
790x00 0x00 0x40 0xd1 0x00 0x00 0x00 0x00
80
81# VI:   v_clrexcp ; encoding: [0x00,0x00,0x75,0xd1,0x00,0x00,0x00,0x00]
820x00 0x00 0x75 0xd1 0x00 0x00 0x00 0x00
83
84# VI:   v_fract_f32_e64 v1, -v2 ; encoding: [0x01,0x00,0x5b,0xd1,0x02,0x01,0x00,0x20]
850x01 0x00 0x5b 0xd1 0x02 0x01 0x00 0x20
86
87# VI:   v_fract_f32_e64 v1, |v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x00]
880x01 0x01 0x5b 0xd1 0x02 0x01 0x00 0x00
89
90# VI:   v_fract_f32_e64 v1, |v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x00]
910x01 0x01 0x5b 0xd1 0x02 0x01 0x00 0x00
92
93# VI:   v_fract_f32_e64 v1, -|v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x20]
940x01 0x01 0x5b 0xd1 0x02 0x01 0x00 0x20
95
96# VI:   v_fract_f32_e64 v1, -|v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x20]
970x01 0x01 0x5b 0xd1 0x02 0x01 0x00 0x20
98
99# VI:   v_fract_f32_e64 v1, v2 clamp ; encoding: [0x01,0x80,0x5b,0xd1,0x02,0x01,0x00,0x00]
1000x01 0x80 0x5b 0xd1 0x02 0x01 0x00 0x00
101
102# VI:   v_fract_f32_e64 v1, v2 mul:2 ; encoding: [0x01,0x00,0x5b,0xd1,0x02,0x01,0x00,0x08]
1030x01 0x00 0x5b 0xd1 0x02 0x01 0x00 0x08
104
105# VI:   v_fract_f32_e64 v1, v2 clamp div:2 ; encoding: [0x01,0x80,0x5b,0xd1,0x02,0x01,0x00,0x18]
1060x01 0x80 0x5b 0xd1 0x02 0x01 0x00 0x18
107
108# VI:   v_add_f32_e64 v1, v3, v5 ; encoding: [0x01,0x00,0x01,0xd1,0x03,0x0b,0x02,0x00]
1090x01 0x00 0x01 0xd1 0x03 0x0b 0x02 0x00
110
111# VI:   v_cndmask_b32_e64 v1, v3, v5, s[4:5] ; encoding: [0x01,0x00,0x00,0xd1,0x03,0x0b,0x12,0x00]
1120x01 0x00 0x00 0xd1 0x03 0x0b 0x12 0x00
113
114# VI:   v_cndmask_b32_e64 v1, v3, v5, vcc ; encoding: [0x01,0x00,0x00,0xd1,0x03,0x0b,0xaa,0x01]
1150x01 0x00 0x00 0xd1 0x03 0x0b 0xaa 0x01
116
117# VI:   v_add_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x01,0xd1,0x03,0x0b,0x00,0x00]
1180x01 0x00 0x01 0xd1 0x03 0x0b 0x00 0x00
119
120# VI:   v_sub_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x02,0xd1,0x03,0x0b,0x00,0x00]
1210x01 0x00 0x02 0xd1 0x03 0x0b 0x00 0x00
122
123# VI:   v_subrev_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x03,0xd1,0x03,0x0b,0x00,0x00]
1240x01 0x00 0x03 0xd1 0x03 0x0b 0x00 0x00
125
126# VI:   v_mul_legacy_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x04,0xd1,0x03,0x0b,0x00,0x00]
1270x01 0x00 0x04 0xd1 0x03 0x0b 0x00 0x00
128
129# VI:   v_mul_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x05,0xd1,0x03,0x0b,0x00,0x00]
1300x01 0x00 0x05 0xd1 0x03 0x0b 0x00 0x00
131
132# VI:   v_mul_i32_i24_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x06,0xd1,0x03,0x0b,0x00,0x00]
1330x01 0x00 0x06 0xd1 0x03 0x0b 0x00 0x00
134
135# VI:   v_mad_legacy_f32 v2, v4, v6, v8 ; encoding: [0x02,0x00,0xc0,0xd1,0x04,0x0d,0x22,0x04]
1360x02 0x00 0xc0 0xd1 0x04 0x0d 0x22 0x04
137
138# VI:   v_add_f64 v[0:1], v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x00]
1390x00 0x00 0x80 0xd2 0x02 0x0b 0x02 0x00
140
141# VI:   v_add_f64 v[0:1], v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x00]
1420x00 0x00 0x80 0xd2 0x02 0x0b 0x02 0x00
143
144# VI:   v_add_f64 v[0:1], -v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x20]
1450x00 0x00 0x80 0xd2 0x02 0x0b 0x02 0x20
146
147# VI:   v_add_f64 v[0:1], -v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x20]
1480x00 0x00 0x80 0xd2 0x02 0x0b 0x02 0x20
149
150# VI:   v_add_f64 v[0:1], v[2:3], -v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x40]
1510x00 0x00 0x80 0xd2 0x02 0x0b 0x02 0x40
152
153# VI:   v_add_f64 v[0:1], v[2:3], -v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x40]
1540x00 0x00 0x80 0xd2 0x02 0x0b 0x02 0x40
155
156# VI:   v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
1570x00 0x01 0x80 0xd2 0x02 0x0b 0x02 0x00
158
159# VI:   v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
1600x00 0x01 0x80 0xd2 0x02 0x0b 0x02 0x00
161
162# VI:   v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
1630x00 0x01 0x80 0xd2 0x02 0x0b 0x02 0x00
164
165# VI:   v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
1660x00 0x01 0x80 0xd2 0x02 0x0b 0x02 0x00
167
168# VI:   v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
1690x00 0x02 0x80 0xd2 0x02 0x0b 0x02 0x00
170
171# VI:   v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
1720x00 0x02 0x80 0xd2 0x02 0x0b 0x02 0x00
173
174# VI:   v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
1750x00 0x02 0x80 0xd2 0x02 0x0b 0x02 0x00
176
177# VI:   v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
1780x00 0x02 0x80 0xd2 0x02 0x0b 0x02 0x00
179
180# VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
1810x00 0x82 0x80 0xd2 0x02 0x0b 0x02 0x30
182
183# VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
1840x00 0x82 0x80 0xd2 0x02 0x0b 0x02 0x30
185
186# VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
1870x00 0x82 0x80 0xd2 0x02 0x0b 0x02 0x30
188
189# VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
1900x00 0x82 0x80 0xd2 0x02 0x0b 0x02 0x30
191
192# VI:   v_div_scale_f64 v[24:25], vcc, v[22:23], v[22:23], v[20:21] ; encoding: [0x18,0x6a,0xe1,0xd1,0x16,0x2d,0x52,0x04]
1930x18 0x6a 0xe1 0xd1 0x16 0x2d 0x52 0x04
194
195# VI:   v_div_scale_f64 v[24:25], s[10:11], v[22:23], v[20:21], v[20:21] ; encoding: [0x18,0x0a,0xe1,0xd1,0x16,0x29,0x52,0x04]
1960x18 0x0a 0xe1 0xd1 0x16 0x29 0x52 0x04
197
198# VI:   v_div_scale_f32 v24, vcc, v22, v22, v20 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0x52,0x04]
1990x18 0x6a 0xe0 0xd1 0x16 0x2d 0x52 0x04
200
201# FIXME:   v_div_scale_f32 v24, vcc, s[10:11], v22, v20 ; encoding: [0x18,0x6a,0xe0,0xd1,0x0a,0x2c,0x52,0x04]
2020x18 0x6a 0xe0 0xd1 0x0a 0x2c 0x52 0x04
203
204# VI:   v_div_scale_f32 v24, s[10:11], v22, v22, v20 ; encoding: [0x18,0x0a,0xe0,0xd1,0x16,0x2d,0x52,0x04]
2050x18 0x0a 0xe0 0xd1 0x16 0x2d 0x52 0x04
206
207# VI:   v_div_scale_f32 v24, vcc, v22, 1.0, v22 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0xe5,0x59,0x04]
2080x18 0x6a 0xe0 0xd1 0x16 0xe5 0x59 0x04
209
210# VI:   v_div_scale_f32 v24, vcc, v22, v22, -2.0 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0xd6,0x03]
2110x18 0x6a 0xe0 0xd1 0x16 0x2d 0xd6 0x03
212
213# VI:   v_div_scale_f32 v24, vcc, v22, v22, -2.0 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0xd6,0x03]
2140x18 0x6a 0xe0 0xd1 0x16 0x2d 0xd6 0x03
215
216# VI:   v_mad_f32 v9, 0.5, v5, -v8      ; encoding: [0x09,0x00,0xc1,0xd1,0xf0,0x0a,0x22,0x84]
2170x09 0x00 0xc1 0xd1 0xf0 0x0a 0x22 0x84
218