1 // REQUIRES: powerpc-registered-target
2 // RUN: %clang_cc1 -faltivec -target-feature +power8-vector -triple powerpc64-unknown-unknown -emit-llvm %s -o - | FileCheck %s
3 // RUN: %clang_cc1 -faltivec -target-feature +power8-vector -triple powerpc64le-unknown-unknown -emit-llvm %s -o - | FileCheck %s -check-prefix=CHECK-LE
4 // RUN: not %clang_cc1 -faltivec -triple powerpc64-unknown-unknown -emit-llvm %s -o - 2>&1 | FileCheck %s -check-prefix=CHECK-PPC
5 
6 vector int vi = { -1, 2, -3, 4 };
7 vector unsigned int vui = { 1, 2, 3, 4 };
8 vector bool long long vbll = { 1, 0 };
9 vector long long vll = { 1, 2 };
10 vector unsigned long long vull = { 1, 2 };
11 
12 int res_i;
13 vector int res_vi;
14 vector unsigned int res_vui;
15 vector long long res_vll;
16 vector unsigned long long res_vull;
17 vector bool long long res_vbll;
18 
19 // CHECK-LABEL: define void @test1
test1()20 void test1() {
21 
22   /* vec_cmpeq */
23   res_vbll = vec_cmpeq(vll, vll);
24 // CHECK: @llvm.ppc.altivec.vcmpequd
25 // CHECK-LE: @llvm.ppc.altivec.vcmpequd
26 // CHECK-PPC: error: call to 'vec_cmpeq' is ambiguous
27 
28   res_vbll = vec_cmpeq(vull, vull);
29 // CHECK: @llvm.ppc.altivec.vcmpequd
30 // CHECK-LE: @llvm.ppc.altivec.vcmpequd
31 // CHECK-PPC: error: call to 'vec_cmpeq' is ambiguous
32 
33   /* vec_cmpgt */
34   res_vbll = vec_cmpgt(vll, vll);
35 // CHECK: @llvm.ppc.altivec.vcmpgtsd
36 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd
37 // CHECK-PPC: error: call to 'vec_cmpgt' is ambiguous
38 
39   res_vbll = vec_cmpgt(vull, vull);
40 // CHECK: @llvm.ppc.altivec.vcmpgtud
41 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud
42 // CHECK-PPC: error: call to 'vec_cmpgt' is ambiguous
43 
44   /* ----------------------- predicates --------------------------- */
45   /* vec_all_eq */
46   res_i = vec_all_eq(vll, vll);
47 // CHECK: @llvm.ppc.altivec.vcmpequd.p
48 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
49 // CHECK-PPC: error: call to 'vec_all_eq' is ambiguous
50 
51   res_i = vec_all_eq(vll, vbll);
52 // CHECK: @llvm.ppc.altivec.vcmpequd.p
53 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
54 // CHECK-PPC: error: call to 'vec_all_eq' is ambiguous
55 
56   res_i = vec_all_eq(vull, vull);
57 // CHECK: @llvm.ppc.altivec.vcmpequd.p
58 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
59 // CHECK-PPC: error: call to 'vec_all_eq' is ambiguous
60 
61   res_i = vec_all_eq(vull, vbll);
62 // CHECK: @llvm.ppc.altivec.vcmpequd.p
63 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
64 // CHECK-PPC: error: call to 'vec_all_eq' is ambiguous
65 
66   res_i = vec_all_eq(vbll, vll);
67 // CHECK: @llvm.ppc.altivec.vcmpequd.p
68 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
69 // CHECK-PPC: error: call to 'vec_all_eq' is ambiguous
70 
71   res_i = vec_all_eq(vbll, vull);
72 // CHECK: @llvm.ppc.altivec.vcmpequd.p
73 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
74 // CHECK-PPC: error: call to 'vec_all_eq' is ambiguous
75 
76   res_i = vec_all_eq(vbll, vbll);
77 // CHECK: @llvm.ppc.altivec.vcmpequd.p
78 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
79 // CHECK-PPC: error: call to 'vec_all_eq' is ambiguous
80 
81   /* vec_all_ne */
82   res_i = vec_all_ne(vll, vll);
83 // CHECK: @llvm.ppc.altivec.vcmpequd.p
84 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
85 // CHECK-PPC: error: call to 'vec_all_ne' is ambiguous
86 
87   res_i = vec_all_ne(vll, vbll);
88 // CHECK: @llvm.ppc.altivec.vcmpequd.p
89 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
90 // CHECK-PPC: error: call to 'vec_all_ne' is ambiguous
91 
92   res_i = vec_all_ne(vull, vull);
93 // CHECK: @llvm.ppc.altivec.vcmpequd.p
94 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
95 // CHECK-PPC: error: call to 'vec_all_ne' is ambiguous
96 
97   res_i = vec_all_ne(vull, vbll);
98 // CHECK: @llvm.ppc.altivec.vcmpequd.p
99 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
100 // CHECK-PPC: error: call to 'vec_all_ne' is ambiguous
101 
102   res_i = vec_all_ne(vbll, vll);
103 // CHECK: @llvm.ppc.altivec.vcmpequd.p
104 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
105 // CHECK-PPC: error: call to 'vec_all_ne' is ambiguous
106 
107   res_i = vec_all_ne(vbll, vull);
108 // CHECK: @llvm.ppc.altivec.vcmpequd.p
109 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
110 // CHECK-PPC: error: call to 'vec_all_ne' is ambiguous
111 
112   res_i = vec_all_ne(vbll, vbll);
113 // CHECK: @llvm.ppc.altivec.vcmpequd.p
114 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
115 // CHECK-PPC: error: call to 'vec_all_ne' is ambiguous
116 
117   /* vec_any_eq */
118   res_i = vec_any_eq(vll, vll);
119 // CHECK: @llvm.ppc.altivec.vcmpequd.p
120 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
121 // CHECK-PPC: error: call to 'vec_any_eq' is ambiguous
122 
123   res_i = vec_any_eq(vll, vbll);
124 // CHECK: @llvm.ppc.altivec.vcmpequd.p
125 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
126 // CHECK-PPC: error: call to 'vec_any_eq' is ambiguous
127 
128   res_i = vec_any_eq(vull, vull);
129 // CHECK: @llvm.ppc.altivec.vcmpequd.p
130 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
131 // CHECK-PPC: error: call to 'vec_any_eq' is ambiguous
132 
133   res_i = vec_any_eq(vull, vbll);
134 // CHECK: @llvm.ppc.altivec.vcmpequd.p
135 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
136 // CHECK-PPC: error: call to 'vec_any_eq' is ambiguous
137 
138   res_i = vec_any_eq(vbll, vll);
139 // CHECK: @llvm.ppc.altivec.vcmpequd.p
140 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
141 // CHECK-PPC: error: call to 'vec_any_eq' is ambiguous
142 
143   res_i = vec_any_eq(vbll, vull);
144 // CHECK: @llvm.ppc.altivec.vcmpequd.p
145 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
146 // CHECK-PPC: error: call to 'vec_any_eq' is ambiguous
147 
148   res_i = vec_any_eq(vbll, vbll);
149 // CHECK: @llvm.ppc.altivec.vcmpequd.p
150 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
151 // CHECK-PPC: error: call to 'vec_any_eq' is ambiguous
152 
153   /* vec_any_ne */
154   res_i = vec_any_ne(vll, vll);
155 // CHECK: @llvm.ppc.altivec.vcmpequd.p
156 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
157 // CHECK-PPC: error: call to 'vec_any_ne' is ambiguous
158 
159   res_i = vec_any_ne(vll, vbll);
160 // CHECK: @llvm.ppc.altivec.vcmpequd.p
161 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
162 // CHECK-PPC: error: call to 'vec_any_ne' is ambiguous
163 
164   res_i = vec_any_ne(vull, vull);
165 // CHECK: @llvm.ppc.altivec.vcmpequd.p
166 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
167 // CHECK-PPC: error: call to 'vec_any_ne' is ambiguous
168 
169   res_i = vec_any_ne(vull, vbll);
170 // CHECK: @llvm.ppc.altivec.vcmpequd.p
171 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
172 // CHECK-PPC: error: call to 'vec_any_ne' is ambiguous
173 
174   res_i = vec_any_ne(vbll, vll);
175 // CHECK: @llvm.ppc.altivec.vcmpequd.p
176 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
177 // CHECK-PPC: error: call to 'vec_any_ne' is ambiguous
178 
179   res_i = vec_any_ne(vbll, vull);
180 // CHECK: @llvm.ppc.altivec.vcmpequd.p
181 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
182 // CHECK-PPC: error: call to 'vec_any_ne' is ambiguous
183 
184   res_i = vec_any_ne(vbll, vbll);
185 // CHECK: @llvm.ppc.altivec.vcmpequd.p
186 // CHECK-LE: @llvm.ppc.altivec.vcmpequd.p
187 // CHECK-PPC: error: call to 'vec_any_ne' is ambiguous
188 
189   /* vec_all_ge */
190   res_i = vec_all_ge(vll, vll);
191 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
192 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
193 // CHECK-PPC: error: call to 'vec_all_ge' is ambiguous
194 
195   res_i = vec_all_ge(vll, vbll);
196 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
197 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
198 // CHECK-PPC: error: call to 'vec_all_ge' is ambiguous
199 
200   res_i = vec_all_ge(vull, vull);
201 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
202 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
203 // CHECK-PPC: error: call to 'vec_all_ge' is ambiguous
204 
205   res_i = vec_all_ge(vull, vbll);
206 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
207 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
208 // CHECK-PPC: error: call to 'vec_all_ge' is ambiguous
209 
210   res_i = vec_all_ge(vbll, vll);
211 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
212 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
213 // CHECK-PPC: error: call to 'vec_all_ge' is ambiguous
214 
215   res_i = vec_all_ge(vbll, vull);
216 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
217 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
218 // CHECK-PPC: error: call to 'vec_all_ge' is ambiguous
219 
220   res_i = vec_all_ge(vbll, vbll);
221 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
222 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
223 // CHECK-PPC: error: call to 'vec_all_ge' is ambiguous
224 
225   /* vec_all_gt */
226   res_i = vec_all_gt(vll, vll);
227 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
228 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
229 // CHECK-PPC: error: call to 'vec_all_gt' is ambiguous
230 
231   res_i = vec_all_gt(vll, vbll);
232 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
233 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
234 // CHECK-PPC: error: call to 'vec_all_gt' is ambiguous
235 
236   res_i = vec_all_gt(vull, vull);
237 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
238 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
239 // CHECK-PPC: error: call to 'vec_all_gt' is ambiguous
240 
241   res_i = vec_all_gt(vull, vbll);
242 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
243 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
244 // CHECK-PPC: error: call to 'vec_all_gt' is ambiguous
245 
246   res_i = vec_all_gt(vbll, vll);
247 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
248 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
249 // CHECK-PPC: error: call to 'vec_all_gt' is ambiguous
250 
251   res_i = vec_all_gt(vbll, vull);
252 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
253 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
254 // CHECK-PPC: error: call to 'vec_all_gt' is ambiguous
255 
256   res_i = vec_all_gt(vbll, vbll);
257 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
258 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
259 // CHECK-PPC: error: call to 'vec_all_gt' is ambiguous
260 
261   /* vec_all_le */
262   res_i = vec_all_le(vll, vll);
263 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
264 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
265 // CHECK-PPC: error: call to 'vec_all_le' is ambiguous
266 
267   res_i = vec_all_le(vll, vbll);
268 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
269 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
270 // CHECK-PPC: error: call to 'vec_all_le' is ambiguous
271 
272   res_i = vec_all_le(vull, vull);
273 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
274 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
275 // CHECK-PPC: error: call to 'vec_all_le' is ambiguous
276 
277   res_i = vec_all_le(vull, vbll);
278 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
279 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
280 // CHECK-PPC: error: call to 'vec_all_le' is ambiguous
281 
282   res_i = vec_all_le(vbll, vll);
283 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
284 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
285 // CHECK-PPC: error: call to 'vec_all_le' is ambiguous
286 
287   res_i = vec_all_le(vbll, vull);
288 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
289 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
290 // CHECK-PPC: error: call to 'vec_all_le' is ambiguous
291 
292   res_i = vec_all_le(vbll, vbll);
293 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
294 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
295 // CHECK-PPC: error: call to 'vec_all_le' is ambiguous
296 
297   /* vec_all_lt */
298   res_i = vec_all_lt(vll, vll);
299 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
300 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
301 // CHECK-PPC: error: call to 'vec_all_lt' is ambiguous
302 
303   res_i = vec_all_lt(vll, vbll);
304 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
305 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
306 // CHECK-PPC: error: call to 'vec_all_lt' is ambiguous
307 
308   res_i = vec_all_lt(vull, vull);
309 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
310 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
311 // CHECK-PPC: error: call to 'vec_all_lt' is ambiguous
312 
313   res_i = vec_all_lt(vull, vbll);
314 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
315 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
316 // CHECK-PPC: error: call to 'vec_all_lt' is ambiguous
317 
318   res_i = vec_all_lt(vbll, vll);
319 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
320 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
321 // CHECK-PPC: error: call to 'vec_all_lt' is ambiguous
322 
323   res_i = vec_all_lt(vbll, vull);
324 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
325 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
326 // CHECK-PPC: error: call to 'vec_all_lt' is ambiguous
327 
328   res_i = vec_all_lt(vbll, vbll);
329 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
330 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
331 // CHECK-PPC: error: call to 'vec_all_lt' is ambiguous
332 
333   /* vec_any_ge */
334   res_i = vec_any_ge(vll, vll);
335 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
336 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
337 // CHECK-PPC: error: call to 'vec_any_ge' is ambiguous
338 
339   res_i = vec_any_ge(vll, vbll);
340 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
341 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
342 // CHECK-PPC: error: call to 'vec_any_ge' is ambiguous
343 
344   res_i = vec_any_ge(vull, vull);
345 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
346 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
347 // CHECK-PPC: error: call to 'vec_any_ge' is ambiguous
348 
349   res_i = vec_any_ge(vull, vbll);
350 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
351 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
352 // CHECK-PPC: error: call to 'vec_any_ge' is ambiguous
353 
354   res_i = vec_any_ge(vbll, vll);
355 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
356 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
357 // CHECK-PPC: error: call to 'vec_any_ge' is ambiguous
358 
359   res_i = vec_any_ge(vbll, vull);
360 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
361 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
362 // CHECK-PPC: error: call to 'vec_any_ge' is ambiguous
363 
364   res_i = vec_any_ge(vbll, vbll);
365 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
366 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
367 // CHECK-PPC: error: call to 'vec_any_ge' is ambiguous
368 
369   /* vec_any_gt */
370   res_i = vec_any_gt(vll, vll);
371 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
372 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
373 // CHECK-PPC: error: call to 'vec_any_gt' is ambiguous
374 
375   res_i = vec_any_gt(vll, vbll);
376 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
377 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
378 // CHECK-PPC: error: call to 'vec_any_gt' is ambiguous
379 
380   res_i = vec_any_gt(vull, vull);
381 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
382 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
383 // CHECK-PPC: error: call to 'vec_any_gt' is ambiguous
384 
385   res_i = vec_any_gt(vull, vbll);
386 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
387 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
388 // CHECK-PPC: error: call to 'vec_any_gt' is ambiguous
389 
390   res_i = vec_any_gt(vbll, vll);
391 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
392 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
393 // CHECK-PPC: error: call to 'vec_any_gt' is ambiguous
394 
395   res_i = vec_any_gt(vbll, vull);
396 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
397 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
398 // CHECK-PPC: error: call to 'vec_any_gt' is ambiguous
399 
400   res_i = vec_any_gt(vbll, vbll);
401 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
402 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
403 // CHECK-PPC: error: call to 'vec_any_gt' is ambiguous
404 
405   /* vec_any_le */
406   res_i = vec_any_le(vll, vll);
407 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
408 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
409 // CHECK-PPC: error: call to 'vec_any_le' is ambiguous
410 
411   res_i = vec_any_le(vll, vbll);
412 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
413 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
414 // CHECK-PPC: error: call to 'vec_any_le' is ambiguous
415 
416   res_i = vec_any_le(vull, vull);
417 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
418 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
419 // CHECK-PPC: error: call to 'vec_any_le' is ambiguous
420 
421   res_i = vec_any_le(vull, vbll);
422 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
423 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
424 // CHECK-PPC: error: call to 'vec_any_le' is ambiguous
425 
426   res_i = vec_any_le(vbll, vll);
427 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
428 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
429 // CHECK-PPC: error: call to 'vec_any_le' is ambiguous
430 
431   res_i = vec_any_le(vbll, vull);
432 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
433 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
434 // CHECK-PPC: error: call to 'vec_any_le' is ambiguous
435 
436   res_i = vec_any_le(vbll, vbll);
437 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
438 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
439 // CHECK-PPC: error: call to 'vec_any_le' is ambiguous
440 
441   /* vec_any_lt */
442   res_i = vec_any_lt(vll, vll);
443 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
444 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
445 // CHECK-PPC: error: call to 'vec_any_lt' is ambiguous
446 
447   res_i = vec_any_lt(vll, vbll);
448 // CHECK: @llvm.ppc.altivec.vcmpgtsd.p
449 // CHECK-LE: @llvm.ppc.altivec.vcmpgtsd.p
450 // CHECK-PPC: error: call to 'vec_any_lt' is ambiguous
451 
452   res_i = vec_any_lt(vull, vull);
453 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
454 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
455 // CHECK-PPC: error: call to 'vec_any_lt' is ambiguous
456 
457   res_i = vec_any_lt(vull, vbll);
458 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
459 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
460 // CHECK-PPC: error: call to 'vec_any_lt' is ambiguous
461 
462   res_i = vec_any_lt(vbll, vll);
463 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
464 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
465 // CHECK-PPC: error: call to 'vec_any_lt' is ambiguous
466 
467   res_i = vec_any_lt(vbll, vull);
468 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
469 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
470 // CHECK-PPC: error: call to 'vec_any_lt' is ambiguous
471 
472   res_i = vec_any_lt(vbll, vbll);
473 // CHECK: @llvm.ppc.altivec.vcmpgtud.p
474 // CHECK-LE: @llvm.ppc.altivec.vcmpgtud.p
475 // CHECK-PPC: error: call to 'vec_any_lt' is ambiguous
476 
477   /* vec_max */
478   res_vll = vec_max(vll, vll);
479 // CHECK: @llvm.ppc.altivec.vmaxsd
480 // CHECK-LE: @llvm.ppc.altivec.vmaxsd
481 // CHECK-PPC: error: call to 'vec_max' is ambiguous
482 
483   res_vll = vec_max(vbll, vll);
484 // CHECK: @llvm.ppc.altivec.vmaxsd
485 // CHECK-LE: @llvm.ppc.altivec.vmaxsd
486 // CHECK-PPC: error: call to 'vec_max' is ambiguous
487 
488   res_vll = vec_max(vll, vbll);
489 // CHECK: @llvm.ppc.altivec.vmaxsd
490 // CHECK-LE: @llvm.ppc.altivec.vmaxsd
491 // CHECK-PPC: error: call to 'vec_max' is ambiguous
492 
493   res_vull = vec_max(vull, vull);
494 // CHECK: @llvm.ppc.altivec.vmaxud
495 // CHECK-LE: @llvm.ppc.altivec.vmaxud
496 // CHECK-PPC: error: call to 'vec_max' is ambiguous
497 
498   res_vull = vec_max(vbll, vull);
499 // CHECK: @llvm.ppc.altivec.vmaxud
500 // CHECK-LE: @llvm.ppc.altivec.vmaxud
501 // CHECK-PPC: error: call to 'vec_max' is ambiguous
502 
503   res_vull = vec_max(vull, vbll);
504 // CHECK: @llvm.ppc.altivec.vmaxud
505 // CHECK-LE: @llvm.ppc.altivec.vmaxud
506 // CHECK-PPC: error: call to 'vec_max' is ambiguous
507 
508   /* vec_min */
509   res_vll = vec_min(vll, vll);
510 // CHECK: @llvm.ppc.altivec.vminsd
511 // CHECK-LE: @llvm.ppc.altivec.vminsd
512 // CHECK-PPC: error: call to 'vec_min' is ambiguous
513 
514   res_vll = vec_min(vbll, vll);
515 // CHECK: @llvm.ppc.altivec.vminsd
516 // CHECK-LE: @llvm.ppc.altivec.vminsd
517 // CHECK-PPC: error: call to 'vec_min' is ambiguous
518 
519   res_vll = vec_min(vll, vbll);
520 // CHECK: @llvm.ppc.altivec.vminsd
521 // CHECK-LE: @llvm.ppc.altivec.vminsd
522 // CHECK-PPC: error: call to 'vec_min' is ambiguous
523 
524   res_vull = vec_min(vull, vull);
525 // CHECK: @llvm.ppc.altivec.vminud
526 // CHECK-LE: @llvm.ppc.altivec.vminud
527 // CHECK-PPC: error: call to 'vec_min' is ambiguous
528 
529   res_vull = vec_min(vbll, vull);
530 // CHECK: @llvm.ppc.altivec.vminud
531 // CHECK-LE: @llvm.ppc.altivec.vminud
532 // CHECK-PPC: error: call to 'vec_min' is ambiguous
533 
534   res_vull = vec_min(vull, vbll);
535 // CHECK: @llvm.ppc.altivec.vminud
536 // CHECK-LE: @llvm.ppc.altivec.vminud
537 // CHECK-PPC: error: call to 'vec_min' is ambiguous
538 
539   /* vec_mule */
540   res_vll = vec_mule(vi, vi);
541 // CHECK: @llvm.ppc.altivec.vmulesw
542 // CHECK-LE: @llvm.ppc.altivec.vmulosw
543 // CHECK-PPC: error: call to 'vec_mule' is ambiguous
544 
545   res_vull = vec_mule(vui , vui);
546 // CHECK: @llvm.ppc.altivec.vmuleuw
547 // CHECK-LE: @llvm.ppc.altivec.vmulouw
548 // CHECK-PPC: error: call to 'vec_mule' is ambiguous
549 
550   /* vec_mulo */
551   res_vll = vec_mulo(vi, vi);
552 // CHECK: @llvm.ppc.altivec.vmulosw
553 // CHECK-LE: @llvm.ppc.altivec.vmulesw
554 // CHECK-PPC: error: call to 'vec_mulo' is ambiguous
555 
556   res_vull = vec_mulo(vui, vui);
557 // CHECK: @llvm.ppc.altivec.vmulouw
558 // CHECK-LE: @llvm.ppc.altivec.vmuleuw
559 // CHECK-PPC: error: call to 'vec_mulo' is ambiguous
560 
561   /* vec_rl */
562   res_vll = vec_rl(vll, vull);
563 // CHECK: @llvm.ppc.altivec.vrld
564 // CHECK-LE: @llvm.ppc.altivec.vrld
565 // CHECK-PPC: error: call to 'vec_rl' is ambiguous
566 
567   res_vull = vec_rl(vull, vull);
568 // CHECK: @llvm.ppc.altivec.vrld
569 // CHECK-LE: @llvm.ppc.altivec.vrld
570 // CHECK-PPC: error: call to 'vec_rl' is ambiguous
571 
572   /* vec_sl */
573   res_vll = vec_sl(vll, vull);
574 // CHECK: shl <2 x i64>
575 // CHECK-LE: shl <2 x i64>
576 // CHECK-PPC: error: call to 'vec_sl' is ambiguous
577 
578   res_vull = vec_sl(vull, vull);
579 // CHECK: shl <2 x i64>
580 // CHECK-LE: shl <2 x i64>
581 // CHECK-PPC: error: call to 'vec_sl' is ambiguous
582 
583   /* vec_sr */
584   res_vll = vec_sr(vll, vull);
585 // CHECK: ashr <2 x i64>
586 // CHECK-LE: ashr <2 x i64>
587 // CHECK-PPC: error: call to 'vec_sr' is ambiguous
588 
589   res_vull = vec_sr(vull, vull);
590 // CHECK: lshr <2 x i64>
591 // CHECK-LE: lshr <2 x i64>
592 // CHECK-PPC: error: call to 'vec_sr' is ambiguous
593 
594   /* vec_sra */
595   res_vll = vec_sra(vll, vull);
596 // CHECK: ashr <2 x i64>
597 // CHECK-LE: ashr <2 x i64>
598 // CHECK-PPC: error: call to 'vec_sra' is ambiguous
599 
600   res_vull = vec_sra(vull, vull);
601 // CHECK: ashr <2 x i64>
602 // CHECK-LE: ashr <2 x i64>
603 // CHECK-PPC: error: call to 'vec_sra' is ambiguous
604 
605 }
606