1 // REQUIRES: hexagon-registered-target
2 // RUN: %clang_cc1 -triple hexagon-unknown-elf -emit-llvm %s -o - | FileCheck %s
3 
4 void test() {
5   int v64 __attribute__((__vector_size__(64)));
6   int v128 __attribute__((__vector_size__(128)));
7   int v256 __attribute__((__vector_size__(256)));
8 
9   // CHECK: @llvm.hexagon.A2.abs
10   __builtin_HEXAGON_A2_abs(0);
11   // CHECK: @llvm.hexagon.A2.absp
12   __builtin_HEXAGON_A2_absp(0);
13   // CHECK: @llvm.hexagon.A2.abssat
14   __builtin_HEXAGON_A2_abssat(0);
15   // CHECK: @llvm.hexagon.A2.add
16   __builtin_HEXAGON_A2_add(0, 0);
17   // CHECK: @llvm.hexagon.A2.addh.h16.hh
18   __builtin_HEXAGON_A2_addh_h16_hh(0, 0);
19   // CHECK: @llvm.hexagon.A2.addh.h16.hl
20   __builtin_HEXAGON_A2_addh_h16_hl(0, 0);
21   // CHECK: @llvm.hexagon.A2.addh.h16.lh
22   __builtin_HEXAGON_A2_addh_h16_lh(0, 0);
23   // CHECK: @llvm.hexagon.A2.addh.h16.ll
24   __builtin_HEXAGON_A2_addh_h16_ll(0, 0);
25   // CHECK: @llvm.hexagon.A2.addh.h16.sat.hh
26   __builtin_HEXAGON_A2_addh_h16_sat_hh(0, 0);
27   // CHECK: @llvm.hexagon.A2.addh.h16.sat.hl
28   __builtin_HEXAGON_A2_addh_h16_sat_hl(0, 0);
29   // CHECK: @llvm.hexagon.A2.addh.h16.sat.lh
30   __builtin_HEXAGON_A2_addh_h16_sat_lh(0, 0);
31   // CHECK: @llvm.hexagon.A2.addh.h16.sat.ll
32   __builtin_HEXAGON_A2_addh_h16_sat_ll(0, 0);
33   // CHECK: @llvm.hexagon.A2.addh.l16.hl
34   __builtin_HEXAGON_A2_addh_l16_hl(0, 0);
35   // CHECK: @llvm.hexagon.A2.addh.l16.ll
36   __builtin_HEXAGON_A2_addh_l16_ll(0, 0);
37   // CHECK: @llvm.hexagon.A2.addh.l16.sat.hl
38   __builtin_HEXAGON_A2_addh_l16_sat_hl(0, 0);
39   // CHECK: @llvm.hexagon.A2.addh.l16.sat.ll
40   __builtin_HEXAGON_A2_addh_l16_sat_ll(0, 0);
41   // CHECK: @llvm.hexagon.A2.addi
42   __builtin_HEXAGON_A2_addi(0, 0);
43   // CHECK: @llvm.hexagon.A2.addp
44   __builtin_HEXAGON_A2_addp(0, 0);
45   // CHECK: @llvm.hexagon.A2.addpsat
46   __builtin_HEXAGON_A2_addpsat(0, 0);
47   // CHECK: @llvm.hexagon.A2.addsat
48   __builtin_HEXAGON_A2_addsat(0, 0);
49   // CHECK: @llvm.hexagon.A2.addsp
50   __builtin_HEXAGON_A2_addsp(0, 0);
51   // CHECK: @llvm.hexagon.A2.and
52   __builtin_HEXAGON_A2_and(0, 0);
53   // CHECK: @llvm.hexagon.A2.andir
54   __builtin_HEXAGON_A2_andir(0, 0);
55   // CHECK: @llvm.hexagon.A2.andp
56   __builtin_HEXAGON_A2_andp(0, 0);
57   // CHECK: @llvm.hexagon.A2.aslh
58   __builtin_HEXAGON_A2_aslh(0);
59   // CHECK: @llvm.hexagon.A2.asrh
60   __builtin_HEXAGON_A2_asrh(0);
61   // CHECK: @llvm.hexagon.A2.combine.hh
62   __builtin_HEXAGON_A2_combine_hh(0, 0);
63   // CHECK: @llvm.hexagon.A2.combine.hl
64   __builtin_HEXAGON_A2_combine_hl(0, 0);
65   // CHECK: @llvm.hexagon.A2.combine.lh
66   __builtin_HEXAGON_A2_combine_lh(0, 0);
67   // CHECK: @llvm.hexagon.A2.combine.ll
68   __builtin_HEXAGON_A2_combine_ll(0, 0);
69   // CHECK: @llvm.hexagon.A2.combineii
70   __builtin_HEXAGON_A2_combineii(0, 0);
71   // CHECK: @llvm.hexagon.A2.combinew
72   __builtin_HEXAGON_A2_combinew(0, 0);
73   // CHECK: @llvm.hexagon.A2.max
74   __builtin_HEXAGON_A2_max(0, 0);
75   // CHECK: @llvm.hexagon.A2.maxp
76   __builtin_HEXAGON_A2_maxp(0, 0);
77   // CHECK: @llvm.hexagon.A2.maxu
78   __builtin_HEXAGON_A2_maxu(0, 0);
79   // CHECK: @llvm.hexagon.A2.maxup
80   __builtin_HEXAGON_A2_maxup(0, 0);
81   // CHECK: @llvm.hexagon.A2.min
82   __builtin_HEXAGON_A2_min(0, 0);
83   // CHECK: @llvm.hexagon.A2.minp
84   __builtin_HEXAGON_A2_minp(0, 0);
85   // CHECK: @llvm.hexagon.A2.minu
86   __builtin_HEXAGON_A2_minu(0, 0);
87   // CHECK: @llvm.hexagon.A2.minup
88   __builtin_HEXAGON_A2_minup(0, 0);
89   // CHECK: @llvm.hexagon.A2.neg
90   __builtin_HEXAGON_A2_neg(0);
91   // CHECK: @llvm.hexagon.A2.negp
92   __builtin_HEXAGON_A2_negp(0);
93   // CHECK: @llvm.hexagon.A2.negsat
94   __builtin_HEXAGON_A2_negsat(0);
95   // CHECK: @llvm.hexagon.A2.not
96   __builtin_HEXAGON_A2_not(0);
97   // CHECK: @llvm.hexagon.A2.notp
98   __builtin_HEXAGON_A2_notp(0);
99   // CHECK: @llvm.hexagon.A2.or
100   __builtin_HEXAGON_A2_or(0, 0);
101   // CHECK: @llvm.hexagon.A2.orir
102   __builtin_HEXAGON_A2_orir(0, 0);
103   // CHECK: @llvm.hexagon.A2.orp
104   __builtin_HEXAGON_A2_orp(0, 0);
105   // CHECK: @llvm.hexagon.A2.roundsat
106   __builtin_HEXAGON_A2_roundsat(0);
107   // CHECK: @llvm.hexagon.A2.sat
108   __builtin_HEXAGON_A2_sat(0);
109   // CHECK: @llvm.hexagon.A2.satb
110   __builtin_HEXAGON_A2_satb(0);
111   // CHECK: @llvm.hexagon.A2.sath
112   __builtin_HEXAGON_A2_sath(0);
113   // CHECK: @llvm.hexagon.A2.satub
114   __builtin_HEXAGON_A2_satub(0);
115   // CHECK: @llvm.hexagon.A2.satuh
116   __builtin_HEXAGON_A2_satuh(0);
117   // CHECK: @llvm.hexagon.A2.sub
118   __builtin_HEXAGON_A2_sub(0, 0);
119   // CHECK: @llvm.hexagon.A2.subh.h16.hh
120   __builtin_HEXAGON_A2_subh_h16_hh(0, 0);
121   // CHECK: @llvm.hexagon.A2.subh.h16.hl
122   __builtin_HEXAGON_A2_subh_h16_hl(0, 0);
123   // CHECK: @llvm.hexagon.A2.subh.h16.lh
124   __builtin_HEXAGON_A2_subh_h16_lh(0, 0);
125   // CHECK: @llvm.hexagon.A2.subh.h16.ll
126   __builtin_HEXAGON_A2_subh_h16_ll(0, 0);
127   // CHECK: @llvm.hexagon.A2.subh.h16.sat.hh
128   __builtin_HEXAGON_A2_subh_h16_sat_hh(0, 0);
129   // CHECK: @llvm.hexagon.A2.subh.h16.sat.hl
130   __builtin_HEXAGON_A2_subh_h16_sat_hl(0, 0);
131   // CHECK: @llvm.hexagon.A2.subh.h16.sat.lh
132   __builtin_HEXAGON_A2_subh_h16_sat_lh(0, 0);
133   // CHECK: @llvm.hexagon.A2.subh.h16.sat.ll
134   __builtin_HEXAGON_A2_subh_h16_sat_ll(0, 0);
135   // CHECK: @llvm.hexagon.A2.subh.l16.hl
136   __builtin_HEXAGON_A2_subh_l16_hl(0, 0);
137   // CHECK: @llvm.hexagon.A2.subh.l16.ll
138   __builtin_HEXAGON_A2_subh_l16_ll(0, 0);
139   // CHECK: @llvm.hexagon.A2.subh.l16.sat.hl
140   __builtin_HEXAGON_A2_subh_l16_sat_hl(0, 0);
141   // CHECK: @llvm.hexagon.A2.subh.l16.sat.ll
142   __builtin_HEXAGON_A2_subh_l16_sat_ll(0, 0);
143   // CHECK: @llvm.hexagon.A2.subp
144   __builtin_HEXAGON_A2_subp(0, 0);
145   // CHECK: @llvm.hexagon.A2.subri
146   __builtin_HEXAGON_A2_subri(0, 0);
147   // CHECK: @llvm.hexagon.A2.subsat
148   __builtin_HEXAGON_A2_subsat(0, 0);
149   // CHECK: @llvm.hexagon.A2.svaddh
150   __builtin_HEXAGON_A2_svaddh(0, 0);
151   // CHECK: @llvm.hexagon.A2.svaddhs
152   __builtin_HEXAGON_A2_svaddhs(0, 0);
153   // CHECK: @llvm.hexagon.A2.svadduhs
154   __builtin_HEXAGON_A2_svadduhs(0, 0);
155   // CHECK: @llvm.hexagon.A2.svavgh
156   __builtin_HEXAGON_A2_svavgh(0, 0);
157   // CHECK: @llvm.hexagon.A2.svavghs
158   __builtin_HEXAGON_A2_svavghs(0, 0);
159   // CHECK: @llvm.hexagon.A2.svnavgh
160   __builtin_HEXAGON_A2_svnavgh(0, 0);
161   // CHECK: @llvm.hexagon.A2.svsubh
162   __builtin_HEXAGON_A2_svsubh(0, 0);
163   // CHECK: @llvm.hexagon.A2.svsubhs
164   __builtin_HEXAGON_A2_svsubhs(0, 0);
165   // CHECK: @llvm.hexagon.A2.svsubuhs
166   __builtin_HEXAGON_A2_svsubuhs(0, 0);
167   // CHECK: @llvm.hexagon.A2.swiz
168   __builtin_HEXAGON_A2_swiz(0);
169   // CHECK: @llvm.hexagon.A2.sxtb
170   __builtin_HEXAGON_A2_sxtb(0);
171   // CHECK: @llvm.hexagon.A2.sxth
172   __builtin_HEXAGON_A2_sxth(0);
173   // CHECK: @llvm.hexagon.A2.sxtw
174   __builtin_HEXAGON_A2_sxtw(0);
175   // CHECK: @llvm.hexagon.A2.tfr
176   __builtin_HEXAGON_A2_tfr(0);
177   // CHECK: @llvm.hexagon.A2.tfrih
178   __builtin_HEXAGON_A2_tfrih(0, 0);
179   // CHECK: @llvm.hexagon.A2.tfril
180   __builtin_HEXAGON_A2_tfril(0, 0);
181   // CHECK: @llvm.hexagon.A2.tfrp
182   __builtin_HEXAGON_A2_tfrp(0);
183   // CHECK: @llvm.hexagon.A2.tfrpi
184   __builtin_HEXAGON_A2_tfrpi(0);
185   // CHECK: @llvm.hexagon.A2.tfrsi
186   __builtin_HEXAGON_A2_tfrsi(0);
187   // CHECK: @llvm.hexagon.A2.vabsh
188   __builtin_HEXAGON_A2_vabsh(0);
189   // CHECK: @llvm.hexagon.A2.vabshsat
190   __builtin_HEXAGON_A2_vabshsat(0);
191   // CHECK: @llvm.hexagon.A2.vabsw
192   __builtin_HEXAGON_A2_vabsw(0);
193   // CHECK: @llvm.hexagon.A2.vabswsat
194   __builtin_HEXAGON_A2_vabswsat(0);
195   // CHECK: @llvm.hexagon.A2.vaddb.map
196   __builtin_HEXAGON_A2_vaddb_map(0, 0);
197   // CHECK: @llvm.hexagon.A2.vaddh
198   __builtin_HEXAGON_A2_vaddh(0, 0);
199   // CHECK: @llvm.hexagon.A2.vaddhs
200   __builtin_HEXAGON_A2_vaddhs(0, 0);
201   // CHECK: @llvm.hexagon.A2.vaddub
202   __builtin_HEXAGON_A2_vaddub(0, 0);
203   // CHECK: @llvm.hexagon.A2.vaddubs
204   __builtin_HEXAGON_A2_vaddubs(0, 0);
205   // CHECK: @llvm.hexagon.A2.vadduhs
206   __builtin_HEXAGON_A2_vadduhs(0, 0);
207   // CHECK: @llvm.hexagon.A2.vaddw
208   __builtin_HEXAGON_A2_vaddw(0, 0);
209   // CHECK: @llvm.hexagon.A2.vaddws
210   __builtin_HEXAGON_A2_vaddws(0, 0);
211   // CHECK: @llvm.hexagon.A2.vavgh
212   __builtin_HEXAGON_A2_vavgh(0, 0);
213   // CHECK: @llvm.hexagon.A2.vavghcr
214   __builtin_HEXAGON_A2_vavghcr(0, 0);
215   // CHECK: @llvm.hexagon.A2.vavghr
216   __builtin_HEXAGON_A2_vavghr(0, 0);
217   // CHECK: @llvm.hexagon.A2.vavgub
218   __builtin_HEXAGON_A2_vavgub(0, 0);
219   // CHECK: @llvm.hexagon.A2.vavgubr
220   __builtin_HEXAGON_A2_vavgubr(0, 0);
221   // CHECK: @llvm.hexagon.A2.vavguh
222   __builtin_HEXAGON_A2_vavguh(0, 0);
223   // CHECK: @llvm.hexagon.A2.vavguhr
224   __builtin_HEXAGON_A2_vavguhr(0, 0);
225   // CHECK: @llvm.hexagon.A2.vavguw
226   __builtin_HEXAGON_A2_vavguw(0, 0);
227   // CHECK: @llvm.hexagon.A2.vavguwr
228   __builtin_HEXAGON_A2_vavguwr(0, 0);
229   // CHECK: @llvm.hexagon.A2.vavgw
230   __builtin_HEXAGON_A2_vavgw(0, 0);
231   // CHECK: @llvm.hexagon.A2.vavgwcr
232   __builtin_HEXAGON_A2_vavgwcr(0, 0);
233   // CHECK: @llvm.hexagon.A2.vavgwr
234   __builtin_HEXAGON_A2_vavgwr(0, 0);
235   // CHECK: @llvm.hexagon.A2.vcmpbeq
236   __builtin_HEXAGON_A2_vcmpbeq(0, 0);
237   // CHECK: @llvm.hexagon.A2.vcmpbgtu
238   __builtin_HEXAGON_A2_vcmpbgtu(0, 0);
239   // CHECK: @llvm.hexagon.A2.vcmpheq
240   __builtin_HEXAGON_A2_vcmpheq(0, 0);
241   // CHECK: @llvm.hexagon.A2.vcmphgt
242   __builtin_HEXAGON_A2_vcmphgt(0, 0);
243   // CHECK: @llvm.hexagon.A2.vcmphgtu
244   __builtin_HEXAGON_A2_vcmphgtu(0, 0);
245   // CHECK: @llvm.hexagon.A2.vcmpweq
246   __builtin_HEXAGON_A2_vcmpweq(0, 0);
247   // CHECK: @llvm.hexagon.A2.vcmpwgt
248   __builtin_HEXAGON_A2_vcmpwgt(0, 0);
249   // CHECK: @llvm.hexagon.A2.vcmpwgtu
250   __builtin_HEXAGON_A2_vcmpwgtu(0, 0);
251   // CHECK: @llvm.hexagon.A2.vconj
252   __builtin_HEXAGON_A2_vconj(0);
253   // CHECK: @llvm.hexagon.A2.vmaxb
254   __builtin_HEXAGON_A2_vmaxb(0, 0);
255   // CHECK: @llvm.hexagon.A2.vmaxh
256   __builtin_HEXAGON_A2_vmaxh(0, 0);
257   // CHECK: @llvm.hexagon.A2.vmaxub
258   __builtin_HEXAGON_A2_vmaxub(0, 0);
259   // CHECK: @llvm.hexagon.A2.vmaxuh
260   __builtin_HEXAGON_A2_vmaxuh(0, 0);
261   // CHECK: @llvm.hexagon.A2.vmaxuw
262   __builtin_HEXAGON_A2_vmaxuw(0, 0);
263   // CHECK: @llvm.hexagon.A2.vmaxw
264   __builtin_HEXAGON_A2_vmaxw(0, 0);
265   // CHECK: @llvm.hexagon.A2.vminb
266   __builtin_HEXAGON_A2_vminb(0, 0);
267   // CHECK: @llvm.hexagon.A2.vminh
268   __builtin_HEXAGON_A2_vminh(0, 0);
269   // CHECK: @llvm.hexagon.A2.vminub
270   __builtin_HEXAGON_A2_vminub(0, 0);
271   // CHECK: @llvm.hexagon.A2.vminuh
272   __builtin_HEXAGON_A2_vminuh(0, 0);
273   // CHECK: @llvm.hexagon.A2.vminuw
274   __builtin_HEXAGON_A2_vminuw(0, 0);
275   // CHECK: @llvm.hexagon.A2.vminw
276   __builtin_HEXAGON_A2_vminw(0, 0);
277   // CHECK: @llvm.hexagon.A2.vnavgh
278   __builtin_HEXAGON_A2_vnavgh(0, 0);
279   // CHECK: @llvm.hexagon.A2.vnavghcr
280   __builtin_HEXAGON_A2_vnavghcr(0, 0);
281   // CHECK: @llvm.hexagon.A2.vnavghr
282   __builtin_HEXAGON_A2_vnavghr(0, 0);
283   // CHECK: @llvm.hexagon.A2.vnavgw
284   __builtin_HEXAGON_A2_vnavgw(0, 0);
285   // CHECK: @llvm.hexagon.A2.vnavgwcr
286   __builtin_HEXAGON_A2_vnavgwcr(0, 0);
287   // CHECK: @llvm.hexagon.A2.vnavgwr
288   __builtin_HEXAGON_A2_vnavgwr(0, 0);
289   // CHECK: @llvm.hexagon.A2.vraddub
290   __builtin_HEXAGON_A2_vraddub(0, 0);
291   // CHECK: @llvm.hexagon.A2.vraddub.acc
292   __builtin_HEXAGON_A2_vraddub_acc(0, 0, 0);
293   // CHECK: @llvm.hexagon.A2.vrsadub
294   __builtin_HEXAGON_A2_vrsadub(0, 0);
295   // CHECK: @llvm.hexagon.A2.vrsadub.acc
296   __builtin_HEXAGON_A2_vrsadub_acc(0, 0, 0);
297   // CHECK: @llvm.hexagon.A2.vsubb.map
298   __builtin_HEXAGON_A2_vsubb_map(0, 0);
299   // CHECK: @llvm.hexagon.A2.vsubh
300   __builtin_HEXAGON_A2_vsubh(0, 0);
301   // CHECK: @llvm.hexagon.A2.vsubhs
302   __builtin_HEXAGON_A2_vsubhs(0, 0);
303   // CHECK: @llvm.hexagon.A2.vsubub
304   __builtin_HEXAGON_A2_vsubub(0, 0);
305   // CHECK: @llvm.hexagon.A2.vsububs
306   __builtin_HEXAGON_A2_vsububs(0, 0);
307   // CHECK: @llvm.hexagon.A2.vsubuhs
308   __builtin_HEXAGON_A2_vsubuhs(0, 0);
309   // CHECK: @llvm.hexagon.A2.vsubw
310   __builtin_HEXAGON_A2_vsubw(0, 0);
311   // CHECK: @llvm.hexagon.A2.vsubws
312   __builtin_HEXAGON_A2_vsubws(0, 0);
313   // CHECK: @llvm.hexagon.A2.xor
314   __builtin_HEXAGON_A2_xor(0, 0);
315   // CHECK: @llvm.hexagon.A2.xorp
316   __builtin_HEXAGON_A2_xorp(0, 0);
317   // CHECK: @llvm.hexagon.A2.zxtb
318   __builtin_HEXAGON_A2_zxtb(0);
319   // CHECK: @llvm.hexagon.A2.zxth
320   __builtin_HEXAGON_A2_zxth(0);
321   // CHECK: @llvm.hexagon.A4.andn
322   __builtin_HEXAGON_A4_andn(0, 0);
323   // CHECK: @llvm.hexagon.A4.andnp
324   __builtin_HEXAGON_A4_andnp(0, 0);
325   // CHECK: @llvm.hexagon.A4.bitsplit
326   __builtin_HEXAGON_A4_bitsplit(0, 0);
327   // CHECK: @llvm.hexagon.A4.bitspliti
328   __builtin_HEXAGON_A4_bitspliti(0, 0);
329   // CHECK: @llvm.hexagon.A4.boundscheck
330   __builtin_HEXAGON_A4_boundscheck(0, 0);
331   // CHECK: @llvm.hexagon.A4.cmpbeq
332   __builtin_HEXAGON_A4_cmpbeq(0, 0);
333   // CHECK: @llvm.hexagon.A4.cmpbeqi
334   __builtin_HEXAGON_A4_cmpbeqi(0, 0);
335   // CHECK: @llvm.hexagon.A4.cmpbgt
336   __builtin_HEXAGON_A4_cmpbgt(0, 0);
337   // CHECK: @llvm.hexagon.A4.cmpbgti
338   __builtin_HEXAGON_A4_cmpbgti(0, 0);
339   // CHECK: @llvm.hexagon.A4.cmpbgtu
340   __builtin_HEXAGON_A4_cmpbgtu(0, 0);
341   // CHECK: @llvm.hexagon.A4.cmpbgtui
342   __builtin_HEXAGON_A4_cmpbgtui(0, 0);
343   // CHECK: @llvm.hexagon.A4.cmpheq
344   __builtin_HEXAGON_A4_cmpheq(0, 0);
345   // CHECK: @llvm.hexagon.A4.cmpheqi
346   __builtin_HEXAGON_A4_cmpheqi(0, 0);
347   // CHECK: @llvm.hexagon.A4.cmphgt
348   __builtin_HEXAGON_A4_cmphgt(0, 0);
349   // CHECK: @llvm.hexagon.A4.cmphgti
350   __builtin_HEXAGON_A4_cmphgti(0, 0);
351   // CHECK: @llvm.hexagon.A4.cmphgtu
352   __builtin_HEXAGON_A4_cmphgtu(0, 0);
353   // CHECK: @llvm.hexagon.A4.cmphgtui
354   __builtin_HEXAGON_A4_cmphgtui(0, 0);
355   // CHECK: @llvm.hexagon.A4.combineir
356   __builtin_HEXAGON_A4_combineir(0, 0);
357   // CHECK: @llvm.hexagon.A4.combineri
358   __builtin_HEXAGON_A4_combineri(0, 0);
359   // CHECK: @llvm.hexagon.A4.cround.ri
360   __builtin_HEXAGON_A4_cround_ri(0, 0);
361   // CHECK: @llvm.hexagon.A4.cround.rr
362   __builtin_HEXAGON_A4_cround_rr(0, 0);
363   // CHECK: @llvm.hexagon.A4.modwrapu
364   __builtin_HEXAGON_A4_modwrapu(0, 0);
365   // CHECK: @llvm.hexagon.A4.orn
366   __builtin_HEXAGON_A4_orn(0, 0);
367   // CHECK: @llvm.hexagon.A4.ornp
368   __builtin_HEXAGON_A4_ornp(0, 0);
369   // CHECK: @llvm.hexagon.A4.rcmpeq
370   __builtin_HEXAGON_A4_rcmpeq(0, 0);
371   // CHECK: @llvm.hexagon.A4.rcmpeqi
372   __builtin_HEXAGON_A4_rcmpeqi(0, 0);
373   // CHECK: @llvm.hexagon.A4.rcmpneq
374   __builtin_HEXAGON_A4_rcmpneq(0, 0);
375   // CHECK: @llvm.hexagon.A4.rcmpneqi
376   __builtin_HEXAGON_A4_rcmpneqi(0, 0);
377   // CHECK: @llvm.hexagon.A4.round.ri
378   __builtin_HEXAGON_A4_round_ri(0, 0);
379   // CHECK: @llvm.hexagon.A4.round.ri.sat
380   __builtin_HEXAGON_A4_round_ri_sat(0, 0);
381   // CHECK: @llvm.hexagon.A4.round.rr
382   __builtin_HEXAGON_A4_round_rr(0, 0);
383   // CHECK: @llvm.hexagon.A4.round.rr.sat
384   __builtin_HEXAGON_A4_round_rr_sat(0, 0);
385   // CHECK: @llvm.hexagon.A4.tlbmatch
386   __builtin_HEXAGON_A4_tlbmatch(0, 0);
387   // CHECK: @llvm.hexagon.A4.vcmpbeq.any
388   __builtin_HEXAGON_A4_vcmpbeq_any(0, 0);
389   // CHECK: @llvm.hexagon.A4.vcmpbeqi
390   __builtin_HEXAGON_A4_vcmpbeqi(0, 0);
391   // CHECK: @llvm.hexagon.A4.vcmpbgt
392   __builtin_HEXAGON_A4_vcmpbgt(0, 0);
393   // CHECK: @llvm.hexagon.A4.vcmpbgti
394   __builtin_HEXAGON_A4_vcmpbgti(0, 0);
395   // CHECK: @llvm.hexagon.A4.vcmpbgtui
396   __builtin_HEXAGON_A4_vcmpbgtui(0, 0);
397   // CHECK: @llvm.hexagon.A4.vcmpheqi
398   __builtin_HEXAGON_A4_vcmpheqi(0, 0);
399   // CHECK: @llvm.hexagon.A4.vcmphgti
400   __builtin_HEXAGON_A4_vcmphgti(0, 0);
401   // CHECK: @llvm.hexagon.A4.vcmphgtui
402   __builtin_HEXAGON_A4_vcmphgtui(0, 0);
403   // CHECK: @llvm.hexagon.A4.vcmpweqi
404   __builtin_HEXAGON_A4_vcmpweqi(0, 0);
405   // CHECK: @llvm.hexagon.A4.vcmpwgti
406   __builtin_HEXAGON_A4_vcmpwgti(0, 0);
407   // CHECK: @llvm.hexagon.A4.vcmpwgtui
408   __builtin_HEXAGON_A4_vcmpwgtui(0, 0);
409   // CHECK: @llvm.hexagon.A4.vrmaxh
410   __builtin_HEXAGON_A4_vrmaxh(0, 0, 0);
411   // CHECK: @llvm.hexagon.A4.vrmaxuh
412   __builtin_HEXAGON_A4_vrmaxuh(0, 0, 0);
413   // CHECK: @llvm.hexagon.A4.vrmaxuw
414   __builtin_HEXAGON_A4_vrmaxuw(0, 0, 0);
415   // CHECK: @llvm.hexagon.A4.vrmaxw
416   __builtin_HEXAGON_A4_vrmaxw(0, 0, 0);
417   // CHECK: @llvm.hexagon.A4.vrminh
418   __builtin_HEXAGON_A4_vrminh(0, 0, 0);
419   // CHECK: @llvm.hexagon.A4.vrminuh
420   __builtin_HEXAGON_A4_vrminuh(0, 0, 0);
421   // CHECK: @llvm.hexagon.A4.vrminuw
422   __builtin_HEXAGON_A4_vrminuw(0, 0, 0);
423   // CHECK: @llvm.hexagon.A4.vrminw
424   __builtin_HEXAGON_A4_vrminw(0, 0, 0);
425   // CHECK: @llvm.hexagon.A5.vaddhubs
426   __builtin_HEXAGON_A5_vaddhubs(0, 0);
427   // CHECK: @llvm.hexagon.A6.vcmpbeq.notany
428   __builtin_HEXAGON_A6_vcmpbeq_notany(0, 0);
429   // CHECK: @llvm.hexagon.A6.vcmpbeq.notany.128B
430   __builtin_HEXAGON_A6_vcmpbeq_notany_128B(0, 0);
431   // CHECK: @llvm.hexagon.C2.all8
432   __builtin_HEXAGON_C2_all8(0);
433   // CHECK: @llvm.hexagon.C2.and
434   __builtin_HEXAGON_C2_and(0, 0);
435   // CHECK: @llvm.hexagon.C2.andn
436   __builtin_HEXAGON_C2_andn(0, 0);
437   // CHECK: @llvm.hexagon.C2.any8
438   __builtin_HEXAGON_C2_any8(0);
439   // CHECK: @llvm.hexagon.C2.bitsclr
440   __builtin_HEXAGON_C2_bitsclr(0, 0);
441   // CHECK: @llvm.hexagon.C2.bitsclri
442   __builtin_HEXAGON_C2_bitsclri(0, 0);
443   // CHECK: @llvm.hexagon.C2.bitsset
444   __builtin_HEXAGON_C2_bitsset(0, 0);
445   // CHECK: @llvm.hexagon.C2.cmpeq
446   __builtin_HEXAGON_C2_cmpeq(0, 0);
447   // CHECK: @llvm.hexagon.C2.cmpeqi
448   __builtin_HEXAGON_C2_cmpeqi(0, 0);
449   // CHECK: @llvm.hexagon.C2.cmpeqp
450   __builtin_HEXAGON_C2_cmpeqp(0, 0);
451   // CHECK: @llvm.hexagon.C2.cmpgei
452   __builtin_HEXAGON_C2_cmpgei(0, 0);
453   // CHECK: @llvm.hexagon.C2.cmpgeui
454   __builtin_HEXAGON_C2_cmpgeui(0, 0);
455   // CHECK: @llvm.hexagon.C2.cmpgt
456   __builtin_HEXAGON_C2_cmpgt(0, 0);
457   // CHECK: @llvm.hexagon.C2.cmpgti
458   __builtin_HEXAGON_C2_cmpgti(0, 0);
459   // CHECK: @llvm.hexagon.C2.cmpgtp
460   __builtin_HEXAGON_C2_cmpgtp(0, 0);
461   // CHECK: @llvm.hexagon.C2.cmpgtu
462   __builtin_HEXAGON_C2_cmpgtu(0, 0);
463   // CHECK: @llvm.hexagon.C2.cmpgtui
464   __builtin_HEXAGON_C2_cmpgtui(0, 0);
465   // CHECK: @llvm.hexagon.C2.cmpgtup
466   __builtin_HEXAGON_C2_cmpgtup(0, 0);
467   // CHECK: @llvm.hexagon.C2.cmplt
468   __builtin_HEXAGON_C2_cmplt(0, 0);
469   // CHECK: @llvm.hexagon.C2.cmpltu
470   __builtin_HEXAGON_C2_cmpltu(0, 0);
471   // CHECK: @llvm.hexagon.C2.mask
472   __builtin_HEXAGON_C2_mask(0);
473   // CHECK: @llvm.hexagon.C2.mux
474   __builtin_HEXAGON_C2_mux(0, 0, 0);
475   // CHECK: @llvm.hexagon.C2.muxii
476   __builtin_HEXAGON_C2_muxii(0, 0, 0);
477   // CHECK: @llvm.hexagon.C2.muxir
478   __builtin_HEXAGON_C2_muxir(0, 0, 0);
479   // CHECK: @llvm.hexagon.C2.muxri
480   __builtin_HEXAGON_C2_muxri(0, 0, 0);
481   // CHECK: @llvm.hexagon.C2.not
482   __builtin_HEXAGON_C2_not(0);
483   // CHECK: @llvm.hexagon.C2.or
484   __builtin_HEXAGON_C2_or(0, 0);
485   // CHECK: @llvm.hexagon.C2.orn
486   __builtin_HEXAGON_C2_orn(0, 0);
487   // CHECK: @llvm.hexagon.C2.pxfer.map
488   __builtin_HEXAGON_C2_pxfer_map(0);
489   // CHECK: @llvm.hexagon.C2.tfrpr
490   __builtin_HEXAGON_C2_tfrpr(0);
491   // CHECK: @llvm.hexagon.C2.tfrrp
492   __builtin_HEXAGON_C2_tfrrp(0);
493   // CHECK: @llvm.hexagon.C2.vitpack
494   __builtin_HEXAGON_C2_vitpack(0, 0);
495   // CHECK: @llvm.hexagon.C2.vmux
496   __builtin_HEXAGON_C2_vmux(0, 0, 0);
497   // CHECK: @llvm.hexagon.C2.xor
498   __builtin_HEXAGON_C2_xor(0, 0);
499   // CHECK: @llvm.hexagon.C4.and.and
500   __builtin_HEXAGON_C4_and_and(0, 0, 0);
501   // CHECK: @llvm.hexagon.C4.and.andn
502   __builtin_HEXAGON_C4_and_andn(0, 0, 0);
503   // CHECK: @llvm.hexagon.C4.and.or
504   __builtin_HEXAGON_C4_and_or(0, 0, 0);
505   // CHECK: @llvm.hexagon.C4.and.orn
506   __builtin_HEXAGON_C4_and_orn(0, 0, 0);
507   // CHECK: @llvm.hexagon.C4.cmplte
508   __builtin_HEXAGON_C4_cmplte(0, 0);
509   // CHECK: @llvm.hexagon.C4.cmpltei
510   __builtin_HEXAGON_C4_cmpltei(0, 0);
511   // CHECK: @llvm.hexagon.C4.cmplteu
512   __builtin_HEXAGON_C4_cmplteu(0, 0);
513   // CHECK: @llvm.hexagon.C4.cmplteui
514   __builtin_HEXAGON_C4_cmplteui(0, 0);
515   // CHECK: @llvm.hexagon.C4.cmpneq
516   __builtin_HEXAGON_C4_cmpneq(0, 0);
517   // CHECK: @llvm.hexagon.C4.cmpneqi
518   __builtin_HEXAGON_C4_cmpneqi(0, 0);
519   // CHECK: @llvm.hexagon.C4.fastcorner9
520   __builtin_HEXAGON_C4_fastcorner9(0, 0);
521   // CHECK: @llvm.hexagon.C4.fastcorner9.not
522   __builtin_HEXAGON_C4_fastcorner9_not(0, 0);
523   // CHECK: @llvm.hexagon.C4.nbitsclr
524   __builtin_HEXAGON_C4_nbitsclr(0, 0);
525   // CHECK: @llvm.hexagon.C4.nbitsclri
526   __builtin_HEXAGON_C4_nbitsclri(0, 0);
527   // CHECK: @llvm.hexagon.C4.nbitsset
528   __builtin_HEXAGON_C4_nbitsset(0, 0);
529   // CHECK: @llvm.hexagon.C4.or.and
530   __builtin_HEXAGON_C4_or_and(0, 0, 0);
531   // CHECK: @llvm.hexagon.C4.or.andn
532   __builtin_HEXAGON_C4_or_andn(0, 0, 0);
533   // CHECK: @llvm.hexagon.C4.or.or
534   __builtin_HEXAGON_C4_or_or(0, 0, 0);
535   // CHECK: @llvm.hexagon.C4.or.orn
536   __builtin_HEXAGON_C4_or_orn(0, 0, 0);
537   // CHECK: @llvm.hexagon.F2.conv.d2df
538   __builtin_HEXAGON_F2_conv_d2df(0);
539   // CHECK: @llvm.hexagon.F2.conv.d2sf
540   __builtin_HEXAGON_F2_conv_d2sf(0);
541   // CHECK: @llvm.hexagon.F2.conv.df2d
542   __builtin_HEXAGON_F2_conv_df2d(0.0);
543   // CHECK: @llvm.hexagon.F2.conv.df2d.chop
544   __builtin_HEXAGON_F2_conv_df2d_chop(0.0);
545   // CHECK: @llvm.hexagon.F2.conv.df2sf
546   __builtin_HEXAGON_F2_conv_df2sf(0.0);
547   // CHECK: @llvm.hexagon.F2.conv.df2ud
548   __builtin_HEXAGON_F2_conv_df2ud(0.0);
549   // CHECK: @llvm.hexagon.F2.conv.df2ud.chop
550   __builtin_HEXAGON_F2_conv_df2ud_chop(0.0);
551   // CHECK: @llvm.hexagon.F2.conv.df2uw
552   __builtin_HEXAGON_F2_conv_df2uw(0.0);
553   // CHECK: @llvm.hexagon.F2.conv.df2uw.chop
554   __builtin_HEXAGON_F2_conv_df2uw_chop(0.0);
555   // CHECK: @llvm.hexagon.F2.conv.df2w
556   __builtin_HEXAGON_F2_conv_df2w(0.0);
557   // CHECK: @llvm.hexagon.F2.conv.df2w.chop
558   __builtin_HEXAGON_F2_conv_df2w_chop(0.0);
559   // CHECK: @llvm.hexagon.F2.conv.sf2d
560   __builtin_HEXAGON_F2_conv_sf2d(0.0f);
561   // CHECK: @llvm.hexagon.F2.conv.sf2d.chop
562   __builtin_HEXAGON_F2_conv_sf2d_chop(0.0f);
563   // CHECK: @llvm.hexagon.F2.conv.sf2df
564   __builtin_HEXAGON_F2_conv_sf2df(0.0f);
565   // CHECK: @llvm.hexagon.F2.conv.sf2ud
566   __builtin_HEXAGON_F2_conv_sf2ud(0.0f);
567   // CHECK: @llvm.hexagon.F2.conv.sf2ud.chop
568   __builtin_HEXAGON_F2_conv_sf2ud_chop(0.0f);
569   // CHECK: @llvm.hexagon.F2.conv.sf2uw
570   __builtin_HEXAGON_F2_conv_sf2uw(0.0f);
571   // CHECK: @llvm.hexagon.F2.conv.sf2uw.chop
572   __builtin_HEXAGON_F2_conv_sf2uw_chop(0.0f);
573   // CHECK: @llvm.hexagon.F2.conv.sf2w
574   __builtin_HEXAGON_F2_conv_sf2w(0.0f);
575   // CHECK: @llvm.hexagon.F2.conv.sf2w.chop
576   __builtin_HEXAGON_F2_conv_sf2w_chop(0.0f);
577   // CHECK: @llvm.hexagon.F2.conv.ud2df
578   __builtin_HEXAGON_F2_conv_ud2df(0);
579   // CHECK: @llvm.hexagon.F2.conv.ud2sf
580   __builtin_HEXAGON_F2_conv_ud2sf(0);
581   // CHECK: @llvm.hexagon.F2.conv.uw2df
582   __builtin_HEXAGON_F2_conv_uw2df(0);
583   // CHECK: @llvm.hexagon.F2.conv.uw2sf
584   __builtin_HEXAGON_F2_conv_uw2sf(0);
585   // CHECK: @llvm.hexagon.F2.conv.w2df
586   __builtin_HEXAGON_F2_conv_w2df(0);
587   // CHECK: @llvm.hexagon.F2.conv.w2sf
588   __builtin_HEXAGON_F2_conv_w2sf(0);
589   // CHECK: @llvm.hexagon.F2.dfclass
590   __builtin_HEXAGON_F2_dfclass(0.0, 0);
591   // CHECK: @llvm.hexagon.F2.dfcmpeq
592   __builtin_HEXAGON_F2_dfcmpeq(0.0, 0.0);
593   // CHECK: @llvm.hexagon.F2.dfcmpge
594   __builtin_HEXAGON_F2_dfcmpge(0.0, 0.0);
595   // CHECK: @llvm.hexagon.F2.dfcmpgt
596   __builtin_HEXAGON_F2_dfcmpgt(0.0, 0.0);
597   // CHECK: @llvm.hexagon.F2.dfcmpuo
598   __builtin_HEXAGON_F2_dfcmpuo(0.0, 0.0);
599   // CHECK: @llvm.hexagon.F2.dfimm.n
600   __builtin_HEXAGON_F2_dfimm_n(0);
601   // CHECK: @llvm.hexagon.F2.dfimm.p
602   __builtin_HEXAGON_F2_dfimm_p(0);
603   // CHECK: @llvm.hexagon.F2.sfadd
604   __builtin_HEXAGON_F2_sfadd(0.0f, 0.0f);
605   // CHECK: @llvm.hexagon.F2.sfclass
606   __builtin_HEXAGON_F2_sfclass(0.0f, 0);
607   // CHECK: @llvm.hexagon.F2.sfcmpeq
608   __builtin_HEXAGON_F2_sfcmpeq(0.0f, 0.0f);
609   // CHECK: @llvm.hexagon.F2.sfcmpge
610   __builtin_HEXAGON_F2_sfcmpge(0.0f, 0.0f);
611   // CHECK: @llvm.hexagon.F2.sfcmpgt
612   __builtin_HEXAGON_F2_sfcmpgt(0.0f, 0.0f);
613   // CHECK: @llvm.hexagon.F2.sfcmpuo
614   __builtin_HEXAGON_F2_sfcmpuo(0.0f, 0.0f);
615   // CHECK: @llvm.hexagon.F2.sffixupd
616   __builtin_HEXAGON_F2_sffixupd(0.0f, 0.0f);
617   // CHECK: @llvm.hexagon.F2.sffixupn
618   __builtin_HEXAGON_F2_sffixupn(0.0f, 0.0f);
619   // CHECK: @llvm.hexagon.F2.sffixupr
620   __builtin_HEXAGON_F2_sffixupr(0.0f);
621   // CHECK: @llvm.hexagon.F2.sffma
622   __builtin_HEXAGON_F2_sffma(0.0f, 0.0f, 0.0f);
623   // CHECK: @llvm.hexagon.F2.sffma.lib
624   __builtin_HEXAGON_F2_sffma_lib(0.0f, 0.0f, 0.0f);
625   // CHECK: @llvm.hexagon.F2.sffma.sc
626   __builtin_HEXAGON_F2_sffma_sc(0.0f, 0.0f, 0.0f, 0);
627   // CHECK: @llvm.hexagon.F2.sffms
628   __builtin_HEXAGON_F2_sffms(0.0f, 0.0f, 0.0f);
629   // CHECK: @llvm.hexagon.F2.sffms.lib
630   __builtin_HEXAGON_F2_sffms_lib(0.0f, 0.0f, 0.0f);
631   // CHECK: @llvm.hexagon.F2.sfimm.n
632   __builtin_HEXAGON_F2_sfimm_n(0);
633   // CHECK: @llvm.hexagon.F2.sfimm.p
634   __builtin_HEXAGON_F2_sfimm_p(0);
635   // CHECK: @llvm.hexagon.F2.sfmax
636   __builtin_HEXAGON_F2_sfmax(0.0f, 0.0f);
637   // CHECK: @llvm.hexagon.F2.sfmin
638   __builtin_HEXAGON_F2_sfmin(0.0f, 0.0f);
639   // CHECK: @llvm.hexagon.F2.sfmpy
640   __builtin_HEXAGON_F2_sfmpy(0.0f, 0.0f);
641   // CHECK: @llvm.hexagon.F2.sfsub
642   __builtin_HEXAGON_F2_sfsub(0.0f, 0.0f);
643   // CHECK: @llvm.hexagon.M2.acci
644   __builtin_HEXAGON_M2_acci(0, 0, 0);
645   // CHECK: @llvm.hexagon.M2.accii
646   __builtin_HEXAGON_M2_accii(0, 0, 0);
647   // CHECK: @llvm.hexagon.M2.cmaci.s0
648   __builtin_HEXAGON_M2_cmaci_s0(0, 0, 0);
649   // CHECK: @llvm.hexagon.M2.cmacr.s0
650   __builtin_HEXAGON_M2_cmacr_s0(0, 0, 0);
651   // CHECK: @llvm.hexagon.M2.cmacs.s0
652   __builtin_HEXAGON_M2_cmacs_s0(0, 0, 0);
653   // CHECK: @llvm.hexagon.M2.cmacs.s1
654   __builtin_HEXAGON_M2_cmacs_s1(0, 0, 0);
655   // CHECK: @llvm.hexagon.M2.cmacsc.s0
656   __builtin_HEXAGON_M2_cmacsc_s0(0, 0, 0);
657   // CHECK: @llvm.hexagon.M2.cmacsc.s1
658   __builtin_HEXAGON_M2_cmacsc_s1(0, 0, 0);
659   // CHECK: @llvm.hexagon.M2.cmpyi.s0
660   __builtin_HEXAGON_M2_cmpyi_s0(0, 0);
661   // CHECK: @llvm.hexagon.M2.cmpyr.s0
662   __builtin_HEXAGON_M2_cmpyr_s0(0, 0);
663   // CHECK: @llvm.hexagon.M2.cmpyrs.s0
664   __builtin_HEXAGON_M2_cmpyrs_s0(0, 0);
665   // CHECK: @llvm.hexagon.M2.cmpyrs.s1
666   __builtin_HEXAGON_M2_cmpyrs_s1(0, 0);
667   // CHECK: @llvm.hexagon.M2.cmpyrsc.s0
668   __builtin_HEXAGON_M2_cmpyrsc_s0(0, 0);
669   // CHECK: @llvm.hexagon.M2.cmpyrsc.s1
670   __builtin_HEXAGON_M2_cmpyrsc_s1(0, 0);
671   // CHECK: @llvm.hexagon.M2.cmpys.s0
672   __builtin_HEXAGON_M2_cmpys_s0(0, 0);
673   // CHECK: @llvm.hexagon.M2.cmpys.s1
674   __builtin_HEXAGON_M2_cmpys_s1(0, 0);
675   // CHECK: @llvm.hexagon.M2.cmpysc.s0
676   __builtin_HEXAGON_M2_cmpysc_s0(0, 0);
677   // CHECK: @llvm.hexagon.M2.cmpysc.s1
678   __builtin_HEXAGON_M2_cmpysc_s1(0, 0);
679   // CHECK: @llvm.hexagon.M2.cnacs.s0
680   __builtin_HEXAGON_M2_cnacs_s0(0, 0, 0);
681   // CHECK: @llvm.hexagon.M2.cnacs.s1
682   __builtin_HEXAGON_M2_cnacs_s1(0, 0, 0);
683   // CHECK: @llvm.hexagon.M2.cnacsc.s0
684   __builtin_HEXAGON_M2_cnacsc_s0(0, 0, 0);
685   // CHECK: @llvm.hexagon.M2.cnacsc.s1
686   __builtin_HEXAGON_M2_cnacsc_s1(0, 0, 0);
687   // CHECK: @llvm.hexagon.M2.dpmpyss.acc.s0
688   __builtin_HEXAGON_M2_dpmpyss_acc_s0(0, 0, 0);
689   // CHECK: @llvm.hexagon.M2.dpmpyss.nac.s0
690   __builtin_HEXAGON_M2_dpmpyss_nac_s0(0, 0, 0);
691   // CHECK: @llvm.hexagon.M2.dpmpyss.rnd.s0
692   __builtin_HEXAGON_M2_dpmpyss_rnd_s0(0, 0);
693   // CHECK: @llvm.hexagon.M2.dpmpyss.s0
694   __builtin_HEXAGON_M2_dpmpyss_s0(0, 0);
695   // CHECK: @llvm.hexagon.M2.dpmpyuu.acc.s0
696   __builtin_HEXAGON_M2_dpmpyuu_acc_s0(0, 0, 0);
697   // CHECK: @llvm.hexagon.M2.dpmpyuu.nac.s0
698   __builtin_HEXAGON_M2_dpmpyuu_nac_s0(0, 0, 0);
699   // CHECK: @llvm.hexagon.M2.dpmpyuu.s0
700   __builtin_HEXAGON_M2_dpmpyuu_s0(0, 0);
701   // CHECK: @llvm.hexagon.M2.hmmpyh.rs1
702   __builtin_HEXAGON_M2_hmmpyh_rs1(0, 0);
703   // CHECK: @llvm.hexagon.M2.hmmpyh.s1
704   __builtin_HEXAGON_M2_hmmpyh_s1(0, 0);
705   // CHECK: @llvm.hexagon.M2.hmmpyl.rs1
706   __builtin_HEXAGON_M2_hmmpyl_rs1(0, 0);
707   // CHECK: @llvm.hexagon.M2.hmmpyl.s1
708   __builtin_HEXAGON_M2_hmmpyl_s1(0, 0);
709   // CHECK: @llvm.hexagon.M2.maci
710   __builtin_HEXAGON_M2_maci(0, 0, 0);
711   // CHECK: @llvm.hexagon.M2.macsin
712   __builtin_HEXAGON_M2_macsin(0, 0, 0);
713   // CHECK: @llvm.hexagon.M2.macsip
714   __builtin_HEXAGON_M2_macsip(0, 0, 0);
715   // CHECK: @llvm.hexagon.M2.mmachs.rs0
716   __builtin_HEXAGON_M2_mmachs_rs0(0, 0, 0);
717   // CHECK: @llvm.hexagon.M2.mmachs.rs1
718   __builtin_HEXAGON_M2_mmachs_rs1(0, 0, 0);
719   // CHECK: @llvm.hexagon.M2.mmachs.s0
720   __builtin_HEXAGON_M2_mmachs_s0(0, 0, 0);
721   // CHECK: @llvm.hexagon.M2.mmachs.s1
722   __builtin_HEXAGON_M2_mmachs_s1(0, 0, 0);
723   // CHECK: @llvm.hexagon.M2.mmacls.rs0
724   __builtin_HEXAGON_M2_mmacls_rs0(0, 0, 0);
725   // CHECK: @llvm.hexagon.M2.mmacls.rs1
726   __builtin_HEXAGON_M2_mmacls_rs1(0, 0, 0);
727   // CHECK: @llvm.hexagon.M2.mmacls.s0
728   __builtin_HEXAGON_M2_mmacls_s0(0, 0, 0);
729   // CHECK: @llvm.hexagon.M2.mmacls.s1
730   __builtin_HEXAGON_M2_mmacls_s1(0, 0, 0);
731   // CHECK: @llvm.hexagon.M2.mmacuhs.rs0
732   __builtin_HEXAGON_M2_mmacuhs_rs0(0, 0, 0);
733   // CHECK: @llvm.hexagon.M2.mmacuhs.rs1
734   __builtin_HEXAGON_M2_mmacuhs_rs1(0, 0, 0);
735   // CHECK: @llvm.hexagon.M2.mmacuhs.s0
736   __builtin_HEXAGON_M2_mmacuhs_s0(0, 0, 0);
737   // CHECK: @llvm.hexagon.M2.mmacuhs.s1
738   __builtin_HEXAGON_M2_mmacuhs_s1(0, 0, 0);
739   // CHECK: @llvm.hexagon.M2.mmaculs.rs0
740   __builtin_HEXAGON_M2_mmaculs_rs0(0, 0, 0);
741   // CHECK: @llvm.hexagon.M2.mmaculs.rs1
742   __builtin_HEXAGON_M2_mmaculs_rs1(0, 0, 0);
743   // CHECK: @llvm.hexagon.M2.mmaculs.s0
744   __builtin_HEXAGON_M2_mmaculs_s0(0, 0, 0);
745   // CHECK: @llvm.hexagon.M2.mmaculs.s1
746   __builtin_HEXAGON_M2_mmaculs_s1(0, 0, 0);
747   // CHECK: @llvm.hexagon.M2.mmpyh.rs0
748   __builtin_HEXAGON_M2_mmpyh_rs0(0, 0);
749   // CHECK: @llvm.hexagon.M2.mmpyh.rs1
750   __builtin_HEXAGON_M2_mmpyh_rs1(0, 0);
751   // CHECK: @llvm.hexagon.M2.mmpyh.s0
752   __builtin_HEXAGON_M2_mmpyh_s0(0, 0);
753   // CHECK: @llvm.hexagon.M2.mmpyh.s1
754   __builtin_HEXAGON_M2_mmpyh_s1(0, 0);
755   // CHECK: @llvm.hexagon.M2.mmpyl.rs0
756   __builtin_HEXAGON_M2_mmpyl_rs0(0, 0);
757   // CHECK: @llvm.hexagon.M2.mmpyl.rs1
758   __builtin_HEXAGON_M2_mmpyl_rs1(0, 0);
759   // CHECK: @llvm.hexagon.M2.mmpyl.s0
760   __builtin_HEXAGON_M2_mmpyl_s0(0, 0);
761   // CHECK: @llvm.hexagon.M2.mmpyl.s1
762   __builtin_HEXAGON_M2_mmpyl_s1(0, 0);
763   // CHECK: @llvm.hexagon.M2.mmpyuh.rs0
764   __builtin_HEXAGON_M2_mmpyuh_rs0(0, 0);
765   // CHECK: @llvm.hexagon.M2.mmpyuh.rs1
766   __builtin_HEXAGON_M2_mmpyuh_rs1(0, 0);
767   // CHECK: @llvm.hexagon.M2.mmpyuh.s0
768   __builtin_HEXAGON_M2_mmpyuh_s0(0, 0);
769   // CHECK: @llvm.hexagon.M2.mmpyuh.s1
770   __builtin_HEXAGON_M2_mmpyuh_s1(0, 0);
771   // CHECK: @llvm.hexagon.M2.mmpyul.rs0
772   __builtin_HEXAGON_M2_mmpyul_rs0(0, 0);
773   // CHECK: @llvm.hexagon.M2.mmpyul.rs1
774   __builtin_HEXAGON_M2_mmpyul_rs1(0, 0);
775   // CHECK: @llvm.hexagon.M2.mmpyul.s0
776   __builtin_HEXAGON_M2_mmpyul_s0(0, 0);
777   // CHECK: @llvm.hexagon.M2.mmpyul.s1
778   __builtin_HEXAGON_M2_mmpyul_s1(0, 0);
779   // CHECK: @llvm.hexagon.M2.mpy.acc.hh.s0
780   __builtin_HEXAGON_M2_mpy_acc_hh_s0(0, 0, 0);
781   // CHECK: @llvm.hexagon.M2.mpy.acc.hh.s1
782   __builtin_HEXAGON_M2_mpy_acc_hh_s1(0, 0, 0);
783   // CHECK: @llvm.hexagon.M2.mpy.acc.hl.s0
784   __builtin_HEXAGON_M2_mpy_acc_hl_s0(0, 0, 0);
785   // CHECK: @llvm.hexagon.M2.mpy.acc.hl.s1
786   __builtin_HEXAGON_M2_mpy_acc_hl_s1(0, 0, 0);
787   // CHECK: @llvm.hexagon.M2.mpy.acc.lh.s0
788   __builtin_HEXAGON_M2_mpy_acc_lh_s0(0, 0, 0);
789   // CHECK: @llvm.hexagon.M2.mpy.acc.lh.s1
790   __builtin_HEXAGON_M2_mpy_acc_lh_s1(0, 0, 0);
791   // CHECK: @llvm.hexagon.M2.mpy.acc.ll.s0
792   __builtin_HEXAGON_M2_mpy_acc_ll_s0(0, 0, 0);
793   // CHECK: @llvm.hexagon.M2.mpy.acc.ll.s1
794   __builtin_HEXAGON_M2_mpy_acc_ll_s1(0, 0, 0);
795   // CHECK: @llvm.hexagon.M2.mpy.acc.sat.hh.s0
796   __builtin_HEXAGON_M2_mpy_acc_sat_hh_s0(0, 0, 0);
797   // CHECK: @llvm.hexagon.M2.mpy.acc.sat.hh.s1
798   __builtin_HEXAGON_M2_mpy_acc_sat_hh_s1(0, 0, 0);
799   // CHECK: @llvm.hexagon.M2.mpy.acc.sat.hl.s0
800   __builtin_HEXAGON_M2_mpy_acc_sat_hl_s0(0, 0, 0);
801   // CHECK: @llvm.hexagon.M2.mpy.acc.sat.hl.s1
802   __builtin_HEXAGON_M2_mpy_acc_sat_hl_s1(0, 0, 0);
803   // CHECK: @llvm.hexagon.M2.mpy.acc.sat.lh.s0
804   __builtin_HEXAGON_M2_mpy_acc_sat_lh_s0(0, 0, 0);
805   // CHECK: @llvm.hexagon.M2.mpy.acc.sat.lh.s1
806   __builtin_HEXAGON_M2_mpy_acc_sat_lh_s1(0, 0, 0);
807   // CHECK: @llvm.hexagon.M2.mpy.acc.sat.ll.s0
808   __builtin_HEXAGON_M2_mpy_acc_sat_ll_s0(0, 0, 0);
809   // CHECK: @llvm.hexagon.M2.mpy.acc.sat.ll.s1
810   __builtin_HEXAGON_M2_mpy_acc_sat_ll_s1(0, 0, 0);
811   // CHECK: @llvm.hexagon.M2.mpy.hh.s0
812   __builtin_HEXAGON_M2_mpy_hh_s0(0, 0);
813   // CHECK: @llvm.hexagon.M2.mpy.hh.s1
814   __builtin_HEXAGON_M2_mpy_hh_s1(0, 0);
815   // CHECK: @llvm.hexagon.M2.mpy.hl.s0
816   __builtin_HEXAGON_M2_mpy_hl_s0(0, 0);
817   // CHECK: @llvm.hexagon.M2.mpy.hl.s1
818   __builtin_HEXAGON_M2_mpy_hl_s1(0, 0);
819   // CHECK: @llvm.hexagon.M2.mpy.lh.s0
820   __builtin_HEXAGON_M2_mpy_lh_s0(0, 0);
821   // CHECK: @llvm.hexagon.M2.mpy.lh.s1
822   __builtin_HEXAGON_M2_mpy_lh_s1(0, 0);
823   // CHECK: @llvm.hexagon.M2.mpy.ll.s0
824   __builtin_HEXAGON_M2_mpy_ll_s0(0, 0);
825   // CHECK: @llvm.hexagon.M2.mpy.ll.s1
826   __builtin_HEXAGON_M2_mpy_ll_s1(0, 0);
827   // CHECK: @llvm.hexagon.M2.mpy.nac.hh.s0
828   __builtin_HEXAGON_M2_mpy_nac_hh_s0(0, 0, 0);
829   // CHECK: @llvm.hexagon.M2.mpy.nac.hh.s1
830   __builtin_HEXAGON_M2_mpy_nac_hh_s1(0, 0, 0);
831   // CHECK: @llvm.hexagon.M2.mpy.nac.hl.s0
832   __builtin_HEXAGON_M2_mpy_nac_hl_s0(0, 0, 0);
833   // CHECK: @llvm.hexagon.M2.mpy.nac.hl.s1
834   __builtin_HEXAGON_M2_mpy_nac_hl_s1(0, 0, 0);
835   // CHECK: @llvm.hexagon.M2.mpy.nac.lh.s0
836   __builtin_HEXAGON_M2_mpy_nac_lh_s0(0, 0, 0);
837   // CHECK: @llvm.hexagon.M2.mpy.nac.lh.s1
838   __builtin_HEXAGON_M2_mpy_nac_lh_s1(0, 0, 0);
839   // CHECK: @llvm.hexagon.M2.mpy.nac.ll.s0
840   __builtin_HEXAGON_M2_mpy_nac_ll_s0(0, 0, 0);
841   // CHECK: @llvm.hexagon.M2.mpy.nac.ll.s1
842   __builtin_HEXAGON_M2_mpy_nac_ll_s1(0, 0, 0);
843   // CHECK: @llvm.hexagon.M2.mpy.nac.sat.hh.s0
844   __builtin_HEXAGON_M2_mpy_nac_sat_hh_s0(0, 0, 0);
845   // CHECK: @llvm.hexagon.M2.mpy.nac.sat.hh.s1
846   __builtin_HEXAGON_M2_mpy_nac_sat_hh_s1(0, 0, 0);
847   // CHECK: @llvm.hexagon.M2.mpy.nac.sat.hl.s0
848   __builtin_HEXAGON_M2_mpy_nac_sat_hl_s0(0, 0, 0);
849   // CHECK: @llvm.hexagon.M2.mpy.nac.sat.hl.s1
850   __builtin_HEXAGON_M2_mpy_nac_sat_hl_s1(0, 0, 0);
851   // CHECK: @llvm.hexagon.M2.mpy.nac.sat.lh.s0
852   __builtin_HEXAGON_M2_mpy_nac_sat_lh_s0(0, 0, 0);
853   // CHECK: @llvm.hexagon.M2.mpy.nac.sat.lh.s1
854   __builtin_HEXAGON_M2_mpy_nac_sat_lh_s1(0, 0, 0);
855   // CHECK: @llvm.hexagon.M2.mpy.nac.sat.ll.s0
856   __builtin_HEXAGON_M2_mpy_nac_sat_ll_s0(0, 0, 0);
857   // CHECK: @llvm.hexagon.M2.mpy.nac.sat.ll.s1
858   __builtin_HEXAGON_M2_mpy_nac_sat_ll_s1(0, 0, 0);
859   // CHECK: @llvm.hexagon.M2.mpy.rnd.hh.s0
860   __builtin_HEXAGON_M2_mpy_rnd_hh_s0(0, 0);
861   // CHECK: @llvm.hexagon.M2.mpy.rnd.hh.s1
862   __builtin_HEXAGON_M2_mpy_rnd_hh_s1(0, 0);
863   // CHECK: @llvm.hexagon.M2.mpy.rnd.hl.s0
864   __builtin_HEXAGON_M2_mpy_rnd_hl_s0(0, 0);
865   // CHECK: @llvm.hexagon.M2.mpy.rnd.hl.s1
866   __builtin_HEXAGON_M2_mpy_rnd_hl_s1(0, 0);
867   // CHECK: @llvm.hexagon.M2.mpy.rnd.lh.s0
868   __builtin_HEXAGON_M2_mpy_rnd_lh_s0(0, 0);
869   // CHECK: @llvm.hexagon.M2.mpy.rnd.lh.s1
870   __builtin_HEXAGON_M2_mpy_rnd_lh_s1(0, 0);
871   // CHECK: @llvm.hexagon.M2.mpy.rnd.ll.s0
872   __builtin_HEXAGON_M2_mpy_rnd_ll_s0(0, 0);
873   // CHECK: @llvm.hexagon.M2.mpy.rnd.ll.s1
874   __builtin_HEXAGON_M2_mpy_rnd_ll_s1(0, 0);
875   // CHECK: @llvm.hexagon.M2.mpy.sat.hh.s0
876   __builtin_HEXAGON_M2_mpy_sat_hh_s0(0, 0);
877   // CHECK: @llvm.hexagon.M2.mpy.sat.hh.s1
878   __builtin_HEXAGON_M2_mpy_sat_hh_s1(0, 0);
879   // CHECK: @llvm.hexagon.M2.mpy.sat.hl.s0
880   __builtin_HEXAGON_M2_mpy_sat_hl_s0(0, 0);
881   // CHECK: @llvm.hexagon.M2.mpy.sat.hl.s1
882   __builtin_HEXAGON_M2_mpy_sat_hl_s1(0, 0);
883   // CHECK: @llvm.hexagon.M2.mpy.sat.lh.s0
884   __builtin_HEXAGON_M2_mpy_sat_lh_s0(0, 0);
885   // CHECK: @llvm.hexagon.M2.mpy.sat.lh.s1
886   __builtin_HEXAGON_M2_mpy_sat_lh_s1(0, 0);
887   // CHECK: @llvm.hexagon.M2.mpy.sat.ll.s0
888   __builtin_HEXAGON_M2_mpy_sat_ll_s0(0, 0);
889   // CHECK: @llvm.hexagon.M2.mpy.sat.ll.s1
890   __builtin_HEXAGON_M2_mpy_sat_ll_s1(0, 0);
891   // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.hh.s0
892   __builtin_HEXAGON_M2_mpy_sat_rnd_hh_s0(0, 0);
893   // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.hh.s1
894   __builtin_HEXAGON_M2_mpy_sat_rnd_hh_s1(0, 0);
895   // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.hl.s0
896   __builtin_HEXAGON_M2_mpy_sat_rnd_hl_s0(0, 0);
897   // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.hl.s1
898   __builtin_HEXAGON_M2_mpy_sat_rnd_hl_s1(0, 0);
899   // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.lh.s0
900   __builtin_HEXAGON_M2_mpy_sat_rnd_lh_s0(0, 0);
901   // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.lh.s1
902   __builtin_HEXAGON_M2_mpy_sat_rnd_lh_s1(0, 0);
903   // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.ll.s0
904   __builtin_HEXAGON_M2_mpy_sat_rnd_ll_s0(0, 0);
905   // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.ll.s1
906   __builtin_HEXAGON_M2_mpy_sat_rnd_ll_s1(0, 0);
907   // CHECK: @llvm.hexagon.M2.mpy.up
908   __builtin_HEXAGON_M2_mpy_up(0, 0);
909   // CHECK: @llvm.hexagon.M2.mpy.up.s1
910   __builtin_HEXAGON_M2_mpy_up_s1(0, 0);
911   // CHECK: @llvm.hexagon.M2.mpy.up.s1.sat
912   __builtin_HEXAGON_M2_mpy_up_s1_sat(0, 0);
913   // CHECK: @llvm.hexagon.M2.mpyd.acc.hh.s0
914   __builtin_HEXAGON_M2_mpyd_acc_hh_s0(0, 0, 0);
915   // CHECK: @llvm.hexagon.M2.mpyd.acc.hh.s1
916   __builtin_HEXAGON_M2_mpyd_acc_hh_s1(0, 0, 0);
917   // CHECK: @llvm.hexagon.M2.mpyd.acc.hl.s0
918   __builtin_HEXAGON_M2_mpyd_acc_hl_s0(0, 0, 0);
919   // CHECK: @llvm.hexagon.M2.mpyd.acc.hl.s1
920   __builtin_HEXAGON_M2_mpyd_acc_hl_s1(0, 0, 0);
921   // CHECK: @llvm.hexagon.M2.mpyd.acc.lh.s0
922   __builtin_HEXAGON_M2_mpyd_acc_lh_s0(0, 0, 0);
923   // CHECK: @llvm.hexagon.M2.mpyd.acc.lh.s1
924   __builtin_HEXAGON_M2_mpyd_acc_lh_s1(0, 0, 0);
925   // CHECK: @llvm.hexagon.M2.mpyd.acc.ll.s0
926   __builtin_HEXAGON_M2_mpyd_acc_ll_s0(0, 0, 0);
927   // CHECK: @llvm.hexagon.M2.mpyd.acc.ll.s1
928   __builtin_HEXAGON_M2_mpyd_acc_ll_s1(0, 0, 0);
929   // CHECK: @llvm.hexagon.M2.mpyd.hh.s0
930   __builtin_HEXAGON_M2_mpyd_hh_s0(0, 0);
931   // CHECK: @llvm.hexagon.M2.mpyd.hh.s1
932   __builtin_HEXAGON_M2_mpyd_hh_s1(0, 0);
933   // CHECK: @llvm.hexagon.M2.mpyd.hl.s0
934   __builtin_HEXAGON_M2_mpyd_hl_s0(0, 0);
935   // CHECK: @llvm.hexagon.M2.mpyd.hl.s1
936   __builtin_HEXAGON_M2_mpyd_hl_s1(0, 0);
937   // CHECK: @llvm.hexagon.M2.mpyd.lh.s0
938   __builtin_HEXAGON_M2_mpyd_lh_s0(0, 0);
939   // CHECK: @llvm.hexagon.M2.mpyd.lh.s1
940   __builtin_HEXAGON_M2_mpyd_lh_s1(0, 0);
941   // CHECK: @llvm.hexagon.M2.mpyd.ll.s0
942   __builtin_HEXAGON_M2_mpyd_ll_s0(0, 0);
943   // CHECK: @llvm.hexagon.M2.mpyd.ll.s1
944   __builtin_HEXAGON_M2_mpyd_ll_s1(0, 0);
945   // CHECK: @llvm.hexagon.M2.mpyd.nac.hh.s0
946   __builtin_HEXAGON_M2_mpyd_nac_hh_s0(0, 0, 0);
947   // CHECK: @llvm.hexagon.M2.mpyd.nac.hh.s1
948   __builtin_HEXAGON_M2_mpyd_nac_hh_s1(0, 0, 0);
949   // CHECK: @llvm.hexagon.M2.mpyd.nac.hl.s0
950   __builtin_HEXAGON_M2_mpyd_nac_hl_s0(0, 0, 0);
951   // CHECK: @llvm.hexagon.M2.mpyd.nac.hl.s1
952   __builtin_HEXAGON_M2_mpyd_nac_hl_s1(0, 0, 0);
953   // CHECK: @llvm.hexagon.M2.mpyd.nac.lh.s0
954   __builtin_HEXAGON_M2_mpyd_nac_lh_s0(0, 0, 0);
955   // CHECK: @llvm.hexagon.M2.mpyd.nac.lh.s1
956   __builtin_HEXAGON_M2_mpyd_nac_lh_s1(0, 0, 0);
957   // CHECK: @llvm.hexagon.M2.mpyd.nac.ll.s0
958   __builtin_HEXAGON_M2_mpyd_nac_ll_s0(0, 0, 0);
959   // CHECK: @llvm.hexagon.M2.mpyd.nac.ll.s1
960   __builtin_HEXAGON_M2_mpyd_nac_ll_s1(0, 0, 0);
961   // CHECK: @llvm.hexagon.M2.mpyd.rnd.hh.s0
962   __builtin_HEXAGON_M2_mpyd_rnd_hh_s0(0, 0);
963   // CHECK: @llvm.hexagon.M2.mpyd.rnd.hh.s1
964   __builtin_HEXAGON_M2_mpyd_rnd_hh_s1(0, 0);
965   // CHECK: @llvm.hexagon.M2.mpyd.rnd.hl.s0
966   __builtin_HEXAGON_M2_mpyd_rnd_hl_s0(0, 0);
967   // CHECK: @llvm.hexagon.M2.mpyd.rnd.hl.s1
968   __builtin_HEXAGON_M2_mpyd_rnd_hl_s1(0, 0);
969   // CHECK: @llvm.hexagon.M2.mpyd.rnd.lh.s0
970   __builtin_HEXAGON_M2_mpyd_rnd_lh_s0(0, 0);
971   // CHECK: @llvm.hexagon.M2.mpyd.rnd.lh.s1
972   __builtin_HEXAGON_M2_mpyd_rnd_lh_s1(0, 0);
973   // CHECK: @llvm.hexagon.M2.mpyd.rnd.ll.s0
974   __builtin_HEXAGON_M2_mpyd_rnd_ll_s0(0, 0);
975   // CHECK: @llvm.hexagon.M2.mpyd.rnd.ll.s1
976   __builtin_HEXAGON_M2_mpyd_rnd_ll_s1(0, 0);
977   // CHECK: @llvm.hexagon.M2.mpyi
978   __builtin_HEXAGON_M2_mpyi(0, 0);
979   // CHECK: @llvm.hexagon.M2.mpysmi
980   __builtin_HEXAGON_M2_mpysmi(0, 0);
981   // CHECK: @llvm.hexagon.M2.mpysu.up
982   __builtin_HEXAGON_M2_mpysu_up(0, 0);
983   // CHECK: @llvm.hexagon.M2.mpyu.acc.hh.s0
984   __builtin_HEXAGON_M2_mpyu_acc_hh_s0(0, 0, 0);
985   // CHECK: @llvm.hexagon.M2.mpyu.acc.hh.s1
986   __builtin_HEXAGON_M2_mpyu_acc_hh_s1(0, 0, 0);
987   // CHECK: @llvm.hexagon.M2.mpyu.acc.hl.s0
988   __builtin_HEXAGON_M2_mpyu_acc_hl_s0(0, 0, 0);
989   // CHECK: @llvm.hexagon.M2.mpyu.acc.hl.s1
990   __builtin_HEXAGON_M2_mpyu_acc_hl_s1(0, 0, 0);
991   // CHECK: @llvm.hexagon.M2.mpyu.acc.lh.s0
992   __builtin_HEXAGON_M2_mpyu_acc_lh_s0(0, 0, 0);
993   // CHECK: @llvm.hexagon.M2.mpyu.acc.lh.s1
994   __builtin_HEXAGON_M2_mpyu_acc_lh_s1(0, 0, 0);
995   // CHECK: @llvm.hexagon.M2.mpyu.acc.ll.s0
996   __builtin_HEXAGON_M2_mpyu_acc_ll_s0(0, 0, 0);
997   // CHECK: @llvm.hexagon.M2.mpyu.acc.ll.s1
998   __builtin_HEXAGON_M2_mpyu_acc_ll_s1(0, 0, 0);
999   // CHECK: @llvm.hexagon.M2.mpyu.hh.s0
1000   __builtin_HEXAGON_M2_mpyu_hh_s0(0, 0);
1001   // CHECK: @llvm.hexagon.M2.mpyu.hh.s1
1002   __builtin_HEXAGON_M2_mpyu_hh_s1(0, 0);
1003   // CHECK: @llvm.hexagon.M2.mpyu.hl.s0
1004   __builtin_HEXAGON_M2_mpyu_hl_s0(0, 0);
1005   // CHECK: @llvm.hexagon.M2.mpyu.hl.s1
1006   __builtin_HEXAGON_M2_mpyu_hl_s1(0, 0);
1007   // CHECK: @llvm.hexagon.M2.mpyu.lh.s0
1008   __builtin_HEXAGON_M2_mpyu_lh_s0(0, 0);
1009   // CHECK: @llvm.hexagon.M2.mpyu.lh.s1
1010   __builtin_HEXAGON_M2_mpyu_lh_s1(0, 0);
1011   // CHECK: @llvm.hexagon.M2.mpyu.ll.s0
1012   __builtin_HEXAGON_M2_mpyu_ll_s0(0, 0);
1013   // CHECK: @llvm.hexagon.M2.mpyu.ll.s1
1014   __builtin_HEXAGON_M2_mpyu_ll_s1(0, 0);
1015   // CHECK: @llvm.hexagon.M2.mpyu.nac.hh.s0
1016   __builtin_HEXAGON_M2_mpyu_nac_hh_s0(0, 0, 0);
1017   // CHECK: @llvm.hexagon.M2.mpyu.nac.hh.s1
1018   __builtin_HEXAGON_M2_mpyu_nac_hh_s1(0, 0, 0);
1019   // CHECK: @llvm.hexagon.M2.mpyu.nac.hl.s0
1020   __builtin_HEXAGON_M2_mpyu_nac_hl_s0(0, 0, 0);
1021   // CHECK: @llvm.hexagon.M2.mpyu.nac.hl.s1
1022   __builtin_HEXAGON_M2_mpyu_nac_hl_s1(0, 0, 0);
1023   // CHECK: @llvm.hexagon.M2.mpyu.nac.lh.s0
1024   __builtin_HEXAGON_M2_mpyu_nac_lh_s0(0, 0, 0);
1025   // CHECK: @llvm.hexagon.M2.mpyu.nac.lh.s1
1026   __builtin_HEXAGON_M2_mpyu_nac_lh_s1(0, 0, 0);
1027   // CHECK: @llvm.hexagon.M2.mpyu.nac.ll.s0
1028   __builtin_HEXAGON_M2_mpyu_nac_ll_s0(0, 0, 0);
1029   // CHECK: @llvm.hexagon.M2.mpyu.nac.ll.s1
1030   __builtin_HEXAGON_M2_mpyu_nac_ll_s1(0, 0, 0);
1031   // CHECK: @llvm.hexagon.M2.mpyu.up
1032   __builtin_HEXAGON_M2_mpyu_up(0, 0);
1033   // CHECK: @llvm.hexagon.M2.mpyud.acc.hh.s0
1034   __builtin_HEXAGON_M2_mpyud_acc_hh_s0(0, 0, 0);
1035   // CHECK: @llvm.hexagon.M2.mpyud.acc.hh.s1
1036   __builtin_HEXAGON_M2_mpyud_acc_hh_s1(0, 0, 0);
1037   // CHECK: @llvm.hexagon.M2.mpyud.acc.hl.s0
1038   __builtin_HEXAGON_M2_mpyud_acc_hl_s0(0, 0, 0);
1039   // CHECK: @llvm.hexagon.M2.mpyud.acc.hl.s1
1040   __builtin_HEXAGON_M2_mpyud_acc_hl_s1(0, 0, 0);
1041   // CHECK: @llvm.hexagon.M2.mpyud.acc.lh.s0
1042   __builtin_HEXAGON_M2_mpyud_acc_lh_s0(0, 0, 0);
1043   // CHECK: @llvm.hexagon.M2.mpyud.acc.lh.s1
1044   __builtin_HEXAGON_M2_mpyud_acc_lh_s1(0, 0, 0);
1045   // CHECK: @llvm.hexagon.M2.mpyud.acc.ll.s0
1046   __builtin_HEXAGON_M2_mpyud_acc_ll_s0(0, 0, 0);
1047   // CHECK: @llvm.hexagon.M2.mpyud.acc.ll.s1
1048   __builtin_HEXAGON_M2_mpyud_acc_ll_s1(0, 0, 0);
1049   // CHECK: @llvm.hexagon.M2.mpyud.hh.s0
1050   __builtin_HEXAGON_M2_mpyud_hh_s0(0, 0);
1051   // CHECK: @llvm.hexagon.M2.mpyud.hh.s1
1052   __builtin_HEXAGON_M2_mpyud_hh_s1(0, 0);
1053   // CHECK: @llvm.hexagon.M2.mpyud.hl.s0
1054   __builtin_HEXAGON_M2_mpyud_hl_s0(0, 0);
1055   // CHECK: @llvm.hexagon.M2.mpyud.hl.s1
1056   __builtin_HEXAGON_M2_mpyud_hl_s1(0, 0);
1057   // CHECK: @llvm.hexagon.M2.mpyud.lh.s0
1058   __builtin_HEXAGON_M2_mpyud_lh_s0(0, 0);
1059   // CHECK: @llvm.hexagon.M2.mpyud.lh.s1
1060   __builtin_HEXAGON_M2_mpyud_lh_s1(0, 0);
1061   // CHECK: @llvm.hexagon.M2.mpyud.ll.s0
1062   __builtin_HEXAGON_M2_mpyud_ll_s0(0, 0);
1063   // CHECK: @llvm.hexagon.M2.mpyud.ll.s1
1064   __builtin_HEXAGON_M2_mpyud_ll_s1(0, 0);
1065   // CHECK: @llvm.hexagon.M2.mpyud.nac.hh.s0
1066   __builtin_HEXAGON_M2_mpyud_nac_hh_s0(0, 0, 0);
1067   // CHECK: @llvm.hexagon.M2.mpyud.nac.hh.s1
1068   __builtin_HEXAGON_M2_mpyud_nac_hh_s1(0, 0, 0);
1069   // CHECK: @llvm.hexagon.M2.mpyud.nac.hl.s0
1070   __builtin_HEXAGON_M2_mpyud_nac_hl_s0(0, 0, 0);
1071   // CHECK: @llvm.hexagon.M2.mpyud.nac.hl.s1
1072   __builtin_HEXAGON_M2_mpyud_nac_hl_s1(0, 0, 0);
1073   // CHECK: @llvm.hexagon.M2.mpyud.nac.lh.s0
1074   __builtin_HEXAGON_M2_mpyud_nac_lh_s0(0, 0, 0);
1075   // CHECK: @llvm.hexagon.M2.mpyud.nac.lh.s1
1076   __builtin_HEXAGON_M2_mpyud_nac_lh_s1(0, 0, 0);
1077   // CHECK: @llvm.hexagon.M2.mpyud.nac.ll.s0
1078   __builtin_HEXAGON_M2_mpyud_nac_ll_s0(0, 0, 0);
1079   // CHECK: @llvm.hexagon.M2.mpyud.nac.ll.s1
1080   __builtin_HEXAGON_M2_mpyud_nac_ll_s1(0, 0, 0);
1081   // CHECK: @llvm.hexagon.M2.mpyui
1082   __builtin_HEXAGON_M2_mpyui(0, 0);
1083   // CHECK: @llvm.hexagon.M2.nacci
1084   __builtin_HEXAGON_M2_nacci(0, 0, 0);
1085   // CHECK: @llvm.hexagon.M2.naccii
1086   __builtin_HEXAGON_M2_naccii(0, 0, 0);
1087   // CHECK: @llvm.hexagon.M2.subacc
1088   __builtin_HEXAGON_M2_subacc(0, 0, 0);
1089   // CHECK: @llvm.hexagon.M2.vabsdiffh
1090   __builtin_HEXAGON_M2_vabsdiffh(0, 0);
1091   // CHECK: @llvm.hexagon.M2.vabsdiffw
1092   __builtin_HEXAGON_M2_vabsdiffw(0, 0);
1093   // CHECK: @llvm.hexagon.M2.vcmac.s0.sat.i
1094   __builtin_HEXAGON_M2_vcmac_s0_sat_i(0, 0, 0);
1095   // CHECK: @llvm.hexagon.M2.vcmac.s0.sat.r
1096   __builtin_HEXAGON_M2_vcmac_s0_sat_r(0, 0, 0);
1097   // CHECK: @llvm.hexagon.M2.vcmpy.s0.sat.i
1098   __builtin_HEXAGON_M2_vcmpy_s0_sat_i(0, 0);
1099   // CHECK: @llvm.hexagon.M2.vcmpy.s0.sat.r
1100   __builtin_HEXAGON_M2_vcmpy_s0_sat_r(0, 0);
1101   // CHECK: @llvm.hexagon.M2.vcmpy.s1.sat.i
1102   __builtin_HEXAGON_M2_vcmpy_s1_sat_i(0, 0);
1103   // CHECK: @llvm.hexagon.M2.vcmpy.s1.sat.r
1104   __builtin_HEXAGON_M2_vcmpy_s1_sat_r(0, 0);
1105   // CHECK: @llvm.hexagon.M2.vdmacs.s0
1106   __builtin_HEXAGON_M2_vdmacs_s0(0, 0, 0);
1107   // CHECK: @llvm.hexagon.M2.vdmacs.s1
1108   __builtin_HEXAGON_M2_vdmacs_s1(0, 0, 0);
1109   // CHECK: @llvm.hexagon.M2.vdmpyrs.s0
1110   __builtin_HEXAGON_M2_vdmpyrs_s0(0, 0);
1111   // CHECK: @llvm.hexagon.M2.vdmpyrs.s1
1112   __builtin_HEXAGON_M2_vdmpyrs_s1(0, 0);
1113   // CHECK: @llvm.hexagon.M2.vdmpys.s0
1114   __builtin_HEXAGON_M2_vdmpys_s0(0, 0);
1115   // CHECK: @llvm.hexagon.M2.vdmpys.s1
1116   __builtin_HEXAGON_M2_vdmpys_s1(0, 0);
1117   // CHECK: @llvm.hexagon.M2.vmac2
1118   __builtin_HEXAGON_M2_vmac2(0, 0, 0);
1119   // CHECK: @llvm.hexagon.M2.vmac2es
1120   __builtin_HEXAGON_M2_vmac2es(0, 0, 0);
1121   // CHECK: @llvm.hexagon.M2.vmac2es.s0
1122   __builtin_HEXAGON_M2_vmac2es_s0(0, 0, 0);
1123   // CHECK: @llvm.hexagon.M2.vmac2es.s1
1124   __builtin_HEXAGON_M2_vmac2es_s1(0, 0, 0);
1125   // CHECK: @llvm.hexagon.M2.vmac2s.s0
1126   __builtin_HEXAGON_M2_vmac2s_s0(0, 0, 0);
1127   // CHECK: @llvm.hexagon.M2.vmac2s.s1
1128   __builtin_HEXAGON_M2_vmac2s_s1(0, 0, 0);
1129   // CHECK: @llvm.hexagon.M2.vmac2su.s0
1130   __builtin_HEXAGON_M2_vmac2su_s0(0, 0, 0);
1131   // CHECK: @llvm.hexagon.M2.vmac2su.s1
1132   __builtin_HEXAGON_M2_vmac2su_s1(0, 0, 0);
1133   // CHECK: @llvm.hexagon.M2.vmpy2es.s0
1134   __builtin_HEXAGON_M2_vmpy2es_s0(0, 0);
1135   // CHECK: @llvm.hexagon.M2.vmpy2es.s1
1136   __builtin_HEXAGON_M2_vmpy2es_s1(0, 0);
1137   // CHECK: @llvm.hexagon.M2.vmpy2s.s0
1138   __builtin_HEXAGON_M2_vmpy2s_s0(0, 0);
1139   // CHECK: @llvm.hexagon.M2.vmpy2s.s0pack
1140   __builtin_HEXAGON_M2_vmpy2s_s0pack(0, 0);
1141   // CHECK: @llvm.hexagon.M2.vmpy2s.s1
1142   __builtin_HEXAGON_M2_vmpy2s_s1(0, 0);
1143   // CHECK: @llvm.hexagon.M2.vmpy2s.s1pack
1144   __builtin_HEXAGON_M2_vmpy2s_s1pack(0, 0);
1145   // CHECK: @llvm.hexagon.M2.vmpy2su.s0
1146   __builtin_HEXAGON_M2_vmpy2su_s0(0, 0);
1147   // CHECK: @llvm.hexagon.M2.vmpy2su.s1
1148   __builtin_HEXAGON_M2_vmpy2su_s1(0, 0);
1149   // CHECK: @llvm.hexagon.M2.vraddh
1150   __builtin_HEXAGON_M2_vraddh(0, 0);
1151   // CHECK: @llvm.hexagon.M2.vradduh
1152   __builtin_HEXAGON_M2_vradduh(0, 0);
1153   // CHECK: @llvm.hexagon.M2.vrcmaci.s0
1154   __builtin_HEXAGON_M2_vrcmaci_s0(0, 0, 0);
1155   // CHECK: @llvm.hexagon.M2.vrcmaci.s0c
1156   __builtin_HEXAGON_M2_vrcmaci_s0c(0, 0, 0);
1157   // CHECK: @llvm.hexagon.M2.vrcmacr.s0
1158   __builtin_HEXAGON_M2_vrcmacr_s0(0, 0, 0);
1159   // CHECK: @llvm.hexagon.M2.vrcmacr.s0c
1160   __builtin_HEXAGON_M2_vrcmacr_s0c(0, 0, 0);
1161   // CHECK: @llvm.hexagon.M2.vrcmpyi.s0
1162   __builtin_HEXAGON_M2_vrcmpyi_s0(0, 0);
1163   // CHECK: @llvm.hexagon.M2.vrcmpyi.s0c
1164   __builtin_HEXAGON_M2_vrcmpyi_s0c(0, 0);
1165   // CHECK: @llvm.hexagon.M2.vrcmpyr.s0
1166   __builtin_HEXAGON_M2_vrcmpyr_s0(0, 0);
1167   // CHECK: @llvm.hexagon.M2.vrcmpyr.s0c
1168   __builtin_HEXAGON_M2_vrcmpyr_s0c(0, 0);
1169   // CHECK: @llvm.hexagon.M2.vrcmpys.acc.s1
1170   __builtin_HEXAGON_M2_vrcmpys_acc_s1(0, 0, 0);
1171   // CHECK: @llvm.hexagon.M2.vrcmpys.s1
1172   __builtin_HEXAGON_M2_vrcmpys_s1(0, 0);
1173   // CHECK: @llvm.hexagon.M2.vrcmpys.s1rp
1174   __builtin_HEXAGON_M2_vrcmpys_s1rp(0, 0);
1175   // CHECK: @llvm.hexagon.M2.vrmac.s0
1176   __builtin_HEXAGON_M2_vrmac_s0(0, 0, 0);
1177   // CHECK: @llvm.hexagon.M2.vrmpy.s0
1178   __builtin_HEXAGON_M2_vrmpy_s0(0, 0);
1179   // CHECK: @llvm.hexagon.M2.xor.xacc
1180   __builtin_HEXAGON_M2_xor_xacc(0, 0, 0);
1181   // CHECK: @llvm.hexagon.M4.and.and
1182   __builtin_HEXAGON_M4_and_and(0, 0, 0);
1183   // CHECK: @llvm.hexagon.M4.and.andn
1184   __builtin_HEXAGON_M4_and_andn(0, 0, 0);
1185   // CHECK: @llvm.hexagon.M4.and.or
1186   __builtin_HEXAGON_M4_and_or(0, 0, 0);
1187   // CHECK: @llvm.hexagon.M4.and.xor
1188   __builtin_HEXAGON_M4_and_xor(0, 0, 0);
1189   // CHECK: @llvm.hexagon.M4.cmpyi.wh
1190   __builtin_HEXAGON_M4_cmpyi_wh(0, 0);
1191   // CHECK: @llvm.hexagon.M4.cmpyi.whc
1192   __builtin_HEXAGON_M4_cmpyi_whc(0, 0);
1193   // CHECK: @llvm.hexagon.M4.cmpyr.wh
1194   __builtin_HEXAGON_M4_cmpyr_wh(0, 0);
1195   // CHECK: @llvm.hexagon.M4.cmpyr.whc
1196   __builtin_HEXAGON_M4_cmpyr_whc(0, 0);
1197   // CHECK: @llvm.hexagon.M4.mac.up.s1.sat
1198   __builtin_HEXAGON_M4_mac_up_s1_sat(0, 0, 0);
1199   // CHECK: @llvm.hexagon.M4.mpyri.addi
1200   __builtin_HEXAGON_M4_mpyri_addi(0, 0, 0);
1201   // CHECK: @llvm.hexagon.M4.mpyri.addr
1202   __builtin_HEXAGON_M4_mpyri_addr(0, 0, 0);
1203   // CHECK: @llvm.hexagon.M4.mpyri.addr.u2
1204   __builtin_HEXAGON_M4_mpyri_addr_u2(0, 0, 0);
1205   // CHECK: @llvm.hexagon.M4.mpyrr.addi
1206   __builtin_HEXAGON_M4_mpyrr_addi(0, 0, 0);
1207   // CHECK: @llvm.hexagon.M4.mpyrr.addr
1208   __builtin_HEXAGON_M4_mpyrr_addr(0, 0, 0);
1209   // CHECK: @llvm.hexagon.M4.nac.up.s1.sat
1210   __builtin_HEXAGON_M4_nac_up_s1_sat(0, 0, 0);
1211   // CHECK: @llvm.hexagon.M4.or.and
1212   __builtin_HEXAGON_M4_or_and(0, 0, 0);
1213   // CHECK: @llvm.hexagon.M4.or.andn
1214   __builtin_HEXAGON_M4_or_andn(0, 0, 0);
1215   // CHECK: @llvm.hexagon.M4.or.or
1216   __builtin_HEXAGON_M4_or_or(0, 0, 0);
1217   // CHECK: @llvm.hexagon.M4.or.xor
1218   __builtin_HEXAGON_M4_or_xor(0, 0, 0);
1219   // CHECK: @llvm.hexagon.M4.pmpyw
1220   __builtin_HEXAGON_M4_pmpyw(0, 0);
1221   // CHECK: @llvm.hexagon.M4.pmpyw.acc
1222   __builtin_HEXAGON_M4_pmpyw_acc(0, 0, 0);
1223   // CHECK: @llvm.hexagon.M4.vpmpyh
1224   __builtin_HEXAGON_M4_vpmpyh(0, 0);
1225   // CHECK: @llvm.hexagon.M4.vpmpyh.acc
1226   __builtin_HEXAGON_M4_vpmpyh_acc(0, 0, 0);
1227   // CHECK: @llvm.hexagon.M4.vrmpyeh.acc.s0
1228   __builtin_HEXAGON_M4_vrmpyeh_acc_s0(0, 0, 0);
1229   // CHECK: @llvm.hexagon.M4.vrmpyeh.acc.s1
1230   __builtin_HEXAGON_M4_vrmpyeh_acc_s1(0, 0, 0);
1231   // CHECK: @llvm.hexagon.M4.vrmpyeh.s0
1232   __builtin_HEXAGON_M4_vrmpyeh_s0(0, 0);
1233   // CHECK: @llvm.hexagon.M4.vrmpyeh.s1
1234   __builtin_HEXAGON_M4_vrmpyeh_s1(0, 0);
1235   // CHECK: @llvm.hexagon.M4.vrmpyoh.acc.s0
1236   __builtin_HEXAGON_M4_vrmpyoh_acc_s0(0, 0, 0);
1237   // CHECK: @llvm.hexagon.M4.vrmpyoh.acc.s1
1238   __builtin_HEXAGON_M4_vrmpyoh_acc_s1(0, 0, 0);
1239   // CHECK: @llvm.hexagon.M4.vrmpyoh.s0
1240   __builtin_HEXAGON_M4_vrmpyoh_s0(0, 0);
1241   // CHECK: @llvm.hexagon.M4.vrmpyoh.s1
1242   __builtin_HEXAGON_M4_vrmpyoh_s1(0, 0);
1243   // CHECK: @llvm.hexagon.M4.xor.and
1244   __builtin_HEXAGON_M4_xor_and(0, 0, 0);
1245   // CHECK: @llvm.hexagon.M4.xor.andn
1246   __builtin_HEXAGON_M4_xor_andn(0, 0, 0);
1247   // CHECK: @llvm.hexagon.M4.xor.or
1248   __builtin_HEXAGON_M4_xor_or(0, 0, 0);
1249   // CHECK: @llvm.hexagon.M4.xor.xacc
1250   __builtin_HEXAGON_M4_xor_xacc(0, 0, 0);
1251   // CHECK: @llvm.hexagon.M5.vdmacbsu
1252   __builtin_HEXAGON_M5_vdmacbsu(0, 0, 0);
1253   // CHECK: @llvm.hexagon.M5.vdmpybsu
1254   __builtin_HEXAGON_M5_vdmpybsu(0, 0);
1255   // CHECK: @llvm.hexagon.M5.vmacbsu
1256   __builtin_HEXAGON_M5_vmacbsu(0, 0, 0);
1257   // CHECK: @llvm.hexagon.M5.vmacbuu
1258   __builtin_HEXAGON_M5_vmacbuu(0, 0, 0);
1259   // CHECK: @llvm.hexagon.M5.vmpybsu
1260   __builtin_HEXAGON_M5_vmpybsu(0, 0);
1261   // CHECK: @llvm.hexagon.M5.vmpybuu
1262   __builtin_HEXAGON_M5_vmpybuu(0, 0);
1263   // CHECK: @llvm.hexagon.M5.vrmacbsu
1264   __builtin_HEXAGON_M5_vrmacbsu(0, 0, 0);
1265   // CHECK: @llvm.hexagon.M5.vrmacbuu
1266   __builtin_HEXAGON_M5_vrmacbuu(0, 0, 0);
1267   // CHECK: @llvm.hexagon.M5.vrmpybsu
1268   __builtin_HEXAGON_M5_vrmpybsu(0, 0);
1269   // CHECK: @llvm.hexagon.M5.vrmpybuu
1270   __builtin_HEXAGON_M5_vrmpybuu(0, 0);
1271   // CHECK: @llvm.hexagon.M6.vabsdiffb
1272   __builtin_HEXAGON_M6_vabsdiffb(0, 0);
1273   // CHECK: @llvm.hexagon.M6.vabsdiffub
1274   __builtin_HEXAGON_M6_vabsdiffub(0, 0);
1275   // CHECK: @llvm.hexagon.S2.addasl.rrri
1276   __builtin_HEXAGON_S2_addasl_rrri(0, 0, 0);
1277   // CHECK: @llvm.hexagon.S2.asl.i.p
1278   __builtin_HEXAGON_S2_asl_i_p(0, 0);
1279   // CHECK: @llvm.hexagon.S2.asl.i.p.acc
1280   __builtin_HEXAGON_S2_asl_i_p_acc(0, 0, 0);
1281   // CHECK: @llvm.hexagon.S2.asl.i.p.and
1282   __builtin_HEXAGON_S2_asl_i_p_and(0, 0, 0);
1283   // CHECK: @llvm.hexagon.S2.asl.i.p.nac
1284   __builtin_HEXAGON_S2_asl_i_p_nac(0, 0, 0);
1285   // CHECK: @llvm.hexagon.S2.asl.i.p.or
1286   __builtin_HEXAGON_S2_asl_i_p_or(0, 0, 0);
1287   // CHECK: @llvm.hexagon.S2.asl.i.p.xacc
1288   __builtin_HEXAGON_S2_asl_i_p_xacc(0, 0, 0);
1289   // CHECK: @llvm.hexagon.S2.asl.i.r
1290   __builtin_HEXAGON_S2_asl_i_r(0, 0);
1291   // CHECK: @llvm.hexagon.S2.asl.i.r.acc
1292   __builtin_HEXAGON_S2_asl_i_r_acc(0, 0, 0);
1293   // CHECK: @llvm.hexagon.S2.asl.i.r.and
1294   __builtin_HEXAGON_S2_asl_i_r_and(0, 0, 0);
1295   // CHECK: @llvm.hexagon.S2.asl.i.r.nac
1296   __builtin_HEXAGON_S2_asl_i_r_nac(0, 0, 0);
1297   // CHECK: @llvm.hexagon.S2.asl.i.r.or
1298   __builtin_HEXAGON_S2_asl_i_r_or(0, 0, 0);
1299   // CHECK: @llvm.hexagon.S2.asl.i.r.sat
1300   __builtin_HEXAGON_S2_asl_i_r_sat(0, 0);
1301   // CHECK: @llvm.hexagon.S2.asl.i.r.xacc
1302   __builtin_HEXAGON_S2_asl_i_r_xacc(0, 0, 0);
1303   // CHECK: @llvm.hexagon.S2.asl.i.vh
1304   __builtin_HEXAGON_S2_asl_i_vh(0, 0);
1305   // CHECK: @llvm.hexagon.S2.asl.i.vw
1306   __builtin_HEXAGON_S2_asl_i_vw(0, 0);
1307   // CHECK: @llvm.hexagon.S2.asl.r.p
1308   __builtin_HEXAGON_S2_asl_r_p(0, 0);
1309   // CHECK: @llvm.hexagon.S2.asl.r.p.acc
1310   __builtin_HEXAGON_S2_asl_r_p_acc(0, 0, 0);
1311   // CHECK: @llvm.hexagon.S2.asl.r.p.and
1312   __builtin_HEXAGON_S2_asl_r_p_and(0, 0, 0);
1313   // CHECK: @llvm.hexagon.S2.asl.r.p.nac
1314   __builtin_HEXAGON_S2_asl_r_p_nac(0, 0, 0);
1315   // CHECK: @llvm.hexagon.S2.asl.r.p.or
1316   __builtin_HEXAGON_S2_asl_r_p_or(0, 0, 0);
1317   // CHECK: @llvm.hexagon.S2.asl.r.p.xor
1318   __builtin_HEXAGON_S2_asl_r_p_xor(0, 0, 0);
1319   // CHECK: @llvm.hexagon.S2.asl.r.r
1320   __builtin_HEXAGON_S2_asl_r_r(0, 0);
1321   // CHECK: @llvm.hexagon.S2.asl.r.r.acc
1322   __builtin_HEXAGON_S2_asl_r_r_acc(0, 0, 0);
1323   // CHECK: @llvm.hexagon.S2.asl.r.r.and
1324   __builtin_HEXAGON_S2_asl_r_r_and(0, 0, 0);
1325   // CHECK: @llvm.hexagon.S2.asl.r.r.nac
1326   __builtin_HEXAGON_S2_asl_r_r_nac(0, 0, 0);
1327   // CHECK: @llvm.hexagon.S2.asl.r.r.or
1328   __builtin_HEXAGON_S2_asl_r_r_or(0, 0, 0);
1329   // CHECK: @llvm.hexagon.S2.asl.r.r.sat
1330   __builtin_HEXAGON_S2_asl_r_r_sat(0, 0);
1331   // CHECK: @llvm.hexagon.S2.asl.r.vh
1332   __builtin_HEXAGON_S2_asl_r_vh(0, 0);
1333   // CHECK: @llvm.hexagon.S2.asl.r.vw
1334   __builtin_HEXAGON_S2_asl_r_vw(0, 0);
1335   // CHECK: @llvm.hexagon.S2.asr.i.p
1336   __builtin_HEXAGON_S2_asr_i_p(0, 0);
1337   // CHECK: @llvm.hexagon.S2.asr.i.p.acc
1338   __builtin_HEXAGON_S2_asr_i_p_acc(0, 0, 0);
1339   // CHECK: @llvm.hexagon.S2.asr.i.p.and
1340   __builtin_HEXAGON_S2_asr_i_p_and(0, 0, 0);
1341   // CHECK: @llvm.hexagon.S2.asr.i.p.nac
1342   __builtin_HEXAGON_S2_asr_i_p_nac(0, 0, 0);
1343   // CHECK: @llvm.hexagon.S2.asr.i.p.or
1344   __builtin_HEXAGON_S2_asr_i_p_or(0, 0, 0);
1345   // CHECK: @llvm.hexagon.S2.asr.i.p.rnd
1346   __builtin_HEXAGON_S2_asr_i_p_rnd(0, 0);
1347   // CHECK: @llvm.hexagon.S2.asr.i.p.rnd.goodsyntax
1348   __builtin_HEXAGON_S2_asr_i_p_rnd_goodsyntax(0, 0);
1349   // CHECK: @llvm.hexagon.S2.asr.i.r
1350   __builtin_HEXAGON_S2_asr_i_r(0, 0);
1351   // CHECK: @llvm.hexagon.S2.asr.i.r.acc
1352   __builtin_HEXAGON_S2_asr_i_r_acc(0, 0, 0);
1353   // CHECK: @llvm.hexagon.S2.asr.i.r.and
1354   __builtin_HEXAGON_S2_asr_i_r_and(0, 0, 0);
1355   // CHECK: @llvm.hexagon.S2.asr.i.r.nac
1356   __builtin_HEXAGON_S2_asr_i_r_nac(0, 0, 0);
1357   // CHECK: @llvm.hexagon.S2.asr.i.r.or
1358   __builtin_HEXAGON_S2_asr_i_r_or(0, 0, 0);
1359   // CHECK: @llvm.hexagon.S2.asr.i.r.rnd
1360   __builtin_HEXAGON_S2_asr_i_r_rnd(0, 0);
1361   // CHECK: @llvm.hexagon.S2.asr.i.r.rnd.goodsyntax
1362   __builtin_HEXAGON_S2_asr_i_r_rnd_goodsyntax(0, 0);
1363   // CHECK: @llvm.hexagon.S2.asr.i.svw.trun
1364   __builtin_HEXAGON_S2_asr_i_svw_trun(0, 0);
1365   // CHECK: @llvm.hexagon.S2.asr.i.vh
1366   __builtin_HEXAGON_S2_asr_i_vh(0, 0);
1367   // CHECK: @llvm.hexagon.S2.asr.i.vw
1368   __builtin_HEXAGON_S2_asr_i_vw(0, 0);
1369   // CHECK: @llvm.hexagon.S2.asr.r.p
1370   __builtin_HEXAGON_S2_asr_r_p(0, 0);
1371   // CHECK: @llvm.hexagon.S2.asr.r.p.acc
1372   __builtin_HEXAGON_S2_asr_r_p_acc(0, 0, 0);
1373   // CHECK: @llvm.hexagon.S2.asr.r.p.and
1374   __builtin_HEXAGON_S2_asr_r_p_and(0, 0, 0);
1375   // CHECK: @llvm.hexagon.S2.asr.r.p.nac
1376   __builtin_HEXAGON_S2_asr_r_p_nac(0, 0, 0);
1377   // CHECK: @llvm.hexagon.S2.asr.r.p.or
1378   __builtin_HEXAGON_S2_asr_r_p_or(0, 0, 0);
1379   // CHECK: @llvm.hexagon.S2.asr.r.p.xor
1380   __builtin_HEXAGON_S2_asr_r_p_xor(0, 0, 0);
1381   // CHECK: @llvm.hexagon.S2.asr.r.r
1382   __builtin_HEXAGON_S2_asr_r_r(0, 0);
1383   // CHECK: @llvm.hexagon.S2.asr.r.r.acc
1384   __builtin_HEXAGON_S2_asr_r_r_acc(0, 0, 0);
1385   // CHECK: @llvm.hexagon.S2.asr.r.r.and
1386   __builtin_HEXAGON_S2_asr_r_r_and(0, 0, 0);
1387   // CHECK: @llvm.hexagon.S2.asr.r.r.nac
1388   __builtin_HEXAGON_S2_asr_r_r_nac(0, 0, 0);
1389   // CHECK: @llvm.hexagon.S2.asr.r.r.or
1390   __builtin_HEXAGON_S2_asr_r_r_or(0, 0, 0);
1391   // CHECK: @llvm.hexagon.S2.asr.r.r.sat
1392   __builtin_HEXAGON_S2_asr_r_r_sat(0, 0);
1393   // CHECK: @llvm.hexagon.S2.asr.r.svw.trun
1394   __builtin_HEXAGON_S2_asr_r_svw_trun(0, 0);
1395   // CHECK: @llvm.hexagon.S2.asr.r.vh
1396   __builtin_HEXAGON_S2_asr_r_vh(0, 0);
1397   // CHECK: @llvm.hexagon.S2.asr.r.vw
1398   __builtin_HEXAGON_S2_asr_r_vw(0, 0);
1399   // CHECK: @llvm.hexagon.S2.brev
1400   __builtin_HEXAGON_S2_brev(0);
1401   // CHECK: @llvm.hexagon.S2.brevp
1402   __builtin_HEXAGON_S2_brevp(0);
1403   // CHECK: @llvm.hexagon.S2.cabacencbin
1404   __builtin_HEXAGON_S2_cabacencbin(0, 0, 0);
1405   // CHECK: @llvm.hexagon.S2.cl0
1406   __builtin_HEXAGON_S2_cl0(0);
1407   // CHECK: @llvm.hexagon.S2.cl0p
1408   __builtin_HEXAGON_S2_cl0p(0);
1409   // CHECK: @llvm.hexagon.S2.cl1
1410   __builtin_HEXAGON_S2_cl1(0);
1411   // CHECK: @llvm.hexagon.S2.cl1p
1412   __builtin_HEXAGON_S2_cl1p(0);
1413   // CHECK: @llvm.hexagon.S2.clb
1414   __builtin_HEXAGON_S2_clb(0);
1415   // CHECK: @llvm.hexagon.S2.clbnorm
1416   __builtin_HEXAGON_S2_clbnorm(0);
1417   // CHECK: @llvm.hexagon.S2.clbp
1418   __builtin_HEXAGON_S2_clbp(0);
1419   // CHECK: @llvm.hexagon.S2.clrbit.i
1420   __builtin_HEXAGON_S2_clrbit_i(0, 0);
1421   // CHECK: @llvm.hexagon.S2.clrbit.r
1422   __builtin_HEXAGON_S2_clrbit_r(0, 0);
1423   // CHECK: @llvm.hexagon.S2.ct0
1424   __builtin_HEXAGON_S2_ct0(0);
1425   // CHECK: @llvm.hexagon.S2.ct0p
1426   __builtin_HEXAGON_S2_ct0p(0);
1427   // CHECK: @llvm.hexagon.S2.ct1
1428   __builtin_HEXAGON_S2_ct1(0);
1429   // CHECK: @llvm.hexagon.S2.ct1p
1430   __builtin_HEXAGON_S2_ct1p(0);
1431   // CHECK: @llvm.hexagon.S2.deinterleave
1432   __builtin_HEXAGON_S2_deinterleave(0);
1433   // CHECK: @llvm.hexagon.S2.extractu
1434   __builtin_HEXAGON_S2_extractu(0, 0, 0);
1435   // CHECK: @llvm.hexagon.S2.extractu.rp
1436   __builtin_HEXAGON_S2_extractu_rp(0, 0);
1437   // CHECK: @llvm.hexagon.S2.extractup
1438   __builtin_HEXAGON_S2_extractup(0, 0, 0);
1439   // CHECK: @llvm.hexagon.S2.extractup.rp
1440   __builtin_HEXAGON_S2_extractup_rp(0, 0);
1441   // CHECK: @llvm.hexagon.S2.insert
1442   __builtin_HEXAGON_S2_insert(0, 0, 0, 0);
1443   // CHECK: @llvm.hexagon.S2.insert.rp
1444   __builtin_HEXAGON_S2_insert_rp(0, 0, 0);
1445   // CHECK: @llvm.hexagon.S2.insertp
1446   __builtin_HEXAGON_S2_insertp(0, 0, 0, 0);
1447   // CHECK: @llvm.hexagon.S2.insertp.rp
1448   __builtin_HEXAGON_S2_insertp_rp(0, 0, 0);
1449   // CHECK: @llvm.hexagon.S2.interleave
1450   __builtin_HEXAGON_S2_interleave(0);
1451   // CHECK: @llvm.hexagon.S2.lfsp
1452   __builtin_HEXAGON_S2_lfsp(0, 0);
1453   // CHECK: @llvm.hexagon.S2.lsl.r.p
1454   __builtin_HEXAGON_S2_lsl_r_p(0, 0);
1455   // CHECK: @llvm.hexagon.S2.lsl.r.p.acc
1456   __builtin_HEXAGON_S2_lsl_r_p_acc(0, 0, 0);
1457   // CHECK: @llvm.hexagon.S2.lsl.r.p.and
1458   __builtin_HEXAGON_S2_lsl_r_p_and(0, 0, 0);
1459   // CHECK: @llvm.hexagon.S2.lsl.r.p.nac
1460   __builtin_HEXAGON_S2_lsl_r_p_nac(0, 0, 0);
1461   // CHECK: @llvm.hexagon.S2.lsl.r.p.or
1462   __builtin_HEXAGON_S2_lsl_r_p_or(0, 0, 0);
1463   // CHECK: @llvm.hexagon.S2.lsl.r.p.xor
1464   __builtin_HEXAGON_S2_lsl_r_p_xor(0, 0, 0);
1465   // CHECK: @llvm.hexagon.S2.lsl.r.r
1466   __builtin_HEXAGON_S2_lsl_r_r(0, 0);
1467   // CHECK: @llvm.hexagon.S2.lsl.r.r.acc
1468   __builtin_HEXAGON_S2_lsl_r_r_acc(0, 0, 0);
1469   // CHECK: @llvm.hexagon.S2.lsl.r.r.and
1470   __builtin_HEXAGON_S2_lsl_r_r_and(0, 0, 0);
1471   // CHECK: @llvm.hexagon.S2.lsl.r.r.nac
1472   __builtin_HEXAGON_S2_lsl_r_r_nac(0, 0, 0);
1473   // CHECK: @llvm.hexagon.S2.lsl.r.r.or
1474   __builtin_HEXAGON_S2_lsl_r_r_or(0, 0, 0);
1475   // CHECK: @llvm.hexagon.S2.lsl.r.vh
1476   __builtin_HEXAGON_S2_lsl_r_vh(0, 0);
1477   // CHECK: @llvm.hexagon.S2.lsl.r.vw
1478   __builtin_HEXAGON_S2_lsl_r_vw(0, 0);
1479   // CHECK: @llvm.hexagon.S2.lsr.i.p
1480   __builtin_HEXAGON_S2_lsr_i_p(0, 0);
1481   // CHECK: @llvm.hexagon.S2.lsr.i.p.acc
1482   __builtin_HEXAGON_S2_lsr_i_p_acc(0, 0, 0);
1483   // CHECK: @llvm.hexagon.S2.lsr.i.p.and
1484   __builtin_HEXAGON_S2_lsr_i_p_and(0, 0, 0);
1485   // CHECK: @llvm.hexagon.S2.lsr.i.p.nac
1486   __builtin_HEXAGON_S2_lsr_i_p_nac(0, 0, 0);
1487   // CHECK: @llvm.hexagon.S2.lsr.i.p.or
1488   __builtin_HEXAGON_S2_lsr_i_p_or(0, 0, 0);
1489   // CHECK: @llvm.hexagon.S2.lsr.i.p.xacc
1490   __builtin_HEXAGON_S2_lsr_i_p_xacc(0, 0, 0);
1491   // CHECK: @llvm.hexagon.S2.lsr.i.r
1492   __builtin_HEXAGON_S2_lsr_i_r(0, 0);
1493   // CHECK: @llvm.hexagon.S2.lsr.i.r.acc
1494   __builtin_HEXAGON_S2_lsr_i_r_acc(0, 0, 0);
1495   // CHECK: @llvm.hexagon.S2.lsr.i.r.and
1496   __builtin_HEXAGON_S2_lsr_i_r_and(0, 0, 0);
1497   // CHECK: @llvm.hexagon.S2.lsr.i.r.nac
1498   __builtin_HEXAGON_S2_lsr_i_r_nac(0, 0, 0);
1499   // CHECK: @llvm.hexagon.S2.lsr.i.r.or
1500   __builtin_HEXAGON_S2_lsr_i_r_or(0, 0, 0);
1501   // CHECK: @llvm.hexagon.S2.lsr.i.r.xacc
1502   __builtin_HEXAGON_S2_lsr_i_r_xacc(0, 0, 0);
1503   // CHECK: @llvm.hexagon.S2.lsr.i.vh
1504   __builtin_HEXAGON_S2_lsr_i_vh(0, 0);
1505   // CHECK: @llvm.hexagon.S2.lsr.i.vw
1506   __builtin_HEXAGON_S2_lsr_i_vw(0, 0);
1507   // CHECK: @llvm.hexagon.S2.lsr.r.p
1508   __builtin_HEXAGON_S2_lsr_r_p(0, 0);
1509   // CHECK: @llvm.hexagon.S2.lsr.r.p.acc
1510   __builtin_HEXAGON_S2_lsr_r_p_acc(0, 0, 0);
1511   // CHECK: @llvm.hexagon.S2.lsr.r.p.and
1512   __builtin_HEXAGON_S2_lsr_r_p_and(0, 0, 0);
1513   // CHECK: @llvm.hexagon.S2.lsr.r.p.nac
1514   __builtin_HEXAGON_S2_lsr_r_p_nac(0, 0, 0);
1515   // CHECK: @llvm.hexagon.S2.lsr.r.p.or
1516   __builtin_HEXAGON_S2_lsr_r_p_or(0, 0, 0);
1517   // CHECK: @llvm.hexagon.S2.lsr.r.p.xor
1518   __builtin_HEXAGON_S2_lsr_r_p_xor(0, 0, 0);
1519   // CHECK: @llvm.hexagon.S2.lsr.r.r
1520   __builtin_HEXAGON_S2_lsr_r_r(0, 0);
1521   // CHECK: @llvm.hexagon.S2.lsr.r.r.acc
1522   __builtin_HEXAGON_S2_lsr_r_r_acc(0, 0, 0);
1523   // CHECK: @llvm.hexagon.S2.lsr.r.r.and
1524   __builtin_HEXAGON_S2_lsr_r_r_and(0, 0, 0);
1525   // CHECK: @llvm.hexagon.S2.lsr.r.r.nac
1526   __builtin_HEXAGON_S2_lsr_r_r_nac(0, 0, 0);
1527   // CHECK: @llvm.hexagon.S2.lsr.r.r.or
1528   __builtin_HEXAGON_S2_lsr_r_r_or(0, 0, 0);
1529   // CHECK: @llvm.hexagon.S2.lsr.r.vh
1530   __builtin_HEXAGON_S2_lsr_r_vh(0, 0);
1531   // CHECK: @llvm.hexagon.S2.lsr.r.vw
1532   __builtin_HEXAGON_S2_lsr_r_vw(0, 0);
1533   // CHECK: @llvm.hexagon.S2.packhl
1534   __builtin_HEXAGON_S2_packhl(0, 0);
1535   // CHECK: @llvm.hexagon.S2.parityp
1536   __builtin_HEXAGON_S2_parityp(0, 0);
1537   // CHECK: @llvm.hexagon.S2.setbit.i
1538   __builtin_HEXAGON_S2_setbit_i(0, 0);
1539   // CHECK: @llvm.hexagon.S2.setbit.r
1540   __builtin_HEXAGON_S2_setbit_r(0, 0);
1541   // CHECK: @llvm.hexagon.S2.shuffeb
1542   __builtin_HEXAGON_S2_shuffeb(0, 0);
1543   // CHECK: @llvm.hexagon.S2.shuffeh
1544   __builtin_HEXAGON_S2_shuffeh(0, 0);
1545   // CHECK: @llvm.hexagon.S2.shuffob
1546   __builtin_HEXAGON_S2_shuffob(0, 0);
1547   // CHECK: @llvm.hexagon.S2.shuffoh
1548   __builtin_HEXAGON_S2_shuffoh(0, 0);
1549   // CHECK: @llvm.hexagon.S2.svsathb
1550   __builtin_HEXAGON_S2_svsathb(0);
1551   // CHECK: @llvm.hexagon.S2.svsathub
1552   __builtin_HEXAGON_S2_svsathub(0);
1553   // CHECK: @llvm.hexagon.S2.tableidxb.goodsyntax
1554   __builtin_HEXAGON_S2_tableidxb_goodsyntax(0, 0, 0, 0);
1555   // CHECK: @llvm.hexagon.S2.tableidxd.goodsyntax
1556   __builtin_HEXAGON_S2_tableidxd_goodsyntax(0, 0, 0, 0);
1557   // CHECK: @llvm.hexagon.S2.tableidxh.goodsyntax
1558   __builtin_HEXAGON_S2_tableidxh_goodsyntax(0, 0, 0, 0);
1559   // CHECK: @llvm.hexagon.S2.tableidxw.goodsyntax
1560   __builtin_HEXAGON_S2_tableidxw_goodsyntax(0, 0, 0, 0);
1561   // CHECK: @llvm.hexagon.S2.togglebit.i
1562   __builtin_HEXAGON_S2_togglebit_i(0, 0);
1563   // CHECK: @llvm.hexagon.S2.togglebit.r
1564   __builtin_HEXAGON_S2_togglebit_r(0, 0);
1565   // CHECK: @llvm.hexagon.S2.tstbit.i
1566   __builtin_HEXAGON_S2_tstbit_i(0, 0);
1567   // CHECK: @llvm.hexagon.S2.tstbit.r
1568   __builtin_HEXAGON_S2_tstbit_r(0, 0);
1569   // CHECK: @llvm.hexagon.S2.valignib
1570   __builtin_HEXAGON_S2_valignib(0, 0, 0);
1571   // CHECK: @llvm.hexagon.S2.valignrb
1572   __builtin_HEXAGON_S2_valignrb(0, 0, 0);
1573   // CHECK: @llvm.hexagon.S2.vcnegh
1574   __builtin_HEXAGON_S2_vcnegh(0, 0);
1575   // CHECK: @llvm.hexagon.S2.vcrotate
1576   __builtin_HEXAGON_S2_vcrotate(0, 0);
1577   // CHECK: @llvm.hexagon.S2.vrcnegh
1578   __builtin_HEXAGON_S2_vrcnegh(0, 0, 0);
1579   // CHECK: @llvm.hexagon.S2.vrndpackwh
1580   __builtin_HEXAGON_S2_vrndpackwh(0);
1581   // CHECK: @llvm.hexagon.S2.vrndpackwhs
1582   __builtin_HEXAGON_S2_vrndpackwhs(0);
1583   // CHECK: @llvm.hexagon.S2.vsathb
1584   __builtin_HEXAGON_S2_vsathb(0);
1585   // CHECK: @llvm.hexagon.S2.vsathb.nopack
1586   __builtin_HEXAGON_S2_vsathb_nopack(0);
1587   // CHECK: @llvm.hexagon.S2.vsathub
1588   __builtin_HEXAGON_S2_vsathub(0);
1589   // CHECK: @llvm.hexagon.S2.vsathub.nopack
1590   __builtin_HEXAGON_S2_vsathub_nopack(0);
1591   // CHECK: @llvm.hexagon.S2.vsatwh
1592   __builtin_HEXAGON_S2_vsatwh(0);
1593   // CHECK: @llvm.hexagon.S2.vsatwh.nopack
1594   __builtin_HEXAGON_S2_vsatwh_nopack(0);
1595   // CHECK: @llvm.hexagon.S2.vsatwuh
1596   __builtin_HEXAGON_S2_vsatwuh(0);
1597   // CHECK: @llvm.hexagon.S2.vsatwuh.nopack
1598   __builtin_HEXAGON_S2_vsatwuh_nopack(0);
1599   // CHECK: @llvm.hexagon.S2.vsplatrb
1600   __builtin_HEXAGON_S2_vsplatrb(0);
1601   // CHECK: @llvm.hexagon.S2.vsplatrh
1602   __builtin_HEXAGON_S2_vsplatrh(0);
1603   // CHECK: @llvm.hexagon.S2.vspliceib
1604   __builtin_HEXAGON_S2_vspliceib(0, 0, 0);
1605   // CHECK: @llvm.hexagon.S2.vsplicerb
1606   __builtin_HEXAGON_S2_vsplicerb(0, 0, 0);
1607   // CHECK: @llvm.hexagon.S2.vsxtbh
1608   __builtin_HEXAGON_S2_vsxtbh(0);
1609   // CHECK: @llvm.hexagon.S2.vsxthw
1610   __builtin_HEXAGON_S2_vsxthw(0);
1611   // CHECK: @llvm.hexagon.S2.vtrunehb
1612   __builtin_HEXAGON_S2_vtrunehb(0);
1613   // CHECK: @llvm.hexagon.S2.vtrunewh
1614   __builtin_HEXAGON_S2_vtrunewh(0, 0);
1615   // CHECK: @llvm.hexagon.S2.vtrunohb
1616   __builtin_HEXAGON_S2_vtrunohb(0);
1617   // CHECK: @llvm.hexagon.S2.vtrunowh
1618   __builtin_HEXAGON_S2_vtrunowh(0, 0);
1619   // CHECK: @llvm.hexagon.S2.vzxtbh
1620   __builtin_HEXAGON_S2_vzxtbh(0);
1621   // CHECK: @llvm.hexagon.S2.vzxthw
1622   __builtin_HEXAGON_S2_vzxthw(0);
1623   // CHECK: @llvm.hexagon.S4.addaddi
1624   __builtin_HEXAGON_S4_addaddi(0, 0, 0);
1625   // CHECK: @llvm.hexagon.S4.addi.asl.ri
1626   __builtin_HEXAGON_S4_addi_asl_ri(0, 0, 0);
1627   // CHECK: @llvm.hexagon.S4.addi.lsr.ri
1628   __builtin_HEXAGON_S4_addi_lsr_ri(0, 0, 0);
1629   // CHECK: @llvm.hexagon.S4.andi.asl.ri
1630   __builtin_HEXAGON_S4_andi_asl_ri(0, 0, 0);
1631   // CHECK: @llvm.hexagon.S4.andi.lsr.ri
1632   __builtin_HEXAGON_S4_andi_lsr_ri(0, 0, 0);
1633   // CHECK: @llvm.hexagon.S4.clbaddi
1634   __builtin_HEXAGON_S4_clbaddi(0, 0);
1635   // CHECK: @llvm.hexagon.S4.clbpaddi
1636   __builtin_HEXAGON_S4_clbpaddi(0, 0);
1637   // CHECK: @llvm.hexagon.S4.clbpnorm
1638   __builtin_HEXAGON_S4_clbpnorm(0);
1639   // CHECK: @llvm.hexagon.S4.extract
1640   __builtin_HEXAGON_S4_extract(0, 0, 0);
1641   // CHECK: @llvm.hexagon.S4.extract.rp
1642   __builtin_HEXAGON_S4_extract_rp(0, 0);
1643   // CHECK: @llvm.hexagon.S4.extractp
1644   __builtin_HEXAGON_S4_extractp(0, 0, 0);
1645   // CHECK: @llvm.hexagon.S4.extractp.rp
1646   __builtin_HEXAGON_S4_extractp_rp(0, 0);
1647   // CHECK: @llvm.hexagon.S4.lsli
1648   __builtin_HEXAGON_S4_lsli(0, 0);
1649   // CHECK: @llvm.hexagon.S4.ntstbit.i
1650   __builtin_HEXAGON_S4_ntstbit_i(0, 0);
1651   // CHECK: @llvm.hexagon.S4.ntstbit.r
1652   __builtin_HEXAGON_S4_ntstbit_r(0, 0);
1653   // CHECK: @llvm.hexagon.S4.or.andi
1654   __builtin_HEXAGON_S4_or_andi(0, 0, 0);
1655   // CHECK: @llvm.hexagon.S4.or.andix
1656   __builtin_HEXAGON_S4_or_andix(0, 0, 0);
1657   // CHECK: @llvm.hexagon.S4.or.ori
1658   __builtin_HEXAGON_S4_or_ori(0, 0, 0);
1659   // CHECK: @llvm.hexagon.S4.ori.asl.ri
1660   __builtin_HEXAGON_S4_ori_asl_ri(0, 0, 0);
1661   // CHECK: @llvm.hexagon.S4.ori.lsr.ri
1662   __builtin_HEXAGON_S4_ori_lsr_ri(0, 0, 0);
1663   // CHECK: @llvm.hexagon.S4.parity
1664   __builtin_HEXAGON_S4_parity(0, 0);
1665   // CHECK: @llvm.hexagon.S4.subaddi
1666   __builtin_HEXAGON_S4_subaddi(0, 0, 0);
1667   // CHECK: @llvm.hexagon.S4.subi.asl.ri
1668   __builtin_HEXAGON_S4_subi_asl_ri(0, 0, 0);
1669   // CHECK: @llvm.hexagon.S4.subi.lsr.ri
1670   __builtin_HEXAGON_S4_subi_lsr_ri(0, 0, 0);
1671   // CHECK: @llvm.hexagon.S4.vrcrotate
1672   __builtin_HEXAGON_S4_vrcrotate(0, 0, 0);
1673   // CHECK: @llvm.hexagon.S4.vrcrotate.acc
1674   __builtin_HEXAGON_S4_vrcrotate_acc(0, 0, 0, 0);
1675   // CHECK: @llvm.hexagon.S4.vxaddsubh
1676   __builtin_HEXAGON_S4_vxaddsubh(0, 0);
1677   // CHECK: @llvm.hexagon.S4.vxaddsubhr
1678   __builtin_HEXAGON_S4_vxaddsubhr(0, 0);
1679   // CHECK: @llvm.hexagon.S4.vxaddsubw
1680   __builtin_HEXAGON_S4_vxaddsubw(0, 0);
1681   // CHECK: @llvm.hexagon.S4.vxsubaddh
1682   __builtin_HEXAGON_S4_vxsubaddh(0, 0);
1683   // CHECK: @llvm.hexagon.S4.vxsubaddhr
1684   __builtin_HEXAGON_S4_vxsubaddhr(0, 0);
1685   // CHECK: @llvm.hexagon.S4.vxsubaddw
1686   __builtin_HEXAGON_S4_vxsubaddw(0, 0);
1687   // CHECK: @llvm.hexagon.S5.asrhub.rnd.sat.goodsyntax
1688   __builtin_HEXAGON_S5_asrhub_rnd_sat_goodsyntax(0, 0);
1689   // CHECK: @llvm.hexagon.S5.asrhub.sat
1690   __builtin_HEXAGON_S5_asrhub_sat(0, 0);
1691   // CHECK: @llvm.hexagon.S5.popcountp
1692   __builtin_HEXAGON_S5_popcountp(0);
1693   // CHECK: @llvm.hexagon.S5.vasrhrnd.goodsyntax
1694   __builtin_HEXAGON_S5_vasrhrnd_goodsyntax(0, 0);
1695   // CHECK: @llvm.hexagon.S6.rol.i.p
1696   __builtin_HEXAGON_S6_rol_i_p(0, 0);
1697   // CHECK: @llvm.hexagon.S6.rol.i.p.acc
1698   __builtin_HEXAGON_S6_rol_i_p_acc(0, 0, 0);
1699   // CHECK: @llvm.hexagon.S6.rol.i.p.and
1700   __builtin_HEXAGON_S6_rol_i_p_and(0, 0, 0);
1701   // CHECK: @llvm.hexagon.S6.rol.i.p.nac
1702   __builtin_HEXAGON_S6_rol_i_p_nac(0, 0, 0);
1703   // CHECK: @llvm.hexagon.S6.rol.i.p.or
1704   __builtin_HEXAGON_S6_rol_i_p_or(0, 0, 0);
1705   // CHECK: @llvm.hexagon.S6.rol.i.p.xacc
1706   __builtin_HEXAGON_S6_rol_i_p_xacc(0, 0, 0);
1707   // CHECK: @llvm.hexagon.S6.rol.i.r
1708   __builtin_HEXAGON_S6_rol_i_r(0, 0);
1709   // CHECK: @llvm.hexagon.S6.rol.i.r.acc
1710   __builtin_HEXAGON_S6_rol_i_r_acc(0, 0, 0);
1711   // CHECK: @llvm.hexagon.S6.rol.i.r.and
1712   __builtin_HEXAGON_S6_rol_i_r_and(0, 0, 0);
1713   // CHECK: @llvm.hexagon.S6.rol.i.r.nac
1714   __builtin_HEXAGON_S6_rol_i_r_nac(0, 0, 0);
1715   // CHECK: @llvm.hexagon.S6.rol.i.r.or
1716   __builtin_HEXAGON_S6_rol_i_r_or(0, 0, 0);
1717   // CHECK: @llvm.hexagon.S6.rol.i.r.xacc
1718   __builtin_HEXAGON_S6_rol_i_r_xacc(0, 0, 0);
1719   // CHECK: @llvm.hexagon.S6.vsplatrbp
1720   __builtin_HEXAGON_S6_vsplatrbp(0);
1721   // CHECK: @llvm.hexagon.S6.vtrunehb.ppp
1722   __builtin_HEXAGON_S6_vtrunehb_ppp(0, 0);
1723   // CHECK: @llvm.hexagon.S6.vtrunohb.ppp
1724   __builtin_HEXAGON_S6_vtrunohb_ppp(0, 0);
1725   // CHECK: @llvm.hexagon.V6.extractw
1726   __builtin_HEXAGON_V6_extractw(v64, 0);
1727   // CHECK: @llvm.hexagon.V6.extractw.128B
1728   __builtin_HEXAGON_V6_extractw_128B(v128, 0);
1729   // CHECK: @llvm.hexagon.V6.hi
1730   __builtin_HEXAGON_V6_hi(v128);
1731   // CHECK: @llvm.hexagon.V6.hi.128B
1732   __builtin_HEXAGON_V6_hi_128B(v256);
1733   // CHECK: @llvm.hexagon.V6.lo
1734   __builtin_HEXAGON_V6_lo(v128);
1735   // CHECK: @llvm.hexagon.V6.lo.128B
1736   __builtin_HEXAGON_V6_lo_128B(v256);
1737   // CHECK: @llvm.hexagon.V6.lvsplatb
1738   __builtin_HEXAGON_V6_lvsplatb(0);
1739   // CHECK: @llvm.hexagon.V6.lvsplatb.128B
1740   __builtin_HEXAGON_V6_lvsplatb_128B(0);
1741   // CHECK: @llvm.hexagon.V6.lvsplath
1742   __builtin_HEXAGON_V6_lvsplath(0);
1743   // CHECK: @llvm.hexagon.V6.lvsplath.128B
1744   __builtin_HEXAGON_V6_lvsplath_128B(0);
1745   // CHECK: @llvm.hexagon.V6.lvsplatw
1746   __builtin_HEXAGON_V6_lvsplatw(0);
1747   // CHECK: @llvm.hexagon.V6.lvsplatw.128B
1748   __builtin_HEXAGON_V6_lvsplatw_128B(0);
1749   // CHECK: @llvm.hexagon.V6.pred.and
1750   __builtin_HEXAGON_V6_pred_and(v64, v64);
1751   // CHECK: @llvm.hexagon.V6.pred.and.128B
1752   __builtin_HEXAGON_V6_pred_and_128B(v128, v128);
1753   // CHECK: @llvm.hexagon.V6.pred.and.n
1754   __builtin_HEXAGON_V6_pred_and_n(v64, v64);
1755   // CHECK: @llvm.hexagon.V6.pred.and.n.128B
1756   __builtin_HEXAGON_V6_pred_and_n_128B(v128, v128);
1757   // CHECK: @llvm.hexagon.V6.pred.not
1758   __builtin_HEXAGON_V6_pred_not(v64);
1759   // CHECK: @llvm.hexagon.V6.pred.not.128B
1760   __builtin_HEXAGON_V6_pred_not_128B(v128);
1761   // CHECK: @llvm.hexagon.V6.pred.or
1762   __builtin_HEXAGON_V6_pred_or(v64, v64);
1763   // CHECK: @llvm.hexagon.V6.pred.or.128B
1764   __builtin_HEXAGON_V6_pred_or_128B(v128, v128);
1765   // CHECK: @llvm.hexagon.V6.pred.or.n
1766   __builtin_HEXAGON_V6_pred_or_n(v64, v64);
1767   // CHECK: @llvm.hexagon.V6.pred.or.n.128B
1768   __builtin_HEXAGON_V6_pred_or_n_128B(v128, v128);
1769   // CHECK: @llvm.hexagon.V6.pred.scalar2
1770   __builtin_HEXAGON_V6_pred_scalar2(0);
1771   // CHECK: @llvm.hexagon.V6.pred.scalar2.128B
1772   __builtin_HEXAGON_V6_pred_scalar2_128B(0);
1773   // CHECK: @llvm.hexagon.V6.pred.scalar2v2
1774   __builtin_HEXAGON_V6_pred_scalar2v2(0);
1775   // CHECK: @llvm.hexagon.V6.pred.scalar2v2.128B
1776   __builtin_HEXAGON_V6_pred_scalar2v2_128B(0);
1777   // CHECK: @llvm.hexagon.V6.pred.xor
1778   __builtin_HEXAGON_V6_pred_xor(v64, v64);
1779   // CHECK: @llvm.hexagon.V6.pred.xor.128B
1780   __builtin_HEXAGON_V6_pred_xor_128B(v128, v128);
1781   // CHECK: @llvm.hexagon.V6.shuffeqh
1782   __builtin_HEXAGON_V6_shuffeqh(v64, v64);
1783   // CHECK: @llvm.hexagon.V6.shuffeqh.128B
1784   __builtin_HEXAGON_V6_shuffeqh_128B(v128, v128);
1785   // CHECK: @llvm.hexagon.V6.shuffeqw
1786   __builtin_HEXAGON_V6_shuffeqw(v64, v64);
1787   // CHECK: @llvm.hexagon.V6.shuffeqw.128B
1788   __builtin_HEXAGON_V6_shuffeqw_128B(v128, v128);
1789   // CHECK: @llvm.hexagon.V6.vS32b.nqpred.ai
1790   __builtin_HEXAGON_V6_vS32b_nqpred_ai(v64, 0, v64);
1791   // CHECK: @llvm.hexagon.V6.vS32b.nqpred.ai.128B
1792   __builtin_HEXAGON_V6_vS32b_nqpred_ai_128B(v128, 0, v128);
1793   // CHECK: @llvm.hexagon.V6.vS32b.nt.nqpred.ai
1794   __builtin_HEXAGON_V6_vS32b_nt_nqpred_ai(v64, 0, v64);
1795   // CHECK: @llvm.hexagon.V6.vS32b.nt.nqpred.ai.128B
1796   __builtin_HEXAGON_V6_vS32b_nt_nqpred_ai_128B(v128, 0, v128);
1797   // CHECK: @llvm.hexagon.V6.vS32b.nt.qpred.ai
1798   __builtin_HEXAGON_V6_vS32b_nt_qpred_ai(v64, 0, v64);
1799   // CHECK: @llvm.hexagon.V6.vS32b.nt.qpred.ai.128B
1800   __builtin_HEXAGON_V6_vS32b_nt_qpred_ai_128B(v128, 0, v128);
1801   // CHECK: @llvm.hexagon.V6.vS32b.qpred.ai
1802   __builtin_HEXAGON_V6_vS32b_qpred_ai(v64, 0, v64);
1803   // CHECK: @llvm.hexagon.V6.vS32b.qpred.ai.128B
1804   __builtin_HEXAGON_V6_vS32b_qpred_ai_128B(v128, 0, v128);
1805   // CHECK: @llvm.hexagon.V6.vabsb
1806   __builtin_HEXAGON_V6_vabsb(v64);
1807   // CHECK: @llvm.hexagon.V6.vabsb.128B
1808   __builtin_HEXAGON_V6_vabsb_128B(v128);
1809   // CHECK: @llvm.hexagon.V6.vabsb.sat
1810   __builtin_HEXAGON_V6_vabsb_sat(v64);
1811   // CHECK: @llvm.hexagon.V6.vabsb.sat.128B
1812   __builtin_HEXAGON_V6_vabsb_sat_128B(v128);
1813   // CHECK: @llvm.hexagon.V6.vabsdiffh
1814   __builtin_HEXAGON_V6_vabsdiffh(v64, v64);
1815   // CHECK: @llvm.hexagon.V6.vabsdiffh.128B
1816   __builtin_HEXAGON_V6_vabsdiffh_128B(v128, v128);
1817   // CHECK: @llvm.hexagon.V6.vabsdiffub
1818   __builtin_HEXAGON_V6_vabsdiffub(v64, v64);
1819   // CHECK: @llvm.hexagon.V6.vabsdiffub.128B
1820   __builtin_HEXAGON_V6_vabsdiffub_128B(v128, v128);
1821   // CHECK: @llvm.hexagon.V6.vabsdiffuh
1822   __builtin_HEXAGON_V6_vabsdiffuh(v64, v64);
1823   // CHECK: @llvm.hexagon.V6.vabsdiffuh.128B
1824   __builtin_HEXAGON_V6_vabsdiffuh_128B(v128, v128);
1825   // CHECK: @llvm.hexagon.V6.vabsdiffw
1826   __builtin_HEXAGON_V6_vabsdiffw(v64, v64);
1827   // CHECK: @llvm.hexagon.V6.vabsdiffw.128B
1828   __builtin_HEXAGON_V6_vabsdiffw_128B(v128, v128);
1829   // CHECK: @llvm.hexagon.V6.vabsh
1830   __builtin_HEXAGON_V6_vabsh(v64);
1831   // CHECK: @llvm.hexagon.V6.vabsh.128B
1832   __builtin_HEXAGON_V6_vabsh_128B(v128);
1833   // CHECK: @llvm.hexagon.V6.vabsh.sat
1834   __builtin_HEXAGON_V6_vabsh_sat(v64);
1835   // CHECK: @llvm.hexagon.V6.vabsh.sat.128B
1836   __builtin_HEXAGON_V6_vabsh_sat_128B(v128);
1837   // CHECK: @llvm.hexagon.V6.vabsw
1838   __builtin_HEXAGON_V6_vabsw(v64);
1839   // CHECK: @llvm.hexagon.V6.vabsw.128B
1840   __builtin_HEXAGON_V6_vabsw_128B(v128);
1841   // CHECK: @llvm.hexagon.V6.vabsw.sat
1842   __builtin_HEXAGON_V6_vabsw_sat(v64);
1843   // CHECK: @llvm.hexagon.V6.vabsw.sat.128B
1844   __builtin_HEXAGON_V6_vabsw_sat_128B(v128);
1845   // CHECK: @llvm.hexagon.V6.vaddb
1846   __builtin_HEXAGON_V6_vaddb(v64, v64);
1847   // CHECK: @llvm.hexagon.V6.vaddb.128B
1848   __builtin_HEXAGON_V6_vaddb_128B(v128, v128);
1849   // CHECK: @llvm.hexagon.V6.vaddb.dv
1850   __builtin_HEXAGON_V6_vaddb_dv(v128, v128);
1851   // CHECK: @llvm.hexagon.V6.vaddb.dv.128B
1852   __builtin_HEXAGON_V6_vaddb_dv_128B(v256, v256);
1853   // CHECK: @llvm.hexagon.V6.vaddbnq
1854   __builtin_HEXAGON_V6_vaddbnq(v64, v64, v64);
1855   // CHECK: @llvm.hexagon.V6.vaddbnq.128B
1856   __builtin_HEXAGON_V6_vaddbnq_128B(v128, v128, v128);
1857   // CHECK: @llvm.hexagon.V6.vaddbq
1858   __builtin_HEXAGON_V6_vaddbq(v64, v64, v64);
1859   // CHECK: @llvm.hexagon.V6.vaddbq.128B
1860   __builtin_HEXAGON_V6_vaddbq_128B(v128, v128, v128);
1861   // CHECK: @llvm.hexagon.V6.vaddbsat
1862   __builtin_HEXAGON_V6_vaddbsat(v64, v64);
1863   // CHECK: @llvm.hexagon.V6.vaddbsat.128B
1864   __builtin_HEXAGON_V6_vaddbsat_128B(v128, v128);
1865   // CHECK: @llvm.hexagon.V6.vaddbsat.dv
1866   __builtin_HEXAGON_V6_vaddbsat_dv(v128, v128);
1867   // CHECK: @llvm.hexagon.V6.vaddbsat.dv.128B
1868   __builtin_HEXAGON_V6_vaddbsat_dv_128B(v256, v256);
1869   // CHECK: @llvm.hexagon.V6.vaddcarry
1870   __builtin_HEXAGON_V6_vaddcarry(v64, v64, 0);
1871   // CHECK: @llvm.hexagon.V6.vaddcarry.128B
1872   __builtin_HEXAGON_V6_vaddcarry_128B(v128, v128, 0);
1873   // CHECK: @llvm.hexagon.V6.vaddclbh
1874   __builtin_HEXAGON_V6_vaddclbh(v64, v64);
1875   // CHECK: @llvm.hexagon.V6.vaddclbh.128B
1876   __builtin_HEXAGON_V6_vaddclbh_128B(v128, v128);
1877   // CHECK: @llvm.hexagon.V6.vaddclbw
1878   __builtin_HEXAGON_V6_vaddclbw(v64, v64);
1879   // CHECK: @llvm.hexagon.V6.vaddclbw.128B
1880   __builtin_HEXAGON_V6_vaddclbw_128B(v128, v128);
1881   // CHECK: @llvm.hexagon.V6.vaddh
1882   __builtin_HEXAGON_V6_vaddh(v64, v64);
1883   // CHECK: @llvm.hexagon.V6.vaddh.128B
1884   __builtin_HEXAGON_V6_vaddh_128B(v128, v128);
1885   // CHECK: @llvm.hexagon.V6.vaddh.dv
1886   __builtin_HEXAGON_V6_vaddh_dv(v128, v128);
1887   // CHECK: @llvm.hexagon.V6.vaddh.dv.128B
1888   __builtin_HEXAGON_V6_vaddh_dv_128B(v256, v256);
1889   // CHECK: @llvm.hexagon.V6.vaddhnq
1890   __builtin_HEXAGON_V6_vaddhnq(v64, v64, v64);
1891   // CHECK: @llvm.hexagon.V6.vaddhnq.128B
1892   __builtin_HEXAGON_V6_vaddhnq_128B(v128, v128, v128);
1893   // CHECK: @llvm.hexagon.V6.vaddhq
1894   __builtin_HEXAGON_V6_vaddhq(v64, v64, v64);
1895   // CHECK: @llvm.hexagon.V6.vaddhq.128B
1896   __builtin_HEXAGON_V6_vaddhq_128B(v128, v128, v128);
1897   // CHECK: @llvm.hexagon.V6.vaddhsat
1898   __builtin_HEXAGON_V6_vaddhsat(v64, v64);
1899   // CHECK: @llvm.hexagon.V6.vaddhsat.128B
1900   __builtin_HEXAGON_V6_vaddhsat_128B(v128, v128);
1901   // CHECK: @llvm.hexagon.V6.vaddhsat.dv
1902   __builtin_HEXAGON_V6_vaddhsat_dv(v128, v128);
1903   // CHECK: @llvm.hexagon.V6.vaddhsat.dv.128B
1904   __builtin_HEXAGON_V6_vaddhsat_dv_128B(v256, v256);
1905   // CHECK: @llvm.hexagon.V6.vaddhw
1906   __builtin_HEXAGON_V6_vaddhw(v64, v64);
1907   // CHECK: @llvm.hexagon.V6.vaddhw.128B
1908   __builtin_HEXAGON_V6_vaddhw_128B(v128, v128);
1909   // CHECK: @llvm.hexagon.V6.vaddhw.acc
1910   __builtin_HEXAGON_V6_vaddhw_acc(v128, v64, v64);
1911   // CHECK: @llvm.hexagon.V6.vaddhw.acc.128B
1912   __builtin_HEXAGON_V6_vaddhw_acc_128B(v256, v128, v128);
1913   // CHECK: @llvm.hexagon.V6.vaddubh
1914   __builtin_HEXAGON_V6_vaddubh(v64, v64);
1915   // CHECK: @llvm.hexagon.V6.vaddubh.128B
1916   __builtin_HEXAGON_V6_vaddubh_128B(v128, v128);
1917   // CHECK: @llvm.hexagon.V6.vaddubh.acc
1918   __builtin_HEXAGON_V6_vaddubh_acc(v128, v64, v64);
1919   // CHECK: @llvm.hexagon.V6.vaddubh.acc.128B
1920   __builtin_HEXAGON_V6_vaddubh_acc_128B(v256, v128, v128);
1921   // CHECK: @llvm.hexagon.V6.vaddubsat
1922   __builtin_HEXAGON_V6_vaddubsat(v64, v64);
1923   // CHECK: @llvm.hexagon.V6.vaddubsat.128B
1924   __builtin_HEXAGON_V6_vaddubsat_128B(v128, v128);
1925   // CHECK: @llvm.hexagon.V6.vaddubsat.dv
1926   __builtin_HEXAGON_V6_vaddubsat_dv(v128, v128);
1927   // CHECK: @llvm.hexagon.V6.vaddubsat.dv.128B
1928   __builtin_HEXAGON_V6_vaddubsat_dv_128B(v256, v256);
1929   // CHECK: @llvm.hexagon.V6.vaddububb.sat
1930   __builtin_HEXAGON_V6_vaddububb_sat(v64, v64);
1931   // CHECK: @llvm.hexagon.V6.vaddububb.sat.128B
1932   __builtin_HEXAGON_V6_vaddububb_sat_128B(v128, v128);
1933   // CHECK: @llvm.hexagon.V6.vadduhsat
1934   __builtin_HEXAGON_V6_vadduhsat(v64, v64);
1935   // CHECK: @llvm.hexagon.V6.vadduhsat.128B
1936   __builtin_HEXAGON_V6_vadduhsat_128B(v128, v128);
1937   // CHECK: @llvm.hexagon.V6.vadduhsat.dv
1938   __builtin_HEXAGON_V6_vadduhsat_dv(v128, v128);
1939   // CHECK: @llvm.hexagon.V6.vadduhsat.dv.128B
1940   __builtin_HEXAGON_V6_vadduhsat_dv_128B(v256, v256);
1941   // CHECK: @llvm.hexagon.V6.vadduhw
1942   __builtin_HEXAGON_V6_vadduhw(v64, v64);
1943   // CHECK: @llvm.hexagon.V6.vadduhw.128B
1944   __builtin_HEXAGON_V6_vadduhw_128B(v128, v128);
1945   // CHECK: @llvm.hexagon.V6.vadduhw.acc
1946   __builtin_HEXAGON_V6_vadduhw_acc(v128, v64, v64);
1947   // CHECK: @llvm.hexagon.V6.vadduhw.acc.128B
1948   __builtin_HEXAGON_V6_vadduhw_acc_128B(v256, v128, v128);
1949   // CHECK: @llvm.hexagon.V6.vadduwsat
1950   __builtin_HEXAGON_V6_vadduwsat(v64, v64);
1951   // CHECK: @llvm.hexagon.V6.vadduwsat.128B
1952   __builtin_HEXAGON_V6_vadduwsat_128B(v128, v128);
1953   // CHECK: @llvm.hexagon.V6.vadduwsat.dv
1954   __builtin_HEXAGON_V6_vadduwsat_dv(v128, v128);
1955   // CHECK: @llvm.hexagon.V6.vadduwsat.dv.128B
1956   __builtin_HEXAGON_V6_vadduwsat_dv_128B(v256, v256);
1957   // CHECK: @llvm.hexagon.V6.vaddw
1958   __builtin_HEXAGON_V6_vaddw(v64, v64);
1959   // CHECK: @llvm.hexagon.V6.vaddw.128B
1960   __builtin_HEXAGON_V6_vaddw_128B(v128, v128);
1961   // CHECK: @llvm.hexagon.V6.vaddw.dv
1962   __builtin_HEXAGON_V6_vaddw_dv(v128, v128);
1963   // CHECK: @llvm.hexagon.V6.vaddw.dv.128B
1964   __builtin_HEXAGON_V6_vaddw_dv_128B(v256, v256);
1965   // CHECK: @llvm.hexagon.V6.vaddwnq
1966   __builtin_HEXAGON_V6_vaddwnq(v64, v64, v64);
1967   // CHECK: @llvm.hexagon.V6.vaddwnq.128B
1968   __builtin_HEXAGON_V6_vaddwnq_128B(v128, v128, v128);
1969   // CHECK: @llvm.hexagon.V6.vaddwq
1970   __builtin_HEXAGON_V6_vaddwq(v64, v64, v64);
1971   // CHECK: @llvm.hexagon.V6.vaddwq.128B
1972   __builtin_HEXAGON_V6_vaddwq_128B(v128, v128, v128);
1973   // CHECK: @llvm.hexagon.V6.vaddwsat
1974   __builtin_HEXAGON_V6_vaddwsat(v64, v64);
1975   // CHECK: @llvm.hexagon.V6.vaddwsat.128B
1976   __builtin_HEXAGON_V6_vaddwsat_128B(v128, v128);
1977   // CHECK: @llvm.hexagon.V6.vaddwsat.dv
1978   __builtin_HEXAGON_V6_vaddwsat_dv(v128, v128);
1979   // CHECK: @llvm.hexagon.V6.vaddwsat.dv.128B
1980   __builtin_HEXAGON_V6_vaddwsat_dv_128B(v256, v256);
1981   // CHECK: @llvm.hexagon.V6.valignb
1982   __builtin_HEXAGON_V6_valignb(v64, v64, 0);
1983   // CHECK: @llvm.hexagon.V6.valignb.128B
1984   __builtin_HEXAGON_V6_valignb_128B(v128, v128, 0);
1985   // CHECK: @llvm.hexagon.V6.valignbi
1986   __builtin_HEXAGON_V6_valignbi(v64, v64, 0);
1987   // CHECK: @llvm.hexagon.V6.valignbi.128B
1988   __builtin_HEXAGON_V6_valignbi_128B(v128, v128, 0);
1989   // CHECK: @llvm.hexagon.V6.vand
1990   __builtin_HEXAGON_V6_vand(v64, v64);
1991   // CHECK: @llvm.hexagon.V6.vand.128B
1992   __builtin_HEXAGON_V6_vand_128B(v128, v128);
1993   // CHECK: @llvm.hexagon.V6.vandnqrt
1994   __builtin_HEXAGON_V6_vandnqrt(v64, 0);
1995   // CHECK: @llvm.hexagon.V6.vandnqrt.128B
1996   __builtin_HEXAGON_V6_vandnqrt_128B(v128, 0);
1997   // CHECK: @llvm.hexagon.V6.vandnqrt.acc
1998   __builtin_HEXAGON_V6_vandnqrt_acc(v64, v64, 0);
1999   // CHECK: @llvm.hexagon.V6.vandnqrt.acc.128B
2000   __builtin_HEXAGON_V6_vandnqrt_acc_128B(v128, v128, 0);
2001   // CHECK: @llvm.hexagon.V6.vandqrt
2002   __builtin_HEXAGON_V6_vandqrt(v64, 0);
2003   // CHECK: @llvm.hexagon.V6.vandqrt.128B
2004   __builtin_HEXAGON_V6_vandqrt_128B(v128, 0);
2005   // CHECK: @llvm.hexagon.V6.vandqrt.acc
2006   __builtin_HEXAGON_V6_vandqrt_acc(v64, v64, 0);
2007   // CHECK: @llvm.hexagon.V6.vandqrt.acc.128B
2008   __builtin_HEXAGON_V6_vandqrt_acc_128B(v128, v128, 0);
2009   // CHECK: @llvm.hexagon.V6.vandvnqv
2010   __builtin_HEXAGON_V6_vandvnqv(v64, v64);
2011   // CHECK: @llvm.hexagon.V6.vandvnqv.128B
2012   __builtin_HEXAGON_V6_vandvnqv_128B(v128, v128);
2013   // CHECK: @llvm.hexagon.V6.vandvqv
2014   __builtin_HEXAGON_V6_vandvqv(v64, v64);
2015   // CHECK: @llvm.hexagon.V6.vandvqv.128B
2016   __builtin_HEXAGON_V6_vandvqv_128B(v128, v128);
2017   // CHECK: @llvm.hexagon.V6.vandvrt
2018   __builtin_HEXAGON_V6_vandvrt(v64, 0);
2019   // CHECK: @llvm.hexagon.V6.vandvrt.128B
2020   __builtin_HEXAGON_V6_vandvrt_128B(v128, 0);
2021   // CHECK: @llvm.hexagon.V6.vandvrt.acc
2022   __builtin_HEXAGON_V6_vandvrt_acc(v64, v64, 0);
2023   // CHECK: @llvm.hexagon.V6.vandvrt.acc.128B
2024   __builtin_HEXAGON_V6_vandvrt_acc_128B(v128, v128, 0);
2025   // CHECK: @llvm.hexagon.V6.vaslh
2026   __builtin_HEXAGON_V6_vaslh(v64, 0);
2027   // CHECK: @llvm.hexagon.V6.vaslh.128B
2028   __builtin_HEXAGON_V6_vaslh_128B(v128, 0);
2029   // CHECK: @llvm.hexagon.V6.vaslh.acc
2030   __builtin_HEXAGON_V6_vaslh_acc(v64, v64, 0);
2031   // CHECK: @llvm.hexagon.V6.vaslh.acc.128B
2032   __builtin_HEXAGON_V6_vaslh_acc_128B(v128, v128, 0);
2033   // CHECK: @llvm.hexagon.V6.vaslhv
2034   __builtin_HEXAGON_V6_vaslhv(v64, v64);
2035   // CHECK: @llvm.hexagon.V6.vaslhv.128B
2036   __builtin_HEXAGON_V6_vaslhv_128B(v128, v128);
2037   // CHECK: @llvm.hexagon.V6.vaslw
2038   __builtin_HEXAGON_V6_vaslw(v64, 0);
2039   // CHECK: @llvm.hexagon.V6.vaslw.128B
2040   __builtin_HEXAGON_V6_vaslw_128B(v128, 0);
2041   // CHECK: @llvm.hexagon.V6.vaslw.acc
2042   __builtin_HEXAGON_V6_vaslw_acc(v64, v64, 0);
2043   // CHECK: @llvm.hexagon.V6.vaslw.acc.128B
2044   __builtin_HEXAGON_V6_vaslw_acc_128B(v128, v128, 0);
2045   // CHECK: @llvm.hexagon.V6.vaslwv
2046   __builtin_HEXAGON_V6_vaslwv(v64, v64);
2047   // CHECK: @llvm.hexagon.V6.vaslwv.128B
2048   __builtin_HEXAGON_V6_vaslwv_128B(v128, v128);
2049   // CHECK: @llvm.hexagon.V6.vasrh
2050   __builtin_HEXAGON_V6_vasrh(v64, 0);
2051   // CHECK: @llvm.hexagon.V6.vasrh.128B
2052   __builtin_HEXAGON_V6_vasrh_128B(v128, 0);
2053   // CHECK: @llvm.hexagon.V6.vasrh.acc
2054   __builtin_HEXAGON_V6_vasrh_acc(v64, v64, 0);
2055   // CHECK: @llvm.hexagon.V6.vasrh.acc.128B
2056   __builtin_HEXAGON_V6_vasrh_acc_128B(v128, v128, 0);
2057   // CHECK: @llvm.hexagon.V6.vasrhbrndsat
2058   __builtin_HEXAGON_V6_vasrhbrndsat(v64, v64, 0);
2059   // CHECK: @llvm.hexagon.V6.vasrhbrndsat.128B
2060   __builtin_HEXAGON_V6_vasrhbrndsat_128B(v128, v128, 0);
2061   // CHECK: @llvm.hexagon.V6.vasrhbsat
2062   __builtin_HEXAGON_V6_vasrhbsat(v64, v64, 0);
2063   // CHECK: @llvm.hexagon.V6.vasrhbsat.128B
2064   __builtin_HEXAGON_V6_vasrhbsat_128B(v128, v128, 0);
2065   // CHECK: @llvm.hexagon.V6.vasrhubrndsat
2066   __builtin_HEXAGON_V6_vasrhubrndsat(v64, v64, 0);
2067   // CHECK: @llvm.hexagon.V6.vasrhubrndsat.128B
2068   __builtin_HEXAGON_V6_vasrhubrndsat_128B(v128, v128, 0);
2069   // CHECK: @llvm.hexagon.V6.vasrhubsat
2070   __builtin_HEXAGON_V6_vasrhubsat(v64, v64, 0);
2071   // CHECK: @llvm.hexagon.V6.vasrhubsat.128B
2072   __builtin_HEXAGON_V6_vasrhubsat_128B(v128, v128, 0);
2073   // CHECK: @llvm.hexagon.V6.vasrhv
2074   __builtin_HEXAGON_V6_vasrhv(v64, v64);
2075   // CHECK: @llvm.hexagon.V6.vasrhv.128B
2076   __builtin_HEXAGON_V6_vasrhv_128B(v128, v128);
2077   // CHECK: @llvm.hexagon.V6.vasruhubrndsat
2078   __builtin_HEXAGON_V6_vasruhubrndsat(v64, v64, 0);
2079   // CHECK: @llvm.hexagon.V6.vasruhubrndsat.128B
2080   __builtin_HEXAGON_V6_vasruhubrndsat_128B(v128, v128, 0);
2081   // CHECK: @llvm.hexagon.V6.vasruhubsat
2082   __builtin_HEXAGON_V6_vasruhubsat(v64, v64, 0);
2083   // CHECK: @llvm.hexagon.V6.vasruhubsat.128B
2084   __builtin_HEXAGON_V6_vasruhubsat_128B(v128, v128, 0);
2085   // CHECK: @llvm.hexagon.V6.vasruwuhrndsat
2086   __builtin_HEXAGON_V6_vasruwuhrndsat(v64, v64, 0);
2087   // CHECK: @llvm.hexagon.V6.vasruwuhrndsat.128B
2088   __builtin_HEXAGON_V6_vasruwuhrndsat_128B(v128, v128, 0);
2089   // CHECK: @llvm.hexagon.V6.vasruwuhsat
2090   __builtin_HEXAGON_V6_vasruwuhsat(v64, v64, 0);
2091   // CHECK: @llvm.hexagon.V6.vasruwuhsat.128B
2092   __builtin_HEXAGON_V6_vasruwuhsat_128B(v128, v128, 0);
2093   // CHECK: @llvm.hexagon.V6.vasrw
2094   __builtin_HEXAGON_V6_vasrw(v64, 0);
2095   // CHECK: @llvm.hexagon.V6.vasrw.128B
2096   __builtin_HEXAGON_V6_vasrw_128B(v128, 0);
2097   // CHECK: @llvm.hexagon.V6.vasrw.acc
2098   __builtin_HEXAGON_V6_vasrw_acc(v64, v64, 0);
2099   // CHECK: @llvm.hexagon.V6.vasrw.acc.128B
2100   __builtin_HEXAGON_V6_vasrw_acc_128B(v128, v128, 0);
2101   // CHECK: @llvm.hexagon.V6.vasrwh
2102   __builtin_HEXAGON_V6_vasrwh(v64, v64, 0);
2103   // CHECK: @llvm.hexagon.V6.vasrwh.128B
2104   __builtin_HEXAGON_V6_vasrwh_128B(v128, v128, 0);
2105   // CHECK: @llvm.hexagon.V6.vasrwhrndsat
2106   __builtin_HEXAGON_V6_vasrwhrndsat(v64, v64, 0);
2107   // CHECK: @llvm.hexagon.V6.vasrwhrndsat.128B
2108   __builtin_HEXAGON_V6_vasrwhrndsat_128B(v128, v128, 0);
2109   // CHECK: @llvm.hexagon.V6.vasrwhsat
2110   __builtin_HEXAGON_V6_vasrwhsat(v64, v64, 0);
2111   // CHECK: @llvm.hexagon.V6.vasrwhsat.128B
2112   __builtin_HEXAGON_V6_vasrwhsat_128B(v128, v128, 0);
2113   // CHECK: @llvm.hexagon.V6.vasrwuhrndsat
2114   __builtin_HEXAGON_V6_vasrwuhrndsat(v64, v64, 0);
2115   // CHECK: @llvm.hexagon.V6.vasrwuhrndsat.128B
2116   __builtin_HEXAGON_V6_vasrwuhrndsat_128B(v128, v128, 0);
2117   // CHECK: @llvm.hexagon.V6.vasrwuhsat
2118   __builtin_HEXAGON_V6_vasrwuhsat(v64, v64, 0);
2119   // CHECK: @llvm.hexagon.V6.vasrwuhsat.128B
2120   __builtin_HEXAGON_V6_vasrwuhsat_128B(v128, v128, 0);
2121   // CHECK: @llvm.hexagon.V6.vasrwv
2122   __builtin_HEXAGON_V6_vasrwv(v64, v64);
2123   // CHECK: @llvm.hexagon.V6.vasrwv.128B
2124   __builtin_HEXAGON_V6_vasrwv_128B(v128, v128);
2125   // CHECK: @llvm.hexagon.V6.vassign
2126   __builtin_HEXAGON_V6_vassign(v64);
2127   // CHECK: @llvm.hexagon.V6.vassign.128B
2128   __builtin_HEXAGON_V6_vassign_128B(v128);
2129   // CHECK: @llvm.hexagon.V6.vassignp
2130   __builtin_HEXAGON_V6_vassignp(v128);
2131   // CHECK: @llvm.hexagon.V6.vassignp.128B
2132   __builtin_HEXAGON_V6_vassignp_128B(v256);
2133   // CHECK: @llvm.hexagon.V6.vavgb
2134   __builtin_HEXAGON_V6_vavgb(v64, v64);
2135   // CHECK: @llvm.hexagon.V6.vavgb.128B
2136   __builtin_HEXAGON_V6_vavgb_128B(v128, v128);
2137   // CHECK: @llvm.hexagon.V6.vavgbrnd
2138   __builtin_HEXAGON_V6_vavgbrnd(v64, v64);
2139   // CHECK: @llvm.hexagon.V6.vavgbrnd.128B
2140   __builtin_HEXAGON_V6_vavgbrnd_128B(v128, v128);
2141   // CHECK: @llvm.hexagon.V6.vavgh
2142   __builtin_HEXAGON_V6_vavgh(v64, v64);
2143   // CHECK: @llvm.hexagon.V6.vavgh.128B
2144   __builtin_HEXAGON_V6_vavgh_128B(v128, v128);
2145   // CHECK: @llvm.hexagon.V6.vavghrnd
2146   __builtin_HEXAGON_V6_vavghrnd(v64, v64);
2147   // CHECK: @llvm.hexagon.V6.vavghrnd.128B
2148   __builtin_HEXAGON_V6_vavghrnd_128B(v128, v128);
2149   // CHECK: @llvm.hexagon.V6.vavgub
2150   __builtin_HEXAGON_V6_vavgub(v64, v64);
2151   // CHECK: @llvm.hexagon.V6.vavgub.128B
2152   __builtin_HEXAGON_V6_vavgub_128B(v128, v128);
2153   // CHECK: @llvm.hexagon.V6.vavgubrnd
2154   __builtin_HEXAGON_V6_vavgubrnd(v64, v64);
2155   // CHECK: @llvm.hexagon.V6.vavgubrnd.128B
2156   __builtin_HEXAGON_V6_vavgubrnd_128B(v128, v128);
2157   // CHECK: @llvm.hexagon.V6.vavguh
2158   __builtin_HEXAGON_V6_vavguh(v64, v64);
2159   // CHECK: @llvm.hexagon.V6.vavguh.128B
2160   __builtin_HEXAGON_V6_vavguh_128B(v128, v128);
2161   // CHECK: @llvm.hexagon.V6.vavguhrnd
2162   __builtin_HEXAGON_V6_vavguhrnd(v64, v64);
2163   // CHECK: @llvm.hexagon.V6.vavguhrnd.128B
2164   __builtin_HEXAGON_V6_vavguhrnd_128B(v128, v128);
2165   // CHECK: @llvm.hexagon.V6.vavguw
2166   __builtin_HEXAGON_V6_vavguw(v64, v64);
2167   // CHECK: @llvm.hexagon.V6.vavguw.128B
2168   __builtin_HEXAGON_V6_vavguw_128B(v128, v128);
2169   // CHECK: @llvm.hexagon.V6.vavguwrnd
2170   __builtin_HEXAGON_V6_vavguwrnd(v64, v64);
2171   // CHECK: @llvm.hexagon.V6.vavguwrnd.128B
2172   __builtin_HEXAGON_V6_vavguwrnd_128B(v128, v128);
2173   // CHECK: @llvm.hexagon.V6.vavgw
2174   __builtin_HEXAGON_V6_vavgw(v64, v64);
2175   // CHECK: @llvm.hexagon.V6.vavgw.128B
2176   __builtin_HEXAGON_V6_vavgw_128B(v128, v128);
2177   // CHECK: @llvm.hexagon.V6.vavgwrnd
2178   __builtin_HEXAGON_V6_vavgwrnd(v64, v64);
2179   // CHECK: @llvm.hexagon.V6.vavgwrnd.128B
2180   __builtin_HEXAGON_V6_vavgwrnd_128B(v128, v128);
2181   // CHECK: @llvm.hexagon.V6.vcl0h
2182   __builtin_HEXAGON_V6_vcl0h(v64);
2183   // CHECK: @llvm.hexagon.V6.vcl0h.128B
2184   __builtin_HEXAGON_V6_vcl0h_128B(v128);
2185   // CHECK: @llvm.hexagon.V6.vcl0w
2186   __builtin_HEXAGON_V6_vcl0w(v64);
2187   // CHECK: @llvm.hexagon.V6.vcl0w.128B
2188   __builtin_HEXAGON_V6_vcl0w_128B(v128);
2189   // CHECK: @llvm.hexagon.V6.vcombine
2190   __builtin_HEXAGON_V6_vcombine(v64, v64);
2191   // CHECK: @llvm.hexagon.V6.vcombine.128B
2192   __builtin_HEXAGON_V6_vcombine_128B(v128, v128);
2193   // CHECK: @llvm.hexagon.V6.vd0
2194   __builtin_HEXAGON_V6_vd0();
2195   // CHECK: @llvm.hexagon.V6.vd0.128B
2196   __builtin_HEXAGON_V6_vd0_128B();
2197   // CHECK: @llvm.hexagon.V6.vdd0
2198   __builtin_HEXAGON_V6_vdd0();
2199   // CHECK: @llvm.hexagon.V6.vdd0.128B
2200   __builtin_HEXAGON_V6_vdd0_128B();
2201   // CHECK: @llvm.hexagon.V6.vdealb
2202   __builtin_HEXAGON_V6_vdealb(v64);
2203   // CHECK: @llvm.hexagon.V6.vdealb.128B
2204   __builtin_HEXAGON_V6_vdealb_128B(v128);
2205   // CHECK: @llvm.hexagon.V6.vdealb4w
2206   __builtin_HEXAGON_V6_vdealb4w(v64, v64);
2207   // CHECK: @llvm.hexagon.V6.vdealb4w.128B
2208   __builtin_HEXAGON_V6_vdealb4w_128B(v128, v128);
2209   // CHECK: @llvm.hexagon.V6.vdealh
2210   __builtin_HEXAGON_V6_vdealh(v64);
2211   // CHECK: @llvm.hexagon.V6.vdealh.128B
2212   __builtin_HEXAGON_V6_vdealh_128B(v128);
2213   // CHECK: @llvm.hexagon.V6.vdealvdd
2214   __builtin_HEXAGON_V6_vdealvdd(v64, v64, 0);
2215   // CHECK: @llvm.hexagon.V6.vdealvdd.128B
2216   __builtin_HEXAGON_V6_vdealvdd_128B(v128, v128, 0);
2217   // CHECK: @llvm.hexagon.V6.vdelta
2218   __builtin_HEXAGON_V6_vdelta(v64, v64);
2219   // CHECK: @llvm.hexagon.V6.vdelta.128B
2220   __builtin_HEXAGON_V6_vdelta_128B(v128, v128);
2221   // CHECK: @llvm.hexagon.V6.vdmpybus
2222   __builtin_HEXAGON_V6_vdmpybus(v64, 0);
2223   // CHECK: @llvm.hexagon.V6.vdmpybus.128B
2224   __builtin_HEXAGON_V6_vdmpybus_128B(v128, 0);
2225   // CHECK: @llvm.hexagon.V6.vdmpybus.acc
2226   __builtin_HEXAGON_V6_vdmpybus_acc(v64, v64, 0);
2227   // CHECK: @llvm.hexagon.V6.vdmpybus.acc.128B
2228   __builtin_HEXAGON_V6_vdmpybus_acc_128B(v128, v128, 0);
2229   // CHECK: @llvm.hexagon.V6.vdmpybus.dv
2230   __builtin_HEXAGON_V6_vdmpybus_dv(v128, 0);
2231   // CHECK: @llvm.hexagon.V6.vdmpybus.dv.128B
2232   __builtin_HEXAGON_V6_vdmpybus_dv_128B(v256, 0);
2233   // CHECK: @llvm.hexagon.V6.vdmpybus.dv.acc
2234   __builtin_HEXAGON_V6_vdmpybus_dv_acc(v128, v128, 0);
2235   // CHECK: @llvm.hexagon.V6.vdmpybus.dv.acc.128B
2236   __builtin_HEXAGON_V6_vdmpybus_dv_acc_128B(v256, v256, 0);
2237   // CHECK: @llvm.hexagon.V6.vdmpyhb
2238   __builtin_HEXAGON_V6_vdmpyhb(v64, 0);
2239   // CHECK: @llvm.hexagon.V6.vdmpyhb.128B
2240   __builtin_HEXAGON_V6_vdmpyhb_128B(v128, 0);
2241   // CHECK: @llvm.hexagon.V6.vdmpyhb.acc
2242   __builtin_HEXAGON_V6_vdmpyhb_acc(v64, v64, 0);
2243   // CHECK: @llvm.hexagon.V6.vdmpyhb.acc.128B
2244   __builtin_HEXAGON_V6_vdmpyhb_acc_128B(v128, v128, 0);
2245   // CHECK: @llvm.hexagon.V6.vdmpyhb.dv
2246   __builtin_HEXAGON_V6_vdmpyhb_dv(v128, 0);
2247   // CHECK: @llvm.hexagon.V6.vdmpyhb.dv.128B
2248   __builtin_HEXAGON_V6_vdmpyhb_dv_128B(v256, 0);
2249   // CHECK: @llvm.hexagon.V6.vdmpyhb.dv.acc
2250   __builtin_HEXAGON_V6_vdmpyhb_dv_acc(v128, v128, 0);
2251   // CHECK: @llvm.hexagon.V6.vdmpyhb.dv.acc.128B
2252   __builtin_HEXAGON_V6_vdmpyhb_dv_acc_128B(v256, v256, 0);
2253   // CHECK: @llvm.hexagon.V6.vdmpyhisat
2254   __builtin_HEXAGON_V6_vdmpyhisat(v128, 0);
2255   // CHECK: @llvm.hexagon.V6.vdmpyhisat.128B
2256   __builtin_HEXAGON_V6_vdmpyhisat_128B(v256, 0);
2257   // CHECK: @llvm.hexagon.V6.vdmpyhisat.acc
2258   __builtin_HEXAGON_V6_vdmpyhisat_acc(v64, v128, 0);
2259   // CHECK: @llvm.hexagon.V6.vdmpyhisat.acc.128B
2260   __builtin_HEXAGON_V6_vdmpyhisat_acc_128B(v128, v256, 0);
2261   // CHECK: @llvm.hexagon.V6.vdmpyhsat
2262   __builtin_HEXAGON_V6_vdmpyhsat(v64, 0);
2263   // CHECK: @llvm.hexagon.V6.vdmpyhsat.128B
2264   __builtin_HEXAGON_V6_vdmpyhsat_128B(v128, 0);
2265   // CHECK: @llvm.hexagon.V6.vdmpyhsat.acc
2266   __builtin_HEXAGON_V6_vdmpyhsat_acc(v64, v64, 0);
2267   // CHECK: @llvm.hexagon.V6.vdmpyhsat.acc.128B
2268   __builtin_HEXAGON_V6_vdmpyhsat_acc_128B(v128, v128, 0);
2269   // CHECK: @llvm.hexagon.V6.vdmpyhsuisat
2270   __builtin_HEXAGON_V6_vdmpyhsuisat(v128, 0);
2271   // CHECK: @llvm.hexagon.V6.vdmpyhsuisat.128B
2272   __builtin_HEXAGON_V6_vdmpyhsuisat_128B(v256, 0);
2273   // CHECK: @llvm.hexagon.V6.vdmpyhsuisat.acc
2274   __builtin_HEXAGON_V6_vdmpyhsuisat_acc(v64, v128, 0);
2275   // CHECK: @llvm.hexagon.V6.vdmpyhsuisat.acc.128B
2276   __builtin_HEXAGON_V6_vdmpyhsuisat_acc_128B(v128, v256, 0);
2277   // CHECK: @llvm.hexagon.V6.vdmpyhsusat
2278   __builtin_HEXAGON_V6_vdmpyhsusat(v64, 0);
2279   // CHECK: @llvm.hexagon.V6.vdmpyhsusat.128B
2280   __builtin_HEXAGON_V6_vdmpyhsusat_128B(v128, 0);
2281   // CHECK: @llvm.hexagon.V6.vdmpyhsusat.acc
2282   __builtin_HEXAGON_V6_vdmpyhsusat_acc(v64, v64, 0);
2283   // CHECK: @llvm.hexagon.V6.vdmpyhsusat.acc.128B
2284   __builtin_HEXAGON_V6_vdmpyhsusat_acc_128B(v128, v128, 0);
2285   // CHECK: @llvm.hexagon.V6.vdmpyhvsat
2286   __builtin_HEXAGON_V6_vdmpyhvsat(v64, v64);
2287   // CHECK: @llvm.hexagon.V6.vdmpyhvsat.128B
2288   __builtin_HEXAGON_V6_vdmpyhvsat_128B(v128, v128);
2289   // CHECK: @llvm.hexagon.V6.vdmpyhvsat.acc
2290   __builtin_HEXAGON_V6_vdmpyhvsat_acc(v64, v64, v64);
2291   // CHECK: @llvm.hexagon.V6.vdmpyhvsat.acc.128B
2292   __builtin_HEXAGON_V6_vdmpyhvsat_acc_128B(v128, v128, v128);
2293   // CHECK: @llvm.hexagon.V6.vdsaduh
2294   __builtin_HEXAGON_V6_vdsaduh(v128, 0);
2295   // CHECK: @llvm.hexagon.V6.vdsaduh.128B
2296   __builtin_HEXAGON_V6_vdsaduh_128B(v256, 0);
2297   // CHECK: @llvm.hexagon.V6.vdsaduh.acc
2298   __builtin_HEXAGON_V6_vdsaduh_acc(v128, v128, 0);
2299   // CHECK: @llvm.hexagon.V6.vdsaduh.acc.128B
2300   __builtin_HEXAGON_V6_vdsaduh_acc_128B(v256, v256, 0);
2301   // CHECK: @llvm.hexagon.V6.veqb
2302   __builtin_HEXAGON_V6_veqb(v64, v64);
2303   // CHECK: @llvm.hexagon.V6.veqb.128B
2304   __builtin_HEXAGON_V6_veqb_128B(v128, v128);
2305   // CHECK: @llvm.hexagon.V6.veqb.and
2306   __builtin_HEXAGON_V6_veqb_and(v64, v64, v64);
2307   // CHECK: @llvm.hexagon.V6.veqb.and.128B
2308   __builtin_HEXAGON_V6_veqb_and_128B(v128, v128, v128);
2309   // CHECK: @llvm.hexagon.V6.veqb.or
2310   __builtin_HEXAGON_V6_veqb_or(v64, v64, v64);
2311   // CHECK: @llvm.hexagon.V6.veqb.or.128B
2312   __builtin_HEXAGON_V6_veqb_or_128B(v128, v128, v128);
2313   // CHECK: @llvm.hexagon.V6.veqb.xor
2314   __builtin_HEXAGON_V6_veqb_xor(v64, v64, v64);
2315   // CHECK: @llvm.hexagon.V6.veqb.xor.128B
2316   __builtin_HEXAGON_V6_veqb_xor_128B(v128, v128, v128);
2317   // CHECK: @llvm.hexagon.V6.veqh
2318   __builtin_HEXAGON_V6_veqh(v64, v64);
2319   // CHECK: @llvm.hexagon.V6.veqh.128B
2320   __builtin_HEXAGON_V6_veqh_128B(v128, v128);
2321   // CHECK: @llvm.hexagon.V6.veqh.and
2322   __builtin_HEXAGON_V6_veqh_and(v64, v64, v64);
2323   // CHECK: @llvm.hexagon.V6.veqh.and.128B
2324   __builtin_HEXAGON_V6_veqh_and_128B(v128, v128, v128);
2325   // CHECK: @llvm.hexagon.V6.veqh.or
2326   __builtin_HEXAGON_V6_veqh_or(v64, v64, v64);
2327   // CHECK: @llvm.hexagon.V6.veqh.or.128B
2328   __builtin_HEXAGON_V6_veqh_or_128B(v128, v128, v128);
2329   // CHECK: @llvm.hexagon.V6.veqh.xor
2330   __builtin_HEXAGON_V6_veqh_xor(v64, v64, v64);
2331   // CHECK: @llvm.hexagon.V6.veqh.xor.128B
2332   __builtin_HEXAGON_V6_veqh_xor_128B(v128, v128, v128);
2333   // CHECK: @llvm.hexagon.V6.veqw
2334   __builtin_HEXAGON_V6_veqw(v64, v64);
2335   // CHECK: @llvm.hexagon.V6.veqw.128B
2336   __builtin_HEXAGON_V6_veqw_128B(v128, v128);
2337   // CHECK: @llvm.hexagon.V6.veqw.and
2338   __builtin_HEXAGON_V6_veqw_and(v64, v64, v64);
2339   // CHECK: @llvm.hexagon.V6.veqw.and.128B
2340   __builtin_HEXAGON_V6_veqw_and_128B(v128, v128, v128);
2341   // CHECK: @llvm.hexagon.V6.veqw.or
2342   __builtin_HEXAGON_V6_veqw_or(v64, v64, v64);
2343   // CHECK: @llvm.hexagon.V6.veqw.or.128B
2344   __builtin_HEXAGON_V6_veqw_or_128B(v128, v128, v128);
2345   // CHECK: @llvm.hexagon.V6.veqw.xor
2346   __builtin_HEXAGON_V6_veqw_xor(v64, v64, v64);
2347   // CHECK: @llvm.hexagon.V6.veqw.xor.128B
2348   __builtin_HEXAGON_V6_veqw_xor_128B(v128, v128, v128);
2349   // CHECK: @llvm.hexagon.V6.vgathermh
2350   __builtin_HEXAGON_V6_vgathermh(0, 0, 0, v64);
2351   // CHECK: @llvm.hexagon.V6.vgathermh.128B
2352   __builtin_HEXAGON_V6_vgathermh_128B(0, 0, 0, v128);
2353   // CHECK: @llvm.hexagon.V6.vgathermhq
2354   __builtin_HEXAGON_V6_vgathermhq(0, v64, 0, 0, v64);
2355   // CHECK: @llvm.hexagon.V6.vgathermhq.128B
2356   __builtin_HEXAGON_V6_vgathermhq_128B(0, v128, 0, 0, v128);
2357   // CHECK: @llvm.hexagon.V6.vgathermhw
2358   __builtin_HEXAGON_V6_vgathermhw(0, 0, 0, v128);
2359   // CHECK: @llvm.hexagon.V6.vgathermhw.128B
2360   __builtin_HEXAGON_V6_vgathermhw_128B(0, 0, 0, v256);
2361   // CHECK: @llvm.hexagon.V6.vgathermhwq
2362   __builtin_HEXAGON_V6_vgathermhwq(0, v64, 0, 0, v128);
2363   // CHECK: @llvm.hexagon.V6.vgathermhwq.128B
2364   __builtin_HEXAGON_V6_vgathermhwq_128B(0, v128, 0, 0, v256);
2365   // CHECK: @llvm.hexagon.V6.vgathermw
2366   __builtin_HEXAGON_V6_vgathermw(0, 0, 0, v64);
2367   // CHECK: @llvm.hexagon.V6.vgathermw.128B
2368   __builtin_HEXAGON_V6_vgathermw_128B(0, 0, 0, v128);
2369   // CHECK: @llvm.hexagon.V6.vgathermwq
2370   __builtin_HEXAGON_V6_vgathermwq(0, v64, 0, 0, v64);
2371   // CHECK: @llvm.hexagon.V6.vgathermwq.128B
2372   __builtin_HEXAGON_V6_vgathermwq_128B(0, v128, 0, 0, v128);
2373   // CHECK: @llvm.hexagon.V6.vgtb
2374   __builtin_HEXAGON_V6_vgtb(v64, v64);
2375   // CHECK: @llvm.hexagon.V6.vgtb.128B
2376   __builtin_HEXAGON_V6_vgtb_128B(v128, v128);
2377   // CHECK: @llvm.hexagon.V6.vgtb.and
2378   __builtin_HEXAGON_V6_vgtb_and(v64, v64, v64);
2379   // CHECK: @llvm.hexagon.V6.vgtb.and.128B
2380   __builtin_HEXAGON_V6_vgtb_and_128B(v128, v128, v128);
2381   // CHECK: @llvm.hexagon.V6.vgtb.or
2382   __builtin_HEXAGON_V6_vgtb_or(v64, v64, v64);
2383   // CHECK: @llvm.hexagon.V6.vgtb.or.128B
2384   __builtin_HEXAGON_V6_vgtb_or_128B(v128, v128, v128);
2385   // CHECK: @llvm.hexagon.V6.vgtb.xor
2386   __builtin_HEXAGON_V6_vgtb_xor(v64, v64, v64);
2387   // CHECK: @llvm.hexagon.V6.vgtb.xor.128B
2388   __builtin_HEXAGON_V6_vgtb_xor_128B(v128, v128, v128);
2389   // CHECK: @llvm.hexagon.V6.vgth
2390   __builtin_HEXAGON_V6_vgth(v64, v64);
2391   // CHECK: @llvm.hexagon.V6.vgth.128B
2392   __builtin_HEXAGON_V6_vgth_128B(v128, v128);
2393   // CHECK: @llvm.hexagon.V6.vgth.and
2394   __builtin_HEXAGON_V6_vgth_and(v64, v64, v64);
2395   // CHECK: @llvm.hexagon.V6.vgth.and.128B
2396   __builtin_HEXAGON_V6_vgth_and_128B(v128, v128, v128);
2397   // CHECK: @llvm.hexagon.V6.vgth.or
2398   __builtin_HEXAGON_V6_vgth_or(v64, v64, v64);
2399   // CHECK: @llvm.hexagon.V6.vgth.or.128B
2400   __builtin_HEXAGON_V6_vgth_or_128B(v128, v128, v128);
2401   // CHECK: @llvm.hexagon.V6.vgth.xor
2402   __builtin_HEXAGON_V6_vgth_xor(v64, v64, v64);
2403   // CHECK: @llvm.hexagon.V6.vgth.xor.128B
2404   __builtin_HEXAGON_V6_vgth_xor_128B(v128, v128, v128);
2405   // CHECK: @llvm.hexagon.V6.vgtub
2406   __builtin_HEXAGON_V6_vgtub(v64, v64);
2407   // CHECK: @llvm.hexagon.V6.vgtub.128B
2408   __builtin_HEXAGON_V6_vgtub_128B(v128, v128);
2409   // CHECK: @llvm.hexagon.V6.vgtub.and
2410   __builtin_HEXAGON_V6_vgtub_and(v64, v64, v64);
2411   // CHECK: @llvm.hexagon.V6.vgtub.and.128B
2412   __builtin_HEXAGON_V6_vgtub_and_128B(v128, v128, v128);
2413   // CHECK: @llvm.hexagon.V6.vgtub.or
2414   __builtin_HEXAGON_V6_vgtub_or(v64, v64, v64);
2415   // CHECK: @llvm.hexagon.V6.vgtub.or.128B
2416   __builtin_HEXAGON_V6_vgtub_or_128B(v128, v128, v128);
2417   // CHECK: @llvm.hexagon.V6.vgtub.xor
2418   __builtin_HEXAGON_V6_vgtub_xor(v64, v64, v64);
2419   // CHECK: @llvm.hexagon.V6.vgtub.xor.128B
2420   __builtin_HEXAGON_V6_vgtub_xor_128B(v128, v128, v128);
2421   // CHECK: @llvm.hexagon.V6.vgtuh
2422   __builtin_HEXAGON_V6_vgtuh(v64, v64);
2423   // CHECK: @llvm.hexagon.V6.vgtuh.128B
2424   __builtin_HEXAGON_V6_vgtuh_128B(v128, v128);
2425   // CHECK: @llvm.hexagon.V6.vgtuh.and
2426   __builtin_HEXAGON_V6_vgtuh_and(v64, v64, v64);
2427   // CHECK: @llvm.hexagon.V6.vgtuh.and.128B
2428   __builtin_HEXAGON_V6_vgtuh_and_128B(v128, v128, v128);
2429   // CHECK: @llvm.hexagon.V6.vgtuh.or
2430   __builtin_HEXAGON_V6_vgtuh_or(v64, v64, v64);
2431   // CHECK: @llvm.hexagon.V6.vgtuh.or.128B
2432   __builtin_HEXAGON_V6_vgtuh_or_128B(v128, v128, v128);
2433   // CHECK: @llvm.hexagon.V6.vgtuh.xor
2434   __builtin_HEXAGON_V6_vgtuh_xor(v64, v64, v64);
2435   // CHECK: @llvm.hexagon.V6.vgtuh.xor.128B
2436   __builtin_HEXAGON_V6_vgtuh_xor_128B(v128, v128, v128);
2437   // CHECK: @llvm.hexagon.V6.vgtuw
2438   __builtin_HEXAGON_V6_vgtuw(v64, v64);
2439   // CHECK: @llvm.hexagon.V6.vgtuw.128B
2440   __builtin_HEXAGON_V6_vgtuw_128B(v128, v128);
2441   // CHECK: @llvm.hexagon.V6.vgtuw.and
2442   __builtin_HEXAGON_V6_vgtuw_and(v64, v64, v64);
2443   // CHECK: @llvm.hexagon.V6.vgtuw.and.128B
2444   __builtin_HEXAGON_V6_vgtuw_and_128B(v128, v128, v128);
2445   // CHECK: @llvm.hexagon.V6.vgtuw.or
2446   __builtin_HEXAGON_V6_vgtuw_or(v64, v64, v64);
2447   // CHECK: @llvm.hexagon.V6.vgtuw.or.128B
2448   __builtin_HEXAGON_V6_vgtuw_or_128B(v128, v128, v128);
2449   // CHECK: @llvm.hexagon.V6.vgtuw.xor
2450   __builtin_HEXAGON_V6_vgtuw_xor(v64, v64, v64);
2451   // CHECK: @llvm.hexagon.V6.vgtuw.xor.128B
2452   __builtin_HEXAGON_V6_vgtuw_xor_128B(v128, v128, v128);
2453   // CHECK: @llvm.hexagon.V6.vgtw
2454   __builtin_HEXAGON_V6_vgtw(v64, v64);
2455   // CHECK: @llvm.hexagon.V6.vgtw.128B
2456   __builtin_HEXAGON_V6_vgtw_128B(v128, v128);
2457   // CHECK: @llvm.hexagon.V6.vgtw.and
2458   __builtin_HEXAGON_V6_vgtw_and(v64, v64, v64);
2459   // CHECK: @llvm.hexagon.V6.vgtw.and.128B
2460   __builtin_HEXAGON_V6_vgtw_and_128B(v128, v128, v128);
2461   // CHECK: @llvm.hexagon.V6.vgtw.or
2462   __builtin_HEXAGON_V6_vgtw_or(v64, v64, v64);
2463   // CHECK: @llvm.hexagon.V6.vgtw.or.128B
2464   __builtin_HEXAGON_V6_vgtw_or_128B(v128, v128, v128);
2465   // CHECK: @llvm.hexagon.V6.vgtw.xor
2466   __builtin_HEXAGON_V6_vgtw_xor(v64, v64, v64);
2467   // CHECK: @llvm.hexagon.V6.vgtw.xor.128B
2468   __builtin_HEXAGON_V6_vgtw_xor_128B(v128, v128, v128);
2469   // CHECK: @llvm.hexagon.V6.vinsertwr
2470   __builtin_HEXAGON_V6_vinsertwr(v64, 0);
2471   // CHECK: @llvm.hexagon.V6.vinsertwr.128B
2472   __builtin_HEXAGON_V6_vinsertwr_128B(v128, 0);
2473   // CHECK: @llvm.hexagon.V6.vlalignb
2474   __builtin_HEXAGON_V6_vlalignb(v64, v64, 0);
2475   // CHECK: @llvm.hexagon.V6.vlalignb.128B
2476   __builtin_HEXAGON_V6_vlalignb_128B(v128, v128, 0);
2477   // CHECK: @llvm.hexagon.V6.vlalignbi
2478   __builtin_HEXAGON_V6_vlalignbi(v64, v64, 0);
2479   // CHECK: @llvm.hexagon.V6.vlalignbi.128B
2480   __builtin_HEXAGON_V6_vlalignbi_128B(v128, v128, 0);
2481   // CHECK: @llvm.hexagon.V6.vlsrb
2482   __builtin_HEXAGON_V6_vlsrb(v64, 0);
2483   // CHECK: @llvm.hexagon.V6.vlsrb.128B
2484   __builtin_HEXAGON_V6_vlsrb_128B(v128, 0);
2485   // CHECK: @llvm.hexagon.V6.vlsrh
2486   __builtin_HEXAGON_V6_vlsrh(v64, 0);
2487   // CHECK: @llvm.hexagon.V6.vlsrh.128B
2488   __builtin_HEXAGON_V6_vlsrh_128B(v128, 0);
2489   // CHECK: @llvm.hexagon.V6.vlsrhv
2490   __builtin_HEXAGON_V6_vlsrhv(v64, v64);
2491   // CHECK: @llvm.hexagon.V6.vlsrhv.128B
2492   __builtin_HEXAGON_V6_vlsrhv_128B(v128, v128);
2493   // CHECK: @llvm.hexagon.V6.vlsrw
2494   __builtin_HEXAGON_V6_vlsrw(v64, 0);
2495   // CHECK: @llvm.hexagon.V6.vlsrw.128B
2496   __builtin_HEXAGON_V6_vlsrw_128B(v128, 0);
2497   // CHECK: @llvm.hexagon.V6.vlsrwv
2498   __builtin_HEXAGON_V6_vlsrwv(v64, v64);
2499   // CHECK: @llvm.hexagon.V6.vlsrwv.128B
2500   __builtin_HEXAGON_V6_vlsrwv_128B(v128, v128);
2501   // CHECK: @llvm.hexagon.V6.vlut4
2502   __builtin_HEXAGON_V6_vlut4(v64, 0);
2503   // CHECK: @llvm.hexagon.V6.vlut4.128B
2504   __builtin_HEXAGON_V6_vlut4_128B(v128, 0);
2505   // CHECK: @llvm.hexagon.V6.vlutvvb
2506   __builtin_HEXAGON_V6_vlutvvb(v64, v64, 0);
2507   // CHECK: @llvm.hexagon.V6.vlutvvb.128B
2508   __builtin_HEXAGON_V6_vlutvvb_128B(v128, v128, 0);
2509   // CHECK: @llvm.hexagon.V6.vlutvvb.nm
2510   __builtin_HEXAGON_V6_vlutvvb_nm(v64, v64, 0);
2511   // CHECK: @llvm.hexagon.V6.vlutvvb.nm.128B
2512   __builtin_HEXAGON_V6_vlutvvb_nm_128B(v128, v128, 0);
2513   // CHECK: @llvm.hexagon.V6.vlutvvb.oracc
2514   __builtin_HEXAGON_V6_vlutvvb_oracc(v64, v64, v64, 0);
2515   // CHECK: @llvm.hexagon.V6.vlutvvb.oracc.128B
2516   __builtin_HEXAGON_V6_vlutvvb_oracc_128B(v128, v128, v128, 0);
2517   // CHECK: @llvm.hexagon.V6.vlutvvb.oracci
2518   __builtin_HEXAGON_V6_vlutvvb_oracci(v64, v64, v64, 0);
2519   // CHECK: @llvm.hexagon.V6.vlutvvb.oracci.128B
2520   __builtin_HEXAGON_V6_vlutvvb_oracci_128B(v128, v128, v128, 0);
2521   // CHECK: @llvm.hexagon.V6.vlutvvbi
2522   __builtin_HEXAGON_V6_vlutvvbi(v64, v64, 0);
2523   // CHECK: @llvm.hexagon.V6.vlutvvbi.128B
2524   __builtin_HEXAGON_V6_vlutvvbi_128B(v128, v128, 0);
2525   // CHECK: @llvm.hexagon.V6.vlutvwh
2526   __builtin_HEXAGON_V6_vlutvwh(v64, v64, 0);
2527   // CHECK: @llvm.hexagon.V6.vlutvwh.128B
2528   __builtin_HEXAGON_V6_vlutvwh_128B(v128, v128, 0);
2529   // CHECK: @llvm.hexagon.V6.vlutvwh.nm
2530   __builtin_HEXAGON_V6_vlutvwh_nm(v64, v64, 0);
2531   // CHECK: @llvm.hexagon.V6.vlutvwh.nm.128B
2532   __builtin_HEXAGON_V6_vlutvwh_nm_128B(v128, v128, 0);
2533   // CHECK: @llvm.hexagon.V6.vlutvwh.oracc
2534   __builtin_HEXAGON_V6_vlutvwh_oracc(v128, v64, v64, 0);
2535   // CHECK: @llvm.hexagon.V6.vlutvwh.oracc.128B
2536   __builtin_HEXAGON_V6_vlutvwh_oracc_128B(v256, v128, v128, 0);
2537   // CHECK: @llvm.hexagon.V6.vlutvwh.oracci
2538   __builtin_HEXAGON_V6_vlutvwh_oracci(v128, v64, v64, 0);
2539   // CHECK: @llvm.hexagon.V6.vlutvwh.oracci.128B
2540   __builtin_HEXAGON_V6_vlutvwh_oracci_128B(v256, v128, v128, 0);
2541   // CHECK: @llvm.hexagon.V6.vlutvwhi
2542   __builtin_HEXAGON_V6_vlutvwhi(v64, v64, 0);
2543   // CHECK: @llvm.hexagon.V6.vlutvwhi.128B
2544   __builtin_HEXAGON_V6_vlutvwhi_128B(v128, v128, 0);
2545   // CHECK: @llvm.hexagon.V6.vmaskedstorenq
2546   __builtin_HEXAGON_V6_vmaskedstorenq(v64, 0, v64);
2547   // CHECK: @llvm.hexagon.V6.vmaskedstorenq.128B
2548   __builtin_HEXAGON_V6_vmaskedstorenq_128B(v128, 0, v128);
2549   // CHECK: @llvm.hexagon.V6.vmaskedstorentnq
2550   __builtin_HEXAGON_V6_vmaskedstorentnq(v64, 0, v64);
2551   // CHECK: @llvm.hexagon.V6.vmaskedstorentnq.128B
2552   __builtin_HEXAGON_V6_vmaskedstorentnq_128B(v128, 0, v128);
2553   // CHECK: @llvm.hexagon.V6.vmaskedstorentq
2554   __builtin_HEXAGON_V6_vmaskedstorentq(v64, 0, v64);
2555   // CHECK: @llvm.hexagon.V6.vmaskedstorentq.128B
2556   __builtin_HEXAGON_V6_vmaskedstorentq_128B(v128, 0, v128);
2557   // CHECK: @llvm.hexagon.V6.vmaskedstoreq
2558   __builtin_HEXAGON_V6_vmaskedstoreq(v64, 0, v64);
2559   // CHECK: @llvm.hexagon.V6.vmaskedstoreq.128B
2560   __builtin_HEXAGON_V6_vmaskedstoreq_128B(v128, 0, v128);
2561   // CHECK: @llvm.hexagon.V6.vmaxb
2562   __builtin_HEXAGON_V6_vmaxb(v64, v64);
2563   // CHECK: @llvm.hexagon.V6.vmaxb.128B
2564   __builtin_HEXAGON_V6_vmaxb_128B(v128, v128);
2565   // CHECK: @llvm.hexagon.V6.vmaxh
2566   __builtin_HEXAGON_V6_vmaxh(v64, v64);
2567   // CHECK: @llvm.hexagon.V6.vmaxh.128B
2568   __builtin_HEXAGON_V6_vmaxh_128B(v128, v128);
2569   // CHECK: @llvm.hexagon.V6.vmaxub
2570   __builtin_HEXAGON_V6_vmaxub(v64, v64);
2571   // CHECK: @llvm.hexagon.V6.vmaxub.128B
2572   __builtin_HEXAGON_V6_vmaxub_128B(v128, v128);
2573   // CHECK: @llvm.hexagon.V6.vmaxuh
2574   __builtin_HEXAGON_V6_vmaxuh(v64, v64);
2575   // CHECK: @llvm.hexagon.V6.vmaxuh.128B
2576   __builtin_HEXAGON_V6_vmaxuh_128B(v128, v128);
2577   // CHECK: @llvm.hexagon.V6.vmaxw
2578   __builtin_HEXAGON_V6_vmaxw(v64, v64);
2579   // CHECK: @llvm.hexagon.V6.vmaxw.128B
2580   __builtin_HEXAGON_V6_vmaxw_128B(v128, v128);
2581   // CHECK: @llvm.hexagon.V6.vminb
2582   __builtin_HEXAGON_V6_vminb(v64, v64);
2583   // CHECK: @llvm.hexagon.V6.vminb.128B
2584   __builtin_HEXAGON_V6_vminb_128B(v128, v128);
2585   // CHECK: @llvm.hexagon.V6.vminh
2586   __builtin_HEXAGON_V6_vminh(v64, v64);
2587   // CHECK: @llvm.hexagon.V6.vminh.128B
2588   __builtin_HEXAGON_V6_vminh_128B(v128, v128);
2589   // CHECK: @llvm.hexagon.V6.vminub
2590   __builtin_HEXAGON_V6_vminub(v64, v64);
2591   // CHECK: @llvm.hexagon.V6.vminub.128B
2592   __builtin_HEXAGON_V6_vminub_128B(v128, v128);
2593   // CHECK: @llvm.hexagon.V6.vminuh
2594   __builtin_HEXAGON_V6_vminuh(v64, v64);
2595   // CHECK: @llvm.hexagon.V6.vminuh.128B
2596   __builtin_HEXAGON_V6_vminuh_128B(v128, v128);
2597   // CHECK: @llvm.hexagon.V6.vminw
2598   __builtin_HEXAGON_V6_vminw(v64, v64);
2599   // CHECK: @llvm.hexagon.V6.vminw.128B
2600   __builtin_HEXAGON_V6_vminw_128B(v128, v128);
2601   // CHECK: @llvm.hexagon.V6.vmpabus
2602   __builtin_HEXAGON_V6_vmpabus(v128, 0);
2603   // CHECK: @llvm.hexagon.V6.vmpabus.128B
2604   __builtin_HEXAGON_V6_vmpabus_128B(v256, 0);
2605   // CHECK: @llvm.hexagon.V6.vmpabus.acc
2606   __builtin_HEXAGON_V6_vmpabus_acc(v128, v128, 0);
2607   // CHECK: @llvm.hexagon.V6.vmpabus.acc.128B
2608   __builtin_HEXAGON_V6_vmpabus_acc_128B(v256, v256, 0);
2609   // CHECK: @llvm.hexagon.V6.vmpabusv
2610   __builtin_HEXAGON_V6_vmpabusv(v128, v128);
2611   // CHECK: @llvm.hexagon.V6.vmpabusv.128B
2612   __builtin_HEXAGON_V6_vmpabusv_128B(v256, v256);
2613   // CHECK: @llvm.hexagon.V6.vmpabuu
2614   __builtin_HEXAGON_V6_vmpabuu(v128, 0);
2615   // CHECK: @llvm.hexagon.V6.vmpabuu.128B
2616   __builtin_HEXAGON_V6_vmpabuu_128B(v256, 0);
2617   // CHECK: @llvm.hexagon.V6.vmpabuu.acc
2618   __builtin_HEXAGON_V6_vmpabuu_acc(v128, v128, 0);
2619   // CHECK: @llvm.hexagon.V6.vmpabuu.acc.128B
2620   __builtin_HEXAGON_V6_vmpabuu_acc_128B(v256, v256, 0);
2621   // CHECK: @llvm.hexagon.V6.vmpabuuv
2622   __builtin_HEXAGON_V6_vmpabuuv(v128, v128);
2623   // CHECK: @llvm.hexagon.V6.vmpabuuv.128B
2624   __builtin_HEXAGON_V6_vmpabuuv_128B(v256, v256);
2625   // CHECK: @llvm.hexagon.V6.vmpahb
2626   __builtin_HEXAGON_V6_vmpahb(v128, 0);
2627   // CHECK: @llvm.hexagon.V6.vmpahb.128B
2628   __builtin_HEXAGON_V6_vmpahb_128B(v256, 0);
2629   // CHECK: @llvm.hexagon.V6.vmpahb.acc
2630   __builtin_HEXAGON_V6_vmpahb_acc(v128, v128, 0);
2631   // CHECK: @llvm.hexagon.V6.vmpahb.acc.128B
2632   __builtin_HEXAGON_V6_vmpahb_acc_128B(v256, v256, 0);
2633   // CHECK: @llvm.hexagon.V6.vmpahhsat
2634   __builtin_HEXAGON_V6_vmpahhsat(v64, v64, 0);
2635   // CHECK: @llvm.hexagon.V6.vmpahhsat.128B
2636   __builtin_HEXAGON_V6_vmpahhsat_128B(v128, v128, 0);
2637   // CHECK: @llvm.hexagon.V6.vmpauhb
2638   __builtin_HEXAGON_V6_vmpauhb(v128, 0);
2639   // CHECK: @llvm.hexagon.V6.vmpauhb.128B
2640   __builtin_HEXAGON_V6_vmpauhb_128B(v256, 0);
2641   // CHECK: @llvm.hexagon.V6.vmpauhb.acc
2642   __builtin_HEXAGON_V6_vmpauhb_acc(v128, v128, 0);
2643   // CHECK: @llvm.hexagon.V6.vmpauhb.acc.128B
2644   __builtin_HEXAGON_V6_vmpauhb_acc_128B(v256, v256, 0);
2645   // CHECK: @llvm.hexagon.V6.vmpauhuhsat
2646   __builtin_HEXAGON_V6_vmpauhuhsat(v64, v64, 0);
2647   // CHECK: @llvm.hexagon.V6.vmpauhuhsat.128B
2648   __builtin_HEXAGON_V6_vmpauhuhsat_128B(v128, v128, 0);
2649   // CHECK: @llvm.hexagon.V6.vmpsuhuhsat
2650   __builtin_HEXAGON_V6_vmpsuhuhsat(v64, v64, 0);
2651   // CHECK: @llvm.hexagon.V6.vmpsuhuhsat.128B
2652   __builtin_HEXAGON_V6_vmpsuhuhsat_128B(v128, v128, 0);
2653   // CHECK: @llvm.hexagon.V6.vmpybus
2654   __builtin_HEXAGON_V6_vmpybus(v64, 0);
2655   // CHECK: @llvm.hexagon.V6.vmpybus.128B
2656   __builtin_HEXAGON_V6_vmpybus_128B(v128, 0);
2657   // CHECK: @llvm.hexagon.V6.vmpybus.acc
2658   __builtin_HEXAGON_V6_vmpybus_acc(v128, v64, 0);
2659   // CHECK: @llvm.hexagon.V6.vmpybus.acc.128B
2660   __builtin_HEXAGON_V6_vmpybus_acc_128B(v256, v128, 0);
2661   // CHECK: @llvm.hexagon.V6.vmpybusv
2662   __builtin_HEXAGON_V6_vmpybusv(v64, v64);
2663   // CHECK: @llvm.hexagon.V6.vmpybusv.128B
2664   __builtin_HEXAGON_V6_vmpybusv_128B(v128, v128);
2665   // CHECK: @llvm.hexagon.V6.vmpybusv.acc
2666   __builtin_HEXAGON_V6_vmpybusv_acc(v128, v64, v64);
2667   // CHECK: @llvm.hexagon.V6.vmpybusv.acc.128B
2668   __builtin_HEXAGON_V6_vmpybusv_acc_128B(v256, v128, v128);
2669   // CHECK: @llvm.hexagon.V6.vmpybv
2670   __builtin_HEXAGON_V6_vmpybv(v64, v64);
2671   // CHECK: @llvm.hexagon.V6.vmpybv.128B
2672   __builtin_HEXAGON_V6_vmpybv_128B(v128, v128);
2673   // CHECK: @llvm.hexagon.V6.vmpybv.acc
2674   __builtin_HEXAGON_V6_vmpybv_acc(v128, v64, v64);
2675   // CHECK: @llvm.hexagon.V6.vmpybv.acc.128B
2676   __builtin_HEXAGON_V6_vmpybv_acc_128B(v256, v128, v128);
2677   // CHECK: @llvm.hexagon.V6.vmpyewuh
2678   __builtin_HEXAGON_V6_vmpyewuh(v64, v64);
2679   // CHECK: @llvm.hexagon.V6.vmpyewuh.128B
2680   __builtin_HEXAGON_V6_vmpyewuh_128B(v128, v128);
2681   // CHECK: @llvm.hexagon.V6.vmpyewuh.64
2682   __builtin_HEXAGON_V6_vmpyewuh_64(v64, v64);
2683   // CHECK: @llvm.hexagon.V6.vmpyewuh.64.128B
2684   __builtin_HEXAGON_V6_vmpyewuh_64_128B(v128, v128);
2685   // CHECK: @llvm.hexagon.V6.vmpyh
2686   __builtin_HEXAGON_V6_vmpyh(v64, 0);
2687   // CHECK: @llvm.hexagon.V6.vmpyh.128B
2688   __builtin_HEXAGON_V6_vmpyh_128B(v128, 0);
2689   // CHECK: @llvm.hexagon.V6.vmpyh.acc
2690   __builtin_HEXAGON_V6_vmpyh_acc(v128, v64, 0);
2691   // CHECK: @llvm.hexagon.V6.vmpyh.acc.128B
2692   __builtin_HEXAGON_V6_vmpyh_acc_128B(v256, v128, 0);
2693   // CHECK: @llvm.hexagon.V6.vmpyhsat.acc
2694   __builtin_HEXAGON_V6_vmpyhsat_acc(v128, v64, 0);
2695   // CHECK: @llvm.hexagon.V6.vmpyhsat.acc.128B
2696   __builtin_HEXAGON_V6_vmpyhsat_acc_128B(v256, v128, 0);
2697   // CHECK: @llvm.hexagon.V6.vmpyhsrs
2698   __builtin_HEXAGON_V6_vmpyhsrs(v64, 0);
2699   // CHECK: @llvm.hexagon.V6.vmpyhsrs.128B
2700   __builtin_HEXAGON_V6_vmpyhsrs_128B(v128, 0);
2701   // CHECK: @llvm.hexagon.V6.vmpyhss
2702   __builtin_HEXAGON_V6_vmpyhss(v64, 0);
2703   // CHECK: @llvm.hexagon.V6.vmpyhss.128B
2704   __builtin_HEXAGON_V6_vmpyhss_128B(v128, 0);
2705   // CHECK: @llvm.hexagon.V6.vmpyhus
2706   __builtin_HEXAGON_V6_vmpyhus(v64, v64);
2707   // CHECK: @llvm.hexagon.V6.vmpyhus.128B
2708   __builtin_HEXAGON_V6_vmpyhus_128B(v128, v128);
2709   // CHECK: @llvm.hexagon.V6.vmpyhus.acc
2710   __builtin_HEXAGON_V6_vmpyhus_acc(v128, v64, v64);
2711   // CHECK: @llvm.hexagon.V6.vmpyhus.acc.128B
2712   __builtin_HEXAGON_V6_vmpyhus_acc_128B(v256, v128, v128);
2713   // CHECK: @llvm.hexagon.V6.vmpyhv
2714   __builtin_HEXAGON_V6_vmpyhv(v64, v64);
2715   // CHECK: @llvm.hexagon.V6.vmpyhv.128B
2716   __builtin_HEXAGON_V6_vmpyhv_128B(v128, v128);
2717   // CHECK: @llvm.hexagon.V6.vmpyhv.acc
2718   __builtin_HEXAGON_V6_vmpyhv_acc(v128, v64, v64);
2719   // CHECK: @llvm.hexagon.V6.vmpyhv.acc.128B
2720   __builtin_HEXAGON_V6_vmpyhv_acc_128B(v256, v128, v128);
2721   // CHECK: @llvm.hexagon.V6.vmpyhvsrs
2722   __builtin_HEXAGON_V6_vmpyhvsrs(v64, v64);
2723   // CHECK: @llvm.hexagon.V6.vmpyhvsrs.128B
2724   __builtin_HEXAGON_V6_vmpyhvsrs_128B(v128, v128);
2725   // CHECK: @llvm.hexagon.V6.vmpyieoh
2726   __builtin_HEXAGON_V6_vmpyieoh(v64, v64);
2727   // CHECK: @llvm.hexagon.V6.vmpyieoh.128B
2728   __builtin_HEXAGON_V6_vmpyieoh_128B(v128, v128);
2729   // CHECK: @llvm.hexagon.V6.vmpyiewh.acc
2730   __builtin_HEXAGON_V6_vmpyiewh_acc(v64, v64, v64);
2731   // CHECK: @llvm.hexagon.V6.vmpyiewh.acc.128B
2732   __builtin_HEXAGON_V6_vmpyiewh_acc_128B(v128, v128, v128);
2733   // CHECK: @llvm.hexagon.V6.vmpyiewuh
2734   __builtin_HEXAGON_V6_vmpyiewuh(v64, v64);
2735   // CHECK: @llvm.hexagon.V6.vmpyiewuh.128B
2736   __builtin_HEXAGON_V6_vmpyiewuh_128B(v128, v128);
2737   // CHECK: @llvm.hexagon.V6.vmpyiewuh.acc
2738   __builtin_HEXAGON_V6_vmpyiewuh_acc(v64, v64, v64);
2739   // CHECK: @llvm.hexagon.V6.vmpyiewuh.acc.128B
2740   __builtin_HEXAGON_V6_vmpyiewuh_acc_128B(v128, v128, v128);
2741   // CHECK: @llvm.hexagon.V6.vmpyih
2742   __builtin_HEXAGON_V6_vmpyih(v64, v64);
2743   // CHECK: @llvm.hexagon.V6.vmpyih.128B
2744   __builtin_HEXAGON_V6_vmpyih_128B(v128, v128);
2745   // CHECK: @llvm.hexagon.V6.vmpyih.acc
2746   __builtin_HEXAGON_V6_vmpyih_acc(v64, v64, v64);
2747   // CHECK: @llvm.hexagon.V6.vmpyih.acc.128B
2748   __builtin_HEXAGON_V6_vmpyih_acc_128B(v128, v128, v128);
2749   // CHECK: @llvm.hexagon.V6.vmpyihb
2750   __builtin_HEXAGON_V6_vmpyihb(v64, 0);
2751   // CHECK: @llvm.hexagon.V6.vmpyihb.128B
2752   __builtin_HEXAGON_V6_vmpyihb_128B(v128, 0);
2753   // CHECK: @llvm.hexagon.V6.vmpyihb.acc
2754   __builtin_HEXAGON_V6_vmpyihb_acc(v64, v64, 0);
2755   // CHECK: @llvm.hexagon.V6.vmpyihb.acc.128B
2756   __builtin_HEXAGON_V6_vmpyihb_acc_128B(v128, v128, 0);
2757   // CHECK: @llvm.hexagon.V6.vmpyiowh
2758   __builtin_HEXAGON_V6_vmpyiowh(v64, v64);
2759   // CHECK: @llvm.hexagon.V6.vmpyiowh.128B
2760   __builtin_HEXAGON_V6_vmpyiowh_128B(v128, v128);
2761   // CHECK: @llvm.hexagon.V6.vmpyiwb
2762   __builtin_HEXAGON_V6_vmpyiwb(v64, 0);
2763   // CHECK: @llvm.hexagon.V6.vmpyiwb.128B
2764   __builtin_HEXAGON_V6_vmpyiwb_128B(v128, 0);
2765   // CHECK: @llvm.hexagon.V6.vmpyiwb.acc
2766   __builtin_HEXAGON_V6_vmpyiwb_acc(v64, v64, 0);
2767   // CHECK: @llvm.hexagon.V6.vmpyiwb.acc.128B
2768   __builtin_HEXAGON_V6_vmpyiwb_acc_128B(v128, v128, 0);
2769   // CHECK: @llvm.hexagon.V6.vmpyiwh
2770   __builtin_HEXAGON_V6_vmpyiwh(v64, 0);
2771   // CHECK: @llvm.hexagon.V6.vmpyiwh.128B
2772   __builtin_HEXAGON_V6_vmpyiwh_128B(v128, 0);
2773   // CHECK: @llvm.hexagon.V6.vmpyiwh.acc
2774   __builtin_HEXAGON_V6_vmpyiwh_acc(v64, v64, 0);
2775   // CHECK: @llvm.hexagon.V6.vmpyiwh.acc.128B
2776   __builtin_HEXAGON_V6_vmpyiwh_acc_128B(v128, v128, 0);
2777   // CHECK: @llvm.hexagon.V6.vmpyiwub
2778   __builtin_HEXAGON_V6_vmpyiwub(v64, 0);
2779   // CHECK: @llvm.hexagon.V6.vmpyiwub.128B
2780   __builtin_HEXAGON_V6_vmpyiwub_128B(v128, 0);
2781   // CHECK: @llvm.hexagon.V6.vmpyiwub.acc
2782   __builtin_HEXAGON_V6_vmpyiwub_acc(v64, v64, 0);
2783   // CHECK: @llvm.hexagon.V6.vmpyiwub.acc.128B
2784   __builtin_HEXAGON_V6_vmpyiwub_acc_128B(v128, v128, 0);
2785   // CHECK: @llvm.hexagon.V6.vmpyowh
2786   __builtin_HEXAGON_V6_vmpyowh(v64, v64);
2787   // CHECK: @llvm.hexagon.V6.vmpyowh.128B
2788   __builtin_HEXAGON_V6_vmpyowh_128B(v128, v128);
2789   // CHECK: @llvm.hexagon.V6.vmpyowh.64.acc
2790   __builtin_HEXAGON_V6_vmpyowh_64_acc(v128, v64, v64);
2791   // CHECK: @llvm.hexagon.V6.vmpyowh.64.acc.128B
2792   __builtin_HEXAGON_V6_vmpyowh_64_acc_128B(v256, v128, v128);
2793   // CHECK: @llvm.hexagon.V6.vmpyowh.rnd
2794   __builtin_HEXAGON_V6_vmpyowh_rnd(v64, v64);
2795   // CHECK: @llvm.hexagon.V6.vmpyowh.rnd.128B
2796   __builtin_HEXAGON_V6_vmpyowh_rnd_128B(v128, v128);
2797   // CHECK: @llvm.hexagon.V6.vmpyowh.rnd.sacc
2798   __builtin_HEXAGON_V6_vmpyowh_rnd_sacc(v64, v64, v64);
2799   // CHECK: @llvm.hexagon.V6.vmpyowh.rnd.sacc.128B
2800   __builtin_HEXAGON_V6_vmpyowh_rnd_sacc_128B(v128, v128, v128);
2801   // CHECK: @llvm.hexagon.V6.vmpyowh.sacc
2802   __builtin_HEXAGON_V6_vmpyowh_sacc(v64, v64, v64);
2803   // CHECK: @llvm.hexagon.V6.vmpyowh.sacc.128B
2804   __builtin_HEXAGON_V6_vmpyowh_sacc_128B(v128, v128, v128);
2805   // CHECK: @llvm.hexagon.V6.vmpyub
2806   __builtin_HEXAGON_V6_vmpyub(v64, 0);
2807   // CHECK: @llvm.hexagon.V6.vmpyub.128B
2808   __builtin_HEXAGON_V6_vmpyub_128B(v128, 0);
2809   // CHECK: @llvm.hexagon.V6.vmpyub.acc
2810   __builtin_HEXAGON_V6_vmpyub_acc(v128, v64, 0);
2811   // CHECK: @llvm.hexagon.V6.vmpyub.acc.128B
2812   __builtin_HEXAGON_V6_vmpyub_acc_128B(v256, v128, 0);
2813   // CHECK: @llvm.hexagon.V6.vmpyubv
2814   __builtin_HEXAGON_V6_vmpyubv(v64, v64);
2815   // CHECK: @llvm.hexagon.V6.vmpyubv.128B
2816   __builtin_HEXAGON_V6_vmpyubv_128B(v128, v128);
2817   // CHECK: @llvm.hexagon.V6.vmpyubv.acc
2818   __builtin_HEXAGON_V6_vmpyubv_acc(v128, v64, v64);
2819   // CHECK: @llvm.hexagon.V6.vmpyubv.acc.128B
2820   __builtin_HEXAGON_V6_vmpyubv_acc_128B(v256, v128, v128);
2821   // CHECK: @llvm.hexagon.V6.vmpyuh
2822   __builtin_HEXAGON_V6_vmpyuh(v64, 0);
2823   // CHECK: @llvm.hexagon.V6.vmpyuh.128B
2824   __builtin_HEXAGON_V6_vmpyuh_128B(v128, 0);
2825   // CHECK: @llvm.hexagon.V6.vmpyuh.acc
2826   __builtin_HEXAGON_V6_vmpyuh_acc(v128, v64, 0);
2827   // CHECK: @llvm.hexagon.V6.vmpyuh.acc.128B
2828   __builtin_HEXAGON_V6_vmpyuh_acc_128B(v256, v128, 0);
2829   // CHECK: @llvm.hexagon.V6.vmpyuhe
2830   __builtin_HEXAGON_V6_vmpyuhe(v64, 0);
2831   // CHECK: @llvm.hexagon.V6.vmpyuhe.128B
2832   __builtin_HEXAGON_V6_vmpyuhe_128B(v128, 0);
2833   // CHECK: @llvm.hexagon.V6.vmpyuhe.acc
2834   __builtin_HEXAGON_V6_vmpyuhe_acc(v64, v64, 0);
2835   // CHECK: @llvm.hexagon.V6.vmpyuhe.acc.128B
2836   __builtin_HEXAGON_V6_vmpyuhe_acc_128B(v128, v128, 0);
2837   // CHECK: @llvm.hexagon.V6.vmpyuhv
2838   __builtin_HEXAGON_V6_vmpyuhv(v64, v64);
2839   // CHECK: @llvm.hexagon.V6.vmpyuhv.128B
2840   __builtin_HEXAGON_V6_vmpyuhv_128B(v128, v128);
2841   // CHECK: @llvm.hexagon.V6.vmpyuhv.acc
2842   __builtin_HEXAGON_V6_vmpyuhv_acc(v128, v64, v64);
2843   // CHECK: @llvm.hexagon.V6.vmpyuhv.acc.128B
2844   __builtin_HEXAGON_V6_vmpyuhv_acc_128B(v256, v128, v128);
2845   // CHECK: @llvm.hexagon.V6.vmux
2846   __builtin_HEXAGON_V6_vmux(v64, v64, v64);
2847   // CHECK: @llvm.hexagon.V6.vmux.128B
2848   __builtin_HEXAGON_V6_vmux_128B(v128, v128, v128);
2849   // CHECK: @llvm.hexagon.V6.vnavgb
2850   __builtin_HEXAGON_V6_vnavgb(v64, v64);
2851   // CHECK: @llvm.hexagon.V6.vnavgb.128B
2852   __builtin_HEXAGON_V6_vnavgb_128B(v128, v128);
2853   // CHECK: @llvm.hexagon.V6.vnavgh
2854   __builtin_HEXAGON_V6_vnavgh(v64, v64);
2855   // CHECK: @llvm.hexagon.V6.vnavgh.128B
2856   __builtin_HEXAGON_V6_vnavgh_128B(v128, v128);
2857   // CHECK: @llvm.hexagon.V6.vnavgub
2858   __builtin_HEXAGON_V6_vnavgub(v64, v64);
2859   // CHECK: @llvm.hexagon.V6.vnavgub.128B
2860   __builtin_HEXAGON_V6_vnavgub_128B(v128, v128);
2861   // CHECK: @llvm.hexagon.V6.vnavgw
2862   __builtin_HEXAGON_V6_vnavgw(v64, v64);
2863   // CHECK: @llvm.hexagon.V6.vnavgw.128B
2864   __builtin_HEXAGON_V6_vnavgw_128B(v128, v128);
2865   // CHECK: @llvm.hexagon.V6.vnormamth
2866   __builtin_HEXAGON_V6_vnormamth(v64);
2867   // CHECK: @llvm.hexagon.V6.vnormamth.128B
2868   __builtin_HEXAGON_V6_vnormamth_128B(v128);
2869   // CHECK: @llvm.hexagon.V6.vnormamtw
2870   __builtin_HEXAGON_V6_vnormamtw(v64);
2871   // CHECK: @llvm.hexagon.V6.vnormamtw.128B
2872   __builtin_HEXAGON_V6_vnormamtw_128B(v128);
2873   // CHECK: @llvm.hexagon.V6.vnot
2874   __builtin_HEXAGON_V6_vnot(v64);
2875   // CHECK: @llvm.hexagon.V6.vnot.128B
2876   __builtin_HEXAGON_V6_vnot_128B(v128);
2877   // CHECK: @llvm.hexagon.V6.vor
2878   __builtin_HEXAGON_V6_vor(v64, v64);
2879   // CHECK: @llvm.hexagon.V6.vor.128B
2880   __builtin_HEXAGON_V6_vor_128B(v128, v128);
2881   // CHECK: @llvm.hexagon.V6.vpackeb
2882   __builtin_HEXAGON_V6_vpackeb(v64, v64);
2883   // CHECK: @llvm.hexagon.V6.vpackeb.128B
2884   __builtin_HEXAGON_V6_vpackeb_128B(v128, v128);
2885   // CHECK: @llvm.hexagon.V6.vpackeh
2886   __builtin_HEXAGON_V6_vpackeh(v64, v64);
2887   // CHECK: @llvm.hexagon.V6.vpackeh.128B
2888   __builtin_HEXAGON_V6_vpackeh_128B(v128, v128);
2889   // CHECK: @llvm.hexagon.V6.vpackhb.sat
2890   __builtin_HEXAGON_V6_vpackhb_sat(v64, v64);
2891   // CHECK: @llvm.hexagon.V6.vpackhb.sat.128B
2892   __builtin_HEXAGON_V6_vpackhb_sat_128B(v128, v128);
2893   // CHECK: @llvm.hexagon.V6.vpackhub.sat
2894   __builtin_HEXAGON_V6_vpackhub_sat(v64, v64);
2895   // CHECK: @llvm.hexagon.V6.vpackhub.sat.128B
2896   __builtin_HEXAGON_V6_vpackhub_sat_128B(v128, v128);
2897   // CHECK: @llvm.hexagon.V6.vpackob
2898   __builtin_HEXAGON_V6_vpackob(v64, v64);
2899   // CHECK: @llvm.hexagon.V6.vpackob.128B
2900   __builtin_HEXAGON_V6_vpackob_128B(v128, v128);
2901   // CHECK: @llvm.hexagon.V6.vpackoh
2902   __builtin_HEXAGON_V6_vpackoh(v64, v64);
2903   // CHECK: @llvm.hexagon.V6.vpackoh.128B
2904   __builtin_HEXAGON_V6_vpackoh_128B(v128, v128);
2905   // CHECK: @llvm.hexagon.V6.vpackwh.sat
2906   __builtin_HEXAGON_V6_vpackwh_sat(v64, v64);
2907   // CHECK: @llvm.hexagon.V6.vpackwh.sat.128B
2908   __builtin_HEXAGON_V6_vpackwh_sat_128B(v128, v128);
2909   // CHECK: @llvm.hexagon.V6.vpackwuh.sat
2910   __builtin_HEXAGON_V6_vpackwuh_sat(v64, v64);
2911   // CHECK: @llvm.hexagon.V6.vpackwuh.sat.128B
2912   __builtin_HEXAGON_V6_vpackwuh_sat_128B(v128, v128);
2913   // CHECK: @llvm.hexagon.V6.vpopcounth
2914   __builtin_HEXAGON_V6_vpopcounth(v64);
2915   // CHECK: @llvm.hexagon.V6.vpopcounth.128B
2916   __builtin_HEXAGON_V6_vpopcounth_128B(v128);
2917   // CHECK: @llvm.hexagon.V6.vprefixqb
2918   __builtin_HEXAGON_V6_vprefixqb(v64);
2919   // CHECK: @llvm.hexagon.V6.vprefixqb.128B
2920   __builtin_HEXAGON_V6_vprefixqb_128B(v128);
2921   // CHECK: @llvm.hexagon.V6.vprefixqh
2922   __builtin_HEXAGON_V6_vprefixqh(v64);
2923   // CHECK: @llvm.hexagon.V6.vprefixqh.128B
2924   __builtin_HEXAGON_V6_vprefixqh_128B(v128);
2925   // CHECK: @llvm.hexagon.V6.vprefixqw
2926   __builtin_HEXAGON_V6_vprefixqw(v64);
2927   // CHECK: @llvm.hexagon.V6.vprefixqw.128B
2928   __builtin_HEXAGON_V6_vprefixqw_128B(v128);
2929   // CHECK: @llvm.hexagon.V6.vrdelta
2930   __builtin_HEXAGON_V6_vrdelta(v64, v64);
2931   // CHECK: @llvm.hexagon.V6.vrdelta.128B
2932   __builtin_HEXAGON_V6_vrdelta_128B(v128, v128);
2933   // CHECK: @llvm.hexagon.V6.vrmpybub.rtt
2934   __builtin_HEXAGON_V6_vrmpybub_rtt(v64, 0);
2935   // CHECK: @llvm.hexagon.V6.vrmpybub.rtt.128B
2936   __builtin_HEXAGON_V6_vrmpybub_rtt_128B(v128, 0);
2937   // CHECK: @llvm.hexagon.V6.vrmpybub.rtt.acc
2938   __builtin_HEXAGON_V6_vrmpybub_rtt_acc(v128, v64, 0);
2939   // CHECK: @llvm.hexagon.V6.vrmpybub.rtt.acc.128B
2940   __builtin_HEXAGON_V6_vrmpybub_rtt_acc_128B(v256, v128, 0);
2941   // CHECK: @llvm.hexagon.V6.vrmpybus
2942   __builtin_HEXAGON_V6_vrmpybus(v64, 0);
2943   // CHECK: @llvm.hexagon.V6.vrmpybus.128B
2944   __builtin_HEXAGON_V6_vrmpybus_128B(v128, 0);
2945   // CHECK: @llvm.hexagon.V6.vrmpybus.acc
2946   __builtin_HEXAGON_V6_vrmpybus_acc(v64, v64, 0);
2947   // CHECK: @llvm.hexagon.V6.vrmpybus.acc.128B
2948   __builtin_HEXAGON_V6_vrmpybus_acc_128B(v128, v128, 0);
2949   // CHECK: @llvm.hexagon.V6.vrmpybusi
2950   __builtin_HEXAGON_V6_vrmpybusi(v128, 0, 0);
2951   // CHECK: @llvm.hexagon.V6.vrmpybusi.128B
2952   __builtin_HEXAGON_V6_vrmpybusi_128B(v256, 0, 0);
2953   // CHECK: @llvm.hexagon.V6.vrmpybusi.acc
2954   __builtin_HEXAGON_V6_vrmpybusi_acc(v128, v128, 0, 0);
2955   // CHECK: @llvm.hexagon.V6.vrmpybusi.acc.128B
2956   __builtin_HEXAGON_V6_vrmpybusi_acc_128B(v256, v256, 0, 0);
2957   // CHECK: @llvm.hexagon.V6.vrmpybusv
2958   __builtin_HEXAGON_V6_vrmpybusv(v64, v64);
2959   // CHECK: @llvm.hexagon.V6.vrmpybusv.128B
2960   __builtin_HEXAGON_V6_vrmpybusv_128B(v128, v128);
2961   // CHECK: @llvm.hexagon.V6.vrmpybusv.acc
2962   __builtin_HEXAGON_V6_vrmpybusv_acc(v64, v64, v64);
2963   // CHECK: @llvm.hexagon.V6.vrmpybusv.acc.128B
2964   __builtin_HEXAGON_V6_vrmpybusv_acc_128B(v128, v128, v128);
2965   // CHECK: @llvm.hexagon.V6.vrmpybv
2966   __builtin_HEXAGON_V6_vrmpybv(v64, v64);
2967   // CHECK: @llvm.hexagon.V6.vrmpybv.128B
2968   __builtin_HEXAGON_V6_vrmpybv_128B(v128, v128);
2969   // CHECK: @llvm.hexagon.V6.vrmpybv.acc
2970   __builtin_HEXAGON_V6_vrmpybv_acc(v64, v64, v64);
2971   // CHECK: @llvm.hexagon.V6.vrmpybv.acc.128B
2972   __builtin_HEXAGON_V6_vrmpybv_acc_128B(v128, v128, v128);
2973   // CHECK: @llvm.hexagon.V6.vrmpyub
2974   __builtin_HEXAGON_V6_vrmpyub(v64, 0);
2975   // CHECK: @llvm.hexagon.V6.vrmpyub.128B
2976   __builtin_HEXAGON_V6_vrmpyub_128B(v128, 0);
2977   // CHECK: @llvm.hexagon.V6.vrmpyub.acc
2978   __builtin_HEXAGON_V6_vrmpyub_acc(v64, v64, 0);
2979   // CHECK: @llvm.hexagon.V6.vrmpyub.acc.128B
2980   __builtin_HEXAGON_V6_vrmpyub_acc_128B(v128, v128, 0);
2981   // CHECK: @llvm.hexagon.V6.vrmpyub.rtt
2982   __builtin_HEXAGON_V6_vrmpyub_rtt(v64, 0);
2983   // CHECK: @llvm.hexagon.V6.vrmpyub.rtt.128B
2984   __builtin_HEXAGON_V6_vrmpyub_rtt_128B(v128, 0);
2985   // CHECK: @llvm.hexagon.V6.vrmpyub.rtt.acc
2986   __builtin_HEXAGON_V6_vrmpyub_rtt_acc(v128, v64, 0);
2987   // CHECK: @llvm.hexagon.V6.vrmpyub.rtt.acc.128B
2988   __builtin_HEXAGON_V6_vrmpyub_rtt_acc_128B(v256, v128, 0);
2989   // CHECK: @llvm.hexagon.V6.vrmpyubi
2990   __builtin_HEXAGON_V6_vrmpyubi(v128, 0, 0);
2991   // CHECK: @llvm.hexagon.V6.vrmpyubi.128B
2992   __builtin_HEXAGON_V6_vrmpyubi_128B(v256, 0, 0);
2993   // CHECK: @llvm.hexagon.V6.vrmpyubi.acc
2994   __builtin_HEXAGON_V6_vrmpyubi_acc(v128, v128, 0, 0);
2995   // CHECK: @llvm.hexagon.V6.vrmpyubi.acc.128B
2996   __builtin_HEXAGON_V6_vrmpyubi_acc_128B(v256, v256, 0, 0);
2997   // CHECK: @llvm.hexagon.V6.vrmpyubv
2998   __builtin_HEXAGON_V6_vrmpyubv(v64, v64);
2999   // CHECK: @llvm.hexagon.V6.vrmpyubv.128B
3000   __builtin_HEXAGON_V6_vrmpyubv_128B(v128, v128);
3001   // CHECK: @llvm.hexagon.V6.vrmpyubv.acc
3002   __builtin_HEXAGON_V6_vrmpyubv_acc(v64, v64, v64);
3003   // CHECK: @llvm.hexagon.V6.vrmpyubv.acc.128B
3004   __builtin_HEXAGON_V6_vrmpyubv_acc_128B(v128, v128, v128);
3005   // CHECK: @llvm.hexagon.V6.vror
3006   __builtin_HEXAGON_V6_vror(v64, 0);
3007   // CHECK: @llvm.hexagon.V6.vror.128B
3008   __builtin_HEXAGON_V6_vror_128B(v128, 0);
3009   // CHECK: @llvm.hexagon.V6.vroundhb
3010   __builtin_HEXAGON_V6_vroundhb(v64, v64);
3011   // CHECK: @llvm.hexagon.V6.vroundhb.128B
3012   __builtin_HEXAGON_V6_vroundhb_128B(v128, v128);
3013   // CHECK: @llvm.hexagon.V6.vroundhub
3014   __builtin_HEXAGON_V6_vroundhub(v64, v64);
3015   // CHECK: @llvm.hexagon.V6.vroundhub.128B
3016   __builtin_HEXAGON_V6_vroundhub_128B(v128, v128);
3017   // CHECK: @llvm.hexagon.V6.vrounduhub
3018   __builtin_HEXAGON_V6_vrounduhub(v64, v64);
3019   // CHECK: @llvm.hexagon.V6.vrounduhub.128B
3020   __builtin_HEXAGON_V6_vrounduhub_128B(v128, v128);
3021   // CHECK: @llvm.hexagon.V6.vrounduwuh
3022   __builtin_HEXAGON_V6_vrounduwuh(v64, v64);
3023   // CHECK: @llvm.hexagon.V6.vrounduwuh.128B
3024   __builtin_HEXAGON_V6_vrounduwuh_128B(v128, v128);
3025   // CHECK: @llvm.hexagon.V6.vroundwh
3026   __builtin_HEXAGON_V6_vroundwh(v64, v64);
3027   // CHECK: @llvm.hexagon.V6.vroundwh.128B
3028   __builtin_HEXAGON_V6_vroundwh_128B(v128, v128);
3029   // CHECK: @llvm.hexagon.V6.vroundwuh
3030   __builtin_HEXAGON_V6_vroundwuh(v64, v64);
3031   // CHECK: @llvm.hexagon.V6.vroundwuh.128B
3032   __builtin_HEXAGON_V6_vroundwuh_128B(v128, v128);
3033   // CHECK: @llvm.hexagon.V6.vrsadubi
3034   __builtin_HEXAGON_V6_vrsadubi(v128, 0, 0);
3035   // CHECK: @llvm.hexagon.V6.vrsadubi.128B
3036   __builtin_HEXAGON_V6_vrsadubi_128B(v256, 0, 0);
3037   // CHECK: @llvm.hexagon.V6.vrsadubi.acc
3038   __builtin_HEXAGON_V6_vrsadubi_acc(v128, v128, 0, 0);
3039   // CHECK: @llvm.hexagon.V6.vrsadubi.acc.128B
3040   __builtin_HEXAGON_V6_vrsadubi_acc_128B(v256, v256, 0, 0);
3041   // CHECK: @llvm.hexagon.V6.vsathub
3042   __builtin_HEXAGON_V6_vsathub(v64, v64);
3043   // CHECK: @llvm.hexagon.V6.vsathub.128B
3044   __builtin_HEXAGON_V6_vsathub_128B(v128, v128);
3045   // CHECK: @llvm.hexagon.V6.vsatuwuh
3046   __builtin_HEXAGON_V6_vsatuwuh(v64, v64);
3047   // CHECK: @llvm.hexagon.V6.vsatuwuh.128B
3048   __builtin_HEXAGON_V6_vsatuwuh_128B(v128, v128);
3049   // CHECK: @llvm.hexagon.V6.vsatwh
3050   __builtin_HEXAGON_V6_vsatwh(v64, v64);
3051   // CHECK: @llvm.hexagon.V6.vsatwh.128B
3052   __builtin_HEXAGON_V6_vsatwh_128B(v128, v128);
3053   // CHECK: @llvm.hexagon.V6.vsb
3054   __builtin_HEXAGON_V6_vsb(v64);
3055   // CHECK: @llvm.hexagon.V6.vsb.128B
3056   __builtin_HEXAGON_V6_vsb_128B(v128);
3057   // CHECK: @llvm.hexagon.V6.vscattermh
3058   __builtin_HEXAGON_V6_vscattermh(0, 0, v64, v64);
3059   // CHECK: @llvm.hexagon.V6.vscattermh.128B
3060   __builtin_HEXAGON_V6_vscattermh_128B(0, 0, v128, v128);
3061   // CHECK: @llvm.hexagon.V6.vscattermh.add
3062   __builtin_HEXAGON_V6_vscattermh_add(0, 0, v64, v64);
3063   // CHECK: @llvm.hexagon.V6.vscattermh.add.128B
3064   __builtin_HEXAGON_V6_vscattermh_add_128B(0, 0, v128, v128);
3065   // CHECK: @llvm.hexagon.V6.vscattermhq
3066   __builtin_HEXAGON_V6_vscattermhq(v64, 0, 0, v64, v64);
3067   // CHECK: @llvm.hexagon.V6.vscattermhq.128B
3068   __builtin_HEXAGON_V6_vscattermhq_128B(v128, 0, 0, v128, v128);
3069   // CHECK: @llvm.hexagon.V6.vscattermhw
3070   __builtin_HEXAGON_V6_vscattermhw(0, 0, v128, v64);
3071   // CHECK: @llvm.hexagon.V6.vscattermhw.128B
3072   __builtin_HEXAGON_V6_vscattermhw_128B(0, 0, v256, v128);
3073   // CHECK: @llvm.hexagon.V6.vscattermhw.add
3074   __builtin_HEXAGON_V6_vscattermhw_add(0, 0, v128, v64);
3075   // CHECK: @llvm.hexagon.V6.vscattermhw.add.128B
3076   __builtin_HEXAGON_V6_vscattermhw_add_128B(0, 0, v256, v128);
3077   // CHECK: @llvm.hexagon.V6.vscattermhwq
3078   __builtin_HEXAGON_V6_vscattermhwq(v64, 0, 0, v128, v64);
3079   // CHECK: @llvm.hexagon.V6.vscattermhwq.128B
3080   __builtin_HEXAGON_V6_vscattermhwq_128B(v128, 0, 0, v256, v128);
3081   // CHECK: @llvm.hexagon.V6.vscattermw
3082   __builtin_HEXAGON_V6_vscattermw(0, 0, v64, v64);
3083   // CHECK: @llvm.hexagon.V6.vscattermw.128B
3084   __builtin_HEXAGON_V6_vscattermw_128B(0, 0, v128, v128);
3085   // CHECK: @llvm.hexagon.V6.vscattermw.add
3086   __builtin_HEXAGON_V6_vscattermw_add(0, 0, v64, v64);
3087   // CHECK: @llvm.hexagon.V6.vscattermw.add.128B
3088   __builtin_HEXAGON_V6_vscattermw_add_128B(0, 0, v128, v128);
3089   // CHECK: @llvm.hexagon.V6.vscattermwq
3090   __builtin_HEXAGON_V6_vscattermwq(v64, 0, 0, v64, v64);
3091   // CHECK: @llvm.hexagon.V6.vscattermwq.128B
3092   __builtin_HEXAGON_V6_vscattermwq_128B(v128, 0, 0, v128, v128);
3093   // CHECK: @llvm.hexagon.V6.vsh
3094   __builtin_HEXAGON_V6_vsh(v64);
3095   // CHECK: @llvm.hexagon.V6.vsh.128B
3096   __builtin_HEXAGON_V6_vsh_128B(v128);
3097   // CHECK: @llvm.hexagon.V6.vshufeh
3098   __builtin_HEXAGON_V6_vshufeh(v64, v64);
3099   // CHECK: @llvm.hexagon.V6.vshufeh.128B
3100   __builtin_HEXAGON_V6_vshufeh_128B(v128, v128);
3101   // CHECK: @llvm.hexagon.V6.vshuffb
3102   __builtin_HEXAGON_V6_vshuffb(v64);
3103   // CHECK: @llvm.hexagon.V6.vshuffb.128B
3104   __builtin_HEXAGON_V6_vshuffb_128B(v128);
3105   // CHECK: @llvm.hexagon.V6.vshuffeb
3106   __builtin_HEXAGON_V6_vshuffeb(v64, v64);
3107   // CHECK: @llvm.hexagon.V6.vshuffeb.128B
3108   __builtin_HEXAGON_V6_vshuffeb_128B(v128, v128);
3109   // CHECK: @llvm.hexagon.V6.vshuffh
3110   __builtin_HEXAGON_V6_vshuffh(v64);
3111   // CHECK: @llvm.hexagon.V6.vshuffh.128B
3112   __builtin_HEXAGON_V6_vshuffh_128B(v128);
3113   // CHECK: @llvm.hexagon.V6.vshuffob
3114   __builtin_HEXAGON_V6_vshuffob(v64, v64);
3115   // CHECK: @llvm.hexagon.V6.vshuffob.128B
3116   __builtin_HEXAGON_V6_vshuffob_128B(v128, v128);
3117   // CHECK: @llvm.hexagon.V6.vshuffvdd
3118   __builtin_HEXAGON_V6_vshuffvdd(v64, v64, 0);
3119   // CHECK: @llvm.hexagon.V6.vshuffvdd.128B
3120   __builtin_HEXAGON_V6_vshuffvdd_128B(v128, v128, 0);
3121   // CHECK: @llvm.hexagon.V6.vshufoeb
3122   __builtin_HEXAGON_V6_vshufoeb(v64, v64);
3123   // CHECK: @llvm.hexagon.V6.vshufoeb.128B
3124   __builtin_HEXAGON_V6_vshufoeb_128B(v128, v128);
3125   // CHECK: @llvm.hexagon.V6.vshufoeh
3126   __builtin_HEXAGON_V6_vshufoeh(v64, v64);
3127   // CHECK: @llvm.hexagon.V6.vshufoeh.128B
3128   __builtin_HEXAGON_V6_vshufoeh_128B(v128, v128);
3129   // CHECK: @llvm.hexagon.V6.vshufoh
3130   __builtin_HEXAGON_V6_vshufoh(v64, v64);
3131   // CHECK: @llvm.hexagon.V6.vshufoh.128B
3132   __builtin_HEXAGON_V6_vshufoh_128B(v128, v128);
3133   // CHECK: @llvm.hexagon.V6.vsubb
3134   __builtin_HEXAGON_V6_vsubb(v64, v64);
3135   // CHECK: @llvm.hexagon.V6.vsubb.128B
3136   __builtin_HEXAGON_V6_vsubb_128B(v128, v128);
3137   // CHECK: @llvm.hexagon.V6.vsubb.dv
3138   __builtin_HEXAGON_V6_vsubb_dv(v128, v128);
3139   // CHECK: @llvm.hexagon.V6.vsubb.dv.128B
3140   __builtin_HEXAGON_V6_vsubb_dv_128B(v256, v256);
3141   // CHECK: @llvm.hexagon.V6.vsubbnq
3142   __builtin_HEXAGON_V6_vsubbnq(v64, v64, v64);
3143   // CHECK: @llvm.hexagon.V6.vsubbnq.128B
3144   __builtin_HEXAGON_V6_vsubbnq_128B(v128, v128, v128);
3145   // CHECK: @llvm.hexagon.V6.vsubbq
3146   __builtin_HEXAGON_V6_vsubbq(v64, v64, v64);
3147   // CHECK: @llvm.hexagon.V6.vsubbq.128B
3148   __builtin_HEXAGON_V6_vsubbq_128B(v128, v128, v128);
3149   // CHECK: @llvm.hexagon.V6.vsubbsat
3150   __builtin_HEXAGON_V6_vsubbsat(v64, v64);
3151   // CHECK: @llvm.hexagon.V6.vsubbsat.128B
3152   __builtin_HEXAGON_V6_vsubbsat_128B(v128, v128);
3153   // CHECK: @llvm.hexagon.V6.vsubbsat.dv
3154   __builtin_HEXAGON_V6_vsubbsat_dv(v128, v128);
3155   // CHECK: @llvm.hexagon.V6.vsubbsat.dv.128B
3156   __builtin_HEXAGON_V6_vsubbsat_dv_128B(v256, v256);
3157   // CHECK: @llvm.hexagon.V6.vsubcarry
3158   __builtin_HEXAGON_V6_vsubcarry(v64, v64, 0);
3159   // CHECK: @llvm.hexagon.V6.vsubcarry.128B
3160   __builtin_HEXAGON_V6_vsubcarry_128B(v128, v128, 0);
3161   // CHECK: @llvm.hexagon.V6.vsubh
3162   __builtin_HEXAGON_V6_vsubh(v64, v64);
3163   // CHECK: @llvm.hexagon.V6.vsubh.128B
3164   __builtin_HEXAGON_V6_vsubh_128B(v128, v128);
3165   // CHECK: @llvm.hexagon.V6.vsubh.dv
3166   __builtin_HEXAGON_V6_vsubh_dv(v128, v128);
3167   // CHECK: @llvm.hexagon.V6.vsubh.dv.128B
3168   __builtin_HEXAGON_V6_vsubh_dv_128B(v256, v256);
3169   // CHECK: @llvm.hexagon.V6.vsubhnq
3170   __builtin_HEXAGON_V6_vsubhnq(v64, v64, v64);
3171   // CHECK: @llvm.hexagon.V6.vsubhnq.128B
3172   __builtin_HEXAGON_V6_vsubhnq_128B(v128, v128, v128);
3173   // CHECK: @llvm.hexagon.V6.vsubhq
3174   __builtin_HEXAGON_V6_vsubhq(v64, v64, v64);
3175   // CHECK: @llvm.hexagon.V6.vsubhq.128B
3176   __builtin_HEXAGON_V6_vsubhq_128B(v128, v128, v128);
3177   // CHECK: @llvm.hexagon.V6.vsubhsat
3178   __builtin_HEXAGON_V6_vsubhsat(v64, v64);
3179   // CHECK: @llvm.hexagon.V6.vsubhsat.128B
3180   __builtin_HEXAGON_V6_vsubhsat_128B(v128, v128);
3181   // CHECK: @llvm.hexagon.V6.vsubhsat.dv
3182   __builtin_HEXAGON_V6_vsubhsat_dv(v128, v128);
3183   // CHECK: @llvm.hexagon.V6.vsubhsat.dv.128B
3184   __builtin_HEXAGON_V6_vsubhsat_dv_128B(v256, v256);
3185   // CHECK: @llvm.hexagon.V6.vsubhw
3186   __builtin_HEXAGON_V6_vsubhw(v64, v64);
3187   // CHECK: @llvm.hexagon.V6.vsubhw.128B
3188   __builtin_HEXAGON_V6_vsubhw_128B(v128, v128);
3189   // CHECK: @llvm.hexagon.V6.vsububh
3190   __builtin_HEXAGON_V6_vsububh(v64, v64);
3191   // CHECK: @llvm.hexagon.V6.vsububh.128B
3192   __builtin_HEXAGON_V6_vsububh_128B(v128, v128);
3193   // CHECK: @llvm.hexagon.V6.vsububsat
3194   __builtin_HEXAGON_V6_vsububsat(v64, v64);
3195   // CHECK: @llvm.hexagon.V6.vsububsat.128B
3196   __builtin_HEXAGON_V6_vsububsat_128B(v128, v128);
3197   // CHECK: @llvm.hexagon.V6.vsububsat.dv
3198   __builtin_HEXAGON_V6_vsububsat_dv(v128, v128);
3199   // CHECK: @llvm.hexagon.V6.vsububsat.dv.128B
3200   __builtin_HEXAGON_V6_vsububsat_dv_128B(v256, v256);
3201   // CHECK: @llvm.hexagon.V6.vsubububb.sat
3202   __builtin_HEXAGON_V6_vsubububb_sat(v64, v64);
3203   // CHECK: @llvm.hexagon.V6.vsubububb.sat.128B
3204   __builtin_HEXAGON_V6_vsubububb_sat_128B(v128, v128);
3205   // CHECK: @llvm.hexagon.V6.vsubuhsat
3206   __builtin_HEXAGON_V6_vsubuhsat(v64, v64);
3207   // CHECK: @llvm.hexagon.V6.vsubuhsat.128B
3208   __builtin_HEXAGON_V6_vsubuhsat_128B(v128, v128);
3209   // CHECK: @llvm.hexagon.V6.vsubuhsat.dv
3210   __builtin_HEXAGON_V6_vsubuhsat_dv(v128, v128);
3211   // CHECK: @llvm.hexagon.V6.vsubuhsat.dv.128B
3212   __builtin_HEXAGON_V6_vsubuhsat_dv_128B(v256, v256);
3213   // CHECK: @llvm.hexagon.V6.vsubuhw
3214   __builtin_HEXAGON_V6_vsubuhw(v64, v64);
3215   // CHECK: @llvm.hexagon.V6.vsubuhw.128B
3216   __builtin_HEXAGON_V6_vsubuhw_128B(v128, v128);
3217   // CHECK: @llvm.hexagon.V6.vsubuwsat
3218   __builtin_HEXAGON_V6_vsubuwsat(v64, v64);
3219   // CHECK: @llvm.hexagon.V6.vsubuwsat.128B
3220   __builtin_HEXAGON_V6_vsubuwsat_128B(v128, v128);
3221   // CHECK: @llvm.hexagon.V6.vsubuwsat.dv
3222   __builtin_HEXAGON_V6_vsubuwsat_dv(v128, v128);
3223   // CHECK: @llvm.hexagon.V6.vsubuwsat.dv.128B
3224   __builtin_HEXAGON_V6_vsubuwsat_dv_128B(v256, v256);
3225   // CHECK: @llvm.hexagon.V6.vsubw
3226   __builtin_HEXAGON_V6_vsubw(v64, v64);
3227   // CHECK: @llvm.hexagon.V6.vsubw.128B
3228   __builtin_HEXAGON_V6_vsubw_128B(v128, v128);
3229   // CHECK: @llvm.hexagon.V6.vsubw.dv
3230   __builtin_HEXAGON_V6_vsubw_dv(v128, v128);
3231   // CHECK: @llvm.hexagon.V6.vsubw.dv.128B
3232   __builtin_HEXAGON_V6_vsubw_dv_128B(v256, v256);
3233   // CHECK: @llvm.hexagon.V6.vsubwnq
3234   __builtin_HEXAGON_V6_vsubwnq(v64, v64, v64);
3235   // CHECK: @llvm.hexagon.V6.vsubwnq.128B
3236   __builtin_HEXAGON_V6_vsubwnq_128B(v128, v128, v128);
3237   // CHECK: @llvm.hexagon.V6.vsubwq
3238   __builtin_HEXAGON_V6_vsubwq(v64, v64, v64);
3239   // CHECK: @llvm.hexagon.V6.vsubwq.128B
3240   __builtin_HEXAGON_V6_vsubwq_128B(v128, v128, v128);
3241   // CHECK: @llvm.hexagon.V6.vsubwsat
3242   __builtin_HEXAGON_V6_vsubwsat(v64, v64);
3243   // CHECK: @llvm.hexagon.V6.vsubwsat.128B
3244   __builtin_HEXAGON_V6_vsubwsat_128B(v128, v128);
3245   // CHECK: @llvm.hexagon.V6.vsubwsat.dv
3246   __builtin_HEXAGON_V6_vsubwsat_dv(v128, v128);
3247   // CHECK: @llvm.hexagon.V6.vsubwsat.dv.128B
3248   __builtin_HEXAGON_V6_vsubwsat_dv_128B(v256, v256);
3249   // CHECK: @llvm.hexagon.V6.vswap
3250   __builtin_HEXAGON_V6_vswap(v64, v64, v64);
3251   // CHECK: @llvm.hexagon.V6.vswap.128B
3252   __builtin_HEXAGON_V6_vswap_128B(v128, v128, v128);
3253   // CHECK: @llvm.hexagon.V6.vtmpyb
3254   __builtin_HEXAGON_V6_vtmpyb(v128, 0);
3255   // CHECK: @llvm.hexagon.V6.vtmpyb.128B
3256   __builtin_HEXAGON_V6_vtmpyb_128B(v256, 0);
3257   // CHECK: @llvm.hexagon.V6.vtmpyb.acc
3258   __builtin_HEXAGON_V6_vtmpyb_acc(v128, v128, 0);
3259   // CHECK: @llvm.hexagon.V6.vtmpyb.acc.128B
3260   __builtin_HEXAGON_V6_vtmpyb_acc_128B(v256, v256, 0);
3261   // CHECK: @llvm.hexagon.V6.vtmpybus
3262   __builtin_HEXAGON_V6_vtmpybus(v128, 0);
3263   // CHECK: @llvm.hexagon.V6.vtmpybus.128B
3264   __builtin_HEXAGON_V6_vtmpybus_128B(v256, 0);
3265   // CHECK: @llvm.hexagon.V6.vtmpybus.acc
3266   __builtin_HEXAGON_V6_vtmpybus_acc(v128, v128, 0);
3267   // CHECK: @llvm.hexagon.V6.vtmpybus.acc.128B
3268   __builtin_HEXAGON_V6_vtmpybus_acc_128B(v256, v256, 0);
3269   // CHECK: @llvm.hexagon.V6.vtmpyhb
3270   __builtin_HEXAGON_V6_vtmpyhb(v128, 0);
3271   // CHECK: @llvm.hexagon.V6.vtmpyhb.128B
3272   __builtin_HEXAGON_V6_vtmpyhb_128B(v256, 0);
3273   // CHECK: @llvm.hexagon.V6.vtmpyhb.acc
3274   __builtin_HEXAGON_V6_vtmpyhb_acc(v128, v128, 0);
3275   // CHECK: @llvm.hexagon.V6.vtmpyhb.acc.128B
3276   __builtin_HEXAGON_V6_vtmpyhb_acc_128B(v256, v256, 0);
3277   // CHECK: @llvm.hexagon.V6.vunpackb
3278   __builtin_HEXAGON_V6_vunpackb(v64);
3279   // CHECK: @llvm.hexagon.V6.vunpackb.128B
3280   __builtin_HEXAGON_V6_vunpackb_128B(v128);
3281   // CHECK: @llvm.hexagon.V6.vunpackh
3282   __builtin_HEXAGON_V6_vunpackh(v64);
3283   // CHECK: @llvm.hexagon.V6.vunpackh.128B
3284   __builtin_HEXAGON_V6_vunpackh_128B(v128);
3285   // CHECK: @llvm.hexagon.V6.vunpackob
3286   __builtin_HEXAGON_V6_vunpackob(v128, v64);
3287   // CHECK: @llvm.hexagon.V6.vunpackob.128B
3288   __builtin_HEXAGON_V6_vunpackob_128B(v256, v128);
3289   // CHECK: @llvm.hexagon.V6.vunpackoh
3290   __builtin_HEXAGON_V6_vunpackoh(v128, v64);
3291   // CHECK: @llvm.hexagon.V6.vunpackoh.128B
3292   __builtin_HEXAGON_V6_vunpackoh_128B(v256, v128);
3293   // CHECK: @llvm.hexagon.V6.vunpackub
3294   __builtin_HEXAGON_V6_vunpackub(v64);
3295   // CHECK: @llvm.hexagon.V6.vunpackub.128B
3296   __builtin_HEXAGON_V6_vunpackub_128B(v128);
3297   // CHECK: @llvm.hexagon.V6.vunpackuh
3298   __builtin_HEXAGON_V6_vunpackuh(v64);
3299   // CHECK: @llvm.hexagon.V6.vunpackuh.128B
3300   __builtin_HEXAGON_V6_vunpackuh_128B(v128);
3301   // CHECK: @llvm.hexagon.V6.vxor
3302   __builtin_HEXAGON_V6_vxor(v64, v64);
3303   // CHECK: @llvm.hexagon.V6.vxor.128B
3304   __builtin_HEXAGON_V6_vxor_128B(v128, v128);
3305   // CHECK: @llvm.hexagon.V6.vzb
3306   __builtin_HEXAGON_V6_vzb(v64);
3307   // CHECK: @llvm.hexagon.V6.vzb.128B
3308   __builtin_HEXAGON_V6_vzb_128B(v128);
3309   // CHECK: @llvm.hexagon.V6.vzh
3310   __builtin_HEXAGON_V6_vzh(v64);
3311   // CHECK: @llvm.hexagon.V6.vzh.128B
3312   __builtin_HEXAGON_V6_vzh_128B(v128);
3313   // CHECK: @llvm.hexagon.Y2.dccleana
3314   __builtin_HEXAGON_Y2_dccleana(0);
3315   // CHECK: @llvm.hexagon.Y2.dccleaninva
3316   __builtin_HEXAGON_Y2_dccleaninva(0);
3317   // CHECK: @llvm.hexagon.Y2.dcinva
3318   __builtin_HEXAGON_Y2_dcinva(0);
3319   // CHECK: @llvm.hexagon.Y2.dczeroa
3320   __builtin_HEXAGON_Y2_dczeroa(0);
3321   // CHECK: @llvm.hexagon.Y4.l2fetch
3322   __builtin_HEXAGON_Y4_l2fetch(0, 0);
3323   // CHECK: @llvm.hexagon.Y5.l2fetch
3324   __builtin_HEXAGON_Y5_l2fetch(0, 0);
3325   // CHECK: @llvm.hexagon.brev.ldb
3326   __builtin_brev_ldb(0, 0, 0);
3327   // CHECK: @llvm.hexagon.brev.ldd
3328   __builtin_brev_ldd(0, 0, 0);
3329   // CHECK: @llvm.hexagon.brev.ldh
3330   __builtin_brev_ldh(0, 0, 0);
3331   // CHECK: @llvm.hexagon.brev.ldub
3332   __builtin_brev_ldub(0, 0, 0);
3333   // CHECK: @llvm.hexagon.brev.lduh
3334   __builtin_brev_lduh(0, 0, 0);
3335   // CHECK: @llvm.hexagon.brev.ldw
3336   __builtin_brev_ldw(0, 0, 0);
3337   // CHECK: @llvm.hexagon.brev.stb
3338   __builtin_brev_stb(0, 0, 0);
3339   // CHECK: @llvm.hexagon.brev.std
3340   __builtin_brev_std(0, 0, 0);
3341   // CHECK: @llvm.hexagon.brev.sth
3342   __builtin_brev_sth(0, 0, 0);
3343   // CHECK: @llvm.hexagon.brev.sthhi
3344   __builtin_brev_sthhi(0, 0, 0);
3345   // CHECK: @llvm.hexagon.brev.stw
3346   __builtin_brev_stw(0, 0, 0);
3347   // CHECK: @llvm.hexagon.circ.ldb
3348   __builtin_circ_ldb(0, 0, 0, 0);
3349   // CHECK: @llvm.hexagon.circ.ldd
3350   __builtin_circ_ldd(0, 0, 0, 0);
3351   // CHECK: @llvm.hexagon.circ.ldh
3352   __builtin_circ_ldh(0, 0, 0, 0);
3353   // CHECK: @llvm.hexagon.circ.ldub
3354   __builtin_circ_ldub(0, 0, 0, 0);
3355   // CHECK: @llvm.hexagon.circ.lduh
3356   __builtin_circ_lduh(0, 0, 0, 0);
3357   // CHECK: @llvm.hexagon.circ.ldw
3358   __builtin_circ_ldw(0, 0, 0, 0);
3359   // CHECK: @llvm.hexagon.circ.stb
3360   __builtin_circ_stb(0, 0, 0, 0);
3361   // CHECK: @llvm.hexagon.circ.std
3362   __builtin_circ_std(0, 0, 0, 0);
3363   // CHECK: @llvm.hexagon.circ.sth
3364   __builtin_circ_sth(0, 0, 0, 0);
3365   // CHECK: @llvm.hexagon.circ.sthhi
3366   __builtin_circ_sthhi(0, 0, 0, 0);
3367   // CHECK: @llvm.hexagon.circ.stw
3368   __builtin_circ_stw(0, 0, 0, 0);
3369   // CHECK: @llvm.hexagon.prefetch
3370   __builtin_HEXAGON_prefetch(0);
3371 }
3372