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