Clang Project

clang_source_code/test/CodeGen/builtins-hexagon.c
1// REQUIRES: hexagon-registered-target
2// RUN: %clang_cc1 -triple hexagon-unknown-elf -target-cpu hexagonv65 -target-feature +hvxv65 -emit-llvm %s -o - | FileCheck %s
3
4void test() {
5  int v64 __attribute__((__vector_size__(64)));
6  int v128 __attribute__((__vector_size__(128)));
7  int v256 __attribute__((__vector_size__(256)));
8
9  // CHECK: @llvm.hexagon.A2.abs
10  __builtin_HEXAGON_A2_abs(0);
11  // CHECK: @llvm.hexagon.A2.absp
12  __builtin_HEXAGON_A2_absp(0);
13  // CHECK: @llvm.hexagon.A2.abssat
14  __builtin_HEXAGON_A2_abssat(0);
15  // CHECK: @llvm.hexagon.A2.add
16  __builtin_HEXAGON_A2_add(0, 0);
17  // CHECK: @llvm.hexagon.A2.addh.h16.hh
18  __builtin_HEXAGON_A2_addh_h16_hh(0, 0);
19  // CHECK: @llvm.hexagon.A2.addh.h16.hl
20  __builtin_HEXAGON_A2_addh_h16_hl(0, 0);
21  // CHECK: @llvm.hexagon.A2.addh.h16.lh
22  __builtin_HEXAGON_A2_addh_h16_lh(0, 0);
23  // CHECK: @llvm.hexagon.A2.addh.h16.ll
24  __builtin_HEXAGON_A2_addh_h16_ll(0, 0);
25  // CHECK: @llvm.hexagon.A2.addh.h16.sat.hh
26  __builtin_HEXAGON_A2_addh_h16_sat_hh(0, 0);
27  // CHECK: @llvm.hexagon.A2.addh.h16.sat.hl
28  __builtin_HEXAGON_A2_addh_h16_sat_hl(0, 0);
29  // CHECK: @llvm.hexagon.A2.addh.h16.sat.lh
30  __builtin_HEXAGON_A2_addh_h16_sat_lh(0, 0);
31  // CHECK: @llvm.hexagon.A2.addh.h16.sat.ll
32  __builtin_HEXAGON_A2_addh_h16_sat_ll(0, 0);
33  // CHECK: @llvm.hexagon.A2.addh.l16.hl
34  __builtin_HEXAGON_A2_addh_l16_hl(0, 0);
35  // CHECK: @llvm.hexagon.A2.addh.l16.ll
36  __builtin_HEXAGON_A2_addh_l16_ll(0, 0);
37  // CHECK: @llvm.hexagon.A2.addh.l16.sat.hl
38  __builtin_HEXAGON_A2_addh_l16_sat_hl(0, 0);
39  // CHECK: @llvm.hexagon.A2.addh.l16.sat.ll
40  __builtin_HEXAGON_A2_addh_l16_sat_ll(0, 0);
41  // CHECK: @llvm.hexagon.A2.addi
42  __builtin_HEXAGON_A2_addi(0, 0);
43  // CHECK: @llvm.hexagon.A2.addp
44  __builtin_HEXAGON_A2_addp(0, 0);
45  // CHECK: @llvm.hexagon.A2.addpsat
46  __builtin_HEXAGON_A2_addpsat(0, 0);
47  // CHECK: @llvm.hexagon.A2.addsat
48  __builtin_HEXAGON_A2_addsat(0, 0);
49  // CHECK: @llvm.hexagon.A2.addsp
50  __builtin_HEXAGON_A2_addsp(0, 0);
51  // CHECK: @llvm.hexagon.A2.and
52  __builtin_HEXAGON_A2_and(0, 0);
53  // CHECK: @llvm.hexagon.A2.andir
54  __builtin_HEXAGON_A2_andir(0, 0);
55  // CHECK: @llvm.hexagon.A2.andp
56  __builtin_HEXAGON_A2_andp(0, 0);
57  // CHECK: @llvm.hexagon.A2.aslh
58  __builtin_HEXAGON_A2_aslh(0);
59  // CHECK: @llvm.hexagon.A2.asrh
60  __builtin_HEXAGON_A2_asrh(0);
61  // CHECK: @llvm.hexagon.A2.combine.hh
62  __builtin_HEXAGON_A2_combine_hh(0, 0);
63  // CHECK: @llvm.hexagon.A2.combine.hl
64  __builtin_HEXAGON_A2_combine_hl(0, 0);
65  // CHECK: @llvm.hexagon.A2.combine.lh
66  __builtin_HEXAGON_A2_combine_lh(0, 0);
67  // CHECK: @llvm.hexagon.A2.combine.ll
68  __builtin_HEXAGON_A2_combine_ll(0, 0);
69  // CHECK: @llvm.hexagon.A2.combineii
70  __builtin_HEXAGON_A2_combineii(0, 0);
71  // CHECK: @llvm.hexagon.A2.combinew
72  __builtin_HEXAGON_A2_combinew(0, 0);
73  // CHECK: @llvm.hexagon.A2.max
74  __builtin_HEXAGON_A2_max(0, 0);
75  // CHECK: @llvm.hexagon.A2.maxp
76  __builtin_HEXAGON_A2_maxp(0, 0);
77  // CHECK: @llvm.hexagon.A2.maxu
78  __builtin_HEXAGON_A2_maxu(0, 0);
79  // CHECK: @llvm.hexagon.A2.maxup
80  __builtin_HEXAGON_A2_maxup(0, 0);
81  // CHECK: @llvm.hexagon.A2.min
82  __builtin_HEXAGON_A2_min(0, 0);
83  // CHECK: @llvm.hexagon.A2.minp
84  __builtin_HEXAGON_A2_minp(0, 0);
85  // CHECK: @llvm.hexagon.A2.minu
86  __builtin_HEXAGON_A2_minu(0, 0);
87  // CHECK: @llvm.hexagon.A2.minup
88  __builtin_HEXAGON_A2_minup(0, 0);
89  // CHECK: @llvm.hexagon.A2.neg
90  __builtin_HEXAGON_A2_neg(0);
91  // CHECK: @llvm.hexagon.A2.negp
92  __builtin_HEXAGON_A2_negp(0);
93  // CHECK: @llvm.hexagon.A2.negsat
94  __builtin_HEXAGON_A2_negsat(0);
95  // CHECK: @llvm.hexagon.A2.not
96  __builtin_HEXAGON_A2_not(0);
97  // CHECK: @llvm.hexagon.A2.notp
98  __builtin_HEXAGON_A2_notp(0);
99  // CHECK: @llvm.hexagon.A2.or
100  __builtin_HEXAGON_A2_or(0, 0);
101  // CHECK: @llvm.hexagon.A2.orir
102  __builtin_HEXAGON_A2_orir(0, 0);
103  // CHECK: @llvm.hexagon.A2.orp
104  __builtin_HEXAGON_A2_orp(0, 0);
105  // CHECK: @llvm.hexagon.A2.roundsat
106  __builtin_HEXAGON_A2_roundsat(0);
107  // CHECK: @llvm.hexagon.A2.sat
108  __builtin_HEXAGON_A2_sat(0);
109  // CHECK: @llvm.hexagon.A2.satb
110  __builtin_HEXAGON_A2_satb(0);
111  // CHECK: @llvm.hexagon.A2.sath
112  __builtin_HEXAGON_A2_sath(0);
113  // CHECK: @llvm.hexagon.A2.satub
114  __builtin_HEXAGON_A2_satub(0);
115  // CHECK: @llvm.hexagon.A2.satuh
116  __builtin_HEXAGON_A2_satuh(0);
117  // CHECK: @llvm.hexagon.A2.sub
118  __builtin_HEXAGON_A2_sub(0, 0);
119  // CHECK: @llvm.hexagon.A2.subh.h16.hh
120  __builtin_HEXAGON_A2_subh_h16_hh(0, 0);
121  // CHECK: @llvm.hexagon.A2.subh.h16.hl
122  __builtin_HEXAGON_A2_subh_h16_hl(0, 0);
123  // CHECK: @llvm.hexagon.A2.subh.h16.lh
124  __builtin_HEXAGON_A2_subh_h16_lh(0, 0);
125  // CHECK: @llvm.hexagon.A2.subh.h16.ll
126  __builtin_HEXAGON_A2_subh_h16_ll(0, 0);
127  // CHECK: @llvm.hexagon.A2.subh.h16.sat.hh
128  __builtin_HEXAGON_A2_subh_h16_sat_hh(0, 0);
129  // CHECK: @llvm.hexagon.A2.subh.h16.sat.hl
130  __builtin_HEXAGON_A2_subh_h16_sat_hl(0, 0);
131  // CHECK: @llvm.hexagon.A2.subh.h16.sat.lh
132  __builtin_HEXAGON_A2_subh_h16_sat_lh(0, 0);
133  // CHECK: @llvm.hexagon.A2.subh.h16.sat.ll
134  __builtin_HEXAGON_A2_subh_h16_sat_ll(0, 0);
135  // CHECK: @llvm.hexagon.A2.subh.l16.hl
136  __builtin_HEXAGON_A2_subh_l16_hl(0, 0);
137  // CHECK: @llvm.hexagon.A2.subh.l16.ll
138  __builtin_HEXAGON_A2_subh_l16_ll(0, 0);
139  // CHECK: @llvm.hexagon.A2.subh.l16.sat.hl
140  __builtin_HEXAGON_A2_subh_l16_sat_hl(0, 0);
141  // CHECK: @llvm.hexagon.A2.subh.l16.sat.ll
142  __builtin_HEXAGON_A2_subh_l16_sat_ll(0, 0);
143  // CHECK: @llvm.hexagon.A2.subp
144  __builtin_HEXAGON_A2_subp(0, 0);
145  // CHECK: @llvm.hexagon.A2.subri
146  __builtin_HEXAGON_A2_subri(0, 0);
147  // CHECK: @llvm.hexagon.A2.subsat
148  __builtin_HEXAGON_A2_subsat(0, 0);
149  // CHECK: @llvm.hexagon.A2.svaddh
150  __builtin_HEXAGON_A2_svaddh(0, 0);
151  // CHECK: @llvm.hexagon.A2.svaddhs
152  __builtin_HEXAGON_A2_svaddhs(0, 0);
153  // CHECK: @llvm.hexagon.A2.svadduhs
154  __builtin_HEXAGON_A2_svadduhs(0, 0);
155  // CHECK: @llvm.hexagon.A2.svavgh
156  __builtin_HEXAGON_A2_svavgh(0, 0);
157  // CHECK: @llvm.hexagon.A2.svavghs
158  __builtin_HEXAGON_A2_svavghs(0, 0);
159  // CHECK: @llvm.hexagon.A2.svnavgh
160  __builtin_HEXAGON_A2_svnavgh(0, 0);
161  // CHECK: @llvm.hexagon.A2.svsubh
162  __builtin_HEXAGON_A2_svsubh(0, 0);
163  // CHECK: @llvm.hexagon.A2.svsubhs
164  __builtin_HEXAGON_A2_svsubhs(0, 0);
165  // CHECK: @llvm.hexagon.A2.svsubuhs
166  __builtin_HEXAGON_A2_svsubuhs(0, 0);
167  // CHECK: @llvm.hexagon.A2.swiz
168  __builtin_HEXAGON_A2_swiz(0);
169  // CHECK: @llvm.hexagon.A2.sxtb
170  __builtin_HEXAGON_A2_sxtb(0);
171  // CHECK: @llvm.hexagon.A2.sxth
172  __builtin_HEXAGON_A2_sxth(0);
173  // CHECK: @llvm.hexagon.A2.sxtw
174  __builtin_HEXAGON_A2_sxtw(0);
175  // CHECK: @llvm.hexagon.A2.tfr
176  __builtin_HEXAGON_A2_tfr(0);
177  // CHECK: @llvm.hexagon.A2.tfrih
178  __builtin_HEXAGON_A2_tfrih(0, 0);
179  // CHECK: @llvm.hexagon.A2.tfril
180  __builtin_HEXAGON_A2_tfril(0, 0);
181  // CHECK: @llvm.hexagon.A2.tfrp
182  __builtin_HEXAGON_A2_tfrp(0);
183  // CHECK: @llvm.hexagon.A2.tfrpi
184  __builtin_HEXAGON_A2_tfrpi(0);
185  // CHECK: @llvm.hexagon.A2.tfrsi
186  __builtin_HEXAGON_A2_tfrsi(0);
187  // CHECK: @llvm.hexagon.A2.vabsh
188  __builtin_HEXAGON_A2_vabsh(0);
189  // CHECK: @llvm.hexagon.A2.vabshsat
190  __builtin_HEXAGON_A2_vabshsat(0);
191  // CHECK: @llvm.hexagon.A2.vabsw
192  __builtin_HEXAGON_A2_vabsw(0);
193  // CHECK: @llvm.hexagon.A2.vabswsat
194  __builtin_HEXAGON_A2_vabswsat(0);
195  // CHECK: @llvm.hexagon.A2.vaddb.map
196  __builtin_HEXAGON_A2_vaddb_map(0, 0);
197  // CHECK: @llvm.hexagon.A2.vaddh
198  __builtin_HEXAGON_A2_vaddh(0, 0);
199  // CHECK: @llvm.hexagon.A2.vaddhs
200  __builtin_HEXAGON_A2_vaddhs(0, 0);
201  // CHECK: @llvm.hexagon.A2.vaddub
202  __builtin_HEXAGON_A2_vaddub(0, 0);
203  // CHECK: @llvm.hexagon.A2.vaddubs
204  __builtin_HEXAGON_A2_vaddubs(0, 0);
205  // CHECK: @llvm.hexagon.A2.vadduhs
206  __builtin_HEXAGON_A2_vadduhs(0, 0);
207  // CHECK: @llvm.hexagon.A2.vaddw
208  __builtin_HEXAGON_A2_vaddw(0, 0);
209  // CHECK: @llvm.hexagon.A2.vaddws
210  __builtin_HEXAGON_A2_vaddws(0, 0);
211  // CHECK: @llvm.hexagon.A2.vavgh
212  __builtin_HEXAGON_A2_vavgh(0, 0);
213  // CHECK: @llvm.hexagon.A2.vavghcr
214  __builtin_HEXAGON_A2_vavghcr(0, 0);
215  // CHECK: @llvm.hexagon.A2.vavghr
216  __builtin_HEXAGON_A2_vavghr(0, 0);
217  // CHECK: @llvm.hexagon.A2.vavgub
218  __builtin_HEXAGON_A2_vavgub(0, 0);
219  // CHECK: @llvm.hexagon.A2.vavgubr
220  __builtin_HEXAGON_A2_vavgubr(0, 0);
221  // CHECK: @llvm.hexagon.A2.vavguh
222  __builtin_HEXAGON_A2_vavguh(0, 0);
223  // CHECK: @llvm.hexagon.A2.vavguhr
224  __builtin_HEXAGON_A2_vavguhr(0, 0);
225  // CHECK: @llvm.hexagon.A2.vavguw
226  __builtin_HEXAGON_A2_vavguw(0, 0);
227  // CHECK: @llvm.hexagon.A2.vavguwr
228  __builtin_HEXAGON_A2_vavguwr(0, 0);
229  // CHECK: @llvm.hexagon.A2.vavgw
230  __builtin_HEXAGON_A2_vavgw(0, 0);
231  // CHECK: @llvm.hexagon.A2.vavgwcr
232  __builtin_HEXAGON_A2_vavgwcr(0, 0);
233  // CHECK: @llvm.hexagon.A2.vavgwr
234  __builtin_HEXAGON_A2_vavgwr(0, 0);
235  // CHECK: @llvm.hexagon.A2.vcmpbeq
236  __builtin_HEXAGON_A2_vcmpbeq(0, 0);
237  // CHECK: @llvm.hexagon.A2.vcmpbgtu
238  __builtin_HEXAGON_A2_vcmpbgtu(0, 0);
239  // CHECK: @llvm.hexagon.A2.vcmpheq
240  __builtin_HEXAGON_A2_vcmpheq(0, 0);
241  // CHECK: @llvm.hexagon.A2.vcmphgt
242  __builtin_HEXAGON_A2_vcmphgt(0, 0);
243  // CHECK: @llvm.hexagon.A2.vcmphgtu
244  __builtin_HEXAGON_A2_vcmphgtu(0, 0);
245  // CHECK: @llvm.hexagon.A2.vcmpweq
246  __builtin_HEXAGON_A2_vcmpweq(0, 0);
247  // CHECK: @llvm.hexagon.A2.vcmpwgt
248  __builtin_HEXAGON_A2_vcmpwgt(0, 0);
249  // CHECK: @llvm.hexagon.A2.vcmpwgtu
250  __builtin_HEXAGON_A2_vcmpwgtu(0, 0);
251  // CHECK: @llvm.hexagon.A2.vconj
252  __builtin_HEXAGON_A2_vconj(0);
253  // CHECK: @llvm.hexagon.A2.vmaxb
254  __builtin_HEXAGON_A2_vmaxb(0, 0);
255  // CHECK: @llvm.hexagon.A2.vmaxh
256  __builtin_HEXAGON_A2_vmaxh(0, 0);
257  // CHECK: @llvm.hexagon.A2.vmaxub
258  __builtin_HEXAGON_A2_vmaxub(0, 0);
259  // CHECK: @llvm.hexagon.A2.vmaxuh
260  __builtin_HEXAGON_A2_vmaxuh(0, 0);
261  // CHECK: @llvm.hexagon.A2.vmaxuw
262  __builtin_HEXAGON_A2_vmaxuw(0, 0);
263  // CHECK: @llvm.hexagon.A2.vmaxw
264  __builtin_HEXAGON_A2_vmaxw(0, 0);
265  // CHECK: @llvm.hexagon.A2.vminb
266  __builtin_HEXAGON_A2_vminb(0, 0);
267  // CHECK: @llvm.hexagon.A2.vminh
268  __builtin_HEXAGON_A2_vminh(0, 0);
269  // CHECK: @llvm.hexagon.A2.vminub
270  __builtin_HEXAGON_A2_vminub(0, 0);
271  // CHECK: @llvm.hexagon.A2.vminuh
272  __builtin_HEXAGON_A2_vminuh(0, 0);
273  // CHECK: @llvm.hexagon.A2.vminuw
274  __builtin_HEXAGON_A2_vminuw(0, 0);
275  // CHECK: @llvm.hexagon.A2.vminw
276  __builtin_HEXAGON_A2_vminw(0, 0);
277  // CHECK: @llvm.hexagon.A2.vnavgh
278  __builtin_HEXAGON_A2_vnavgh(0, 0);
279  // CHECK: @llvm.hexagon.A2.vnavghcr
280  __builtin_HEXAGON_A2_vnavghcr(0, 0);
281  // CHECK: @llvm.hexagon.A2.vnavghr
282  __builtin_HEXAGON_A2_vnavghr(0, 0);
283  // CHECK: @llvm.hexagon.A2.vnavgw
284  __builtin_HEXAGON_A2_vnavgw(0, 0);
285  // CHECK: @llvm.hexagon.A2.vnavgwcr
286  __builtin_HEXAGON_A2_vnavgwcr(0, 0);
287  // CHECK: @llvm.hexagon.A2.vnavgwr
288  __builtin_HEXAGON_A2_vnavgwr(0, 0);
289  // CHECK: @llvm.hexagon.A2.vraddub
290  __builtin_HEXAGON_A2_vraddub(0, 0);
291  // CHECK: @llvm.hexagon.A2.vraddub.acc
292  __builtin_HEXAGON_A2_vraddub_acc(0, 0, 0);
293  // CHECK: @llvm.hexagon.A2.vrsadub
294  __builtin_HEXAGON_A2_vrsadub(0, 0);
295  // CHECK: @llvm.hexagon.A2.vrsadub.acc
296  __builtin_HEXAGON_A2_vrsadub_acc(0, 0, 0);
297  // CHECK: @llvm.hexagon.A2.vsubb.map
298  __builtin_HEXAGON_A2_vsubb_map(0, 0);
299  // CHECK: @llvm.hexagon.A2.vsubh
300  __builtin_HEXAGON_A2_vsubh(0, 0);
301  // CHECK: @llvm.hexagon.A2.vsubhs
302  __builtin_HEXAGON_A2_vsubhs(0, 0);
303  // CHECK: @llvm.hexagon.A2.vsubub
304  __builtin_HEXAGON_A2_vsubub(0, 0);
305  // CHECK: @llvm.hexagon.A2.vsububs
306  __builtin_HEXAGON_A2_vsububs(0, 0);
307  // CHECK: @llvm.hexagon.A2.vsubuhs
308  __builtin_HEXAGON_A2_vsubuhs(0, 0);
309  // CHECK: @llvm.hexagon.A2.vsubw
310  __builtin_HEXAGON_A2_vsubw(0, 0);
311  // CHECK: @llvm.hexagon.A2.vsubws
312  __builtin_HEXAGON_A2_vsubws(0, 0);
313  // CHECK: @llvm.hexagon.A2.xor
314  __builtin_HEXAGON_A2_xor(0, 0);
315  // CHECK: @llvm.hexagon.A2.xorp
316  __builtin_HEXAGON_A2_xorp(0, 0);
317  // CHECK: @llvm.hexagon.A2.zxtb
318  __builtin_HEXAGON_A2_zxtb(0);
319  // CHECK: @llvm.hexagon.A2.zxth
320  __builtin_HEXAGON_A2_zxth(0);
321  // CHECK: @llvm.hexagon.A4.andn
322  __builtin_HEXAGON_A4_andn(0, 0);
323  // CHECK: @llvm.hexagon.A4.andnp
324  __builtin_HEXAGON_A4_andnp(0, 0);
325  // CHECK: @llvm.hexagon.A4.bitsplit
326  __builtin_HEXAGON_A4_bitsplit(0, 0);
327  // CHECK: @llvm.hexagon.A4.bitspliti
328  __builtin_HEXAGON_A4_bitspliti(0, 0);
329  // CHECK: @llvm.hexagon.A4.boundscheck
330  __builtin_HEXAGON_A4_boundscheck(0, 0);
331  // CHECK: @llvm.hexagon.A4.cmpbeq
332  __builtin_HEXAGON_A4_cmpbeq(0, 0);
333  // CHECK: @llvm.hexagon.A4.cmpbeqi
334  __builtin_HEXAGON_A4_cmpbeqi(0, 0);
335  // CHECK: @llvm.hexagon.A4.cmpbgt
336  __builtin_HEXAGON_A4_cmpbgt(0, 0);
337  // CHECK: @llvm.hexagon.A4.cmpbgti
338  __builtin_HEXAGON_A4_cmpbgti(0, 0);
339  // CHECK: @llvm.hexagon.A4.cmpbgtu
340  __builtin_HEXAGON_A4_cmpbgtu(0, 0);
341  // CHECK: @llvm.hexagon.A4.cmpbgtui
342  __builtin_HEXAGON_A4_cmpbgtui(0, 0);
343  // CHECK: @llvm.hexagon.A4.cmpheq
344  __builtin_HEXAGON_A4_cmpheq(0, 0);
345  // CHECK: @llvm.hexagon.A4.cmpheqi
346  __builtin_HEXAGON_A4_cmpheqi(0, 0);
347  // CHECK: @llvm.hexagon.A4.cmphgt
348  __builtin_HEXAGON_A4_cmphgt(0, 0);
349  // CHECK: @llvm.hexagon.A4.cmphgti
350  __builtin_HEXAGON_A4_cmphgti(0, 0);
351  // CHECK: @llvm.hexagon.A4.cmphgtu
352  __builtin_HEXAGON_A4_cmphgtu(0, 0);
353  // CHECK: @llvm.hexagon.A4.cmphgtui
354  __builtin_HEXAGON_A4_cmphgtui(0, 0);
355  // CHECK: @llvm.hexagon.A4.combineir
356  __builtin_HEXAGON_A4_combineir(0, 0);
357  // CHECK: @llvm.hexagon.A4.combineri
358  __builtin_HEXAGON_A4_combineri(0, 0);
359  // CHECK: @llvm.hexagon.A4.cround.ri
360  __builtin_HEXAGON_A4_cround_ri(0, 0);
361  // CHECK: @llvm.hexagon.A4.cround.rr
362  __builtin_HEXAGON_A4_cround_rr(0, 0);
363  // CHECK: @llvm.hexagon.A4.modwrapu
364  __builtin_HEXAGON_A4_modwrapu(0, 0);
365  // CHECK: @llvm.hexagon.A4.orn
366  __builtin_HEXAGON_A4_orn(0, 0);
367  // CHECK: @llvm.hexagon.A4.ornp
368  __builtin_HEXAGON_A4_ornp(0, 0);
369  // CHECK: @llvm.hexagon.A4.rcmpeq
370  __builtin_HEXAGON_A4_rcmpeq(0, 0);
371  // CHECK: @llvm.hexagon.A4.rcmpeqi
372  __builtin_HEXAGON_A4_rcmpeqi(0, 0);
373  // CHECK: @llvm.hexagon.A4.rcmpneq
374  __builtin_HEXAGON_A4_rcmpneq(0, 0);
375  // CHECK: @llvm.hexagon.A4.rcmpneqi
376  __builtin_HEXAGON_A4_rcmpneqi(0, 0);
377  // CHECK: @llvm.hexagon.A4.round.ri
378  __builtin_HEXAGON_A4_round_ri(0, 0);
379  // CHECK: @llvm.hexagon.A4.round.ri.sat
380  __builtin_HEXAGON_A4_round_ri_sat(0, 0);
381  // CHECK: @llvm.hexagon.A4.round.rr
382  __builtin_HEXAGON_A4_round_rr(0, 0);
383  // CHECK: @llvm.hexagon.A4.round.rr.sat
384  __builtin_HEXAGON_A4_round_rr_sat(0, 0);
385  // CHECK: @llvm.hexagon.A4.tlbmatch
386  __builtin_HEXAGON_A4_tlbmatch(0, 0);
387  // CHECK: @llvm.hexagon.A4.vcmpbeq.any
388  __builtin_HEXAGON_A4_vcmpbeq_any(0, 0);
389  // CHECK: @llvm.hexagon.A4.vcmpbeqi
390  __builtin_HEXAGON_A4_vcmpbeqi(0, 0);
391  // CHECK: @llvm.hexagon.A4.vcmpbgt
392  __builtin_HEXAGON_A4_vcmpbgt(0, 0);
393  // CHECK: @llvm.hexagon.A4.vcmpbgti
394  __builtin_HEXAGON_A4_vcmpbgti(0, 0);
395  // CHECK: @llvm.hexagon.A4.vcmpbgtui
396  __builtin_HEXAGON_A4_vcmpbgtui(0, 0);
397  // CHECK: @llvm.hexagon.A4.vcmpheqi
398  __builtin_HEXAGON_A4_vcmpheqi(0, 0);
399  // CHECK: @llvm.hexagon.A4.vcmphgti
400  __builtin_HEXAGON_A4_vcmphgti(0, 0);
401  // CHECK: @llvm.hexagon.A4.vcmphgtui
402  __builtin_HEXAGON_A4_vcmphgtui(0, 0);
403  // CHECK: @llvm.hexagon.A4.vcmpweqi
404  __builtin_HEXAGON_A4_vcmpweqi(0, 0);
405  // CHECK: @llvm.hexagon.A4.vcmpwgti
406  __builtin_HEXAGON_A4_vcmpwgti(0, 0);
407  // CHECK: @llvm.hexagon.A4.vcmpwgtui
408  __builtin_HEXAGON_A4_vcmpwgtui(0, 0);
409  // CHECK: @llvm.hexagon.A4.vrmaxh
410  __builtin_HEXAGON_A4_vrmaxh(0, 0, 0);
411  // CHECK: @llvm.hexagon.A4.vrmaxuh
412  __builtin_HEXAGON_A4_vrmaxuh(0, 0, 0);
413  // CHECK: @llvm.hexagon.A4.vrmaxuw
414  __builtin_HEXAGON_A4_vrmaxuw(0, 0, 0);
415  // CHECK: @llvm.hexagon.A4.vrmaxw
416  __builtin_HEXAGON_A4_vrmaxw(0, 0, 0);
417  // CHECK: @llvm.hexagon.A4.vrminh
418  __builtin_HEXAGON_A4_vrminh(0, 0, 0);
419  // CHECK: @llvm.hexagon.A4.vrminuh
420  __builtin_HEXAGON_A4_vrminuh(0, 0, 0);
421  // CHECK: @llvm.hexagon.A4.vrminuw
422  __builtin_HEXAGON_A4_vrminuw(0, 0, 0);
423  // CHECK: @llvm.hexagon.A4.vrminw
424  __builtin_HEXAGON_A4_vrminw(0, 0, 0);
425  // CHECK: @llvm.hexagon.A5.vaddhubs
426  __builtin_HEXAGON_A5_vaddhubs(0, 0);
427  // CHECK: @llvm.hexagon.A6.vcmpbeq.notany
428  __builtin_HEXAGON_A6_vcmpbeq_notany(0, 0);
429  // CHECK: @llvm.hexagon.C2.all8
430  __builtin_HEXAGON_C2_all8(0);
431  // CHECK: @llvm.hexagon.C2.and
432  __builtin_HEXAGON_C2_and(0, 0);
433  // CHECK: @llvm.hexagon.C2.andn
434  __builtin_HEXAGON_C2_andn(0, 0);
435  // CHECK: @llvm.hexagon.C2.any8
436  __builtin_HEXAGON_C2_any8(0);
437  // CHECK: @llvm.hexagon.C2.bitsclr
438  __builtin_HEXAGON_C2_bitsclr(0, 0);
439  // CHECK: @llvm.hexagon.C2.bitsclri
440  __builtin_HEXAGON_C2_bitsclri(0, 0);
441  // CHECK: @llvm.hexagon.C2.bitsset
442  __builtin_HEXAGON_C2_bitsset(0, 0);
443  // CHECK: @llvm.hexagon.C2.cmpeq
444  __builtin_HEXAGON_C2_cmpeq(0, 0);
445  // CHECK: @llvm.hexagon.C2.cmpeqi
446  __builtin_HEXAGON_C2_cmpeqi(0, 0);
447  // CHECK: @llvm.hexagon.C2.cmpeqp
448  __builtin_HEXAGON_C2_cmpeqp(0, 0);
449  // CHECK: @llvm.hexagon.C2.cmpgei
450  __builtin_HEXAGON_C2_cmpgei(0, 0);
451  // CHECK: @llvm.hexagon.C2.cmpgeui
452  __builtin_HEXAGON_C2_cmpgeui(0, 0);
453  // CHECK: @llvm.hexagon.C2.cmpgt
454  __builtin_HEXAGON_C2_cmpgt(0, 0);
455  // CHECK: @llvm.hexagon.C2.cmpgti
456  __builtin_HEXAGON_C2_cmpgti(0, 0);
457  // CHECK: @llvm.hexagon.C2.cmpgtp
458  __builtin_HEXAGON_C2_cmpgtp(0, 0);
459  // CHECK: @llvm.hexagon.C2.cmpgtu
460  __builtin_HEXAGON_C2_cmpgtu(0, 0);
461  // CHECK: @llvm.hexagon.C2.cmpgtui
462  __builtin_HEXAGON_C2_cmpgtui(0, 0);
463  // CHECK: @llvm.hexagon.C2.cmpgtup
464  __builtin_HEXAGON_C2_cmpgtup(0, 0);
465  // CHECK: @llvm.hexagon.C2.cmplt
466  __builtin_HEXAGON_C2_cmplt(0, 0);
467  // CHECK: @llvm.hexagon.C2.cmpltu
468  __builtin_HEXAGON_C2_cmpltu(0, 0);
469  // CHECK: @llvm.hexagon.C2.mask
470  __builtin_HEXAGON_C2_mask(0);
471  // CHECK: @llvm.hexagon.C2.mux
472  __builtin_HEXAGON_C2_mux(0, 0, 0);
473  // CHECK: @llvm.hexagon.C2.muxii
474  __builtin_HEXAGON_C2_muxii(0, 0, 0);
475  // CHECK: @llvm.hexagon.C2.muxir
476  __builtin_HEXAGON_C2_muxir(0, 0, 0);
477  // CHECK: @llvm.hexagon.C2.muxri
478  __builtin_HEXAGON_C2_muxri(0, 0, 0);
479  // CHECK: @llvm.hexagon.C2.not
480  __builtin_HEXAGON_C2_not(0);
481  // CHECK: @llvm.hexagon.C2.or
482  __builtin_HEXAGON_C2_or(0, 0);
483  // CHECK: @llvm.hexagon.C2.orn
484  __builtin_HEXAGON_C2_orn(0, 0);
485  // CHECK: @llvm.hexagon.C2.pxfer.map
486  __builtin_HEXAGON_C2_pxfer_map(0);
487  // CHECK: @llvm.hexagon.C2.tfrpr
488  __builtin_HEXAGON_C2_tfrpr(0);
489  // CHECK: @llvm.hexagon.C2.tfrrp
490  __builtin_HEXAGON_C2_tfrrp(0);
491  // CHECK: @llvm.hexagon.C2.vitpack
492  __builtin_HEXAGON_C2_vitpack(0, 0);
493  // CHECK: @llvm.hexagon.C2.vmux
494  __builtin_HEXAGON_C2_vmux(0, 0, 0);
495  // CHECK: @llvm.hexagon.C2.xor
496  __builtin_HEXAGON_C2_xor(0, 0);
497  // CHECK: @llvm.hexagon.C4.and.and
498  __builtin_HEXAGON_C4_and_and(0, 0, 0);
499  // CHECK: @llvm.hexagon.C4.and.andn
500  __builtin_HEXAGON_C4_and_andn(0, 0, 0);
501  // CHECK: @llvm.hexagon.C4.and.or
502  __builtin_HEXAGON_C4_and_or(0, 0, 0);
503  // CHECK: @llvm.hexagon.C4.and.orn
504  __builtin_HEXAGON_C4_and_orn(0, 0, 0);
505  // CHECK: @llvm.hexagon.C4.cmplte
506  __builtin_HEXAGON_C4_cmplte(0, 0);
507  // CHECK: @llvm.hexagon.C4.cmpltei
508  __builtin_HEXAGON_C4_cmpltei(0, 0);
509  // CHECK: @llvm.hexagon.C4.cmplteu
510  __builtin_HEXAGON_C4_cmplteu(0, 0);
511  // CHECK: @llvm.hexagon.C4.cmplteui
512  __builtin_HEXAGON_C4_cmplteui(0, 0);
513  // CHECK: @llvm.hexagon.C4.cmpneq
514  __builtin_HEXAGON_C4_cmpneq(0, 0);
515  // CHECK: @llvm.hexagon.C4.cmpneqi
516  __builtin_HEXAGON_C4_cmpneqi(0, 0);
517  // CHECK: @llvm.hexagon.C4.fastcorner9
518  __builtin_HEXAGON_C4_fastcorner9(0, 0);
519  // CHECK: @llvm.hexagon.C4.fastcorner9.not
520  __builtin_HEXAGON_C4_fastcorner9_not(0, 0);
521  // CHECK: @llvm.hexagon.C4.nbitsclr
522  __builtin_HEXAGON_C4_nbitsclr(0, 0);
523  // CHECK: @llvm.hexagon.C4.nbitsclri
524  __builtin_HEXAGON_C4_nbitsclri(0, 0);
525  // CHECK: @llvm.hexagon.C4.nbitsset
526  __builtin_HEXAGON_C4_nbitsset(0, 0);
527  // CHECK: @llvm.hexagon.C4.or.and
528  __builtin_HEXAGON_C4_or_and(0, 0, 0);
529  // CHECK: @llvm.hexagon.C4.or.andn
530  __builtin_HEXAGON_C4_or_andn(0, 0, 0);
531  // CHECK: @llvm.hexagon.C4.or.or
532  __builtin_HEXAGON_C4_or_or(0, 0, 0);
533  // CHECK: @llvm.hexagon.C4.or.orn
534  __builtin_HEXAGON_C4_or_orn(0, 0, 0);
535  // CHECK: @llvm.hexagon.F2.conv.d2df
536  __builtin_HEXAGON_F2_conv_d2df(0);
537  // CHECK: @llvm.hexagon.F2.conv.d2sf
538  __builtin_HEXAGON_F2_conv_d2sf(0);
539  // CHECK: @llvm.hexagon.F2.conv.df2d
540  __builtin_HEXAGON_F2_conv_df2d(0.0);
541  // CHECK: @llvm.hexagon.F2.conv.df2d.chop
542  __builtin_HEXAGON_F2_conv_df2d_chop(0.0);
543  // CHECK: @llvm.hexagon.F2.conv.df2sf
544  __builtin_HEXAGON_F2_conv_df2sf(0.0);
545  // CHECK: @llvm.hexagon.F2.conv.df2ud
546  __builtin_HEXAGON_F2_conv_df2ud(0.0);
547  // CHECK: @llvm.hexagon.F2.conv.df2ud.chop
548  __builtin_HEXAGON_F2_conv_df2ud_chop(0.0);
549  // CHECK: @llvm.hexagon.F2.conv.df2uw
550  __builtin_HEXAGON_F2_conv_df2uw(0.0);
551  // CHECK: @llvm.hexagon.F2.conv.df2uw.chop
552  __builtin_HEXAGON_F2_conv_df2uw_chop(0.0);
553  // CHECK: @llvm.hexagon.F2.conv.df2w
554  __builtin_HEXAGON_F2_conv_df2w(0.0);
555  // CHECK: @llvm.hexagon.F2.conv.df2w.chop
556  __builtin_HEXAGON_F2_conv_df2w_chop(0.0);
557  // CHECK: @llvm.hexagon.F2.conv.sf2d
558  __builtin_HEXAGON_F2_conv_sf2d(0.0f);
559  // CHECK: @llvm.hexagon.F2.conv.sf2d.chop
560  __builtin_HEXAGON_F2_conv_sf2d_chop(0.0f);
561  // CHECK: @llvm.hexagon.F2.conv.sf2df
562  __builtin_HEXAGON_F2_conv_sf2df(0.0f);
563  // CHECK: @llvm.hexagon.F2.conv.sf2ud
564  __builtin_HEXAGON_F2_conv_sf2ud(0.0f);
565  // CHECK: @llvm.hexagon.F2.conv.sf2ud.chop
566  __builtin_HEXAGON_F2_conv_sf2ud_chop(0.0f);
567  // CHECK: @llvm.hexagon.F2.conv.sf2uw
568  __builtin_HEXAGON_F2_conv_sf2uw(0.0f);
569  // CHECK: @llvm.hexagon.F2.conv.sf2uw.chop
570  __builtin_HEXAGON_F2_conv_sf2uw_chop(0.0f);
571  // CHECK: @llvm.hexagon.F2.conv.sf2w
572  __builtin_HEXAGON_F2_conv_sf2w(0.0f);
573  // CHECK: @llvm.hexagon.F2.conv.sf2w.chop
574  __builtin_HEXAGON_F2_conv_sf2w_chop(0.0f);
575  // CHECK: @llvm.hexagon.F2.conv.ud2df
576  __builtin_HEXAGON_F2_conv_ud2df(0);
577  // CHECK: @llvm.hexagon.F2.conv.ud2sf
578  __builtin_HEXAGON_F2_conv_ud2sf(0);
579  // CHECK: @llvm.hexagon.F2.conv.uw2df
580  __builtin_HEXAGON_F2_conv_uw2df(0);
581  // CHECK: @llvm.hexagon.F2.conv.uw2sf
582  __builtin_HEXAGON_F2_conv_uw2sf(0);
583  // CHECK: @llvm.hexagon.F2.conv.w2df
584  __builtin_HEXAGON_F2_conv_w2df(0);
585  // CHECK: @llvm.hexagon.F2.conv.w2sf
586  __builtin_HEXAGON_F2_conv_w2sf(0);
587  // CHECK: @llvm.hexagon.F2.dfclass
588  __builtin_HEXAGON_F2_dfclass(0.0, 0);
589  // CHECK: @llvm.hexagon.F2.dfcmpeq
590  __builtin_HEXAGON_F2_dfcmpeq(0.0, 0.0);
591  // CHECK: @llvm.hexagon.F2.dfcmpge
592  __builtin_HEXAGON_F2_dfcmpge(0.0, 0.0);
593  // CHECK: @llvm.hexagon.F2.dfcmpgt
594  __builtin_HEXAGON_F2_dfcmpgt(0.0, 0.0);
595  // CHECK: @llvm.hexagon.F2.dfcmpuo
596  __builtin_HEXAGON_F2_dfcmpuo(0.0, 0.0);
597  // CHECK: @llvm.hexagon.F2.dfimm.n
598  __builtin_HEXAGON_F2_dfimm_n(0);
599  // CHECK: @llvm.hexagon.F2.dfimm.p
600  __builtin_HEXAGON_F2_dfimm_p(0);
601  // CHECK: @llvm.hexagon.F2.sfadd
602  __builtin_HEXAGON_F2_sfadd(0.0f, 0.0f);
603  // CHECK: @llvm.hexagon.F2.sfclass
604  __builtin_HEXAGON_F2_sfclass(0.0f, 0);
605  // CHECK: @llvm.hexagon.F2.sfcmpeq
606  __builtin_HEXAGON_F2_sfcmpeq(0.0f, 0.0f);
607  // CHECK: @llvm.hexagon.F2.sfcmpge
608  __builtin_HEXAGON_F2_sfcmpge(0.0f, 0.0f);
609  // CHECK: @llvm.hexagon.F2.sfcmpgt
610  __builtin_HEXAGON_F2_sfcmpgt(0.0f, 0.0f);
611  // CHECK: @llvm.hexagon.F2.sfcmpuo
612  __builtin_HEXAGON_F2_sfcmpuo(0.0f, 0.0f);
613  // CHECK: @llvm.hexagon.F2.sffixupd
614  __builtin_HEXAGON_F2_sffixupd(0.0f, 0.0f);
615  // CHECK: @llvm.hexagon.F2.sffixupn
616  __builtin_HEXAGON_F2_sffixupn(0.0f, 0.0f);
617  // CHECK: @llvm.hexagon.F2.sffixupr
618  __builtin_HEXAGON_F2_sffixupr(0.0f);
619  // CHECK: @llvm.hexagon.F2.sffma
620  __builtin_HEXAGON_F2_sffma(0.0f, 0.0f, 0.0f);
621  // CHECK: @llvm.hexagon.F2.sffma.lib
622  __builtin_HEXAGON_F2_sffma_lib(0.0f, 0.0f, 0.0f);
623  // CHECK: @llvm.hexagon.F2.sffma.sc
624  __builtin_HEXAGON_F2_sffma_sc(0.0f, 0.0f, 0.0f, 0);
625  // CHECK: @llvm.hexagon.F2.sffms
626  __builtin_HEXAGON_F2_sffms(0.0f, 0.0f, 0.0f);
627  // CHECK: @llvm.hexagon.F2.sffms.lib
628  __builtin_HEXAGON_F2_sffms_lib(0.0f, 0.0f, 0.0f);
629  // CHECK: @llvm.hexagon.F2.sfimm.n
630  __builtin_HEXAGON_F2_sfimm_n(0);
631  // CHECK: @llvm.hexagon.F2.sfimm.p
632  __builtin_HEXAGON_F2_sfimm_p(0);
633  // CHECK: @llvm.hexagon.F2.sfmax
634  __builtin_HEXAGON_F2_sfmax(0.0f, 0.0f);
635  // CHECK: @llvm.hexagon.F2.sfmin
636  __builtin_HEXAGON_F2_sfmin(0.0f, 0.0f);
637  // CHECK: @llvm.hexagon.F2.sfmpy
638  __builtin_HEXAGON_F2_sfmpy(0.0f, 0.0f);
639  // CHECK: @llvm.hexagon.F2.sfsub
640  __builtin_HEXAGON_F2_sfsub(0.0f, 0.0f);
641  // CHECK: @llvm.hexagon.M2.acci
642  __builtin_HEXAGON_M2_acci(0, 0, 0);
643  // CHECK: @llvm.hexagon.M2.accii
644  __builtin_HEXAGON_M2_accii(0, 0, 0);
645  // CHECK: @llvm.hexagon.M2.cmaci.s0
646  __builtin_HEXAGON_M2_cmaci_s0(0, 0, 0);
647  // CHECK: @llvm.hexagon.M2.cmacr.s0
648  __builtin_HEXAGON_M2_cmacr_s0(0, 0, 0);
649  // CHECK: @llvm.hexagon.M2.cmacs.s0
650  __builtin_HEXAGON_M2_cmacs_s0(0, 0, 0);
651  // CHECK: @llvm.hexagon.M2.cmacs.s1
652  __builtin_HEXAGON_M2_cmacs_s1(0, 0, 0);
653  // CHECK: @llvm.hexagon.M2.cmacsc.s0
654  __builtin_HEXAGON_M2_cmacsc_s0(0, 0, 0);
655  // CHECK: @llvm.hexagon.M2.cmacsc.s1
656  __builtin_HEXAGON_M2_cmacsc_s1(0, 0, 0);
657  // CHECK: @llvm.hexagon.M2.cmpyi.s0
658  __builtin_HEXAGON_M2_cmpyi_s0(0, 0);
659  // CHECK: @llvm.hexagon.M2.cmpyr.s0
660  __builtin_HEXAGON_M2_cmpyr_s0(0, 0);
661  // CHECK: @llvm.hexagon.M2.cmpyrs.s0
662  __builtin_HEXAGON_M2_cmpyrs_s0(0, 0);
663  // CHECK: @llvm.hexagon.M2.cmpyrs.s1
664  __builtin_HEXAGON_M2_cmpyrs_s1(0, 0);
665  // CHECK: @llvm.hexagon.M2.cmpyrsc.s0
666  __builtin_HEXAGON_M2_cmpyrsc_s0(0, 0);
667  // CHECK: @llvm.hexagon.M2.cmpyrsc.s1
668  __builtin_HEXAGON_M2_cmpyrsc_s1(0, 0);
669  // CHECK: @llvm.hexagon.M2.cmpys.s0
670  __builtin_HEXAGON_M2_cmpys_s0(0, 0);
671  // CHECK: @llvm.hexagon.M2.cmpys.s1
672  __builtin_HEXAGON_M2_cmpys_s1(0, 0);
673  // CHECK: @llvm.hexagon.M2.cmpysc.s0
674  __builtin_HEXAGON_M2_cmpysc_s0(0, 0);
675  // CHECK: @llvm.hexagon.M2.cmpysc.s1
676  __builtin_HEXAGON_M2_cmpysc_s1(0, 0);
677  // CHECK: @llvm.hexagon.M2.cnacs.s0
678  __builtin_HEXAGON_M2_cnacs_s0(0, 0, 0);
679  // CHECK: @llvm.hexagon.M2.cnacs.s1
680  __builtin_HEXAGON_M2_cnacs_s1(0, 0, 0);
681  // CHECK: @llvm.hexagon.M2.cnacsc.s0
682  __builtin_HEXAGON_M2_cnacsc_s0(0, 0, 0);
683  // CHECK: @llvm.hexagon.M2.cnacsc.s1
684  __builtin_HEXAGON_M2_cnacsc_s1(0, 0, 0);
685  // CHECK: @llvm.hexagon.M2.dpmpyss.acc.s0
686  __builtin_HEXAGON_M2_dpmpyss_acc_s0(0, 0, 0);
687  // CHECK: @llvm.hexagon.M2.dpmpyss.nac.s0
688  __builtin_HEXAGON_M2_dpmpyss_nac_s0(0, 0, 0);
689  // CHECK: @llvm.hexagon.M2.dpmpyss.rnd.s0
690  __builtin_HEXAGON_M2_dpmpyss_rnd_s0(0, 0);
691  // CHECK: @llvm.hexagon.M2.dpmpyss.s0
692  __builtin_HEXAGON_M2_dpmpyss_s0(0, 0);
693  // CHECK: @llvm.hexagon.M2.dpmpyuu.acc.s0
694  __builtin_HEXAGON_M2_dpmpyuu_acc_s0(0, 0, 0);
695  // CHECK: @llvm.hexagon.M2.dpmpyuu.nac.s0
696  __builtin_HEXAGON_M2_dpmpyuu_nac_s0(0, 0, 0);
697  // CHECK: @llvm.hexagon.M2.dpmpyuu.s0
698  __builtin_HEXAGON_M2_dpmpyuu_s0(0, 0);
699  // CHECK: @llvm.hexagon.M2.hmmpyh.rs1
700  __builtin_HEXAGON_M2_hmmpyh_rs1(0, 0);
701  // CHECK: @llvm.hexagon.M2.hmmpyh.s1
702  __builtin_HEXAGON_M2_hmmpyh_s1(0, 0);
703  // CHECK: @llvm.hexagon.M2.hmmpyl.rs1
704  __builtin_HEXAGON_M2_hmmpyl_rs1(0, 0);
705  // CHECK: @llvm.hexagon.M2.hmmpyl.s1
706  __builtin_HEXAGON_M2_hmmpyl_s1(0, 0);
707  // CHECK: @llvm.hexagon.M2.maci
708  __builtin_HEXAGON_M2_maci(0, 0, 0);
709  // CHECK: @llvm.hexagon.M2.macsin
710  __builtin_HEXAGON_M2_macsin(0, 0, 0);
711  // CHECK: @llvm.hexagon.M2.macsip
712  __builtin_HEXAGON_M2_macsip(0, 0, 0);
713  // CHECK: @llvm.hexagon.M2.mmachs.rs0
714  __builtin_HEXAGON_M2_mmachs_rs0(0, 0, 0);
715  // CHECK: @llvm.hexagon.M2.mmachs.rs1
716  __builtin_HEXAGON_M2_mmachs_rs1(0, 0, 0);
717  // CHECK: @llvm.hexagon.M2.mmachs.s0
718  __builtin_HEXAGON_M2_mmachs_s0(0, 0, 0);
719  // CHECK: @llvm.hexagon.M2.mmachs.s1
720  __builtin_HEXAGON_M2_mmachs_s1(0, 0, 0);
721  // CHECK: @llvm.hexagon.M2.mmacls.rs0
722  __builtin_HEXAGON_M2_mmacls_rs0(0, 0, 0);
723  // CHECK: @llvm.hexagon.M2.mmacls.rs1
724  __builtin_HEXAGON_M2_mmacls_rs1(0, 0, 0);
725  // CHECK: @llvm.hexagon.M2.mmacls.s0
726  __builtin_HEXAGON_M2_mmacls_s0(0, 0, 0);
727  // CHECK: @llvm.hexagon.M2.mmacls.s1
728  __builtin_HEXAGON_M2_mmacls_s1(0, 0, 0);
729  // CHECK: @llvm.hexagon.M2.mmacuhs.rs0
730  __builtin_HEXAGON_M2_mmacuhs_rs0(0, 0, 0);
731  // CHECK: @llvm.hexagon.M2.mmacuhs.rs1
732  __builtin_HEXAGON_M2_mmacuhs_rs1(0, 0, 0);
733  // CHECK: @llvm.hexagon.M2.mmacuhs.s0
734  __builtin_HEXAGON_M2_mmacuhs_s0(0, 0, 0);
735  // CHECK: @llvm.hexagon.M2.mmacuhs.s1
736  __builtin_HEXAGON_M2_mmacuhs_s1(0, 0, 0);
737  // CHECK: @llvm.hexagon.M2.mmaculs.rs0
738  __builtin_HEXAGON_M2_mmaculs_rs0(0, 0, 0);
739  // CHECK: @llvm.hexagon.M2.mmaculs.rs1
740  __builtin_HEXAGON_M2_mmaculs_rs1(0, 0, 0);
741  // CHECK: @llvm.hexagon.M2.mmaculs.s0
742  __builtin_HEXAGON_M2_mmaculs_s0(0, 0, 0);
743  // CHECK: @llvm.hexagon.M2.mmaculs.s1
744  __builtin_HEXAGON_M2_mmaculs_s1(0, 0, 0);
745  // CHECK: @llvm.hexagon.M2.mmpyh.rs0
746  __builtin_HEXAGON_M2_mmpyh_rs0(0, 0);
747  // CHECK: @llvm.hexagon.M2.mmpyh.rs1
748  __builtin_HEXAGON_M2_mmpyh_rs1(0, 0);
749  // CHECK: @llvm.hexagon.M2.mmpyh.s0
750  __builtin_HEXAGON_M2_mmpyh_s0(0, 0);
751  // CHECK: @llvm.hexagon.M2.mmpyh.s1
752  __builtin_HEXAGON_M2_mmpyh_s1(0, 0);
753  // CHECK: @llvm.hexagon.M2.mmpyl.rs0
754  __builtin_HEXAGON_M2_mmpyl_rs0(0, 0);
755  // CHECK: @llvm.hexagon.M2.mmpyl.rs1
756  __builtin_HEXAGON_M2_mmpyl_rs1(0, 0);
757  // CHECK: @llvm.hexagon.M2.mmpyl.s0
758  __builtin_HEXAGON_M2_mmpyl_s0(0, 0);
759  // CHECK: @llvm.hexagon.M2.mmpyl.s1
760  __builtin_HEXAGON_M2_mmpyl_s1(0, 0);
761  // CHECK: @llvm.hexagon.M2.mmpyuh.rs0
762  __builtin_HEXAGON_M2_mmpyuh_rs0(0, 0);
763  // CHECK: @llvm.hexagon.M2.mmpyuh.rs1
764  __builtin_HEXAGON_M2_mmpyuh_rs1(0, 0);
765  // CHECK: @llvm.hexagon.M2.mmpyuh.s0
766  __builtin_HEXAGON_M2_mmpyuh_s0(0, 0);
767  // CHECK: @llvm.hexagon.M2.mmpyuh.s1
768  __builtin_HEXAGON_M2_mmpyuh_s1(0, 0);
769  // CHECK: @llvm.hexagon.M2.mmpyul.rs0
770  __builtin_HEXAGON_M2_mmpyul_rs0(0, 0);
771  // CHECK: @llvm.hexagon.M2.mmpyul.rs1
772  __builtin_HEXAGON_M2_mmpyul_rs1(0, 0);
773  // CHECK: @llvm.hexagon.M2.mmpyul.s0
774  __builtin_HEXAGON_M2_mmpyul_s0(0, 0);
775  // CHECK: @llvm.hexagon.M2.mmpyul.s1
776  __builtin_HEXAGON_M2_mmpyul_s1(0, 0);
777  // CHECK: @llvm.hexagon.M2.mpy.acc.hh.s0
778  __builtin_HEXAGON_M2_mpy_acc_hh_s0(0, 0, 0);
779  // CHECK: @llvm.hexagon.M2.mpy.acc.hh.s1
780  __builtin_HEXAGON_M2_mpy_acc_hh_s1(0, 0, 0);
781  // CHECK: @llvm.hexagon.M2.mpy.acc.hl.s0
782  __builtin_HEXAGON_M2_mpy_acc_hl_s0(0, 0, 0);
783  // CHECK: @llvm.hexagon.M2.mpy.acc.hl.s1
784  __builtin_HEXAGON_M2_mpy_acc_hl_s1(0, 0, 0);
785  // CHECK: @llvm.hexagon.M2.mpy.acc.lh.s0
786  __builtin_HEXAGON_M2_mpy_acc_lh_s0(0, 0, 0);
787  // CHECK: @llvm.hexagon.M2.mpy.acc.lh.s1
788  __builtin_HEXAGON_M2_mpy_acc_lh_s1(0, 0, 0);
789  // CHECK: @llvm.hexagon.M2.mpy.acc.ll.s0
790  __builtin_HEXAGON_M2_mpy_acc_ll_s0(0, 0, 0);
791  // CHECK: @llvm.hexagon.M2.mpy.acc.ll.s1
792  __builtin_HEXAGON_M2_mpy_acc_ll_s1(0, 0, 0);
793  // CHECK: @llvm.hexagon.M2.mpy.acc.sat.hh.s0
794  __builtin_HEXAGON_M2_mpy_acc_sat_hh_s0(0, 0, 0);
795  // CHECK: @llvm.hexagon.M2.mpy.acc.sat.hh.s1
796  __builtin_HEXAGON_M2_mpy_acc_sat_hh_s1(0, 0, 0);
797  // CHECK: @llvm.hexagon.M2.mpy.acc.sat.hl.s0
798  __builtin_HEXAGON_M2_mpy_acc_sat_hl_s0(0, 0, 0);
799  // CHECK: @llvm.hexagon.M2.mpy.acc.sat.hl.s1
800  __builtin_HEXAGON_M2_mpy_acc_sat_hl_s1(0, 0, 0);
801  // CHECK: @llvm.hexagon.M2.mpy.acc.sat.lh.s0
802  __builtin_HEXAGON_M2_mpy_acc_sat_lh_s0(0, 0, 0);
803  // CHECK: @llvm.hexagon.M2.mpy.acc.sat.lh.s1
804  __builtin_HEXAGON_M2_mpy_acc_sat_lh_s1(0, 0, 0);
805  // CHECK: @llvm.hexagon.M2.mpy.acc.sat.ll.s0
806  __builtin_HEXAGON_M2_mpy_acc_sat_ll_s0(0, 0, 0);
807  // CHECK: @llvm.hexagon.M2.mpy.acc.sat.ll.s1
808  __builtin_HEXAGON_M2_mpy_acc_sat_ll_s1(0, 0, 0);
809  // CHECK: @llvm.hexagon.M2.mpy.hh.s0
810  __builtin_HEXAGON_M2_mpy_hh_s0(0, 0);
811  // CHECK: @llvm.hexagon.M2.mpy.hh.s1
812  __builtin_HEXAGON_M2_mpy_hh_s1(0, 0);
813  // CHECK: @llvm.hexagon.M2.mpy.hl.s0
814  __builtin_HEXAGON_M2_mpy_hl_s0(0, 0);
815  // CHECK: @llvm.hexagon.M2.mpy.hl.s1
816  __builtin_HEXAGON_M2_mpy_hl_s1(0, 0);
817  // CHECK: @llvm.hexagon.M2.mpy.lh.s0
818  __builtin_HEXAGON_M2_mpy_lh_s0(0, 0);
819  // CHECK: @llvm.hexagon.M2.mpy.lh.s1
820  __builtin_HEXAGON_M2_mpy_lh_s1(0, 0);
821  // CHECK: @llvm.hexagon.M2.mpy.ll.s0
822  __builtin_HEXAGON_M2_mpy_ll_s0(0, 0);
823  // CHECK: @llvm.hexagon.M2.mpy.ll.s1
824  __builtin_HEXAGON_M2_mpy_ll_s1(0, 0);
825  // CHECK: @llvm.hexagon.M2.mpy.nac.hh.s0
826  __builtin_HEXAGON_M2_mpy_nac_hh_s0(0, 0, 0);
827  // CHECK: @llvm.hexagon.M2.mpy.nac.hh.s1
828  __builtin_HEXAGON_M2_mpy_nac_hh_s1(0, 0, 0);
829  // CHECK: @llvm.hexagon.M2.mpy.nac.hl.s0
830  __builtin_HEXAGON_M2_mpy_nac_hl_s0(0, 0, 0);
831  // CHECK: @llvm.hexagon.M2.mpy.nac.hl.s1
832  __builtin_HEXAGON_M2_mpy_nac_hl_s1(0, 0, 0);
833  // CHECK: @llvm.hexagon.M2.mpy.nac.lh.s0
834  __builtin_HEXAGON_M2_mpy_nac_lh_s0(0, 0, 0);
835  // CHECK: @llvm.hexagon.M2.mpy.nac.lh.s1
836  __builtin_HEXAGON_M2_mpy_nac_lh_s1(0, 0, 0);
837  // CHECK: @llvm.hexagon.M2.mpy.nac.ll.s0
838  __builtin_HEXAGON_M2_mpy_nac_ll_s0(0, 0, 0);
839  // CHECK: @llvm.hexagon.M2.mpy.nac.ll.s1
840  __builtin_HEXAGON_M2_mpy_nac_ll_s1(0, 0, 0);
841  // CHECK: @llvm.hexagon.M2.mpy.nac.sat.hh.s0
842  __builtin_HEXAGON_M2_mpy_nac_sat_hh_s0(0, 0, 0);
843  // CHECK: @llvm.hexagon.M2.mpy.nac.sat.hh.s1
844  __builtin_HEXAGON_M2_mpy_nac_sat_hh_s1(0, 0, 0);
845  // CHECK: @llvm.hexagon.M2.mpy.nac.sat.hl.s0
846  __builtin_HEXAGON_M2_mpy_nac_sat_hl_s0(0, 0, 0);
847  // CHECK: @llvm.hexagon.M2.mpy.nac.sat.hl.s1
848  __builtin_HEXAGON_M2_mpy_nac_sat_hl_s1(0, 0, 0);
849  // CHECK: @llvm.hexagon.M2.mpy.nac.sat.lh.s0
850  __builtin_HEXAGON_M2_mpy_nac_sat_lh_s0(0, 0, 0);
851  // CHECK: @llvm.hexagon.M2.mpy.nac.sat.lh.s1
852  __builtin_HEXAGON_M2_mpy_nac_sat_lh_s1(0, 0, 0);
853  // CHECK: @llvm.hexagon.M2.mpy.nac.sat.ll.s0
854  __builtin_HEXAGON_M2_mpy_nac_sat_ll_s0(0, 0, 0);
855  // CHECK: @llvm.hexagon.M2.mpy.nac.sat.ll.s1
856  __builtin_HEXAGON_M2_mpy_nac_sat_ll_s1(0, 0, 0);
857  // CHECK: @llvm.hexagon.M2.mpy.rnd.hh.s0
858  __builtin_HEXAGON_M2_mpy_rnd_hh_s0(0, 0);
859  // CHECK: @llvm.hexagon.M2.mpy.rnd.hh.s1
860  __builtin_HEXAGON_M2_mpy_rnd_hh_s1(0, 0);
861  // CHECK: @llvm.hexagon.M2.mpy.rnd.hl.s0
862  __builtin_HEXAGON_M2_mpy_rnd_hl_s0(0, 0);
863  // CHECK: @llvm.hexagon.M2.mpy.rnd.hl.s1
864  __builtin_HEXAGON_M2_mpy_rnd_hl_s1(0, 0);
865  // CHECK: @llvm.hexagon.M2.mpy.rnd.lh.s0
866  __builtin_HEXAGON_M2_mpy_rnd_lh_s0(0, 0);
867  // CHECK: @llvm.hexagon.M2.mpy.rnd.lh.s1
868  __builtin_HEXAGON_M2_mpy_rnd_lh_s1(0, 0);
869  // CHECK: @llvm.hexagon.M2.mpy.rnd.ll.s0
870  __builtin_HEXAGON_M2_mpy_rnd_ll_s0(0, 0);
871  // CHECK: @llvm.hexagon.M2.mpy.rnd.ll.s1
872  __builtin_HEXAGON_M2_mpy_rnd_ll_s1(0, 0);
873  // CHECK: @llvm.hexagon.M2.mpy.sat.hh.s0
874  __builtin_HEXAGON_M2_mpy_sat_hh_s0(0, 0);
875  // CHECK: @llvm.hexagon.M2.mpy.sat.hh.s1
876  __builtin_HEXAGON_M2_mpy_sat_hh_s1(0, 0);
877  // CHECK: @llvm.hexagon.M2.mpy.sat.hl.s0
878  __builtin_HEXAGON_M2_mpy_sat_hl_s0(0, 0);
879  // CHECK: @llvm.hexagon.M2.mpy.sat.hl.s1
880  __builtin_HEXAGON_M2_mpy_sat_hl_s1(0, 0);
881  // CHECK: @llvm.hexagon.M2.mpy.sat.lh.s0
882  __builtin_HEXAGON_M2_mpy_sat_lh_s0(0, 0);
883  // CHECK: @llvm.hexagon.M2.mpy.sat.lh.s1
884  __builtin_HEXAGON_M2_mpy_sat_lh_s1(0, 0);
885  // CHECK: @llvm.hexagon.M2.mpy.sat.ll.s0
886  __builtin_HEXAGON_M2_mpy_sat_ll_s0(0, 0);
887  // CHECK: @llvm.hexagon.M2.mpy.sat.ll.s1
888  __builtin_HEXAGON_M2_mpy_sat_ll_s1(0, 0);
889  // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.hh.s0
890  __builtin_HEXAGON_M2_mpy_sat_rnd_hh_s0(0, 0);
891  // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.hh.s1
892  __builtin_HEXAGON_M2_mpy_sat_rnd_hh_s1(0, 0);
893  // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.hl.s0
894  __builtin_HEXAGON_M2_mpy_sat_rnd_hl_s0(0, 0);
895  // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.hl.s1
896  __builtin_HEXAGON_M2_mpy_sat_rnd_hl_s1(0, 0);
897  // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.lh.s0
898  __builtin_HEXAGON_M2_mpy_sat_rnd_lh_s0(0, 0);
899  // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.lh.s1
900  __builtin_HEXAGON_M2_mpy_sat_rnd_lh_s1(0, 0);
901  // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.ll.s0
902  __builtin_HEXAGON_M2_mpy_sat_rnd_ll_s0(0, 0);
903  // CHECK: @llvm.hexagon.M2.mpy.sat.rnd.ll.s1
904  __builtin_HEXAGON_M2_mpy_sat_rnd_ll_s1(0, 0);
905  // CHECK: @llvm.hexagon.M2.mpy.up
906  __builtin_HEXAGON_M2_mpy_up(0, 0);
907  // CHECK: @llvm.hexagon.M2.mpy.up.s1
908  __builtin_HEXAGON_M2_mpy_up_s1(0, 0);
909  // CHECK: @llvm.hexagon.M2.mpy.up.s1.sat
910  __builtin_HEXAGON_M2_mpy_up_s1_sat(0, 0);
911  // CHECK: @llvm.hexagon.M2.mpyd.acc.hh.s0
912  __builtin_HEXAGON_M2_mpyd_acc_hh_s0(0, 0, 0);
913  // CHECK: @llvm.hexagon.M2.mpyd.acc.hh.s1
914  __builtin_HEXAGON_M2_mpyd_acc_hh_s1(0, 0, 0);
915  // CHECK: @llvm.hexagon.M2.mpyd.acc.hl.s0
916  __builtin_HEXAGON_M2_mpyd_acc_hl_s0(0, 0, 0);
917  // CHECK: @llvm.hexagon.M2.mpyd.acc.hl.s1
918  __builtin_HEXAGON_M2_mpyd_acc_hl_s1(0, 0, 0);
919  // CHECK: @llvm.hexagon.M2.mpyd.acc.lh.s0
920  __builtin_HEXAGON_M2_mpyd_acc_lh_s0(0, 0, 0);
921  // CHECK: @llvm.hexagon.M2.mpyd.acc.lh.s1
922  __builtin_HEXAGON_M2_mpyd_acc_lh_s1(0, 0, 0);
923  // CHECK: @llvm.hexagon.M2.mpyd.acc.ll.s0
924  __builtin_HEXAGON_M2_mpyd_acc_ll_s0(0, 0, 0);
925  // CHECK: @llvm.hexagon.M2.mpyd.acc.ll.s1
926  __builtin_HEXAGON_M2_mpyd_acc_ll_s1(0, 0, 0);
927  // CHECK: @llvm.hexagon.M2.mpyd.hh.s0
928  __builtin_HEXAGON_M2_mpyd_hh_s0(0, 0);
929  // CHECK: @llvm.hexagon.M2.mpyd.hh.s1
930  __builtin_HEXAGON_M2_mpyd_hh_s1(0, 0);
931  // CHECK: @llvm.hexagon.M2.mpyd.hl.s0
932  __builtin_HEXAGON_M2_mpyd_hl_s0(0, 0);
933  // CHECK: @llvm.hexagon.M2.mpyd.hl.s1
934  __builtin_HEXAGON_M2_mpyd_hl_s1(0, 0);
935  // CHECK: @llvm.hexagon.M2.mpyd.lh.s0
936  __builtin_HEXAGON_M2_mpyd_lh_s0(0, 0);
937  // CHECK: @llvm.hexagon.M2.mpyd.lh.s1
938  __builtin_HEXAGON_M2_mpyd_lh_s1(0, 0);
939  // CHECK: @llvm.hexagon.M2.mpyd.ll.s0
940  __builtin_HEXAGON_M2_mpyd_ll_s0(0, 0);
941  // CHECK: @llvm.hexagon.M2.mpyd.ll.s1
942  __builtin_HEXAGON_M2_mpyd_ll_s1(0, 0);
943  // CHECK: @llvm.hexagon.M2.mpyd.nac.hh.s0
944  __builtin_HEXAGON_M2_mpyd_nac_hh_s0(0, 0, 0);
945  // CHECK: @llvm.hexagon.M2.mpyd.nac.hh.s1
946  __builtin_HEXAGON_M2_mpyd_nac_hh_s1(0, 0, 0);
947  // CHECK: @llvm.hexagon.M2.mpyd.nac.hl.s0
948  __builtin_HEXAGON_M2_mpyd_nac_hl_s0(0, 0, 0);
949  // CHECK: @llvm.hexagon.M2.mpyd.nac.hl.s1
950  __builtin_HEXAGON_M2_mpyd_nac_hl_s1(0, 0, 0);
951  // CHECK: @llvm.hexagon.M2.mpyd.nac.lh.s0
952  __builtin_HEXAGON_M2_mpyd_nac_lh_s0(0, 0, 0);
953  // CHECK: @llvm.hexagon.M2.mpyd.nac.lh.s1
954  __builtin_HEXAGON_M2_mpyd_nac_lh_s1(0, 0, 0);
955  // CHECK: @llvm.hexagon.M2.mpyd.nac.ll.s0
956  __builtin_HEXAGON_M2_mpyd_nac_ll_s0(0, 0, 0);
957  // CHECK: @llvm.hexagon.M2.mpyd.nac.ll.s1
958  __builtin_HEXAGON_M2_mpyd_nac_ll_s1(0, 0, 0);
959  // CHECK: @llvm.hexagon.M2.mpyd.rnd.hh.s0
960  __builtin_HEXAGON_M2_mpyd_rnd_hh_s0(0, 0);
961  // CHECK: @llvm.hexagon.M2.mpyd.rnd.hh.s1
962  __builtin_HEXAGON_M2_mpyd_rnd_hh_s1(0, 0);
963  // CHECK: @llvm.hexagon.M2.mpyd.rnd.hl.s0
964  __builtin_HEXAGON_M2_mpyd_rnd_hl_s0(0, 0);
965  // CHECK: @llvm.hexagon.M2.mpyd.rnd.hl.s1
966  __builtin_HEXAGON_M2_mpyd_rnd_hl_s1(0, 0);
967  // CHECK: @llvm.hexagon.M2.mpyd.rnd.lh.s0
968  __builtin_HEXAGON_M2_mpyd_rnd_lh_s0(0, 0);
969  // CHECK: @llvm.hexagon.M2.mpyd.rnd.lh.s1
970  __builtin_HEXAGON_M2_mpyd_rnd_lh_s1(0, 0);
971  // CHECK: @llvm.hexagon.M2.mpyd.rnd.ll.s0
972  __builtin_HEXAGON_M2_mpyd_rnd_ll_s0(0, 0);
973  // CHECK: @llvm.hexagon.M2.mpyd.rnd.ll.s1
974  __builtin_HEXAGON_M2_mpyd_rnd_ll_s1(0, 0);
975  // CHECK: @llvm.hexagon.M2.mpyi
976  __builtin_HEXAGON_M2_mpyi(0, 0);
977  // CHECK: @llvm.hexagon.M2.mpysmi
978  __builtin_HEXAGON_M2_mpysmi(0, 0);
979  // CHECK: @llvm.hexagon.M2.mpysu.up
980  __builtin_HEXAGON_M2_mpysu_up(0, 0);
981  // CHECK: @llvm.hexagon.M2.mpyu.acc.hh.s0
982  __builtin_HEXAGON_M2_mpyu_acc_hh_s0(0, 0, 0);
983  // CHECK: @llvm.hexagon.M2.mpyu.acc.hh.s1
984  __builtin_HEXAGON_M2_mpyu_acc_hh_s1(0, 0, 0);
985  // CHECK: @llvm.hexagon.M2.mpyu.acc.hl.s0
986  __builtin_HEXAGON_M2_mpyu_acc_hl_s0(0, 0, 0);
987  // CHECK: @llvm.hexagon.M2.mpyu.acc.hl.s1
988  __builtin_HEXAGON_M2_mpyu_acc_hl_s1(0, 0, 0);
989  // CHECK: @llvm.hexagon.M2.mpyu.acc.lh.s0
990  __builtin_HEXAGON_M2_mpyu_acc_lh_s0(0, 0, 0);
991  // CHECK: @llvm.hexagon.M2.mpyu.acc.lh.s1
992  __builtin_HEXAGON_M2_mpyu_acc_lh_s1(0, 0, 0);
993  // CHECK: @llvm.hexagon.M2.mpyu.acc.ll.s0
994  __builtin_HEXAGON_M2_mpyu_acc_ll_s0(0, 0, 0);
995  // CHECK: @llvm.hexagon.M2.mpyu.acc.ll.s1
996  __builtin_HEXAGON_M2_mpyu_acc_ll_s1(0, 0, 0);
997  // CHECK: @llvm.hexagon.M2.mpyu.hh.s0
998  __builtin_HEXAGON_M2_mpyu_hh_s0(0, 0);
999  // CHECK: @llvm.hexagon.M2.mpyu.hh.s1
1000  __builtin_HEXAGON_M2_mpyu_hh_s1(0, 0);
1001  // CHECK: @llvm.hexagon.M2.mpyu.hl.s0
1002  __builtin_HEXAGON_M2_mpyu_hl_s0(0, 0);
1003  // CHECK: @llvm.hexagon.M2.mpyu.hl.s1
1004  __builtin_HEXAGON_M2_mpyu_hl_s1(0, 0);
1005  // CHECK: @llvm.hexagon.M2.mpyu.lh.s0
1006  __builtin_HEXAGON_M2_mpyu_lh_s0(0, 0);
1007  // CHECK: @llvm.hexagon.M2.mpyu.lh.s1
1008  __builtin_HEXAGON_M2_mpyu_lh_s1(0, 0);
1009  // CHECK: @llvm.hexagon.M2.mpyu.ll.s0
1010  __builtin_HEXAGON_M2_mpyu_ll_s0(0, 0);
1011  // CHECK: @llvm.hexagon.M2.mpyu.ll.s1
1012  __builtin_HEXAGON_M2_mpyu_ll_s1(0, 0);
1013  // CHECK: @llvm.hexagon.M2.mpyu.nac.hh.s0
1014  __builtin_HEXAGON_M2_mpyu_nac_hh_s0(0, 0, 0);
1015  // CHECK: @llvm.hexagon.M2.mpyu.nac.hh.s1
1016  __builtin_HEXAGON_M2_mpyu_nac_hh_s1(0, 0, 0);
1017  // CHECK: @llvm.hexagon.M2.mpyu.nac.hl.s0
1018  __builtin_HEXAGON_M2_mpyu_nac_hl_s0(0, 0, 0);
1019  // CHECK: @llvm.hexagon.M2.mpyu.nac.hl.s1
1020  __builtin_HEXAGON_M2_mpyu_nac_hl_s1(0, 0, 0);
1021  // CHECK: @llvm.hexagon.M2.mpyu.nac.lh.s0
1022  __builtin_HEXAGON_M2_mpyu_nac_lh_s0(0, 0, 0);
1023  // CHECK: @llvm.hexagon.M2.mpyu.nac.lh.s1
1024  __builtin_HEXAGON_M2_mpyu_nac_lh_s1(0, 0, 0);
1025  // CHECK: @llvm.hexagon.M2.mpyu.nac.ll.s0
1026  __builtin_HEXAGON_M2_mpyu_nac_ll_s0(0, 0, 0);
1027  // CHECK: @llvm.hexagon.M2.mpyu.nac.ll.s1
1028  __builtin_HEXAGON_M2_mpyu_nac_ll_s1(0, 0, 0);
1029  // CHECK: @llvm.hexagon.M2.mpyu.up
1030  __builtin_HEXAGON_M2_mpyu_up(0, 0);
1031  // CHECK: @llvm.hexagon.M2.mpyud.acc.hh.s0
1032  __builtin_HEXAGON_M2_mpyud_acc_hh_s0(0, 0, 0);
1033  // CHECK: @llvm.hexagon.M2.mpyud.acc.hh.s1
1034  __builtin_HEXAGON_M2_mpyud_acc_hh_s1(0, 0, 0);
1035  // CHECK: @llvm.hexagon.M2.mpyud.acc.hl.s0
1036  __builtin_HEXAGON_M2_mpyud_acc_hl_s0(0, 0, 0);
1037  // CHECK: @llvm.hexagon.M2.mpyud.acc.hl.s1
1038  __builtin_HEXAGON_M2_mpyud_acc_hl_s1(0, 0, 0);
1039  // CHECK: @llvm.hexagon.M2.mpyud.acc.lh.s0
1040  __builtin_HEXAGON_M2_mpyud_acc_lh_s0(0, 0, 0);
1041  // CHECK: @llvm.hexagon.M2.mpyud.acc.lh.s1
1042  __builtin_HEXAGON_M2_mpyud_acc_lh_s1(0, 0, 0);
1043  // CHECK: @llvm.hexagon.M2.mpyud.acc.ll.s0
1044  __builtin_HEXAGON_M2_mpyud_acc_ll_s0(0, 0, 0);
1045  // CHECK: @llvm.hexagon.M2.mpyud.acc.ll.s1
1046  __builtin_HEXAGON_M2_mpyud_acc_ll_s1(0, 0, 0);
1047  // CHECK: @llvm.hexagon.M2.mpyud.hh.s0
1048  __builtin_HEXAGON_M2_mpyud_hh_s0(0, 0);
1049  // CHECK: @llvm.hexagon.M2.mpyud.hh.s1
1050  __builtin_HEXAGON_M2_mpyud_hh_s1(0, 0);
1051  // CHECK: @llvm.hexagon.M2.mpyud.hl.s0
1052  __builtin_HEXAGON_M2_mpyud_hl_s0(0, 0);
1053  // CHECK: @llvm.hexagon.M2.mpyud.hl.s1
1054  __builtin_HEXAGON_M2_mpyud_hl_s1(0, 0);
1055  // CHECK: @llvm.hexagon.M2.mpyud.lh.s0
1056  __builtin_HEXAGON_M2_mpyud_lh_s0(0, 0);
1057  // CHECK: @llvm.hexagon.M2.mpyud.lh.s1
1058  __builtin_HEXAGON_M2_mpyud_lh_s1(0, 0);
1059  // CHECK: @llvm.hexagon.M2.mpyud.ll.s0
1060  __builtin_HEXAGON_M2_mpyud_ll_s0(0, 0);
1061  // CHECK: @llvm.hexagon.M2.mpyud.ll.s1
1062  __builtin_HEXAGON_M2_mpyud_ll_s1(0, 0);
1063  // CHECK: @llvm.hexagon.M2.mpyud.nac.hh.s0
1064  __builtin_HEXAGON_M2_mpyud_nac_hh_s0(0, 0, 0);
1065  // CHECK: @llvm.hexagon.M2.mpyud.nac.hh.s1
1066  __builtin_HEXAGON_M2_mpyud_nac_hh_s1(0, 0, 0);
1067  // CHECK: @llvm.hexagon.M2.mpyud.nac.hl.s0
1068  __builtin_HEXAGON_M2_mpyud_nac_hl_s0(0, 0, 0);
1069  // CHECK: @llvm.hexagon.M2.mpyud.nac.hl.s1
1070  __builtin_HEXAGON_M2_mpyud_nac_hl_s1(0, 0, 0);
1071  // CHECK: @llvm.hexagon.M2.mpyud.nac.lh.s0
1072  __builtin_HEXAGON_M2_mpyud_nac_lh_s0(0, 0, 0);
1073  // CHECK: @llvm.hexagon.M2.mpyud.nac.lh.s1
1074  __builtin_HEXAGON_M2_mpyud_nac_lh_s1(0, 0, 0);
1075  // CHECK: @llvm.hexagon.M2.mpyud.nac.ll.s0
1076  __builtin_HEXAGON_M2_mpyud_nac_ll_s0(0, 0, 0);
1077  // CHECK: @llvm.hexagon.M2.mpyud.nac.ll.s1
1078  __builtin_HEXAGON_M2_mpyud_nac_ll_s1(0, 0, 0);
1079  // CHECK: @llvm.hexagon.M2.mpyui
1080  __builtin_HEXAGON_M2_mpyui(0, 0);
1081  // CHECK: @llvm.hexagon.M2.nacci
1082  __builtin_HEXAGON_M2_nacci(0, 0, 0);
1083  // CHECK: @llvm.hexagon.M2.naccii
1084  __builtin_HEXAGON_M2_naccii(0, 0, 0);
1085  // CHECK: @llvm.hexagon.M2.subacc
1086  __builtin_HEXAGON_M2_subacc(0, 0, 0);
1087  // CHECK: @llvm.hexagon.M2.vabsdiffh
1088  __builtin_HEXAGON_M2_vabsdiffh(0, 0);
1089  // CHECK: @llvm.hexagon.M2.vabsdiffw
1090  __builtin_HEXAGON_M2_vabsdiffw(0, 0);
1091  // CHECK: @llvm.hexagon.M2.vcmac.s0.sat.i
1092  __builtin_HEXAGON_M2_vcmac_s0_sat_i(0, 0, 0);
1093  // CHECK: @llvm.hexagon.M2.vcmac.s0.sat.r
1094  __builtin_HEXAGON_M2_vcmac_s0_sat_r(0, 0, 0);
1095  // CHECK: @llvm.hexagon.M2.vcmpy.s0.sat.i
1096  __builtin_HEXAGON_M2_vcmpy_s0_sat_i(0, 0);
1097  // CHECK: @llvm.hexagon.M2.vcmpy.s0.sat.r
1098  __builtin_HEXAGON_M2_vcmpy_s0_sat_r(0, 0);
1099  // CHECK: @llvm.hexagon.M2.vcmpy.s1.sat.i
1100  __builtin_HEXAGON_M2_vcmpy_s1_sat_i(0, 0);
1101  // CHECK: @llvm.hexagon.M2.vcmpy.s1.sat.r
1102  __builtin_HEXAGON_M2_vcmpy_s1_sat_r(0, 0);
1103  // CHECK: @llvm.hexagon.M2.vdmacs.s0
1104  __builtin_HEXAGON_M2_vdmacs_s0(0, 0, 0);
1105  // CHECK: @llvm.hexagon.M2.vdmacs.s1
1106  __builtin_HEXAGON_M2_vdmacs_s1(0, 0, 0);
1107  // CHECK: @llvm.hexagon.M2.vdmpyrs.s0
1108  __builtin_HEXAGON_M2_vdmpyrs_s0(0, 0);
1109  // CHECK: @llvm.hexagon.M2.vdmpyrs.s1
1110  __builtin_HEXAGON_M2_vdmpyrs_s1(0, 0);
1111  // CHECK: @llvm.hexagon.M2.vdmpys.s0
1112  __builtin_HEXAGON_M2_vdmpys_s0(0, 0);
1113  // CHECK: @llvm.hexagon.M2.vdmpys.s1
1114  __builtin_HEXAGON_M2_vdmpys_s1(0, 0);
1115  // CHECK: @llvm.hexagon.M2.vmac2
1116  __builtin_HEXAGON_M2_vmac2(0, 0, 0);
1117  // CHECK: @llvm.hexagon.M2.vmac2es
1118  __builtin_HEXAGON_M2_vmac2es(0, 0, 0);
1119  // CHECK: @llvm.hexagon.M2.vmac2es.s0
1120  __builtin_HEXAGON_M2_vmac2es_s0(0, 0, 0);
1121  // CHECK: @llvm.hexagon.M2.vmac2es.s1
1122  __builtin_HEXAGON_M2_vmac2es_s1(0, 0, 0);
1123  // CHECK: @llvm.hexagon.M2.vmac2s.s0
1124  __builtin_HEXAGON_M2_vmac2s_s0(0, 0, 0);
1125  // CHECK: @llvm.hexagon.M2.vmac2s.s1
1126  __builtin_HEXAGON_M2_vmac2s_s1(0, 0, 0);
1127  // CHECK: @llvm.hexagon.M2.vmac2su.s0
1128  __builtin_HEXAGON_M2_vmac2su_s0(0, 0, 0);
1129  // CHECK: @llvm.hexagon.M2.vmac2su.s1
1130  __builtin_HEXAGON_M2_vmac2su_s1(0, 0, 0);
1131  // CHECK: @llvm.hexagon.M2.vmpy2es.s0
1132  __builtin_HEXAGON_M2_vmpy2es_s0(0, 0);
1133  // CHECK: @llvm.hexagon.M2.vmpy2es.s1
1134  __builtin_HEXAGON_M2_vmpy2es_s1(0, 0);
1135  // CHECK: @llvm.hexagon.M2.vmpy2s.s0
1136  __builtin_HEXAGON_M2_vmpy2s_s0(0, 0);
1137  // CHECK: @llvm.hexagon.M2.vmpy2s.s0pack
1138  __builtin_HEXAGON_M2_vmpy2s_s0pack(0, 0);
1139  // CHECK: @llvm.hexagon.M2.vmpy2s.s1
1140  __builtin_HEXAGON_M2_vmpy2s_s1(0, 0);
1141  // CHECK: @llvm.hexagon.M2.vmpy2s.s1pack
1142  __builtin_HEXAGON_M2_vmpy2s_s1pack(0, 0);
1143  // CHECK: @llvm.hexagon.M2.vmpy2su.s0
1144  __builtin_HEXAGON_M2_vmpy2su_s0(0, 0);
1145  // CHECK: @llvm.hexagon.M2.vmpy2su.s1
1146  __builtin_HEXAGON_M2_vmpy2su_s1(0, 0);
1147  // CHECK: @llvm.hexagon.M2.vraddh
1148  __builtin_HEXAGON_M2_vraddh(0, 0);
1149  // CHECK: @llvm.hexagon.M2.vradduh
1150  __builtin_HEXAGON_M2_vradduh(0, 0);
1151  // CHECK: @llvm.hexagon.M2.vrcmaci.s0
1152  __builtin_HEXAGON_M2_vrcmaci_s0(0, 0, 0);
1153  // CHECK: @llvm.hexagon.M2.vrcmaci.s0c
1154  __builtin_HEXAGON_M2_vrcmaci_s0c(0, 0, 0);
1155  // CHECK: @llvm.hexagon.M2.vrcmacr.s0
1156  __builtin_HEXAGON_M2_vrcmacr_s0(0, 0, 0);
1157  // CHECK: @llvm.hexagon.M2.vrcmacr.s0c
1158  __builtin_HEXAGON_M2_vrcmacr_s0c(0, 0, 0);
1159  // CHECK: @llvm.hexagon.M2.vrcmpyi.s0
1160  __builtin_HEXAGON_M2_vrcmpyi_s0(0, 0);
1161  // CHECK: @llvm.hexagon.M2.vrcmpyi.s0c
1162  __builtin_HEXAGON_M2_vrcmpyi_s0c(0, 0);
1163  // CHECK: @llvm.hexagon.M2.vrcmpyr.s0
1164  __builtin_HEXAGON_M2_vrcmpyr_s0(0, 0);
1165  // CHECK: @llvm.hexagon.M2.vrcmpyr.s0c
1166  __builtin_HEXAGON_M2_vrcmpyr_s0c(0, 0);
1167  // CHECK: @llvm.hexagon.M2.vrcmpys.acc.s1
1168  __builtin_HEXAGON_M2_vrcmpys_acc_s1(0, 0, 0);
1169  // CHECK: @llvm.hexagon.M2.vrcmpys.s1
1170  __builtin_HEXAGON_M2_vrcmpys_s1(0, 0);
1171  // CHECK: @llvm.hexagon.M2.vrcmpys.s1rp
1172  __builtin_HEXAGON_M2_vrcmpys_s1rp(0, 0);
1173  // CHECK: @llvm.hexagon.M2.vrmac.s0
1174  __builtin_HEXAGON_M2_vrmac_s0(0, 0, 0);
1175  // CHECK: @llvm.hexagon.M2.vrmpy.s0
1176  __builtin_HEXAGON_M2_vrmpy_s0(0, 0);
1177  // CHECK: @llvm.hexagon.M2.xor.xacc
1178  __builtin_HEXAGON_M2_xor_xacc(0, 0, 0);
1179  // CHECK: @llvm.hexagon.M4.and.and
1180  __builtin_HEXAGON_M4_and_and(0, 0, 0);
1181  // CHECK: @llvm.hexagon.M4.and.andn
1182  __builtin_HEXAGON_M4_and_andn(0, 0, 0);
1183  // CHECK: @llvm.hexagon.M4.and.or
1184  __builtin_HEXAGON_M4_and_or(0, 0, 0);
1185  // CHECK: @llvm.hexagon.M4.and.xor
1186  __builtin_HEXAGON_M4_and_xor(0, 0, 0);
1187  // CHECK: @llvm.hexagon.M4.cmpyi.wh
1188  __builtin_HEXAGON_M4_cmpyi_wh(0, 0);
1189  // CHECK: @llvm.hexagon.M4.cmpyi.whc
1190  __builtin_HEXAGON_M4_cmpyi_whc(0, 0);
1191  // CHECK: @llvm.hexagon.M4.cmpyr.wh
1192  __builtin_HEXAGON_M4_cmpyr_wh(0, 0);
1193  // CHECK: @llvm.hexagon.M4.cmpyr.whc
1194  __builtin_HEXAGON_M4_cmpyr_whc(0, 0);
1195  // CHECK: @llvm.hexagon.M4.mac.up.s1.sat
1196  __builtin_HEXAGON_M4_mac_up_s1_sat(0, 0, 0);
1197  // CHECK: @llvm.hexagon.M4.mpyri.addi
1198  __builtin_HEXAGON_M4_mpyri_addi(0, 0, 0);
1199  // CHECK: @llvm.hexagon.M4.mpyri.addr
1200  __builtin_HEXAGON_M4_mpyri_addr(0, 0, 0);
1201  // CHECK: @llvm.hexagon.M4.mpyri.addr.u2
1202  __builtin_HEXAGON_M4_mpyri_addr_u2(0, 0, 0);
1203  // CHECK: @llvm.hexagon.M4.mpyrr.addi
1204  __builtin_HEXAGON_M4_mpyrr_addi(0, 0, 0);
1205  // CHECK: @llvm.hexagon.M4.mpyrr.addr
1206  __builtin_HEXAGON_M4_mpyrr_addr(0, 0, 0);
1207  // CHECK: @llvm.hexagon.M4.nac.up.s1.sat
1208  __builtin_HEXAGON_M4_nac_up_s1_sat(0, 0, 0);
1209  // CHECK: @llvm.hexagon.M4.or.and
1210  __builtin_HEXAGON_M4_or_and(0, 0, 0);
1211  // CHECK: @llvm.hexagon.M4.or.andn
1212  __builtin_HEXAGON_M4_or_andn(0, 0, 0);
1213  // CHECK: @llvm.hexagon.M4.or.or
1214  __builtin_HEXAGON_M4_or_or(0, 0, 0);
1215  // CHECK: @llvm.hexagon.M4.or.xor
1216  __builtin_HEXAGON_M4_or_xor(0, 0, 0);
1217  // CHECK: @llvm.hexagon.M4.pmpyw
1218  __builtin_HEXAGON_M4_pmpyw(0, 0);
1219  // CHECK: @llvm.hexagon.M4.pmpyw.acc
1220  __builtin_HEXAGON_M4_pmpyw_acc(0, 0, 0);
1221  // CHECK: @llvm.hexagon.M4.vpmpyh
1222  __builtin_HEXAGON_M4_vpmpyh(0, 0);
1223  // CHECK: @llvm.hexagon.M4.vpmpyh.acc
1224  __builtin_HEXAGON_M4_vpmpyh_acc(0, 0, 0);
1225  // CHECK: @llvm.hexagon.M4.vrmpyeh.acc.s0
1226  __builtin_HEXAGON_M4_vrmpyeh_acc_s0(0, 0, 0);
1227  // CHECK: @llvm.hexagon.M4.vrmpyeh.acc.s1
1228  __builtin_HEXAGON_M4_vrmpyeh_acc_s1(0, 0, 0);
1229  // CHECK: @llvm.hexagon.M4.vrmpyeh.s0
1230  __builtin_HEXAGON_M4_vrmpyeh_s0(0, 0);
1231  // CHECK: @llvm.hexagon.M4.vrmpyeh.s1
1232  __builtin_HEXAGON_M4_vrmpyeh_s1(0, 0);
1233  // CHECK: @llvm.hexagon.M4.vrmpyoh.acc.s0
1234  __builtin_HEXAGON_M4_vrmpyoh_acc_s0(0, 0, 0);
1235  // CHECK: @llvm.hexagon.M4.vrmpyoh.acc.s1
1236  __builtin_HEXAGON_M4_vrmpyoh_acc_s1(0, 0, 0);
1237  // CHECK: @llvm.hexagon.M4.vrmpyoh.s0
1238  __builtin_HEXAGON_M4_vrmpyoh_s0(0, 0);
1239  // CHECK: @llvm.hexagon.M4.vrmpyoh.s1
1240  __builtin_HEXAGON_M4_vrmpyoh_s1(0, 0);
1241  // CHECK: @llvm.hexagon.M4.xor.and
1242  __builtin_HEXAGON_M4_xor_and(0, 0, 0);
1243  // CHECK: @llvm.hexagon.M4.xor.andn
1244  __builtin_HEXAGON_M4_xor_andn(0, 0, 0);
1245  // CHECK: @llvm.hexagon.M4.xor.or
1246  __builtin_HEXAGON_M4_xor_or(0, 0, 0);
1247  // CHECK: @llvm.hexagon.M4.xor.xacc
1248  __builtin_HEXAGON_M4_xor_xacc(0, 0, 0);
1249  // CHECK: @llvm.hexagon.M5.vdmacbsu
1250  __builtin_HEXAGON_M5_vdmacbsu(0, 0, 0);
1251  // CHECK: @llvm.hexagon.M5.vdmpybsu
1252  __builtin_HEXAGON_M5_vdmpybsu(0, 0);
1253  // CHECK: @llvm.hexagon.M5.vmacbsu
1254  __builtin_HEXAGON_M5_vmacbsu(0, 0, 0);
1255  // CHECK: @llvm.hexagon.M5.vmacbuu
1256  __builtin_HEXAGON_M5_vmacbuu(0, 0, 0);
1257  // CHECK: @llvm.hexagon.M5.vmpybsu
1258  __builtin_HEXAGON_M5_vmpybsu(0, 0);
1259  // CHECK: @llvm.hexagon.M5.vmpybuu
1260  __builtin_HEXAGON_M5_vmpybuu(0, 0);
1261  // CHECK: @llvm.hexagon.M5.vrmacbsu
1262  __builtin_HEXAGON_M5_vrmacbsu(0, 0, 0);
1263  // CHECK: @llvm.hexagon.M5.vrmacbuu
1264  __builtin_HEXAGON_M5_vrmacbuu(0, 0, 0);
1265  // CHECK: @llvm.hexagon.M5.vrmpybsu
1266  __builtin_HEXAGON_M5_vrmpybsu(0, 0);
1267  // CHECK: @llvm.hexagon.M5.vrmpybuu
1268  __builtin_HEXAGON_M5_vrmpybuu(0, 0);
1269  // CHECK: @llvm.hexagon.M6.vabsdiffb
1270  __builtin_HEXAGON_M6_vabsdiffb(0, 0);
1271  // CHECK: @llvm.hexagon.M6.vabsdiffub
1272  __builtin_HEXAGON_M6_vabsdiffub(0, 0);
1273  // CHECK: @llvm.hexagon.S2.addasl.rrri
1274  __builtin_HEXAGON_S2_addasl_rrri(0, 0, 0);
1275  // CHECK: @llvm.hexagon.S2.asl.i.p
1276  __builtin_HEXAGON_S2_asl_i_p(0, 0);
1277  // CHECK: @llvm.hexagon.S2.asl.i.p.acc
1278  __builtin_HEXAGON_S2_asl_i_p_acc(0, 0, 0);
1279  // CHECK: @llvm.hexagon.S2.asl.i.p.and
1280  __builtin_HEXAGON_S2_asl_i_p_and(0, 0, 0);
1281  // CHECK: @llvm.hexagon.S2.asl.i.p.nac
1282  __builtin_HEXAGON_S2_asl_i_p_nac(0, 0, 0);
1283  // CHECK: @llvm.hexagon.S2.asl.i.p.or
1284  __builtin_HEXAGON_S2_asl_i_p_or(0, 0, 0);
1285  // CHECK: @llvm.hexagon.S2.asl.i.p.xacc
1286  __builtin_HEXAGON_S2_asl_i_p_xacc(0, 0, 0);
1287  // CHECK: @llvm.hexagon.S2.asl.i.r
1288  __builtin_HEXAGON_S2_asl_i_r(0, 0);
1289  // CHECK: @llvm.hexagon.S2.asl.i.r.acc
1290  __builtin_HEXAGON_S2_asl_i_r_acc(0, 0, 0);
1291  // CHECK: @llvm.hexagon.S2.asl.i.r.and
1292  __builtin_HEXAGON_S2_asl_i_r_and(0, 0, 0);
1293  // CHECK: @llvm.hexagon.S2.asl.i.r.nac
1294  __builtin_HEXAGON_S2_asl_i_r_nac(0, 0, 0);
1295  // CHECK: @llvm.hexagon.S2.asl.i.r.or
1296  __builtin_HEXAGON_S2_asl_i_r_or(0, 0, 0);
1297  // CHECK: @llvm.hexagon.S2.asl.i.r.sat
1298  __builtin_HEXAGON_S2_asl_i_r_sat(0, 0);
1299  // CHECK: @llvm.hexagon.S2.asl.i.r.xacc
1300  __builtin_HEXAGON_S2_asl_i_r_xacc(0, 0, 0);
1301  // CHECK: @llvm.hexagon.S2.asl.i.vh
1302  __builtin_HEXAGON_S2_asl_i_vh(0, 0);
1303  // CHECK: @llvm.hexagon.S2.asl.i.vw
1304  __builtin_HEXAGON_S2_asl_i_vw(0, 0);
1305  // CHECK: @llvm.hexagon.S2.asl.r.p
1306  __builtin_HEXAGON_S2_asl_r_p(0, 0);
1307  // CHECK: @llvm.hexagon.S2.asl.r.p.acc
1308  __builtin_HEXAGON_S2_asl_r_p_acc(0, 0, 0);
1309  // CHECK: @llvm.hexagon.S2.asl.r.p.and
1310  __builtin_HEXAGON_S2_asl_r_p_and(0, 0, 0);
1311  // CHECK: @llvm.hexagon.S2.asl.r.p.nac
1312  __builtin_HEXAGON_S2_asl_r_p_nac(0, 0, 0);
1313  // CHECK: @llvm.hexagon.S2.asl.r.p.or
1314  __builtin_HEXAGON_S2_asl_r_p_or(0, 0, 0);
1315  // CHECK: @llvm.hexagon.S2.asl.r.p.xor
1316  __builtin_HEXAGON_S2_asl_r_p_xor(0, 0, 0);
1317  // CHECK: @llvm.hexagon.S2.asl.r.r
1318  __builtin_HEXAGON_S2_asl_r_r(0, 0);
1319  // CHECK: @llvm.hexagon.S2.asl.r.r.acc
1320  __builtin_HEXAGON_S2_asl_r_r_acc(0, 0, 0);
1321  // CHECK: @llvm.hexagon.S2.asl.r.r.and
1322  __builtin_HEXAGON_S2_asl_r_r_and(0, 0, 0);
1323  // CHECK: @llvm.hexagon.S2.asl.r.r.nac
1324  __builtin_HEXAGON_S2_asl_r_r_nac(0, 0, 0);
1325  // CHECK: @llvm.hexagon.S2.asl.r.r.or
1326  __builtin_HEXAGON_S2_asl_r_r_or(0, 0, 0);
1327  // CHECK: @llvm.hexagon.S2.asl.r.r.sat
1328  __builtin_HEXAGON_S2_asl_r_r_sat(0, 0);
1329  // CHECK: @llvm.hexagon.S2.asl.r.vh
1330  __builtin_HEXAGON_S2_asl_r_vh(0, 0);
1331  // CHECK: @llvm.hexagon.S2.asl.r.vw
1332  __builtin_HEXAGON_S2_asl_r_vw(0, 0);
1333  // CHECK: @llvm.hexagon.S2.asr.i.p
1334  __builtin_HEXAGON_S2_asr_i_p(0, 0);
1335  // CHECK: @llvm.hexagon.S2.asr.i.p.acc
1336  __builtin_HEXAGON_S2_asr_i_p_acc(0, 0, 0);
1337  // CHECK: @llvm.hexagon.S2.asr.i.p.and
1338  __builtin_HEXAGON_S2_asr_i_p_and(0, 0, 0);
1339  // CHECK: @llvm.hexagon.S2.asr.i.p.nac
1340  __builtin_HEXAGON_S2_asr_i_p_nac(0, 0, 0);
1341  // CHECK: @llvm.hexagon.S2.asr.i.p.or
1342  __builtin_HEXAGON_S2_asr_i_p_or(0, 0, 0);
1343  // CHECK: @llvm.hexagon.S2.asr.i.p.rnd
1344  __builtin_HEXAGON_S2_asr_i_p_rnd(0, 0);
1345  // CHECK: @llvm.hexagon.S2.asr.i.p.rnd.goodsyntax
1346  __builtin_HEXAGON_S2_asr_i_p_rnd_goodsyntax(0, 0);
1347  // CHECK: @llvm.hexagon.S2.asr.i.r
1348  __builtin_HEXAGON_S2_asr_i_r(0, 0);
1349  // CHECK: @llvm.hexagon.S2.asr.i.r.acc
1350  __builtin_HEXAGON_S2_asr_i_r_acc(0, 0, 0);
1351  // CHECK: @llvm.hexagon.S2.asr.i.r.and
1352  __builtin_HEXAGON_S2_asr_i_r_and(0, 0, 0);
1353  // CHECK: @llvm.hexagon.S2.asr.i.r.nac
1354  __builtin_HEXAGON_S2_asr_i_r_nac(0, 0, 0);
1355  // CHECK: @llvm.hexagon.S2.asr.i.r.or
1356  __builtin_HEXAGON_S2_asr_i_r_or(0, 0, 0);
1357  // CHECK: @llvm.hexagon.S2.asr.i.r.rnd
1358  __builtin_HEXAGON_S2_asr_i_r_rnd(0, 0);
1359  // CHECK: @llvm.hexagon.S2.asr.i.r.rnd.goodsyntax
1360  __builtin_HEXAGON_S2_asr_i_r_rnd_goodsyntax(0, 0);
1361  // CHECK: @llvm.hexagon.S2.asr.i.svw.trun
1362  __builtin_HEXAGON_S2_asr_i_svw_trun(0, 0);
1363  // CHECK: @llvm.hexagon.S2.asr.i.vh
1364  __builtin_HEXAGON_S2_asr_i_vh(0, 0);
1365  // CHECK: @llvm.hexagon.S2.asr.i.vw
1366  __builtin_HEXAGON_S2_asr_i_vw(0, 0);
1367  // CHECK: @llvm.hexagon.S2.asr.r.p
1368  __builtin_HEXAGON_S2_asr_r_p(0, 0);
1369  // CHECK: @llvm.hexagon.S2.asr.r.p.acc
1370  __builtin_HEXAGON_S2_asr_r_p_acc(0, 0, 0);
1371  // CHECK: @llvm.hexagon.S2.asr.r.p.and
1372  __builtin_HEXAGON_S2_asr_r_p_and(0, 0, 0);
1373  // CHECK: @llvm.hexagon.S2.asr.r.p.nac
1374  __builtin_HEXAGON_S2_asr_r_p_nac(0, 0, 0);
1375  // CHECK: @llvm.hexagon.S2.asr.r.p.or
1376  __builtin_HEXAGON_S2_asr_r_p_or(0, 0, 0);
1377  // CHECK: @llvm.hexagon.S2.asr.r.p.xor
1378  __builtin_HEXAGON_S2_asr_r_p_xor(0, 0, 0);
1379  // CHECK: @llvm.hexagon.S2.asr.r.r
1380  __builtin_HEXAGON_S2_asr_r_r(0, 0);
1381  // CHECK: @llvm.hexagon.S2.asr.r.r.acc
1382  __builtin_HEXAGON_S2_asr_r_r_acc(0, 0, 0);
1383  // CHECK: @llvm.hexagon.S2.asr.r.r.and
1384  __builtin_HEXAGON_S2_asr_r_r_and(0, 0, 0);
1385  // CHECK: @llvm.hexagon.S2.asr.r.r.nac
1386  __builtin_HEXAGON_S2_asr_r_r_nac(0, 0, 0);
1387  // CHECK: @llvm.hexagon.S2.asr.r.r.or
1388  __builtin_HEXAGON_S2_asr_r_r_or(0, 0, 0);
1389  // CHECK: @llvm.hexagon.S2.asr.r.r.sat
1390  __builtin_HEXAGON_S2_asr_r_r_sat(0, 0);
1391  // CHECK: @llvm.hexagon.S2.asr.r.svw.trun
1392  __builtin_HEXAGON_S2_asr_r_svw_trun(0, 0);
1393  // CHECK: @llvm.hexagon.S2.asr.r.vh
1394  __builtin_HEXAGON_S2_asr_r_vh(0, 0);
1395  // CHECK: @llvm.hexagon.S2.asr.r.vw
1396  __builtin_HEXAGON_S2_asr_r_vw(0, 0);
1397  // CHECK: @llvm.hexagon.S2.brev
1398  __builtin_HEXAGON_S2_brev(0);
1399  // CHECK: @llvm.hexagon.S2.brevp
1400  __builtin_HEXAGON_S2_brevp(0);
1401  // CHECK: @llvm.hexagon.S2.cl0
1402  __builtin_HEXAGON_S2_cl0(0);
1403  // CHECK: @llvm.hexagon.S2.cl0p
1404  __builtin_HEXAGON_S2_cl0p(0);
1405  // CHECK: @llvm.hexagon.S2.cl1
1406  __builtin_HEXAGON_S2_cl1(0);
1407  // CHECK: @llvm.hexagon.S2.cl1p
1408  __builtin_HEXAGON_S2_cl1p(0);
1409  // CHECK: @llvm.hexagon.S2.clb
1410  __builtin_HEXAGON_S2_clb(0);
1411  // CHECK: @llvm.hexagon.S2.clbnorm
1412  __builtin_HEXAGON_S2_clbnorm(0);
1413  // CHECK: @llvm.hexagon.S2.clbp
1414  __builtin_HEXAGON_S2_clbp(0);
1415  // CHECK: @llvm.hexagon.S2.clrbit.i
1416  __builtin_HEXAGON_S2_clrbit_i(0, 0);
1417  // CHECK: @llvm.hexagon.S2.clrbit.r
1418  __builtin_HEXAGON_S2_clrbit_r(0, 0);
1419  // CHECK: @llvm.hexagon.S2.ct0
1420  __builtin_HEXAGON_S2_ct0(0);
1421  // CHECK: @llvm.hexagon.S2.ct0p
1422  __builtin_HEXAGON_S2_ct0p(0);
1423  // CHECK: @llvm.hexagon.S2.ct1
1424  __builtin_HEXAGON_S2_ct1(0);
1425  // CHECK: @llvm.hexagon.S2.ct1p
1426  __builtin_HEXAGON_S2_ct1p(0);
1427  // CHECK: @llvm.hexagon.S2.deinterleave
1428  __builtin_HEXAGON_S2_deinterleave(0);
1429  // CHECK: @llvm.hexagon.S2.extractu
1430  __builtin_HEXAGON_S2_extractu(0, 0, 0);
1431  // CHECK: @llvm.hexagon.S2.extractu.rp
1432  __builtin_HEXAGON_S2_extractu_rp(0, 0);
1433  // CHECK: @llvm.hexagon.S2.extractup
1434  __builtin_HEXAGON_S2_extractup(0, 0, 0);
1435  // CHECK: @llvm.hexagon.S2.extractup.rp
1436  __builtin_HEXAGON_S2_extractup_rp(0, 0);
1437  // CHECK: @llvm.hexagon.S2.insert
1438  __builtin_HEXAGON_S2_insert(0, 0, 0, 0);
1439  // CHECK: @llvm.hexagon.S2.insert.rp
1440  __builtin_HEXAGON_S2_insert_rp(0, 0, 0);
1441  // CHECK: @llvm.hexagon.S2.insertp
1442  __builtin_HEXAGON_S2_insertp(0, 0, 0, 0);
1443  // CHECK: @llvm.hexagon.S2.insertp.rp
1444  __builtin_HEXAGON_S2_insertp_rp(0, 0, 0);
1445  // CHECK: @llvm.hexagon.S2.interleave
1446  __builtin_HEXAGON_S2_interleave(0);
1447  // CHECK: @llvm.hexagon.S2.lfsp
1448  __builtin_HEXAGON_S2_lfsp(0, 0);
1449  // CHECK: @llvm.hexagon.S2.lsl.r.p
1450  __builtin_HEXAGON_S2_lsl_r_p(0, 0);
1451  // CHECK: @llvm.hexagon.S2.lsl.r.p.acc
1452  __builtin_HEXAGON_S2_lsl_r_p_acc(0, 0, 0);
1453  // CHECK: @llvm.hexagon.S2.lsl.r.p.and
1454  __builtin_HEXAGON_S2_lsl_r_p_and(0, 0, 0);
1455  // CHECK: @llvm.hexagon.S2.lsl.r.p.nac
1456  __builtin_HEXAGON_S2_lsl_r_p_nac(0, 0, 0);
1457  // CHECK: @llvm.hexagon.S2.lsl.r.p.or
1458  __builtin_HEXAGON_S2_lsl_r_p_or(0, 0, 0);
1459  // CHECK: @llvm.hexagon.S2.lsl.r.p.xor
1460  __builtin_HEXAGON_S2_lsl_r_p_xor(0, 0, 0);
1461  // CHECK: @llvm.hexagon.S2.lsl.r.r
1462  __builtin_HEXAGON_S2_lsl_r_r(0, 0);
1463  // CHECK: @llvm.hexagon.S2.lsl.r.r.acc
1464  __builtin_HEXAGON_S2_lsl_r_r_acc(0, 0, 0);
1465  // CHECK: @llvm.hexagon.S2.lsl.r.r.and
1466  __builtin_HEXAGON_S2_lsl_r_r_and(0, 0, 0);
1467  // CHECK: @llvm.hexagon.S2.lsl.r.r.nac
1468  __builtin_HEXAGON_S2_lsl_r_r_nac(0, 0, 0);
1469  // CHECK: @llvm.hexagon.S2.lsl.r.r.or
1470  __builtin_HEXAGON_S2_lsl_r_r_or(0, 0, 0);
1471  // CHECK: @llvm.hexagon.S2.lsl.r.vh
1472  __builtin_HEXAGON_S2_lsl_r_vh(0, 0);
1473  // CHECK: @llvm.hexagon.S2.lsl.r.vw
1474  __builtin_HEXAGON_S2_lsl_r_vw(0, 0);
1475  // CHECK: @llvm.hexagon.S2.lsr.i.p
1476  __builtin_HEXAGON_S2_lsr_i_p(0, 0);
1477  // CHECK: @llvm.hexagon.S2.lsr.i.p.acc
1478  __builtin_HEXAGON_S2_lsr_i_p_acc(0, 0, 0);
1479  // CHECK: @llvm.hexagon.S2.lsr.i.p.and
1480  __builtin_HEXAGON_S2_lsr_i_p_and(0, 0, 0);
1481  // CHECK: @llvm.hexagon.S2.lsr.i.p.nac
1482  __builtin_HEXAGON_S2_lsr_i_p_nac(0, 0, 0);
1483  // CHECK: @llvm.hexagon.S2.lsr.i.p.or
1484  __builtin_HEXAGON_S2_lsr_i_p_or(0, 0, 0);
1485  // CHECK: @llvm.hexagon.S2.lsr.i.p.xacc
1486  __builtin_HEXAGON_S2_lsr_i_p_xacc(0, 0, 0);
1487  // CHECK: @llvm.hexagon.S2.lsr.i.r
1488  __builtin_HEXAGON_S2_lsr_i_r(0, 0);
1489  // CHECK: @llvm.hexagon.S2.lsr.i.r.acc
1490  __builtin_HEXAGON_S2_lsr_i_r_acc(0, 0, 0);
1491  // CHECK: @llvm.hexagon.S2.lsr.i.r.and
1492  __builtin_HEXAGON_S2_lsr_i_r_and(0, 0, 0);
1493  // CHECK: @llvm.hexagon.S2.lsr.i.r.nac
1494  __builtin_HEXAGON_S2_lsr_i_r_nac(0, 0, 0);
1495  // CHECK: @llvm.hexagon.S2.lsr.i.r.or
1496  __builtin_HEXAGON_S2_lsr_i_r_or(0, 0, 0);
1497  // CHECK: @llvm.hexagon.S2.lsr.i.r.xacc
1498  __builtin_HEXAGON_S2_lsr_i_r_xacc(0, 0, 0);
1499  // CHECK: @llvm.hexagon.S2.lsr.i.vh
1500  __builtin_HEXAGON_S2_lsr_i_vh(0, 0);
1501  // CHECK: @llvm.hexagon.S2.lsr.i.vw
1502  __builtin_HEXAGON_S2_lsr_i_vw(0, 0);
1503  // CHECK: @llvm.hexagon.S2.lsr.r.p
1504  __builtin_HEXAGON_S2_lsr_r_p(0, 0);
1505  // CHECK: @llvm.hexagon.S2.lsr.r.p.acc
1506  __builtin_HEXAGON_S2_lsr_r_p_acc(0, 0, 0);
1507  // CHECK: @llvm.hexagon.S2.lsr.r.p.and
1508  __builtin_HEXAGON_S2_lsr_r_p_and(0, 0, 0);
1509  // CHECK: @llvm.hexagon.S2.lsr.r.p.nac
1510  __builtin_HEXAGON_S2_lsr_r_p_nac(0, 0, 0);
1511  // CHECK: @llvm.hexagon.S2.lsr.r.p.or
1512  __builtin_HEXAGON_S2_lsr_r_p_or(0, 0, 0);
1513  // CHECK: @llvm.hexagon.S2.lsr.r.p.xor
1514  __builtin_HEXAGON_S2_lsr_r_p_xor(0, 0, 0);
1515  // CHECK: @llvm.hexagon.S2.lsr.r.r
1516  __builtin_HEXAGON_S2_lsr_r_r(0, 0);
1517  // CHECK: @llvm.hexagon.S2.lsr.r.r.acc
1518  __builtin_HEXAGON_S2_lsr_r_r_acc(0, 0, 0);
1519  // CHECK: @llvm.hexagon.S2.lsr.r.r.and
1520  __builtin_HEXAGON_S2_lsr_r_r_and(0, 0, 0);
1521  // CHECK: @llvm.hexagon.S2.lsr.r.r.nac
1522  __builtin_HEXAGON_S2_lsr_r_r_nac(0, 0, 0);
1523  // CHECK: @llvm.hexagon.S2.lsr.r.r.or
1524  __builtin_HEXAGON_S2_lsr_r_r_or(0, 0, 0);
1525  // CHECK: @llvm.hexagon.S2.lsr.r.vh
1526  __builtin_HEXAGON_S2_lsr_r_vh(0, 0);
1527  // CHECK: @llvm.hexagon.S2.lsr.r.vw
1528  __builtin_HEXAGON_S2_lsr_r_vw(0, 0);
1529  // CHECK: @llvm.hexagon.S2.packhl
1530  __builtin_HEXAGON_S2_packhl(0, 0);
1531  // CHECK: @llvm.hexagon.S2.parityp
1532  __builtin_HEXAGON_S2_parityp(0, 0);
1533  // CHECK: @llvm.hexagon.S2.setbit.i
1534  __builtin_HEXAGON_S2_setbit_i(0, 0);
1535  // CHECK: @llvm.hexagon.S2.setbit.r
1536  __builtin_HEXAGON_S2_setbit_r(0, 0);
1537  // CHECK: @llvm.hexagon.S2.shuffeb
1538  __builtin_HEXAGON_S2_shuffeb(0, 0);
1539  // CHECK: @llvm.hexagon.S2.shuffeh
1540  __builtin_HEXAGON_S2_shuffeh(0, 0);
1541  // CHECK: @llvm.hexagon.S2.shuffob
1542  __builtin_HEXAGON_S2_shuffob(0, 0);
1543  // CHECK: @llvm.hexagon.S2.shuffoh
1544  __builtin_HEXAGON_S2_shuffoh(0, 0);
1545  // CHECK: @llvm.hexagon.S2.svsathb
1546  __builtin_HEXAGON_S2_svsathb(0);
1547  // CHECK: @llvm.hexagon.S2.svsathub
1548  __builtin_HEXAGON_S2_svsathub(0);
1549  // CHECK: @llvm.hexagon.S2.tableidxb.goodsyntax
1550  __builtin_HEXAGON_S2_tableidxb_goodsyntax(0, 0, 0, 0);
1551  // CHECK: @llvm.hexagon.S2.tableidxd.goodsyntax
1552  __builtin_HEXAGON_S2_tableidxd_goodsyntax(0, 0, 0, 0);
1553  // CHECK: @llvm.hexagon.S2.tableidxh.goodsyntax
1554  __builtin_HEXAGON_S2_tableidxh_goodsyntax(0, 0, 0, 0);
1555  // CHECK: @llvm.hexagon.S2.tableidxw.goodsyntax
1556  __builtin_HEXAGON_S2_tableidxw_goodsyntax(0, 0, 0, 0);
1557  // CHECK: @llvm.hexagon.S2.togglebit.i
1558  __builtin_HEXAGON_S2_togglebit_i(0, 0);
1559  // CHECK: @llvm.hexagon.S2.togglebit.r
1560  __builtin_HEXAGON_S2_togglebit_r(0, 0);
1561  // CHECK: @llvm.hexagon.S2.tstbit.i
1562  __builtin_HEXAGON_S2_tstbit_i(0, 0);
1563  // CHECK: @llvm.hexagon.S2.tstbit.r
1564  __builtin_HEXAGON_S2_tstbit_r(0, 0);
1565  // CHECK: @llvm.hexagon.S2.valignib
1566  __builtin_HEXAGON_S2_valignib(0, 0, 0);
1567  // CHECK: @llvm.hexagon.S2.valignrb
1568  __builtin_HEXAGON_S2_valignrb(0, 0, 0);
1569  // CHECK: @llvm.hexagon.S2.vcnegh
1570  __builtin_HEXAGON_S2_vcnegh(0, 0);
1571  // CHECK: @llvm.hexagon.S2.vcrotate
1572  __builtin_HEXAGON_S2_vcrotate(0, 0);
1573  // CHECK: @llvm.hexagon.S2.vrcnegh
1574  __builtin_HEXAGON_S2_vrcnegh(0, 0, 0);
1575  // CHECK: @llvm.hexagon.S2.vrndpackwh
1576  __builtin_HEXAGON_S2_vrndpackwh(0);
1577  // CHECK: @llvm.hexagon.S2.vrndpackwhs
1578  __builtin_HEXAGON_S2_vrndpackwhs(0);
1579  // CHECK: @llvm.hexagon.S2.vsathb
1580  __builtin_HEXAGON_S2_vsathb(0);
1581  // CHECK: @llvm.hexagon.S2.vsathb.nopack
1582  __builtin_HEXAGON_S2_vsathb_nopack(0);
1583  // CHECK: @llvm.hexagon.S2.vsathub
1584  __builtin_HEXAGON_S2_vsathub(0);
1585  // CHECK: @llvm.hexagon.S2.vsathub.nopack
1586  __builtin_HEXAGON_S2_vsathub_nopack(0);
1587  // CHECK: @llvm.hexagon.S2.vsatwh
1588  __builtin_HEXAGON_S2_vsatwh(0);
1589  // CHECK: @llvm.hexagon.S2.vsatwh.nopack
1590  __builtin_HEXAGON_S2_vsatwh_nopack(0);
1591  // CHECK: @llvm.hexagon.S2.vsatwuh
1592  __builtin_HEXAGON_S2_vsatwuh(0);
1593  // CHECK: @llvm.hexagon.S2.vsatwuh.nopack
1594  __builtin_HEXAGON_S2_vsatwuh_nopack(0);
1595  // CHECK: @llvm.hexagon.S2.vsplatrb
1596  __builtin_HEXAGON_S2_vsplatrb(0);
1597  // CHECK: @llvm.hexagon.S2.vsplatrh
1598  __builtin_HEXAGON_S2_vsplatrh(0);
1599  // CHECK: @llvm.hexagon.S2.vspliceib
1600  __builtin_HEXAGON_S2_vspliceib(0, 0, 0);
1601  // CHECK: @llvm.hexagon.S2.vsplicerb
1602  __builtin_HEXAGON_S2_vsplicerb(0, 0, 0);
1603  // CHECK: @llvm.hexagon.S2.vsxtbh
1604  __builtin_HEXAGON_S2_vsxtbh(0);
1605  // CHECK: @llvm.hexagon.S2.vsxthw
1606  __builtin_HEXAGON_S2_vsxthw(0);
1607  // CHECK: @llvm.hexagon.S2.vtrunehb
1608  __builtin_HEXAGON_S2_vtrunehb(0);
1609  // CHECK: @llvm.hexagon.S2.vtrunewh
1610  __builtin_HEXAGON_S2_vtrunewh(0, 0);
1611  // CHECK: @llvm.hexagon.S2.vtrunohb
1612  __builtin_HEXAGON_S2_vtrunohb(0);
1613  // CHECK: @llvm.hexagon.S2.vtrunowh
1614  __builtin_HEXAGON_S2_vtrunowh(0, 0);
1615  // CHECK: @llvm.hexagon.S2.vzxtbh
1616  __builtin_HEXAGON_S2_vzxtbh(0);
1617  // CHECK: @llvm.hexagon.S2.vzxthw
1618  __builtin_HEXAGON_S2_vzxthw(0);
1619  // CHECK: @llvm.hexagon.S4.addaddi
1620  __builtin_HEXAGON_S4_addaddi(0, 0, 0);
1621  // CHECK: @llvm.hexagon.S4.addi.asl.ri
1622  __builtin_HEXAGON_S4_addi_asl_ri(0, 0, 0);
1623  // CHECK: @llvm.hexagon.S4.addi.lsr.ri
1624  __builtin_HEXAGON_S4_addi_lsr_ri(0, 0, 0);
1625  // CHECK: @llvm.hexagon.S4.andi.asl.ri
1626  __builtin_HEXAGON_S4_andi_asl_ri(0, 0, 0);
1627  // CHECK: @llvm.hexagon.S4.andi.lsr.ri
1628  __builtin_HEXAGON_S4_andi_lsr_ri(0, 0, 0);
1629  // CHECK: @llvm.hexagon.S4.clbaddi
1630  __builtin_HEXAGON_S4_clbaddi(0, 0);
1631  // CHECK: @llvm.hexagon.S4.clbpaddi
1632  __builtin_HEXAGON_S4_clbpaddi(0, 0);
1633  // CHECK: @llvm.hexagon.S4.clbpnorm
1634  __builtin_HEXAGON_S4_clbpnorm(0);
1635  // CHECK: @llvm.hexagon.S4.extract
1636  __builtin_HEXAGON_S4_extract(0, 0, 0);
1637  // CHECK: @llvm.hexagon.S4.extract.rp
1638  __builtin_HEXAGON_S4_extract_rp(0, 0);
1639  // CHECK: @llvm.hexagon.S4.extractp
1640  __builtin_HEXAGON_S4_extractp(0, 0, 0);
1641  // CHECK: @llvm.hexagon.S4.extractp.rp
1642  __builtin_HEXAGON_S4_extractp_rp(0, 0);
1643  // CHECK: @llvm.hexagon.S4.lsli
1644  __builtin_HEXAGON_S4_lsli(0, 0);
1645  // CHECK: @llvm.hexagon.S4.ntstbit.i
1646  __builtin_HEXAGON_S4_ntstbit_i(0, 0);
1647  // CHECK: @llvm.hexagon.S4.ntstbit.r
1648  __builtin_HEXAGON_S4_ntstbit_r(0, 0);
1649  // CHECK: @llvm.hexagon.S4.or.andi
1650  __builtin_HEXAGON_S4_or_andi(0, 0, 0);
1651  // CHECK: @llvm.hexagon.S4.or.andix
1652  __builtin_HEXAGON_S4_or_andix(0, 0, 0);
1653  // CHECK: @llvm.hexagon.S4.or.ori
1654  __builtin_HEXAGON_S4_or_ori(0, 0, 0);
1655  // CHECK: @llvm.hexagon.S4.ori.asl.ri
1656  __builtin_HEXAGON_S4_ori_asl_ri(0, 0, 0);
1657  // CHECK: @llvm.hexagon.S4.ori.lsr.ri
1658  __builtin_HEXAGON_S4_ori_lsr_ri(0, 0, 0);
1659  // CHECK: @llvm.hexagon.S4.parity
1660  __builtin_HEXAGON_S4_parity(0, 0);
1661  // CHECK: @llvm.hexagon.S4.subaddi
1662  __builtin_HEXAGON_S4_subaddi(0, 0, 0);
1663  // CHECK: @llvm.hexagon.S4.subi.asl.ri
1664  __builtin_HEXAGON_S4_subi_asl_ri(0, 0, 0);
1665  // CHECK: @llvm.hexagon.S4.subi.lsr.ri
1666  __builtin_HEXAGON_S4_subi_lsr_ri(0, 0, 0);
1667  // CHECK: @llvm.hexagon.S4.vrcrotate
1668  __builtin_HEXAGON_S4_vrcrotate(0, 0, 0);
1669  // CHECK: @llvm.hexagon.S4.vrcrotate.acc
1670  __builtin_HEXAGON_S4_vrcrotate_acc(0, 0, 0, 0);
1671  // CHECK: @llvm.hexagon.S4.vxaddsubh
1672  __builtin_HEXAGON_S4_vxaddsubh(0, 0);
1673  // CHECK: @llvm.hexagon.S4.vxaddsubhr
1674  __builtin_HEXAGON_S4_vxaddsubhr(0, 0);
1675  // CHECK: @llvm.hexagon.S4.vxaddsubw
1676  __builtin_HEXAGON_S4_vxaddsubw(0, 0);
1677  // CHECK: @llvm.hexagon.S4.vxsubaddh
1678  __builtin_HEXAGON_S4_vxsubaddh(0, 0);
1679  // CHECK: @llvm.hexagon.S4.vxsubaddhr
1680  __builtin_HEXAGON_S4_vxsubaddhr(0, 0);
1681  // CHECK: @llvm.hexagon.S4.vxsubaddw
1682  __builtin_HEXAGON_S4_vxsubaddw(0, 0);
1683  // CHECK: @llvm.hexagon.S5.asrhub.rnd.sat.goodsyntax
1684  __builtin_HEXAGON_S5_asrhub_rnd_sat_goodsyntax(0, 0);
1685  // CHECK: @llvm.hexagon.S5.asrhub.sat
1686  __builtin_HEXAGON_S5_asrhub_sat(0, 0);
1687  // CHECK: @llvm.hexagon.S5.popcountp
1688  __builtin_HEXAGON_S5_popcountp(0);
1689  // CHECK: @llvm.hexagon.S5.vasrhrnd.goodsyntax
1690  __builtin_HEXAGON_S5_vasrhrnd_goodsyntax(0, 0);
1691  // CHECK: @llvm.hexagon.S6.rol.i.p
1692  __builtin_HEXAGON_S6_rol_i_p(0, 0);
1693  // CHECK: @llvm.hexagon.S6.rol.i.p.acc
1694  __builtin_HEXAGON_S6_rol_i_p_acc(0, 0, 0);
1695  // CHECK: @llvm.hexagon.S6.rol.i.p.and
1696  __builtin_HEXAGON_S6_rol_i_p_and(0, 0, 0);
1697  // CHECK: @llvm.hexagon.S6.rol.i.p.nac
1698  __builtin_HEXAGON_S6_rol_i_p_nac(0, 0, 0);
1699  // CHECK: @llvm.hexagon.S6.rol.i.p.or
1700  __builtin_HEXAGON_S6_rol_i_p_or(0, 0, 0);
1701  // CHECK: @llvm.hexagon.S6.rol.i.p.xacc
1702  __builtin_HEXAGON_S6_rol_i_p_xacc(0, 0, 0);
1703  // CHECK: @llvm.hexagon.S6.rol.i.r
1704  __builtin_HEXAGON_S6_rol_i_r(0, 0);
1705  // CHECK: @llvm.hexagon.S6.rol.i.r.acc
1706  __builtin_HEXAGON_S6_rol_i_r_acc(0, 0, 0);
1707  // CHECK: @llvm.hexagon.S6.rol.i.r.and
1708  __builtin_HEXAGON_S6_rol_i_r_and(0, 0, 0);
1709  // CHECK: @llvm.hexagon.S6.rol.i.r.nac
1710  __builtin_HEXAGON_S6_rol_i_r_nac(0, 0, 0);
1711  // CHECK: @llvm.hexagon.S6.rol.i.r.or
1712  __builtin_HEXAGON_S6_rol_i_r_or(0, 0, 0);
1713  // CHECK: @llvm.hexagon.S6.rol.i.r.xacc
1714  __builtin_HEXAGON_S6_rol_i_r_xacc(0, 0, 0);
1715  // CHECK: @llvm.hexagon.S6.vsplatrbp
1716  __builtin_HEXAGON_S6_vsplatrbp(0);
1717  // CHECK: @llvm.hexagon.S6.vtrunehb.ppp
1718  __builtin_HEXAGON_S6_vtrunehb_ppp(0, 0);
1719  // CHECK: @llvm.hexagon.S6.vtrunohb.ppp
1720  __builtin_HEXAGON_S6_vtrunohb_ppp(0, 0);
1721  // CHECK: @llvm.hexagon.Y2.dccleana
1722  __builtin_HEXAGON_Y2_dccleana(0);
1723  // CHECK: @llvm.hexagon.Y2.dccleaninva
1724  __builtin_HEXAGON_Y2_dccleaninva(0);
1725  // CHECK: @llvm.hexagon.Y2.dcinva
1726  __builtin_HEXAGON_Y2_dcinva(0);
1727  // CHECK: @llvm.hexagon.Y2.dczeroa
1728  __builtin_HEXAGON_Y2_dczeroa(0);
1729  // CHECK: @llvm.hexagon.Y4.l2fetch
1730  __builtin_HEXAGON_Y4_l2fetch(0, 0);
1731  // CHECK: @llvm.hexagon.Y5.l2fetch
1732  __builtin_HEXAGON_Y5_l2fetch(0, 0);
1733
1734  // CHECK: @llvm.hexagon.L2.loadrb.pbr
1735  __builtin_brev_ldb(0, 0, 0);
1736  // CHECK: @llvm.hexagon.L2.loadrd.pbr
1737  __builtin_brev_ldd(0, 0, 0);
1738  // CHECK: @llvm.hexagon.L2.loadrh.pbr
1739  __builtin_brev_ldh(0, 0, 0);
1740  // CHECK: @llvm.hexagon.L2.loadrub.pbr
1741  __builtin_brev_ldub(0, 0, 0);
1742  // CHECK: @llvm.hexagon.L2.loadruh.pbr
1743  __builtin_brev_lduh(0, 0, 0);
1744  // CHECK: @llvm.hexagon.L2.loadri.pbr
1745  __builtin_brev_ldw(0, 0, 0);
1746  // CHECK: @llvm.hexagon.S2.storerb.pbr
1747  __builtin_brev_stb(0, 0, 0);
1748  // CHECK: @llvm.hexagon.S2.storerd.pbr
1749  __builtin_brev_std(0, 0LL, 0);
1750  // CHECK: @llvm.hexagon.S2.storerh.pbr
1751  __builtin_brev_sth(0, 0, 0);
1752  // CHECK: @llvm.hexagon.S2.storerf.pbr
1753  __builtin_brev_sthhi(0, 0, 0);
1754  // CHECK: @llvm.hexagon.S2.storeri.pbr
1755  __builtin_brev_stw(0, 0, 0);
1756
1757  // CHECK: @llvm.hexagon.circ.ldb
1758  __builtin_circ_ldb(0, 0, 0, 0);
1759  // CHECK: @llvm.hexagon.circ.ldd
1760  __builtin_circ_ldd(0, 0, 0, 0);
1761  // CHECK: @llvm.hexagon.circ.ldh
1762  __builtin_circ_ldh(0, 0, 0, 0);
1763  // CHECK: @llvm.hexagon.circ.ldub
1764  __builtin_circ_ldub(0, 0, 0, 0);
1765  // CHECK: @llvm.hexagon.circ.lduh
1766  __builtin_circ_lduh(0, 0, 0, 0);
1767  // CHECK: @llvm.hexagon.circ.ldw
1768  __builtin_circ_ldw(0, 0, 0, 0);
1769  // CHECK: @llvm.hexagon.circ.stb
1770  __builtin_circ_stb(0, 0, 0, 0);
1771  // CHECK: @llvm.hexagon.circ.std
1772  __builtin_circ_std(0, 0, 0, 0);
1773  // CHECK: @llvm.hexagon.circ.sth
1774  __builtin_circ_sth(0, 0, 0, 0);
1775  // CHECK: @llvm.hexagon.circ.sthhi
1776  __builtin_circ_sthhi(0, 0, 0, 0);
1777  // CHECK: @llvm.hexagon.circ.stw
1778  __builtin_circ_stw(0, 0, 0, 0);
1779  // CHECK: @llvm.hexagon.prefetch
1780  __builtin_HEXAGON_prefetch(0);
1781}
1782