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