1 // REQUIRES: hexagon-registered-target
2 // RUN: %clang_cc1 -triple hexagon-unknown-elf -target-cpu hexagonv65 -target-feature +hvxv65 -target-feature +hvx-length64b -emit-llvm %s -o - | FileCheck %s
3
test()4 void test() {
5 int q64 __attribute__((__vector_size__(64)));
6 int v64 __attribute__((__vector_size__(64)));
7 int v128 __attribute__((__vector_size__(128)));
8
9 // CHECK: @llvm.hexagon.V6.extractw
10 __builtin_HEXAGON_V6_extractw(v64, 0);
11 // CHECK: @llvm.hexagon.V6.hi
12 __builtin_HEXAGON_V6_hi(v128);
13 // CHECK: @llvm.hexagon.V6.lo
14 __builtin_HEXAGON_V6_lo(v128);
15 // CHECK: @llvm.hexagon.V6.lvsplatb
16 __builtin_HEXAGON_V6_lvsplatb(0);
17 // CHECK: @llvm.hexagon.V6.lvsplath
18 __builtin_HEXAGON_V6_lvsplath(0);
19 // CHECK: @llvm.hexagon.V6.lvsplatw
20 __builtin_HEXAGON_V6_lvsplatw(0);
21 // CHECK: @llvm.hexagon.V6.pred.and
22 __builtin_HEXAGON_V6_pred_and(q64, q64);
23 // CHECK: @llvm.hexagon.V6.pred.and.n
24 __builtin_HEXAGON_V6_pred_and_n(q64, q64);
25 // CHECK: @llvm.hexagon.V6.pred.not
26 __builtin_HEXAGON_V6_pred_not(q64);
27 // CHECK: @llvm.hexagon.V6.pred.or
28 __builtin_HEXAGON_V6_pred_or(q64, q64);
29 // CHECK: @llvm.hexagon.V6.pred.or.n
30 __builtin_HEXAGON_V6_pred_or_n(q64, q64);
31 // CHECK: @llvm.hexagon.V6.pred.scalar2
32 __builtin_HEXAGON_V6_pred_scalar2(0);
33 // CHECK: @llvm.hexagon.V6.pred.scalar2v2
34 __builtin_HEXAGON_V6_pred_scalar2v2(0);
35 // CHECK: @llvm.hexagon.V6.pred.xor
36 __builtin_HEXAGON_V6_pred_xor(q64, q64);
37 // CHECK: @llvm.hexagon.V6.shuffeqh
38 __builtin_HEXAGON_V6_shuffeqh(q64, q64);
39 // CHECK: @llvm.hexagon.V6.shuffeqw
40 __builtin_HEXAGON_V6_shuffeqw(q64, q64);
41 // CHECK: @llvm.hexagon.V6.vS32b.nqpred.ai
42 __builtin_HEXAGON_V6_vS32b_nqpred_ai(q64, 0, v64);
43 // CHECK: @llvm.hexagon.V6.vS32b.nt.nqpred.ai
44 __builtin_HEXAGON_V6_vS32b_nt_nqpred_ai(q64, 0, v64);
45 // CHECK: @llvm.hexagon.V6.vS32b.nt.qpred.ai
46 __builtin_HEXAGON_V6_vS32b_nt_qpred_ai(q64, 0, v64);
47 // CHECK: @llvm.hexagon.V6.vS32b.qpred.ai
48 __builtin_HEXAGON_V6_vS32b_qpred_ai(q64, 0, v64);
49 // CHECK: @llvm.hexagon.V6.vabsb
50 __builtin_HEXAGON_V6_vabsb(v64);
51 // CHECK: @llvm.hexagon.V6.vabsb.sat
52 __builtin_HEXAGON_V6_vabsb_sat(v64);
53 // CHECK: @llvm.hexagon.V6.vabsdiffh
54 __builtin_HEXAGON_V6_vabsdiffh(v64, v64);
55 // CHECK: @llvm.hexagon.V6.vabsdiffub
56 __builtin_HEXAGON_V6_vabsdiffub(v64, v64);
57 // CHECK: @llvm.hexagon.V6.vabsdiffuh
58 __builtin_HEXAGON_V6_vabsdiffuh(v64, v64);
59 // CHECK: @llvm.hexagon.V6.vabsdiffw
60 __builtin_HEXAGON_V6_vabsdiffw(v64, v64);
61 // CHECK: @llvm.hexagon.V6.vabsh
62 __builtin_HEXAGON_V6_vabsh(v64);
63 // CHECK: @llvm.hexagon.V6.vabsh.sat
64 __builtin_HEXAGON_V6_vabsh_sat(v64);
65 // CHECK: @llvm.hexagon.V6.vabsw
66 __builtin_HEXAGON_V6_vabsw(v64);
67 // CHECK: @llvm.hexagon.V6.vabsw.sat
68 __builtin_HEXAGON_V6_vabsw_sat(v64);
69 // CHECK: @llvm.hexagon.V6.vaddb
70 __builtin_HEXAGON_V6_vaddb(v64, v64);
71 // CHECK: @llvm.hexagon.V6.vaddb.dv
72 __builtin_HEXAGON_V6_vaddb_dv(v128, v128);
73 // CHECK: @llvm.hexagon.V6.vaddbnq
74 __builtin_HEXAGON_V6_vaddbnq(q64, v64, v64);
75 // CHECK: @llvm.hexagon.V6.vaddbq
76 __builtin_HEXAGON_V6_vaddbq(q64, v64, v64);
77 // CHECK: @llvm.hexagon.V6.vaddbsat
78 __builtin_HEXAGON_V6_vaddbsat(v64, v64);
79 // CHECK: @llvm.hexagon.V6.vaddbsat.dv
80 __builtin_HEXAGON_V6_vaddbsat_dv(v128, v128);
81 // CHECK: @llvm.hexagon.V6.vaddcarry
82 __builtin_HEXAGON_V6_vaddcarry(v64, v64, 0);
83 // CHECK: @llvm.hexagon.V6.vaddclbh
84 __builtin_HEXAGON_V6_vaddclbh(v64, v64);
85 // CHECK: @llvm.hexagon.V6.vaddclbw
86 __builtin_HEXAGON_V6_vaddclbw(v64, v64);
87 // CHECK: @llvm.hexagon.V6.vaddh
88 __builtin_HEXAGON_V6_vaddh(v64, v64);
89 // CHECK: @llvm.hexagon.V6.vaddh.dv
90 __builtin_HEXAGON_V6_vaddh_dv(v128, v128);
91 // CHECK: @llvm.hexagon.V6.vaddhnq
92 __builtin_HEXAGON_V6_vaddhnq(q64, v64, v64);
93 // CHECK: @llvm.hexagon.V6.vaddhq
94 __builtin_HEXAGON_V6_vaddhq(q64, v64, v64);
95 // CHECK: @llvm.hexagon.V6.vaddhsat
96 __builtin_HEXAGON_V6_vaddhsat(v64, v64);
97 // CHECK: @llvm.hexagon.V6.vaddhsat.dv
98 __builtin_HEXAGON_V6_vaddhsat_dv(v128, v128);
99 // CHECK: @llvm.hexagon.V6.vaddhw
100 __builtin_HEXAGON_V6_vaddhw(v64, v64);
101 // CHECK: @llvm.hexagon.V6.vaddhw.acc
102 __builtin_HEXAGON_V6_vaddhw_acc(v128, v64, v64);
103 // CHECK: @llvm.hexagon.V6.vaddubh
104 __builtin_HEXAGON_V6_vaddubh(v64, v64);
105 // CHECK: @llvm.hexagon.V6.vaddubh.acc
106 __builtin_HEXAGON_V6_vaddubh_acc(v128, v64, v64);
107 // CHECK: @llvm.hexagon.V6.vaddubsat
108 __builtin_HEXAGON_V6_vaddubsat(v64, v64);
109 // CHECK: @llvm.hexagon.V6.vaddubsat.dv
110 __builtin_HEXAGON_V6_vaddubsat_dv(v128, v128);
111 // CHECK: @llvm.hexagon.V6.vaddububb.sat
112 __builtin_HEXAGON_V6_vaddububb_sat(v64, v64);
113 // CHECK: @llvm.hexagon.V6.vadduhsat
114 __builtin_HEXAGON_V6_vadduhsat(v64, v64);
115 // CHECK: @llvm.hexagon.V6.vadduhsat.dv
116 __builtin_HEXAGON_V6_vadduhsat_dv(v128, v128);
117 // CHECK: @llvm.hexagon.V6.vadduhw
118 __builtin_HEXAGON_V6_vadduhw(v64, v64);
119 // CHECK: @llvm.hexagon.V6.vadduhw.acc
120 __builtin_HEXAGON_V6_vadduhw_acc(v128, v64, v64);
121 // CHECK: @llvm.hexagon.V6.vadduwsat
122 __builtin_HEXAGON_V6_vadduwsat(v64, v64);
123 // CHECK: @llvm.hexagon.V6.vadduwsat.dv
124 __builtin_HEXAGON_V6_vadduwsat_dv(v128, v128);
125 // CHECK: @llvm.hexagon.V6.vaddw
126 __builtin_HEXAGON_V6_vaddw(v64, v64);
127 // CHECK: @llvm.hexagon.V6.vaddw.dv
128 __builtin_HEXAGON_V6_vaddw_dv(v128, v128);
129 // CHECK: @llvm.hexagon.V6.vaddwnq
130 __builtin_HEXAGON_V6_vaddwnq(q64, v64, v64);
131 // CHECK: @llvm.hexagon.V6.vaddwq
132 __builtin_HEXAGON_V6_vaddwq(q64, v64, v64);
133 // CHECK: @llvm.hexagon.V6.vaddwsat
134 __builtin_HEXAGON_V6_vaddwsat(v64, v64);
135 // CHECK: @llvm.hexagon.V6.vaddwsat.dv
136 __builtin_HEXAGON_V6_vaddwsat_dv(v128, v128);
137 // CHECK: @llvm.hexagon.V6.valignb
138 __builtin_HEXAGON_V6_valignb(v64, v64, 0);
139 // CHECK: @llvm.hexagon.V6.valignbi
140 __builtin_HEXAGON_V6_valignbi(v64, v64, 0);
141 // CHECK: @llvm.hexagon.V6.vand
142 __builtin_HEXAGON_V6_vand(v64, v64);
143 // CHECK: @llvm.hexagon.V6.vandnqrt
144 __builtin_HEXAGON_V6_vandnqrt(q64, 0);
145 // CHECK: @llvm.hexagon.V6.vandnqrt.acc
146 __builtin_HEXAGON_V6_vandnqrt_acc(v64, q64, 0);
147 // CHECK: @llvm.hexagon.V6.vandqrt
148 __builtin_HEXAGON_V6_vandqrt(q64, 0);
149 // CHECK: @llvm.hexagon.V6.vandqrt.acc
150 __builtin_HEXAGON_V6_vandqrt_acc(v64, q64, 0);
151 // CHECK: @llvm.hexagon.V6.vandvnqv
152 __builtin_HEXAGON_V6_vandvnqv(q64, v64);
153 // CHECK: @llvm.hexagon.V6.vandvqv
154 __builtin_HEXAGON_V6_vandvqv(q64, v64);
155 // CHECK: @llvm.hexagon.V6.vandvrt
156 __builtin_HEXAGON_V6_vandvrt(v64, 0);
157 // CHECK: @llvm.hexagon.V6.vandvrt.acc
158 __builtin_HEXAGON_V6_vandvrt_acc(q64, v64, 0);
159 // CHECK: @llvm.hexagon.V6.vaslh
160 __builtin_HEXAGON_V6_vaslh(v64, 0);
161 // CHECK: @llvm.hexagon.V6.vaslh.acc
162 __builtin_HEXAGON_V6_vaslh_acc(v64, v64, 0);
163 // CHECK: @llvm.hexagon.V6.vaslhv
164 __builtin_HEXAGON_V6_vaslhv(v64, v64);
165 // CHECK: @llvm.hexagon.V6.vaslw
166 __builtin_HEXAGON_V6_vaslw(v64, 0);
167 // CHECK: @llvm.hexagon.V6.vaslw.acc
168 __builtin_HEXAGON_V6_vaslw_acc(v64, v64, 0);
169 // CHECK: @llvm.hexagon.V6.vaslwv
170 __builtin_HEXAGON_V6_vaslwv(v64, v64);
171 // CHECK: @llvm.hexagon.V6.vasrh
172 __builtin_HEXAGON_V6_vasrh(v64, 0);
173 // CHECK: @llvm.hexagon.V6.vasrh.acc
174 __builtin_HEXAGON_V6_vasrh_acc(v64, v64, 0);
175 // CHECK: @llvm.hexagon.V6.vasrhbrndsat
176 __builtin_HEXAGON_V6_vasrhbrndsat(v64, v64, 0);
177 // CHECK: @llvm.hexagon.V6.vasrhbsat
178 __builtin_HEXAGON_V6_vasrhbsat(v64, v64, 0);
179 // CHECK: @llvm.hexagon.V6.vasrhubrndsat
180 __builtin_HEXAGON_V6_vasrhubrndsat(v64, v64, 0);
181 // CHECK: @llvm.hexagon.V6.vasrhubsat
182 __builtin_HEXAGON_V6_vasrhubsat(v64, v64, 0);
183 // CHECK: @llvm.hexagon.V6.vasrhv
184 __builtin_HEXAGON_V6_vasrhv(v64, v64);
185 // CHECK: @llvm.hexagon.V6.vasruhubrndsat
186 __builtin_HEXAGON_V6_vasruhubrndsat(v64, v64, 0);
187 // CHECK: @llvm.hexagon.V6.vasruhubsat
188 __builtin_HEXAGON_V6_vasruhubsat(v64, v64, 0);
189 // CHECK: @llvm.hexagon.V6.vasruwuhrndsat
190 __builtin_HEXAGON_V6_vasruwuhrndsat(v64, v64, 0);
191 // CHECK: @llvm.hexagon.V6.vasruwuhsat
192 __builtin_HEXAGON_V6_vasruwuhsat(v64, v64, 0);
193 // CHECK: @llvm.hexagon.V6.vasrw
194 __builtin_HEXAGON_V6_vasrw(v64, 0);
195 // CHECK: @llvm.hexagon.V6.vasrw.acc
196 __builtin_HEXAGON_V6_vasrw_acc(v64, v64, 0);
197 // CHECK: @llvm.hexagon.V6.vasrwh
198 __builtin_HEXAGON_V6_vasrwh(v64, v64, 0);
199 // CHECK: @llvm.hexagon.V6.vasrwhrndsat
200 __builtin_HEXAGON_V6_vasrwhrndsat(v64, v64, 0);
201 // CHECK: @llvm.hexagon.V6.vasrwhsat
202 __builtin_HEXAGON_V6_vasrwhsat(v64, v64, 0);
203 // CHECK: @llvm.hexagon.V6.vasrwuhrndsat
204 __builtin_HEXAGON_V6_vasrwuhrndsat(v64, v64, 0);
205 // CHECK: @llvm.hexagon.V6.vasrwuhsat
206 __builtin_HEXAGON_V6_vasrwuhsat(v64, v64, 0);
207 // CHECK: @llvm.hexagon.V6.vasrwv
208 __builtin_HEXAGON_V6_vasrwv(v64, v64);
209 // CHECK: @llvm.hexagon.V6.vassign
210 __builtin_HEXAGON_V6_vassign(v64);
211 // CHECK: @llvm.hexagon.V6.vassignp
212 __builtin_HEXAGON_V6_vassignp(v128);
213 // CHECK: @llvm.hexagon.V6.vavgb
214 __builtin_HEXAGON_V6_vavgb(v64, v64);
215 // CHECK: @llvm.hexagon.V6.vavgbrnd
216 __builtin_HEXAGON_V6_vavgbrnd(v64, v64);
217 // CHECK: @llvm.hexagon.V6.vavgh
218 __builtin_HEXAGON_V6_vavgh(v64, v64);
219 // CHECK: @llvm.hexagon.V6.vavghrnd
220 __builtin_HEXAGON_V6_vavghrnd(v64, v64);
221 // CHECK: @llvm.hexagon.V6.vavgub
222 __builtin_HEXAGON_V6_vavgub(v64, v64);
223 // CHECK: @llvm.hexagon.V6.vavgubrnd
224 __builtin_HEXAGON_V6_vavgubrnd(v64, v64);
225 // CHECK: @llvm.hexagon.V6.vavguh
226 __builtin_HEXAGON_V6_vavguh(v64, v64);
227 // CHECK: @llvm.hexagon.V6.vavguhrnd
228 __builtin_HEXAGON_V6_vavguhrnd(v64, v64);
229 // CHECK: @llvm.hexagon.V6.vavguw
230 __builtin_HEXAGON_V6_vavguw(v64, v64);
231 // CHECK: @llvm.hexagon.V6.vavguwrnd
232 __builtin_HEXAGON_V6_vavguwrnd(v64, v64);
233 // CHECK: @llvm.hexagon.V6.vavgw
234 __builtin_HEXAGON_V6_vavgw(v64, v64);
235 // CHECK: @llvm.hexagon.V6.vavgwrnd
236 __builtin_HEXAGON_V6_vavgwrnd(v64, v64);
237 // CHECK: @llvm.hexagon.V6.vcl0h
238 __builtin_HEXAGON_V6_vcl0h(v64);
239 // CHECK: @llvm.hexagon.V6.vcl0w
240 __builtin_HEXAGON_V6_vcl0w(v64);
241 // CHECK: @llvm.hexagon.V6.vcombine
242 __builtin_HEXAGON_V6_vcombine(v64, v64);
243 // CHECK: @llvm.hexagon.V6.vd0
244 __builtin_HEXAGON_V6_vd0();
245 // CHECK: @llvm.hexagon.V6.vdd0
246 __builtin_HEXAGON_V6_vdd0();
247 // CHECK: @llvm.hexagon.V6.vdealb
248 __builtin_HEXAGON_V6_vdealb(v64);
249 // CHECK: @llvm.hexagon.V6.vdealb4w
250 __builtin_HEXAGON_V6_vdealb4w(v64, v64);
251 // CHECK: @llvm.hexagon.V6.vdealh
252 __builtin_HEXAGON_V6_vdealh(v64);
253 // CHECK: @llvm.hexagon.V6.vdealvdd
254 __builtin_HEXAGON_V6_vdealvdd(v64, v64, 0);
255 // CHECK: @llvm.hexagon.V6.vdelta
256 __builtin_HEXAGON_V6_vdelta(v64, v64);
257 // CHECK: @llvm.hexagon.V6.vdmpybus
258 __builtin_HEXAGON_V6_vdmpybus(v64, 0);
259 // CHECK: @llvm.hexagon.V6.vdmpybus.acc
260 __builtin_HEXAGON_V6_vdmpybus_acc(v64, v64, 0);
261 // CHECK: @llvm.hexagon.V6.vdmpybus.dv
262 __builtin_HEXAGON_V6_vdmpybus_dv(v128, 0);
263 // CHECK: @llvm.hexagon.V6.vdmpybus.dv.acc
264 __builtin_HEXAGON_V6_vdmpybus_dv_acc(v128, v128, 0);
265 // CHECK: @llvm.hexagon.V6.vdmpyhb
266 __builtin_HEXAGON_V6_vdmpyhb(v64, 0);
267 // CHECK: @llvm.hexagon.V6.vdmpyhb.acc
268 __builtin_HEXAGON_V6_vdmpyhb_acc(v64, v64, 0);
269 // CHECK: @llvm.hexagon.V6.vdmpyhb.dv
270 __builtin_HEXAGON_V6_vdmpyhb_dv(v128, 0);
271 // CHECK: @llvm.hexagon.V6.vdmpyhb.dv.acc
272 __builtin_HEXAGON_V6_vdmpyhb_dv_acc(v128, v128, 0);
273 // CHECK: @llvm.hexagon.V6.vdmpyhisat
274 __builtin_HEXAGON_V6_vdmpyhisat(v128, 0);
275 // CHECK: @llvm.hexagon.V6.vdmpyhisat.acc
276 __builtin_HEXAGON_V6_vdmpyhisat_acc(v64, v128, 0);
277 // CHECK: @llvm.hexagon.V6.vdmpyhsat
278 __builtin_HEXAGON_V6_vdmpyhsat(v64, 0);
279 // CHECK: @llvm.hexagon.V6.vdmpyhsat.acc
280 __builtin_HEXAGON_V6_vdmpyhsat_acc(v64, v64, 0);
281 // CHECK: @llvm.hexagon.V6.vdmpyhsuisat
282 __builtin_HEXAGON_V6_vdmpyhsuisat(v128, 0);
283 // CHECK: @llvm.hexagon.V6.vdmpyhsuisat.acc
284 __builtin_HEXAGON_V6_vdmpyhsuisat_acc(v64, v128, 0);
285 // CHECK: @llvm.hexagon.V6.vdmpyhsusat
286 __builtin_HEXAGON_V6_vdmpyhsusat(v64, 0);
287 // CHECK: @llvm.hexagon.V6.vdmpyhsusat.acc
288 __builtin_HEXAGON_V6_vdmpyhsusat_acc(v64, v64, 0);
289 // CHECK: @llvm.hexagon.V6.vdmpyhvsat
290 __builtin_HEXAGON_V6_vdmpyhvsat(v64, v64);
291 // CHECK: @llvm.hexagon.V6.vdmpyhvsat.acc
292 __builtin_HEXAGON_V6_vdmpyhvsat_acc(v64, v64, v64);
293 // CHECK: @llvm.hexagon.V6.vdsaduh
294 __builtin_HEXAGON_V6_vdsaduh(v128, 0);
295 // CHECK: @llvm.hexagon.V6.vdsaduh.acc
296 __builtin_HEXAGON_V6_vdsaduh_acc(v128, v128, 0);
297 // CHECK: @llvm.hexagon.V6.veqb
298 __builtin_HEXAGON_V6_veqb(v64, v64);
299 // CHECK: @llvm.hexagon.V6.veqb.and
300 __builtin_HEXAGON_V6_veqb_and(q64, v64, v64);
301 // CHECK: @llvm.hexagon.V6.veqb.or
302 __builtin_HEXAGON_V6_veqb_or(q64, v64, v64);
303 // CHECK: @llvm.hexagon.V6.veqb.xor
304 __builtin_HEXAGON_V6_veqb_xor(q64, v64, v64);
305 // CHECK: @llvm.hexagon.V6.veqh
306 __builtin_HEXAGON_V6_veqh(v64, v64);
307 // CHECK: @llvm.hexagon.V6.veqh.and
308 __builtin_HEXAGON_V6_veqh_and(q64, v64, v64);
309 // CHECK: @llvm.hexagon.V6.veqh.or
310 __builtin_HEXAGON_V6_veqh_or(q64, v64, v64);
311 // CHECK: @llvm.hexagon.V6.veqh.xor
312 __builtin_HEXAGON_V6_veqh_xor(q64, v64, v64);
313 // CHECK: @llvm.hexagon.V6.veqw
314 __builtin_HEXAGON_V6_veqw(v64, v64);
315 // CHECK: @llvm.hexagon.V6.veqw.and
316 __builtin_HEXAGON_V6_veqw_and(q64, v64, v64);
317 // CHECK: @llvm.hexagon.V6.veqw.or
318 __builtin_HEXAGON_V6_veqw_or(q64, v64, v64);
319 // CHECK: @llvm.hexagon.V6.veqw.xor
320 __builtin_HEXAGON_V6_veqw_xor(q64, v64, v64);
321 // CHECK: @llvm.hexagon.V6.vgathermh
322 __builtin_HEXAGON_V6_vgathermh(0, 0, 0, v64);
323 // CHECK: @llvm.hexagon.V6.vgathermhq
324 __builtin_HEXAGON_V6_vgathermhq(0, q64, 0, 0, v64);
325 // CHECK: @llvm.hexagon.V6.vgathermhw
326 __builtin_HEXAGON_V6_vgathermhw(0, 0, 0, v128);
327 // CHECK: @llvm.hexagon.V6.vgathermhwq
328 __builtin_HEXAGON_V6_vgathermhwq(0, q64, 0, 0, v128);
329 // CHECK: @llvm.hexagon.V6.vgathermw
330 __builtin_HEXAGON_V6_vgathermw(0, 0, 0, v64);
331 // CHECK: @llvm.hexagon.V6.vgathermwq
332 __builtin_HEXAGON_V6_vgathermwq(0, q64, 0, 0, v64);
333 // CHECK: @llvm.hexagon.V6.vgtb
334 __builtin_HEXAGON_V6_vgtb(v64, v64);
335 // CHECK: @llvm.hexagon.V6.vgtb.and
336 __builtin_HEXAGON_V6_vgtb_and(q64, v64, v64);
337 // CHECK: @llvm.hexagon.V6.vgtb.or
338 __builtin_HEXAGON_V6_vgtb_or(q64, v64, v64);
339 // CHECK: @llvm.hexagon.V6.vgtb.xor
340 __builtin_HEXAGON_V6_vgtb_xor(q64, v64, v64);
341 // CHECK: @llvm.hexagon.V6.vgth
342 __builtin_HEXAGON_V6_vgth(v64, v64);
343 // CHECK: @llvm.hexagon.V6.vgth.and
344 __builtin_HEXAGON_V6_vgth_and(q64, v64, v64);
345 // CHECK: @llvm.hexagon.V6.vgth.or
346 __builtin_HEXAGON_V6_vgth_or(q64, v64, v64);
347 // CHECK: @llvm.hexagon.V6.vgth.xor
348 __builtin_HEXAGON_V6_vgth_xor(q64, v64, v64);
349 // CHECK: @llvm.hexagon.V6.vgtub
350 __builtin_HEXAGON_V6_vgtub(v64, v64);
351 // CHECK: @llvm.hexagon.V6.vgtub.and
352 __builtin_HEXAGON_V6_vgtub_and(q64, v64, v64);
353 // CHECK: @llvm.hexagon.V6.vgtub.or
354 __builtin_HEXAGON_V6_vgtub_or(q64, v64, v64);
355 // CHECK: @llvm.hexagon.V6.vgtub.xor
356 __builtin_HEXAGON_V6_vgtub_xor(q64, v64, v64);
357 // CHECK: @llvm.hexagon.V6.vgtuh
358 __builtin_HEXAGON_V6_vgtuh(v64, v64);
359 // CHECK: @llvm.hexagon.V6.vgtuh.and
360 __builtin_HEXAGON_V6_vgtuh_and(q64, v64, v64);
361 // CHECK: @llvm.hexagon.V6.vgtuh.or
362 __builtin_HEXAGON_V6_vgtuh_or(q64, v64, v64);
363 // CHECK: @llvm.hexagon.V6.vgtuh.xor
364 __builtin_HEXAGON_V6_vgtuh_xor(q64, v64, v64);
365 // CHECK: @llvm.hexagon.V6.vgtuw
366 __builtin_HEXAGON_V6_vgtuw(v64, v64);
367 // CHECK: @llvm.hexagon.V6.vgtuw.and
368 __builtin_HEXAGON_V6_vgtuw_and(q64, v64, v64);
369 // CHECK: @llvm.hexagon.V6.vgtuw.or
370 __builtin_HEXAGON_V6_vgtuw_or(q64, v64, v64);
371 // CHECK: @llvm.hexagon.V6.vgtuw.xor
372 __builtin_HEXAGON_V6_vgtuw_xor(q64, v64, v64);
373 // CHECK: @llvm.hexagon.V6.vgtw
374 __builtin_HEXAGON_V6_vgtw(v64, v64);
375 // CHECK: @llvm.hexagon.V6.vgtw.and
376 __builtin_HEXAGON_V6_vgtw_and(q64, v64, v64);
377 // CHECK: @llvm.hexagon.V6.vgtw.or
378 __builtin_HEXAGON_V6_vgtw_or(q64, v64, v64);
379 // CHECK: @llvm.hexagon.V6.vgtw.xor
380 __builtin_HEXAGON_V6_vgtw_xor(q64, v64, v64);
381 // CHECK: @llvm.hexagon.V6.vinsertwr
382 __builtin_HEXAGON_V6_vinsertwr(v64, 0);
383 // CHECK: @llvm.hexagon.V6.vlalignb
384 __builtin_HEXAGON_V6_vlalignb(v64, v64, 0);
385 // CHECK: @llvm.hexagon.V6.vlalignbi
386 __builtin_HEXAGON_V6_vlalignbi(v64, v64, 0);
387 // CHECK: @llvm.hexagon.V6.vlsrb
388 __builtin_HEXAGON_V6_vlsrb(v64, 0);
389 // CHECK: @llvm.hexagon.V6.vlsrh
390 __builtin_HEXAGON_V6_vlsrh(v64, 0);
391 // CHECK: @llvm.hexagon.V6.vlsrhv
392 __builtin_HEXAGON_V6_vlsrhv(v64, v64);
393 // CHECK: @llvm.hexagon.V6.vlsrw
394 __builtin_HEXAGON_V6_vlsrw(v64, 0);
395 // CHECK: @llvm.hexagon.V6.vlsrwv
396 __builtin_HEXAGON_V6_vlsrwv(v64, v64);
397 // CHECK: @llvm.hexagon.V6.vlut4
398 __builtin_HEXAGON_V6_vlut4(v64, 0);
399 // CHECK: @llvm.hexagon.V6.vlutvvb
400 __builtin_HEXAGON_V6_vlutvvb(v64, v64, 0);
401 // CHECK: @llvm.hexagon.V6.vlutvvb.nm
402 __builtin_HEXAGON_V6_vlutvvb_nm(v64, v64, 0);
403 // CHECK: @llvm.hexagon.V6.vlutvvb.oracc
404 __builtin_HEXAGON_V6_vlutvvb_oracc(v64, v64, v64, 0);
405 // CHECK: @llvm.hexagon.V6.vlutvvb.oracci
406 __builtin_HEXAGON_V6_vlutvvb_oracci(v64, v64, v64, 0);
407 // CHECK: @llvm.hexagon.V6.vlutvvbi
408 __builtin_HEXAGON_V6_vlutvvbi(v64, v64, 0);
409 // CHECK: @llvm.hexagon.V6.vlutvwh
410 __builtin_HEXAGON_V6_vlutvwh(v64, v64, 0);
411 // CHECK: @llvm.hexagon.V6.vlutvwh.nm
412 __builtin_HEXAGON_V6_vlutvwh_nm(v64, v64, 0);
413 // CHECK: @llvm.hexagon.V6.vlutvwh.oracc
414 __builtin_HEXAGON_V6_vlutvwh_oracc(v128, v64, v64, 0);
415 // CHECK: @llvm.hexagon.V6.vlutvwh.oracci
416 __builtin_HEXAGON_V6_vlutvwh_oracci(v128, v64, v64, 0);
417 // CHECK: @llvm.hexagon.V6.vlutvwhi
418 __builtin_HEXAGON_V6_vlutvwhi(v64, v64, 0);
419 // CHECK: @llvm.hexagon.V6.vmaskedstorenq
420 __builtin_HEXAGON_V6_vmaskedstorenq(q64, 0, v64);
421 // CHECK: @llvm.hexagon.V6.vmaskedstorentnq
422 __builtin_HEXAGON_V6_vmaskedstorentnq(q64, 0, v64);
423 // CHECK: @llvm.hexagon.V6.vmaskedstorentq
424 __builtin_HEXAGON_V6_vmaskedstorentq(q64, 0, v64);
425 // CHECK: @llvm.hexagon.V6.vmaskedstoreq
426 __builtin_HEXAGON_V6_vmaskedstoreq(q64, 0, v64);
427 // CHECK: @llvm.hexagon.V6.vmaxb
428 __builtin_HEXAGON_V6_vmaxb(v64, v64);
429 // CHECK: @llvm.hexagon.V6.vmaxh
430 __builtin_HEXAGON_V6_vmaxh(v64, v64);
431 // CHECK: @llvm.hexagon.V6.vmaxub
432 __builtin_HEXAGON_V6_vmaxub(v64, v64);
433 // CHECK: @llvm.hexagon.V6.vmaxuh
434 __builtin_HEXAGON_V6_vmaxuh(v64, v64);
435 // CHECK: @llvm.hexagon.V6.vmaxw
436 __builtin_HEXAGON_V6_vmaxw(v64, v64);
437 // CHECK: @llvm.hexagon.V6.vminb
438 __builtin_HEXAGON_V6_vminb(v64, v64);
439 // CHECK: @llvm.hexagon.V6.vminh
440 __builtin_HEXAGON_V6_vminh(v64, v64);
441 // CHECK: @llvm.hexagon.V6.vminub
442 __builtin_HEXAGON_V6_vminub(v64, v64);
443 // CHECK: @llvm.hexagon.V6.vminuh
444 __builtin_HEXAGON_V6_vminuh(v64, v64);
445 // CHECK: @llvm.hexagon.V6.vminw
446 __builtin_HEXAGON_V6_vminw(v64, v64);
447 // CHECK: @llvm.hexagon.V6.vmpabus
448 __builtin_HEXAGON_V6_vmpabus(v128, 0);
449 // CHECK: @llvm.hexagon.V6.vmpabus.acc
450 __builtin_HEXAGON_V6_vmpabus_acc(v128, v128, 0);
451 // CHECK: @llvm.hexagon.V6.vmpabusv
452 __builtin_HEXAGON_V6_vmpabusv(v128, v128);
453 // CHECK: @llvm.hexagon.V6.vmpabuu
454 __builtin_HEXAGON_V6_vmpabuu(v128, 0);
455 // CHECK: @llvm.hexagon.V6.vmpabuu.acc
456 __builtin_HEXAGON_V6_vmpabuu_acc(v128, v128, 0);
457 // CHECK: @llvm.hexagon.V6.vmpabuuv
458 __builtin_HEXAGON_V6_vmpabuuv(v128, v128);
459 // CHECK: @llvm.hexagon.V6.vmpahb
460 __builtin_HEXAGON_V6_vmpahb(v128, 0);
461 // CHECK: @llvm.hexagon.V6.vmpahb.acc
462 __builtin_HEXAGON_V6_vmpahb_acc(v128, v128, 0);
463 // CHECK: @llvm.hexagon.V6.vmpahhsat
464 __builtin_HEXAGON_V6_vmpahhsat(v64, v64, 0);
465 // CHECK: @llvm.hexagon.V6.vmpauhb
466 __builtin_HEXAGON_V6_vmpauhb(v128, 0);
467 // CHECK: @llvm.hexagon.V6.vmpauhb.acc
468 __builtin_HEXAGON_V6_vmpauhb_acc(v128, v128, 0);
469 // CHECK: @llvm.hexagon.V6.vmpauhuhsat
470 __builtin_HEXAGON_V6_vmpauhuhsat(v64, v64, 0);
471 // CHECK: @llvm.hexagon.V6.vmpsuhuhsat
472 __builtin_HEXAGON_V6_vmpsuhuhsat(v64, v64, 0);
473 // CHECK: @llvm.hexagon.V6.vmpybus
474 __builtin_HEXAGON_V6_vmpybus(v64, 0);
475 // CHECK: @llvm.hexagon.V6.vmpybus.acc
476 __builtin_HEXAGON_V6_vmpybus_acc(v128, v64, 0);
477 // CHECK: @llvm.hexagon.V6.vmpybusv
478 __builtin_HEXAGON_V6_vmpybusv(v64, v64);
479 // CHECK: @llvm.hexagon.V6.vmpybusv.acc
480 __builtin_HEXAGON_V6_vmpybusv_acc(v128, v64, v64);
481 // CHECK: @llvm.hexagon.V6.vmpybv
482 __builtin_HEXAGON_V6_vmpybv(v64, v64);
483 // CHECK: @llvm.hexagon.V6.vmpybv.acc
484 __builtin_HEXAGON_V6_vmpybv_acc(v128, v64, v64);
485 // CHECK: @llvm.hexagon.V6.vmpyewuh
486 __builtin_HEXAGON_V6_vmpyewuh(v64, v64);
487 // CHECK: @llvm.hexagon.V6.vmpyewuh.64
488 __builtin_HEXAGON_V6_vmpyewuh_64(v64, v64);
489 // CHECK: @llvm.hexagon.V6.vmpyh
490 __builtin_HEXAGON_V6_vmpyh(v64, 0);
491 // CHECK: @llvm.hexagon.V6.vmpyh.acc
492 __builtin_HEXAGON_V6_vmpyh_acc(v128, v64, 0);
493 // CHECK: @llvm.hexagon.V6.vmpyhsat.acc
494 __builtin_HEXAGON_V6_vmpyhsat_acc(v128, v64, 0);
495 // CHECK: @llvm.hexagon.V6.vmpyhsrs
496 __builtin_HEXAGON_V6_vmpyhsrs(v64, 0);
497 // CHECK: @llvm.hexagon.V6.vmpyhss
498 __builtin_HEXAGON_V6_vmpyhss(v64, 0);
499 // CHECK: @llvm.hexagon.V6.vmpyhus
500 __builtin_HEXAGON_V6_vmpyhus(v64, v64);
501 // CHECK: @llvm.hexagon.V6.vmpyhus.acc
502 __builtin_HEXAGON_V6_vmpyhus_acc(v128, v64, v64);
503 // CHECK: @llvm.hexagon.V6.vmpyhv
504 __builtin_HEXAGON_V6_vmpyhv(v64, v64);
505 // CHECK: @llvm.hexagon.V6.vmpyhv.acc
506 __builtin_HEXAGON_V6_vmpyhv_acc(v128, v64, v64);
507 // CHECK: @llvm.hexagon.V6.vmpyhvsrs
508 __builtin_HEXAGON_V6_vmpyhvsrs(v64, v64);
509 // CHECK: @llvm.hexagon.V6.vmpyieoh
510 __builtin_HEXAGON_V6_vmpyieoh(v64, v64);
511 // CHECK: @llvm.hexagon.V6.vmpyiewh.acc
512 __builtin_HEXAGON_V6_vmpyiewh_acc(v64, v64, v64);
513 // CHECK: @llvm.hexagon.V6.vmpyiewuh
514 __builtin_HEXAGON_V6_vmpyiewuh(v64, v64);
515 // CHECK: @llvm.hexagon.V6.vmpyiewuh.acc
516 __builtin_HEXAGON_V6_vmpyiewuh_acc(v64, v64, v64);
517 // CHECK: @llvm.hexagon.V6.vmpyih
518 __builtin_HEXAGON_V6_vmpyih(v64, v64);
519 // CHECK: @llvm.hexagon.V6.vmpyih.acc
520 __builtin_HEXAGON_V6_vmpyih_acc(v64, v64, v64);
521 // CHECK: @llvm.hexagon.V6.vmpyihb
522 __builtin_HEXAGON_V6_vmpyihb(v64, 0);
523 // CHECK: @llvm.hexagon.V6.vmpyihb.acc
524 __builtin_HEXAGON_V6_vmpyihb_acc(v64, v64, 0);
525 // CHECK: @llvm.hexagon.V6.vmpyiowh
526 __builtin_HEXAGON_V6_vmpyiowh(v64, v64);
527 // CHECK: @llvm.hexagon.V6.vmpyiwb
528 __builtin_HEXAGON_V6_vmpyiwb(v64, 0);
529 // CHECK: @llvm.hexagon.V6.vmpyiwb.acc
530 __builtin_HEXAGON_V6_vmpyiwb_acc(v64, v64, 0);
531 // CHECK: @llvm.hexagon.V6.vmpyiwh
532 __builtin_HEXAGON_V6_vmpyiwh(v64, 0);
533 // CHECK: @llvm.hexagon.V6.vmpyiwh.acc
534 __builtin_HEXAGON_V6_vmpyiwh_acc(v64, v64, 0);
535 // CHECK: @llvm.hexagon.V6.vmpyiwub
536 __builtin_HEXAGON_V6_vmpyiwub(v64, 0);
537 // CHECK: @llvm.hexagon.V6.vmpyiwub.acc
538 __builtin_HEXAGON_V6_vmpyiwub_acc(v64, v64, 0);
539 // CHECK: @llvm.hexagon.V6.vmpyowh
540 __builtin_HEXAGON_V6_vmpyowh(v64, v64);
541 // CHECK: @llvm.hexagon.V6.vmpyowh.64.acc
542 __builtin_HEXAGON_V6_vmpyowh_64_acc(v128, v64, v64);
543 // CHECK: @llvm.hexagon.V6.vmpyowh.rnd
544 __builtin_HEXAGON_V6_vmpyowh_rnd(v64, v64);
545 // CHECK: @llvm.hexagon.V6.vmpyowh.rnd.sacc
546 __builtin_HEXAGON_V6_vmpyowh_rnd_sacc(v64, v64, v64);
547 // CHECK: @llvm.hexagon.V6.vmpyowh.sacc
548 __builtin_HEXAGON_V6_vmpyowh_sacc(v64, v64, v64);
549 // CHECK: @llvm.hexagon.V6.vmpyub
550 __builtin_HEXAGON_V6_vmpyub(v64, 0);
551 // CHECK: @llvm.hexagon.V6.vmpyub.acc
552 __builtin_HEXAGON_V6_vmpyub_acc(v128, v64, 0);
553 // CHECK: @llvm.hexagon.V6.vmpyubv
554 __builtin_HEXAGON_V6_vmpyubv(v64, v64);
555 // CHECK: @llvm.hexagon.V6.vmpyubv.acc
556 __builtin_HEXAGON_V6_vmpyubv_acc(v128, v64, v64);
557 // CHECK: @llvm.hexagon.V6.vmpyuh
558 __builtin_HEXAGON_V6_vmpyuh(v64, 0);
559 // CHECK: @llvm.hexagon.V6.vmpyuh.acc
560 __builtin_HEXAGON_V6_vmpyuh_acc(v128, v64, 0);
561 // CHECK: @llvm.hexagon.V6.vmpyuhe
562 __builtin_HEXAGON_V6_vmpyuhe(v64, 0);
563 // CHECK: @llvm.hexagon.V6.vmpyuhe.acc
564 __builtin_HEXAGON_V6_vmpyuhe_acc(v64, v64, 0);
565 // CHECK: @llvm.hexagon.V6.vmpyuhv
566 __builtin_HEXAGON_V6_vmpyuhv(v64, v64);
567 // CHECK: @llvm.hexagon.V6.vmpyuhv.acc
568 __builtin_HEXAGON_V6_vmpyuhv_acc(v128, v64, v64);
569 // CHECK: @llvm.hexagon.V6.vmux
570 __builtin_HEXAGON_V6_vmux(q64, v64, v64);
571 // CHECK: @llvm.hexagon.V6.vnavgb
572 __builtin_HEXAGON_V6_vnavgb(v64, v64);
573 // CHECK: @llvm.hexagon.V6.vnavgh
574 __builtin_HEXAGON_V6_vnavgh(v64, v64);
575 // CHECK: @llvm.hexagon.V6.vnavgub
576 __builtin_HEXAGON_V6_vnavgub(v64, v64);
577 // CHECK: @llvm.hexagon.V6.vnavgw
578 __builtin_HEXAGON_V6_vnavgw(v64, v64);
579 // CHECK: @llvm.hexagon.V6.vnormamth
580 __builtin_HEXAGON_V6_vnormamth(v64);
581 // CHECK: @llvm.hexagon.V6.vnormamtw
582 __builtin_HEXAGON_V6_vnormamtw(v64);
583 // CHECK: @llvm.hexagon.V6.vnot
584 __builtin_HEXAGON_V6_vnot(v64);
585 // CHECK: @llvm.hexagon.V6.vor
586 __builtin_HEXAGON_V6_vor(v64, v64);
587 // CHECK: @llvm.hexagon.V6.vpackeb
588 __builtin_HEXAGON_V6_vpackeb(v64, v64);
589 // CHECK: @llvm.hexagon.V6.vpackeh
590 __builtin_HEXAGON_V6_vpackeh(v64, v64);
591 // CHECK: @llvm.hexagon.V6.vpackhb.sat
592 __builtin_HEXAGON_V6_vpackhb_sat(v64, v64);
593 // CHECK: @llvm.hexagon.V6.vpackhub.sat
594 __builtin_HEXAGON_V6_vpackhub_sat(v64, v64);
595 // CHECK: @llvm.hexagon.V6.vpackob
596 __builtin_HEXAGON_V6_vpackob(v64, v64);
597 // CHECK: @llvm.hexagon.V6.vpackoh
598 __builtin_HEXAGON_V6_vpackoh(v64, v64);
599 // CHECK: @llvm.hexagon.V6.vpackwh.sat
600 __builtin_HEXAGON_V6_vpackwh_sat(v64, v64);
601 // CHECK: @llvm.hexagon.V6.vpackwuh.sat
602 __builtin_HEXAGON_V6_vpackwuh_sat(v64, v64);
603 // CHECK: @llvm.hexagon.V6.vpopcounth
604 __builtin_HEXAGON_V6_vpopcounth(v64);
605 // CHECK: @llvm.hexagon.V6.vprefixqb
606 __builtin_HEXAGON_V6_vprefixqb(q64);
607 // CHECK: @llvm.hexagon.V6.vprefixqh
608 __builtin_HEXAGON_V6_vprefixqh(q64);
609 // CHECK: @llvm.hexagon.V6.vprefixqw
610 __builtin_HEXAGON_V6_vprefixqw(q64);
611 // CHECK: @llvm.hexagon.V6.vrdelta
612 __builtin_HEXAGON_V6_vrdelta(v64, v64);
613 // CHECK: @llvm.hexagon.V6.vrmpybub.rtt
614 __builtin_HEXAGON_V6_vrmpybub_rtt(v64, 0);
615 // CHECK: @llvm.hexagon.V6.vrmpybub.rtt.acc
616 __builtin_HEXAGON_V6_vrmpybub_rtt_acc(v128, v64, 0);
617 // CHECK: @llvm.hexagon.V6.vrmpybus
618 __builtin_HEXAGON_V6_vrmpybus(v64, 0);
619 // CHECK: @llvm.hexagon.V6.vrmpybus.acc
620 __builtin_HEXAGON_V6_vrmpybus_acc(v64, v64, 0);
621 // CHECK: @llvm.hexagon.V6.vrmpybusi
622 __builtin_HEXAGON_V6_vrmpybusi(v128, 0, 0);
623 // CHECK: @llvm.hexagon.V6.vrmpybusi.acc
624 __builtin_HEXAGON_V6_vrmpybusi_acc(v128, v128, 0, 0);
625 // CHECK: @llvm.hexagon.V6.vrmpybusv
626 __builtin_HEXAGON_V6_vrmpybusv(v64, v64);
627 // CHECK: @llvm.hexagon.V6.vrmpybusv.acc
628 __builtin_HEXAGON_V6_vrmpybusv_acc(v64, v64, v64);
629 // CHECK: @llvm.hexagon.V6.vrmpybv
630 __builtin_HEXAGON_V6_vrmpybv(v64, v64);
631 // CHECK: @llvm.hexagon.V6.vrmpybv.acc
632 __builtin_HEXAGON_V6_vrmpybv_acc(v64, v64, v64);
633 // CHECK: @llvm.hexagon.V6.vrmpyub
634 __builtin_HEXAGON_V6_vrmpyub(v64, 0);
635 // CHECK: @llvm.hexagon.V6.vrmpyub.acc
636 __builtin_HEXAGON_V6_vrmpyub_acc(v64, v64, 0);
637 // CHECK: @llvm.hexagon.V6.vrmpyub.rtt
638 __builtin_HEXAGON_V6_vrmpyub_rtt(v64, 0);
639 // CHECK: @llvm.hexagon.V6.vrmpyub.rtt.acc
640 __builtin_HEXAGON_V6_vrmpyub_rtt_acc(v128, v64, 0);
641 // CHECK: @llvm.hexagon.V6.vrmpyubi
642 __builtin_HEXAGON_V6_vrmpyubi(v128, 0, 0);
643 // CHECK: @llvm.hexagon.V6.vrmpyubi.acc
644 __builtin_HEXAGON_V6_vrmpyubi_acc(v128, v128, 0, 0);
645 // CHECK: @llvm.hexagon.V6.vrmpyubv
646 __builtin_HEXAGON_V6_vrmpyubv(v64, v64);
647 // CHECK: @llvm.hexagon.V6.vrmpyubv.acc
648 __builtin_HEXAGON_V6_vrmpyubv_acc(v64, v64, v64);
649 // CHECK: @llvm.hexagon.V6.vror
650 __builtin_HEXAGON_V6_vror(v64, 0);
651 // CHECK: @llvm.hexagon.V6.vroundhb
652 __builtin_HEXAGON_V6_vroundhb(v64, v64);
653 // CHECK: @llvm.hexagon.V6.vroundhub
654 __builtin_HEXAGON_V6_vroundhub(v64, v64);
655 // CHECK: @llvm.hexagon.V6.vrounduhub
656 __builtin_HEXAGON_V6_vrounduhub(v64, v64);
657 // CHECK: @llvm.hexagon.V6.vrounduwuh
658 __builtin_HEXAGON_V6_vrounduwuh(v64, v64);
659 // CHECK: @llvm.hexagon.V6.vroundwh
660 __builtin_HEXAGON_V6_vroundwh(v64, v64);
661 // CHECK: @llvm.hexagon.V6.vroundwuh
662 __builtin_HEXAGON_V6_vroundwuh(v64, v64);
663 // CHECK: @llvm.hexagon.V6.vrsadubi
664 __builtin_HEXAGON_V6_vrsadubi(v128, 0, 0);
665 // CHECK: @llvm.hexagon.V6.vrsadubi.acc
666 __builtin_HEXAGON_V6_vrsadubi_acc(v128, v128, 0, 0);
667 // CHECK: @llvm.hexagon.V6.vsathub
668 __builtin_HEXAGON_V6_vsathub(v64, v64);
669 // CHECK: @llvm.hexagon.V6.vsatuwuh
670 __builtin_HEXAGON_V6_vsatuwuh(v64, v64);
671 // CHECK: @llvm.hexagon.V6.vsatwh
672 __builtin_HEXAGON_V6_vsatwh(v64, v64);
673 // CHECK: @llvm.hexagon.V6.vsb
674 __builtin_HEXAGON_V6_vsb(v64);
675 // CHECK: @llvm.hexagon.V6.vscattermh
676 __builtin_HEXAGON_V6_vscattermh(0, 0, v64, v64);
677 // CHECK: @llvm.hexagon.V6.vscattermh.add
678 __builtin_HEXAGON_V6_vscattermh_add(0, 0, v64, v64);
679 // CHECK: @llvm.hexagon.V6.vscattermhq
680 __builtin_HEXAGON_V6_vscattermhq(q64, 0, 0, v64, v64);
681 // CHECK: @llvm.hexagon.V6.vscattermhw
682 __builtin_HEXAGON_V6_vscattermhw(0, 0, v128, v64);
683 // CHECK: @llvm.hexagon.V6.vscattermhw.add
684 __builtin_HEXAGON_V6_vscattermhw_add(0, 0, v128, v64);
685 // CHECK: @llvm.hexagon.V6.vscattermhwq
686 __builtin_HEXAGON_V6_vscattermhwq(q64, 0, 0, v128, v64);
687 // CHECK: @llvm.hexagon.V6.vscattermw
688 __builtin_HEXAGON_V6_vscattermw(0, 0, v64, v64);
689 // CHECK: @llvm.hexagon.V6.vscattermw.add
690 __builtin_HEXAGON_V6_vscattermw_add(0, 0, v64, v64);
691 // CHECK: @llvm.hexagon.V6.vscattermwq
692 __builtin_HEXAGON_V6_vscattermwq(q64, 0, 0, v64, v64);
693 // CHECK: @llvm.hexagon.V6.vsh
694 __builtin_HEXAGON_V6_vsh(v64);
695 // CHECK: @llvm.hexagon.V6.vshufeh
696 __builtin_HEXAGON_V6_vshufeh(v64, v64);
697 // CHECK: @llvm.hexagon.V6.vshuffb
698 __builtin_HEXAGON_V6_vshuffb(v64);
699 // CHECK: @llvm.hexagon.V6.vshuffeb
700 __builtin_HEXAGON_V6_vshuffeb(v64, v64);
701 // CHECK: @llvm.hexagon.V6.vshuffh
702 __builtin_HEXAGON_V6_vshuffh(v64);
703 // CHECK: @llvm.hexagon.V6.vshuffob
704 __builtin_HEXAGON_V6_vshuffob(v64, v64);
705 // CHECK: @llvm.hexagon.V6.vshuffvdd
706 __builtin_HEXAGON_V6_vshuffvdd(v64, v64, 0);
707 // CHECK: @llvm.hexagon.V6.vshufoeb
708 __builtin_HEXAGON_V6_vshufoeb(v64, v64);
709 // CHECK: @llvm.hexagon.V6.vshufoeh
710 __builtin_HEXAGON_V6_vshufoeh(v64, v64);
711 // CHECK: @llvm.hexagon.V6.vshufoh
712 __builtin_HEXAGON_V6_vshufoh(v64, v64);
713 // CHECK: @llvm.hexagon.V6.vsubb
714 __builtin_HEXAGON_V6_vsubb(v64, v64);
715 // CHECK: @llvm.hexagon.V6.vsubb.dv
716 __builtin_HEXAGON_V6_vsubb_dv(v128, v128);
717 // CHECK: @llvm.hexagon.V6.vsubbnq
718 __builtin_HEXAGON_V6_vsubbnq(q64, v64, v64);
719 // CHECK: @llvm.hexagon.V6.vsubbq
720 __builtin_HEXAGON_V6_vsubbq(q64, v64, v64);
721 // CHECK: @llvm.hexagon.V6.vsubbsat
722 __builtin_HEXAGON_V6_vsubbsat(v64, v64);
723 // CHECK: @llvm.hexagon.V6.vsubbsat.dv
724 __builtin_HEXAGON_V6_vsubbsat_dv(v128, v128);
725 // CHECK: @llvm.hexagon.V6.vsubcarry
726 __builtin_HEXAGON_V6_vsubcarry(v64, v64, 0);
727 // CHECK: @llvm.hexagon.V6.vsubh
728 __builtin_HEXAGON_V6_vsubh(v64, v64);
729 // CHECK: @llvm.hexagon.V6.vsubh.dv
730 __builtin_HEXAGON_V6_vsubh_dv(v128, v128);
731 // CHECK: @llvm.hexagon.V6.vsubhnq
732 __builtin_HEXAGON_V6_vsubhnq(q64, v64, v64);
733 // CHECK: @llvm.hexagon.V6.vsubhq
734 __builtin_HEXAGON_V6_vsubhq(q64, v64, v64);
735 // CHECK: @llvm.hexagon.V6.vsubhsat
736 __builtin_HEXAGON_V6_vsubhsat(v64, v64);
737 // CHECK: @llvm.hexagon.V6.vsubhsat.dv
738 __builtin_HEXAGON_V6_vsubhsat_dv(v128, v128);
739 // CHECK: @llvm.hexagon.V6.vsubhw
740 __builtin_HEXAGON_V6_vsubhw(v64, v64);
741 // CHECK: @llvm.hexagon.V6.vsububh
742 __builtin_HEXAGON_V6_vsububh(v64, v64);
743 // CHECK: @llvm.hexagon.V6.vsububsat
744 __builtin_HEXAGON_V6_vsububsat(v64, v64);
745 // CHECK: @llvm.hexagon.V6.vsububsat.dv
746 __builtin_HEXAGON_V6_vsububsat_dv(v128, v128);
747 // CHECK: @llvm.hexagon.V6.vsubububb.sat
748 __builtin_HEXAGON_V6_vsubububb_sat(v64, v64);
749 // CHECK: @llvm.hexagon.V6.vsubuhsat
750 __builtin_HEXAGON_V6_vsubuhsat(v64, v64);
751 // CHECK: @llvm.hexagon.V6.vsubuhsat.dv
752 __builtin_HEXAGON_V6_vsubuhsat_dv(v128, v128);
753 // CHECK: @llvm.hexagon.V6.vsubuhw
754 __builtin_HEXAGON_V6_vsubuhw(v64, v64);
755 // CHECK: @llvm.hexagon.V6.vsubuwsat
756 __builtin_HEXAGON_V6_vsubuwsat(v64, v64);
757 // CHECK: @llvm.hexagon.V6.vsubuwsat.dv
758 __builtin_HEXAGON_V6_vsubuwsat_dv(v128, v128);
759 // CHECK: @llvm.hexagon.V6.vsubw
760 __builtin_HEXAGON_V6_vsubw(v64, v64);
761 // CHECK: @llvm.hexagon.V6.vsubw.dv
762 __builtin_HEXAGON_V6_vsubw_dv(v128, v128);
763 // CHECK: @llvm.hexagon.V6.vsubwnq
764 __builtin_HEXAGON_V6_vsubwnq(q64, v64, v64);
765 // CHECK: @llvm.hexagon.V6.vsubwq
766 __builtin_HEXAGON_V6_vsubwq(q64, v64, v64);
767 // CHECK: @llvm.hexagon.V6.vsubwsat
768 __builtin_HEXAGON_V6_vsubwsat(v64, v64);
769 // CHECK: @llvm.hexagon.V6.vsubwsat.dv
770 __builtin_HEXAGON_V6_vsubwsat_dv(v128, v128);
771 // CHECK: @llvm.hexagon.V6.vswap
772 __builtin_HEXAGON_V6_vswap(q64, v64, v64);
773 // CHECK: @llvm.hexagon.V6.vtmpyb
774 __builtin_HEXAGON_V6_vtmpyb(v128, 0);
775 // CHECK: @llvm.hexagon.V6.vtmpyb.acc
776 __builtin_HEXAGON_V6_vtmpyb_acc(v128, v128, 0);
777 // CHECK: @llvm.hexagon.V6.vtmpybus
778 __builtin_HEXAGON_V6_vtmpybus(v128, 0);
779 // CHECK: @llvm.hexagon.V6.vtmpybus.acc
780 __builtin_HEXAGON_V6_vtmpybus_acc(v128, v128, 0);
781 // CHECK: @llvm.hexagon.V6.vtmpyhb
782 __builtin_HEXAGON_V6_vtmpyhb(v128, 0);
783 // CHECK: @llvm.hexagon.V6.vtmpyhb.acc
784 __builtin_HEXAGON_V6_vtmpyhb_acc(v128, v128, 0);
785 // CHECK: @llvm.hexagon.V6.vunpackb
786 __builtin_HEXAGON_V6_vunpackb(v64);
787 // CHECK: @llvm.hexagon.V6.vunpackh
788 __builtin_HEXAGON_V6_vunpackh(v64);
789 // CHECK: @llvm.hexagon.V6.vunpackob
790 __builtin_HEXAGON_V6_vunpackob(v128, v64);
791 // CHECK: @llvm.hexagon.V6.vunpackoh
792 __builtin_HEXAGON_V6_vunpackoh(v128, v64);
793 // CHECK: @llvm.hexagon.V6.vunpackub
794 __builtin_HEXAGON_V6_vunpackub(v64);
795 // CHECK: @llvm.hexagon.V6.vunpackuh
796 __builtin_HEXAGON_V6_vunpackuh(v64);
797 // CHECK: @llvm.hexagon.V6.vxor
798 __builtin_HEXAGON_V6_vxor(v64, v64);
799 // CHECK: @llvm.hexagon.V6.vzb
800 __builtin_HEXAGON_V6_vzb(v64);
801 // CHECK: @llvm.hexagon.V6.vzh
802 __builtin_HEXAGON_V6_vzh(v64);
803 }
804