• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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