Clang Project

clang_source_code/test/CodeGen/builtins-hvx128.c
1// REQUIRES: hexagon-registered-target
2// RUN: %clang_cc1 -triple hexagon-unknown-elf -target-cpu hexagonv65 -target-feature +hvxv65 -target-feature +hvx-length128b -emit-llvm %s -o - | FileCheck %s
3
4void test() {
5  int v128 __attribute__((__vector_size__(128)));
6  int v256 __attribute__((__vector_size__(256)));
7
8  // CHECK: @llvm.hexagon.V6.extractw.128B
9  __builtin_HEXAGON_V6_extractw_128B(v128, 0);
10  // CHECK: @llvm.hexagon.V6.hi.128B
11  __builtin_HEXAGON_V6_hi_128B(v256);
12  // CHECK: @llvm.hexagon.V6.lo.128B
13  __builtin_HEXAGON_V6_lo_128B(v256);
14  // CHECK: @llvm.hexagon.V6.lvsplatb.128B
15  __builtin_HEXAGON_V6_lvsplatb_128B(0);
16  // CHECK: @llvm.hexagon.V6.lvsplath.128B
17  __builtin_HEXAGON_V6_lvsplath_128B(0);
18  // CHECK: @llvm.hexagon.V6.lvsplatw.128B
19  __builtin_HEXAGON_V6_lvsplatw_128B(0);
20  // CHECK: @llvm.hexagon.V6.pred.and.128B
21  __builtin_HEXAGON_V6_pred_and_128B(v128, v128);
22  // CHECK: @llvm.hexagon.V6.pred.and.n.128B
23  __builtin_HEXAGON_V6_pred_and_n_128B(v128, v128);
24  // CHECK: @llvm.hexagon.V6.pred.not.128B
25  __builtin_HEXAGON_V6_pred_not_128B(v128);
26  // CHECK: @llvm.hexagon.V6.pred.or.128B
27  __builtin_HEXAGON_V6_pred_or_128B(v128, v128);
28  // CHECK: @llvm.hexagon.V6.pred.or.n.128B
29  __builtin_HEXAGON_V6_pred_or_n_128B(v128, v128);
30  // CHECK: @llvm.hexagon.V6.pred.scalar2.128B
31  __builtin_HEXAGON_V6_pred_scalar2_128B(0);
32  // CHECK: @llvm.hexagon.V6.pred.scalar2v2.128B
33  __builtin_HEXAGON_V6_pred_scalar2v2_128B(0);
34  // CHECK: @llvm.hexagon.V6.pred.xor.128B
35  __builtin_HEXAGON_V6_pred_xor_128B(v128, v128);
36  // CHECK: @llvm.hexagon.V6.shuffeqh.128B
37  __builtin_HEXAGON_V6_shuffeqh_128B(v128, v128);
38  // CHECK: @llvm.hexagon.V6.shuffeqw.128B
39  __builtin_HEXAGON_V6_shuffeqw_128B(v128, v128);
40  // CHECK: @llvm.hexagon.V6.vS32b.nqpred.ai.128B
41  __builtin_HEXAGON_V6_vS32b_nqpred_ai_128B(v128, 0, v128);
42  // CHECK: @llvm.hexagon.V6.vS32b.nt.nqpred.ai.128B
43  __builtin_HEXAGON_V6_vS32b_nt_nqpred_ai_128B(v128, 0, v128);
44  // CHECK: @llvm.hexagon.V6.vS32b.nt.qpred.ai.128B
45  __builtin_HEXAGON_V6_vS32b_nt_qpred_ai_128B(v128, 0, v128);
46  // CHECK: @llvm.hexagon.V6.vS32b.qpred.ai.128B
47  __builtin_HEXAGON_V6_vS32b_qpred_ai_128B(v128, 0, v128);
48  // CHECK: @llvm.hexagon.V6.vabsb.128B
49  __builtin_HEXAGON_V6_vabsb_128B(v128);
50  // CHECK: @llvm.hexagon.V6.vabsb.sat.128B
51  __builtin_HEXAGON_V6_vabsb_sat_128B(v128);
52  // CHECK: @llvm.hexagon.V6.vabsdiffh.128B
53  __builtin_HEXAGON_V6_vabsdiffh_128B(v128, v128);
54  // CHECK: @llvm.hexagon.V6.vabsdiffub.128B
55  __builtin_HEXAGON_V6_vabsdiffub_128B(v128, v128);
56  // CHECK: @llvm.hexagon.V6.vabsdiffuh.128B
57  __builtin_HEXAGON_V6_vabsdiffuh_128B(v128, v128);
58  // CHECK: @llvm.hexagon.V6.vabsdiffw.128B
59  __builtin_HEXAGON_V6_vabsdiffw_128B(v128, v128);
60  // CHECK: @llvm.hexagon.V6.vabsh.128B
61  __builtin_HEXAGON_V6_vabsh_128B(v128);
62  // CHECK: @llvm.hexagon.V6.vabsh.sat.128B
63  __builtin_HEXAGON_V6_vabsh_sat_128B(v128);
64  // CHECK: @llvm.hexagon.V6.vabsw.128B
65  __builtin_HEXAGON_V6_vabsw_128B(v128);
66  // CHECK: @llvm.hexagon.V6.vabsw.sat.128B
67  __builtin_HEXAGON_V6_vabsw_sat_128B(v128);
68  // CHECK: @llvm.hexagon.V6.vaddb.128B
69  __builtin_HEXAGON_V6_vaddb_128B(v128, v128);
70  // CHECK: @llvm.hexagon.V6.vaddb.dv.128B
71  __builtin_HEXAGON_V6_vaddb_dv_128B(v256, v256);
72  // CHECK: @llvm.hexagon.V6.vaddbnq.128B
73  __builtin_HEXAGON_V6_vaddbnq_128B(v128, v128, v128);
74  // CHECK: @llvm.hexagon.V6.vaddbq.128B
75  __builtin_HEXAGON_V6_vaddbq_128B(v128, v128, v128);
76  // CHECK: @llvm.hexagon.V6.vaddbsat.128B
77  __builtin_HEXAGON_V6_vaddbsat_128B(v128, v128);
78  // CHECK: @llvm.hexagon.V6.vaddbsat.dv.128B
79  __builtin_HEXAGON_V6_vaddbsat_dv_128B(v256, v256);
80  // CHECK: @llvm.hexagon.V6.vaddcarry.128B
81  __builtin_HEXAGON_V6_vaddcarry_128B(v128, v128, 0);
82  // CHECK: @llvm.hexagon.V6.vaddclbh.128B
83  __builtin_HEXAGON_V6_vaddclbh_128B(v128, v128);
84  // CHECK: @llvm.hexagon.V6.vaddclbw.128B
85  __builtin_HEXAGON_V6_vaddclbw_128B(v128, v128);
86  // CHECK: @llvm.hexagon.V6.vaddh.128B
87  __builtin_HEXAGON_V6_vaddh_128B(v128, v128);
88  // CHECK: @llvm.hexagon.V6.vaddh.dv.128B
89  __builtin_HEXAGON_V6_vaddh_dv_128B(v256, v256);
90  // CHECK: @llvm.hexagon.V6.vaddhnq.128B
91  __builtin_HEXAGON_V6_vaddhnq_128B(v128, v128, v128);
92  // CHECK: @llvm.hexagon.V6.vaddhq.128B
93  __builtin_HEXAGON_V6_vaddhq_128B(v128, v128, v128);
94  // CHECK: @llvm.hexagon.V6.vaddhsat.128B
95  __builtin_HEXAGON_V6_vaddhsat_128B(v128, v128);
96  // CHECK: @llvm.hexagon.V6.vaddhsat.dv.128B
97  __builtin_HEXAGON_V6_vaddhsat_dv_128B(v256, v256);
98  // CHECK: @llvm.hexagon.V6.vaddhw.128B
99  __builtin_HEXAGON_V6_vaddhw_128B(v128, v128);
100  // CHECK: @llvm.hexagon.V6.vaddhw.acc.128B
101  __builtin_HEXAGON_V6_vaddhw_acc_128B(v256, v128, v128);
102  // CHECK: @llvm.hexagon.V6.vaddubh.128B
103  __builtin_HEXAGON_V6_vaddubh_128B(v128, v128);
104  // CHECK: @llvm.hexagon.V6.vaddubh.acc.128B
105  __builtin_HEXAGON_V6_vaddubh_acc_128B(v256, v128, v128);
106  // CHECK: @llvm.hexagon.V6.vaddubsat.128B
107  __builtin_HEXAGON_V6_vaddubsat_128B(v128, v128);
108  // CHECK: @llvm.hexagon.V6.vaddubsat.dv.128B
109  __builtin_HEXAGON_V6_vaddubsat_dv_128B(v256, v256);
110  // CHECK: @llvm.hexagon.V6.vaddububb.sat.128B
111  __builtin_HEXAGON_V6_vaddububb_sat_128B(v128, v128);
112  // CHECK: @llvm.hexagon.V6.vadduhsat.128B
113  __builtin_HEXAGON_V6_vadduhsat_128B(v128, v128);
114  // CHECK: @llvm.hexagon.V6.vadduhsat.dv.128B
115  __builtin_HEXAGON_V6_vadduhsat_dv_128B(v256, v256);
116  // CHECK: @llvm.hexagon.V6.vadduhw.128B
117  __builtin_HEXAGON_V6_vadduhw_128B(v128, v128);
118  // CHECK: @llvm.hexagon.V6.vadduhw.acc.128B
119  __builtin_HEXAGON_V6_vadduhw_acc_128B(v256, v128, v128);
120  // CHECK: @llvm.hexagon.V6.vadduwsat.128B
121  __builtin_HEXAGON_V6_vadduwsat_128B(v128, v128);
122  // CHECK: @llvm.hexagon.V6.vadduwsat.dv.128B
123  __builtin_HEXAGON_V6_vadduwsat_dv_128B(v256, v256);
124  // CHECK: @llvm.hexagon.V6.vaddw.128B
125  __builtin_HEXAGON_V6_vaddw_128B(v128, v128);
126  // CHECK: @llvm.hexagon.V6.vaddw.dv.128B
127  __builtin_HEXAGON_V6_vaddw_dv_128B(v256, v256);
128  // CHECK: @llvm.hexagon.V6.vaddwnq.128B
129  __builtin_HEXAGON_V6_vaddwnq_128B(v128, v128, v128);
130  // CHECK: @llvm.hexagon.V6.vaddwq.128B
131  __builtin_HEXAGON_V6_vaddwq_128B(v128, v128, v128);
132  // CHECK: @llvm.hexagon.V6.vaddwsat.128B
133  __builtin_HEXAGON_V6_vaddwsat_128B(v128, v128);
134  // CHECK: @llvm.hexagon.V6.vaddwsat.dv.128B
135  __builtin_HEXAGON_V6_vaddwsat_dv_128B(v256, v256);
136  // CHECK: @llvm.hexagon.V6.valignb.128B
137  __builtin_HEXAGON_V6_valignb_128B(v128, v128, 0);
138  // CHECK: @llvm.hexagon.V6.valignbi.128B
139  __builtin_HEXAGON_V6_valignbi_128B(v128, v128, 0);
140  // CHECK: @llvm.hexagon.V6.vand.128B
141  __builtin_HEXAGON_V6_vand_128B(v128, v128);
142  // CHECK: @llvm.hexagon.V6.vandnqrt.128B
143  __builtin_HEXAGON_V6_vandnqrt_128B(v128, 0);
144  // CHECK: @llvm.hexagon.V6.vandnqrt.acc.128B
145  __builtin_HEXAGON_V6_vandnqrt_acc_128B(v128, v128, 0);
146  // CHECK: @llvm.hexagon.V6.vandqrt.128B
147  __builtin_HEXAGON_V6_vandqrt_128B(v128, 0);
148  // CHECK: @llvm.hexagon.V6.vandqrt.acc.128B
149  __builtin_HEXAGON_V6_vandqrt_acc_128B(v128, v128, 0);
150  // CHECK: @llvm.hexagon.V6.vandvnqv.128B
151  __builtin_HEXAGON_V6_vandvnqv_128B(v128, v128);
152  // CHECK: @llvm.hexagon.V6.vandvqv.128B
153  __builtin_HEXAGON_V6_vandvqv_128B(v128, v128);
154  // CHECK: @llvm.hexagon.V6.vandvrt.128B
155  __builtin_HEXAGON_V6_vandvrt_128B(v128, 0);
156  // CHECK: @llvm.hexagon.V6.vandvrt.acc.128B
157  __builtin_HEXAGON_V6_vandvrt_acc_128B(v128, v128, 0);
158  // CHECK: @llvm.hexagon.V6.vaslh.128B
159  __builtin_HEXAGON_V6_vaslh_128B(v128, 0);
160  // CHECK: @llvm.hexagon.V6.vaslh.acc.128B
161  __builtin_HEXAGON_V6_vaslh_acc_128B(v128, v128, 0);
162  // CHECK: @llvm.hexagon.V6.vaslhv.128B
163  __builtin_HEXAGON_V6_vaslhv_128B(v128, v128);
164  // CHECK: @llvm.hexagon.V6.vaslw.128B
165  __builtin_HEXAGON_V6_vaslw_128B(v128, 0);
166  // CHECK: @llvm.hexagon.V6.vaslw.acc.128B
167  __builtin_HEXAGON_V6_vaslw_acc_128B(v128, v128, 0);
168  // CHECK: @llvm.hexagon.V6.vaslwv.128B
169  __builtin_HEXAGON_V6_vaslwv_128B(v128, v128);
170  // CHECK: @llvm.hexagon.V6.vasrh.128B
171  __builtin_HEXAGON_V6_vasrh_128B(v128, 0);
172  // CHECK: @llvm.hexagon.V6.vasrh.acc.128B
173  __builtin_HEXAGON_V6_vasrh_acc_128B(v128, v128, 0);
174  // CHECK: @llvm.hexagon.V6.vasrhbrndsat.128B
175  __builtin_HEXAGON_V6_vasrhbrndsat_128B(v128, v128, 0);
176  // CHECK: @llvm.hexagon.V6.vasrhbsat.128B
177  __builtin_HEXAGON_V6_vasrhbsat_128B(v128, v128, 0);
178  // CHECK: @llvm.hexagon.V6.vasrhubrndsat.128B
179  __builtin_HEXAGON_V6_vasrhubrndsat_128B(v128, v128, 0);
180  // CHECK: @llvm.hexagon.V6.vasrhubsat.128B
181  __builtin_HEXAGON_V6_vasrhubsat_128B(v128, v128, 0);
182  // CHECK: @llvm.hexagon.V6.vasrhv.128B
183  __builtin_HEXAGON_V6_vasrhv_128B(v128, v128);
184  // CHECK: @llvm.hexagon.V6.vasruhubrndsat.128B
185  __builtin_HEXAGON_V6_vasruhubrndsat_128B(v128, v128, 0);
186  // CHECK: @llvm.hexagon.V6.vasruhubsat.128B
187  __builtin_HEXAGON_V6_vasruhubsat_128B(v128, v128, 0);
188  // CHECK: @llvm.hexagon.V6.vasruwuhrndsat.128B
189  __builtin_HEXAGON_V6_vasruwuhrndsat_128B(v128, v128, 0);
190  // CHECK: @llvm.hexagon.V6.vasruwuhsat.128B
191  __builtin_HEXAGON_V6_vasruwuhsat_128B(v128, v128, 0);
192  // CHECK: @llvm.hexagon.V6.vasrw.128B
193  __builtin_HEXAGON_V6_vasrw_128B(v128, 0);
194  // CHECK: @llvm.hexagon.V6.vasrw.acc.128B
195  __builtin_HEXAGON_V6_vasrw_acc_128B(v128, v128, 0);
196  // CHECK: @llvm.hexagon.V6.vasrwh.128B
197  __builtin_HEXAGON_V6_vasrwh_128B(v128, v128, 0);
198  // CHECK: @llvm.hexagon.V6.vasrwhrndsat.128B
199  __builtin_HEXAGON_V6_vasrwhrndsat_128B(v128, v128, 0);
200  // CHECK: @llvm.hexagon.V6.vasrwhsat.128B
201  __builtin_HEXAGON_V6_vasrwhsat_128B(v128, v128, 0);
202  // CHECK: @llvm.hexagon.V6.vasrwuhrndsat.128B
203  __builtin_HEXAGON_V6_vasrwuhrndsat_128B(v128, v128, 0);
204  // CHECK: @llvm.hexagon.V6.vasrwuhsat.128B
205  __builtin_HEXAGON_V6_vasrwuhsat_128B(v128, v128, 0);
206  // CHECK: @llvm.hexagon.V6.vasrwv.128B
207  __builtin_HEXAGON_V6_vasrwv_128B(v128, v128);
208  // CHECK: @llvm.hexagon.V6.vassign.128B
209  __builtin_HEXAGON_V6_vassign_128B(v128);
210  // CHECK: @llvm.hexagon.V6.vassignp.128B
211  __builtin_HEXAGON_V6_vassignp_128B(v256);
212  // CHECK: @llvm.hexagon.V6.vavgb.128B
213  __builtin_HEXAGON_V6_vavgb_128B(v128, v128);
214  // CHECK: @llvm.hexagon.V6.vavgbrnd.128B
215  __builtin_HEXAGON_V6_vavgbrnd_128B(v128, v128);
216  // CHECK: @llvm.hexagon.V6.vavgh.128B
217  __builtin_HEXAGON_V6_vavgh_128B(v128, v128);
218  // CHECK: @llvm.hexagon.V6.vavghrnd.128B
219  __builtin_HEXAGON_V6_vavghrnd_128B(v128, v128);
220  // CHECK: @llvm.hexagon.V6.vavgub.128B
221  __builtin_HEXAGON_V6_vavgub_128B(v128, v128);
222  // CHECK: @llvm.hexagon.V6.vavgubrnd.128B
223  __builtin_HEXAGON_V6_vavgubrnd_128B(v128, v128);
224  // CHECK: @llvm.hexagon.V6.vavguh.128B
225  __builtin_HEXAGON_V6_vavguh_128B(v128, v128);
226  // CHECK: @llvm.hexagon.V6.vavguhrnd.128B
227  __builtin_HEXAGON_V6_vavguhrnd_128B(v128, v128);
228  // CHECK: @llvm.hexagon.V6.vavguw.128B
229  __builtin_HEXAGON_V6_vavguw_128B(v128, v128);
230  // CHECK: @llvm.hexagon.V6.vavguwrnd.128B
231  __builtin_HEXAGON_V6_vavguwrnd_128B(v128, v128);
232  // CHECK: @llvm.hexagon.V6.vavgw.128B
233  __builtin_HEXAGON_V6_vavgw_128B(v128, v128);
234  // CHECK: @llvm.hexagon.V6.vavgwrnd.128B
235  __builtin_HEXAGON_V6_vavgwrnd_128B(v128, v128);
236  // CHECK: @llvm.hexagon.V6.vcl0h.128B
237  __builtin_HEXAGON_V6_vcl0h_128B(v128);
238  // CHECK: @llvm.hexagon.V6.vcl0w.128B
239  __builtin_HEXAGON_V6_vcl0w_128B(v128);
240  // CHECK: @llvm.hexagon.V6.vcombine.128B
241  __builtin_HEXAGON_V6_vcombine_128B(v128, v128);
242  // CHECK: @llvm.hexagon.V6.vd0.128B
243  __builtin_HEXAGON_V6_vd0_128B();
244  // CHECK: @llvm.hexagon.V6.vdd0.128B
245  __builtin_HEXAGON_V6_vdd0_128B();
246  // CHECK: @llvm.hexagon.V6.vdealb.128B
247  __builtin_HEXAGON_V6_vdealb_128B(v128);
248  // CHECK: @llvm.hexagon.V6.vdealb4w.128B
249  __builtin_HEXAGON_V6_vdealb4w_128B(v128, v128);
250  // CHECK: @llvm.hexagon.V6.vdealh.128B
251  __builtin_HEXAGON_V6_vdealh_128B(v128);
252  // CHECK: @llvm.hexagon.V6.vdealvdd.128B
253  __builtin_HEXAGON_V6_vdealvdd_128B(v128, v128, 0);
254  // CHECK: @llvm.hexagon.V6.vdelta.128B
255  __builtin_HEXAGON_V6_vdelta_128B(v128, v128);
256  // CHECK: @llvm.hexagon.V6.vdmpybus.128B
257  __builtin_HEXAGON_V6_vdmpybus_128B(v128, 0);
258  // CHECK: @llvm.hexagon.V6.vdmpybus.acc.128B
259  __builtin_HEXAGON_V6_vdmpybus_acc_128B(v128, v128, 0);
260  // CHECK: @llvm.hexagon.V6.vdmpybus.dv.128B
261  __builtin_HEXAGON_V6_vdmpybus_dv_128B(v256, 0);
262  // CHECK: @llvm.hexagon.V6.vdmpybus.dv.acc.128B
263  __builtin_HEXAGON_V6_vdmpybus_dv_acc_128B(v256, v256, 0);
264  // CHECK: @llvm.hexagon.V6.vdmpyhb.128B
265  __builtin_HEXAGON_V6_vdmpyhb_128B(v128, 0);
266  // CHECK: @llvm.hexagon.V6.vdmpyhb.acc.128B
267  __builtin_HEXAGON_V6_vdmpyhb_acc_128B(v128, v128, 0);
268  // CHECK: @llvm.hexagon.V6.vdmpyhb.dv.128B
269  __builtin_HEXAGON_V6_vdmpyhb_dv_128B(v256, 0);
270  // CHECK: @llvm.hexagon.V6.vdmpyhb.dv.acc.128B
271  __builtin_HEXAGON_V6_vdmpyhb_dv_acc_128B(v256, v256, 0);
272  // CHECK: @llvm.hexagon.V6.vdmpyhisat.128B
273  __builtin_HEXAGON_V6_vdmpyhisat_128B(v256, 0);
274  // CHECK: @llvm.hexagon.V6.vdmpyhisat.acc.128B
275  __builtin_HEXAGON_V6_vdmpyhisat_acc_128B(v128, v256, 0);
276  // CHECK: @llvm.hexagon.V6.vdmpyhsat.128B
277  __builtin_HEXAGON_V6_vdmpyhsat_128B(v128, 0);
278  // CHECK: @llvm.hexagon.V6.vdmpyhsat.acc.128B
279  __builtin_HEXAGON_V6_vdmpyhsat_acc_128B(v128, v128, 0);
280  // CHECK: @llvm.hexagon.V6.vdmpyhsuisat.128B
281  __builtin_HEXAGON_V6_vdmpyhsuisat_128B(v256, 0);
282  // CHECK: @llvm.hexagon.V6.vdmpyhsuisat.acc.128B
283  __builtin_HEXAGON_V6_vdmpyhsuisat_acc_128B(v128, v256, 0);
284  // CHECK: @llvm.hexagon.V6.vdmpyhsusat.128B
285  __builtin_HEXAGON_V6_vdmpyhsusat_128B(v128, 0);
286  // CHECK: @llvm.hexagon.V6.vdmpyhsusat.acc.128B
287  __builtin_HEXAGON_V6_vdmpyhsusat_acc_128B(v128, v128, 0);
288  // CHECK: @llvm.hexagon.V6.vdmpyhvsat.128B
289  __builtin_HEXAGON_V6_vdmpyhvsat_128B(v128, v128);
290  // CHECK: @llvm.hexagon.V6.vdmpyhvsat.acc.128B
291  __builtin_HEXAGON_V6_vdmpyhvsat_acc_128B(v128, v128, v128);
292  // CHECK: @llvm.hexagon.V6.vdsaduh.128B
293  __builtin_HEXAGON_V6_vdsaduh_128B(v256, 0);
294  // CHECK: @llvm.hexagon.V6.vdsaduh.acc.128B
295  __builtin_HEXAGON_V6_vdsaduh_acc_128B(v256, v256, 0);
296  // CHECK: @llvm.hexagon.V6.veqb.128B
297  __builtin_HEXAGON_V6_veqb_128B(v128, v128);
298  // CHECK: @llvm.hexagon.V6.veqb.and.128B
299  __builtin_HEXAGON_V6_veqb_and_128B(v128, v128, v128);
300  // CHECK: @llvm.hexagon.V6.veqb.or.128B
301  __builtin_HEXAGON_V6_veqb_or_128B(v128, v128, v128);
302  // CHECK: @llvm.hexagon.V6.veqb.xor.128B
303  __builtin_HEXAGON_V6_veqb_xor_128B(v128, v128, v128);
304  // CHECK: @llvm.hexagon.V6.veqh.128B
305  __builtin_HEXAGON_V6_veqh_128B(v128, v128);
306  // CHECK: @llvm.hexagon.V6.veqh.and.128B
307  __builtin_HEXAGON_V6_veqh_and_128B(v128, v128, v128);
308  // CHECK: @llvm.hexagon.V6.veqh.or.128B
309  __builtin_HEXAGON_V6_veqh_or_128B(v128, v128, v128);
310  // CHECK: @llvm.hexagon.V6.veqh.xor.128B
311  __builtin_HEXAGON_V6_veqh_xor_128B(v128, v128, v128);
312  // CHECK: @llvm.hexagon.V6.veqw.128B
313  __builtin_HEXAGON_V6_veqw_128B(v128, v128);
314  // CHECK: @llvm.hexagon.V6.veqw.and.128B
315  __builtin_HEXAGON_V6_veqw_and_128B(v128, v128, v128);
316  // CHECK: @llvm.hexagon.V6.veqw.or.128B
317  __builtin_HEXAGON_V6_veqw_or_128B(v128, v128, v128);
318  // CHECK: @llvm.hexagon.V6.veqw.xor.128B
319  __builtin_HEXAGON_V6_veqw_xor_128B(v128, v128, v128);
320  // CHECK: @llvm.hexagon.V6.vgathermh.128B
321  __builtin_HEXAGON_V6_vgathermh_128B(0, 0, 0, v128);
322  // CHECK: @llvm.hexagon.V6.vgathermhq.128B
323  __builtin_HEXAGON_V6_vgathermhq_128B(0, v128, 0, 0, v128);
324  // CHECK: @llvm.hexagon.V6.vgathermhw.128B
325  __builtin_HEXAGON_V6_vgathermhw_128B(0, 0, 0, v256);
326  // CHECK: @llvm.hexagon.V6.vgathermhwq.128B
327  __builtin_HEXAGON_V6_vgathermhwq_128B(0, v128, 0, 0, v256);
328  // CHECK: @llvm.hexagon.V6.vgathermw.128B
329  __builtin_HEXAGON_V6_vgathermw_128B(0, 0, 0, v128);
330  // CHECK: @llvm.hexagon.V6.vgathermwq.128B
331  __builtin_HEXAGON_V6_vgathermwq_128B(0, v128, 0, 0, v128);
332  // CHECK: @llvm.hexagon.V6.vgtb.128B
333  __builtin_HEXAGON_V6_vgtb_128B(v128, v128);
334  // CHECK: @llvm.hexagon.V6.vgtb.and.128B
335  __builtin_HEXAGON_V6_vgtb_and_128B(v128, v128, v128);
336  // CHECK: @llvm.hexagon.V6.vgtb.or.128B
337  __builtin_HEXAGON_V6_vgtb_or_128B(v128, v128, v128);
338  // CHECK: @llvm.hexagon.V6.vgtb.xor.128B
339  __builtin_HEXAGON_V6_vgtb_xor_128B(v128, v128, v128);
340  // CHECK: @llvm.hexagon.V6.vgth.128B
341  __builtin_HEXAGON_V6_vgth_128B(v128, v128);
342  // CHECK: @llvm.hexagon.V6.vgth.and.128B
343  __builtin_HEXAGON_V6_vgth_and_128B(v128, v128, v128);
344  // CHECK: @llvm.hexagon.V6.vgth.or.128B
345  __builtin_HEXAGON_V6_vgth_or_128B(v128, v128, v128);
346  // CHECK: @llvm.hexagon.V6.vgth.xor.128B
347  __builtin_HEXAGON_V6_vgth_xor_128B(v128, v128, v128);
348  // CHECK: @llvm.hexagon.V6.vgtub.128B
349  __builtin_HEXAGON_V6_vgtub_128B(v128, v128);
350  // CHECK: @llvm.hexagon.V6.vgtub.and.128B
351  __builtin_HEXAGON_V6_vgtub_and_128B(v128, v128, v128);
352  // CHECK: @llvm.hexagon.V6.vgtub.or.128B
353  __builtin_HEXAGON_V6_vgtub_or_128B(v128, v128, v128);
354  // CHECK: @llvm.hexagon.V6.vgtub.xor.128B
355  __builtin_HEXAGON_V6_vgtub_xor_128B(v128, v128, v128);
356  // CHECK: @llvm.hexagon.V6.vgtuh.128B
357  __builtin_HEXAGON_V6_vgtuh_128B(v128, v128);
358  // CHECK: @llvm.hexagon.V6.vgtuh.and.128B
359  __builtin_HEXAGON_V6_vgtuh_and_128B(v128, v128, v128);
360  // CHECK: @llvm.hexagon.V6.vgtuh.or.128B
361  __builtin_HEXAGON_V6_vgtuh_or_128B(v128, v128, v128);
362  // CHECK: @llvm.hexagon.V6.vgtuh.xor.128B
363  __builtin_HEXAGON_V6_vgtuh_xor_128B(v128, v128, v128);
364  // CHECK: @llvm.hexagon.V6.vgtuw.128B
365  __builtin_HEXAGON_V6_vgtuw_128B(v128, v128);
366  // CHECK: @llvm.hexagon.V6.vgtuw.and.128B
367  __builtin_HEXAGON_V6_vgtuw_and_128B(v128, v128, v128);
368  // CHECK: @llvm.hexagon.V6.vgtuw.or.128B
369  __builtin_HEXAGON_V6_vgtuw_or_128B(v128, v128, v128);
370  // CHECK: @llvm.hexagon.V6.vgtuw.xor.128B
371  __builtin_HEXAGON_V6_vgtuw_xor_128B(v128, v128, v128);
372  // CHECK: @llvm.hexagon.V6.vgtw.128B
373  __builtin_HEXAGON_V6_vgtw_128B(v128, v128);
374  // CHECK: @llvm.hexagon.V6.vgtw.and.128B
375  __builtin_HEXAGON_V6_vgtw_and_128B(v128, v128, v128);
376  // CHECK: @llvm.hexagon.V6.vgtw.or.128B
377  __builtin_HEXAGON_V6_vgtw_or_128B(v128, v128, v128);
378  // CHECK: @llvm.hexagon.V6.vgtw.xor.128B
379  __builtin_HEXAGON_V6_vgtw_xor_128B(v128, v128, v128);
380  // CHECK: @llvm.hexagon.V6.vinsertwr.128B
381  __builtin_HEXAGON_V6_vinsertwr_128B(v128, 0);
382  // CHECK: @llvm.hexagon.V6.vlalignb.128B
383  __builtin_HEXAGON_V6_vlalignb_128B(v128, v128, 0);
384  // CHECK: @llvm.hexagon.V6.vlalignbi.128B
385  __builtin_HEXAGON_V6_vlalignbi_128B(v128, v128, 0);
386  // CHECK: @llvm.hexagon.V6.vlsrb.128B
387  __builtin_HEXAGON_V6_vlsrb_128B(v128, 0);
388  // CHECK: @llvm.hexagon.V6.vlsrh.128B
389  __builtin_HEXAGON_V6_vlsrh_128B(v128, 0);
390  // CHECK: @llvm.hexagon.V6.vlsrhv.128B
391  __builtin_HEXAGON_V6_vlsrhv_128B(v128, v128);
392  // CHECK: @llvm.hexagon.V6.vlsrw.128B
393  __builtin_HEXAGON_V6_vlsrw_128B(v128, 0);
394  // CHECK: @llvm.hexagon.V6.vlsrwv.128B
395  __builtin_HEXAGON_V6_vlsrwv_128B(v128, v128);
396  // CHECK: @llvm.hexagon.V6.vlut4.128B
397  __builtin_HEXAGON_V6_vlut4_128B(v128, 0);
398  // CHECK: @llvm.hexagon.V6.vlutvvb.128B
399  __builtin_HEXAGON_V6_vlutvvb_128B(v128, v128, 0);
400  // CHECK: @llvm.hexagon.V6.vlutvvb.nm.128B
401  __builtin_HEXAGON_V6_vlutvvb_nm_128B(v128, v128, 0);
402  // CHECK: @llvm.hexagon.V6.vlutvvb.oracc.128B
403  __builtin_HEXAGON_V6_vlutvvb_oracc_128B(v128, v128, v128, 0);
404  // CHECK: @llvm.hexagon.V6.vlutvvb.oracci.128B
405  __builtin_HEXAGON_V6_vlutvvb_oracci_128B(v128, v128, v128, 0);
406  // CHECK: @llvm.hexagon.V6.vlutvvbi.128B
407  __builtin_HEXAGON_V6_vlutvvbi_128B(v128, v128, 0);
408  // CHECK: @llvm.hexagon.V6.vlutvwh.128B
409  __builtin_HEXAGON_V6_vlutvwh_128B(v128, v128, 0);
410  // CHECK: @llvm.hexagon.V6.vlutvwh.nm.128B
411  __builtin_HEXAGON_V6_vlutvwh_nm_128B(v128, v128, 0);
412  // CHECK: @llvm.hexagon.V6.vlutvwh.oracc.128B
413  __builtin_HEXAGON_V6_vlutvwh_oracc_128B(v256, v128, v128, 0);
414  // CHECK: @llvm.hexagon.V6.vlutvwh.oracci.128B
415  __builtin_HEXAGON_V6_vlutvwh_oracci_128B(v256, v128, v128, 0);
416  // CHECK: @llvm.hexagon.V6.vlutvwhi.128B
417  __builtin_HEXAGON_V6_vlutvwhi_128B(v128, v128, 0);
418  // CHECK: @llvm.hexagon.V6.vmaskedstorenq.128B
419  __builtin_HEXAGON_V6_vmaskedstorenq_128B(v128, 0, v128);
420  // CHECK: @llvm.hexagon.V6.vmaskedstorentnq.128B
421  __builtin_HEXAGON_V6_vmaskedstorentnq_128B(v128, 0, v128);
422  // CHECK: @llvm.hexagon.V6.vmaskedstorentq.128B
423  __builtin_HEXAGON_V6_vmaskedstorentq_128B(v128, 0, v128);
424  // CHECK: @llvm.hexagon.V6.vmaskedstoreq.128B
425  __builtin_HEXAGON_V6_vmaskedstoreq_128B(v128, 0, v128);
426  // CHECK: @llvm.hexagon.V6.vmaxb.128B
427  __builtin_HEXAGON_V6_vmaxb_128B(v128, v128);
428  // CHECK: @llvm.hexagon.V6.vmaxh.128B
429  __builtin_HEXAGON_V6_vmaxh_128B(v128, v128);
430  // CHECK: @llvm.hexagon.V6.vmaxub.128B
431  __builtin_HEXAGON_V6_vmaxub_128B(v128, v128);
432  // CHECK: @llvm.hexagon.V6.vmaxuh.128B
433  __builtin_HEXAGON_V6_vmaxuh_128B(v128, v128);
434  // CHECK: @llvm.hexagon.V6.vmaxw.128B
435  __builtin_HEXAGON_V6_vmaxw_128B(v128, v128);
436  // CHECK: @llvm.hexagon.V6.vminb.128B
437  __builtin_HEXAGON_V6_vminb_128B(v128, v128);
438  // CHECK: @llvm.hexagon.V6.vminh.128B
439  __builtin_HEXAGON_V6_vminh_128B(v128, v128);
440  // CHECK: @llvm.hexagon.V6.vminub.128B
441  __builtin_HEXAGON_V6_vminub_128B(v128, v128);
442  // CHECK: @llvm.hexagon.V6.vminuh.128B
443  __builtin_HEXAGON_V6_vminuh_128B(v128, v128);
444  // CHECK: @llvm.hexagon.V6.vminw.128B
445  __builtin_HEXAGON_V6_vminw_128B(v128, v128);
446  // CHECK: @llvm.hexagon.V6.vmpabus.128B
447  __builtin_HEXAGON_V6_vmpabus_128B(v256, 0);
448  // CHECK: @llvm.hexagon.V6.vmpabus.acc.128B
449  __builtin_HEXAGON_V6_vmpabus_acc_128B(v256, v256, 0);
450  // CHECK: @llvm.hexagon.V6.vmpabusv.128B
451  __builtin_HEXAGON_V6_vmpabusv_128B(v256, v256);
452  // CHECK: @llvm.hexagon.V6.vmpabuu.128B
453  __builtin_HEXAGON_V6_vmpabuu_128B(v256, 0);
454  // CHECK: @llvm.hexagon.V6.vmpabuu.acc.128B
455  __builtin_HEXAGON_V6_vmpabuu_acc_128B(v256, v256, 0);
456  // CHECK: @llvm.hexagon.V6.vmpabuuv.128B
457  __builtin_HEXAGON_V6_vmpabuuv_128B(v256, v256);
458  // CHECK: @llvm.hexagon.V6.vmpahb.128B
459  __builtin_HEXAGON_V6_vmpahb_128B(v256, 0);
460  // CHECK: @llvm.hexagon.V6.vmpahb.acc.128B
461  __builtin_HEXAGON_V6_vmpahb_acc_128B(v256, v256, 0);
462  // CHECK: @llvm.hexagon.V6.vmpahhsat.128B
463  __builtin_HEXAGON_V6_vmpahhsat_128B(v128, v128, 0);
464  // CHECK: @llvm.hexagon.V6.vmpauhb.128B
465  __builtin_HEXAGON_V6_vmpauhb_128B(v256, 0);
466  // CHECK: @llvm.hexagon.V6.vmpauhb.acc.128B
467  __builtin_HEXAGON_V6_vmpauhb_acc_128B(v256, v256, 0);
468  // CHECK: @llvm.hexagon.V6.vmpauhuhsat.128B
469  __builtin_HEXAGON_V6_vmpauhuhsat_128B(v128, v128, 0);
470  // CHECK: @llvm.hexagon.V6.vmpsuhuhsat.128B
471  __builtin_HEXAGON_V6_vmpsuhuhsat_128B(v128, v128, 0);
472  // CHECK: @llvm.hexagon.V6.vmpybus.128B
473  __builtin_HEXAGON_V6_vmpybus_128B(v128, 0);
474  // CHECK: @llvm.hexagon.V6.vmpybus.acc.128B
475  __builtin_HEXAGON_V6_vmpybus_acc_128B(v256, v128, 0);
476  // CHECK: @llvm.hexagon.V6.vmpybusv.128B
477  __builtin_HEXAGON_V6_vmpybusv_128B(v128, v128);
478  // CHECK: @llvm.hexagon.V6.vmpybusv.acc.128B
479  __builtin_HEXAGON_V6_vmpybusv_acc_128B(v256, v128, v128);
480  // CHECK: @llvm.hexagon.V6.vmpybv.128B
481  __builtin_HEXAGON_V6_vmpybv_128B(v128, v128);
482  // CHECK: @llvm.hexagon.V6.vmpybv.acc.128B
483  __builtin_HEXAGON_V6_vmpybv_acc_128B(v256, v128, v128);
484  // CHECK: @llvm.hexagon.V6.vmpyewuh.128B
485  __builtin_HEXAGON_V6_vmpyewuh_128B(v128, v128);
486  // CHECK: @llvm.hexagon.V6.vmpyewuh.64.128B
487  __builtin_HEXAGON_V6_vmpyewuh_64_128B(v128, v128);
488  // CHECK: @llvm.hexagon.V6.vmpyh.128B
489  __builtin_HEXAGON_V6_vmpyh_128B(v128, 0);
490  // CHECK: @llvm.hexagon.V6.vmpyh.acc.128B
491  __builtin_HEXAGON_V6_vmpyh_acc_128B(v256, v128, 0);
492  // CHECK: @llvm.hexagon.V6.vmpyhsat.acc.128B
493  __builtin_HEXAGON_V6_vmpyhsat_acc_128B(v256, v128, 0);
494  // CHECK: @llvm.hexagon.V6.vmpyhsrs.128B
495  __builtin_HEXAGON_V6_vmpyhsrs_128B(v128, 0);
496  // CHECK: @llvm.hexagon.V6.vmpyhss.128B
497  __builtin_HEXAGON_V6_vmpyhss_128B(v128, 0);
498  // CHECK: @llvm.hexagon.V6.vmpyhus.128B
499  __builtin_HEXAGON_V6_vmpyhus_128B(v128, v128);
500  // CHECK: @llvm.hexagon.V6.vmpyhus.acc.128B
501  __builtin_HEXAGON_V6_vmpyhus_acc_128B(v256, v128, v128);
502  // CHECK: @llvm.hexagon.V6.vmpyhv.128B
503  __builtin_HEXAGON_V6_vmpyhv_128B(v128, v128);
504  // CHECK: @llvm.hexagon.V6.vmpyhv.acc.128B
505  __builtin_HEXAGON_V6_vmpyhv_acc_128B(v256, v128, v128);
506  // CHECK: @llvm.hexagon.V6.vmpyhvsrs.128B
507  __builtin_HEXAGON_V6_vmpyhvsrs_128B(v128, v128);
508  // CHECK: @llvm.hexagon.V6.vmpyieoh.128B
509  __builtin_HEXAGON_V6_vmpyieoh_128B(v128, v128);
510  // CHECK: @llvm.hexagon.V6.vmpyiewh.acc.128B
511  __builtin_HEXAGON_V6_vmpyiewh_acc_128B(v128, v128, v128);
512  // CHECK: @llvm.hexagon.V6.vmpyiewuh.128B
513  __builtin_HEXAGON_V6_vmpyiewuh_128B(v128, v128);
514  // CHECK: @llvm.hexagon.V6.vmpyiewuh.acc.128B
515  __builtin_HEXAGON_V6_vmpyiewuh_acc_128B(v128, v128, v128);
516  // CHECK: @llvm.hexagon.V6.vmpyih.128B
517  __builtin_HEXAGON_V6_vmpyih_128B(v128, v128);
518  // CHECK: @llvm.hexagon.V6.vmpyih.acc.128B
519  __builtin_HEXAGON_V6_vmpyih_acc_128B(v128, v128, v128);
520  // CHECK: @llvm.hexagon.V6.vmpyihb.128B
521  __builtin_HEXAGON_V6_vmpyihb_128B(v128, 0);
522  // CHECK: @llvm.hexagon.V6.vmpyihb.acc.128B
523  __builtin_HEXAGON_V6_vmpyihb_acc_128B(v128, v128, 0);
524  // CHECK: @llvm.hexagon.V6.vmpyiowh.128B
525  __builtin_HEXAGON_V6_vmpyiowh_128B(v128, v128);
526  // CHECK: @llvm.hexagon.V6.vmpyiwb.128B
527  __builtin_HEXAGON_V6_vmpyiwb_128B(v128, 0);
528  // CHECK: @llvm.hexagon.V6.vmpyiwb.acc.128B
529  __builtin_HEXAGON_V6_vmpyiwb_acc_128B(v128, v128, 0);
530  // CHECK: @llvm.hexagon.V6.vmpyiwh.128B
531  __builtin_HEXAGON_V6_vmpyiwh_128B(v128, 0);
532  // CHECK: @llvm.hexagon.V6.vmpyiwh.acc.128B
533  __builtin_HEXAGON_V6_vmpyiwh_acc_128B(v128, v128, 0);
534  // CHECK: @llvm.hexagon.V6.vmpyiwub.128B
535  __builtin_HEXAGON_V6_vmpyiwub_128B(v128, 0);
536  // CHECK: @llvm.hexagon.V6.vmpyiwub.acc.128B
537  __builtin_HEXAGON_V6_vmpyiwub_acc_128B(v128, v128, 0);
538  // CHECK: @llvm.hexagon.V6.vmpyowh.128B
539  __builtin_HEXAGON_V6_vmpyowh_128B(v128, v128);
540  // CHECK: @llvm.hexagon.V6.vmpyowh.64.acc.128B
541  __builtin_HEXAGON_V6_vmpyowh_64_acc_128B(v256, v128, v128);
542  // CHECK: @llvm.hexagon.V6.vmpyowh.rnd.128B
543  __builtin_HEXAGON_V6_vmpyowh_rnd_128B(v128, v128);
544  // CHECK: @llvm.hexagon.V6.vmpyowh.rnd.sacc.128B
545  __builtin_HEXAGON_V6_vmpyowh_rnd_sacc_128B(v128, v128, v128);
546  // CHECK: @llvm.hexagon.V6.vmpyowh.sacc.128B
547  __builtin_HEXAGON_V6_vmpyowh_sacc_128B(v128, v128, v128);
548  // CHECK: @llvm.hexagon.V6.vmpyub.128B
549  __builtin_HEXAGON_V6_vmpyub_128B(v128, 0);
550  // CHECK: @llvm.hexagon.V6.vmpyub.acc.128B
551  __builtin_HEXAGON_V6_vmpyub_acc_128B(v256, v128, 0);
552  // CHECK: @llvm.hexagon.V6.vmpyubv.128B
553  __builtin_HEXAGON_V6_vmpyubv_128B(v128, v128);
554  // CHECK: @llvm.hexagon.V6.vmpyubv.acc.128B
555  __builtin_HEXAGON_V6_vmpyubv_acc_128B(v256, v128, v128);
556  // CHECK: @llvm.hexagon.V6.vmpyuh.128B
557  __builtin_HEXAGON_V6_vmpyuh_128B(v128, 0);
558  // CHECK: @llvm.hexagon.V6.vmpyuh.acc.128B
559  __builtin_HEXAGON_V6_vmpyuh_acc_128B(v256, v128, 0);
560  // CHECK: @llvm.hexagon.V6.vmpyuhe.128B
561  __builtin_HEXAGON_V6_vmpyuhe_128B(v128, 0);
562  // CHECK: @llvm.hexagon.V6.vmpyuhe.acc.128B
563  __builtin_HEXAGON_V6_vmpyuhe_acc_128B(v128, v128, 0);
564  // CHECK: @llvm.hexagon.V6.vmpyuhv.128B
565  __builtin_HEXAGON_V6_vmpyuhv_128B(v128, v128);
566  // CHECK: @llvm.hexagon.V6.vmpyuhv.acc.128B
567  __builtin_HEXAGON_V6_vmpyuhv_acc_128B(v256, v128, v128);
568  // CHECK: @llvm.hexagon.V6.vmux.128B
569  __builtin_HEXAGON_V6_vmux_128B(v128, v128, v128);
570  // CHECK: @llvm.hexagon.V6.vnavgb.128B
571  __builtin_HEXAGON_V6_vnavgb_128B(v128, v128);
572  // CHECK: @llvm.hexagon.V6.vnavgh.128B
573  __builtin_HEXAGON_V6_vnavgh_128B(v128, v128);
574  // CHECK: @llvm.hexagon.V6.vnavgub.128B
575  __builtin_HEXAGON_V6_vnavgub_128B(v128, v128);
576  // CHECK: @llvm.hexagon.V6.vnavgw.128B
577  __builtin_HEXAGON_V6_vnavgw_128B(v128, v128);
578  // CHECK: @llvm.hexagon.V6.vnormamth.128B
579  __builtin_HEXAGON_V6_vnormamth_128B(v128);
580  // CHECK: @llvm.hexagon.V6.vnormamtw.128B
581  __builtin_HEXAGON_V6_vnormamtw_128B(v128);
582  // CHECK: @llvm.hexagon.V6.vnot.128B
583  __builtin_HEXAGON_V6_vnot_128B(v128);
584  // CHECK: @llvm.hexagon.V6.vor.128B
585  __builtin_HEXAGON_V6_vor_128B(v128, v128);
586  // CHECK: @llvm.hexagon.V6.vpackeb.128B
587  __builtin_HEXAGON_V6_vpackeb_128B(v128, v128);
588  // CHECK: @llvm.hexagon.V6.vpackeh.128B
589  __builtin_HEXAGON_V6_vpackeh_128B(v128, v128);
590  // CHECK: @llvm.hexagon.V6.vpackhb.sat.128B
591  __builtin_HEXAGON_V6_vpackhb_sat_128B(v128, v128);
592  // CHECK: @llvm.hexagon.V6.vpackhub.sat.128B
593  __builtin_HEXAGON_V6_vpackhub_sat_128B(v128, v128);
594  // CHECK: @llvm.hexagon.V6.vpackob.128B
595  __builtin_HEXAGON_V6_vpackob_128B(v128, v128);
596  // CHECK: @llvm.hexagon.V6.vpackoh.128B
597  __builtin_HEXAGON_V6_vpackoh_128B(v128, v128);
598  // CHECK: @llvm.hexagon.V6.vpackwh.sat.128B
599  __builtin_HEXAGON_V6_vpackwh_sat_128B(v128, v128);
600  // CHECK: @llvm.hexagon.V6.vpackwuh.sat.128B
601  __builtin_HEXAGON_V6_vpackwuh_sat_128B(v128, v128);
602  // CHECK: @llvm.hexagon.V6.vpopcounth.128B
603  __builtin_HEXAGON_V6_vpopcounth_128B(v128);
604  // CHECK: @llvm.hexagon.V6.vprefixqb.128B
605  __builtin_HEXAGON_V6_vprefixqb_128B(v128);
606  // CHECK: @llvm.hexagon.V6.vprefixqh.128B
607  __builtin_HEXAGON_V6_vprefixqh_128B(v128);
608  // CHECK: @llvm.hexagon.V6.vprefixqw.128B
609  __builtin_HEXAGON_V6_vprefixqw_128B(v128);
610  // CHECK: @llvm.hexagon.V6.vrdelta.128B
611  __builtin_HEXAGON_V6_vrdelta_128B(v128, v128);
612  // CHECK: @llvm.hexagon.V6.vrmpybub.rtt.128B
613  __builtin_HEXAGON_V6_vrmpybub_rtt_128B(v128, 0);
614  // CHECK: @llvm.hexagon.V6.vrmpybub.rtt.acc.128B
615  __builtin_HEXAGON_V6_vrmpybub_rtt_acc_128B(v256, v128, 0);
616  // CHECK: @llvm.hexagon.V6.vrmpybus.128B
617  __builtin_HEXAGON_V6_vrmpybus_128B(v128, 0);
618  // CHECK: @llvm.hexagon.V6.vrmpybus.acc.128B
619  __builtin_HEXAGON_V6_vrmpybus_acc_128B(v128, v128, 0);
620  // CHECK: @llvm.hexagon.V6.vrmpybusi.128B
621  __builtin_HEXAGON_V6_vrmpybusi_128B(v256, 0, 0);
622  // CHECK: @llvm.hexagon.V6.vrmpybusi.acc.128B
623  __builtin_HEXAGON_V6_vrmpybusi_acc_128B(v256, v256, 0, 0);
624  // CHECK: @llvm.hexagon.V6.vrmpybusv.128B
625  __builtin_HEXAGON_V6_vrmpybusv_128B(v128, v128);
626  // CHECK: @llvm.hexagon.V6.vrmpybusv.acc.128B
627  __builtin_HEXAGON_V6_vrmpybusv_acc_128B(v128, v128, v128);
628  // CHECK: @llvm.hexagon.V6.vrmpybv.128B
629  __builtin_HEXAGON_V6_vrmpybv_128B(v128, v128);
630  // CHECK: @llvm.hexagon.V6.vrmpybv.acc.128B
631  __builtin_HEXAGON_V6_vrmpybv_acc_128B(v128, v128, v128);
632  // CHECK: @llvm.hexagon.V6.vrmpyub.128B
633  __builtin_HEXAGON_V6_vrmpyub_128B(v128, 0);
634  // CHECK: @llvm.hexagon.V6.vrmpyub.acc.128B
635  __builtin_HEXAGON_V6_vrmpyub_acc_128B(v128, v128, 0);
636  // CHECK: @llvm.hexagon.V6.vrmpyub.rtt.128B
637  __builtin_HEXAGON_V6_vrmpyub_rtt_128B(v128, 0);
638  // CHECK: @llvm.hexagon.V6.vrmpyub.rtt.acc.128B
639  __builtin_HEXAGON_V6_vrmpyub_rtt_acc_128B(v256, v128, 0);
640  // CHECK: @llvm.hexagon.V6.vrmpyubi.128B
641  __builtin_HEXAGON_V6_vrmpyubi_128B(v256, 0, 0);
642  // CHECK: @llvm.hexagon.V6.vrmpyubi.acc.128B
643  __builtin_HEXAGON_V6_vrmpyubi_acc_128B(v256, v256, 0, 0);
644  // CHECK: @llvm.hexagon.V6.vrmpyubv.128B
645  __builtin_HEXAGON_V6_vrmpyubv_128B(v128, v128);
646  // CHECK: @llvm.hexagon.V6.vrmpyubv.acc.128B
647  __builtin_HEXAGON_V6_vrmpyubv_acc_128B(v128, v128, v128);
648  // CHECK: @llvm.hexagon.V6.vror.128B
649  __builtin_HEXAGON_V6_vror_128B(v128, 0);
650  // CHECK: @llvm.hexagon.V6.vroundhb.128B
651  __builtin_HEXAGON_V6_vroundhb_128B(v128, v128);
652  // CHECK: @llvm.hexagon.V6.vroundhub.128B
653  __builtin_HEXAGON_V6_vroundhub_128B(v128, v128);
654  // CHECK: @llvm.hexagon.V6.vrounduhub.128B
655  __builtin_HEXAGON_V6_vrounduhub_128B(v128, v128);
656  // CHECK: @llvm.hexagon.V6.vrounduwuh.128B
657  __builtin_HEXAGON_V6_vrounduwuh_128B(v128, v128);
658  // CHECK: @llvm.hexagon.V6.vroundwh.128B
659  __builtin_HEXAGON_V6_vroundwh_128B(v128, v128);
660  // CHECK: @llvm.hexagon.V6.vroundwuh.128B
661  __builtin_HEXAGON_V6_vroundwuh_128B(v128, v128);
662  // CHECK: @llvm.hexagon.V6.vrsadubi.128B
663  __builtin_HEXAGON_V6_vrsadubi_128B(v256, 0, 0);
664  // CHECK: @llvm.hexagon.V6.vrsadubi.acc.128B
665  __builtin_HEXAGON_V6_vrsadubi_acc_128B(v256, v256, 0, 0);
666  // CHECK: @llvm.hexagon.V6.vsathub.128B
667  __builtin_HEXAGON_V6_vsathub_128B(v128, v128);
668  // CHECK: @llvm.hexagon.V6.vsatuwuh.128B
669  __builtin_HEXAGON_V6_vsatuwuh_128B(v128, v128);
670  // CHECK: @llvm.hexagon.V6.vsatwh.128B
671  __builtin_HEXAGON_V6_vsatwh_128B(v128, v128);
672  // CHECK: @llvm.hexagon.V6.vsb.128B
673  __builtin_HEXAGON_V6_vsb_128B(v128);
674  // CHECK: @llvm.hexagon.V6.vscattermh.128B
675  __builtin_HEXAGON_V6_vscattermh_128B(0, 0, v128, v128);
676  // CHECK: @llvm.hexagon.V6.vscattermh.add.128B
677  __builtin_HEXAGON_V6_vscattermh_add_128B(0, 0, v128, v128);
678  // CHECK: @llvm.hexagon.V6.vscattermhq.128B
679  __builtin_HEXAGON_V6_vscattermhq_128B(v128, 0, 0, v128, v128);
680  // CHECK: @llvm.hexagon.V6.vscattermhw.128B
681  __builtin_HEXAGON_V6_vscattermhw_128B(0, 0, v256, v128);
682  // CHECK: @llvm.hexagon.V6.vscattermhw.add.128B
683  __builtin_HEXAGON_V6_vscattermhw_add_128B(0, 0, v256, v128);
684  // CHECK: @llvm.hexagon.V6.vscattermhwq.128B
685  __builtin_HEXAGON_V6_vscattermhwq_128B(v128, 0, 0, v256, v128);
686  // CHECK: @llvm.hexagon.V6.vscattermw.128B
687  __builtin_HEXAGON_V6_vscattermw_128B(0, 0, v128, v128);
688  // CHECK: @llvm.hexagon.V6.vscattermw.add.128B
689  __builtin_HEXAGON_V6_vscattermw_add_128B(0, 0, v128, v128);
690  // CHECK: @llvm.hexagon.V6.vscattermwq.128B
691  __builtin_HEXAGON_V6_vscattermwq_128B(v128, 0, 0, v128, v128);
692  // CHECK: @llvm.hexagon.V6.vsh.128B
693  __builtin_HEXAGON_V6_vsh_128B(v128);
694  // CHECK: @llvm.hexagon.V6.vshufeh.128B
695  __builtin_HEXAGON_V6_vshufeh_128B(v128, v128);
696  // CHECK: @llvm.hexagon.V6.vshuffb.128B
697  __builtin_HEXAGON_V6_vshuffb_128B(v128);
698  // CHECK: @llvm.hexagon.V6.vshuffeb.128B
699  __builtin_HEXAGON_V6_vshuffeb_128B(v128, v128);
700  // CHECK: @llvm.hexagon.V6.vshuffh.128B
701  __builtin_HEXAGON_V6_vshuffh_128B(v128);
702  // CHECK: @llvm.hexagon.V6.vshuffob.128B
703  __builtin_HEXAGON_V6_vshuffob_128B(v128, v128);
704  // CHECK: @llvm.hexagon.V6.vshuffvdd.128B
705  __builtin_HEXAGON_V6_vshuffvdd_128B(v128, v128, 0);
706  // CHECK: @llvm.hexagon.V6.vshufoeb.128B
707  __builtin_HEXAGON_V6_vshufoeb_128B(v128, v128);
708  // CHECK: @llvm.hexagon.V6.vshufoeh.128B
709  __builtin_HEXAGON_V6_vshufoeh_128B(v128, v128);
710  // CHECK: @llvm.hexagon.V6.vshufoh.128B
711  __builtin_HEXAGON_V6_vshufoh_128B(v128, v128);
712  // CHECK: @llvm.hexagon.V6.vsubb.128B
713  __builtin_HEXAGON_V6_vsubb_128B(v128, v128);
714  // CHECK: @llvm.hexagon.V6.vsubb.dv.128B
715  __builtin_HEXAGON_V6_vsubb_dv_128B(v256, v256);
716  // CHECK: @llvm.hexagon.V6.vsubbnq.128B
717  __builtin_HEXAGON_V6_vsubbnq_128B(v128, v128, v128);
718  // CHECK: @llvm.hexagon.V6.vsubbq.128B
719  __builtin_HEXAGON_V6_vsubbq_128B(v128, v128, v128);
720  // CHECK: @llvm.hexagon.V6.vsubbsat.128B
721  __builtin_HEXAGON_V6_vsubbsat_128B(v128, v128);
722  // CHECK: @llvm.hexagon.V6.vsubbsat.dv.128B
723  __builtin_HEXAGON_V6_vsubbsat_dv_128B(v256, v256);
724  // CHECK: @llvm.hexagon.V6.vsubcarry.128B
725  __builtin_HEXAGON_V6_vsubcarry_128B(v128, v128, 0);
726  // CHECK: @llvm.hexagon.V6.vsubh.128B
727  __builtin_HEXAGON_V6_vsubh_128B(v128, v128);
728  // CHECK: @llvm.hexagon.V6.vsubh.dv.128B
729  __builtin_HEXAGON_V6_vsubh_dv_128B(v256, v256);
730  // CHECK: @llvm.hexagon.V6.vsubhnq.128B
731  __builtin_HEXAGON_V6_vsubhnq_128B(v128, v128, v128);
732  // CHECK: @llvm.hexagon.V6.vsubhq.128B
733  __builtin_HEXAGON_V6_vsubhq_128B(v128, v128, v128);
734  // CHECK: @llvm.hexagon.V6.vsubhsat.128B
735  __builtin_HEXAGON_V6_vsubhsat_128B(v128, v128);
736  // CHECK: @llvm.hexagon.V6.vsubhsat.dv.128B
737  __builtin_HEXAGON_V6_vsubhsat_dv_128B(v256, v256);
738  // CHECK: @llvm.hexagon.V6.vsubhw.128B
739  __builtin_HEXAGON_V6_vsubhw_128B(v128, v128);
740  // CHECK: @llvm.hexagon.V6.vsububh.128B
741  __builtin_HEXAGON_V6_vsububh_128B(v128, v128);
742  // CHECK: @llvm.hexagon.V6.vsububsat.128B
743  __builtin_HEXAGON_V6_vsububsat_128B(v128, v128);
744  // CHECK: @llvm.hexagon.V6.vsububsat.dv.128B
745  __builtin_HEXAGON_V6_vsububsat_dv_128B(v256, v256);
746  // CHECK: @llvm.hexagon.V6.vsubububb.sat.128B
747  __builtin_HEXAGON_V6_vsubububb_sat_128B(v128, v128);
748  // CHECK: @llvm.hexagon.V6.vsubuhsat.128B
749  __builtin_HEXAGON_V6_vsubuhsat_128B(v128, v128);
750  // CHECK: @llvm.hexagon.V6.vsubuhsat.dv.128B
751  __builtin_HEXAGON_V6_vsubuhsat_dv_128B(v256, v256);
752  // CHECK: @llvm.hexagon.V6.vsubuhw.128B
753  __builtin_HEXAGON_V6_vsubuhw_128B(v128, v128);
754  // CHECK: @llvm.hexagon.V6.vsubuwsat.128B
755  __builtin_HEXAGON_V6_vsubuwsat_128B(v128, v128);
756  // CHECK: @llvm.hexagon.V6.vsubuwsat.dv.128B
757  __builtin_HEXAGON_V6_vsubuwsat_dv_128B(v256, v256);
758  // CHECK: @llvm.hexagon.V6.vsubw.128B
759  __builtin_HEXAGON_V6_vsubw_128B(v128, v128);
760  // CHECK: @llvm.hexagon.V6.vsubw.dv.128B
761  __builtin_HEXAGON_V6_vsubw_dv_128B(v256, v256);
762  // CHECK: @llvm.hexagon.V6.vsubwnq.128B
763  __builtin_HEXAGON_V6_vsubwnq_128B(v128, v128, v128);
764  // CHECK: @llvm.hexagon.V6.vsubwq.128B
765  __builtin_HEXAGON_V6_vsubwq_128B(v128, v128, v128);
766  // CHECK: @llvm.hexagon.V6.vsubwsat.128B
767  __builtin_HEXAGON_V6_vsubwsat_128B(v128, v128);
768  // CHECK: @llvm.hexagon.V6.vsubwsat.dv.128B
769  __builtin_HEXAGON_V6_vsubwsat_dv_128B(v256, v256);
770  // CHECK: @llvm.hexagon.V6.vswap.128B
771  __builtin_HEXAGON_V6_vswap_128B(v128, v128, v128);
772  // CHECK: @llvm.hexagon.V6.vtmpyb.128B
773  __builtin_HEXAGON_V6_vtmpyb_128B(v256, 0);
774  // CHECK: @llvm.hexagon.V6.vtmpyb.acc.128B
775  __builtin_HEXAGON_V6_vtmpyb_acc_128B(v256, v256, 0);
776  // CHECK: @llvm.hexagon.V6.vtmpybus.128B
777  __builtin_HEXAGON_V6_vtmpybus_128B(v256, 0);
778  // CHECK: @llvm.hexagon.V6.vtmpybus.acc.128B
779  __builtin_HEXAGON_V6_vtmpybus_acc_128B(v256, v256, 0);
780  // CHECK: @llvm.hexagon.V6.vtmpyhb.128B
781  __builtin_HEXAGON_V6_vtmpyhb_128B(v256, 0);
782  // CHECK: @llvm.hexagon.V6.vtmpyhb.acc.128B
783  __builtin_HEXAGON_V6_vtmpyhb_acc_128B(v256, v256, 0);
784  // CHECK: @llvm.hexagon.V6.vunpackb.128B
785  __builtin_HEXAGON_V6_vunpackb_128B(v128);
786  // CHECK: @llvm.hexagon.V6.vunpackh.128B
787  __builtin_HEXAGON_V6_vunpackh_128B(v128);
788  // CHECK: @llvm.hexagon.V6.vunpackob.128B
789  __builtin_HEXAGON_V6_vunpackob_128B(v256, v128);
790  // CHECK: @llvm.hexagon.V6.vunpackoh.128B
791  __builtin_HEXAGON_V6_vunpackoh_128B(v256, v128);
792  // CHECK: @llvm.hexagon.V6.vunpackub.128B
793  __builtin_HEXAGON_V6_vunpackub_128B(v128);
794  // CHECK: @llvm.hexagon.V6.vunpackuh.128B
795  __builtin_HEXAGON_V6_vunpackuh_128B(v128);
796  // CHECK: @llvm.hexagon.V6.vxor.128B
797  __builtin_HEXAGON_V6_vxor_128B(v128, v128);
798  // CHECK: @llvm.hexagon.V6.vzb.128B
799  __builtin_HEXAGON_V6_vzb_128B(v128);
800  // CHECK: @llvm.hexagon.V6.vzh.128B
801  __builtin_HEXAGON_V6_vzh_128B(v128);
802}
803