xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGen/builtins-ppc-altivec.c (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc // REQUIRES: powerpc-registered-target
2f4a2713aSLionel Sambuc // RUN: %clang_cc1 -faltivec -triple powerpc-unknown-unknown -emit-llvm %s -o - | FileCheck %s
3*0a6a1f1dSLionel Sambuc // RUN: %clang_cc1 -faltivec -triple powerpc64-unknown-unknown -emit-llvm %s -o - | FileCheck %s
4*0a6a1f1dSLionel Sambuc // RUN: %clang_cc1 -faltivec -triple powerpc64le-unknown-unknown -emit-llvm %s -o - | FileCheck %s -check-prefix=CHECK-LE
5f4a2713aSLionel Sambuc 
6f4a2713aSLionel Sambuc vector bool char vbc = { 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 };
7f4a2713aSLionel Sambuc vector signed char vsc = { 1, -2, 3, -4, 5, -6, 7, -8, 9, -10, 11, -12, 13, -14, 15, -16 };
8f4a2713aSLionel Sambuc vector unsigned char vuc = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
9f4a2713aSLionel Sambuc vector bool short vbs = { 1, 0, 1, 0, 1, 0, 1, 0 };
10f4a2713aSLionel Sambuc vector short vs = { -1, 2, -3, 4, -5, 6, -7, 8 };
11f4a2713aSLionel Sambuc vector unsigned short vus = { 1, 2, 3, 4, 5, 6, 7, 8 };
12f4a2713aSLionel Sambuc vector pixel vp = { 1, 2, 3, 4, 5, 6, 7, 8 };
13f4a2713aSLionel Sambuc vector bool int vbi = { 1, 0, 1, 0 };
14f4a2713aSLionel Sambuc vector int vi = { -1, 2, -3, 4 };
15f4a2713aSLionel Sambuc vector unsigned int vui = { 1, 2, 3, 4 };
16f4a2713aSLionel Sambuc vector float vf = { -1.5, 2.5, -3.5, 4.5 };
17f4a2713aSLionel Sambuc 
18f4a2713aSLionel Sambuc vector bool char res_vbc;
19f4a2713aSLionel Sambuc vector signed char res_vsc;
20f4a2713aSLionel Sambuc vector unsigned char res_vuc;
21f4a2713aSLionel Sambuc vector bool short res_vbs;
22f4a2713aSLionel Sambuc vector short res_vs;
23f4a2713aSLionel Sambuc vector unsigned short res_vus;
24f4a2713aSLionel Sambuc vector pixel res_vp;
25f4a2713aSLionel Sambuc vector bool int res_vbi;
26f4a2713aSLionel Sambuc vector int res_vi;
27f4a2713aSLionel Sambuc vector unsigned int res_vui;
28f4a2713aSLionel Sambuc vector float res_vf;
29f4a2713aSLionel Sambuc 
30f4a2713aSLionel Sambuc signed char param_sc;
31f4a2713aSLionel Sambuc unsigned char param_uc;
32f4a2713aSLionel Sambuc short param_s;
33f4a2713aSLionel Sambuc unsigned short param_us;
34f4a2713aSLionel Sambuc int param_i;
35f4a2713aSLionel Sambuc unsigned int param_ui;
36f4a2713aSLionel Sambuc float param_f;
37f4a2713aSLionel Sambuc 
38f4a2713aSLionel Sambuc int res_sc;
39f4a2713aSLionel Sambuc int res_uc;
40f4a2713aSLionel Sambuc int res_s;
41f4a2713aSLionel Sambuc int res_us;
42f4a2713aSLionel Sambuc int res_i;
43f4a2713aSLionel Sambuc int res_ui;
44f4a2713aSLionel Sambuc int res_f;
45f4a2713aSLionel Sambuc 
46f4a2713aSLionel Sambuc // CHECK-LABEL: define void @test1
test1()47f4a2713aSLionel Sambuc void test1() {
48f4a2713aSLionel Sambuc 
49f4a2713aSLionel Sambuc   /* vec_abs */
50*0a6a1f1dSLionel Sambuc   vsc = vec_abs(vsc);
51*0a6a1f1dSLionel Sambuc // CHECK: sub <16 x i8> zeroinitializer
52f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsb
53*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <16 x i8> zeroinitializer
54*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsb
55f4a2713aSLionel Sambuc 
56*0a6a1f1dSLionel Sambuc   vs = vec_abs(vs);
57*0a6a1f1dSLionel Sambuc // CHECK: sub <8 x i16> zeroinitializer
58f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsh
59*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <8 x i16> zeroinitializer
60*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsh
61f4a2713aSLionel Sambuc 
62*0a6a1f1dSLionel Sambuc   vi = vec_abs(vi);
63*0a6a1f1dSLionel Sambuc // CHECK: sub <4 x i32> zeroinitializer
64f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsw
65*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <4 x i32> zeroinitializer
66*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsw
67f4a2713aSLionel Sambuc 
68*0a6a1f1dSLionel Sambuc   vf = vec_abs(vf);
69*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
70*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
71f4a2713aSLionel Sambuc 
72f4a2713aSLionel Sambuc   /* vec_abs */
73*0a6a1f1dSLionel Sambuc   vsc = vec_abss(vsc);
74*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubsbs
75f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsb
76*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubsbs
77*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsb
78f4a2713aSLionel Sambuc 
79*0a6a1f1dSLionel Sambuc   vs = vec_abss(vs);
80*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubshs
81f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsh
82*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubshs
83*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsh
84f4a2713aSLionel Sambuc 
85*0a6a1f1dSLionel Sambuc   vi = vec_abss(vi);
86*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubsws
87f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsw
88*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubsws
89*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsw
90f4a2713aSLionel Sambuc 
91f4a2713aSLionel Sambuc   /*  vec_add */
92*0a6a1f1dSLionel Sambuc   res_vsc = vec_add(vsc, vsc);
93*0a6a1f1dSLionel Sambuc // CHECK: add <16 x i8>
94*0a6a1f1dSLionel Sambuc // CHECK-LE: add <16 x i8>
95*0a6a1f1dSLionel Sambuc 
96*0a6a1f1dSLionel Sambuc   res_vsc = vec_add(vbc, vsc);
97*0a6a1f1dSLionel Sambuc // CHECK: add <16 x i8>
98*0a6a1f1dSLionel Sambuc // CHECK-LE: add <16 x i8>
99*0a6a1f1dSLionel Sambuc 
100*0a6a1f1dSLionel Sambuc   res_vsc = vec_add(vsc, vbc);
101*0a6a1f1dSLionel Sambuc // CHECK: add <16 x i8>
102*0a6a1f1dSLionel Sambuc // CHECK-LE: add <16 x i8>
103*0a6a1f1dSLionel Sambuc 
104*0a6a1f1dSLionel Sambuc   res_vuc = vec_add(vuc, vuc);
105*0a6a1f1dSLionel Sambuc // CHECK: add <16 x i8>
106*0a6a1f1dSLionel Sambuc // CHECK-LE: add <16 x i8>
107*0a6a1f1dSLionel Sambuc 
108*0a6a1f1dSLionel Sambuc   res_vuc = vec_add(vbc, vuc);
109*0a6a1f1dSLionel Sambuc // CHECK: add <16 x i8>
110*0a6a1f1dSLionel Sambuc // CHECK-LE: add <16 x i8>
111*0a6a1f1dSLionel Sambuc 
112*0a6a1f1dSLionel Sambuc   res_vuc = vec_add(vuc, vbc);
113*0a6a1f1dSLionel Sambuc // CHECK: add <16 x i8>
114*0a6a1f1dSLionel Sambuc // CHECK-LE: add <16 x i8>
115*0a6a1f1dSLionel Sambuc 
116*0a6a1f1dSLionel Sambuc   res_vs  = vec_add(vs, vs);
117*0a6a1f1dSLionel Sambuc // CHECK: add <8 x i16>
118*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
119*0a6a1f1dSLionel Sambuc 
120*0a6a1f1dSLionel Sambuc   res_vs  = vec_add(vbs, vs);
121*0a6a1f1dSLionel Sambuc // CHECK: add <8 x i16>
122*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
123*0a6a1f1dSLionel Sambuc 
124*0a6a1f1dSLionel Sambuc   res_vs  = vec_add(vs, vbs);
125*0a6a1f1dSLionel Sambuc // CHECK: add <8 x i16>
126*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
127*0a6a1f1dSLionel Sambuc 
128*0a6a1f1dSLionel Sambuc   res_vus = vec_add(vus, vus);
129*0a6a1f1dSLionel Sambuc // CHECK: add <8 x i16>
130*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
131*0a6a1f1dSLionel Sambuc 
132*0a6a1f1dSLionel Sambuc   res_vus = vec_add(vbs, vus);
133*0a6a1f1dSLionel Sambuc // CHECK: add <8 x i16>
134*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
135*0a6a1f1dSLionel Sambuc 
136*0a6a1f1dSLionel Sambuc   res_vus = vec_add(vus, vbs);
137*0a6a1f1dSLionel Sambuc // CHECK: add <8 x i16>
138*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
139*0a6a1f1dSLionel Sambuc 
140*0a6a1f1dSLionel Sambuc   res_vi  = vec_add(vi, vi);
141*0a6a1f1dSLionel Sambuc // CHECK: add <4 x i32>
142*0a6a1f1dSLionel Sambuc // CHECK-LE: add <4 x i32>
143*0a6a1f1dSLionel Sambuc 
144*0a6a1f1dSLionel Sambuc   res_vi  = vec_add(vbi, vi);
145*0a6a1f1dSLionel Sambuc // CHECK: add <4 x i32>
146*0a6a1f1dSLionel Sambuc // CHECK-LE: add <4 x i32>
147*0a6a1f1dSLionel Sambuc 
148*0a6a1f1dSLionel Sambuc   res_vi  = vec_add(vi, vbi);
149*0a6a1f1dSLionel Sambuc // CHECK: add <4 x i32>
150*0a6a1f1dSLionel Sambuc // CHECK-LE: add <4 x i32>
151*0a6a1f1dSLionel Sambuc 
152*0a6a1f1dSLionel Sambuc   res_vui = vec_add(vui, vui);
153*0a6a1f1dSLionel Sambuc // CHECK: add <4 x i32>
154*0a6a1f1dSLionel Sambuc // CHECK-LE: add <4 x i32>
155*0a6a1f1dSLionel Sambuc 
156*0a6a1f1dSLionel Sambuc   res_vui = vec_add(vbi, vui);
157*0a6a1f1dSLionel Sambuc // CHECK: add <4 x i32>
158*0a6a1f1dSLionel Sambuc // CHECK-LE: add <4 x i32>
159*0a6a1f1dSLionel Sambuc 
160*0a6a1f1dSLionel Sambuc   res_vui = vec_add(vui, vbi);
161*0a6a1f1dSLionel Sambuc // CHECK: add <4 x i32>
162*0a6a1f1dSLionel Sambuc // CHECK-LE: add <4 x i32>
163*0a6a1f1dSLionel Sambuc 
164*0a6a1f1dSLionel Sambuc   res_vf  = vec_add(vf, vf);
165*0a6a1f1dSLionel Sambuc // CHECK: fadd <4 x float>
166*0a6a1f1dSLionel Sambuc // CHECK-LE: fadd <4 x float>
167*0a6a1f1dSLionel Sambuc 
168*0a6a1f1dSLionel Sambuc   res_vsc = vec_vaddubm(vsc, vsc);
169*0a6a1f1dSLionel Sambuc // CHECK: add <16 x i8>
170*0a6a1f1dSLionel Sambuc // CHECK-LE: add <16 x i8>
171*0a6a1f1dSLionel Sambuc 
172*0a6a1f1dSLionel Sambuc   res_vsc = vec_vaddubm(vbc, vsc);
173*0a6a1f1dSLionel Sambuc // CHECK: add <16 x i8>
174*0a6a1f1dSLionel Sambuc // CHECK-LE: add <16 x i8>
175*0a6a1f1dSLionel Sambuc 
176*0a6a1f1dSLionel Sambuc   res_vsc = vec_vaddubm(vsc, vbc);
177*0a6a1f1dSLionel Sambuc // CHECK: add <16 x i8>
178*0a6a1f1dSLionel Sambuc // CHECK-LE: add <16 x i8>
179*0a6a1f1dSLionel Sambuc 
180*0a6a1f1dSLionel Sambuc   res_vuc = vec_vaddubm(vuc, vuc);
181*0a6a1f1dSLionel Sambuc // CHECK: add <16 x i8>
182*0a6a1f1dSLionel Sambuc // CHECK-LE: add <16 x i8>
183*0a6a1f1dSLionel Sambuc 
184*0a6a1f1dSLionel Sambuc   res_vuc = vec_vaddubm(vbc, vuc);
185*0a6a1f1dSLionel Sambuc // CHECK: add <16 x i8>
186*0a6a1f1dSLionel Sambuc // CHECK-LE: add <16 x i8>
187*0a6a1f1dSLionel Sambuc 
188*0a6a1f1dSLionel Sambuc   res_vuc = vec_vaddubm(vuc, vbc);
189*0a6a1f1dSLionel Sambuc // CHECK: add <16 x i8>
190*0a6a1f1dSLionel Sambuc // CHECK-LE: add <16 x i8>
191*0a6a1f1dSLionel Sambuc 
192*0a6a1f1dSLionel Sambuc   res_vs  = vec_vadduhm(vs, vs);
193*0a6a1f1dSLionel Sambuc // CHECK: add <8 x i16>
194*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
195*0a6a1f1dSLionel Sambuc 
196*0a6a1f1dSLionel Sambuc   res_vs  = vec_vadduhm(vbs, vs);
197*0a6a1f1dSLionel Sambuc // CHECK: add <8 x i16>
198*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
199*0a6a1f1dSLionel Sambuc 
200*0a6a1f1dSLionel Sambuc   res_vs  = vec_vadduhm(vs, vbs);
201*0a6a1f1dSLionel Sambuc // CHECK: add <8 x i16>
202*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
203*0a6a1f1dSLionel Sambuc 
204*0a6a1f1dSLionel Sambuc   res_vus = vec_vadduhm(vus, vus);
205*0a6a1f1dSLionel Sambuc // CHECK: add <8 x i16>
206*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
207*0a6a1f1dSLionel Sambuc 
208*0a6a1f1dSLionel Sambuc   res_vus = vec_vadduhm(vbs, vus);
209*0a6a1f1dSLionel Sambuc // CHECK: add <8 x i16>
210*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
211*0a6a1f1dSLionel Sambuc 
212*0a6a1f1dSLionel Sambuc   res_vus = vec_vadduhm(vus, vbs);
213*0a6a1f1dSLionel Sambuc // CHECK: add <8 x i16>
214*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
215*0a6a1f1dSLionel Sambuc 
216*0a6a1f1dSLionel Sambuc   res_vi  = vec_vadduwm(vi, vi);
217*0a6a1f1dSLionel Sambuc // CHECK: add <4 x i32>
218*0a6a1f1dSLionel Sambuc // CHECK-LE: add <4 x i32>
219*0a6a1f1dSLionel Sambuc 
220*0a6a1f1dSLionel Sambuc   res_vi  = vec_vadduwm(vbi, vi);
221*0a6a1f1dSLionel Sambuc // CHECK: add <4 x i32>
222*0a6a1f1dSLionel Sambuc // CHECK-LE: add <4 x i32>
223*0a6a1f1dSLionel Sambuc 
224*0a6a1f1dSLionel Sambuc   res_vi  = vec_vadduwm(vi, vbi);
225*0a6a1f1dSLionel Sambuc // CHECK: add <4 x i32>
226*0a6a1f1dSLionel Sambuc // CHECK-LE: add <4 x i32>
227*0a6a1f1dSLionel Sambuc 
228*0a6a1f1dSLionel Sambuc   res_vui = vec_vadduwm(vui, vui);
229*0a6a1f1dSLionel Sambuc // CHECK: add <4 x i32>
230*0a6a1f1dSLionel Sambuc // CHECK-LE: add <4 x i32>
231*0a6a1f1dSLionel Sambuc 
232*0a6a1f1dSLionel Sambuc   res_vui = vec_vadduwm(vbi, vui);
233*0a6a1f1dSLionel Sambuc // CHECK: add <4 x i32>
234*0a6a1f1dSLionel Sambuc // CHECK-LE: add <4 x i32>
235*0a6a1f1dSLionel Sambuc 
236*0a6a1f1dSLionel Sambuc   res_vui = vec_vadduwm(vui, vbi);
237*0a6a1f1dSLionel Sambuc // CHECK: add <4 x i32>
238*0a6a1f1dSLionel Sambuc // CHECK-LE: add <4 x i32>
239*0a6a1f1dSLionel Sambuc 
240*0a6a1f1dSLionel Sambuc   res_vf  = vec_vaddfp(vf, vf);
241*0a6a1f1dSLionel Sambuc // CHECK: fadd <4 x float>
242*0a6a1f1dSLionel Sambuc // CHECK-LE: fadd <4 x float>
243f4a2713aSLionel Sambuc 
244f4a2713aSLionel Sambuc   /* vec_addc */
245*0a6a1f1dSLionel Sambuc   res_vui = vec_addc(vui, vui);
246*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddcuw
247*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddcuw
248*0a6a1f1dSLionel Sambuc 
249*0a6a1f1dSLionel Sambuc   res_vui = vec_vaddcuw(vui, vui);
250*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddcuw
251*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddcuw
252f4a2713aSLionel Sambuc 
253f4a2713aSLionel Sambuc   /* vec_adds */
254*0a6a1f1dSLionel Sambuc   res_vsc = vec_adds(vsc, vsc);
255*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddsbs
256*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddsbs
257*0a6a1f1dSLionel Sambuc 
258*0a6a1f1dSLionel Sambuc   res_vsc = vec_adds(vbc, vsc);
259*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddsbs
260*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddsbs
261*0a6a1f1dSLionel Sambuc 
262*0a6a1f1dSLionel Sambuc   res_vsc = vec_adds(vsc, vbc);
263*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddsbs
264*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddsbs
265*0a6a1f1dSLionel Sambuc 
266*0a6a1f1dSLionel Sambuc   res_vuc = vec_adds(vuc, vuc);
267*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddubs
268*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddubs
269*0a6a1f1dSLionel Sambuc 
270*0a6a1f1dSLionel Sambuc   res_vuc = vec_adds(vbc, vuc);
271*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddubs
272*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddubs
273*0a6a1f1dSLionel Sambuc 
274*0a6a1f1dSLionel Sambuc   res_vuc = vec_adds(vuc, vbc);
275*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddubs
276*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddubs
277*0a6a1f1dSLionel Sambuc 
278*0a6a1f1dSLionel Sambuc   res_vs  = vec_adds(vs, vs);
279*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddshs
280*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddshs
281*0a6a1f1dSLionel Sambuc 
282*0a6a1f1dSLionel Sambuc   res_vs  = vec_adds(vbs, vs);
283*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddshs
284*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddshs
285*0a6a1f1dSLionel Sambuc 
286*0a6a1f1dSLionel Sambuc   res_vs  = vec_adds(vs, vbs);
287*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddshs
288*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddshs
289*0a6a1f1dSLionel Sambuc 
290*0a6a1f1dSLionel Sambuc   res_vus = vec_adds(vus, vus);
291*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vadduhs
292*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vadduhs
293*0a6a1f1dSLionel Sambuc 
294*0a6a1f1dSLionel Sambuc   res_vus = vec_adds(vbs, vus);
295*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vadduhs
296*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vadduhs
297*0a6a1f1dSLionel Sambuc 
298*0a6a1f1dSLionel Sambuc   res_vus = vec_adds(vus, vbs);
299*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vadduhs
300*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vadduhs
301*0a6a1f1dSLionel Sambuc 
302*0a6a1f1dSLionel Sambuc   res_vi  = vec_adds(vi, vi);
303*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddsws
304*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddsws
305*0a6a1f1dSLionel Sambuc 
306*0a6a1f1dSLionel Sambuc   res_vi  = vec_adds(vbi, vi);
307*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddsws
308*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddsws
309*0a6a1f1dSLionel Sambuc 
310*0a6a1f1dSLionel Sambuc   res_vi  = vec_adds(vi, vbi);
311*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddsws
312*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddsws
313*0a6a1f1dSLionel Sambuc 
314*0a6a1f1dSLionel Sambuc   res_vui = vec_adds(vui, vui);
315*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vadduws
316*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vadduws
317*0a6a1f1dSLionel Sambuc 
318*0a6a1f1dSLionel Sambuc   res_vui = vec_adds(vbi, vui);
319*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vadduws
320*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vadduws
321*0a6a1f1dSLionel Sambuc 
322*0a6a1f1dSLionel Sambuc   res_vui = vec_adds(vui, vbi);
323*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vadduws
324*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vadduws
325*0a6a1f1dSLionel Sambuc 
326*0a6a1f1dSLionel Sambuc   res_vsc = vec_vaddsbs(vsc, vsc);
327*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddsbs
328*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddsbs
329*0a6a1f1dSLionel Sambuc 
330*0a6a1f1dSLionel Sambuc   res_vsc = vec_vaddsbs(vbc, vsc);
331*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddsbs
332*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddsbs
333*0a6a1f1dSLionel Sambuc 
334*0a6a1f1dSLionel Sambuc   res_vsc = vec_vaddsbs(vsc, vbc);
335*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddsbs
336*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddsbs
337*0a6a1f1dSLionel Sambuc 
338*0a6a1f1dSLionel Sambuc   res_vuc = vec_vaddubs(vuc, vuc);
339*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddubs
340*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddubs
341*0a6a1f1dSLionel Sambuc 
342*0a6a1f1dSLionel Sambuc   res_vuc = vec_vaddubs(vbc, vuc);
343*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddubs
344*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddubs
345*0a6a1f1dSLionel Sambuc 
346*0a6a1f1dSLionel Sambuc   res_vuc = vec_vaddubs(vuc, vbc);
347*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddubs
348*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddubs
349*0a6a1f1dSLionel Sambuc 
350*0a6a1f1dSLionel Sambuc   res_vs  = vec_vaddshs(vs, vs);
351*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddshs
352*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddshs
353*0a6a1f1dSLionel Sambuc 
354*0a6a1f1dSLionel Sambuc   res_vs  = vec_vaddshs(vbs, vs);
355*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddshs
356*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddshs
357*0a6a1f1dSLionel Sambuc 
358*0a6a1f1dSLionel Sambuc   res_vs  = vec_vaddshs(vs, vbs);
359*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddshs
360*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddshs
361*0a6a1f1dSLionel Sambuc 
362*0a6a1f1dSLionel Sambuc   res_vus = vec_vadduhs(vus, vus);
363*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vadduhs
364*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vadduhs
365*0a6a1f1dSLionel Sambuc 
366*0a6a1f1dSLionel Sambuc   res_vus = vec_vadduhs(vbs, vus);
367*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vadduhs
368*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vadduhs
369*0a6a1f1dSLionel Sambuc 
370*0a6a1f1dSLionel Sambuc   res_vus = vec_vadduhs(vus, vbs);
371*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vadduhs
372*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vadduhs
373*0a6a1f1dSLionel Sambuc 
374*0a6a1f1dSLionel Sambuc   res_vi  = vec_vaddsws(vi, vi);
375*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddsws
376*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddsws
377*0a6a1f1dSLionel Sambuc 
378*0a6a1f1dSLionel Sambuc   res_vi  = vec_vaddsws(vbi, vi);
379*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddsws
380*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddsws
381*0a6a1f1dSLionel Sambuc 
382*0a6a1f1dSLionel Sambuc   res_vi  = vec_vaddsws(vi, vbi);
383*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vaddsws
384*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vaddsws
385*0a6a1f1dSLionel Sambuc 
386*0a6a1f1dSLionel Sambuc   res_vui = vec_vadduws(vui, vui);
387*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vadduws
388*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vadduws
389*0a6a1f1dSLionel Sambuc 
390*0a6a1f1dSLionel Sambuc   res_vui = vec_vadduws(vbi, vui);
391*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vadduws
392*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vadduws
393*0a6a1f1dSLionel Sambuc 
394*0a6a1f1dSLionel Sambuc   res_vui = vec_vadduws(vui, vbi);
395*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vadduws
396*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vadduws
397f4a2713aSLionel Sambuc 
398f4a2713aSLionel Sambuc   /* vec_and */
399*0a6a1f1dSLionel Sambuc   res_vsc = vec_and(vsc, vsc);
400*0a6a1f1dSLionel Sambuc // CHECK: and <16 x i8>
401*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
402*0a6a1f1dSLionel Sambuc 
403*0a6a1f1dSLionel Sambuc   res_vsc = vec_and(vbc, vsc);
404*0a6a1f1dSLionel Sambuc // CHECK: and <16 x i8>
405*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
406*0a6a1f1dSLionel Sambuc 
407*0a6a1f1dSLionel Sambuc   res_vsc = vec_and(vsc, vbc);
408*0a6a1f1dSLionel Sambuc // CHECK: and <16 x i8>
409*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
410*0a6a1f1dSLionel Sambuc 
411*0a6a1f1dSLionel Sambuc   res_vuc = vec_and(vuc, vuc);
412*0a6a1f1dSLionel Sambuc // CHECK: and <16 x i8>
413*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
414*0a6a1f1dSLionel Sambuc 
415*0a6a1f1dSLionel Sambuc   res_vuc = vec_and(vbc, vuc);
416*0a6a1f1dSLionel Sambuc // CHECK: and <16 x i8>
417*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
418*0a6a1f1dSLionel Sambuc 
419*0a6a1f1dSLionel Sambuc   res_vuc = vec_and(vuc, vbc);
420*0a6a1f1dSLionel Sambuc // CHECK: and <16 x i8>
421*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
422*0a6a1f1dSLionel Sambuc 
423*0a6a1f1dSLionel Sambuc   res_vbc = vec_and(vbc, vbc);
424*0a6a1f1dSLionel Sambuc // CHECK: and <16 x i8>
425*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
426*0a6a1f1dSLionel Sambuc 
427*0a6a1f1dSLionel Sambuc   res_vs  = vec_and(vs, vs);
428*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
429*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
430*0a6a1f1dSLionel Sambuc 
431*0a6a1f1dSLionel Sambuc   res_vs  = vec_and(vbs, vs);
432*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
433*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
434*0a6a1f1dSLionel Sambuc 
435*0a6a1f1dSLionel Sambuc   res_vs  = vec_and(vs, vbs);
436*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
437*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
438*0a6a1f1dSLionel Sambuc 
439*0a6a1f1dSLionel Sambuc   res_vus = vec_and(vus, vus);
440*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
441*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
442*0a6a1f1dSLionel Sambuc 
443*0a6a1f1dSLionel Sambuc   res_vus = vec_and(vbs, vus);
444*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
445*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
446*0a6a1f1dSLionel Sambuc 
447*0a6a1f1dSLionel Sambuc   res_vus = vec_and(vus, vbs);
448*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
449*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
450*0a6a1f1dSLionel Sambuc 
451*0a6a1f1dSLionel Sambuc   res_vbs = vec_and(vbs, vbs);
452*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
453*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
454*0a6a1f1dSLionel Sambuc 
455*0a6a1f1dSLionel Sambuc   res_vi  = vec_and(vi, vi);
456*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
457*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
458*0a6a1f1dSLionel Sambuc 
459*0a6a1f1dSLionel Sambuc   res_vi  = vec_and(vbi, vi);
460*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
461*0a6a1f1dSLionel Sambuc // CHECK-le: and <4 x i32>
462*0a6a1f1dSLionel Sambuc 
463*0a6a1f1dSLionel Sambuc   res_vi  = vec_and(vi, vbi);
464*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
465*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
466*0a6a1f1dSLionel Sambuc 
467*0a6a1f1dSLionel Sambuc   res_vui = vec_and(vui, vui);
468*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
469*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
470*0a6a1f1dSLionel Sambuc 
471*0a6a1f1dSLionel Sambuc   res_vui = vec_and(vbi, vui);
472*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
473*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
474*0a6a1f1dSLionel Sambuc 
475*0a6a1f1dSLionel Sambuc   res_vui = vec_and(vui, vbi);
476*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
477*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
478*0a6a1f1dSLionel Sambuc 
479*0a6a1f1dSLionel Sambuc   res_vbi = vec_and(vbi, vbi);
480*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
481*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
482*0a6a1f1dSLionel Sambuc 
483*0a6a1f1dSLionel Sambuc   res_vsc = vec_vand(vsc, vsc);
484*0a6a1f1dSLionel Sambuc // CHECK: and <16 x i8>
485*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
486*0a6a1f1dSLionel Sambuc 
487*0a6a1f1dSLionel Sambuc   res_vsc = vec_vand(vbc, vsc);
488*0a6a1f1dSLionel Sambuc // CHECK: and <16 x i8>
489*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
490*0a6a1f1dSLionel Sambuc 
491*0a6a1f1dSLionel Sambuc   res_vsc = vec_vand(vsc, vbc);
492*0a6a1f1dSLionel Sambuc // CHECK: and <16 x i8>
493*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
494*0a6a1f1dSLionel Sambuc 
495*0a6a1f1dSLionel Sambuc   res_vuc = vec_vand(vuc, vuc);
496*0a6a1f1dSLionel Sambuc // CHECK: and <16 x i8>
497*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
498*0a6a1f1dSLionel Sambuc 
499*0a6a1f1dSLionel Sambuc   res_vuc = vec_vand(vbc, vuc);
500*0a6a1f1dSLionel Sambuc // CHECK: and <16 x i8>
501*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
502*0a6a1f1dSLionel Sambuc 
503*0a6a1f1dSLionel Sambuc   res_vuc = vec_vand(vuc, vbc);
504*0a6a1f1dSLionel Sambuc // CHECK: and <16 x i8>
505*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
506*0a6a1f1dSLionel Sambuc 
507*0a6a1f1dSLionel Sambuc   res_vbc = vec_vand(vbc, vbc);
508*0a6a1f1dSLionel Sambuc // CHECK: and <16 x i8>
509*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
510*0a6a1f1dSLionel Sambuc 
511*0a6a1f1dSLionel Sambuc   res_vs  = vec_vand(vs, vs);
512*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
513*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
514*0a6a1f1dSLionel Sambuc 
515*0a6a1f1dSLionel Sambuc   res_vs  = vec_vand(vbs, vs);
516*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
517*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
518*0a6a1f1dSLionel Sambuc 
519*0a6a1f1dSLionel Sambuc   res_vs  = vec_vand(vs, vbs);
520*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
521*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
522*0a6a1f1dSLionel Sambuc 
523*0a6a1f1dSLionel Sambuc   res_vus = vec_vand(vus, vus);
524*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
525*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
526*0a6a1f1dSLionel Sambuc 
527*0a6a1f1dSLionel Sambuc   res_vus = vec_vand(vbs, vus);
528*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
529*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
530*0a6a1f1dSLionel Sambuc 
531*0a6a1f1dSLionel Sambuc   res_vus = vec_vand(vus, vbs);
532*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
533*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
534*0a6a1f1dSLionel Sambuc 
535*0a6a1f1dSLionel Sambuc   res_vbs = vec_vand(vbs, vbs);
536*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
537*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
538*0a6a1f1dSLionel Sambuc 
539*0a6a1f1dSLionel Sambuc   res_vi  = vec_vand(vi, vi);
540*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
541*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
542*0a6a1f1dSLionel Sambuc 
543*0a6a1f1dSLionel Sambuc   res_vi  = vec_vand(vbi, vi);
544*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
545*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
546*0a6a1f1dSLionel Sambuc 
547*0a6a1f1dSLionel Sambuc   res_vi  = vec_vand(vi, vbi);
548*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
549*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
550*0a6a1f1dSLionel Sambuc 
551*0a6a1f1dSLionel Sambuc   res_vui = vec_vand(vui, vui);
552*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
553*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
554*0a6a1f1dSLionel Sambuc 
555*0a6a1f1dSLionel Sambuc   res_vui = vec_vand(vbi, vui);
556*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
557*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
558*0a6a1f1dSLionel Sambuc 
559*0a6a1f1dSLionel Sambuc   res_vui = vec_vand(vui, vbi);
560*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
561*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
562*0a6a1f1dSLionel Sambuc 
563*0a6a1f1dSLionel Sambuc   res_vbi = vec_vand(vbi, vbi);
564*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
565*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
566f4a2713aSLionel Sambuc 
567f4a2713aSLionel Sambuc   /* vec_andc */
568*0a6a1f1dSLionel Sambuc   res_vsc = vec_andc(vsc, vsc);
569*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
570f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
571*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
572*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
573f4a2713aSLionel Sambuc 
574*0a6a1f1dSLionel Sambuc   res_vsc = vec_andc(vbc, vsc);
575*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
576f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
577*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
578*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
579f4a2713aSLionel Sambuc 
580*0a6a1f1dSLionel Sambuc   res_vsc = vec_andc(vsc, vbc);
581*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
582f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
583*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
584*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
585f4a2713aSLionel Sambuc 
586*0a6a1f1dSLionel Sambuc   res_vuc = vec_andc(vuc, vuc);
587*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
588f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
589*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
590*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
591f4a2713aSLionel Sambuc 
592*0a6a1f1dSLionel Sambuc   res_vuc = vec_andc(vbc, vuc);
593*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
594f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
595*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
596*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
597f4a2713aSLionel Sambuc 
598*0a6a1f1dSLionel Sambuc   res_vuc = vec_andc(vuc, vbc);
599*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
600*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
601*0a6a1f1dSLionel Sambuc 
602*0a6a1f1dSLionel Sambuc   res_vbc = vec_andc(vbc, vbc);
603*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
604f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
605*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
606*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
607f4a2713aSLionel Sambuc 
608*0a6a1f1dSLionel Sambuc   res_vs  = vec_andc(vs, vs);
609*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
610*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
611*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
612*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
613*0a6a1f1dSLionel Sambuc 
614*0a6a1f1dSLionel Sambuc   res_vs  = vec_andc(vbs, vs);
615*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
616*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
617*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
618*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
619*0a6a1f1dSLionel Sambuc 
620*0a6a1f1dSLionel Sambuc   res_vs  = vec_andc(vs, vbs);
621*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
622*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
623*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
624*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
625*0a6a1f1dSLionel Sambuc 
626*0a6a1f1dSLionel Sambuc   res_vus = vec_andc(vus, vus);
627*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
628*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
629*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
630*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
631*0a6a1f1dSLionel Sambuc 
632*0a6a1f1dSLionel Sambuc   res_vus = vec_andc(vbs, vus);
633*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
634*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
635*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
636*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
637*0a6a1f1dSLionel Sambuc 
638*0a6a1f1dSLionel Sambuc   res_vus = vec_andc(vus, vbs);
639*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
640*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
641*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
642*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
643*0a6a1f1dSLionel Sambuc 
644*0a6a1f1dSLionel Sambuc   res_vbs = vec_andc(vbs, vbs);
645*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
646*0a6a1f1dSLionel Sambuc // CHECK: and <8 x i16>
647*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
648*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
649*0a6a1f1dSLionel Sambuc 
650*0a6a1f1dSLionel Sambuc   res_vi  = vec_andc(vi, vi);
651*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
652*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
653*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
654*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
655*0a6a1f1dSLionel Sambuc 
656*0a6a1f1dSLionel Sambuc   res_vi  = vec_andc(vbi, vi);
657*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
658*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
659*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
660*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
661*0a6a1f1dSLionel Sambuc 
662*0a6a1f1dSLionel Sambuc   res_vi  = vec_andc(vi, vbi);
663*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
664*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
665*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
666*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
667*0a6a1f1dSLionel Sambuc 
668*0a6a1f1dSLionel Sambuc   res_vui = vec_andc(vui, vui);
669*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
670*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
671*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
672*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
673*0a6a1f1dSLionel Sambuc 
674*0a6a1f1dSLionel Sambuc   res_vui = vec_andc(vbi, vui);
675*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
676*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
677*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
678*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
679*0a6a1f1dSLionel Sambuc 
680*0a6a1f1dSLionel Sambuc   res_vui = vec_andc(vui, vbi);
681*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
682*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
683*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
684*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
685*0a6a1f1dSLionel Sambuc 
686*0a6a1f1dSLionel Sambuc   res_vf = vec_andc(vf, vf);
687*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
688*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
689*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
690*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
691*0a6a1f1dSLionel Sambuc 
692*0a6a1f1dSLionel Sambuc   res_vf = vec_andc(vbi, vf);
693*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
694*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
695*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
696*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
697*0a6a1f1dSLionel Sambuc 
698*0a6a1f1dSLionel Sambuc   res_vf = vec_andc(vf, vbi);
699*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
700*0a6a1f1dSLionel Sambuc // CHECK: and <4 x i32>
701*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
702*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
703*0a6a1f1dSLionel Sambuc 
704*0a6a1f1dSLionel Sambuc   res_vsc = vec_vandc(vsc, vsc);
705*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
706f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
707*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
708*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
709f4a2713aSLionel Sambuc 
710*0a6a1f1dSLionel Sambuc   res_vsc = vec_vandc(vbc, vsc);
711*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
712f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
713*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
714*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
715f4a2713aSLionel Sambuc 
716*0a6a1f1dSLionel Sambuc   res_vsc = vec_vandc(vsc, vbc);
717*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
718f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
719*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
720*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
721f4a2713aSLionel Sambuc 
722*0a6a1f1dSLionel Sambuc   res_vuc = vec_vandc(vuc, vuc);
723*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
724f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
725*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
726*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
727f4a2713aSLionel Sambuc 
728*0a6a1f1dSLionel Sambuc   res_vuc = vec_vandc(vbc, vuc);
729*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
730f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
731*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
732*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
733f4a2713aSLionel Sambuc 
734*0a6a1f1dSLionel Sambuc   res_vuc = vec_vandc(vuc, vbc);
735*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
736f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
737*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
738*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
739f4a2713aSLionel Sambuc 
740*0a6a1f1dSLionel Sambuc   res_vbc = vec_vandc(vbc, vbc);
741*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
742f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
743*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
744*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
745f4a2713aSLionel Sambuc 
746*0a6a1f1dSLionel Sambuc   res_vs  = vec_vandc(vs, vs);
747*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
748f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
749*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
750*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
751f4a2713aSLionel Sambuc 
752*0a6a1f1dSLionel Sambuc   res_vs  = vec_vandc(vbs, vs);
753*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
754f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
755*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
756*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
757f4a2713aSLionel Sambuc 
758*0a6a1f1dSLionel Sambuc   res_vs  = vec_vandc(vs, vbs);
759*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
760f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
761*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
762*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
763f4a2713aSLionel Sambuc 
764*0a6a1f1dSLionel Sambuc   res_vus = vec_vandc(vus, vus);
765*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
766f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
767*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
768*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
769f4a2713aSLionel Sambuc 
770*0a6a1f1dSLionel Sambuc   res_vus = vec_vandc(vbs, vus);
771*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
772f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
773*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
774*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
775f4a2713aSLionel Sambuc 
776*0a6a1f1dSLionel Sambuc   res_vus = vec_vandc(vus, vbs);
777*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
778f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
779*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
780*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
781f4a2713aSLionel Sambuc 
782*0a6a1f1dSLionel Sambuc   res_vbs = vec_vandc(vbs, vbs);
783*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
784f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
785*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
786*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
787f4a2713aSLionel Sambuc 
788*0a6a1f1dSLionel Sambuc   res_vi  = vec_vandc(vi, vi);
789*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
790f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
791*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
792*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
793f4a2713aSLionel Sambuc 
794*0a6a1f1dSLionel Sambuc   res_vi  = vec_vandc(vbi, vi);
795*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
796f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
797*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
798*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
799f4a2713aSLionel Sambuc 
800*0a6a1f1dSLionel Sambuc   res_vi  = vec_vandc(vi, vbi);
801*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
802f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
803*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
804*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
805f4a2713aSLionel Sambuc 
806*0a6a1f1dSLionel Sambuc   res_vui = vec_vandc(vui, vui);
807*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
808f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
809*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
810*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
811f4a2713aSLionel Sambuc 
812*0a6a1f1dSLionel Sambuc   res_vui = vec_vandc(vbi, vui);
813*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
814f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
815*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
816*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
817f4a2713aSLionel Sambuc 
818*0a6a1f1dSLionel Sambuc   res_vui = vec_vandc(vui, vbi);
819*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
820f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
821*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
822*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
823f4a2713aSLionel Sambuc 
824*0a6a1f1dSLionel Sambuc   res_vf = vec_vandc(vf, vf);
825*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
826f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
827*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
828*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
829f4a2713aSLionel Sambuc 
830*0a6a1f1dSLionel Sambuc   res_vf = vec_vandc(vbi, vf);
831*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
832f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
833*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
834*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
835f4a2713aSLionel Sambuc 
836*0a6a1f1dSLionel Sambuc   res_vf = vec_vandc(vf, vbi);
837*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
838f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
839*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
840*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
841f4a2713aSLionel Sambuc 
842f4a2713aSLionel Sambuc }
843f4a2713aSLionel Sambuc 
844f4a2713aSLionel Sambuc // CHECK-LABEL: define void @test2
test2()845f4a2713aSLionel Sambuc void test2() {
846f4a2713aSLionel Sambuc   /* vec_avg */
847*0a6a1f1dSLionel Sambuc   res_vsc = vec_avg(vsc, vsc);
848*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vavgsb
849*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vavgsb
850*0a6a1f1dSLionel Sambuc 
851*0a6a1f1dSLionel Sambuc   res_vuc = vec_avg(vuc, vuc);
852*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vavgub
853*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vavgub
854*0a6a1f1dSLionel Sambuc 
855*0a6a1f1dSLionel Sambuc   res_vs  = vec_avg(vs, vs);
856*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vavgsh
857*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vavgsh
858*0a6a1f1dSLionel Sambuc 
859*0a6a1f1dSLionel Sambuc   res_vus = vec_avg(vus, vus);
860*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vavguh
861*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vavguh
862*0a6a1f1dSLionel Sambuc 
863*0a6a1f1dSLionel Sambuc   res_vi  = vec_avg(vi, vi);
864*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vavgsw
865*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vavgsw
866*0a6a1f1dSLionel Sambuc 
867*0a6a1f1dSLionel Sambuc   res_vui = vec_avg(vui, vui);
868*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vavguw
869*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vavguw
870*0a6a1f1dSLionel Sambuc 
871*0a6a1f1dSLionel Sambuc   res_vsc = vec_vavgsb(vsc, vsc);
872*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vavgsb
873*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vavgsb
874*0a6a1f1dSLionel Sambuc 
875*0a6a1f1dSLionel Sambuc   res_vuc = vec_vavgub(vuc, vuc);
876*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vavgub
877*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vavgub
878*0a6a1f1dSLionel Sambuc 
879*0a6a1f1dSLionel Sambuc   res_vs  = vec_vavgsh(vs, vs);
880*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vavgsh
881*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vavgsh
882*0a6a1f1dSLionel Sambuc 
883*0a6a1f1dSLionel Sambuc   res_vus = vec_vavguh(vus, vus);
884*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vavguh
885*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vavguh
886*0a6a1f1dSLionel Sambuc 
887*0a6a1f1dSLionel Sambuc   res_vi  = vec_vavgsw(vi, vi);
888*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vavgsw
889*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vavgsw
890*0a6a1f1dSLionel Sambuc 
891*0a6a1f1dSLionel Sambuc   res_vui = vec_vavguw(vui, vui);
892*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vavguw
893*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vavguw
894f4a2713aSLionel Sambuc 
895f4a2713aSLionel Sambuc   /* vec_ceil */
896*0a6a1f1dSLionel Sambuc   res_vf = vec_ceil(vf);
897*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrfip
898*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrfip
899*0a6a1f1dSLionel Sambuc 
900*0a6a1f1dSLionel Sambuc   res_vf = vec_vrfip(vf);
901*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrfip
902*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrfip
903f4a2713aSLionel Sambuc 
904f4a2713aSLionel Sambuc   /* vec_cmpb */
905*0a6a1f1dSLionel Sambuc   res_vi = vec_cmpb(vf, vf);
906*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpbfp
907*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpbfp
908*0a6a1f1dSLionel Sambuc 
909*0a6a1f1dSLionel Sambuc   res_vi = vec_vcmpbfp(vf, vf);
910*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpbfp
911*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpbfp
912f4a2713aSLionel Sambuc 
913f4a2713aSLionel Sambuc   /* vec_cmpeq */
914*0a6a1f1dSLionel Sambuc   res_vbc = vec_cmpeq(vsc, vsc);
915*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb
916*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb
917*0a6a1f1dSLionel Sambuc 
918*0a6a1f1dSLionel Sambuc   res_vbc = vec_cmpeq(vuc, vuc);
919*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb
920*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb
921*0a6a1f1dSLionel Sambuc 
922*0a6a1f1dSLionel Sambuc   res_vbs = vec_cmpeq(vs, vs);
923*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh
924*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh
925*0a6a1f1dSLionel Sambuc 
926*0a6a1f1dSLionel Sambuc   res_vbs = vec_cmpeq(vus, vus);
927*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh
928*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh
929*0a6a1f1dSLionel Sambuc 
930*0a6a1f1dSLionel Sambuc   res_vbi = vec_cmpeq(vi, vi);
931*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw
932*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw
933*0a6a1f1dSLionel Sambuc 
934*0a6a1f1dSLionel Sambuc   res_vbi = vec_cmpeq(vui, vui);
935*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw
936*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw
937*0a6a1f1dSLionel Sambuc 
938*0a6a1f1dSLionel Sambuc   res_vbi = vec_cmpeq(vf, vf);
939*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpeqfp
940*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpeqfp
941f4a2713aSLionel Sambuc 
942f4a2713aSLionel Sambuc   /* vec_cmpge */
943*0a6a1f1dSLionel Sambuc   res_vbi = vec_cmpge(vf, vf);
944*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgefp
945*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgefp
946*0a6a1f1dSLionel Sambuc 
947*0a6a1f1dSLionel Sambuc   res_vbi = vec_vcmpgefp(vf, vf);
948*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgefp
949*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgefp
950f4a2713aSLionel Sambuc }
951f4a2713aSLionel Sambuc 
952f4a2713aSLionel Sambuc // CHECK-LABEL: define void @test5
test5()953f4a2713aSLionel Sambuc void test5() {
954f4a2713aSLionel Sambuc 
955f4a2713aSLionel Sambuc   /* vec_cmpgt */
956*0a6a1f1dSLionel Sambuc   res_vbc = vec_cmpgt(vsc, vsc);
957*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb
958*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb
959*0a6a1f1dSLionel Sambuc 
960*0a6a1f1dSLionel Sambuc   res_vbc = vec_cmpgt(vuc, vuc);
961*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub
962*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub
963*0a6a1f1dSLionel Sambuc 
964*0a6a1f1dSLionel Sambuc   res_vbs = vec_cmpgt(vs, vs);
965*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh
966*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh
967*0a6a1f1dSLionel Sambuc 
968*0a6a1f1dSLionel Sambuc   res_vbs = vec_cmpgt(vus, vus);
969*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh
970*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh
971*0a6a1f1dSLionel Sambuc 
972*0a6a1f1dSLionel Sambuc   res_vbi = vec_cmpgt(vi, vi);
973*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw
974*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw
975*0a6a1f1dSLionel Sambuc 
976*0a6a1f1dSLionel Sambuc   res_vbi = vec_cmpgt(vui, vui);
977*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw
978*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw
979*0a6a1f1dSLionel Sambuc 
980*0a6a1f1dSLionel Sambuc   res_vbi = vec_cmpgt(vf, vf);
981*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtfp
982*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtfp
983*0a6a1f1dSLionel Sambuc 
984*0a6a1f1dSLionel Sambuc   res_vbc = vec_vcmpgtsb(vsc, vsc);
985*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb
986*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb
987*0a6a1f1dSLionel Sambuc 
988*0a6a1f1dSLionel Sambuc   res_vbc = vec_vcmpgtub(vuc, vuc);
989*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub
990*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub
991*0a6a1f1dSLionel Sambuc 
992*0a6a1f1dSLionel Sambuc   res_vbs = vec_vcmpgtsh(vs, vs);
993*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh
994*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh
995*0a6a1f1dSLionel Sambuc 
996*0a6a1f1dSLionel Sambuc   res_vbs = vec_vcmpgtuh(vus, vus);
997*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh
998*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh
999*0a6a1f1dSLionel Sambuc 
1000*0a6a1f1dSLionel Sambuc   res_vbi = vec_vcmpgtsw(vi, vi);
1001*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw
1002*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw
1003*0a6a1f1dSLionel Sambuc 
1004*0a6a1f1dSLionel Sambuc   res_vbi = vec_vcmpgtuw(vui, vui);
1005*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw
1006*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw
1007*0a6a1f1dSLionel Sambuc 
1008*0a6a1f1dSLionel Sambuc   res_vbi = vec_vcmpgtfp(vf, vf);
1009*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtfp
1010*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtfp
1011f4a2713aSLionel Sambuc 
1012f4a2713aSLionel Sambuc   /* vec_cmple */
1013*0a6a1f1dSLionel Sambuc   res_vbi = vec_cmple(vf, vf);
1014*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgefp
1015*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgefp
1016f4a2713aSLionel Sambuc }
1017f4a2713aSLionel Sambuc 
1018f4a2713aSLionel Sambuc // CHECK-LABEL: define void @test6
test6()1019f4a2713aSLionel Sambuc void test6() {
1020f4a2713aSLionel Sambuc   /* vec_cmplt */
1021*0a6a1f1dSLionel Sambuc   res_vbc = vec_cmplt(vsc, vsc);
1022*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb
1023*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb
1024*0a6a1f1dSLionel Sambuc 
1025*0a6a1f1dSLionel Sambuc   res_vbc = vec_cmplt(vuc, vuc);
1026*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub
1027*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub
1028*0a6a1f1dSLionel Sambuc 
1029*0a6a1f1dSLionel Sambuc   res_vbs = vec_cmplt(vs, vs);
1030*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh
1031*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh
1032*0a6a1f1dSLionel Sambuc 
1033*0a6a1f1dSLionel Sambuc   res_vbs = vec_cmplt(vus, vus);
1034*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh
1035*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh
1036*0a6a1f1dSLionel Sambuc 
1037*0a6a1f1dSLionel Sambuc   res_vbi = vec_cmplt(vi, vi);
1038*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw
1039*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw
1040*0a6a1f1dSLionel Sambuc 
1041*0a6a1f1dSLionel Sambuc   res_vbi = vec_cmplt(vui, vui);
1042*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw
1043*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw
1044*0a6a1f1dSLionel Sambuc 
1045*0a6a1f1dSLionel Sambuc   res_vbi = vec_cmplt(vf, vf);
1046*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtfp
1047*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtfp
1048f4a2713aSLionel Sambuc 
1049f4a2713aSLionel Sambuc   /* vec_ctf */
1050*0a6a1f1dSLionel Sambuc   res_vf  = vec_ctf(vi, 0);
1051*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcfsx
1052*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcfsx
1053*0a6a1f1dSLionel Sambuc 
1054*0a6a1f1dSLionel Sambuc   res_vf  = vec_ctf(vui, 0);
1055*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcfux
1056*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcfux
1057*0a6a1f1dSLionel Sambuc 
1058*0a6a1f1dSLionel Sambuc   res_vf  = vec_vcfsx(vi, 0);
1059*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcfsx
1060*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcfsx
1061*0a6a1f1dSLionel Sambuc 
1062*0a6a1f1dSLionel Sambuc   res_vf  = vec_vcfux(vui, 0);
1063*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcfux
1064*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcfux
1065f4a2713aSLionel Sambuc 
1066f4a2713aSLionel Sambuc   /* vec_cts */
1067*0a6a1f1dSLionel Sambuc   res_vi = vec_cts(vf, 0);
1068*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vctsxs
1069*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vctsxs
1070*0a6a1f1dSLionel Sambuc 
1071*0a6a1f1dSLionel Sambuc   res_vi = vec_vctsxs(vf, 0);
1072*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vctsxs
1073*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vctsxs
1074f4a2713aSLionel Sambuc 
1075f4a2713aSLionel Sambuc   /* vec_ctu */
1076*0a6a1f1dSLionel Sambuc   res_vui = vec_ctu(vf, 0);
1077*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vctuxs
1078*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vctuxs
1079*0a6a1f1dSLionel Sambuc 
1080*0a6a1f1dSLionel Sambuc   res_vui = vec_vctuxs(vf, 0);
1081*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vctuxs
1082*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vctuxs
1083f4a2713aSLionel Sambuc 
1084f4a2713aSLionel Sambuc   /* vec_dss */
1085*0a6a1f1dSLionel Sambuc   vec_dss(0);
1086*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.dss
1087*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.dss
1088f4a2713aSLionel Sambuc 
1089f4a2713aSLionel Sambuc   /* vec_dssall */
1090*0a6a1f1dSLionel Sambuc   vec_dssall();
1091*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.dssall
1092*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.dssall
1093f4a2713aSLionel Sambuc 
1094f4a2713aSLionel Sambuc   /* vec_dst */
1095*0a6a1f1dSLionel Sambuc   vec_dst(&vsc, 0, 0);
1096*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.dst
1097*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.dst
1098f4a2713aSLionel Sambuc 
1099f4a2713aSLionel Sambuc   /* vec_dstst */
1100*0a6a1f1dSLionel Sambuc   vec_dstst(&vs, 0, 0);
1101*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.dstst
1102*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.dstst
1103f4a2713aSLionel Sambuc 
1104f4a2713aSLionel Sambuc   /* vec_dststt */
1105*0a6a1f1dSLionel Sambuc   vec_dststt(&param_i, 0, 0);
1106*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.dststt
1107*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.dststt
1108f4a2713aSLionel Sambuc 
1109f4a2713aSLionel Sambuc   /* vec_dstt */
1110*0a6a1f1dSLionel Sambuc   vec_dstt(&vf, 0, 0);
1111*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.dstt
1112*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.dstt
1113f4a2713aSLionel Sambuc 
1114f4a2713aSLionel Sambuc   /* vec_expte */
1115*0a6a1f1dSLionel Sambuc   res_vf = vec_expte(vf);
1116*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vexptefp
1117*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vexptefp
1118*0a6a1f1dSLionel Sambuc 
1119*0a6a1f1dSLionel Sambuc   res_vf = vec_vexptefp(vf);
1120*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vexptefp
1121*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vexptefp
1122f4a2713aSLionel Sambuc 
1123f4a2713aSLionel Sambuc   /* vec_floor */
1124*0a6a1f1dSLionel Sambuc   res_vf = vec_floor(vf);
1125*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrfim
1126*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrfim
1127*0a6a1f1dSLionel Sambuc 
1128*0a6a1f1dSLionel Sambuc   res_vf = vec_vrfim(vf);
1129*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrfim
1130*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrfim
1131f4a2713aSLionel Sambuc 
1132f4a2713aSLionel Sambuc   /* vec_ld */
1133*0a6a1f1dSLionel Sambuc   res_vsc = vec_ld(0, &vsc);
1134*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1135*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1136*0a6a1f1dSLionel Sambuc 
1137*0a6a1f1dSLionel Sambuc   res_vsc = vec_ld(0, &param_sc);
1138*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1139*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1140*0a6a1f1dSLionel Sambuc 
1141*0a6a1f1dSLionel Sambuc   res_vuc = vec_ld(0, &vuc);
1142*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1143*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1144*0a6a1f1dSLionel Sambuc 
1145*0a6a1f1dSLionel Sambuc   res_vuc = vec_ld(0, &param_uc);
1146*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1147*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1148*0a6a1f1dSLionel Sambuc 
1149*0a6a1f1dSLionel Sambuc   res_vbc = vec_ld(0, &vbc);
1150*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1151*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1152*0a6a1f1dSLionel Sambuc 
1153*0a6a1f1dSLionel Sambuc   res_vs  = vec_ld(0, &vs);
1154*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1155*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1156*0a6a1f1dSLionel Sambuc 
1157*0a6a1f1dSLionel Sambuc   res_vs  = vec_ld(0, &param_s);
1158*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1159*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1160*0a6a1f1dSLionel Sambuc 
1161*0a6a1f1dSLionel Sambuc   res_vus = vec_ld(0, &vus);
1162*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1163*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1164*0a6a1f1dSLionel Sambuc 
1165*0a6a1f1dSLionel Sambuc   res_vus = vec_ld(0, &param_us);
1166*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1167*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1168*0a6a1f1dSLionel Sambuc 
1169*0a6a1f1dSLionel Sambuc   res_vbs = vec_ld(0, &vbs);
1170*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1171*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1172*0a6a1f1dSLionel Sambuc 
1173*0a6a1f1dSLionel Sambuc   res_vp  = vec_ld(0, &vp);
1174*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1175*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1176*0a6a1f1dSLionel Sambuc 
1177*0a6a1f1dSLionel Sambuc   res_vi  = vec_ld(0, &vi);
1178*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1179*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1180*0a6a1f1dSLionel Sambuc 
1181*0a6a1f1dSLionel Sambuc   res_vi  = vec_ld(0, &param_i);
1182*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1183*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1184*0a6a1f1dSLionel Sambuc 
1185*0a6a1f1dSLionel Sambuc   res_vui = vec_ld(0, &vui);
1186*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1187*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1188*0a6a1f1dSLionel Sambuc 
1189*0a6a1f1dSLionel Sambuc   res_vui = vec_ld(0, &param_ui);
1190*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1191*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1192*0a6a1f1dSLionel Sambuc 
1193*0a6a1f1dSLionel Sambuc   res_vbi = vec_ld(0, &vbi);
1194*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1195*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1196*0a6a1f1dSLionel Sambuc 
1197*0a6a1f1dSLionel Sambuc   res_vf  = vec_ld(0, &vf);
1198*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1199*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1200*0a6a1f1dSLionel Sambuc 
1201*0a6a1f1dSLionel Sambuc   res_vf  = vec_ld(0, &param_f);
1202*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1203*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1204*0a6a1f1dSLionel Sambuc 
1205*0a6a1f1dSLionel Sambuc   res_vsc = vec_lvx(0, &vsc);
1206*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1207*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1208*0a6a1f1dSLionel Sambuc 
1209*0a6a1f1dSLionel Sambuc   res_vsc = vec_lvx(0, &param_sc);
1210*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1211*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1212*0a6a1f1dSLionel Sambuc 
1213*0a6a1f1dSLionel Sambuc   res_vuc = vec_lvx(0, &vuc);
1214*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1215*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1216*0a6a1f1dSLionel Sambuc 
1217*0a6a1f1dSLionel Sambuc   res_vuc = vec_lvx(0, &param_uc);
1218*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1219*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1220*0a6a1f1dSLionel Sambuc 
1221*0a6a1f1dSLionel Sambuc   res_vbc = vec_lvx(0, &vbc);
1222*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1223*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1224*0a6a1f1dSLionel Sambuc 
1225*0a6a1f1dSLionel Sambuc   res_vs  = vec_lvx(0, &vs);
1226*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1227*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1228*0a6a1f1dSLionel Sambuc 
1229*0a6a1f1dSLionel Sambuc   res_vs  = vec_lvx(0, &param_s);
1230*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1231*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1232*0a6a1f1dSLionel Sambuc 
1233*0a6a1f1dSLionel Sambuc   res_vus = vec_lvx(0, &vus);
1234*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1235*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1236*0a6a1f1dSLionel Sambuc 
1237*0a6a1f1dSLionel Sambuc   res_vus = vec_lvx(0, &param_us);
1238*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1239*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1240*0a6a1f1dSLionel Sambuc 
1241*0a6a1f1dSLionel Sambuc   res_vbs = vec_lvx(0, &vbs);
1242*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1243*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1244*0a6a1f1dSLionel Sambuc 
1245*0a6a1f1dSLionel Sambuc   res_vp  = vec_lvx(0, &vp);
1246*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1247*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1248*0a6a1f1dSLionel Sambuc 
1249*0a6a1f1dSLionel Sambuc   res_vi  = vec_lvx(0, &vi);
1250*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1251*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1252*0a6a1f1dSLionel Sambuc 
1253*0a6a1f1dSLionel Sambuc   res_vi  = vec_lvx(0, &param_i);
1254*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1255*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1256*0a6a1f1dSLionel Sambuc 
1257*0a6a1f1dSLionel Sambuc   res_vui = vec_lvx(0, &vui);
1258*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1259*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1260*0a6a1f1dSLionel Sambuc 
1261*0a6a1f1dSLionel Sambuc   res_vui = vec_lvx(0, &param_ui);
1262*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1263*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1264*0a6a1f1dSLionel Sambuc 
1265*0a6a1f1dSLionel Sambuc   res_vbi = vec_lvx(0, &vbi);
1266*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1267*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1268*0a6a1f1dSLionel Sambuc 
1269*0a6a1f1dSLionel Sambuc   res_vf  = vec_lvx(0, &vf);
1270*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1271*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1272*0a6a1f1dSLionel Sambuc 
1273*0a6a1f1dSLionel Sambuc   res_vf  = vec_lvx(0, &param_f);
1274*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
1275*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
1276f4a2713aSLionel Sambuc 
1277f4a2713aSLionel Sambuc   /* vec_lde */
1278*0a6a1f1dSLionel Sambuc   res_vsc = vec_lde(0, &param_sc);
1279*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvebx
1280*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvebx
1281*0a6a1f1dSLionel Sambuc 
1282*0a6a1f1dSLionel Sambuc   res_vuc = vec_lde(0, &param_uc);
1283*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvebx
1284*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvebx
1285*0a6a1f1dSLionel Sambuc 
1286*0a6a1f1dSLionel Sambuc   res_vs  = vec_lde(0, &param_s);
1287*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvehx
1288*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvehx
1289*0a6a1f1dSLionel Sambuc 
1290*0a6a1f1dSLionel Sambuc   res_vus = vec_lde(0, &param_us);
1291*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvehx
1292*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvehx
1293*0a6a1f1dSLionel Sambuc 
1294*0a6a1f1dSLionel Sambuc   res_vi  = vec_lde(0, &param_i);
1295*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvewx
1296*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvewx
1297*0a6a1f1dSLionel Sambuc 
1298*0a6a1f1dSLionel Sambuc   res_vui = vec_lde(0, &param_ui);
1299*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvewx
1300*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvewx
1301*0a6a1f1dSLionel Sambuc 
1302*0a6a1f1dSLionel Sambuc   res_vf  = vec_lde(0, &param_f);
1303*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvewx
1304*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvewx
1305*0a6a1f1dSLionel Sambuc 
1306*0a6a1f1dSLionel Sambuc   res_vsc = vec_lvebx(0, &param_sc);
1307*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvebx
1308*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvebx
1309*0a6a1f1dSLionel Sambuc 
1310*0a6a1f1dSLionel Sambuc   res_vuc = vec_lvebx(0, &param_uc);
1311*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvebx
1312*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvebx
1313*0a6a1f1dSLionel Sambuc 
1314*0a6a1f1dSLionel Sambuc   res_vs  = vec_lvehx(0, &param_s);
1315*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvehx
1316*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvehx
1317*0a6a1f1dSLionel Sambuc 
1318*0a6a1f1dSLionel Sambuc   res_vus = vec_lvehx(0, &param_us);
1319*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvehx
1320*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvehx
1321*0a6a1f1dSLionel Sambuc 
1322*0a6a1f1dSLionel Sambuc   res_vi  = vec_lvewx(0, &param_i);
1323*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvewx
1324*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvewx
1325*0a6a1f1dSLionel Sambuc 
1326*0a6a1f1dSLionel Sambuc   res_vui = vec_lvewx(0, &param_ui);
1327*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvewx
1328*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvewx
1329*0a6a1f1dSLionel Sambuc 
1330*0a6a1f1dSLionel Sambuc   res_vf  = vec_lvewx(0, &param_f);
1331*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvewx
1332*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvewx
1333f4a2713aSLionel Sambuc 
1334f4a2713aSLionel Sambuc   /* vec_ldl */
1335*0a6a1f1dSLionel Sambuc   res_vsc = vec_ldl(0, &vsc);
1336*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1337*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1338*0a6a1f1dSLionel Sambuc 
1339*0a6a1f1dSLionel Sambuc   res_vsc = vec_ldl(0, &param_sc);
1340*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1341*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1342*0a6a1f1dSLionel Sambuc 
1343*0a6a1f1dSLionel Sambuc   res_vuc = vec_ldl(0, &vuc);
1344*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1345*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1346*0a6a1f1dSLionel Sambuc 
1347*0a6a1f1dSLionel Sambuc   res_vuc = vec_ldl(0, &param_uc);
1348*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1349*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1350*0a6a1f1dSLionel Sambuc 
1351*0a6a1f1dSLionel Sambuc   res_vbc = vec_ldl(0, &vbc);
1352*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1353*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1354*0a6a1f1dSLionel Sambuc 
1355*0a6a1f1dSLionel Sambuc   res_vs  = vec_ldl(0, &vs);
1356*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1357*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1358*0a6a1f1dSLionel Sambuc 
1359*0a6a1f1dSLionel Sambuc   res_vs  = vec_ldl(0, &param_s);
1360*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1361*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1362*0a6a1f1dSLionel Sambuc 
1363*0a6a1f1dSLionel Sambuc   res_vus = vec_ldl(0, &vus);
1364*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1365*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1366*0a6a1f1dSLionel Sambuc 
1367*0a6a1f1dSLionel Sambuc   res_vus = vec_ldl(0, &param_us);
1368*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1369*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1370*0a6a1f1dSLionel Sambuc 
1371*0a6a1f1dSLionel Sambuc   res_vbs = vec_ldl(0, &vbs);
1372*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1373*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1374*0a6a1f1dSLionel Sambuc 
1375*0a6a1f1dSLionel Sambuc   res_vp  = vec_ldl(0, &vp);
1376*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1377*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1378*0a6a1f1dSLionel Sambuc 
1379*0a6a1f1dSLionel Sambuc   res_vi  = vec_ldl(0, &vi);
1380*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1381*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1382*0a6a1f1dSLionel Sambuc 
1383*0a6a1f1dSLionel Sambuc   res_vi  = vec_ldl(0, &param_i);
1384*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1385*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1386*0a6a1f1dSLionel Sambuc 
1387*0a6a1f1dSLionel Sambuc   res_vui = vec_ldl(0, &vui);
1388*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1389*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1390*0a6a1f1dSLionel Sambuc 
1391*0a6a1f1dSLionel Sambuc   res_vui = vec_ldl(0, &param_ui);
1392*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1393*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1394*0a6a1f1dSLionel Sambuc 
1395*0a6a1f1dSLionel Sambuc   res_vbi = vec_ldl(0, &vbi);
1396*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1397*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1398*0a6a1f1dSLionel Sambuc 
1399*0a6a1f1dSLionel Sambuc   res_vf  = vec_ldl(0, &vf);
1400*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1401*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1402*0a6a1f1dSLionel Sambuc 
1403*0a6a1f1dSLionel Sambuc   res_vf  = vec_ldl(0, &param_f);
1404*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1405*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1406*0a6a1f1dSLionel Sambuc 
1407*0a6a1f1dSLionel Sambuc   res_vsc = vec_lvxl(0, &vsc);
1408*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1409*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1410*0a6a1f1dSLionel Sambuc 
1411*0a6a1f1dSLionel Sambuc   res_vsc = vec_lvxl(0, &param_sc);
1412*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1413*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1414*0a6a1f1dSLionel Sambuc 
1415*0a6a1f1dSLionel Sambuc   res_vuc = vec_lvxl(0, &vuc);
1416*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1417*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1418*0a6a1f1dSLionel Sambuc 
1419*0a6a1f1dSLionel Sambuc   res_vbc = vec_lvxl(0, &vbc);
1420*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1421*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1422*0a6a1f1dSLionel Sambuc 
1423*0a6a1f1dSLionel Sambuc   res_vuc = vec_lvxl(0, &param_uc);
1424*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1425*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1426*0a6a1f1dSLionel Sambuc 
1427*0a6a1f1dSLionel Sambuc   res_vs  = vec_lvxl(0, &vs);
1428*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1429*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1430*0a6a1f1dSLionel Sambuc 
1431*0a6a1f1dSLionel Sambuc   res_vs  = vec_lvxl(0, &param_s);
1432*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1433*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1434*0a6a1f1dSLionel Sambuc 
1435*0a6a1f1dSLionel Sambuc   res_vus = vec_lvxl(0, &vus);
1436*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1437*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1438*0a6a1f1dSLionel Sambuc 
1439*0a6a1f1dSLionel Sambuc   res_vus = vec_lvxl(0, &param_us);
1440*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1441*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1442*0a6a1f1dSLionel Sambuc 
1443*0a6a1f1dSLionel Sambuc   res_vbs = vec_lvxl(0, &vbs);
1444*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1445*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1446*0a6a1f1dSLionel Sambuc 
1447*0a6a1f1dSLionel Sambuc   res_vp  = vec_lvxl(0, &vp);
1448*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1449*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1450*0a6a1f1dSLionel Sambuc 
1451*0a6a1f1dSLionel Sambuc   res_vi  = vec_lvxl(0, &vi);
1452*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1453*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1454*0a6a1f1dSLionel Sambuc 
1455*0a6a1f1dSLionel Sambuc   res_vi  = vec_lvxl(0, &param_i);
1456*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1457*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1458*0a6a1f1dSLionel Sambuc 
1459*0a6a1f1dSLionel Sambuc   res_vui = vec_lvxl(0, &vui);
1460*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1461*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1462*0a6a1f1dSLionel Sambuc 
1463*0a6a1f1dSLionel Sambuc   res_vui = vec_lvxl(0, &param_ui);
1464*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1465*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1466*0a6a1f1dSLionel Sambuc 
1467*0a6a1f1dSLionel Sambuc   res_vbi = vec_lvxl(0, &vbi);
1468*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1469*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1470*0a6a1f1dSLionel Sambuc 
1471*0a6a1f1dSLionel Sambuc   res_vf  = vec_lvxl(0, &vf);
1472*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1473*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1474*0a6a1f1dSLionel Sambuc 
1475*0a6a1f1dSLionel Sambuc   res_vf  = vec_lvxl(0, &param_f);
1476*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
1477*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
1478f4a2713aSLionel Sambuc 
1479f4a2713aSLionel Sambuc   /* vec_loge */
1480*0a6a1f1dSLionel Sambuc   res_vf = vec_loge(vf);
1481*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vlogefp
1482*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vlogefp
1483*0a6a1f1dSLionel Sambuc 
1484*0a6a1f1dSLionel Sambuc   res_vf = vec_vlogefp(vf);
1485*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vlogefp
1486*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vlogefp
1487f4a2713aSLionel Sambuc 
1488f4a2713aSLionel Sambuc   /* vec_lvsl */
1489*0a6a1f1dSLionel Sambuc   res_vuc = vec_lvsl(0, &param_i);
1490*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
1491*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
1492f4a2713aSLionel Sambuc 
1493f4a2713aSLionel Sambuc   /* vec_lvsr */
1494*0a6a1f1dSLionel Sambuc   res_vuc = vec_lvsr(0, &param_i);
1495*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
1496*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
1497f4a2713aSLionel Sambuc 
1498f4a2713aSLionel Sambuc   /* vec_madd */
1499*0a6a1f1dSLionel Sambuc   res_vf =vec_madd(vf, vf, vf);
1500*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaddfp
1501*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaddfp
1502*0a6a1f1dSLionel Sambuc 
1503*0a6a1f1dSLionel Sambuc   res_vf = vec_vmaddfp(vf, vf, vf);
1504*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaddfp
1505*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaddfp
1506f4a2713aSLionel Sambuc 
1507f4a2713aSLionel Sambuc   /* vec_madds */
1508*0a6a1f1dSLionel Sambuc   res_vs = vec_madds(vs, vs, vs);
1509*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmhaddshs
1510*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmhaddshs
1511*0a6a1f1dSLionel Sambuc 
1512*0a6a1f1dSLionel Sambuc   res_vs = vec_vmhaddshs(vs, vs, vs);
1513*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmhaddshs
1514*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmhaddshs
1515f4a2713aSLionel Sambuc 
1516f4a2713aSLionel Sambuc   /* vec_max */
1517*0a6a1f1dSLionel Sambuc   res_vsc = vec_max(vsc, vsc);
1518*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsb
1519*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsb
1520*0a6a1f1dSLionel Sambuc 
1521*0a6a1f1dSLionel Sambuc   res_vsc = vec_max(vbc, vsc);
1522*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsb
1523*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsb
1524*0a6a1f1dSLionel Sambuc 
1525*0a6a1f1dSLionel Sambuc   res_vsc = vec_max(vsc, vbc);
1526*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsb
1527*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsb
1528*0a6a1f1dSLionel Sambuc 
1529*0a6a1f1dSLionel Sambuc   res_vuc = vec_max(vuc, vuc);
1530*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxub
1531*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxub
1532*0a6a1f1dSLionel Sambuc 
1533*0a6a1f1dSLionel Sambuc   res_vuc = vec_max(vbc, vuc);
1534*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxub
1535*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxub
1536*0a6a1f1dSLionel Sambuc 
1537*0a6a1f1dSLionel Sambuc   res_vuc = vec_max(vuc, vbc);
1538*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxub
1539*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxub
1540*0a6a1f1dSLionel Sambuc 
1541*0a6a1f1dSLionel Sambuc   res_vs  = vec_max(vs, vs);
1542*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsh
1543*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsh
1544*0a6a1f1dSLionel Sambuc 
1545*0a6a1f1dSLionel Sambuc   res_vs  = vec_max(vbs, vs);
1546*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsh
1547*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsh
1548*0a6a1f1dSLionel Sambuc 
1549*0a6a1f1dSLionel Sambuc   res_vs  = vec_max(vs, vbs);
1550*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsh
1551*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsh
1552*0a6a1f1dSLionel Sambuc 
1553*0a6a1f1dSLionel Sambuc   res_vus = vec_max(vus, vus);
1554*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxuh
1555*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxuh
1556*0a6a1f1dSLionel Sambuc 
1557*0a6a1f1dSLionel Sambuc   res_vus = vec_max(vbs, vus);
1558*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxuh
1559*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxuh
1560*0a6a1f1dSLionel Sambuc 
1561*0a6a1f1dSLionel Sambuc   res_vus = vec_max(vus, vbs);
1562*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxuh
1563*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxuh
1564*0a6a1f1dSLionel Sambuc 
1565*0a6a1f1dSLionel Sambuc   res_vi  = vec_max(vi, vi);
1566*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsw
1567*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsw
1568*0a6a1f1dSLionel Sambuc 
1569*0a6a1f1dSLionel Sambuc   res_vi  = vec_max(vbi, vi);
1570*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsw
1571*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsw
1572*0a6a1f1dSLionel Sambuc 
1573*0a6a1f1dSLionel Sambuc   res_vi  = vec_max(vi, vbi);
1574*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsw
1575*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsw
1576*0a6a1f1dSLionel Sambuc 
1577*0a6a1f1dSLionel Sambuc   res_vui = vec_max(vui, vui);
1578*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxuw
1579*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxuw
1580*0a6a1f1dSLionel Sambuc 
1581*0a6a1f1dSLionel Sambuc   res_vui = vec_max(vbi, vui);
1582*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxuw
1583*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxuw
1584*0a6a1f1dSLionel Sambuc 
1585*0a6a1f1dSLionel Sambuc   res_vui = vec_max(vui, vbi);
1586*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxuw
1587*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxuw
1588*0a6a1f1dSLionel Sambuc 
1589*0a6a1f1dSLionel Sambuc   res_vf  = vec_max(vf, vf);
1590*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxfp
1591*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxfp
1592*0a6a1f1dSLionel Sambuc 
1593*0a6a1f1dSLionel Sambuc   res_vsc = vec_vmaxsb(vsc, vsc);
1594*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsb
1595*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsb
1596*0a6a1f1dSLionel Sambuc 
1597*0a6a1f1dSLionel Sambuc   res_vsc = vec_vmaxsb(vbc, vsc);
1598*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsb
1599*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsb
1600*0a6a1f1dSLionel Sambuc 
1601*0a6a1f1dSLionel Sambuc   res_vsc = vec_vmaxsb(vsc, vbc);
1602*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsb
1603*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsb
1604*0a6a1f1dSLionel Sambuc 
1605*0a6a1f1dSLionel Sambuc   res_vuc = vec_vmaxub(vuc, vuc);
1606*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxub
1607*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxub
1608*0a6a1f1dSLionel Sambuc 
1609*0a6a1f1dSLionel Sambuc   res_vuc = vec_vmaxub(vbc, vuc);
1610*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxub
1611*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxub
1612*0a6a1f1dSLionel Sambuc 
1613*0a6a1f1dSLionel Sambuc   res_vuc = vec_vmaxub(vuc, vbc);
1614*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxub
1615*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxub
1616*0a6a1f1dSLionel Sambuc 
1617*0a6a1f1dSLionel Sambuc   res_vs  = vec_vmaxsh(vs, vs);
1618*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsh
1619*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsh
1620*0a6a1f1dSLionel Sambuc 
1621*0a6a1f1dSLionel Sambuc   res_vs  = vec_vmaxsh(vbs, vs);
1622*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsh
1623*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsh
1624*0a6a1f1dSLionel Sambuc 
1625*0a6a1f1dSLionel Sambuc   res_vs  = vec_vmaxsh(vs, vbs);
1626*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsh
1627*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsh
1628*0a6a1f1dSLionel Sambuc 
1629*0a6a1f1dSLionel Sambuc   res_vus = vec_vmaxuh(vus, vus);
1630*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxuh
1631*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxuh
1632*0a6a1f1dSLionel Sambuc 
1633*0a6a1f1dSLionel Sambuc   res_vus = vec_vmaxuh(vbs, vus);
1634*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxuh
1635*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxuh
1636*0a6a1f1dSLionel Sambuc 
1637*0a6a1f1dSLionel Sambuc   res_vus = vec_vmaxuh(vus, vbs);
1638*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxuh
1639*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxuh
1640*0a6a1f1dSLionel Sambuc 
1641*0a6a1f1dSLionel Sambuc   res_vi  = vec_vmaxsw(vi, vi);
1642*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsw
1643*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsw
1644*0a6a1f1dSLionel Sambuc 
1645*0a6a1f1dSLionel Sambuc   res_vi  = vec_vmaxsw(vbi, vi);
1646*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsw
1647*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsw
1648*0a6a1f1dSLionel Sambuc 
1649*0a6a1f1dSLionel Sambuc   res_vi  = vec_vmaxsw(vi, vbi);
1650*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxsw
1651*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxsw
1652*0a6a1f1dSLionel Sambuc 
1653*0a6a1f1dSLionel Sambuc   res_vui = vec_vmaxuw(vui, vui);
1654*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxuw
1655*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxuw
1656*0a6a1f1dSLionel Sambuc 
1657*0a6a1f1dSLionel Sambuc   res_vui = vec_vmaxuw(vbi, vui);
1658*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxuw
1659*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxuw
1660*0a6a1f1dSLionel Sambuc 
1661*0a6a1f1dSLionel Sambuc   res_vui = vec_vmaxuw(vui, vbi);
1662*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxuw
1663*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxuw
1664*0a6a1f1dSLionel Sambuc 
1665*0a6a1f1dSLionel Sambuc   res_vf  = vec_vmaxfp(vf, vf);
1666*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmaxfp
1667*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmaxfp
1668f4a2713aSLionel Sambuc 
1669f4a2713aSLionel Sambuc   /* vec_mergeh */
1670*0a6a1f1dSLionel Sambuc   res_vsc = vec_mergeh(vsc, vsc);
1671*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1672*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1673*0a6a1f1dSLionel Sambuc 
1674*0a6a1f1dSLionel Sambuc   res_vuc = vec_mergeh(vuc, vuc);
1675*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1676*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1677*0a6a1f1dSLionel Sambuc 
1678*0a6a1f1dSLionel Sambuc   res_vbc = vec_mergeh(vbc, vbc);
1679*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1680*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1681*0a6a1f1dSLionel Sambuc 
1682*0a6a1f1dSLionel Sambuc   res_vs  = vec_mergeh(vs, vs);
1683*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1684*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1685*0a6a1f1dSLionel Sambuc 
1686*0a6a1f1dSLionel Sambuc   res_vp  = vec_mergeh(vp, vp);
1687*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1688*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1689*0a6a1f1dSLionel Sambuc 
1690*0a6a1f1dSLionel Sambuc   res_vus = vec_mergeh(vus, vus);
1691*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1692*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1693*0a6a1f1dSLionel Sambuc 
1694*0a6a1f1dSLionel Sambuc   res_vbs = vec_mergeh(vbs, vbs);
1695*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1696*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1697*0a6a1f1dSLionel Sambuc 
1698*0a6a1f1dSLionel Sambuc   res_vi  = vec_mergeh(vi, vi);
1699*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1700*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1701*0a6a1f1dSLionel Sambuc 
1702*0a6a1f1dSLionel Sambuc   res_vui = vec_mergeh(vui, vui);
1703*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1704*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1705*0a6a1f1dSLionel Sambuc 
1706*0a6a1f1dSLionel Sambuc   res_vbi = vec_mergeh(vbi, vbi);
1707*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1708*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1709*0a6a1f1dSLionel Sambuc 
1710*0a6a1f1dSLionel Sambuc   res_vf  = vec_mergeh(vf, vf);
1711*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1712*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1713*0a6a1f1dSLionel Sambuc 
1714*0a6a1f1dSLionel Sambuc   res_vsc = vec_vmrghb(vsc, vsc);
1715*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1716*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1717*0a6a1f1dSLionel Sambuc 
1718*0a6a1f1dSLionel Sambuc   res_vuc = vec_vmrghb(vuc, vuc);
1719*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1720*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1721*0a6a1f1dSLionel Sambuc 
1722*0a6a1f1dSLionel Sambuc   res_vbc = vec_vmrghb(vbc, vbc);
1723*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1724*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1725*0a6a1f1dSLionel Sambuc 
1726*0a6a1f1dSLionel Sambuc   res_vs  = vec_vmrghh(vs, vs);
1727*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1728*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1729*0a6a1f1dSLionel Sambuc 
1730*0a6a1f1dSLionel Sambuc   res_vp  = vec_vmrghh(vp, vp);
1731*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1732*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1733*0a6a1f1dSLionel Sambuc 
1734*0a6a1f1dSLionel Sambuc   res_vus = vec_vmrghh(vus, vus);
1735*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1736*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1737*0a6a1f1dSLionel Sambuc 
1738*0a6a1f1dSLionel Sambuc   res_vbs = vec_vmrghh(vbs, vbs);
1739*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1740*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1741*0a6a1f1dSLionel Sambuc 
1742*0a6a1f1dSLionel Sambuc   res_vi  = vec_vmrghw(vi, vi);
1743*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1744*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1745*0a6a1f1dSLionel Sambuc 
1746*0a6a1f1dSLionel Sambuc   res_vui = vec_vmrghw(vui, vui);
1747*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1748*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1749*0a6a1f1dSLionel Sambuc 
1750*0a6a1f1dSLionel Sambuc   res_vbi = vec_vmrghw(vbi, vbi);
1751*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1752*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1753*0a6a1f1dSLionel Sambuc 
1754*0a6a1f1dSLionel Sambuc   res_vf  = vec_vmrghw(vf, vf);
1755*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1756*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1757f4a2713aSLionel Sambuc 
1758f4a2713aSLionel Sambuc   /* vec_mergel */
1759*0a6a1f1dSLionel Sambuc   res_vsc = vec_mergel(vsc, vsc);
1760*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1761*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1762*0a6a1f1dSLionel Sambuc 
1763*0a6a1f1dSLionel Sambuc   res_vuc = vec_mergel(vuc, vuc);
1764*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1765*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1766*0a6a1f1dSLionel Sambuc 
1767*0a6a1f1dSLionel Sambuc   res_vbc = vec_mergel(vbc, vbc);
1768*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1769*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1770*0a6a1f1dSLionel Sambuc 
1771*0a6a1f1dSLionel Sambuc   res_vs  = vec_mergel(vs, vs);
1772*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1773*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1774*0a6a1f1dSLionel Sambuc 
1775*0a6a1f1dSLionel Sambuc   res_vp  = vec_mergeh(vp, vp);
1776*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1777*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1778*0a6a1f1dSLionel Sambuc 
1779*0a6a1f1dSLionel Sambuc   res_vus = vec_mergel(vus, vus);
1780*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1781*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1782*0a6a1f1dSLionel Sambuc 
1783*0a6a1f1dSLionel Sambuc   res_vbs = vec_mergel(vbs, vbs);
1784*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1785*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1786*0a6a1f1dSLionel Sambuc 
1787*0a6a1f1dSLionel Sambuc   res_vi  = vec_mergel(vi, vi);
1788*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1789*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1790*0a6a1f1dSLionel Sambuc 
1791*0a6a1f1dSLionel Sambuc   res_vui = vec_mergel(vui, vui);
1792*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1793*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1794*0a6a1f1dSLionel Sambuc 
1795*0a6a1f1dSLionel Sambuc   res_vbi = vec_mergel(vbi, vbi);
1796*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1797*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1798*0a6a1f1dSLionel Sambuc 
1799*0a6a1f1dSLionel Sambuc   res_vf  = vec_mergel(vf, vf);
1800*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1801*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1802*0a6a1f1dSLionel Sambuc 
1803*0a6a1f1dSLionel Sambuc   res_vsc = vec_vmrglb(vsc, vsc);
1804*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1805*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1806*0a6a1f1dSLionel Sambuc 
1807*0a6a1f1dSLionel Sambuc   res_vuc = vec_vmrglb(vuc, vuc);
1808*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1809*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1810*0a6a1f1dSLionel Sambuc 
1811*0a6a1f1dSLionel Sambuc   res_vbc = vec_vmrglb(vbc, vbc);
1812*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1813*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1814*0a6a1f1dSLionel Sambuc 
1815*0a6a1f1dSLionel Sambuc   res_vs  = vec_vmrglh(vs, vs);
1816*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1817*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1818*0a6a1f1dSLionel Sambuc 
1819*0a6a1f1dSLionel Sambuc   res_vp  = vec_vmrglh(vp, vp);
1820*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1821*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1822*0a6a1f1dSLionel Sambuc 
1823*0a6a1f1dSLionel Sambuc   res_vus = vec_vmrglh(vus, vus);
1824*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1825*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1826*0a6a1f1dSLionel Sambuc 
1827*0a6a1f1dSLionel Sambuc   res_vbs = vec_vmrglh(vbs, vbs);
1828*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1829*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1830*0a6a1f1dSLionel Sambuc 
1831*0a6a1f1dSLionel Sambuc   res_vi  = vec_vmrglw(vi, vi);
1832*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1833*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1834*0a6a1f1dSLionel Sambuc 
1835*0a6a1f1dSLionel Sambuc   res_vui = vec_vmrglw(vui, vui);
1836*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1837*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1838*0a6a1f1dSLionel Sambuc 
1839*0a6a1f1dSLionel Sambuc   res_vbi = vec_vmrglw(vbi, vbi);
1840*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1841*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1842*0a6a1f1dSLionel Sambuc 
1843*0a6a1f1dSLionel Sambuc   res_vf  = vec_vmrglw(vf, vf);
1844*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
1845*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
1846f4a2713aSLionel Sambuc 
1847f4a2713aSLionel Sambuc   /* vec_mfvscr */
1848*0a6a1f1dSLionel Sambuc   vus = vec_mfvscr();
1849*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.mfvscr
1850*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.mfvscr
1851f4a2713aSLionel Sambuc 
1852f4a2713aSLionel Sambuc   /* vec_min */
1853*0a6a1f1dSLionel Sambuc   res_vsc = vec_min(vsc, vsc);
1854*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsb
1855*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsb
1856*0a6a1f1dSLionel Sambuc 
1857*0a6a1f1dSLionel Sambuc   res_vsc = vec_min(vbc, vsc);
1858*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsb
1859*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsb
1860*0a6a1f1dSLionel Sambuc 
1861*0a6a1f1dSLionel Sambuc   res_vsc = vec_min(vsc, vbc);
1862*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsb
1863*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsb
1864*0a6a1f1dSLionel Sambuc 
1865*0a6a1f1dSLionel Sambuc   res_vuc = vec_min(vuc, vuc);
1866*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminub
1867*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminub
1868*0a6a1f1dSLionel Sambuc 
1869*0a6a1f1dSLionel Sambuc   res_vuc = vec_min(vbc, vuc);
1870*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminub
1871*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminub
1872*0a6a1f1dSLionel Sambuc 
1873*0a6a1f1dSLionel Sambuc   res_vuc = vec_min(vuc, vbc);
1874*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminub
1875*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminub
1876*0a6a1f1dSLionel Sambuc 
1877*0a6a1f1dSLionel Sambuc   res_vs  = vec_min(vs, vs);
1878*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsh
1879*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsh
1880*0a6a1f1dSLionel Sambuc 
1881*0a6a1f1dSLionel Sambuc   res_vs  = vec_min(vbs, vs);
1882*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsh
1883*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsh
1884*0a6a1f1dSLionel Sambuc 
1885*0a6a1f1dSLionel Sambuc   res_vs  = vec_min(vs, vbs);
1886*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsh
1887*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsh
1888*0a6a1f1dSLionel Sambuc 
1889*0a6a1f1dSLionel Sambuc   res_vus = vec_min(vus, vus);
1890*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminuh
1891*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminuh
1892*0a6a1f1dSLionel Sambuc 
1893*0a6a1f1dSLionel Sambuc   res_vus = vec_min(vbs, vus);
1894*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminuh
1895*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminuh
1896*0a6a1f1dSLionel Sambuc 
1897*0a6a1f1dSLionel Sambuc   res_vus = vec_min(vus, vbs);
1898*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminuh
1899*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminuh
1900*0a6a1f1dSLionel Sambuc 
1901*0a6a1f1dSLionel Sambuc   res_vi  = vec_min(vi, vi);
1902*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsw
1903*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsw
1904*0a6a1f1dSLionel Sambuc 
1905*0a6a1f1dSLionel Sambuc   res_vi  = vec_min(vbi, vi);
1906*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsw
1907*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsw
1908*0a6a1f1dSLionel Sambuc 
1909*0a6a1f1dSLionel Sambuc   res_vi  = vec_min(vi, vbi);
1910*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsw
1911*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsw
1912*0a6a1f1dSLionel Sambuc 
1913*0a6a1f1dSLionel Sambuc   res_vui = vec_min(vui, vui);
1914*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminuw
1915*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminuw
1916*0a6a1f1dSLionel Sambuc 
1917*0a6a1f1dSLionel Sambuc   res_vui = vec_min(vbi, vui);
1918*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminuw
1919*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminuw
1920*0a6a1f1dSLionel Sambuc 
1921*0a6a1f1dSLionel Sambuc   res_vui = vec_min(vui, vbi);
1922*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminuw
1923*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminuw
1924*0a6a1f1dSLionel Sambuc 
1925*0a6a1f1dSLionel Sambuc   res_vf  = vec_min(vf, vf);
1926*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminfp
1927*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminfp
1928*0a6a1f1dSLionel Sambuc 
1929*0a6a1f1dSLionel Sambuc   res_vsc = vec_vminsb(vsc, vsc);
1930*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsb
1931*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsb
1932*0a6a1f1dSLionel Sambuc 
1933*0a6a1f1dSLionel Sambuc   res_vsc = vec_vminsb(vbc, vsc);
1934*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsb
1935*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsb
1936*0a6a1f1dSLionel Sambuc 
1937*0a6a1f1dSLionel Sambuc   res_vsc = vec_vminsb(vsc, vbc);
1938*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsb
1939*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsb
1940*0a6a1f1dSLionel Sambuc 
1941*0a6a1f1dSLionel Sambuc   res_vuc = vec_vminub(vuc, vuc);
1942*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminub
1943*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminub
1944*0a6a1f1dSLionel Sambuc 
1945*0a6a1f1dSLionel Sambuc   res_vuc = vec_vminub(vbc, vuc);
1946*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminub
1947*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminub
1948*0a6a1f1dSLionel Sambuc 
1949*0a6a1f1dSLionel Sambuc   res_vuc = vec_vminub(vuc, vbc);
1950*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminub
1951*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminub
1952*0a6a1f1dSLionel Sambuc 
1953*0a6a1f1dSLionel Sambuc   res_vs  = vec_vminsh(vs, vs);
1954*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsh
1955*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsh
1956*0a6a1f1dSLionel Sambuc 
1957*0a6a1f1dSLionel Sambuc   res_vs  = vec_vminsh(vbs, vs);
1958*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsh
1959*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsh
1960*0a6a1f1dSLionel Sambuc 
1961*0a6a1f1dSLionel Sambuc   res_vs  = vec_vminsh(vs, vbs);
1962*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsh
1963*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsh
1964*0a6a1f1dSLionel Sambuc 
1965*0a6a1f1dSLionel Sambuc   res_vus = vec_vminuh(vus, vus);
1966*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminuh
1967*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminuh
1968*0a6a1f1dSLionel Sambuc 
1969*0a6a1f1dSLionel Sambuc   res_vus = vec_vminuh(vbs, vus);
1970*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminuh
1971*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminuh
1972*0a6a1f1dSLionel Sambuc 
1973*0a6a1f1dSLionel Sambuc   res_vus = vec_vminuh(vus, vbs);
1974*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminuh
1975*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminuh
1976*0a6a1f1dSLionel Sambuc 
1977*0a6a1f1dSLionel Sambuc   res_vi  = vec_vminsw(vi, vi);
1978*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsw
1979*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsw
1980*0a6a1f1dSLionel Sambuc 
1981*0a6a1f1dSLionel Sambuc   res_vi  = vec_vminsw(vbi, vi);
1982*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsw
1983*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsw
1984*0a6a1f1dSLionel Sambuc 
1985*0a6a1f1dSLionel Sambuc   res_vi  = vec_vminsw(vi, vbi);
1986*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminsw
1987*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminsw
1988*0a6a1f1dSLionel Sambuc 
1989*0a6a1f1dSLionel Sambuc   res_vui = vec_vminuw(vui, vui);
1990*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminuw
1991*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminuw
1992*0a6a1f1dSLionel Sambuc 
1993*0a6a1f1dSLionel Sambuc   res_vui = vec_vminuw(vbi, vui);
1994*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminuw
1995*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminuw
1996*0a6a1f1dSLionel Sambuc 
1997*0a6a1f1dSLionel Sambuc   res_vui = vec_vminuw(vui, vbi);
1998*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminuw
1999*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminuw
2000*0a6a1f1dSLionel Sambuc 
2001*0a6a1f1dSLionel Sambuc   res_vf  = vec_vminfp(vf, vf);
2002*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vminfp
2003*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vminfp
2004f4a2713aSLionel Sambuc 
2005f4a2713aSLionel Sambuc   /* vec_mladd */
2006*0a6a1f1dSLionel Sambuc   res_vus = vec_mladd(vus, vus, vus);
2007*0a6a1f1dSLionel Sambuc // CHECK: mul <8 x i16>
2008f4a2713aSLionel Sambuc // CHECK: add <8 x i16>
2009*0a6a1f1dSLionel Sambuc // CHECK-LE: mul <8 x i16>
2010*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
2011f4a2713aSLionel Sambuc 
2012*0a6a1f1dSLionel Sambuc   res_vs = vec_mladd(vus, vs, vs);
2013*0a6a1f1dSLionel Sambuc // CHECK: mul <8 x i16>
2014f4a2713aSLionel Sambuc // CHECK: add <8 x i16>
2015*0a6a1f1dSLionel Sambuc // CHECK-LE: mul <8 x i16>
2016*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
2017f4a2713aSLionel Sambuc 
2018*0a6a1f1dSLionel Sambuc   res_vs = vec_mladd(vs, vus, vus);
2019*0a6a1f1dSLionel Sambuc // CHECK: mul <8 x i16>
2020f4a2713aSLionel Sambuc // CHECK: add <8 x i16>
2021*0a6a1f1dSLionel Sambuc // CHECK-LE: mul <8 x i16>
2022*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
2023f4a2713aSLionel Sambuc 
2024*0a6a1f1dSLionel Sambuc   res_vs = vec_mladd(vs, vs, vs);
2025*0a6a1f1dSLionel Sambuc // CHECK: mul <8 x i16>
2026f4a2713aSLionel Sambuc // CHECK: add <8 x i16>
2027*0a6a1f1dSLionel Sambuc // CHECK-LE: mul <8 x i16>
2028*0a6a1f1dSLionel Sambuc // CHECK-LE: add <8 x i16>
2029f4a2713aSLionel Sambuc 
2030f4a2713aSLionel Sambuc   /* vec_mradds */
2031*0a6a1f1dSLionel Sambuc   res_vs = vec_mradds(vs, vs, vs);
2032*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmhraddshs
2033*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmhraddshs
2034*0a6a1f1dSLionel Sambuc 
2035*0a6a1f1dSLionel Sambuc   res_vs = vec_vmhraddshs(vs, vs, vs);
2036*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmhraddshs
2037*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmhraddshs
2038f4a2713aSLionel Sambuc 
2039f4a2713aSLionel Sambuc   /* vec_msum */
2040*0a6a1f1dSLionel Sambuc   res_vi  = vec_msum(vsc, vuc, vi);
2041*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmsummbm
2042*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmsummbm
2043*0a6a1f1dSLionel Sambuc 
2044*0a6a1f1dSLionel Sambuc   res_vui = vec_msum(vuc, vuc, vui);
2045*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmsumubm
2046*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmsumubm
2047*0a6a1f1dSLionel Sambuc 
2048*0a6a1f1dSLionel Sambuc   res_vi  = vec_msum(vs, vs, vi);
2049*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmsumshm
2050*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmsumshm
2051*0a6a1f1dSLionel Sambuc 
2052*0a6a1f1dSLionel Sambuc   res_vui = vec_msum(vus, vus, vui);
2053*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmsumuhm
2054*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmsumuhm
2055*0a6a1f1dSLionel Sambuc 
2056*0a6a1f1dSLionel Sambuc   res_vi  = vec_vmsummbm(vsc, vuc, vi);
2057*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmsummbm
2058*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmsummbm
2059*0a6a1f1dSLionel Sambuc 
2060*0a6a1f1dSLionel Sambuc   res_vui = vec_vmsumubm(vuc, vuc, vui);
2061*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmsumubm
2062*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmsumubm
2063*0a6a1f1dSLionel Sambuc 
2064*0a6a1f1dSLionel Sambuc   res_vi  = vec_vmsumshm(vs, vs, vi);
2065*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmsumshm
2066*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmsumshm
2067*0a6a1f1dSLionel Sambuc 
2068*0a6a1f1dSLionel Sambuc   res_vui = vec_vmsumuhm(vus, vus, vui);
2069*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmsumuhm
2070*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmsumuhm
2071f4a2713aSLionel Sambuc 
2072f4a2713aSLionel Sambuc   /* vec_msums */
2073*0a6a1f1dSLionel Sambuc   res_vi  = vec_msums(vs, vs, vi);
2074*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmsumshs
2075*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmsumshs
2076*0a6a1f1dSLionel Sambuc 
2077*0a6a1f1dSLionel Sambuc   res_vui = vec_msums(vus, vus, vui);
2078*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmsumuhs
2079*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmsumuhs
2080*0a6a1f1dSLionel Sambuc 
2081*0a6a1f1dSLionel Sambuc   res_vi  = vec_vmsumshs(vs, vs, vi);
2082*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmsumshs
2083*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmsumshs
2084*0a6a1f1dSLionel Sambuc 
2085*0a6a1f1dSLionel Sambuc   res_vui = vec_vmsumuhs(vus, vus, vui);
2086*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmsumuhs
2087*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmsumuhs
2088f4a2713aSLionel Sambuc 
2089f4a2713aSLionel Sambuc   /* vec_mtvscr */
2090*0a6a1f1dSLionel Sambuc   vec_mtvscr(vsc);
2091*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.mtvscr
2092*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.mtvscr
2093*0a6a1f1dSLionel Sambuc 
2094*0a6a1f1dSLionel Sambuc   vec_mtvscr(vuc);
2095*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.mtvscr
2096*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.mtvscr
2097*0a6a1f1dSLionel Sambuc 
2098*0a6a1f1dSLionel Sambuc   vec_mtvscr(vbc);
2099*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.mtvscr
2100*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.mtvscr
2101*0a6a1f1dSLionel Sambuc 
2102*0a6a1f1dSLionel Sambuc   vec_mtvscr(vs);
2103*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.mtvscr
2104*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.mtvscr
2105*0a6a1f1dSLionel Sambuc 
2106*0a6a1f1dSLionel Sambuc   vec_mtvscr(vus);
2107*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.mtvscr
2108*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.mtvscr
2109*0a6a1f1dSLionel Sambuc 
2110*0a6a1f1dSLionel Sambuc   vec_mtvscr(vbs);
2111*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.mtvscr
2112*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.mtvscr
2113*0a6a1f1dSLionel Sambuc 
2114*0a6a1f1dSLionel Sambuc   vec_mtvscr(vp);
2115*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.mtvscr
2116*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.mtvscr
2117*0a6a1f1dSLionel Sambuc 
2118*0a6a1f1dSLionel Sambuc   vec_mtvscr(vi);
2119*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.mtvscr
2120*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.mtvscr
2121*0a6a1f1dSLionel Sambuc 
2122*0a6a1f1dSLionel Sambuc   vec_mtvscr(vui);
2123*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.mtvscr
2124*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.mtvscr
2125*0a6a1f1dSLionel Sambuc 
2126*0a6a1f1dSLionel Sambuc   vec_mtvscr(vbi);
2127*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.mtvscr
2128*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.mtvscr
2129f4a2713aSLionel Sambuc 
2130f4a2713aSLionel Sambuc   /* vec_mule */
2131*0a6a1f1dSLionel Sambuc   res_vs  = vec_mule(vsc, vsc);
2132*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmulesb
2133*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmulosb
2134*0a6a1f1dSLionel Sambuc 
2135*0a6a1f1dSLionel Sambuc   res_vus = vec_mule(vuc, vuc);
2136*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmuleub
2137*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmuloub
2138*0a6a1f1dSLionel Sambuc 
2139*0a6a1f1dSLionel Sambuc   res_vi  = vec_mule(vs, vs);
2140*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmulesh
2141*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmulosh
2142*0a6a1f1dSLionel Sambuc 
2143*0a6a1f1dSLionel Sambuc   res_vui = vec_mule(vus, vus);
2144*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmuleuh
2145*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmulouh
2146*0a6a1f1dSLionel Sambuc 
2147*0a6a1f1dSLionel Sambuc   res_vs  = vec_vmulesb(vsc, vsc);
2148*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmulesb
2149*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmulosb
2150*0a6a1f1dSLionel Sambuc 
2151*0a6a1f1dSLionel Sambuc   res_vus = vec_vmuleub(vuc, vuc);
2152*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmuleub
2153*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmuloub
2154*0a6a1f1dSLionel Sambuc 
2155*0a6a1f1dSLionel Sambuc   res_vi  = vec_vmulesh(vs, vs);
2156*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmulesh
2157*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmulosh
2158*0a6a1f1dSLionel Sambuc 
2159*0a6a1f1dSLionel Sambuc   res_vui = vec_vmuleuh(vus, vus);
2160*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmuleuh
2161*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmulouh
2162f4a2713aSLionel Sambuc 
2163f4a2713aSLionel Sambuc   /* vec_mulo */
2164*0a6a1f1dSLionel Sambuc   res_vs  = vec_mulo(vsc, vsc);
2165*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmulosb
2166*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmulesb
2167*0a6a1f1dSLionel Sambuc 
2168*0a6a1f1dSLionel Sambuc   res_vus = vec_mulo(vuc, vuc);
2169*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmuloub
2170*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmuleub
2171*0a6a1f1dSLionel Sambuc 
2172*0a6a1f1dSLionel Sambuc   res_vi  = vec_mulo(vs, vs);
2173*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmulosh
2174*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmulesh
2175*0a6a1f1dSLionel Sambuc 
2176*0a6a1f1dSLionel Sambuc   res_vui = vec_mulo(vus, vus);
2177*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmulouh
2178*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmuleuh
2179*0a6a1f1dSLionel Sambuc 
2180*0a6a1f1dSLionel Sambuc   res_vs  = vec_vmulosb(vsc, vsc);
2181*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmulosb
2182*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmulesb
2183*0a6a1f1dSLionel Sambuc 
2184*0a6a1f1dSLionel Sambuc   res_vus = vec_vmuloub(vuc, vuc);
2185*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmuloub
2186*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmuleub
2187*0a6a1f1dSLionel Sambuc 
2188*0a6a1f1dSLionel Sambuc   res_vi  = vec_vmulosh(vs, vs);
2189*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmulosh
2190*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmulesh
2191*0a6a1f1dSLionel Sambuc 
2192*0a6a1f1dSLionel Sambuc   res_vui = vec_vmulouh(vus, vus);
2193*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vmulouh
2194*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vmuleuh
2195f4a2713aSLionel Sambuc 
2196f4a2713aSLionel Sambuc   /* vec_nmsub */
2197*0a6a1f1dSLionel Sambuc   res_vf = vec_nmsub(vf, vf, vf);
2198*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vnmsubfp
2199*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vnmsubfp
2200*0a6a1f1dSLionel Sambuc 
2201*0a6a1f1dSLionel Sambuc   res_vf = vec_vnmsubfp(vf, vf, vf);
2202*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vnmsubfp
2203*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vnmsubfp
2204f4a2713aSLionel Sambuc 
2205f4a2713aSLionel Sambuc   /* vec_nor */
2206*0a6a1f1dSLionel Sambuc   res_vsc = vec_nor(vsc, vsc);
2207*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2208f4a2713aSLionel Sambuc // CHECK: xor <16 x i8>
2209*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2210*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
2211f4a2713aSLionel Sambuc 
2212*0a6a1f1dSLionel Sambuc   res_vuc = vec_nor(vuc, vuc);
2213*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2214f4a2713aSLionel Sambuc // CHECK: xor <16 x i8>
2215*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2216*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
2217f4a2713aSLionel Sambuc 
2218*0a6a1f1dSLionel Sambuc   res_vuc = vec_nor(vbc, vbc);
2219*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2220f4a2713aSLionel Sambuc // CHECK: xor <16 x i8>
2221*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2222*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
2223f4a2713aSLionel Sambuc 
2224*0a6a1f1dSLionel Sambuc   res_vs  = vec_nor(vs, vs);
2225*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2226f4a2713aSLionel Sambuc // CHECK: xor <8 x i16>
2227*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2228*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
2229f4a2713aSLionel Sambuc 
2230*0a6a1f1dSLionel Sambuc   res_vus = vec_nor(vus, vus);
2231*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2232f4a2713aSLionel Sambuc // CHECK: xor <8 x i16>
2233*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2234*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
2235f4a2713aSLionel Sambuc 
2236*0a6a1f1dSLionel Sambuc   res_vus = vec_nor(vbs, vbs);
2237*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2238f4a2713aSLionel Sambuc // CHECK: xor <8 x i16>
2239*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2240*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
2241f4a2713aSLionel Sambuc 
2242*0a6a1f1dSLionel Sambuc   res_vi  = vec_nor(vi, vi);
2243*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2244f4a2713aSLionel Sambuc // CHECK: xor <4 x i32>
2245*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2246*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
2247f4a2713aSLionel Sambuc 
2248*0a6a1f1dSLionel Sambuc   res_vui = vec_nor(vui, vui);
2249*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2250f4a2713aSLionel Sambuc // CHECK: xor <4 x i32>
2251*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2252*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
2253f4a2713aSLionel Sambuc 
2254*0a6a1f1dSLionel Sambuc   res_vui = vec_nor(vbi, vbi);
2255*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2256f4a2713aSLionel Sambuc // CHECK: xor <4 x i32>
2257*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2258*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
2259f4a2713aSLionel Sambuc 
2260*0a6a1f1dSLionel Sambuc   res_vf  = vec_nor(vf, vf);
2261*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2262f4a2713aSLionel Sambuc // CHECK: xor <4 x i32>
2263*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2264*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
2265f4a2713aSLionel Sambuc 
2266*0a6a1f1dSLionel Sambuc   res_vsc = vec_vnor(vsc, vsc);
2267*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2268f4a2713aSLionel Sambuc // CHECK: xor <16 x i8>
2269*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2270*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
2271f4a2713aSLionel Sambuc 
2272*0a6a1f1dSLionel Sambuc   res_vuc = vec_vnor(vuc, vuc);
2273*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2274f4a2713aSLionel Sambuc // CHECK: xor <16 x i8>
2275*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2276*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
2277f4a2713aSLionel Sambuc 
2278*0a6a1f1dSLionel Sambuc   res_vuc = vec_vnor(vbc, vbc);
2279*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2280f4a2713aSLionel Sambuc // CHECK: xor <16 x i8>
2281*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2282*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
2283f4a2713aSLionel Sambuc 
2284*0a6a1f1dSLionel Sambuc   res_vs  = vec_vnor(vs, vs);
2285*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2286f4a2713aSLionel Sambuc // CHECK: xor <8 x i16>
2287*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2288*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
2289f4a2713aSLionel Sambuc 
2290*0a6a1f1dSLionel Sambuc   res_vus = vec_vnor(vus, vus);
2291*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2292f4a2713aSLionel Sambuc // CHECK: xor <8 x i16>
2293*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2294*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
2295f4a2713aSLionel Sambuc 
2296*0a6a1f1dSLionel Sambuc   res_vus = vec_vnor(vbs, vbs);
2297*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2298f4a2713aSLionel Sambuc // CHECK: xor <8 x i16>
2299*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2300*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
2301f4a2713aSLionel Sambuc 
2302*0a6a1f1dSLionel Sambuc   res_vi  = vec_vnor(vi, vi);
2303*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2304f4a2713aSLionel Sambuc // CHECK: xor <4 x i32>
2305*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2306*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
2307f4a2713aSLionel Sambuc 
2308*0a6a1f1dSLionel Sambuc   res_vui = vec_vnor(vui, vui);
2309*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2310f4a2713aSLionel Sambuc // CHECK: xor <4 x i32>
2311*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2312*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
2313f4a2713aSLionel Sambuc 
2314*0a6a1f1dSLionel Sambuc   res_vui = vec_vnor(vbi, vbi);
2315*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2316f4a2713aSLionel Sambuc // CHECK: xor <4 x i32>
2317*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2318*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
2319f4a2713aSLionel Sambuc 
2320*0a6a1f1dSLionel Sambuc   res_vf  = vec_vnor(vf, vf);
2321*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2322f4a2713aSLionel Sambuc // CHECK: xor <4 x i32>
2323*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2324*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
2325f4a2713aSLionel Sambuc 
2326f4a2713aSLionel Sambuc   /* vec_or */
2327*0a6a1f1dSLionel Sambuc   res_vsc = vec_or(vsc, vsc);
2328*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2329*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2330*0a6a1f1dSLionel Sambuc 
2331*0a6a1f1dSLionel Sambuc   res_vsc = vec_or(vbc, vsc);
2332*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2333*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2334*0a6a1f1dSLionel Sambuc 
2335*0a6a1f1dSLionel Sambuc   res_vsc = vec_or(vsc, vbc);
2336*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2337*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2338*0a6a1f1dSLionel Sambuc 
2339*0a6a1f1dSLionel Sambuc   res_vuc = vec_or(vuc, vuc);
2340*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2341*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2342*0a6a1f1dSLionel Sambuc 
2343*0a6a1f1dSLionel Sambuc   res_vuc = vec_or(vbc, vuc);
2344*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2345*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2346*0a6a1f1dSLionel Sambuc 
2347*0a6a1f1dSLionel Sambuc   res_vuc = vec_or(vuc, vbc);
2348*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2349*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2350*0a6a1f1dSLionel Sambuc 
2351*0a6a1f1dSLionel Sambuc   res_vbc = vec_or(vbc, vbc);
2352*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2353*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2354*0a6a1f1dSLionel Sambuc 
2355*0a6a1f1dSLionel Sambuc   res_vs  = vec_or(vs, vs);
2356*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2357*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2358*0a6a1f1dSLionel Sambuc 
2359*0a6a1f1dSLionel Sambuc   res_vs  = vec_or(vbs, vs);
2360*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2361*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2362*0a6a1f1dSLionel Sambuc 
2363*0a6a1f1dSLionel Sambuc   res_vs  = vec_or(vs, vbs);
2364*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2365*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2366*0a6a1f1dSLionel Sambuc 
2367*0a6a1f1dSLionel Sambuc   res_vus = vec_or(vus, vus);
2368*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2369*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2370*0a6a1f1dSLionel Sambuc 
2371*0a6a1f1dSLionel Sambuc   res_vus = vec_or(vbs, vus);
2372*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2373*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2374*0a6a1f1dSLionel Sambuc 
2375*0a6a1f1dSLionel Sambuc   res_vus = vec_or(vus, vbs);
2376*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2377*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2378*0a6a1f1dSLionel Sambuc 
2379*0a6a1f1dSLionel Sambuc   res_vbs = vec_or(vbs, vbs);
2380*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2381*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2382*0a6a1f1dSLionel Sambuc 
2383*0a6a1f1dSLionel Sambuc   res_vi  = vec_or(vi, vi);
2384*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2385*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2386*0a6a1f1dSLionel Sambuc 
2387*0a6a1f1dSLionel Sambuc   res_vi  = vec_or(vbi, vi);
2388*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2389*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2390*0a6a1f1dSLionel Sambuc 
2391*0a6a1f1dSLionel Sambuc   res_vi  = vec_or(vi, vbi);
2392*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2393*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2394*0a6a1f1dSLionel Sambuc 
2395*0a6a1f1dSLionel Sambuc   res_vui = vec_or(vui, vui);
2396*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2397*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2398*0a6a1f1dSLionel Sambuc 
2399*0a6a1f1dSLionel Sambuc   res_vui = vec_or(vbi, vui);
2400*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2401*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2402*0a6a1f1dSLionel Sambuc 
2403*0a6a1f1dSLionel Sambuc   res_vui = vec_or(vui, vbi);
2404*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2405*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2406*0a6a1f1dSLionel Sambuc 
2407*0a6a1f1dSLionel Sambuc   res_vbi = vec_or(vbi, vbi);
2408*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2409*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2410*0a6a1f1dSLionel Sambuc 
2411*0a6a1f1dSLionel Sambuc   res_vf  = vec_or(vf, vf);
2412*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2413*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2414*0a6a1f1dSLionel Sambuc 
2415*0a6a1f1dSLionel Sambuc   res_vf  = vec_or(vbi, vf);
2416*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2417*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2418*0a6a1f1dSLionel Sambuc 
2419*0a6a1f1dSLionel Sambuc   res_vf  = vec_or(vf, vbi);
2420*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2421*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2422*0a6a1f1dSLionel Sambuc 
2423*0a6a1f1dSLionel Sambuc   res_vsc = vec_vor(vsc, vsc);
2424*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2425*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2426*0a6a1f1dSLionel Sambuc 
2427*0a6a1f1dSLionel Sambuc   res_vsc = vec_vor(vbc, vsc);
2428*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2429*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2430*0a6a1f1dSLionel Sambuc 
2431*0a6a1f1dSLionel Sambuc   res_vsc = vec_vor(vsc, vbc);
2432*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2433*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2434*0a6a1f1dSLionel Sambuc 
2435*0a6a1f1dSLionel Sambuc   res_vuc = vec_vor(vuc, vuc);
2436*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2437*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2438*0a6a1f1dSLionel Sambuc 
2439*0a6a1f1dSLionel Sambuc   res_vuc = vec_vor(vbc, vuc);
2440*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2441*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2442*0a6a1f1dSLionel Sambuc 
2443*0a6a1f1dSLionel Sambuc   res_vuc = vec_vor(vuc, vbc);
2444*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2445*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2446*0a6a1f1dSLionel Sambuc 
2447*0a6a1f1dSLionel Sambuc   res_vbc = vec_vor(vbc, vbc);
2448*0a6a1f1dSLionel Sambuc // CHECK: or <16 x i8>
2449*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2450*0a6a1f1dSLionel Sambuc 
2451*0a6a1f1dSLionel Sambuc   res_vs  = vec_vor(vs, vs);
2452*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2453*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2454*0a6a1f1dSLionel Sambuc 
2455*0a6a1f1dSLionel Sambuc   res_vs  = vec_vor(vbs, vs);
2456*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2457*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2458*0a6a1f1dSLionel Sambuc 
2459*0a6a1f1dSLionel Sambuc   res_vs  = vec_vor(vs, vbs);
2460*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2461*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2462*0a6a1f1dSLionel Sambuc 
2463*0a6a1f1dSLionel Sambuc   res_vus = vec_vor(vus, vus);
2464*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2465*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2466*0a6a1f1dSLionel Sambuc 
2467*0a6a1f1dSLionel Sambuc   res_vus = vec_vor(vbs, vus);
2468*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2469*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2470*0a6a1f1dSLionel Sambuc 
2471*0a6a1f1dSLionel Sambuc   res_vus = vec_vor(vus, vbs);
2472*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2473*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2474*0a6a1f1dSLionel Sambuc 
2475*0a6a1f1dSLionel Sambuc   res_vbs = vec_vor(vbs, vbs);
2476*0a6a1f1dSLionel Sambuc // CHECK: or <8 x i16>
2477*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2478*0a6a1f1dSLionel Sambuc 
2479*0a6a1f1dSLionel Sambuc   res_vi  = vec_vor(vi, vi);
2480*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2481*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2482*0a6a1f1dSLionel Sambuc 
2483*0a6a1f1dSLionel Sambuc   res_vi  = vec_vor(vbi, vi);
2484*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2485*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2486*0a6a1f1dSLionel Sambuc 
2487*0a6a1f1dSLionel Sambuc   res_vi  = vec_vor(vi, vbi);
2488*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2489*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2490*0a6a1f1dSLionel Sambuc 
2491*0a6a1f1dSLionel Sambuc   res_vui = vec_vor(vui, vui);
2492*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2493*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2494*0a6a1f1dSLionel Sambuc 
2495*0a6a1f1dSLionel Sambuc   res_vui = vec_vor(vbi, vui);
2496*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2497*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2498*0a6a1f1dSLionel Sambuc 
2499*0a6a1f1dSLionel Sambuc   res_vui = vec_vor(vui, vbi);
2500*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2501*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2502*0a6a1f1dSLionel Sambuc 
2503*0a6a1f1dSLionel Sambuc   res_vbi = vec_vor(vbi, vbi);
2504*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2505*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2506*0a6a1f1dSLionel Sambuc 
2507*0a6a1f1dSLionel Sambuc   res_vf  = vec_vor(vf, vf);
2508*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2509*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2510*0a6a1f1dSLionel Sambuc 
2511*0a6a1f1dSLionel Sambuc   res_vf  = vec_vor(vbi, vf);
2512*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2513*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2514*0a6a1f1dSLionel Sambuc 
2515*0a6a1f1dSLionel Sambuc   res_vf  = vec_vor(vf, vbi);
2516*0a6a1f1dSLionel Sambuc // CHECK: or <4 x i32>
2517*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2518f4a2713aSLionel Sambuc 
2519f4a2713aSLionel Sambuc   /* vec_pack */
2520*0a6a1f1dSLionel Sambuc   res_vsc = vec_pack(vs, vs);
2521*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2522*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2523*0a6a1f1dSLionel Sambuc 
2524*0a6a1f1dSLionel Sambuc   res_vuc = vec_pack(vus, vus);
2525*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2526*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2527*0a6a1f1dSLionel Sambuc 
2528*0a6a1f1dSLionel Sambuc   res_vbc = vec_pack(vbs, vbs);
2529*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2530*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2531*0a6a1f1dSLionel Sambuc 
2532*0a6a1f1dSLionel Sambuc   res_vs  = vec_pack(vi, vi);
2533*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2534*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2535*0a6a1f1dSLionel Sambuc 
2536*0a6a1f1dSLionel Sambuc   res_vus = vec_pack(vui, vui);
2537*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2538*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2539*0a6a1f1dSLionel Sambuc 
2540*0a6a1f1dSLionel Sambuc   res_vbs = vec_pack(vbi, vbi);
2541*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2542*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2543*0a6a1f1dSLionel Sambuc 
2544*0a6a1f1dSLionel Sambuc   res_vsc = vec_vpkuhum(vs, vs);
2545*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2546*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2547*0a6a1f1dSLionel Sambuc 
2548*0a6a1f1dSLionel Sambuc   res_vuc = vec_vpkuhum(vus, vus);
2549*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2550*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2551*0a6a1f1dSLionel Sambuc 
2552*0a6a1f1dSLionel Sambuc   res_vbc = vec_vpkuhum(vbs, vbs);
2553*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2554*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2555*0a6a1f1dSLionel Sambuc 
2556*0a6a1f1dSLionel Sambuc   res_vs  = vec_vpkuwum(vi, vi);
2557*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2558*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2559*0a6a1f1dSLionel Sambuc 
2560*0a6a1f1dSLionel Sambuc   res_vus = vec_vpkuwum(vui, vui);
2561*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2562*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2563*0a6a1f1dSLionel Sambuc 
2564*0a6a1f1dSLionel Sambuc   res_vbs = vec_vpkuwum(vbi, vbi);
2565*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2566*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2567f4a2713aSLionel Sambuc 
2568f4a2713aSLionel Sambuc   /* vec_packpx */
2569*0a6a1f1dSLionel Sambuc   res_vp = vec_packpx(vui, vui);
2570*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkpx
2571*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkpx
2572*0a6a1f1dSLionel Sambuc 
2573*0a6a1f1dSLionel Sambuc   res_vp = vec_vpkpx(vui, vui);
2574*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkpx
2575*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkpx
2576f4a2713aSLionel Sambuc 
2577f4a2713aSLionel Sambuc   /* vec_packs */
2578*0a6a1f1dSLionel Sambuc   res_vsc = vec_packs(vs, vs);
2579*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkshss
2580*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkshss
2581*0a6a1f1dSLionel Sambuc 
2582*0a6a1f1dSLionel Sambuc   res_vuc = vec_packs(vus, vus);
2583*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkuhus
2584*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkuhus
2585*0a6a1f1dSLionel Sambuc 
2586*0a6a1f1dSLionel Sambuc   res_vs  = vec_packs(vi, vi);
2587*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkswss
2588*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkswss
2589*0a6a1f1dSLionel Sambuc 
2590*0a6a1f1dSLionel Sambuc   res_vus = vec_packs(vui, vui);
2591*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkuwus
2592*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkuwus
2593*0a6a1f1dSLionel Sambuc 
2594*0a6a1f1dSLionel Sambuc   res_vsc = vec_vpkshss(vs, vs);
2595*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkshss
2596*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkshss
2597*0a6a1f1dSLionel Sambuc 
2598*0a6a1f1dSLionel Sambuc   res_vuc = vec_vpkuhus(vus, vus);
2599*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkuhus
2600*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkuhus
2601*0a6a1f1dSLionel Sambuc 
2602*0a6a1f1dSLionel Sambuc   res_vs  = vec_vpkswss(vi, vi);
2603*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkswss
2604*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkswss
2605*0a6a1f1dSLionel Sambuc 
2606*0a6a1f1dSLionel Sambuc   res_vus = vec_vpkuwus(vui, vui);
2607*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkuwus
2608*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkuwus
2609f4a2713aSLionel Sambuc 
2610f4a2713aSLionel Sambuc   /* vec_packsu */
2611*0a6a1f1dSLionel Sambuc   res_vuc = vec_packsu(vs, vs);
2612*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkshus
2613*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkshus
2614*0a6a1f1dSLionel Sambuc 
2615*0a6a1f1dSLionel Sambuc   res_vuc = vec_packsu(vus, vus);
2616*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkuhus
2617*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkuhus
2618*0a6a1f1dSLionel Sambuc 
2619*0a6a1f1dSLionel Sambuc   res_vus = vec_packsu(vi, vi);
2620*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkswus
2621*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkswus
2622*0a6a1f1dSLionel Sambuc 
2623*0a6a1f1dSLionel Sambuc   res_vus = vec_packsu(vui, vui);
2624*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkuwus
2625*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkuwus
2626*0a6a1f1dSLionel Sambuc 
2627*0a6a1f1dSLionel Sambuc   res_vuc = vec_vpkshus(vs, vs);
2628*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkshus
2629*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkshus
2630*0a6a1f1dSLionel Sambuc 
2631*0a6a1f1dSLionel Sambuc   res_vuc = vec_vpkshus(vus, vus);
2632*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkuhus
2633*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkuhus
2634*0a6a1f1dSLionel Sambuc 
2635*0a6a1f1dSLionel Sambuc   res_vus = vec_vpkswus(vi, vi);
2636*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkswus
2637*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkswus
2638*0a6a1f1dSLionel Sambuc 
2639*0a6a1f1dSLionel Sambuc   res_vus = vec_vpkswus(vui, vui);
2640*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vpkuwus
2641*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vpkuwus
2642f4a2713aSLionel Sambuc 
2643f4a2713aSLionel Sambuc   /* vec_perm */
2644*0a6a1f1dSLionel Sambuc   res_vsc = vec_perm(vsc, vsc, vuc);
2645*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2646*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2647*0a6a1f1dSLionel Sambuc 
2648*0a6a1f1dSLionel Sambuc   res_vuc = vec_perm(vuc, vuc, vuc);
2649*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2650*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2651*0a6a1f1dSLionel Sambuc 
2652*0a6a1f1dSLionel Sambuc   res_vbc = vec_perm(vbc, vbc, vuc);
2653*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2654*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2655*0a6a1f1dSLionel Sambuc 
2656*0a6a1f1dSLionel Sambuc   res_vs  = vec_perm(vs, vs, vuc);
2657*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2658*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2659*0a6a1f1dSLionel Sambuc 
2660*0a6a1f1dSLionel Sambuc   res_vus = vec_perm(vus, vus, vuc);
2661*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2662*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2663*0a6a1f1dSLionel Sambuc 
2664*0a6a1f1dSLionel Sambuc   res_vbs = vec_perm(vbs, vbs, vuc);
2665*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2666*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2667*0a6a1f1dSLionel Sambuc 
2668*0a6a1f1dSLionel Sambuc   res_vp  = vec_perm(vp, vp, vuc);
2669*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2670*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2671*0a6a1f1dSLionel Sambuc 
2672*0a6a1f1dSLionel Sambuc   res_vi  = vec_perm(vi, vi, vuc);
2673*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2674*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2675*0a6a1f1dSLionel Sambuc 
2676*0a6a1f1dSLionel Sambuc   res_vui = vec_perm(vui, vui, vuc);
2677*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2678*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2679*0a6a1f1dSLionel Sambuc 
2680*0a6a1f1dSLionel Sambuc   res_vbi = vec_perm(vbi, vbi, vuc);
2681*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2682*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2683*0a6a1f1dSLionel Sambuc 
2684*0a6a1f1dSLionel Sambuc   res_vf  = vec_perm(vf, vf, vuc);
2685*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2686*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2687*0a6a1f1dSLionel Sambuc 
2688*0a6a1f1dSLionel Sambuc   res_vsc = vec_vperm(vsc, vsc, vuc);
2689*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2690*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2691*0a6a1f1dSLionel Sambuc 
2692*0a6a1f1dSLionel Sambuc   res_vuc = vec_vperm(vuc, vuc, vuc);
2693*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2694*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2695*0a6a1f1dSLionel Sambuc 
2696*0a6a1f1dSLionel Sambuc   res_vbc = vec_vperm(vbc, vbc, vuc);
2697*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2698*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2699*0a6a1f1dSLionel Sambuc 
2700*0a6a1f1dSLionel Sambuc   res_vs  = vec_vperm(vs, vs, vuc);
2701*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2702*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2703*0a6a1f1dSLionel Sambuc 
2704*0a6a1f1dSLionel Sambuc   res_vus = vec_vperm(vus, vus, vuc);
2705*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2706*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2707*0a6a1f1dSLionel Sambuc 
2708*0a6a1f1dSLionel Sambuc   res_vbs = vec_vperm(vbs, vbs, vuc);
2709*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2710*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2711*0a6a1f1dSLionel Sambuc 
2712*0a6a1f1dSLionel Sambuc   res_vp  = vec_vperm(vp, vp, vuc);
2713*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2714*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2715*0a6a1f1dSLionel Sambuc 
2716*0a6a1f1dSLionel Sambuc   res_vi  = vec_vperm(vi, vi, vuc);
2717*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2718*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2719*0a6a1f1dSLionel Sambuc 
2720*0a6a1f1dSLionel Sambuc   res_vui = vec_vperm(vui, vui, vuc);
2721*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2722*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2723*0a6a1f1dSLionel Sambuc 
2724*0a6a1f1dSLionel Sambuc   res_vbi = vec_vperm(vbi, vbi, vuc);
2725*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2726*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2727*0a6a1f1dSLionel Sambuc 
2728*0a6a1f1dSLionel Sambuc   res_vf  = vec_vperm(vf, vf, vuc);
2729*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
2730*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
2731f4a2713aSLionel Sambuc 
2732f4a2713aSLionel Sambuc   /* vec_re */
2733*0a6a1f1dSLionel Sambuc   res_vf = vec_re(vf);
2734*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrefp
2735*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrefp
2736*0a6a1f1dSLionel Sambuc 
2737*0a6a1f1dSLionel Sambuc   res_vf = vec_vrefp(vf);
2738*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrefp
2739*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrefp
2740f4a2713aSLionel Sambuc 
2741f4a2713aSLionel Sambuc   /* vec_rl */
2742*0a6a1f1dSLionel Sambuc   res_vsc = vec_rl(vsc, vuc);
2743*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrlb
2744*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrlb
2745*0a6a1f1dSLionel Sambuc 
2746*0a6a1f1dSLionel Sambuc   res_vuc = vec_rl(vuc, vuc);
2747*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrlb
2748*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrlb
2749*0a6a1f1dSLionel Sambuc 
2750*0a6a1f1dSLionel Sambuc   res_vs  = vec_rl(vs, vus);
2751*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrlh
2752*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrlh
2753*0a6a1f1dSLionel Sambuc 
2754*0a6a1f1dSLionel Sambuc   res_vus = vec_rl(vus, vus);
2755*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrlh
2756*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrlh
2757*0a6a1f1dSLionel Sambuc 
2758*0a6a1f1dSLionel Sambuc   res_vi  = vec_rl(vi, vui);
2759*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrlw
2760*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrlw
2761*0a6a1f1dSLionel Sambuc 
2762*0a6a1f1dSLionel Sambuc   res_vui = vec_rl(vui, vui);
2763*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrlw
2764*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrlw
2765*0a6a1f1dSLionel Sambuc 
2766*0a6a1f1dSLionel Sambuc   res_vsc = vec_vrlb(vsc, vuc);
2767*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrlb
2768*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrlb
2769*0a6a1f1dSLionel Sambuc 
2770*0a6a1f1dSLionel Sambuc   res_vuc = vec_vrlb(vuc, vuc);
2771*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrlb
2772*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrlb
2773*0a6a1f1dSLionel Sambuc 
2774*0a6a1f1dSLionel Sambuc   res_vs  = vec_vrlh(vs, vus);
2775*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrlh
2776*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrlh
2777*0a6a1f1dSLionel Sambuc 
2778*0a6a1f1dSLionel Sambuc   res_vus = vec_vrlh(vus, vus);
2779*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrlh
2780*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrlh
2781*0a6a1f1dSLionel Sambuc 
2782*0a6a1f1dSLionel Sambuc   res_vi  = vec_vrlw(vi, vui);
2783*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrlw
2784*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrlw
2785*0a6a1f1dSLionel Sambuc 
2786*0a6a1f1dSLionel Sambuc   res_vui = vec_vrlw(vui, vui);
2787*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrlw
2788*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrlw
2789f4a2713aSLionel Sambuc 
2790f4a2713aSLionel Sambuc   /* vec_round */
2791*0a6a1f1dSLionel Sambuc   res_vf = vec_round(vf);
2792*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrfin
2793*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrfin
2794*0a6a1f1dSLionel Sambuc 
2795*0a6a1f1dSLionel Sambuc   res_vf = vec_vrfin(vf);
2796*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrfin
2797*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrfin
2798f4a2713aSLionel Sambuc 
2799f4a2713aSLionel Sambuc   /* vec_rsqrte */
2800*0a6a1f1dSLionel Sambuc   res_vf = vec_rsqrte(vf);
2801*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrsqrtefp
2802*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrsqrtefp
2803*0a6a1f1dSLionel Sambuc 
2804*0a6a1f1dSLionel Sambuc   res_vf = vec_vrsqrtefp(vf);
2805*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrsqrtefp
2806*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrsqrtefp
2807f4a2713aSLionel Sambuc 
2808f4a2713aSLionel Sambuc   /* vec_sel */
2809*0a6a1f1dSLionel Sambuc   res_vsc = vec_sel(vsc, vsc, vuc);
2810*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
2811f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
2812f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
2813f4a2713aSLionel Sambuc // CHECK: or <16 x i8>
2814*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
2815*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
2816*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
2817*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2818f4a2713aSLionel Sambuc 
2819*0a6a1f1dSLionel Sambuc   res_vsc = vec_sel(vsc, vsc, vbc);
2820*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
2821f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
2822f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
2823f4a2713aSLionel Sambuc // CHECK: or <16 x i8>
2824*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
2825*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
2826*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
2827*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2828f4a2713aSLionel Sambuc 
2829*0a6a1f1dSLionel Sambuc   res_vuc = vec_sel(vuc, vuc, vuc);
2830*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
2831f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
2832f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
2833f4a2713aSLionel Sambuc // CHECK: or <16 x i8>
2834*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
2835*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
2836*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
2837*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2838f4a2713aSLionel Sambuc 
2839*0a6a1f1dSLionel Sambuc   res_vuc = vec_sel(vuc, vuc, vbc);
2840*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
2841f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
2842f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
2843f4a2713aSLionel Sambuc // CHECK: or <16 x i8>
2844*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
2845*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
2846*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
2847*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2848f4a2713aSLionel Sambuc 
2849*0a6a1f1dSLionel Sambuc   res_vbc = vec_sel(vbc, vbc, vuc);
2850*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
2851f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
2852f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
2853f4a2713aSLionel Sambuc // CHECK: or <16 x i8>
2854*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
2855*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
2856*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
2857*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2858f4a2713aSLionel Sambuc 
2859*0a6a1f1dSLionel Sambuc   res_vbc = vec_sel(vbc, vbc, vbc);
2860*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
2861f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
2862f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
2863f4a2713aSLionel Sambuc // CHECK: or <16 x i8>
2864*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
2865*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
2866*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
2867*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
2868f4a2713aSLionel Sambuc 
2869*0a6a1f1dSLionel Sambuc   res_vs  = vec_sel(vs, vs, vus);
2870*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
2871f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
2872f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
2873f4a2713aSLionel Sambuc // CHECK: or <8 x i16>
2874*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
2875*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
2876*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
2877*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2878f4a2713aSLionel Sambuc 
2879*0a6a1f1dSLionel Sambuc   res_vs  = vec_sel(vs, vs, vbs);
2880*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
2881f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
2882f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
2883f4a2713aSLionel Sambuc // CHECK: or <8 x i16>
2884*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
2885*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
2886*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
2887*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2888f4a2713aSLionel Sambuc 
2889*0a6a1f1dSLionel Sambuc   res_vus = vec_sel(vus, vus, vus);
2890*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
2891f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
2892f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
2893f4a2713aSLionel Sambuc // CHECK: or <8 x i16>
2894*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
2895*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
2896*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
2897*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2898f4a2713aSLionel Sambuc 
2899*0a6a1f1dSLionel Sambuc   res_vus = vec_sel(vus, vus, vbs);
2900*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
2901f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
2902f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
2903f4a2713aSLionel Sambuc // CHECK: or <8 x i16>
2904*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
2905*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
2906*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
2907*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2908f4a2713aSLionel Sambuc 
2909*0a6a1f1dSLionel Sambuc   res_vbs = vec_sel(vbs, vbs, vus);
2910*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
2911f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
2912f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
2913f4a2713aSLionel Sambuc // CHECK: or <8 x i16>
2914*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
2915*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
2916*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
2917*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2918f4a2713aSLionel Sambuc 
2919*0a6a1f1dSLionel Sambuc   res_vbs = vec_sel(vbs, vbs, vbs);
2920*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
2921f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
2922f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
2923f4a2713aSLionel Sambuc // CHECK: or <8 x i16>
2924*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
2925*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
2926*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
2927*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
2928f4a2713aSLionel Sambuc 
2929*0a6a1f1dSLionel Sambuc   res_vi  = vec_sel(vi, vi, vui);
2930*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
2931f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
2932f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
2933f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
2934*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
2935*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
2936*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
2937*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2938f4a2713aSLionel Sambuc 
2939*0a6a1f1dSLionel Sambuc   res_vi  = vec_sel(vi, vi, vbi);
2940*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
2941f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
2942f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
2943f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
2944*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
2945*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
2946*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
2947*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2948f4a2713aSLionel Sambuc 
2949*0a6a1f1dSLionel Sambuc   res_vui = vec_sel(vui, vui, vui);
2950*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
2951f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
2952f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
2953f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
2954*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
2955*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
2956*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
2957*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2958f4a2713aSLionel Sambuc 
2959*0a6a1f1dSLionel Sambuc   res_vui = vec_sel(vui, vui, vbi);
2960*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
2961f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
2962f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
2963f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
2964*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
2965*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
2966*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
2967*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2968f4a2713aSLionel Sambuc 
2969*0a6a1f1dSLionel Sambuc   res_vbi = vec_sel(vbi, vbi, vui);
2970*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
2971f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
2972f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
2973f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
2974*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
2975*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
2976*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
2977*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2978f4a2713aSLionel Sambuc 
2979*0a6a1f1dSLionel Sambuc   res_vbi = vec_sel(vbi, vbi, vbi);
2980*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
2981f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
2982f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
2983f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
2984*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
2985*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
2986*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
2987*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2988f4a2713aSLionel Sambuc 
2989*0a6a1f1dSLionel Sambuc   res_vf  = vec_sel(vf, vf, vui);
2990*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
2991f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
2992f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
2993f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
2994*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
2995*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
2996*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
2997*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
2998f4a2713aSLionel Sambuc 
2999*0a6a1f1dSLionel Sambuc   res_vf  = vec_sel(vf, vf, vbi);
3000*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
3001f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3002f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3003f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
3004*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
3005*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3006*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3007*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
3008f4a2713aSLionel Sambuc 
3009*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsel(vsc, vsc, vuc);
3010*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
3011f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
3012f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
3013f4a2713aSLionel Sambuc // CHECK: or <16 x i8>
3014*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
3015*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
3016*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
3017*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
3018f4a2713aSLionel Sambuc 
3019*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsel(vsc, vsc, vbc);
3020*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
3021f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
3022f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
3023f4a2713aSLionel Sambuc // CHECK: or <16 x i8>
3024*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
3025*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
3026*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
3027*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
3028f4a2713aSLionel Sambuc 
3029*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsel(vuc, vuc, vuc);
3030*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
3031f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
3032f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
3033f4a2713aSLionel Sambuc // CHECK: or <16 x i8>
3034*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
3035*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
3036*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
3037*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
3038f4a2713aSLionel Sambuc 
3039*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsel(vuc, vuc, vbc);
3040*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
3041f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
3042f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
3043f4a2713aSLionel Sambuc // CHECK: or <16 x i8>
3044*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
3045*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
3046*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
3047*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
3048f4a2713aSLionel Sambuc 
3049*0a6a1f1dSLionel Sambuc   res_vbc = vec_vsel(vbc, vbc, vuc);
3050*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
3051f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
3052f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
3053f4a2713aSLionel Sambuc // CHECK: or <16 x i8>
3054*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
3055*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
3056*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
3057*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
3058f4a2713aSLionel Sambuc 
3059*0a6a1f1dSLionel Sambuc   res_vbc = vec_vsel(vbc, vbc, vbc);
3060*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
3061f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
3062f4a2713aSLionel Sambuc // CHECK: and <16 x i8>
3063f4a2713aSLionel Sambuc // CHECK: or <16 x i8>
3064*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
3065*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
3066*0a6a1f1dSLionel Sambuc // CHECK-LE: and <16 x i8>
3067*0a6a1f1dSLionel Sambuc // CHECK-LE: or <16 x i8>
3068f4a2713aSLionel Sambuc 
3069*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsel(vs, vs, vus);
3070*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
3071f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
3072f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
3073f4a2713aSLionel Sambuc // CHECK: or <8 x i16>
3074*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
3075*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
3076*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
3077*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
3078f4a2713aSLionel Sambuc 
3079*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsel(vs, vs, vbs);
3080*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
3081f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
3082f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
3083f4a2713aSLionel Sambuc // CHECK: or <8 x i16>
3084*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
3085*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
3086*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
3087*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
3088f4a2713aSLionel Sambuc 
3089*0a6a1f1dSLionel Sambuc   res_vus = vec_vsel(vus, vus, vus);
3090*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
3091f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
3092f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
3093f4a2713aSLionel Sambuc // CHECK: or <8 x i16>
3094*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
3095*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
3096*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
3097*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
3098f4a2713aSLionel Sambuc 
3099*0a6a1f1dSLionel Sambuc   res_vus = vec_vsel(vus, vus, vbs);
3100*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
3101f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
3102f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
3103f4a2713aSLionel Sambuc // CHECK: or <8 x i16>
3104*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
3105*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
3106*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
3107*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
3108f4a2713aSLionel Sambuc 
3109*0a6a1f1dSLionel Sambuc   res_vbs = vec_vsel(vbs, vbs, vus);
3110*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
3111f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
3112f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
3113f4a2713aSLionel Sambuc // CHECK: or <8 x i16>
3114*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
3115*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
3116*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
3117*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
3118f4a2713aSLionel Sambuc 
3119*0a6a1f1dSLionel Sambuc   res_vbs = vec_vsel(vbs, vbs, vbs);
3120*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
3121f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
3122f4a2713aSLionel Sambuc // CHECK: and <8 x i16>
3123f4a2713aSLionel Sambuc // CHECK: or <8 x i16>
3124*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
3125*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
3126*0a6a1f1dSLionel Sambuc // CHECK-LE: and <8 x i16>
3127*0a6a1f1dSLionel Sambuc // CHECK-LE: or <8 x i16>
3128f4a2713aSLionel Sambuc 
3129*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsel(vi, vi, vui);
3130*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
3131f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3132f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3133f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
3134*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
3135*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3136*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3137*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
3138f4a2713aSLionel Sambuc 
3139*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsel(vi, vi, vbi);
3140*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
3141f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3142f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3143f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
3144*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
3145*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3146*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3147*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
3148f4a2713aSLionel Sambuc 
3149*0a6a1f1dSLionel Sambuc   res_vui = vec_vsel(vui, vui, vui);
3150*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
3151f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3152f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3153f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
3154*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
3155*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3156*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3157*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
3158f4a2713aSLionel Sambuc 
3159*0a6a1f1dSLionel Sambuc   res_vui = vec_vsel(vui, vui, vbi);
3160*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
3161f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3162f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3163f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
3164*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
3165*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3166*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3167*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
3168f4a2713aSLionel Sambuc 
3169*0a6a1f1dSLionel Sambuc   res_vbi = vec_vsel(vbi, vbi, vui);
3170*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
3171f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3172f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3173f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
3174*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
3175*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3176*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3177*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
3178f4a2713aSLionel Sambuc 
3179*0a6a1f1dSLionel Sambuc   res_vbi = vec_vsel(vbi, vbi, vbi);
3180*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
3181f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3182f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3183f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
3184*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
3185*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3186*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3187*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
3188f4a2713aSLionel Sambuc 
3189*0a6a1f1dSLionel Sambuc   res_vf  = vec_vsel(vf, vf, vui);
3190*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
3191f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3192f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3193f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
3194*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
3195*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3196*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3197*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
3198f4a2713aSLionel Sambuc 
3199*0a6a1f1dSLionel Sambuc   res_vf  = vec_vsel(vf, vf, vbi);
3200*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
3201f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3202f4a2713aSLionel Sambuc // CHECK: and <4 x i32>
3203f4a2713aSLionel Sambuc // CHECK: or <4 x i32>
3204*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
3205*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3206*0a6a1f1dSLionel Sambuc // CHECK-LE: and <4 x i32>
3207*0a6a1f1dSLionel Sambuc // CHECK-LE: or <4 x i32>
3208f4a2713aSLionel Sambuc 
3209f4a2713aSLionel Sambuc   /* vec_sl */
3210*0a6a1f1dSLionel Sambuc   res_vsc = vec_sl(vsc, vuc);
3211*0a6a1f1dSLionel Sambuc // CHECK: shl <16 x i8>
3212*0a6a1f1dSLionel Sambuc // CHECK-LE: shl <16 x i8>
3213*0a6a1f1dSLionel Sambuc 
3214*0a6a1f1dSLionel Sambuc   res_vuc = vec_sl(vuc, vuc);
3215*0a6a1f1dSLionel Sambuc // CHECK: shl <16 x i8>
3216*0a6a1f1dSLionel Sambuc // CHECK-LE: shl <16 x i8>
3217*0a6a1f1dSLionel Sambuc 
3218*0a6a1f1dSLionel Sambuc   res_vs  = vec_sl(vs, vus);
3219*0a6a1f1dSLionel Sambuc // CHECK: shl <8 x i16>
3220*0a6a1f1dSLionel Sambuc // CHECK-LE: shl <8 x i16>
3221*0a6a1f1dSLionel Sambuc 
3222*0a6a1f1dSLionel Sambuc   res_vus = vec_sl(vus, vus);
3223*0a6a1f1dSLionel Sambuc // CHECK: shl <8 x i16>
3224*0a6a1f1dSLionel Sambuc // CHECK-LE: shl <8 x i16>
3225*0a6a1f1dSLionel Sambuc 
3226*0a6a1f1dSLionel Sambuc   res_vi  = vec_sl(vi, vui);
3227*0a6a1f1dSLionel Sambuc // CHECK: shl <4 x i32>
3228*0a6a1f1dSLionel Sambuc // CHECK-LE: shl <4 x i32>
3229*0a6a1f1dSLionel Sambuc 
3230*0a6a1f1dSLionel Sambuc   res_vui = vec_sl(vui, vui);
3231*0a6a1f1dSLionel Sambuc // CHECK: shl <4 x i32>
3232*0a6a1f1dSLionel Sambuc // CHECK-LE: shl <4 x i32>
3233*0a6a1f1dSLionel Sambuc 
3234*0a6a1f1dSLionel Sambuc   res_vsc = vec_vslb(vsc, vuc);
3235*0a6a1f1dSLionel Sambuc // CHECK: shl <16 x i8>
3236*0a6a1f1dSLionel Sambuc // CHECK-LE: shl <16 x i8>
3237*0a6a1f1dSLionel Sambuc 
3238*0a6a1f1dSLionel Sambuc   res_vuc = vec_vslb(vuc, vuc);
3239*0a6a1f1dSLionel Sambuc // CHECK: shl <16 x i8>
3240*0a6a1f1dSLionel Sambuc // CHECK-LE: shl <16 x i8>
3241*0a6a1f1dSLionel Sambuc 
3242*0a6a1f1dSLionel Sambuc   res_vs  = vec_vslh(vs, vus);
3243*0a6a1f1dSLionel Sambuc // CHECK: shl <8 x i16>
3244*0a6a1f1dSLionel Sambuc // CHECK-LE: shl <8 x i16>
3245*0a6a1f1dSLionel Sambuc 
3246*0a6a1f1dSLionel Sambuc   res_vus = vec_vslh(vus, vus);
3247*0a6a1f1dSLionel Sambuc // CHECK: shl <8 x i16>
3248*0a6a1f1dSLionel Sambuc // CHECK-LE: shl <8 x i16>
3249*0a6a1f1dSLionel Sambuc 
3250*0a6a1f1dSLionel Sambuc   res_vi  = vec_vslw(vi, vui);
3251*0a6a1f1dSLionel Sambuc // CHECK: shl <4 x i32>
3252*0a6a1f1dSLionel Sambuc // CHECK-LE: shl <4 x i32>
3253*0a6a1f1dSLionel Sambuc 
3254*0a6a1f1dSLionel Sambuc   res_vui = vec_vslw(vui, vui);
3255*0a6a1f1dSLionel Sambuc // CHECK: shl <4 x i32>
3256*0a6a1f1dSLionel Sambuc // CHECK-LE: shl <4 x i32>
3257f4a2713aSLionel Sambuc 
3258f4a2713aSLionel Sambuc   /* vec_sld */
3259*0a6a1f1dSLionel Sambuc   res_vsc = vec_sld(vsc, vsc, 0);
3260*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3261*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3262*0a6a1f1dSLionel Sambuc 
3263*0a6a1f1dSLionel Sambuc   res_vuc = vec_sld(vuc, vuc, 0);
3264*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3265*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3266*0a6a1f1dSLionel Sambuc 
3267*0a6a1f1dSLionel Sambuc   res_vs  = vec_sld(vs, vs, 0);
3268*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3269*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3270*0a6a1f1dSLionel Sambuc 
3271*0a6a1f1dSLionel Sambuc   res_vus = vec_sld(vus, vus, 0);
3272*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3273*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3274*0a6a1f1dSLionel Sambuc 
3275*0a6a1f1dSLionel Sambuc   res_vp  = vec_sld(vp, vp, 0);
3276*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3277*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3278*0a6a1f1dSLionel Sambuc 
3279*0a6a1f1dSLionel Sambuc   res_vi  = vec_sld(vi, vi, 0);
3280*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3281*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3282*0a6a1f1dSLionel Sambuc 
3283*0a6a1f1dSLionel Sambuc   res_vui = vec_sld(vui, vui, 0);
3284*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3285*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3286*0a6a1f1dSLionel Sambuc 
3287*0a6a1f1dSLionel Sambuc   res_vf  = vec_sld(vf, vf, 0);
3288*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3289*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3290*0a6a1f1dSLionel Sambuc 
3291*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsldoi(vsc, vsc, 0);
3292*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3293*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3294*0a6a1f1dSLionel Sambuc 
3295*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsldoi(vuc, vuc, 0);
3296*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3297*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3298*0a6a1f1dSLionel Sambuc 
3299*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsldoi(vs, vs, 0);
3300*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3301*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3302*0a6a1f1dSLionel Sambuc 
3303*0a6a1f1dSLionel Sambuc   res_vus = vec_vsldoi(vus, vus, 0);
3304*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3305*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3306*0a6a1f1dSLionel Sambuc 
3307*0a6a1f1dSLionel Sambuc   res_vp  = vec_vsldoi(vp, vp, 0);
3308*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3309*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3310*0a6a1f1dSLionel Sambuc 
3311*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsldoi(vi, vi, 0);
3312*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3313*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3314*0a6a1f1dSLionel Sambuc 
3315*0a6a1f1dSLionel Sambuc   res_vui = vec_vsldoi(vui, vui, 0);
3316*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3317*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3318*0a6a1f1dSLionel Sambuc 
3319*0a6a1f1dSLionel Sambuc   res_vf  = vec_vsldoi(vf, vf, 0);
3320*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3321*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3322f4a2713aSLionel Sambuc 
3323f4a2713aSLionel Sambuc   /* vec_sll */
3324*0a6a1f1dSLionel Sambuc   res_vsc = vec_sll(vsc, vuc);
3325*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3326*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3327*0a6a1f1dSLionel Sambuc 
3328*0a6a1f1dSLionel Sambuc   res_vsc = vec_sll(vsc, vus);
3329*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3330*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3331*0a6a1f1dSLionel Sambuc 
3332*0a6a1f1dSLionel Sambuc   res_vsc = vec_sll(vsc, vui);
3333*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3334*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3335*0a6a1f1dSLionel Sambuc 
3336*0a6a1f1dSLionel Sambuc   res_vuc = vec_sll(vuc, vuc);
3337*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3338*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3339*0a6a1f1dSLionel Sambuc 
3340*0a6a1f1dSLionel Sambuc   res_vuc = vec_sll(vuc, vus);
3341*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3342*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3343*0a6a1f1dSLionel Sambuc 
3344*0a6a1f1dSLionel Sambuc   res_vuc = vec_sll(vuc, vui);
3345*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3346*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3347*0a6a1f1dSLionel Sambuc 
3348*0a6a1f1dSLionel Sambuc   res_vbc = vec_sll(vbc, vuc);
3349*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3350*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3351*0a6a1f1dSLionel Sambuc 
3352*0a6a1f1dSLionel Sambuc   res_vbc = vec_sll(vbc, vus);
3353*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3354*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3355*0a6a1f1dSLionel Sambuc 
3356*0a6a1f1dSLionel Sambuc   res_vbc = vec_sll(vbc, vui);
3357*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3358*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3359*0a6a1f1dSLionel Sambuc 
3360*0a6a1f1dSLionel Sambuc   res_vs  = vec_sll(vs, vuc);
3361*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3362*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3363*0a6a1f1dSLionel Sambuc 
3364*0a6a1f1dSLionel Sambuc   res_vs  = vec_sll(vs, vus);
3365*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3366*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3367*0a6a1f1dSLionel Sambuc 
3368*0a6a1f1dSLionel Sambuc   res_vs  = vec_sll(vs, vui);
3369*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3370*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3371*0a6a1f1dSLionel Sambuc 
3372*0a6a1f1dSLionel Sambuc   res_vus = vec_sll(vus, vuc);
3373*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3374*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3375*0a6a1f1dSLionel Sambuc 
3376*0a6a1f1dSLionel Sambuc   res_vus = vec_sll(vus, vus);
3377*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3378*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3379*0a6a1f1dSLionel Sambuc 
3380*0a6a1f1dSLionel Sambuc   res_vus = vec_sll(vus, vui);
3381*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3382*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3383*0a6a1f1dSLionel Sambuc 
3384*0a6a1f1dSLionel Sambuc   res_vbs = vec_sll(vbs, vuc);
3385*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3386*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3387*0a6a1f1dSLionel Sambuc 
3388*0a6a1f1dSLionel Sambuc   res_vbs = vec_sll(vbs, vus);
3389*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3390*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3391*0a6a1f1dSLionel Sambuc 
3392*0a6a1f1dSLionel Sambuc   res_vbs = vec_sll(vbs, vui);
3393*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3394*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3395*0a6a1f1dSLionel Sambuc 
3396*0a6a1f1dSLionel Sambuc   res_vp  = vec_sll(vp, vuc);
3397*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3398*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3399*0a6a1f1dSLionel Sambuc 
3400*0a6a1f1dSLionel Sambuc   res_vp  = vec_sll(vp, vus);
3401*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3402*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3403*0a6a1f1dSLionel Sambuc 
3404*0a6a1f1dSLionel Sambuc   res_vp  = vec_sll(vp, vui);
3405*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3406*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3407*0a6a1f1dSLionel Sambuc 
3408*0a6a1f1dSLionel Sambuc   res_vi  = vec_sll(vi, vuc);
3409*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3410*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3411*0a6a1f1dSLionel Sambuc 
3412*0a6a1f1dSLionel Sambuc   res_vi  = vec_sll(vi, vus);
3413*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3414*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3415*0a6a1f1dSLionel Sambuc 
3416*0a6a1f1dSLionel Sambuc   res_vi  = vec_sll(vi, vui);
3417*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3418*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3419*0a6a1f1dSLionel Sambuc 
3420*0a6a1f1dSLionel Sambuc   res_vui = vec_sll(vui, vuc);
3421*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3422*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3423*0a6a1f1dSLionel Sambuc 
3424*0a6a1f1dSLionel Sambuc   res_vui = vec_sll(vui, vus);
3425*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3426*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3427*0a6a1f1dSLionel Sambuc 
3428*0a6a1f1dSLionel Sambuc   res_vui = vec_sll(vui, vui);
3429*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3430*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3431*0a6a1f1dSLionel Sambuc 
3432*0a6a1f1dSLionel Sambuc   res_vbi = vec_sll(vbi, vuc);
3433*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3434*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3435*0a6a1f1dSLionel Sambuc 
3436*0a6a1f1dSLionel Sambuc   res_vbi = vec_sll(vbi, vus);
3437*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3438*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3439*0a6a1f1dSLionel Sambuc 
3440*0a6a1f1dSLionel Sambuc   res_vbi = vec_sll(vbi, vui);
3441*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3442*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3443*0a6a1f1dSLionel Sambuc 
3444*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsl(vsc, vuc);
3445*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3446*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3447*0a6a1f1dSLionel Sambuc 
3448*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsl(vsc, vus);
3449*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3450*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3451*0a6a1f1dSLionel Sambuc 
3452*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsl(vsc, vui);
3453*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3454*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3455*0a6a1f1dSLionel Sambuc 
3456*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsl(vuc, vuc);
3457*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3458*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3459*0a6a1f1dSLionel Sambuc 
3460*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsl(vuc, vus);
3461*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3462*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3463*0a6a1f1dSLionel Sambuc 
3464*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsl(vuc, vui);
3465*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3466*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3467*0a6a1f1dSLionel Sambuc 
3468*0a6a1f1dSLionel Sambuc   res_vbc = vec_vsl(vbc, vuc);
3469*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3470*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3471*0a6a1f1dSLionel Sambuc 
3472*0a6a1f1dSLionel Sambuc   res_vbc = vec_vsl(vbc, vus);
3473*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3474*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3475*0a6a1f1dSLionel Sambuc 
3476*0a6a1f1dSLionel Sambuc   res_vbc = vec_vsl(vbc, vui);
3477*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3478*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3479*0a6a1f1dSLionel Sambuc 
3480*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsl(vs, vuc);
3481*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3482*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3483*0a6a1f1dSLionel Sambuc 
3484*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsl(vs, vus);
3485*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3486*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3487*0a6a1f1dSLionel Sambuc 
3488*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsl(vs, vui);
3489*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3490*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3491*0a6a1f1dSLionel Sambuc 
3492*0a6a1f1dSLionel Sambuc   res_vus = vec_vsl(vus, vuc);
3493*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3494*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3495*0a6a1f1dSLionel Sambuc 
3496*0a6a1f1dSLionel Sambuc   res_vus = vec_vsl(vus, vus);
3497*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3498*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3499*0a6a1f1dSLionel Sambuc 
3500*0a6a1f1dSLionel Sambuc   res_vus = vec_vsl(vus, vui);
3501*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3502*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3503*0a6a1f1dSLionel Sambuc 
3504*0a6a1f1dSLionel Sambuc   res_vbs = vec_vsl(vbs, vuc);
3505*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3506*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3507*0a6a1f1dSLionel Sambuc 
3508*0a6a1f1dSLionel Sambuc   res_vbs = vec_vsl(vbs, vus);
3509*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3510*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3511*0a6a1f1dSLionel Sambuc 
3512*0a6a1f1dSLionel Sambuc   res_vbs = vec_vsl(vbs, vui);
3513*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3514*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3515*0a6a1f1dSLionel Sambuc 
3516*0a6a1f1dSLionel Sambuc   res_vp  = vec_vsl(vp, vuc);
3517*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3518*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3519*0a6a1f1dSLionel Sambuc 
3520*0a6a1f1dSLionel Sambuc   res_vp  = vec_vsl(vp, vus);
3521*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3522*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3523*0a6a1f1dSLionel Sambuc 
3524*0a6a1f1dSLionel Sambuc   res_vp  = vec_vsl(vp, vui);
3525*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3526*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3527*0a6a1f1dSLionel Sambuc 
3528*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsl(vi, vuc);
3529*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3530*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3531*0a6a1f1dSLionel Sambuc 
3532*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsl(vi, vus);
3533*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3534*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3535*0a6a1f1dSLionel Sambuc 
3536*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsl(vi, vui);
3537*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3538*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3539*0a6a1f1dSLionel Sambuc 
3540*0a6a1f1dSLionel Sambuc   res_vui = vec_vsl(vui, vuc);
3541*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3542*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3543*0a6a1f1dSLionel Sambuc 
3544*0a6a1f1dSLionel Sambuc   res_vui = vec_vsl(vui, vus);
3545*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3546*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3547*0a6a1f1dSLionel Sambuc 
3548*0a6a1f1dSLionel Sambuc   res_vui = vec_vsl(vui, vui);
3549*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3550*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3551*0a6a1f1dSLionel Sambuc 
3552*0a6a1f1dSLionel Sambuc   res_vbi = vec_vsl(vbi, vuc);
3553*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3554*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3555*0a6a1f1dSLionel Sambuc 
3556*0a6a1f1dSLionel Sambuc   res_vbi = vec_vsl(vbi, vus);
3557*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3558*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3559*0a6a1f1dSLionel Sambuc 
3560*0a6a1f1dSLionel Sambuc   res_vbi = vec_vsl(vbi, vui);
3561*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsl
3562*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsl
3563f4a2713aSLionel Sambuc 
3564f4a2713aSLionel Sambuc   /* vec_slo */
3565*0a6a1f1dSLionel Sambuc   res_vsc = vec_slo(vsc, vsc);
3566*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3567*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3568*0a6a1f1dSLionel Sambuc 
3569*0a6a1f1dSLionel Sambuc   res_vsc = vec_slo(vsc, vuc);
3570*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3571*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3572*0a6a1f1dSLionel Sambuc 
3573*0a6a1f1dSLionel Sambuc   res_vuc = vec_slo(vuc, vsc);
3574*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3575*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3576*0a6a1f1dSLionel Sambuc 
3577*0a6a1f1dSLionel Sambuc   res_vuc = vec_slo(vuc, vuc);
3578*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3579*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3580*0a6a1f1dSLionel Sambuc 
3581*0a6a1f1dSLionel Sambuc   res_vs  = vec_slo(vs, vsc);
3582*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3583*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3584*0a6a1f1dSLionel Sambuc 
3585*0a6a1f1dSLionel Sambuc   res_vs  = vec_slo(vs, vuc);
3586*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3587*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3588*0a6a1f1dSLionel Sambuc 
3589*0a6a1f1dSLionel Sambuc   res_vus = vec_slo(vus, vsc);
3590*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3591*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3592*0a6a1f1dSLionel Sambuc 
3593*0a6a1f1dSLionel Sambuc   res_vus = vec_slo(vus, vuc);
3594*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3595*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3596*0a6a1f1dSLionel Sambuc 
3597*0a6a1f1dSLionel Sambuc   res_vp  = vec_slo(vp, vsc);
3598*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3599*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3600*0a6a1f1dSLionel Sambuc 
3601*0a6a1f1dSLionel Sambuc   res_vp  = vec_slo(vp, vuc);
3602*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3603*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3604*0a6a1f1dSLionel Sambuc 
3605*0a6a1f1dSLionel Sambuc   res_vi  = vec_slo(vi, vsc);
3606*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3607*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3608*0a6a1f1dSLionel Sambuc 
3609*0a6a1f1dSLionel Sambuc   res_vi  = vec_slo(vi, vuc);
3610*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3611*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3612*0a6a1f1dSLionel Sambuc 
3613*0a6a1f1dSLionel Sambuc   res_vui = vec_slo(vui, vsc);
3614*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3615*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3616*0a6a1f1dSLionel Sambuc 
3617*0a6a1f1dSLionel Sambuc   res_vui = vec_slo(vui, vuc);
3618*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3619*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3620*0a6a1f1dSLionel Sambuc 
3621*0a6a1f1dSLionel Sambuc   res_vf  = vec_slo(vf, vsc);
3622*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3623*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3624*0a6a1f1dSLionel Sambuc 
3625*0a6a1f1dSLionel Sambuc   res_vf  = vec_slo(vf, vuc);
3626*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3627*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3628*0a6a1f1dSLionel Sambuc 
3629*0a6a1f1dSLionel Sambuc   res_vsc = vec_vslo(vsc, vsc);
3630*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3631*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3632*0a6a1f1dSLionel Sambuc 
3633*0a6a1f1dSLionel Sambuc   res_vsc = vec_vslo(vsc, vuc);
3634*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3635*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3636*0a6a1f1dSLionel Sambuc 
3637*0a6a1f1dSLionel Sambuc   res_vuc = vec_vslo(vuc, vsc);
3638*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3639*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3640*0a6a1f1dSLionel Sambuc 
3641*0a6a1f1dSLionel Sambuc   res_vuc = vec_vslo(vuc, vuc);
3642*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3643*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3644*0a6a1f1dSLionel Sambuc 
3645*0a6a1f1dSLionel Sambuc   res_vs  = vec_vslo(vs, vsc);
3646*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3647*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3648*0a6a1f1dSLionel Sambuc 
3649*0a6a1f1dSLionel Sambuc   res_vs  = vec_vslo(vs, vuc);
3650*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3651*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3652*0a6a1f1dSLionel Sambuc 
3653*0a6a1f1dSLionel Sambuc   res_vus = vec_vslo(vus, vsc);
3654*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3655*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3656*0a6a1f1dSLionel Sambuc 
3657*0a6a1f1dSLionel Sambuc   res_vus = vec_vslo(vus, vuc);
3658*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3659*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3660*0a6a1f1dSLionel Sambuc 
3661*0a6a1f1dSLionel Sambuc   res_vp  = vec_vslo(vp, vsc);
3662*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3663*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3664*0a6a1f1dSLionel Sambuc 
3665*0a6a1f1dSLionel Sambuc   res_vp  = vec_vslo(vp, vuc);
3666*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3667*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3668*0a6a1f1dSLionel Sambuc 
3669*0a6a1f1dSLionel Sambuc   res_vi  = vec_vslo(vi, vsc);
3670*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3671*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3672*0a6a1f1dSLionel Sambuc 
3673*0a6a1f1dSLionel Sambuc   res_vi  = vec_vslo(vi, vuc);
3674*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3675*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3676*0a6a1f1dSLionel Sambuc 
3677*0a6a1f1dSLionel Sambuc   res_vui = vec_vslo(vui, vsc);
3678*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3679*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3680*0a6a1f1dSLionel Sambuc 
3681*0a6a1f1dSLionel Sambuc   res_vui = vec_vslo(vui, vuc);
3682*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3683*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3684*0a6a1f1dSLionel Sambuc 
3685*0a6a1f1dSLionel Sambuc   res_vf  = vec_vslo(vf, vsc);
3686*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3687*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3688*0a6a1f1dSLionel Sambuc 
3689*0a6a1f1dSLionel Sambuc   res_vf  = vec_vslo(vf, vuc);
3690*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vslo
3691*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vslo
3692f4a2713aSLionel Sambuc 
3693f4a2713aSLionel Sambuc   /* vec_splat */
3694*0a6a1f1dSLionel Sambuc   res_vsc = vec_splat(vsc, 0);
3695*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3696*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3697*0a6a1f1dSLionel Sambuc 
3698*0a6a1f1dSLionel Sambuc   res_vuc = vec_splat(vuc, 0);
3699*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3700*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3701*0a6a1f1dSLionel Sambuc 
3702*0a6a1f1dSLionel Sambuc   res_vbc = vec_splat(vbc, 0);
3703*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3704*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3705*0a6a1f1dSLionel Sambuc 
3706*0a6a1f1dSLionel Sambuc   res_vs  = vec_splat(vs, 0);
3707*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3708*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3709*0a6a1f1dSLionel Sambuc 
3710*0a6a1f1dSLionel Sambuc   res_vus = vec_splat(vus, 0);
3711*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3712*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3713*0a6a1f1dSLionel Sambuc 
3714*0a6a1f1dSLionel Sambuc   res_vbs = vec_splat(vbs, 0);
3715*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3716*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3717*0a6a1f1dSLionel Sambuc 
3718*0a6a1f1dSLionel Sambuc   res_vp  = vec_splat(vp, 0);
3719*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3720*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3721*0a6a1f1dSLionel Sambuc 
3722*0a6a1f1dSLionel Sambuc   res_vi  = vec_splat(vi, 0);
3723*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3724*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3725*0a6a1f1dSLionel Sambuc 
3726*0a6a1f1dSLionel Sambuc   res_vui = vec_splat(vui, 0);
3727*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3728*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3729*0a6a1f1dSLionel Sambuc 
3730*0a6a1f1dSLionel Sambuc   res_vbi = vec_splat(vbi, 0);
3731*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3732*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3733*0a6a1f1dSLionel Sambuc 
3734*0a6a1f1dSLionel Sambuc   res_vf  = vec_splat(vf, 0);
3735*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3736*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3737*0a6a1f1dSLionel Sambuc 
3738*0a6a1f1dSLionel Sambuc   res_vsc = vec_vspltb(vsc, 0);
3739*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3740*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3741*0a6a1f1dSLionel Sambuc 
3742*0a6a1f1dSLionel Sambuc   res_vuc = vec_vspltb(vuc, 0);
3743*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3744*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3745*0a6a1f1dSLionel Sambuc 
3746*0a6a1f1dSLionel Sambuc   res_vbc = vec_vspltb(vbc, 0);
3747*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3748*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3749*0a6a1f1dSLionel Sambuc 
3750*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsplth(vs, 0);
3751*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3752*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3753*0a6a1f1dSLionel Sambuc 
3754*0a6a1f1dSLionel Sambuc   res_vus = vec_vsplth(vus, 0);
3755*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3756*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3757*0a6a1f1dSLionel Sambuc 
3758*0a6a1f1dSLionel Sambuc   res_vbs = vec_vsplth(vbs, 0);
3759*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3760*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3761*0a6a1f1dSLionel Sambuc 
3762*0a6a1f1dSLionel Sambuc   res_vp  = vec_vsplth(vp, 0);
3763*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3764*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3765*0a6a1f1dSLionel Sambuc 
3766*0a6a1f1dSLionel Sambuc   res_vi  = vec_vspltw(vi, 0);
3767*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3768*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3769*0a6a1f1dSLionel Sambuc 
3770*0a6a1f1dSLionel Sambuc   res_vui = vec_vspltw(vui, 0);
3771*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3772*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3773*0a6a1f1dSLionel Sambuc 
3774*0a6a1f1dSLionel Sambuc   res_vbi = vec_vspltw(vbi, 0);
3775*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3776*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3777*0a6a1f1dSLionel Sambuc 
3778*0a6a1f1dSLionel Sambuc   res_vf  = vec_vspltw(vf, 0);
3779*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
3780*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
3781f4a2713aSLionel Sambuc 
3782f4a2713aSLionel Sambuc   /* vec_splat_s8 */
3783f4a2713aSLionel Sambuc   res_vsc = vec_splat_s8(0x09);                 // TODO: add check
3784f4a2713aSLionel Sambuc   res_vsc = vec_vspltisb(0x09);                 // TODO: add check
3785f4a2713aSLionel Sambuc 
3786f4a2713aSLionel Sambuc   /* vec_splat_s16 */
3787f4a2713aSLionel Sambuc   res_vs = vec_splat_s16(0x09);                 // TODO: add check
3788f4a2713aSLionel Sambuc   res_vs = vec_vspltish(0x09);                  // TODO: add check
3789f4a2713aSLionel Sambuc 
3790f4a2713aSLionel Sambuc   /* vec_splat_s32 */
3791f4a2713aSLionel Sambuc   res_vi = vec_splat_s32(0x09);                 // TODO: add check
3792f4a2713aSLionel Sambuc   res_vi = vec_vspltisw(0x09);                  // TODO: add check
3793f4a2713aSLionel Sambuc 
3794f4a2713aSLionel Sambuc   /* vec_splat_u8 */
3795f4a2713aSLionel Sambuc   res_vuc = vec_splat_u8(0x09);                 // TODO: add check
3796f4a2713aSLionel Sambuc 
3797f4a2713aSLionel Sambuc   /* vec_splat_u16 */
3798f4a2713aSLionel Sambuc   res_vus = vec_splat_u16(0x09);                // TODO: add check
3799f4a2713aSLionel Sambuc 
3800f4a2713aSLionel Sambuc   /* vec_splat_u32 */
3801f4a2713aSLionel Sambuc   res_vui = vec_splat_u32(0x09);                // TODO: add check
3802f4a2713aSLionel Sambuc 
3803f4a2713aSLionel Sambuc   /* vec_sr */
3804*0a6a1f1dSLionel Sambuc   res_vsc = vec_sr(vsc, vuc);
3805*0a6a1f1dSLionel Sambuc // CHECK: shr <16 x i8>
3806*0a6a1f1dSLionel Sambuc // CHECK-LE: shr <16 x i8>
3807*0a6a1f1dSLionel Sambuc 
3808*0a6a1f1dSLionel Sambuc   res_vuc = vec_sr(vuc, vuc);
3809*0a6a1f1dSLionel Sambuc // CHECK: shr <16 x i8>
3810*0a6a1f1dSLionel Sambuc // CHECK-LE: shr <16 x i8>
3811*0a6a1f1dSLionel Sambuc 
3812*0a6a1f1dSLionel Sambuc   res_vs  = vec_sr(vs, vus);
3813*0a6a1f1dSLionel Sambuc // CHECK: shr <8 x i16>
3814*0a6a1f1dSLionel Sambuc // CHECK-LE: shr <8 x i16>
3815*0a6a1f1dSLionel Sambuc 
3816*0a6a1f1dSLionel Sambuc   res_vus = vec_sr(vus, vus);
3817*0a6a1f1dSLionel Sambuc // CHECK: shr <8 x i16>
3818*0a6a1f1dSLionel Sambuc // CHECK-LE: shr <8 x i16>
3819*0a6a1f1dSLionel Sambuc 
3820*0a6a1f1dSLionel Sambuc   res_vi  = vec_sr(vi, vui);
3821*0a6a1f1dSLionel Sambuc // CHECK: shr <4 x i32>
3822*0a6a1f1dSLionel Sambuc // CHECK-LE: shr <4 x i32>
3823*0a6a1f1dSLionel Sambuc 
3824*0a6a1f1dSLionel Sambuc   res_vui = vec_sr(vui, vui);
3825*0a6a1f1dSLionel Sambuc // CHECK: shr <4 x i32>
3826*0a6a1f1dSLionel Sambuc // CHECK-LE: shr <4 x i32>
3827*0a6a1f1dSLionel Sambuc 
3828*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsrb(vsc, vuc);
3829*0a6a1f1dSLionel Sambuc // CHECK: shr <16 x i8>
3830*0a6a1f1dSLionel Sambuc // CHECK-LE: shr <16 x i8>
3831*0a6a1f1dSLionel Sambuc 
3832*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsrb(vuc, vuc);
3833*0a6a1f1dSLionel Sambuc // CHECK: shr <16 x i8>
3834*0a6a1f1dSLionel Sambuc // CHECK-LE: shr <16 x i8>
3835*0a6a1f1dSLionel Sambuc 
3836*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsrh(vs, vus);
3837*0a6a1f1dSLionel Sambuc // CHECK: shr <8 x i16>
3838*0a6a1f1dSLionel Sambuc // CHECK-LE: shr <8 x i16>
3839*0a6a1f1dSLionel Sambuc 
3840*0a6a1f1dSLionel Sambuc   res_vus = vec_vsrh(vus, vus);
3841*0a6a1f1dSLionel Sambuc // CHECK: shr <8 x i16>
3842*0a6a1f1dSLionel Sambuc // CHECK-LE: shr <8 x i16>
3843*0a6a1f1dSLionel Sambuc 
3844*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsrw(vi, vui);
3845*0a6a1f1dSLionel Sambuc // CHECK: shr <4 x i32>
3846*0a6a1f1dSLionel Sambuc // CHECK-LE: shr <4 x i32>
3847*0a6a1f1dSLionel Sambuc 
3848*0a6a1f1dSLionel Sambuc   res_vui = vec_vsrw(vui, vui);
3849*0a6a1f1dSLionel Sambuc // CHECK: shr <4 x i32>
3850*0a6a1f1dSLionel Sambuc // CHECK-LE: shr <4 x i32>
3851f4a2713aSLionel Sambuc 
3852f4a2713aSLionel Sambuc   /* vec_sra */
3853*0a6a1f1dSLionel Sambuc   res_vsc = vec_sra(vsc, vuc);
3854*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsrab
3855*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsrab
3856*0a6a1f1dSLionel Sambuc 
3857*0a6a1f1dSLionel Sambuc   res_vuc = vec_sra(vuc, vuc);
3858*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsrab
3859*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsrab
3860*0a6a1f1dSLionel Sambuc 
3861*0a6a1f1dSLionel Sambuc   res_vs  = vec_sra(vs, vus);
3862*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsrah
3863*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsrah
3864*0a6a1f1dSLionel Sambuc 
3865*0a6a1f1dSLionel Sambuc   res_vus = vec_sra(vus, vus);
3866*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsrah
3867*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsrah
3868*0a6a1f1dSLionel Sambuc 
3869*0a6a1f1dSLionel Sambuc   res_vi  = vec_sra(vi, vui);
3870*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsraw
3871*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsraw
3872*0a6a1f1dSLionel Sambuc 
3873*0a6a1f1dSLionel Sambuc   res_vui = vec_sra(vui, vui);
3874*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsraw
3875*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsraw
3876*0a6a1f1dSLionel Sambuc 
3877*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsrab(vsc, vuc);
3878*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsrab
3879*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsrab
3880*0a6a1f1dSLionel Sambuc 
3881*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsrab(vuc, vuc);
3882*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsrab
3883*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsrab
3884*0a6a1f1dSLionel Sambuc 
3885*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsrah(vs, vus);
3886*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsrah
3887*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsrah
3888*0a6a1f1dSLionel Sambuc 
3889*0a6a1f1dSLionel Sambuc   res_vus = vec_vsrah(vus, vus);
3890*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsrah
3891*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsrah
3892*0a6a1f1dSLionel Sambuc 
3893*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsraw(vi, vui);
3894*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsraw
3895*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsraw
3896*0a6a1f1dSLionel Sambuc 
3897*0a6a1f1dSLionel Sambuc   res_vui = vec_vsraw(vui, vui);
3898*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsraw
3899*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsraw
3900f4a2713aSLionel Sambuc 
3901f4a2713aSLionel Sambuc   /* vec_srl */
3902*0a6a1f1dSLionel Sambuc   res_vsc = vec_srl(vsc, vuc);
3903*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3904*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3905*0a6a1f1dSLionel Sambuc 
3906*0a6a1f1dSLionel Sambuc   res_vsc = vec_srl(vsc, vus);
3907*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3908*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3909*0a6a1f1dSLionel Sambuc 
3910*0a6a1f1dSLionel Sambuc   res_vsc = vec_srl(vsc, vui);
3911*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3912*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3913*0a6a1f1dSLionel Sambuc 
3914*0a6a1f1dSLionel Sambuc   res_vuc = vec_srl(vuc, vuc);
3915*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3916*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3917*0a6a1f1dSLionel Sambuc 
3918*0a6a1f1dSLionel Sambuc   res_vuc = vec_srl(vuc, vus);
3919*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3920*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3921*0a6a1f1dSLionel Sambuc 
3922*0a6a1f1dSLionel Sambuc   res_vuc = vec_srl(vuc, vui);
3923*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3924*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3925*0a6a1f1dSLionel Sambuc 
3926*0a6a1f1dSLionel Sambuc   res_vbc = vec_srl(vbc, vuc);
3927*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3928*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3929*0a6a1f1dSLionel Sambuc 
3930*0a6a1f1dSLionel Sambuc   res_vbc = vec_srl(vbc, vus);
3931*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3932*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3933*0a6a1f1dSLionel Sambuc 
3934*0a6a1f1dSLionel Sambuc   res_vbc = vec_srl(vbc, vui);
3935*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3936*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3937*0a6a1f1dSLionel Sambuc 
3938*0a6a1f1dSLionel Sambuc   res_vs  = vec_srl(vs, vuc);
3939*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3940*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3941*0a6a1f1dSLionel Sambuc 
3942*0a6a1f1dSLionel Sambuc   res_vs  = vec_srl(vs, vus);
3943*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3944*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3945*0a6a1f1dSLionel Sambuc 
3946*0a6a1f1dSLionel Sambuc   res_vs  = vec_srl(vs, vui);
3947*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3948*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3949*0a6a1f1dSLionel Sambuc 
3950*0a6a1f1dSLionel Sambuc   res_vus = vec_srl(vus, vuc);
3951*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3952*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3953*0a6a1f1dSLionel Sambuc 
3954*0a6a1f1dSLionel Sambuc   res_vus = vec_srl(vus, vus);
3955*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3956*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3957*0a6a1f1dSLionel Sambuc 
3958*0a6a1f1dSLionel Sambuc   res_vus = vec_srl(vus, vui);
3959*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3960*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3961*0a6a1f1dSLionel Sambuc 
3962*0a6a1f1dSLionel Sambuc   res_vbs = vec_srl(vbs, vuc);
3963*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3964*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3965*0a6a1f1dSLionel Sambuc 
3966*0a6a1f1dSLionel Sambuc   res_vbs = vec_srl(vbs, vus);
3967*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3968*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3969*0a6a1f1dSLionel Sambuc 
3970*0a6a1f1dSLionel Sambuc   res_vbs = vec_srl(vbs, vui);
3971*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3972*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3973*0a6a1f1dSLionel Sambuc 
3974*0a6a1f1dSLionel Sambuc   res_vp  = vec_srl(vp, vuc);
3975*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3976*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3977*0a6a1f1dSLionel Sambuc 
3978*0a6a1f1dSLionel Sambuc   res_vp  = vec_srl(vp, vus);
3979*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3980*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3981*0a6a1f1dSLionel Sambuc 
3982*0a6a1f1dSLionel Sambuc   res_vp  = vec_srl(vp, vui);
3983*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3984*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3985*0a6a1f1dSLionel Sambuc 
3986*0a6a1f1dSLionel Sambuc   res_vi  = vec_srl(vi, vuc);
3987*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3988*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3989*0a6a1f1dSLionel Sambuc 
3990*0a6a1f1dSLionel Sambuc   res_vi  = vec_srl(vi, vus);
3991*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3992*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3993*0a6a1f1dSLionel Sambuc 
3994*0a6a1f1dSLionel Sambuc   res_vi  = vec_srl(vi, vui);
3995*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
3996*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
3997*0a6a1f1dSLionel Sambuc 
3998*0a6a1f1dSLionel Sambuc   res_vui = vec_srl(vui, vuc);
3999*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4000*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4001*0a6a1f1dSLionel Sambuc 
4002*0a6a1f1dSLionel Sambuc   res_vui = vec_srl(vui, vus);
4003*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4004*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4005*0a6a1f1dSLionel Sambuc 
4006*0a6a1f1dSLionel Sambuc   res_vui = vec_srl(vui, vui);
4007*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4008*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4009*0a6a1f1dSLionel Sambuc 
4010*0a6a1f1dSLionel Sambuc   res_vbi = vec_srl(vbi, vuc);
4011*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4012*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4013*0a6a1f1dSLionel Sambuc 
4014*0a6a1f1dSLionel Sambuc   res_vbi = vec_srl(vbi, vus);
4015*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4016*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4017*0a6a1f1dSLionel Sambuc 
4018*0a6a1f1dSLionel Sambuc   res_vbi = vec_srl(vbi, vui);
4019*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4020*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4021*0a6a1f1dSLionel Sambuc 
4022*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsr(vsc, vuc);
4023*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4024*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4025*0a6a1f1dSLionel Sambuc 
4026*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsr(vsc, vus);
4027*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4028*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4029*0a6a1f1dSLionel Sambuc 
4030*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsr(vsc, vui);
4031*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4032*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4033*0a6a1f1dSLionel Sambuc 
4034*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsr(vuc, vuc);
4035*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4036*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4037*0a6a1f1dSLionel Sambuc 
4038*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsr(vuc, vus);
4039*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4040*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4041*0a6a1f1dSLionel Sambuc 
4042*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsr(vuc, vui);
4043*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4044*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4045*0a6a1f1dSLionel Sambuc 
4046*0a6a1f1dSLionel Sambuc   res_vbc = vec_vsr(vbc, vuc);
4047*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4048*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4049*0a6a1f1dSLionel Sambuc 
4050*0a6a1f1dSLionel Sambuc   res_vbc = vec_vsr(vbc, vus);
4051*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4052*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4053*0a6a1f1dSLionel Sambuc 
4054*0a6a1f1dSLionel Sambuc   res_vbc = vec_vsr(vbc, vui);
4055*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4056*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4057*0a6a1f1dSLionel Sambuc 
4058*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsr(vs, vuc);
4059*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4060*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4061*0a6a1f1dSLionel Sambuc 
4062*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsr(vs, vus);
4063*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4064*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4065*0a6a1f1dSLionel Sambuc 
4066*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsr(vs, vui);
4067*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4068*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4069*0a6a1f1dSLionel Sambuc 
4070*0a6a1f1dSLionel Sambuc   res_vus = vec_vsr(vus, vuc);
4071*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4072*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4073*0a6a1f1dSLionel Sambuc 
4074*0a6a1f1dSLionel Sambuc   res_vus = vec_vsr(vus, vus);
4075*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4076*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4077*0a6a1f1dSLionel Sambuc 
4078*0a6a1f1dSLionel Sambuc   res_vus = vec_vsr(vus, vui);
4079*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4080*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4081*0a6a1f1dSLionel Sambuc 
4082*0a6a1f1dSLionel Sambuc   res_vbs = vec_vsr(vbs, vuc);
4083*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4084*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4085*0a6a1f1dSLionel Sambuc 
4086*0a6a1f1dSLionel Sambuc   res_vbs = vec_vsr(vbs, vus);
4087*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4088*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4089*0a6a1f1dSLionel Sambuc 
4090*0a6a1f1dSLionel Sambuc   res_vbs = vec_vsr(vbs, vui);
4091*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4092*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4093*0a6a1f1dSLionel Sambuc 
4094*0a6a1f1dSLionel Sambuc   res_vp  = vec_vsr(vp, vuc);
4095*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4096*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4097*0a6a1f1dSLionel Sambuc 
4098*0a6a1f1dSLionel Sambuc   res_vp  = vec_vsr(vp, vus);
4099*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4100*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4101*0a6a1f1dSLionel Sambuc 
4102*0a6a1f1dSLionel Sambuc   res_vp  = vec_vsr(vp, vui);
4103*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4104*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4105*0a6a1f1dSLionel Sambuc 
4106*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsr(vi, vuc);
4107*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4108*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4109*0a6a1f1dSLionel Sambuc 
4110*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsr(vi, vus);
4111*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4112*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4113*0a6a1f1dSLionel Sambuc 
4114*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsr(vi, vui);
4115*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4116*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4117*0a6a1f1dSLionel Sambuc 
4118*0a6a1f1dSLionel Sambuc   res_vui = vec_vsr(vui, vuc);
4119*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4120*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4121*0a6a1f1dSLionel Sambuc 
4122*0a6a1f1dSLionel Sambuc   res_vui = vec_vsr(vui, vus);
4123*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4124*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4125*0a6a1f1dSLionel Sambuc 
4126*0a6a1f1dSLionel Sambuc   res_vui = vec_vsr(vui, vui);
4127*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4128*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4129*0a6a1f1dSLionel Sambuc 
4130*0a6a1f1dSLionel Sambuc   res_vbi = vec_vsr(vbi, vuc);
4131*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4132*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4133*0a6a1f1dSLionel Sambuc 
4134*0a6a1f1dSLionel Sambuc   res_vbi = vec_vsr(vbi, vus);
4135*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4136*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4137*0a6a1f1dSLionel Sambuc 
4138*0a6a1f1dSLionel Sambuc   res_vbi = vec_vsr(vbi, vui);
4139*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsr
4140*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsr
4141f4a2713aSLionel Sambuc 
4142f4a2713aSLionel Sambuc   /* vec_sro */
4143*0a6a1f1dSLionel Sambuc   res_vsc = vec_sro(vsc, vsc);
4144*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4145*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4146*0a6a1f1dSLionel Sambuc 
4147*0a6a1f1dSLionel Sambuc   res_vsc = vec_sro(vsc, vuc);
4148*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4149*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4150*0a6a1f1dSLionel Sambuc 
4151*0a6a1f1dSLionel Sambuc   res_vuc = vec_sro(vuc, vsc);
4152*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4153*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4154*0a6a1f1dSLionel Sambuc 
4155*0a6a1f1dSLionel Sambuc   res_vuc = vec_sro(vuc, vuc);
4156*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4157*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4158*0a6a1f1dSLionel Sambuc 
4159*0a6a1f1dSLionel Sambuc   res_vs  = vec_sro(vs, vsc);
4160*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4161*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4162*0a6a1f1dSLionel Sambuc 
4163*0a6a1f1dSLionel Sambuc   res_vs  = vec_sro(vs, vuc);
4164*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4165*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4166*0a6a1f1dSLionel Sambuc 
4167*0a6a1f1dSLionel Sambuc   res_vus = vec_sro(vus, vsc);
4168*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4169*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4170*0a6a1f1dSLionel Sambuc 
4171*0a6a1f1dSLionel Sambuc   res_vus = vec_sro(vus, vuc);
4172*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4173*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4174*0a6a1f1dSLionel Sambuc 
4175*0a6a1f1dSLionel Sambuc   res_vp  = vec_sro(vp, vsc);
4176*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4177*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4178*0a6a1f1dSLionel Sambuc 
4179*0a6a1f1dSLionel Sambuc   res_vp  = vec_sro(vp, vuc);
4180*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4181*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4182*0a6a1f1dSLionel Sambuc 
4183*0a6a1f1dSLionel Sambuc   res_vi  = vec_sro(vi, vsc);
4184*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4185*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4186*0a6a1f1dSLionel Sambuc 
4187*0a6a1f1dSLionel Sambuc   res_vi  = vec_sro(vi, vuc);
4188*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4189*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4190*0a6a1f1dSLionel Sambuc 
4191*0a6a1f1dSLionel Sambuc   res_vui = vec_sro(vui, vsc);
4192*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4193*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4194*0a6a1f1dSLionel Sambuc 
4195*0a6a1f1dSLionel Sambuc   res_vui = vec_sro(vui, vuc);
4196*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4197*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4198*0a6a1f1dSLionel Sambuc 
4199*0a6a1f1dSLionel Sambuc   res_vf  = vec_sro(vf, vsc);
4200*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4201*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4202*0a6a1f1dSLionel Sambuc 
4203*0a6a1f1dSLionel Sambuc   res_vf  = vec_sro(vf, vuc);
4204*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4205*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4206*0a6a1f1dSLionel Sambuc 
4207*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsro(vsc, vsc);
4208*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4209*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4210*0a6a1f1dSLionel Sambuc 
4211*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsro(vsc, vuc);
4212*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4213*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4214*0a6a1f1dSLionel Sambuc 
4215*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsro(vuc, vsc);
4216*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4217*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4218*0a6a1f1dSLionel Sambuc 
4219*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsro(vuc, vuc);
4220*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4221*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4222*0a6a1f1dSLionel Sambuc 
4223*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsro(vs, vsc);
4224*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4225*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4226*0a6a1f1dSLionel Sambuc 
4227*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsro(vs, vuc);
4228*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4229*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4230*0a6a1f1dSLionel Sambuc 
4231*0a6a1f1dSLionel Sambuc   res_vus = vec_vsro(vus, vsc);
4232*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4233*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4234*0a6a1f1dSLionel Sambuc 
4235*0a6a1f1dSLionel Sambuc   res_vus = vec_vsro(vus, vuc);
4236*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4237*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4238*0a6a1f1dSLionel Sambuc 
4239*0a6a1f1dSLionel Sambuc   res_vp  = vec_vsro(vp, vsc);
4240*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4241*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4242*0a6a1f1dSLionel Sambuc 
4243*0a6a1f1dSLionel Sambuc   res_vp  = vec_vsro(vp, vuc);
4244*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4245*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4246*0a6a1f1dSLionel Sambuc 
4247*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsro(vi, vsc);
4248*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4249*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4250*0a6a1f1dSLionel Sambuc 
4251*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsro(vi, vuc);
4252*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4253*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4254*0a6a1f1dSLionel Sambuc 
4255*0a6a1f1dSLionel Sambuc   res_vui = vec_vsro(vui, vsc);
4256*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4257*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4258*0a6a1f1dSLionel Sambuc 
4259*0a6a1f1dSLionel Sambuc   res_vui = vec_vsro(vui, vuc);
4260*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4261*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4262*0a6a1f1dSLionel Sambuc 
4263*0a6a1f1dSLionel Sambuc   res_vf  = vec_vsro(vf, vsc);
4264*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4265*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4266*0a6a1f1dSLionel Sambuc 
4267*0a6a1f1dSLionel Sambuc   res_vf  = vec_vsro(vf, vuc);
4268*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsro
4269*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsro
4270f4a2713aSLionel Sambuc 
4271f4a2713aSLionel Sambuc   /* vec_st */
4272*0a6a1f1dSLionel Sambuc   vec_st(vsc, 0, &vsc);
4273*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4274*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4275*0a6a1f1dSLionel Sambuc 
4276*0a6a1f1dSLionel Sambuc   vec_st(vsc, 0, &param_sc);
4277*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4278*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4279*0a6a1f1dSLionel Sambuc 
4280*0a6a1f1dSLionel Sambuc   vec_st(vuc, 0, &vuc);
4281*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4282*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4283*0a6a1f1dSLionel Sambuc 
4284*0a6a1f1dSLionel Sambuc   vec_st(vuc, 0, &param_uc);
4285*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4286*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4287*0a6a1f1dSLionel Sambuc 
4288*0a6a1f1dSLionel Sambuc   vec_st(vbc, 0, &param_uc);
4289*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4290*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4291*0a6a1f1dSLionel Sambuc 
4292*0a6a1f1dSLionel Sambuc   vec_st(vbc, 0, &param_uc);
4293*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4294*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4295*0a6a1f1dSLionel Sambuc 
4296*0a6a1f1dSLionel Sambuc   vec_st(vbc, 0, &vbc);
4297*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4298*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4299*0a6a1f1dSLionel Sambuc 
4300*0a6a1f1dSLionel Sambuc   vec_st(vs, 0, &vs);
4301*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4302*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4303*0a6a1f1dSLionel Sambuc 
4304*0a6a1f1dSLionel Sambuc   vec_st(vs, 0, &param_s);
4305*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4306*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4307*0a6a1f1dSLionel Sambuc 
4308*0a6a1f1dSLionel Sambuc   vec_st(vus, 0, &vus);
4309*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4310*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4311*0a6a1f1dSLionel Sambuc 
4312*0a6a1f1dSLionel Sambuc   vec_st(vus, 0, &param_us);
4313*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4314*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4315*0a6a1f1dSLionel Sambuc 
4316*0a6a1f1dSLionel Sambuc   vec_st(vbs, 0, &param_s);
4317*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4318*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4319*0a6a1f1dSLionel Sambuc 
4320*0a6a1f1dSLionel Sambuc   vec_st(vbs, 0, &param_us);
4321*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4322*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4323*0a6a1f1dSLionel Sambuc 
4324*0a6a1f1dSLionel Sambuc   vec_st(vbs, 0, &vbs);
4325*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4326*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4327*0a6a1f1dSLionel Sambuc 
4328*0a6a1f1dSLionel Sambuc   vec_st(vp, 0, &param_s);
4329*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4330*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4331*0a6a1f1dSLionel Sambuc 
4332*0a6a1f1dSLionel Sambuc   vec_st(vp, 0, &param_us);
4333*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4334*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4335*0a6a1f1dSLionel Sambuc 
4336*0a6a1f1dSLionel Sambuc   vec_st(vp, 0, &vp);
4337*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4338*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4339*0a6a1f1dSLionel Sambuc 
4340*0a6a1f1dSLionel Sambuc   vec_st(vi, 0, &vi);
4341*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4342*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4343*0a6a1f1dSLionel Sambuc 
4344*0a6a1f1dSLionel Sambuc   vec_st(vi, 0, &param_i);
4345*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4346*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4347*0a6a1f1dSLionel Sambuc 
4348*0a6a1f1dSLionel Sambuc   vec_st(vui, 0, &vui);
4349*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4350*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4351*0a6a1f1dSLionel Sambuc 
4352*0a6a1f1dSLionel Sambuc   vec_st(vui, 0, &param_ui);
4353*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4354*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4355*0a6a1f1dSLionel Sambuc 
4356*0a6a1f1dSLionel Sambuc   vec_st(vbi, 0, &param_i);
4357*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4358*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4359*0a6a1f1dSLionel Sambuc 
4360*0a6a1f1dSLionel Sambuc   vec_st(vbi, 0, &param_ui);
4361*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4362*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4363*0a6a1f1dSLionel Sambuc 
4364*0a6a1f1dSLionel Sambuc   vec_st(vbi, 0, &vbi);
4365*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4366*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4367*0a6a1f1dSLionel Sambuc 
4368*0a6a1f1dSLionel Sambuc   vec_st(vf, 0, &vf);
4369*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4370*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4371*0a6a1f1dSLionel Sambuc 
4372*0a6a1f1dSLionel Sambuc   vec_st(vf, 0, &param_f);
4373*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4374*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4375*0a6a1f1dSLionel Sambuc 
4376*0a6a1f1dSLionel Sambuc   vec_stvx(vsc, 0, &vsc);
4377*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4378*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4379*0a6a1f1dSLionel Sambuc 
4380*0a6a1f1dSLionel Sambuc   vec_stvx(vsc, 0, &param_sc);
4381*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4382*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4383*0a6a1f1dSLionel Sambuc 
4384*0a6a1f1dSLionel Sambuc   vec_stvx(vuc, 0, &vuc);
4385*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4386*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4387*0a6a1f1dSLionel Sambuc 
4388*0a6a1f1dSLionel Sambuc   vec_stvx(vuc, 0, &param_uc);
4389*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4390*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4391*0a6a1f1dSLionel Sambuc 
4392*0a6a1f1dSLionel Sambuc   vec_stvx(vbc, 0, &param_uc);
4393*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4394*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4395*0a6a1f1dSLionel Sambuc 
4396*0a6a1f1dSLionel Sambuc   vec_stvx(vbc, 0, &param_uc);
4397*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4398*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4399*0a6a1f1dSLionel Sambuc 
4400*0a6a1f1dSLionel Sambuc   vec_stvx(vbc, 0, &vbc);
4401*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4402*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4403*0a6a1f1dSLionel Sambuc 
4404*0a6a1f1dSLionel Sambuc   vec_stvx(vs, 0, &vs);
4405*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4406*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4407*0a6a1f1dSLionel Sambuc 
4408*0a6a1f1dSLionel Sambuc   vec_stvx(vs, 0, &param_s);
4409*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4410*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4411*0a6a1f1dSLionel Sambuc 
4412*0a6a1f1dSLionel Sambuc   vec_stvx(vus, 0, &vus);
4413*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4414*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4415*0a6a1f1dSLionel Sambuc 
4416*0a6a1f1dSLionel Sambuc   vec_stvx(vus, 0, &param_us);
4417*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4418*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4419*0a6a1f1dSLionel Sambuc 
4420*0a6a1f1dSLionel Sambuc   vec_stvx(vbs, 0, &param_s);
4421*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4422*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4423*0a6a1f1dSLionel Sambuc 
4424*0a6a1f1dSLionel Sambuc   vec_stvx(vbs, 0, &param_us);
4425*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4426*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4427*0a6a1f1dSLionel Sambuc 
4428*0a6a1f1dSLionel Sambuc   vec_stvx(vbs, 0, &vbs);
4429*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4430*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4431*0a6a1f1dSLionel Sambuc 
4432*0a6a1f1dSLionel Sambuc   vec_stvx(vp, 0, &param_s);
4433*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4434*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4435*0a6a1f1dSLionel Sambuc 
4436*0a6a1f1dSLionel Sambuc   vec_stvx(vp, 0, &param_us);
4437*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4438*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4439*0a6a1f1dSLionel Sambuc 
4440*0a6a1f1dSLionel Sambuc   vec_stvx(vp, 0, &vp);
4441*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4442*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4443*0a6a1f1dSLionel Sambuc 
4444*0a6a1f1dSLionel Sambuc   vec_stvx(vi, 0, &vi);
4445*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4446*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4447*0a6a1f1dSLionel Sambuc 
4448*0a6a1f1dSLionel Sambuc   vec_stvx(vi, 0, &param_i);
4449*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4450*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4451*0a6a1f1dSLionel Sambuc 
4452*0a6a1f1dSLionel Sambuc   vec_stvx(vui, 0, &vui);
4453*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4454*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4455*0a6a1f1dSLionel Sambuc 
4456*0a6a1f1dSLionel Sambuc   vec_stvx(vui, 0, &param_ui);
4457*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4458*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4459*0a6a1f1dSLionel Sambuc 
4460*0a6a1f1dSLionel Sambuc   vec_stvx(vbi, 0, &param_i);
4461*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4462*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4463*0a6a1f1dSLionel Sambuc 
4464*0a6a1f1dSLionel Sambuc   vec_stvx(vbi, 0, &param_ui);
4465*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4466*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4467*0a6a1f1dSLionel Sambuc 
4468*0a6a1f1dSLionel Sambuc   vec_stvx(vbi, 0, &vbi);
4469*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4470*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4471*0a6a1f1dSLionel Sambuc 
4472*0a6a1f1dSLionel Sambuc   vec_stvx(vf, 0, &vf);
4473*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4474*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4475*0a6a1f1dSLionel Sambuc 
4476*0a6a1f1dSLionel Sambuc   vec_stvx(vf, 0, &param_f);
4477*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
4478*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
4479f4a2713aSLionel Sambuc 
4480f4a2713aSLionel Sambuc   /* vec_ste */
4481*0a6a1f1dSLionel Sambuc   vec_ste(vsc, 0, &param_sc);
4482*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvebx
4483*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvebx
4484*0a6a1f1dSLionel Sambuc 
4485*0a6a1f1dSLionel Sambuc   vec_ste(vuc, 0, &param_uc);
4486*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvebx
4487*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvebx
4488*0a6a1f1dSLionel Sambuc 
4489*0a6a1f1dSLionel Sambuc   vec_ste(vbc, 0, &param_sc);
4490*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvebx
4491*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvebx
4492*0a6a1f1dSLionel Sambuc 
4493*0a6a1f1dSLionel Sambuc   vec_ste(vbc, 0, &param_uc);
4494*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvebx
4495*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvebx
4496*0a6a1f1dSLionel Sambuc 
4497*0a6a1f1dSLionel Sambuc   vec_ste(vs, 0, &param_s);
4498*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvehx
4499*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvehx
4500*0a6a1f1dSLionel Sambuc 
4501*0a6a1f1dSLionel Sambuc   vec_ste(vus, 0, &param_us);
4502*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvehx
4503*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvehx
4504*0a6a1f1dSLionel Sambuc 
4505*0a6a1f1dSLionel Sambuc   vec_ste(vbs, 0, &param_s);
4506*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvehx
4507*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvehx
4508*0a6a1f1dSLionel Sambuc 
4509*0a6a1f1dSLionel Sambuc   vec_ste(vbs, 0, &param_us);
4510*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvehx
4511*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvehx
4512*0a6a1f1dSLionel Sambuc 
4513*0a6a1f1dSLionel Sambuc   vec_ste(vp, 0, &param_s);
4514*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvehx
4515*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvehx
4516*0a6a1f1dSLionel Sambuc 
4517*0a6a1f1dSLionel Sambuc   vec_ste(vp, 0, &param_us);
4518*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvehx
4519*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvehx
4520*0a6a1f1dSLionel Sambuc 
4521*0a6a1f1dSLionel Sambuc   vec_ste(vi, 0, &param_i);
4522*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvewx
4523*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvewx
4524*0a6a1f1dSLionel Sambuc 
4525*0a6a1f1dSLionel Sambuc   vec_ste(vui, 0, &param_ui);
4526*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvewx
4527*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvewx
4528*0a6a1f1dSLionel Sambuc 
4529*0a6a1f1dSLionel Sambuc   vec_ste(vbi, 0, &param_i);
4530*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvewx
4531*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvewx
4532*0a6a1f1dSLionel Sambuc 
4533*0a6a1f1dSLionel Sambuc   vec_ste(vbi, 0, &param_ui);
4534*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvewx
4535*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvewx
4536*0a6a1f1dSLionel Sambuc 
4537*0a6a1f1dSLionel Sambuc   vec_ste(vf, 0, &param_f);
4538*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvewx
4539*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvewx
4540*0a6a1f1dSLionel Sambuc 
4541*0a6a1f1dSLionel Sambuc   vec_stvebx(vsc, 0, &param_sc);
4542*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvebx
4543*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvebx
4544*0a6a1f1dSLionel Sambuc 
4545*0a6a1f1dSLionel Sambuc   vec_stvebx(vuc, 0, &param_uc);
4546*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvebx
4547*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvebx
4548*0a6a1f1dSLionel Sambuc 
4549*0a6a1f1dSLionel Sambuc   vec_stvebx(vbc, 0, &param_sc);
4550*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvebx
4551*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvebx
4552*0a6a1f1dSLionel Sambuc 
4553*0a6a1f1dSLionel Sambuc   vec_stvebx(vbc, 0, &param_uc);
4554*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvebx
4555*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvebx
4556*0a6a1f1dSLionel Sambuc 
4557*0a6a1f1dSLionel Sambuc   vec_stvehx(vs, 0, &param_s);
4558*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvehx
4559*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvehx
4560*0a6a1f1dSLionel Sambuc 
4561*0a6a1f1dSLionel Sambuc   vec_stvehx(vus, 0, &param_us);
4562*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvehx
4563*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvehx
4564*0a6a1f1dSLionel Sambuc 
4565*0a6a1f1dSLionel Sambuc   vec_stvehx(vbs, 0, &param_s);
4566*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvehx
4567*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvehx
4568*0a6a1f1dSLionel Sambuc 
4569*0a6a1f1dSLionel Sambuc   vec_stvehx(vbs, 0, &param_us);
4570*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvehx
4571*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvehx
4572*0a6a1f1dSLionel Sambuc 
4573*0a6a1f1dSLionel Sambuc   vec_stvehx(vp, 0, &param_s);
4574*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvehx
4575*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvehx
4576*0a6a1f1dSLionel Sambuc 
4577*0a6a1f1dSLionel Sambuc   vec_stvehx(vp, 0, &param_us);
4578*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvehx
4579*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvehx
4580*0a6a1f1dSLionel Sambuc 
4581*0a6a1f1dSLionel Sambuc   vec_stvewx(vi, 0, &param_i);
4582*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvewx
4583*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvewx
4584*0a6a1f1dSLionel Sambuc 
4585*0a6a1f1dSLionel Sambuc   vec_stvewx(vui, 0, &param_ui);
4586*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvewx
4587*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvewx
4588*0a6a1f1dSLionel Sambuc 
4589*0a6a1f1dSLionel Sambuc   vec_stvewx(vbi, 0, &param_i);
4590*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvewx
4591*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvewx
4592*0a6a1f1dSLionel Sambuc 
4593*0a6a1f1dSLionel Sambuc   vec_stvewx(vbi, 0, &param_ui);
4594*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvewx
4595*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvewx
4596*0a6a1f1dSLionel Sambuc 
4597*0a6a1f1dSLionel Sambuc   vec_stvewx(vf, 0, &param_f);
4598*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvewx
4599*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvewx
4600f4a2713aSLionel Sambuc 
4601f4a2713aSLionel Sambuc   /* vec_stl */
4602*0a6a1f1dSLionel Sambuc   vec_stl(vsc, 0, &vsc);
4603*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4604*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4605*0a6a1f1dSLionel Sambuc 
4606*0a6a1f1dSLionel Sambuc   vec_stl(vsc, 0, &param_sc);
4607*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4608*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4609*0a6a1f1dSLionel Sambuc 
4610*0a6a1f1dSLionel Sambuc   vec_stl(vuc, 0, &vuc);
4611*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4612*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4613*0a6a1f1dSLionel Sambuc 
4614*0a6a1f1dSLionel Sambuc   vec_stl(vuc, 0, &param_uc);
4615*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4616*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4617*0a6a1f1dSLionel Sambuc 
4618*0a6a1f1dSLionel Sambuc   vec_stl(vbc, 0, &param_sc);
4619*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4620*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4621*0a6a1f1dSLionel Sambuc 
4622*0a6a1f1dSLionel Sambuc   vec_stl(vbc, 0, &param_uc);
4623*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4624*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4625*0a6a1f1dSLionel Sambuc 
4626*0a6a1f1dSLionel Sambuc   vec_stl(vbc, 0, &vbc);
4627*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4628*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4629*0a6a1f1dSLionel Sambuc 
4630*0a6a1f1dSLionel Sambuc   vec_stl(vs, 0, &vs);
4631*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4632*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4633*0a6a1f1dSLionel Sambuc 
4634*0a6a1f1dSLionel Sambuc   vec_stl(vs, 0, &param_s);
4635*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4636*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4637*0a6a1f1dSLionel Sambuc 
4638*0a6a1f1dSLionel Sambuc   vec_stl(vus, 0, &vus);
4639*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4640*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4641*0a6a1f1dSLionel Sambuc 
4642*0a6a1f1dSLionel Sambuc   vec_stl(vus, 0, &param_us);
4643*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4644*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4645*0a6a1f1dSLionel Sambuc 
4646*0a6a1f1dSLionel Sambuc   vec_stl(vbs, 0, &param_s);
4647*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4648*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4649*0a6a1f1dSLionel Sambuc 
4650*0a6a1f1dSLionel Sambuc   vec_stl(vbs, 0, &param_us);
4651*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4652*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4653*0a6a1f1dSLionel Sambuc 
4654*0a6a1f1dSLionel Sambuc   vec_stl(vbs, 0, &vbs);
4655*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4656*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4657*0a6a1f1dSLionel Sambuc 
4658*0a6a1f1dSLionel Sambuc   vec_stl(vp, 0, &param_s);
4659*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4660*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4661*0a6a1f1dSLionel Sambuc 
4662*0a6a1f1dSLionel Sambuc   vec_stl(vp, 0, &param_us);
4663*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4664*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4665*0a6a1f1dSLionel Sambuc 
4666*0a6a1f1dSLionel Sambuc   vec_stl(vp, 0, &vp);
4667*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4668*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4669*0a6a1f1dSLionel Sambuc 
4670*0a6a1f1dSLionel Sambuc   vec_stl(vi, 0, &vi);
4671*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4672*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4673*0a6a1f1dSLionel Sambuc 
4674*0a6a1f1dSLionel Sambuc   vec_stl(vi, 0, &param_i);
4675*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4676*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4677*0a6a1f1dSLionel Sambuc 
4678*0a6a1f1dSLionel Sambuc   vec_stl(vui, 0, &vui);
4679*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4680*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4681*0a6a1f1dSLionel Sambuc 
4682*0a6a1f1dSLionel Sambuc   vec_stl(vui, 0, &param_ui);
4683*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4684*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4685*0a6a1f1dSLionel Sambuc 
4686*0a6a1f1dSLionel Sambuc   vec_stl(vbi, 0, &param_i);
4687*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4688*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4689*0a6a1f1dSLionel Sambuc 
4690*0a6a1f1dSLionel Sambuc   vec_stl(vbi, 0, &param_ui);
4691*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4692*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4693*0a6a1f1dSLionel Sambuc 
4694*0a6a1f1dSLionel Sambuc   vec_stl(vbi, 0, &vbi);
4695*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4696*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4697*0a6a1f1dSLionel Sambuc 
4698*0a6a1f1dSLionel Sambuc   vec_stl(vf, 0, &vf);
4699*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4700*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4701*0a6a1f1dSLionel Sambuc 
4702*0a6a1f1dSLionel Sambuc   vec_stl(vf, 0, &param_f);
4703*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4704*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4705*0a6a1f1dSLionel Sambuc 
4706*0a6a1f1dSLionel Sambuc   vec_stvxl(vsc, 0, &vsc);
4707*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4708*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4709*0a6a1f1dSLionel Sambuc 
4710*0a6a1f1dSLionel Sambuc   vec_stvxl(vsc, 0, &param_sc);
4711*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4712*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4713*0a6a1f1dSLionel Sambuc 
4714*0a6a1f1dSLionel Sambuc   vec_stvxl(vuc, 0, &vuc);
4715*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4716*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4717*0a6a1f1dSLionel Sambuc 
4718*0a6a1f1dSLionel Sambuc   vec_stvxl(vuc, 0, &param_uc);
4719*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4720*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4721*0a6a1f1dSLionel Sambuc 
4722*0a6a1f1dSLionel Sambuc   vec_stvxl(vbc, 0, &param_sc);
4723*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4724*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4725*0a6a1f1dSLionel Sambuc 
4726*0a6a1f1dSLionel Sambuc   vec_stvxl(vbc, 0, &param_uc);
4727*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4728*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4729*0a6a1f1dSLionel Sambuc 
4730*0a6a1f1dSLionel Sambuc   vec_stvxl(vbc, 0, &vbc);
4731*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4732*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4733*0a6a1f1dSLionel Sambuc 
4734*0a6a1f1dSLionel Sambuc   vec_stvxl(vs, 0, &vs);
4735*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4736*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4737*0a6a1f1dSLionel Sambuc 
4738*0a6a1f1dSLionel Sambuc   vec_stvxl(vs, 0, &param_s);
4739*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4740*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4741*0a6a1f1dSLionel Sambuc 
4742*0a6a1f1dSLionel Sambuc   vec_stvxl(vus, 0, &vus);
4743*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4744*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4745*0a6a1f1dSLionel Sambuc 
4746*0a6a1f1dSLionel Sambuc   vec_stvxl(vus, 0, &param_us);
4747*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4748*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4749*0a6a1f1dSLionel Sambuc 
4750*0a6a1f1dSLionel Sambuc   vec_stvxl(vbs, 0, &param_s);
4751*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4752*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4753*0a6a1f1dSLionel Sambuc 
4754*0a6a1f1dSLionel Sambuc   vec_stvxl(vbs, 0, &param_us);
4755*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4756*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4757*0a6a1f1dSLionel Sambuc 
4758*0a6a1f1dSLionel Sambuc   vec_stvxl(vbs, 0, &vbs);
4759*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4760*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4761*0a6a1f1dSLionel Sambuc 
4762*0a6a1f1dSLionel Sambuc   vec_stvxl(vp, 0, &param_s);
4763*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4764*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4765*0a6a1f1dSLionel Sambuc 
4766*0a6a1f1dSLionel Sambuc   vec_stvxl(vp, 0, &param_us);
4767*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4768*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4769*0a6a1f1dSLionel Sambuc 
4770*0a6a1f1dSLionel Sambuc   vec_stvxl(vp, 0, &vp);
4771*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4772*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4773*0a6a1f1dSLionel Sambuc 
4774*0a6a1f1dSLionel Sambuc   vec_stvxl(vi, 0, &vi);
4775*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4776*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4777*0a6a1f1dSLionel Sambuc 
4778*0a6a1f1dSLionel Sambuc   vec_stvxl(vi, 0, &param_i);
4779*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4780*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4781*0a6a1f1dSLionel Sambuc 
4782*0a6a1f1dSLionel Sambuc   vec_stvxl(vui, 0, &vui);
4783*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4784*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4785*0a6a1f1dSLionel Sambuc 
4786*0a6a1f1dSLionel Sambuc   vec_stvxl(vui, 0, &param_ui);
4787*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4788*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4789*0a6a1f1dSLionel Sambuc 
4790*0a6a1f1dSLionel Sambuc   vec_stvxl(vbi, 0, &param_i);
4791*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4792*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4793*0a6a1f1dSLionel Sambuc 
4794*0a6a1f1dSLionel Sambuc   vec_stvxl(vbi, 0, &param_ui);
4795*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4796*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4797*0a6a1f1dSLionel Sambuc 
4798*0a6a1f1dSLionel Sambuc   vec_stvxl(vbi, 0, &vbi);
4799*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4800*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4801*0a6a1f1dSLionel Sambuc 
4802*0a6a1f1dSLionel Sambuc   vec_stvxl(vf, 0, &vf);
4803*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4804*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4805*0a6a1f1dSLionel Sambuc 
4806*0a6a1f1dSLionel Sambuc   vec_stvxl(vf, 0, &param_f);
4807*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
4808*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
4809f4a2713aSLionel Sambuc 
4810f4a2713aSLionel Sambuc   /* vec_sub */
4811*0a6a1f1dSLionel Sambuc   res_vsc = vec_sub(vsc, vsc);
4812*0a6a1f1dSLionel Sambuc // CHECK: sub <16 x i8>
4813*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <16 x i8>
4814*0a6a1f1dSLionel Sambuc 
4815*0a6a1f1dSLionel Sambuc   res_vsc = vec_sub(vbc, vsc);
4816*0a6a1f1dSLionel Sambuc // CHECK: sub <16 x i8>
4817*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <16 x i8>
4818*0a6a1f1dSLionel Sambuc 
4819*0a6a1f1dSLionel Sambuc   res_vsc = vec_sub(vsc, vbc);
4820*0a6a1f1dSLionel Sambuc // CHECK: sub <16 x i8>
4821*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <16 x i8>
4822*0a6a1f1dSLionel Sambuc 
4823*0a6a1f1dSLionel Sambuc   res_vuc = vec_sub(vuc, vuc);
4824*0a6a1f1dSLionel Sambuc // CHECK: sub <16 x i8>
4825*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <16 x i8>
4826*0a6a1f1dSLionel Sambuc 
4827*0a6a1f1dSLionel Sambuc   res_vuc = vec_sub(vbc, vuc);
4828*0a6a1f1dSLionel Sambuc // CHECK: sub <16 x i8>
4829*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <16 x i8>
4830*0a6a1f1dSLionel Sambuc 
4831*0a6a1f1dSLionel Sambuc   res_vuc = vec_sub(vuc, vbc);
4832*0a6a1f1dSLionel Sambuc // CHECK: sub <16 x i8>
4833*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <16 x i8>
4834*0a6a1f1dSLionel Sambuc 
4835*0a6a1f1dSLionel Sambuc   res_vs  = vec_sub(vs, vs);
4836*0a6a1f1dSLionel Sambuc // CHECK: sub <8 x i16>
4837*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <8 x i16>
4838*0a6a1f1dSLionel Sambuc 
4839*0a6a1f1dSLionel Sambuc   res_vs  = vec_sub(vbs, vs);
4840*0a6a1f1dSLionel Sambuc // CHECK: sub <8 x i16>
4841*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <8 x i16>
4842*0a6a1f1dSLionel Sambuc 
4843*0a6a1f1dSLionel Sambuc   res_vs  = vec_sub(vs, vbs);
4844*0a6a1f1dSLionel Sambuc // CHECK: sub <8 x i16>
4845*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <8 x i16>
4846*0a6a1f1dSLionel Sambuc 
4847*0a6a1f1dSLionel Sambuc   res_vus = vec_sub(vus, vus);
4848*0a6a1f1dSLionel Sambuc // CHECK: sub <8 x i16>
4849*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <8 x i16>
4850*0a6a1f1dSLionel Sambuc 
4851*0a6a1f1dSLionel Sambuc   res_vus = vec_sub(vbs, vus);
4852*0a6a1f1dSLionel Sambuc // CHECK: sub <8 x i16>
4853*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <8 x i16>
4854*0a6a1f1dSLionel Sambuc 
4855*0a6a1f1dSLionel Sambuc   res_vus = vec_sub(vus, vbs);
4856*0a6a1f1dSLionel Sambuc // CHECK: sub <8 x i16>
4857*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <8 x i16>
4858*0a6a1f1dSLionel Sambuc 
4859*0a6a1f1dSLionel Sambuc   res_vi  = vec_sub(vi, vi);
4860*0a6a1f1dSLionel Sambuc // CHECK: sub <4 x i32>
4861*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <4 x i32>
4862*0a6a1f1dSLionel Sambuc 
4863*0a6a1f1dSLionel Sambuc   res_vi  = vec_sub(vbi, vi);
4864*0a6a1f1dSLionel Sambuc // CHECK: sub <4 x i32>
4865*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <4 x i32>
4866*0a6a1f1dSLionel Sambuc 
4867*0a6a1f1dSLionel Sambuc   res_vi  = vec_sub(vi, vbi);
4868*0a6a1f1dSLionel Sambuc // CHECK: sub <4 x i32>
4869*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <4 x i32>
4870*0a6a1f1dSLionel Sambuc 
4871*0a6a1f1dSLionel Sambuc   res_vui = vec_sub(vui, vui);
4872*0a6a1f1dSLionel Sambuc // CHECK: sub <4 x i32>
4873*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <4 x i32>
4874*0a6a1f1dSLionel Sambuc 
4875*0a6a1f1dSLionel Sambuc   res_vui = vec_sub(vbi, vui);
4876*0a6a1f1dSLionel Sambuc // CHECK: sub <4 x i32>
4877*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <4 x i32>
4878*0a6a1f1dSLionel Sambuc 
4879*0a6a1f1dSLionel Sambuc   res_vui = vec_sub(vui, vbi);
4880*0a6a1f1dSLionel Sambuc // CHECK: sub <4 x i32>
4881*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <4 x i32>
4882*0a6a1f1dSLionel Sambuc 
4883*0a6a1f1dSLionel Sambuc   res_vf  = vec_sub(vf, vf);
4884*0a6a1f1dSLionel Sambuc // CHECK: fsub <4 x float>
4885*0a6a1f1dSLionel Sambuc // CHECK-LE: fsub <4 x float>
4886*0a6a1f1dSLionel Sambuc 
4887*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsububm(vsc, vsc);
4888*0a6a1f1dSLionel Sambuc // CHECK: sub <16 x i8>
4889*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <16 x i8>
4890*0a6a1f1dSLionel Sambuc 
4891*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsububm(vbc, vsc);
4892*0a6a1f1dSLionel Sambuc // CHECK: sub <16 x i8>
4893*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <16 x i8>
4894*0a6a1f1dSLionel Sambuc 
4895*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsububm(vsc, vbc);
4896*0a6a1f1dSLionel Sambuc // CHECK: sub <16 x i8>
4897*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <16 x i8>
4898*0a6a1f1dSLionel Sambuc 
4899*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsububm(vuc, vuc);
4900*0a6a1f1dSLionel Sambuc // CHECK: sub <16 x i8>
4901*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <16 x i8>
4902*0a6a1f1dSLionel Sambuc 
4903*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsububm(vbc, vuc);
4904*0a6a1f1dSLionel Sambuc // CHECK: sub <16 x i8>
4905*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <16 x i8>
4906*0a6a1f1dSLionel Sambuc 
4907*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsububm(vuc, vbc);
4908*0a6a1f1dSLionel Sambuc // CHECK: sub <16 x i8>
4909*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <16 x i8>
4910*0a6a1f1dSLionel Sambuc 
4911*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsubuhm(vs, vs);
4912*0a6a1f1dSLionel Sambuc // CHECK: sub <8 x i16>
4913*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <8 x i16>
4914*0a6a1f1dSLionel Sambuc 
4915*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsubuhm(vbs, vus);
4916*0a6a1f1dSLionel Sambuc // CHECK: sub <8 x i16>
4917*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <8 x i16>
4918*0a6a1f1dSLionel Sambuc 
4919*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsubuhm(vus, vbs);
4920*0a6a1f1dSLionel Sambuc // CHECK: sub <8 x i16>
4921*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <8 x i16>
4922*0a6a1f1dSLionel Sambuc 
4923*0a6a1f1dSLionel Sambuc   res_vus = vec_vsubuhm(vus, vus);
4924*0a6a1f1dSLionel Sambuc // CHECK: sub <8 x i16>
4925*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <8 x i16>
4926*0a6a1f1dSLionel Sambuc 
4927*0a6a1f1dSLionel Sambuc   res_vus = vec_vsubuhm(vbs, vus);
4928*0a6a1f1dSLionel Sambuc // CHECK: sub <8 x i16>
4929*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <8 x i16>
4930*0a6a1f1dSLionel Sambuc 
4931*0a6a1f1dSLionel Sambuc   res_vus = vec_vsubuhm(vus, vbs);
4932*0a6a1f1dSLionel Sambuc // CHECK: sub <8 x i16>
4933*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <8 x i16>
4934*0a6a1f1dSLionel Sambuc 
4935*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsubuwm(vi, vi);
4936*0a6a1f1dSLionel Sambuc // CHECK: sub <4 x i32>
4937*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <4 x i32>
4938*0a6a1f1dSLionel Sambuc 
4939*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsubuwm(vbi, vi);
4940*0a6a1f1dSLionel Sambuc // CHECK: sub <4 x i32>
4941*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <4 x i32>
4942*0a6a1f1dSLionel Sambuc 
4943*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsubuwm(vi, vbi);
4944*0a6a1f1dSLionel Sambuc // CHECK: sub <4 x i32>
4945*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <4 x i32>
4946*0a6a1f1dSLionel Sambuc 
4947*0a6a1f1dSLionel Sambuc   res_vui = vec_vsubuwm(vui, vui);
4948*0a6a1f1dSLionel Sambuc // CHECK: sub <4 x i32>
4949*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <4 x i32>
4950*0a6a1f1dSLionel Sambuc 
4951*0a6a1f1dSLionel Sambuc   res_vui = vec_vsubuwm(vbi, vui);
4952*0a6a1f1dSLionel Sambuc // CHECK: sub <4 x i32>
4953*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <4 x i32>
4954*0a6a1f1dSLionel Sambuc 
4955*0a6a1f1dSLionel Sambuc   res_vui = vec_vsubuwm(vui, vbi);
4956*0a6a1f1dSLionel Sambuc // CHECK: sub <4 x i32>
4957*0a6a1f1dSLionel Sambuc // CHECK-LE: sub <4 x i32>
4958*0a6a1f1dSLionel Sambuc 
4959*0a6a1f1dSLionel Sambuc   res_vf  = vec_vsubfp(vf, vf);
4960*0a6a1f1dSLionel Sambuc // CHECK: fsub <4 x float>
4961*0a6a1f1dSLionel Sambuc // CHECK-LE: fsub <4 x float>
4962f4a2713aSLionel Sambuc 
4963f4a2713aSLionel Sambuc   /* vec_subc */
4964*0a6a1f1dSLionel Sambuc   res_vui = vec_subc(vui, vui);
4965*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubcuw
4966*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubcuw
4967*0a6a1f1dSLionel Sambuc 
4968*0a6a1f1dSLionel Sambuc   res_vui = vec_vsubcuw(vui, vui);
4969*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubcuw
4970*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubcuw
4971f4a2713aSLionel Sambuc 
4972f4a2713aSLionel Sambuc   /* vec_subs */
4973*0a6a1f1dSLionel Sambuc   res_vsc = vec_subs(vsc, vsc);
4974*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubsbs
4975*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubsbs
4976*0a6a1f1dSLionel Sambuc 
4977*0a6a1f1dSLionel Sambuc   res_vsc = vec_subs(vbc, vsc);
4978*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubsbs
4979*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubsbs
4980*0a6a1f1dSLionel Sambuc 
4981*0a6a1f1dSLionel Sambuc   res_vsc = vec_subs(vsc, vbc);
4982*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubsbs
4983*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubsbs
4984*0a6a1f1dSLionel Sambuc 
4985*0a6a1f1dSLionel Sambuc   res_vuc = vec_subs(vuc, vuc);
4986*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsububs
4987*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsububs
4988*0a6a1f1dSLionel Sambuc 
4989*0a6a1f1dSLionel Sambuc   res_vuc = vec_subs(vbc, vuc);
4990*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsububs
4991*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsububs
4992*0a6a1f1dSLionel Sambuc 
4993*0a6a1f1dSLionel Sambuc   res_vuc = vec_subs(vuc, vbc);
4994*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsububs
4995*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsububs
4996*0a6a1f1dSLionel Sambuc 
4997*0a6a1f1dSLionel Sambuc   res_vs  = vec_subs(vs, vs);
4998*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubshs
4999*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubshs
5000*0a6a1f1dSLionel Sambuc 
5001*0a6a1f1dSLionel Sambuc   res_vs  = vec_subs(vbs, vs);
5002*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubshs
5003*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubshs
5004*0a6a1f1dSLionel Sambuc 
5005*0a6a1f1dSLionel Sambuc   res_vs  = vec_subs(vs, vbs);
5006*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubshs
5007*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubshs
5008*0a6a1f1dSLionel Sambuc 
5009*0a6a1f1dSLionel Sambuc   res_vus = vec_subs(vus, vus);
5010*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubuhs
5011*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubuhs
5012*0a6a1f1dSLionel Sambuc 
5013*0a6a1f1dSLionel Sambuc   res_vus = vec_subs(vbs, vus);
5014*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubuhs
5015*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubuhs
5016*0a6a1f1dSLionel Sambuc 
5017*0a6a1f1dSLionel Sambuc   res_vus = vec_subs(vus, vbs);
5018*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubuhs
5019*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubuhs
5020*0a6a1f1dSLionel Sambuc 
5021*0a6a1f1dSLionel Sambuc   res_vi  = vec_subs(vi, vi);
5022*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubsws
5023*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubsws
5024*0a6a1f1dSLionel Sambuc 
5025*0a6a1f1dSLionel Sambuc   res_vi  = vec_subs(vbi, vi);
5026*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubsws
5027*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubsws
5028*0a6a1f1dSLionel Sambuc 
5029*0a6a1f1dSLionel Sambuc   res_vi  = vec_subs(vi, vbi);
5030*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubsws
5031*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubsws
5032*0a6a1f1dSLionel Sambuc 
5033*0a6a1f1dSLionel Sambuc   res_vui = vec_subs(vui, vui);
5034*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubuws
5035*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubuws
5036*0a6a1f1dSLionel Sambuc 
5037*0a6a1f1dSLionel Sambuc   res_vui = vec_subs(vbi, vui);
5038*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubuws
5039*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubuws
5040*0a6a1f1dSLionel Sambuc 
5041*0a6a1f1dSLionel Sambuc   res_vui = vec_subs(vui, vbi);
5042*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubuws
5043*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubuws
5044*0a6a1f1dSLionel Sambuc 
5045*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsubsbs(vsc, vsc);
5046*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubsbs
5047*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubsbs
5048*0a6a1f1dSLionel Sambuc 
5049*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsubsbs(vbc, vsc);
5050*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubsbs
5051*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubsbs
5052*0a6a1f1dSLionel Sambuc 
5053*0a6a1f1dSLionel Sambuc   res_vsc = vec_vsubsbs(vsc, vbc);
5054*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubsbs
5055*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubsbs
5056*0a6a1f1dSLionel Sambuc 
5057*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsububs(vuc, vuc);
5058*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsububs
5059*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsububs
5060*0a6a1f1dSLionel Sambuc 
5061*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsububs(vbc, vuc);
5062*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsububs
5063*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsububs
5064*0a6a1f1dSLionel Sambuc 
5065*0a6a1f1dSLionel Sambuc   res_vuc = vec_vsububs(vuc, vbc);
5066*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsububs
5067*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsububs
5068*0a6a1f1dSLionel Sambuc 
5069*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsubshs(vs, vs);
5070*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubshs
5071*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubshs
5072*0a6a1f1dSLionel Sambuc 
5073*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsubshs(vbs, vs);
5074*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubshs
5075*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubshs
5076*0a6a1f1dSLionel Sambuc 
5077*0a6a1f1dSLionel Sambuc   res_vs  = vec_vsubshs(vs, vbs);
5078*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubshs
5079*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubshs
5080*0a6a1f1dSLionel Sambuc 
5081*0a6a1f1dSLionel Sambuc   res_vus = vec_vsubuhs(vus, vus);
5082*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubuhs
5083*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubuhs
5084*0a6a1f1dSLionel Sambuc 
5085*0a6a1f1dSLionel Sambuc   res_vus = vec_vsubuhs(vbs, vus);
5086*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubuhs
5087*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubuhs
5088*0a6a1f1dSLionel Sambuc 
5089*0a6a1f1dSLionel Sambuc   res_vus = vec_vsubuhs(vus, vbs);
5090*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubuhs
5091*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubuhs
5092*0a6a1f1dSLionel Sambuc 
5093*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsubsws(vi, vi);
5094*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubsws
5095*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubsws
5096*0a6a1f1dSLionel Sambuc 
5097*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsubsws(vbi, vi);
5098*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubsws
5099*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubsws
5100*0a6a1f1dSLionel Sambuc 
5101*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsubsws(vi, vbi);
5102*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubsws
5103*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubsws
5104*0a6a1f1dSLionel Sambuc 
5105*0a6a1f1dSLionel Sambuc   res_vui = vec_vsubuws(vui, vui);
5106*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubuws
5107*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubuws
5108*0a6a1f1dSLionel Sambuc 
5109*0a6a1f1dSLionel Sambuc   res_vui = vec_vsubuws(vbi, vui);
5110*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubuws
5111*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubuws
5112*0a6a1f1dSLionel Sambuc 
5113*0a6a1f1dSLionel Sambuc   res_vui = vec_vsubuws(vui, vbi);
5114*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsubuws
5115*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsubuws
5116f4a2713aSLionel Sambuc 
5117f4a2713aSLionel Sambuc   /* vec_sum4s */
5118*0a6a1f1dSLionel Sambuc   res_vi  = vec_sum4s(vsc, vi);
5119*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsum4sbs
5120*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsum4sbs
5121*0a6a1f1dSLionel Sambuc 
5122*0a6a1f1dSLionel Sambuc   res_vui = vec_sum4s(vuc, vui);
5123*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsum4ubs
5124*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsum4ubs
5125*0a6a1f1dSLionel Sambuc 
5126*0a6a1f1dSLionel Sambuc   res_vi  = vec_sum4s(vs, vi);
5127*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsum4shs
5128*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsum4shs
5129*0a6a1f1dSLionel Sambuc 
5130*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsum4sbs(vsc, vi);
5131*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsum4sbs
5132*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsum4sbs
5133*0a6a1f1dSLionel Sambuc 
5134*0a6a1f1dSLionel Sambuc   res_vui = vec_vsum4ubs(vuc, vui);
5135*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsum4ubs
5136*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsum4ubs
5137*0a6a1f1dSLionel Sambuc 
5138*0a6a1f1dSLionel Sambuc   res_vi  = vec_vsum4shs(vs, vi);
5139*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsum4shs
5140*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsum4shs
5141f4a2713aSLionel Sambuc 
5142f4a2713aSLionel Sambuc   /* vec_sum2s */
5143*0a6a1f1dSLionel Sambuc   res_vi = vec_sum2s(vi, vi);
5144*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsum2sws
5145*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5146*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsum2sws
5147*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5148*0a6a1f1dSLionel Sambuc 
5149*0a6a1f1dSLionel Sambuc   res_vi = vec_vsum2sws(vi, vi);
5150*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsum2sws
5151*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5152*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsum2sws
5153*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5154f4a2713aSLionel Sambuc 
5155f4a2713aSLionel Sambuc   /* vec_sums */
5156*0a6a1f1dSLionel Sambuc   res_vi = vec_sums(vi, vi);
5157*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsumsws
5158*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5159*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsumsws
5160*0a6a1f1dSLionel Sambuc 
5161*0a6a1f1dSLionel Sambuc   res_vi = vec_vsumsws(vi, vi);
5162*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vsumsws
5163*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5164*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vsumsws
5165f4a2713aSLionel Sambuc 
5166f4a2713aSLionel Sambuc   /* vec_trunc */
5167*0a6a1f1dSLionel Sambuc   res_vf = vec_trunc(vf);
5168*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrfiz
5169*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrfiz
5170*0a6a1f1dSLionel Sambuc 
5171*0a6a1f1dSLionel Sambuc   res_vf = vec_vrfiz(vf);
5172*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vrfiz
5173*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vrfiz
5174f4a2713aSLionel Sambuc 
5175f4a2713aSLionel Sambuc   /* vec_unpackh */
5176*0a6a1f1dSLionel Sambuc   res_vs  = vec_unpackh(vsc);
5177*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupkhsb
5178*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupklsb
5179*0a6a1f1dSLionel Sambuc 
5180*0a6a1f1dSLionel Sambuc   res_vbs = vec_unpackh(vbc);
5181*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupkhsb
5182*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupklsb
5183*0a6a1f1dSLionel Sambuc 
5184*0a6a1f1dSLionel Sambuc   res_vi  = vec_unpackh(vs);
5185*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupkhsh
5186*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupklsh
5187*0a6a1f1dSLionel Sambuc 
5188*0a6a1f1dSLionel Sambuc   res_vbi = vec_unpackh(vbs);
5189*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupkhsh
5190*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupklsh
5191*0a6a1f1dSLionel Sambuc 
5192*0a6a1f1dSLionel Sambuc   res_vui = vec_unpackh(vp);
5193*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupkhpx
5194*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupklpx
5195*0a6a1f1dSLionel Sambuc 
5196*0a6a1f1dSLionel Sambuc   res_vs  = vec_vupkhsb(vsc);
5197*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupkhsb
5198*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupklsb
5199*0a6a1f1dSLionel Sambuc 
5200*0a6a1f1dSLionel Sambuc   res_vbs = vec_vupkhsb(vbc);
5201*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupkhsb
5202*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupklsb
5203*0a6a1f1dSLionel Sambuc 
5204*0a6a1f1dSLionel Sambuc   res_vi  = vec_vupkhsh(vs);
5205*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupkhsh
5206*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupklsh
5207*0a6a1f1dSLionel Sambuc 
5208*0a6a1f1dSLionel Sambuc   res_vbi = vec_vupkhsh(vbs);
5209*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupkhsh
5210*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupklsh
5211*0a6a1f1dSLionel Sambuc 
5212*0a6a1f1dSLionel Sambuc   res_vui = vec_vupkhsh(vp);
5213*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupkhpx
5214*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupklpx
5215f4a2713aSLionel Sambuc 
5216f4a2713aSLionel Sambuc   /* vec_unpackl */
5217*0a6a1f1dSLionel Sambuc   res_vs  = vec_unpackl(vsc);
5218*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupklsb
5219*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupkhsb
5220*0a6a1f1dSLionel Sambuc 
5221*0a6a1f1dSLionel Sambuc   res_vbs = vec_unpackl(vbc);
5222*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupklsb
5223*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupkhsb
5224*0a6a1f1dSLionel Sambuc 
5225*0a6a1f1dSLionel Sambuc   res_vi  = vec_unpackl(vs);
5226*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupklsh
5227*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupkhsh
5228*0a6a1f1dSLionel Sambuc 
5229*0a6a1f1dSLionel Sambuc   res_vbi = vec_unpackl(vbs);
5230*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupklsh
5231*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupkhsh
5232*0a6a1f1dSLionel Sambuc 
5233*0a6a1f1dSLionel Sambuc   res_vui = vec_unpackl(vp);
5234*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupklpx
5235*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupkhpx
5236*0a6a1f1dSLionel Sambuc 
5237*0a6a1f1dSLionel Sambuc   res_vs  = vec_vupklsb(vsc);
5238*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupklsb
5239*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupkhsb
5240*0a6a1f1dSLionel Sambuc 
5241*0a6a1f1dSLionel Sambuc   res_vbs = vec_vupklsb(vbc);
5242*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupklsb
5243*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupkhsb
5244*0a6a1f1dSLionel Sambuc 
5245*0a6a1f1dSLionel Sambuc   res_vi  = vec_vupklsh(vs);
5246*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupklsh
5247*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupkhsh
5248*0a6a1f1dSLionel Sambuc 
5249*0a6a1f1dSLionel Sambuc   res_vbi = vec_vupklsh(vbs);
5250*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupklsh
5251*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupkhsh
5252*0a6a1f1dSLionel Sambuc 
5253*0a6a1f1dSLionel Sambuc   res_vui = vec_vupklsh(vp);
5254*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vupklpx
5255*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vupkhpx
5256f4a2713aSLionel Sambuc 
5257f4a2713aSLionel Sambuc   /* vec_xor */
5258*0a6a1f1dSLionel Sambuc   res_vsc = vec_xor(vsc, vsc);
5259*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
5260*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
5261*0a6a1f1dSLionel Sambuc 
5262*0a6a1f1dSLionel Sambuc   res_vsc = vec_xor(vbc, vsc);
5263*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
5264*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
5265*0a6a1f1dSLionel Sambuc 
5266*0a6a1f1dSLionel Sambuc   res_vsc = vec_xor(vsc, vbc);
5267*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
5268*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
5269*0a6a1f1dSLionel Sambuc 
5270*0a6a1f1dSLionel Sambuc   res_vuc = vec_xor(vuc, vuc);
5271*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
5272*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
5273*0a6a1f1dSLionel Sambuc 
5274*0a6a1f1dSLionel Sambuc   res_vuc = vec_xor(vbc, vuc);
5275*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
5276*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
5277*0a6a1f1dSLionel Sambuc 
5278*0a6a1f1dSLionel Sambuc   res_vuc = vec_xor(vuc, vbc);
5279*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
5280*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
5281*0a6a1f1dSLionel Sambuc 
5282*0a6a1f1dSLionel Sambuc   res_vbc = vec_xor(vbc, vbc);
5283*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
5284*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
5285*0a6a1f1dSLionel Sambuc 
5286*0a6a1f1dSLionel Sambuc   res_vs  = vec_xor(vs, vs);
5287*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
5288*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
5289*0a6a1f1dSLionel Sambuc 
5290*0a6a1f1dSLionel Sambuc   res_vs  = vec_xor(vbs, vs);
5291*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
5292*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
5293*0a6a1f1dSLionel Sambuc 
5294*0a6a1f1dSLionel Sambuc   res_vs  = vec_xor(vs, vbs);
5295*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
5296*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
5297*0a6a1f1dSLionel Sambuc 
5298*0a6a1f1dSLionel Sambuc   res_vus = vec_xor(vus, vus);
5299*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
5300*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
5301*0a6a1f1dSLionel Sambuc 
5302*0a6a1f1dSLionel Sambuc   res_vus = vec_xor(vbs, vus);
5303*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
5304*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
5305*0a6a1f1dSLionel Sambuc 
5306*0a6a1f1dSLionel Sambuc   res_vus = vec_xor(vus, vbs);
5307*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
5308*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
5309*0a6a1f1dSLionel Sambuc 
5310*0a6a1f1dSLionel Sambuc   res_vbs = vec_xor(vbs, vbs);
5311*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
5312*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
5313*0a6a1f1dSLionel Sambuc 
5314*0a6a1f1dSLionel Sambuc   res_vi  = vec_xor(vi, vi);
5315*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5316*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5317*0a6a1f1dSLionel Sambuc 
5318*0a6a1f1dSLionel Sambuc   res_vi  = vec_xor(vbi, vi);
5319*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5320*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5321*0a6a1f1dSLionel Sambuc 
5322*0a6a1f1dSLionel Sambuc   res_vi  = vec_xor(vi, vbi);
5323*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5324*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5325*0a6a1f1dSLionel Sambuc 
5326*0a6a1f1dSLionel Sambuc   res_vui = vec_xor(vui, vui);
5327*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5328*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5329*0a6a1f1dSLionel Sambuc 
5330*0a6a1f1dSLionel Sambuc   res_vui = vec_xor(vbi, vui);
5331*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5332*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5333*0a6a1f1dSLionel Sambuc 
5334*0a6a1f1dSLionel Sambuc   res_vui = vec_xor(vui, vbi);
5335*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5336*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5337*0a6a1f1dSLionel Sambuc 
5338*0a6a1f1dSLionel Sambuc   res_vbi = vec_xor(vbi, vbi);
5339*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5340*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5341*0a6a1f1dSLionel Sambuc 
5342*0a6a1f1dSLionel Sambuc   res_vf  = vec_xor(vf, vf);
5343*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5344*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5345*0a6a1f1dSLionel Sambuc 
5346*0a6a1f1dSLionel Sambuc   res_vf  = vec_xor(vbi, vf);
5347*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5348*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5349*0a6a1f1dSLionel Sambuc 
5350*0a6a1f1dSLionel Sambuc   res_vf  = vec_xor(vf, vbi);
5351*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5352*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5353*0a6a1f1dSLionel Sambuc 
5354*0a6a1f1dSLionel Sambuc   res_vsc = vec_vxor(vsc, vsc);
5355*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
5356*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
5357*0a6a1f1dSLionel Sambuc 
5358*0a6a1f1dSLionel Sambuc   res_vsc = vec_vxor(vbc, vsc);
5359*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
5360*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
5361*0a6a1f1dSLionel Sambuc 
5362*0a6a1f1dSLionel Sambuc   res_vsc = vec_vxor(vsc, vbc);
5363*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
5364*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
5365*0a6a1f1dSLionel Sambuc 
5366*0a6a1f1dSLionel Sambuc   res_vuc = vec_vxor(vuc, vuc);
5367*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
5368*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
5369*0a6a1f1dSLionel Sambuc 
5370*0a6a1f1dSLionel Sambuc   res_vuc = vec_vxor(vbc, vuc);
5371*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
5372*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
5373*0a6a1f1dSLionel Sambuc 
5374*0a6a1f1dSLionel Sambuc   res_vuc = vec_vxor(vuc, vbc);
5375*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
5376*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
5377*0a6a1f1dSLionel Sambuc 
5378*0a6a1f1dSLionel Sambuc   res_vbc = vec_vxor(vbc, vbc);
5379*0a6a1f1dSLionel Sambuc // CHECK: xor <16 x i8>
5380*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <16 x i8>
5381*0a6a1f1dSLionel Sambuc 
5382*0a6a1f1dSLionel Sambuc   res_vs  = vec_vxor(vs, vs);
5383*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
5384*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
5385*0a6a1f1dSLionel Sambuc 
5386*0a6a1f1dSLionel Sambuc   res_vs  = vec_vxor(vbs, vs);
5387*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
5388*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
5389*0a6a1f1dSLionel Sambuc 
5390*0a6a1f1dSLionel Sambuc   res_vs  = vec_vxor(vs, vbs);
5391*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
5392*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
5393*0a6a1f1dSLionel Sambuc 
5394*0a6a1f1dSLionel Sambuc   res_vus = vec_vxor(vus, vus);
5395*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
5396*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
5397*0a6a1f1dSLionel Sambuc 
5398*0a6a1f1dSLionel Sambuc   res_vus = vec_vxor(vbs, vus);
5399*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
5400*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
5401*0a6a1f1dSLionel Sambuc 
5402*0a6a1f1dSLionel Sambuc   res_vus = vec_vxor(vus, vbs);
5403*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
5404*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
5405*0a6a1f1dSLionel Sambuc 
5406*0a6a1f1dSLionel Sambuc   res_vbs = vec_vxor(vbs, vbs);
5407*0a6a1f1dSLionel Sambuc // CHECK: xor <8 x i16>
5408*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <8 x i16>
5409*0a6a1f1dSLionel Sambuc 
5410*0a6a1f1dSLionel Sambuc   res_vi  = vec_vxor(vi, vi);
5411*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5412*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5413*0a6a1f1dSLionel Sambuc 
5414*0a6a1f1dSLionel Sambuc   res_vi  = vec_vxor(vbi, vi);
5415*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5416*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5417*0a6a1f1dSLionel Sambuc 
5418*0a6a1f1dSLionel Sambuc   res_vi  = vec_vxor(vi, vbi);
5419*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5420*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5421*0a6a1f1dSLionel Sambuc 
5422*0a6a1f1dSLionel Sambuc   res_vui = vec_vxor(vui, vui);
5423*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5424*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5425*0a6a1f1dSLionel Sambuc 
5426*0a6a1f1dSLionel Sambuc   res_vui = vec_vxor(vbi, vui);
5427*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5428*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5429*0a6a1f1dSLionel Sambuc 
5430*0a6a1f1dSLionel Sambuc   res_vui = vec_vxor(vui, vbi);
5431*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5432*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5433*0a6a1f1dSLionel Sambuc 
5434*0a6a1f1dSLionel Sambuc   res_vbi = vec_vxor(vbi, vbi);
5435*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5436*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5437*0a6a1f1dSLionel Sambuc 
5438*0a6a1f1dSLionel Sambuc   res_vf  = vec_vxor(vf, vf);
5439*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5440*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5441*0a6a1f1dSLionel Sambuc 
5442*0a6a1f1dSLionel Sambuc   res_vf  = vec_vxor(vbi, vf);
5443*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5444*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5445*0a6a1f1dSLionel Sambuc 
5446*0a6a1f1dSLionel Sambuc   res_vf  = vec_vxor(vf, vbi);
5447*0a6a1f1dSLionel Sambuc // CHECK: xor <4 x i32>
5448*0a6a1f1dSLionel Sambuc // CHECK-LE: xor <4 x i32>
5449f4a2713aSLionel Sambuc 
5450f4a2713aSLionel Sambuc   /* ------------------------------ extensions -------------------------------------- */
5451f4a2713aSLionel Sambuc 
5452f4a2713aSLionel Sambuc   /* vec_extract */
5453*0a6a1f1dSLionel Sambuc   res_sc = vec_extract(vsc, param_i);
5454*0a6a1f1dSLionel Sambuc // CHECK: extractelement <16 x i8>
5455*0a6a1f1dSLionel Sambuc // CHECK-LE: extractelement <16 x i8>
5456*0a6a1f1dSLionel Sambuc 
5457*0a6a1f1dSLionel Sambuc   res_uc = vec_extract(vuc, param_i);
5458*0a6a1f1dSLionel Sambuc // CHECK: extractelement <16 x i8>
5459*0a6a1f1dSLionel Sambuc // CHECK-LE: extractelement <16 x i8>
5460*0a6a1f1dSLionel Sambuc 
5461*0a6a1f1dSLionel Sambuc   res_s  = vec_extract(vs, param_i);
5462*0a6a1f1dSLionel Sambuc // CHECK: extractelement <8 x i16>
5463*0a6a1f1dSLionel Sambuc // CHECK-LE: extractelement <8 x i16>
5464*0a6a1f1dSLionel Sambuc 
5465*0a6a1f1dSLionel Sambuc   res_us = vec_extract(vus, param_i);
5466*0a6a1f1dSLionel Sambuc // CHECK: extractelement <8 x i16>
5467*0a6a1f1dSLionel Sambuc // CHECK-LE: extractelement <8 x i16>
5468*0a6a1f1dSLionel Sambuc 
5469*0a6a1f1dSLionel Sambuc   res_i  = vec_extract(vi, param_i);
5470*0a6a1f1dSLionel Sambuc // CHECK: extractelement <4 x i32>
5471*0a6a1f1dSLionel Sambuc // CHECK-LE: extractelement <4 x i32>
5472*0a6a1f1dSLionel Sambuc 
5473*0a6a1f1dSLionel Sambuc   res_ui = vec_extract(vui, param_i);
5474*0a6a1f1dSLionel Sambuc // CHECK: extractelement <4 x i32>
5475*0a6a1f1dSLionel Sambuc // CHECK-LE: extractelement <4 x i32>
5476*0a6a1f1dSLionel Sambuc 
5477*0a6a1f1dSLionel Sambuc   res_f  = vec_extract(vf, param_i);
5478*0a6a1f1dSLionel Sambuc // CHECK: extractelement <4 x float>
5479*0a6a1f1dSLionel Sambuc // CHECK-LE: extractelement <4 x float>
5480f4a2713aSLionel Sambuc 
5481f4a2713aSLionel Sambuc   /* vec_insert */
5482*0a6a1f1dSLionel Sambuc   res_vsc = vec_insert(param_sc, vsc, param_i);
5483*0a6a1f1dSLionel Sambuc // CHECK: insertelement <16 x i8>
5484*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <16 x i8>
5485*0a6a1f1dSLionel Sambuc 
5486*0a6a1f1dSLionel Sambuc   res_vuc = vec_insert(param_uc, vuc, param_i);
5487*0a6a1f1dSLionel Sambuc // CHECK: insertelement <16 x i8>
5488*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <16 x i8>
5489*0a6a1f1dSLionel Sambuc 
5490*0a6a1f1dSLionel Sambuc   res_vs  = vec_insert(param_s, vs, param_i);
5491*0a6a1f1dSLionel Sambuc // CHECK: insertelement <8 x i16>
5492*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <8 x i16>
5493*0a6a1f1dSLionel Sambuc 
5494*0a6a1f1dSLionel Sambuc   res_vus = vec_insert(param_us, vus, param_i);
5495*0a6a1f1dSLionel Sambuc // CHECK: insertelement <8 x i16>
5496*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <8 x i16>
5497*0a6a1f1dSLionel Sambuc 
5498*0a6a1f1dSLionel Sambuc   res_vi  = vec_insert(param_i, vi, param_i);
5499*0a6a1f1dSLionel Sambuc // CHECK: insertelement <4 x i32>
5500*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <4 x i32>
5501*0a6a1f1dSLionel Sambuc 
5502*0a6a1f1dSLionel Sambuc   res_vui = vec_insert(param_ui, vui, param_i);
5503*0a6a1f1dSLionel Sambuc // CHECK: insertelement <4 x i32>
5504*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <4 x i32>
5505*0a6a1f1dSLionel Sambuc 
5506*0a6a1f1dSLionel Sambuc   res_vf  = vec_insert(param_f, vf, param_i);
5507*0a6a1f1dSLionel Sambuc // CHECK: insertelement <4 x float>
5508*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <4 x float>
5509f4a2713aSLionel Sambuc 
5510f4a2713aSLionel Sambuc   /* vec_lvlx */
5511*0a6a1f1dSLionel Sambuc   res_vsc = vec_lvlx(0, &param_sc);
5512*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5513f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5514f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
5515f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5516*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5517*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5518*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
5519*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5520f4a2713aSLionel Sambuc 
5521*0a6a1f1dSLionel Sambuc   res_vsc = vec_lvlx(0, &vsc);
5522*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5523f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5524f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
5525f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5526*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5527*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5528*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
5529*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5530f4a2713aSLionel Sambuc 
5531*0a6a1f1dSLionel Sambuc   res_vuc = vec_lvlx(0, &param_uc);
5532*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5533f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5534f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
5535f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5536*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5537*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5538*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
5539*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5540f4a2713aSLionel Sambuc 
5541*0a6a1f1dSLionel Sambuc   res_vuc = vec_lvlx(0, &vuc);
5542*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5543f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5544f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
5545f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5546*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5547*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5548*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
5549*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5550f4a2713aSLionel Sambuc 
5551*0a6a1f1dSLionel Sambuc   res_vbc = vec_lvlx(0, &vbc);
5552*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5553f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
5554f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5555f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5556*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5557*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
5558*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5559*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5560f4a2713aSLionel Sambuc 
5561*0a6a1f1dSLionel Sambuc   res_vs  = vec_lvlx(0, &param_s);
5562*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5563f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5564f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5565f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5566*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5567*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5568*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5569*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5570f4a2713aSLionel Sambuc 
5571*0a6a1f1dSLionel Sambuc   res_vs  = vec_lvlx(0, &vs);
5572*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5573f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5574f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5575f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5576*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5577*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5578*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5579*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5580f4a2713aSLionel Sambuc 
5581*0a6a1f1dSLionel Sambuc   res_vus = vec_lvlx(0, &param_us);
5582*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5583f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5584f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5585f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5586*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5587*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5588*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5589*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5590f4a2713aSLionel Sambuc 
5591*0a6a1f1dSLionel Sambuc   res_vus = vec_lvlx(0, &vus);
5592*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5593f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5594f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5595f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5596*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5597*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5598*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5599*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5600f4a2713aSLionel Sambuc 
5601*0a6a1f1dSLionel Sambuc   res_vbs = vec_lvlx(0, &vbs);
5602*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5603f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5604f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5605f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5606*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5607*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5608*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5609*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5610f4a2713aSLionel Sambuc 
5611*0a6a1f1dSLionel Sambuc   res_vp  = vec_lvlx(0, &vp);
5612*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5613f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5614f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5615f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5616*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5617*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5618*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5619*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5620f4a2713aSLionel Sambuc 
5621*0a6a1f1dSLionel Sambuc   res_vi  = vec_lvlx(0, &param_i);
5622*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5623f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5624f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
5625f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5626*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5627*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5628*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
5629*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5630f4a2713aSLionel Sambuc 
5631*0a6a1f1dSLionel Sambuc   res_vi  = vec_lvlx(0, &vi);
5632*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5633f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5634f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
5635f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5636*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5637*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5638*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
5639*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5640f4a2713aSLionel Sambuc 
5641*0a6a1f1dSLionel Sambuc   res_vui = vec_lvlx(0, &param_ui);
5642*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5643f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5644f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
5645f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5646*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5647*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5648*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
5649*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5650f4a2713aSLionel Sambuc 
5651*0a6a1f1dSLionel Sambuc   res_vui = vec_lvlx(0, &vui);
5652*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5653f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5654f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
5655f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5656*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5657*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5658*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
5659*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5660f4a2713aSLionel Sambuc 
5661*0a6a1f1dSLionel Sambuc   res_vbi = vec_lvlx(0, &vbi);
5662*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5663f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
5664f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5665f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5666*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5667*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
5668*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5669*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5670f4a2713aSLionel Sambuc 
5671*0a6a1f1dSLionel Sambuc   res_vf  = vec_lvlx(0, &vf);
5672*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5673f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5674f4a2713aSLionel Sambuc // CHECK: store <4 x float> zeroinitializer
5675f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5676*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5677*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5678*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x float> zeroinitializer
5679*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5680f4a2713aSLionel Sambuc 
5681f4a2713aSLionel Sambuc   /* vec_lvlxl */
5682*0a6a1f1dSLionel Sambuc   res_vsc = vec_lvlxl(0, &param_sc);
5683*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5684f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5685f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
5686f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5687*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5688*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5689*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
5690*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5691f4a2713aSLionel Sambuc 
5692*0a6a1f1dSLionel Sambuc   res_vsc = vec_lvlxl(0, &vsc);
5693*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5694f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5695f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
5696f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5697*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5698*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5699*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
5700*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5701f4a2713aSLionel Sambuc 
5702*0a6a1f1dSLionel Sambuc   res_vuc = vec_lvlxl(0, &param_uc);
5703*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5704f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5705f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
5706f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5707*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5708*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5709*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
5710*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5711f4a2713aSLionel Sambuc 
5712*0a6a1f1dSLionel Sambuc   res_vuc = vec_lvlxl(0, &vuc);
5713*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5714f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5715f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
5716f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5717*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5718*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5719*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
5720*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5721f4a2713aSLionel Sambuc 
5722*0a6a1f1dSLionel Sambuc   res_vbc = vec_lvlxl(0, &vbc);
5723*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5724f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
5725f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5726f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5727*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5728*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
5729*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5730*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5731f4a2713aSLionel Sambuc 
5732*0a6a1f1dSLionel Sambuc   res_vs  = vec_lvlxl(0, &param_s);
5733*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5734f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5735f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5736f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5737*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5738*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5739*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5740*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5741f4a2713aSLionel Sambuc 
5742*0a6a1f1dSLionel Sambuc   res_vs  = vec_lvlxl(0, &vs);
5743*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5744f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5745f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5746f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5747*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5748*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5749*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5750*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5751f4a2713aSLionel Sambuc 
5752*0a6a1f1dSLionel Sambuc   res_vus = vec_lvlxl(0, &param_us);
5753*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5754f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5755f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5756f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5757*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5758*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5759*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5760*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5761f4a2713aSLionel Sambuc 
5762*0a6a1f1dSLionel Sambuc   res_vus = vec_lvlxl(0, &vus);
5763*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5764f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5765f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5766f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5767*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5768*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5769*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5770*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5771f4a2713aSLionel Sambuc 
5772*0a6a1f1dSLionel Sambuc   res_vbs = vec_lvlxl(0, &vbs);
5773*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5774f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5775f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5776f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5777*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5778*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5779*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5780*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5781f4a2713aSLionel Sambuc 
5782*0a6a1f1dSLionel Sambuc   res_vp  = vec_lvlxl(0, &vp);
5783*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5784f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5785f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5786f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5787*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5788*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5789*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5790*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5791f4a2713aSLionel Sambuc 
5792*0a6a1f1dSLionel Sambuc   res_vi  = vec_lvlxl(0, &param_i);
5793*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5794f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5795f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
5796f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5797*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5798*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5799*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
5800*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5801f4a2713aSLionel Sambuc 
5802*0a6a1f1dSLionel Sambuc   res_vi  = vec_lvlxl(0, &vi);
5803*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5804f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5805f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
5806f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5807*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5808*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5809*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
5810*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5811f4a2713aSLionel Sambuc 
5812*0a6a1f1dSLionel Sambuc   res_vui = vec_lvlxl(0, &param_ui);
5813*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5814f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5815f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
5816f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5817*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5818*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5819*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
5820*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5821f4a2713aSLionel Sambuc 
5822*0a6a1f1dSLionel Sambuc   res_vui = vec_lvlxl(0, &vui);
5823*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5824f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5825f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
5826f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5827*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5828*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5829*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
5830*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5831f4a2713aSLionel Sambuc 
5832*0a6a1f1dSLionel Sambuc   res_vbi = vec_lvlxl(0, &vbi);
5833*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5834f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
5835f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5836f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5837*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5838*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
5839*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5840*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5841f4a2713aSLionel Sambuc 
5842*0a6a1f1dSLionel Sambuc   res_vf  = vec_lvlxl(0, &vf);
5843*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
5844f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5845f4a2713aSLionel Sambuc // CHECK: store <4 x float> zeroinitializer
5846f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5847*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
5848*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5849*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x float> zeroinitializer
5850*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5851f4a2713aSLionel Sambuc 
5852f4a2713aSLionel Sambuc   /* vec_lvrx */
5853*0a6a1f1dSLionel Sambuc   res_vsc = vec_lvrx(0, &param_sc);
5854*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5855f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5856f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
5857f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5858*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5859*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5860*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
5861*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5862f4a2713aSLionel Sambuc 
5863*0a6a1f1dSLionel Sambuc   res_vsc = vec_lvrx(0, &vsc);
5864*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5865f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5866f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
5867f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5868*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5869*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5870*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
5871*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5872f4a2713aSLionel Sambuc 
5873*0a6a1f1dSLionel Sambuc   res_vuc = vec_lvrx(0, &param_uc);
5874*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5875f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5876f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
5877f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5878*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5879*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5880*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
5881*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5882f4a2713aSLionel Sambuc 
5883*0a6a1f1dSLionel Sambuc   res_vuc = vec_lvrx(0, &vuc);
5884*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5885f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5886f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
5887f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5888*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5889*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5890*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
5891*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5892f4a2713aSLionel Sambuc 
5893*0a6a1f1dSLionel Sambuc   res_vbc = vec_lvrx(0, &vbc);
5894*0a6a1f1dSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
5895f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5896f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5897f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5898*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
5899*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5900*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5901*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5902f4a2713aSLionel Sambuc 
5903*0a6a1f1dSLionel Sambuc   res_vs  = vec_lvrx(0, &param_s);
5904*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5905f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5906f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5907f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5908*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5909*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5910*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5911*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5912f4a2713aSLionel Sambuc 
5913*0a6a1f1dSLionel Sambuc   res_vs  = vec_lvrx(0, &vs);
5914*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5915f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5916f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5917f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5918*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5919*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5920*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5921*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5922f4a2713aSLionel Sambuc 
5923*0a6a1f1dSLionel Sambuc   res_vus = vec_lvrx(0, &param_us);
5924*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5925f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5926f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5927f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5928*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5929*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5930*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5931*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5932f4a2713aSLionel Sambuc 
5933*0a6a1f1dSLionel Sambuc   res_vus = vec_lvrx(0, &vus);
5934*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5935f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5936f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5937f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5938*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5939*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5940*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5941*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5942f4a2713aSLionel Sambuc 
5943*0a6a1f1dSLionel Sambuc   res_vbs = vec_lvrx(0, &vbs);
5944*0a6a1f1dSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5945f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5946f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5947f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5948*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5949*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5950*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5951*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5952f4a2713aSLionel Sambuc 
5953*0a6a1f1dSLionel Sambuc   res_vp  = vec_lvrx(0, &vp);
5954*0a6a1f1dSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
5955f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5956f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5957f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5958*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
5959*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5960*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5961*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5962f4a2713aSLionel Sambuc 
5963*0a6a1f1dSLionel Sambuc   res_vi  = vec_lvrx(0, &param_i);
5964*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5965f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5966f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
5967f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5968*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5969*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5970*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
5971*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5972f4a2713aSLionel Sambuc 
5973*0a6a1f1dSLionel Sambuc   res_vi  = vec_lvrx(0, &vi);
5974*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5975f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5976f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
5977f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5978*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5979*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5980*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
5981*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5982f4a2713aSLionel Sambuc 
5983*0a6a1f1dSLionel Sambuc   res_vui = vec_lvrx(0, &param_ui);
5984*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5985f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5986f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
5987f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5988*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5989*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
5990*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
5991*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
5992f4a2713aSLionel Sambuc 
5993*0a6a1f1dSLionel Sambuc   res_vui = vec_lvrx(0, &vui);
5994*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
5995f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
5996f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
5997f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
5998*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
5999*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6000*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6001*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6002f4a2713aSLionel Sambuc 
6003*0a6a1f1dSLionel Sambuc   res_vbi = vec_lvrx(0, &vbi);
6004*0a6a1f1dSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6005f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6006f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6007f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6008*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6009*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6010*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6011*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6012f4a2713aSLionel Sambuc 
6013*0a6a1f1dSLionel Sambuc   res_vf  = vec_lvrx(0, &vf);
6014*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6015f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6016f4a2713aSLionel Sambuc // CHECK: store <4 x float> zeroinitializer
6017f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6018*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6019*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6020*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x float> zeroinitializer
6021*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6022f4a2713aSLionel Sambuc 
6023f4a2713aSLionel Sambuc   /* vec_lvrxl */
6024*0a6a1f1dSLionel Sambuc   res_vsc = vec_lvrxl(0, &param_sc);
6025*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6026f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6027f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6028f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6029*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6030*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6031*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6032*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6033f4a2713aSLionel Sambuc 
6034*0a6a1f1dSLionel Sambuc   res_vsc = vec_lvrxl(0, &vsc);
6035*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6036f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6037f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6038f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6039*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6040*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6041*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6042*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6043f4a2713aSLionel Sambuc 
6044*0a6a1f1dSLionel Sambuc   res_vuc = vec_lvrxl(0, &param_uc);
6045*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6046f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6047f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6048f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6049*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6050*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6051*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6052*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6053f4a2713aSLionel Sambuc 
6054*0a6a1f1dSLionel Sambuc   res_vuc = vec_lvrxl(0, &vuc);
6055*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6056f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6057f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6058f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6059*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6060*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6061*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6062*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6063f4a2713aSLionel Sambuc 
6064*0a6a1f1dSLionel Sambuc   res_vbc = vec_lvrxl(0, &vbc);
6065*0a6a1f1dSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6066f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6067f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6068f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6069*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6070*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6071*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6072*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6073f4a2713aSLionel Sambuc 
6074*0a6a1f1dSLionel Sambuc   res_vs  = vec_lvrxl(0, &param_s);
6075*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6076f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6077f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6078f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6079*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6080*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6081*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6082*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6083f4a2713aSLionel Sambuc 
6084*0a6a1f1dSLionel Sambuc   res_vs  = vec_lvrxl(0, &vs);
6085*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6086f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6087f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6088f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6089*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6090*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6091*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6092*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6093f4a2713aSLionel Sambuc 
6094*0a6a1f1dSLionel Sambuc   res_vus = vec_lvrxl(0, &param_us);
6095*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6096f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6097f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6098f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6099*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6100*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6101*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6102*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6103f4a2713aSLionel Sambuc 
6104*0a6a1f1dSLionel Sambuc   res_vus = vec_lvrxl(0, &vus);
6105*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6106f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6107f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6108f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6109*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6110*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6111*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6112*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6113f4a2713aSLionel Sambuc 
6114*0a6a1f1dSLionel Sambuc   res_vbs = vec_lvrxl(0, &vbs);
6115*0a6a1f1dSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6116f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6117f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6118f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6119*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6120*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6121*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6122*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6123f4a2713aSLionel Sambuc 
6124*0a6a1f1dSLionel Sambuc   res_vp  = vec_lvrxl(0, &vp);
6125*0a6a1f1dSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6126f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6127f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6128f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6129*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6130*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6131*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6132*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6133f4a2713aSLionel Sambuc 
6134*0a6a1f1dSLionel Sambuc   res_vi  = vec_lvrxl(0, &param_i);
6135*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6136f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6137f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6138f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6139*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6140*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6141*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6142*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6143f4a2713aSLionel Sambuc 
6144*0a6a1f1dSLionel Sambuc   res_vi  = vec_lvrxl(0, &vi);
6145*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6146f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6147f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6148f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6149*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6150*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6151*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6152*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6153f4a2713aSLionel Sambuc 
6154*0a6a1f1dSLionel Sambuc   res_vui = vec_lvrxl(0, &param_ui);
6155*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6156f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6157f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6158f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6159*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6160*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6161*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6162*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6163f4a2713aSLionel Sambuc 
6164*0a6a1f1dSLionel Sambuc   res_vui = vec_lvrxl(0, &vui);
6165*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6166f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6167f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6168f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6169*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6170*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6171*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6172*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6173f4a2713aSLionel Sambuc 
6174*0a6a1f1dSLionel Sambuc   res_vbi = vec_lvrxl(0, &vbi);
6175*0a6a1f1dSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6176f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6177f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6178f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6179*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6180*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6181*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6182*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6183f4a2713aSLionel Sambuc 
6184*0a6a1f1dSLionel Sambuc   res_vf  = vec_lvrxl(0, &vf);
6185*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvxl
6186f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6187f4a2713aSLionel Sambuc // CHECK: store <4 x float> zeroinitializer
6188f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6189*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvxl
6190*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6191*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x float> zeroinitializer
6192*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6193f4a2713aSLionel Sambuc 
6194f4a2713aSLionel Sambuc   /* vec_stvlx */
6195*0a6a1f1dSLionel Sambuc   vec_stvlx(vsc, 0, &param_sc);
6196*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6197f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6198f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6199f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6200f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6201f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6202f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6203*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6204*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6205*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6206*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6207*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6208*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6209*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6210f4a2713aSLionel Sambuc 
6211*0a6a1f1dSLionel Sambuc   vec_stvlx(vsc, 0, &vsc);
6212*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6213f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6214f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6215f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6216f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6217f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6218f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6219*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6220*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6221*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6222*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6223*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6224*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6225*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6226f4a2713aSLionel Sambuc 
6227*0a6a1f1dSLionel Sambuc   vec_stvlx(vuc, 0, &param_uc);
6228*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6229f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6230f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6231f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6232f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6233f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6234f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6235*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6236*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6237*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6238*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6239*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6240*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6241*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6242f4a2713aSLionel Sambuc 
6243*0a6a1f1dSLionel Sambuc   vec_stvlx(vuc, 0, &vuc);
6244*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6245f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6246f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6247f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6248f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6249f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6250f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6251*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6252*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6253*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6254*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6255*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6256*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6257*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6258f4a2713aSLionel Sambuc 
6259*0a6a1f1dSLionel Sambuc   vec_stvlx(vbc, 0, &vbc);
6260*0a6a1f1dSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6261f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6262f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6263f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6264f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6265f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6266f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6267*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6268*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6269*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6270*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6271*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6272*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6273*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6274f4a2713aSLionel Sambuc 
6275*0a6a1f1dSLionel Sambuc   vec_stvlx(vs, 0, &param_s);
6276*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6277f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6278f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6279f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6280f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6281f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6282f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6283*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6284*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6285*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6286*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6287*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6288*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6289*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6290f4a2713aSLionel Sambuc 
6291*0a6a1f1dSLionel Sambuc   vec_stvlx(vs, 0, &vs);
6292*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6293f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6294f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6295f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6296f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6297f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6298f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6299*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6300*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6301*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6302*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6303*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6304*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6305*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6306f4a2713aSLionel Sambuc 
6307*0a6a1f1dSLionel Sambuc   vec_stvlx(vus, 0, &param_us);
6308*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6309f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6310f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6311f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6312f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6313f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6314f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6315*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6316*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6317*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6318*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6319*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6320*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6321*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6322f4a2713aSLionel Sambuc 
6323*0a6a1f1dSLionel Sambuc   vec_stvlx(vus, 0, &vus);
6324*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6325f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6326f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6327f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6328f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6329f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6330f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6331*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6332*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6333*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6334*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6335*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6336*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6337*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6338f4a2713aSLionel Sambuc 
6339*0a6a1f1dSLionel Sambuc   vec_stvlx(vbs, 0, &vbs);
6340*0a6a1f1dSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6341f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6342f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6343f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6344f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6345f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6346f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6347*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6348*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6349*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6350*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6351*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6352*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6353*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6354f4a2713aSLionel Sambuc 
6355*0a6a1f1dSLionel Sambuc   vec_stvlx(vp, 0, &vp);
6356*0a6a1f1dSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6357f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6358f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6359f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6360f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6361f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6362f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6363*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6364*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6365*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6366*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6367*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6368*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6369*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6370f4a2713aSLionel Sambuc 
6371*0a6a1f1dSLionel Sambuc   vec_stvlx(vi, 0, &param_i);
6372*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6373f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6374f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6375f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6376f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6377f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6378f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6379*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6380*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6381*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6382*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6383*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6384*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6385*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6386f4a2713aSLionel Sambuc 
6387*0a6a1f1dSLionel Sambuc   vec_stvlx(vi, 0, &vi);
6388*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6389f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6390f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6391f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6392f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6393f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6394f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6395*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6396*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6397*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6398*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6399*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6400*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6401*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6402f4a2713aSLionel Sambuc 
6403*0a6a1f1dSLionel Sambuc   vec_stvlx(vui, 0, &param_ui);
6404*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6405f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6406f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6407f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6408f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6409f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6410f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6411*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6412*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6413*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6414*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6415*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6416*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6417*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6418f4a2713aSLionel Sambuc 
6419*0a6a1f1dSLionel Sambuc   vec_stvlx(vui, 0, &vui);
6420*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6421f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6422f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6423f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6424f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6425f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6426f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6427*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6428*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6429*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6430*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6431*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6432*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6433*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6434f4a2713aSLionel Sambuc 
6435*0a6a1f1dSLionel Sambuc   vec_stvlx(vbi, 0, &vbi);
6436*0a6a1f1dSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6437f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6438f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6439f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6440f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6441f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6442f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6443*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6444*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6445*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6446*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6447*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6448*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6449*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6450f4a2713aSLionel Sambuc 
6451*0a6a1f1dSLionel Sambuc   vec_stvlx(vf, 0, &vf);
6452*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6453f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6454f4a2713aSLionel Sambuc // CHECK: store <4 x float> zeroinitializer
6455f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6456f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6457f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6458f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6459*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6460*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6461*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x float> zeroinitializer
6462*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6463*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6464*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6465*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6466f4a2713aSLionel Sambuc 
6467f4a2713aSLionel Sambuc   /* vec_stvlxl */
6468*0a6a1f1dSLionel Sambuc   vec_stvlxl(vsc, 0, &param_sc);
6469*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6470f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6471f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6472f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6473f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6474f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6475f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6476*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6477*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6478*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6479*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6480*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6481*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6482*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6483f4a2713aSLionel Sambuc 
6484*0a6a1f1dSLionel Sambuc   vec_stvlxl(vsc, 0, &vsc);
6485*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6486f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6487f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6488f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6489f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6490f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6491f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6492*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6493*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6494*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6495*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6496*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6497*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6498*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6499f4a2713aSLionel Sambuc 
6500*0a6a1f1dSLionel Sambuc   vec_stvlxl(vuc, 0, &param_uc);
6501*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6502f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6503f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6504f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6505f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6506f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6507f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6508*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6509*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6510*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6511*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6512*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6513*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6514*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6515f4a2713aSLionel Sambuc 
6516*0a6a1f1dSLionel Sambuc   vec_stvlxl(vuc, 0, &vuc);
6517*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6518f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6519f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6520f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6521f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6522f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6523f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6524*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6525*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6526*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6527*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6528*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6529*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6530*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6531f4a2713aSLionel Sambuc 
6532*0a6a1f1dSLionel Sambuc   vec_stvlxl(vbc, 0, &vbc);
6533*0a6a1f1dSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6534f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6535f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6536f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6537f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6538f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6539f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6540*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6541*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6542*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6543*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6544*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6545*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6546*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6547f4a2713aSLionel Sambuc 
6548*0a6a1f1dSLionel Sambuc   vec_stvlxl(vs, 0, &param_s);
6549*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6550f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6551f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6552f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6553f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6554f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6555f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6556*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6557*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6558*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6559*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6560*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6561*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6562*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6563f4a2713aSLionel Sambuc 
6564*0a6a1f1dSLionel Sambuc   vec_stvlxl(vs, 0, &vs);
6565*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6566f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6567f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6568f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6569f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6570f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6571f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6572*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6573*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6574*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6575*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6576*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6577*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6578*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6579f4a2713aSLionel Sambuc 
6580*0a6a1f1dSLionel Sambuc   vec_stvlxl(vus, 0, &param_us);
6581*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6582f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6583f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6584f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6585f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6586f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6587f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6588*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6589*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6590*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6591*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6592*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6593*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6594*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6595f4a2713aSLionel Sambuc 
6596*0a6a1f1dSLionel Sambuc   vec_stvlxl(vus, 0, &vus);
6597*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6598f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6599f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6600f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6601f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6602f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6603f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6604*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6605*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6606*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6607*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6608*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6609*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6610*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6611f4a2713aSLionel Sambuc 
6612*0a6a1f1dSLionel Sambuc   vec_stvlxl(vbs, 0, &vbs);
6613*0a6a1f1dSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6614f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6615f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6616f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6617f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6618f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6619f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6620*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6621*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6622*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6623*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6624*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6625*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6626*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6627f4a2713aSLionel Sambuc 
6628*0a6a1f1dSLionel Sambuc   vec_stvlxl(vp, 0, &vp);
6629*0a6a1f1dSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6630f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6631f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6632f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6633f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6634f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6635f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6636*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6637*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6638*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6639*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6640*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6641*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6642*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6643f4a2713aSLionel Sambuc 
6644*0a6a1f1dSLionel Sambuc   vec_stvlxl(vi, 0, &param_i);
6645*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6646f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6647f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6648f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6649f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6650f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6651f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6652*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6653*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6654*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6655*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6656*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6657*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6658*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6659f4a2713aSLionel Sambuc 
6660*0a6a1f1dSLionel Sambuc   vec_stvlxl(vi, 0, &vi);
6661*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6662f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6663f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6664f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6665f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6666f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6667f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6668*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6669*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6670*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6671*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6672*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6673*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6674*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6675f4a2713aSLionel Sambuc 
6676*0a6a1f1dSLionel Sambuc   vec_stvlxl(vui, 0, &param_ui);
6677*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6678f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6679f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6680f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6681f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6682f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6683f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6684*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6685*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6686*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6687*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6688*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6689*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6690*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6691f4a2713aSLionel Sambuc 
6692*0a6a1f1dSLionel Sambuc   vec_stvlxl(vui, 0, &vui);
6693*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6694f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6695f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6696f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6697f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6698f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6699f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6700*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6701*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6702*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6703*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6704*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6705*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6706*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6707f4a2713aSLionel Sambuc 
6708*0a6a1f1dSLionel Sambuc   vec_stvlxl(vbi, 0, &vbi);
6709*0a6a1f1dSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6710f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6711f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6712f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6713f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6714f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6715f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6716*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6717*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6718*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6719*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6720*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6721*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6722*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6723f4a2713aSLionel Sambuc 
6724*0a6a1f1dSLionel Sambuc   vec_stvlxl(vf, 0, &vf);
6725*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6726f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6727f4a2713aSLionel Sambuc // CHECK: store <4 x float> zeroinitializer
6728f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6729f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6730f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6731f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
6732*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6733*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6734*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x float> zeroinitializer
6735*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6736*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6737*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6738*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
6739f4a2713aSLionel Sambuc 
6740f4a2713aSLionel Sambuc   /* vec_stvrx */
6741*0a6a1f1dSLionel Sambuc   vec_stvrx(vsc, 0, &param_sc);
6742*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6743f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6744f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6745f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6746f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6747f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6748f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6749*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6750*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6751*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6752*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6753*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6754*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6755*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6756f4a2713aSLionel Sambuc 
6757*0a6a1f1dSLionel Sambuc   vec_stvrx(vsc, 0, &vsc);
6758*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6759f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6760f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6761f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6762f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6763f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6764f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6765*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6766*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6767*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6768*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6769*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6770*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6771*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6772f4a2713aSLionel Sambuc 
6773*0a6a1f1dSLionel Sambuc   vec_stvrx(vuc, 0, &param_uc);
6774*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6775f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6776f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6777f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6778f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6779f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6780f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6781*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6782*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6783*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6784*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6785*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6786*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6787*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6788f4a2713aSLionel Sambuc 
6789*0a6a1f1dSLionel Sambuc   vec_stvrx(vuc, 0, &vuc);
6790*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6791f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6792f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6793f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6794f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6795f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6796f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6797*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6798*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6799*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6800*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6801*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6802*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6803*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6804f4a2713aSLionel Sambuc 
6805*0a6a1f1dSLionel Sambuc   vec_stvrx(vbc, 0, &vbc);
6806*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6807f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
6808f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6809f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6810f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6811f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6812f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6813*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6814*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
6815*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6816*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6817*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6818*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6819*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6820f4a2713aSLionel Sambuc 
6821*0a6a1f1dSLionel Sambuc   vec_stvrx(vs, 0, &param_s);
6822*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6823f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6824f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6825f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6826f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6827f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6828f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6829*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6830*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6831*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6832*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6833*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6834*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6835*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6836f4a2713aSLionel Sambuc 
6837*0a6a1f1dSLionel Sambuc   vec_stvrx(vs, 0, &vs);
6838*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6839f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6840f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6841f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6842f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6843f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6844f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6845*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6846*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6847*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6848*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6849*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6850*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6851*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6852f4a2713aSLionel Sambuc 
6853*0a6a1f1dSLionel Sambuc   vec_stvrx(vus, 0, &param_us);
6854*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6855f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6856f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6857f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6858f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6859f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6860f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6861*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6862*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6863*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6864*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6865*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6866*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6867*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6868f4a2713aSLionel Sambuc 
6869*0a6a1f1dSLionel Sambuc   vec_stvrx(vus, 0, &vus);
6870*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6871f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6872f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6873f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6874f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6875f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6876f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6877*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6878*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6879*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6880*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6881*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6882*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6883*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6884f4a2713aSLionel Sambuc 
6885*0a6a1f1dSLionel Sambuc   vec_stvrx(vbs, 0, &vbs);
6886*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6887f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6888f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6889f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6890f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6891f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6892f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6893*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6894*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6895*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6896*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6897*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6898*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6899*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6900f4a2713aSLionel Sambuc 
6901*0a6a1f1dSLionel Sambuc   vec_stvrx(vp, 0, &vp);
6902*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6903f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
6904f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6905f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6906f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6907f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6908f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6909*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6910*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
6911*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6912*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6913*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6914*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6915*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6916f4a2713aSLionel Sambuc 
6917*0a6a1f1dSLionel Sambuc   vec_stvrx(vi, 0, &param_i);
6918*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6919f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6920f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6921f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6922f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6923f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6924f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6925*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6926*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6927*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6928*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6929*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6930*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6931*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6932f4a2713aSLionel Sambuc 
6933*0a6a1f1dSLionel Sambuc   vec_stvrx(vi, 0, &vi);
6934*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6935f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6936f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6937f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6938f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6939f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6940f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6941*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6942*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6943*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6944*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6945*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6946*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6947*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6948f4a2713aSLionel Sambuc 
6949*0a6a1f1dSLionel Sambuc   vec_stvrx(vui, 0, &param_ui);
6950*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6951f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6952f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6953f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6954f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6955f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6956f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6957*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6958*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6959*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6960*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6961*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6962*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6963*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6964f4a2713aSLionel Sambuc 
6965*0a6a1f1dSLionel Sambuc   vec_stvrx(vui, 0, &vui);
6966*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6967f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6968f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6969f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6970f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6971f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6972f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6973*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6974*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6975*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6976*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6977*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6978*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6979*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6980f4a2713aSLionel Sambuc 
6981*0a6a1f1dSLionel Sambuc   vec_stvrx(vbi, 0, &vbi);
6982*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6983f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
6984f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
6985f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6986f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
6987f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
6988f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
6989*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
6990*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
6991*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
6992*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6993*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
6994*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
6995*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
6996f4a2713aSLionel Sambuc 
6997*0a6a1f1dSLionel Sambuc   vec_stvrx(vf, 0, &vf);
6998*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
6999f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7000f4a2713aSLionel Sambuc // CHECK: store <4 x float> zeroinitializer
7001f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7002f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7003f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7004f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvx
7005*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7006*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7007*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x float> zeroinitializer
7008*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7009*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7010*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7011*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvx
7012f4a2713aSLionel Sambuc 
7013f4a2713aSLionel Sambuc   /* vec_stvrxl */
7014*0a6a1f1dSLionel Sambuc   vec_stvrxl(vsc, 0, &param_sc);
7015*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7016f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7017f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
7018f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7019f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7020f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7021f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7022*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7023*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7024*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
7025*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7026*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7027*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7028*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7029f4a2713aSLionel Sambuc 
7030*0a6a1f1dSLionel Sambuc   vec_stvrxl(vsc, 0, &vsc);
7031*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7032f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7033f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
7034f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7035f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7036f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7037f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7038*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7039*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7040*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
7041*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7042*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7043*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7044*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7045f4a2713aSLionel Sambuc 
7046*0a6a1f1dSLionel Sambuc   vec_stvrxl(vuc, 0, &param_uc);
7047*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7048f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7049f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
7050f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7051f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7052f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7053f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7054*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7055*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7056*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
7057*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7058*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7059*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7060*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7061f4a2713aSLionel Sambuc 
7062*0a6a1f1dSLionel Sambuc   vec_stvrxl(vuc, 0, &vuc);
7063*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7064f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7065f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
7066f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7067f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7068f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7069f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7070*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7071*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7072*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
7073*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7074*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7075*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7076*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7077f4a2713aSLionel Sambuc 
7078*0a6a1f1dSLionel Sambuc   vec_stvrxl(vbc, 0, &vbc);
7079*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7080f4a2713aSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
7081f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7082f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7083f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7084f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7085f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7086*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7087*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
7088*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7089*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7090*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7091*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7092*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7093f4a2713aSLionel Sambuc 
7094*0a6a1f1dSLionel Sambuc   vec_stvrxl(vs, 0, &param_s);
7095*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7096f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7097f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
7098f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7099f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7100f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7101f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7102*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7103*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7104*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
7105*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7106*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7107*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7108*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7109f4a2713aSLionel Sambuc 
7110*0a6a1f1dSLionel Sambuc   vec_stvrxl(vs, 0, &vs);
7111*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7112f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7113f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
7114f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7115f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7116f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7117f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7118*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7119*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7120*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
7121*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7122*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7123*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7124*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7125f4a2713aSLionel Sambuc 
7126*0a6a1f1dSLionel Sambuc   vec_stvrxl(vus, 0, &param_us);
7127*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7128f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7129f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
7130f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7131f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7132f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7133f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7134*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7135*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7136*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
7137*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7138*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7139*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7140*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7141f4a2713aSLionel Sambuc 
7142*0a6a1f1dSLionel Sambuc   vec_stvrxl(vus, 0, &vus);
7143*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7144f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7145f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
7146f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7147f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7148f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7149f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7150*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7151*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7152*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
7153*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7154*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7155*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7156*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7157f4a2713aSLionel Sambuc 
7158*0a6a1f1dSLionel Sambuc   vec_stvrxl(vbs, 0, &vbs);
7159*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7160f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
7161f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7162f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7163f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7164f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7165f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7166*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7167*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
7168*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7169*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7170*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7171*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7172*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7173f4a2713aSLionel Sambuc 
7174*0a6a1f1dSLionel Sambuc   vec_stvrxl(vp, 0, &vp);
7175*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7176f4a2713aSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
7177f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7178f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7179f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7180f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7181f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7182*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7183*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
7184*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7185*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7186*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7187*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7188*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7189f4a2713aSLionel Sambuc 
7190*0a6a1f1dSLionel Sambuc   vec_stvrxl(vi, 0, &param_i);
7191*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7192f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7193f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
7194f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7195f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7196f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7197f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7198*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7199*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7200*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
7201*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7202*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7203*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7204*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7205f4a2713aSLionel Sambuc 
7206*0a6a1f1dSLionel Sambuc   vec_stvrxl(vi, 0, &vi);
7207*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7208f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7209f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
7210f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7211f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7212f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7213f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7214*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7215*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7216*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
7217*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7218*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7219*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7220*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7221f4a2713aSLionel Sambuc 
7222*0a6a1f1dSLionel Sambuc   vec_stvrxl(vui, 0, &param_ui);
7223*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7224f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7225f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
7226f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7227f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7228f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7229f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7230*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7231*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7232*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
7233*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7234*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7235*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7236*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7237f4a2713aSLionel Sambuc 
7238*0a6a1f1dSLionel Sambuc   vec_stvrxl(vui, 0, &vui);
7239*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7240f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7241f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
7242f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7243f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7244f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7245f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7246*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7247*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7248*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
7249*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7250*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7251*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7252*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7253f4a2713aSLionel Sambuc 
7254*0a6a1f1dSLionel Sambuc   vec_stvrxl(vbi, 0, &vbi);
7255*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7256f4a2713aSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
7257f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7258f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7259f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7260f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7261f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7262*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7263*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
7264*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7265*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7266*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7267*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7268*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7269f4a2713aSLionel Sambuc 
7270*0a6a1f1dSLionel Sambuc   vec_stvrxl(vf, 0, &vf);
7271*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvx
7272f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsl
7273f4a2713aSLionel Sambuc // CHECK: store <4 x float> zeroinitializer
7274f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7275f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.lvsr
7276f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.vperm
7277f4a2713aSLionel Sambuc // CHECK: @llvm.ppc.altivec.stvxl
7278*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvx
7279*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsl
7280*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x float> zeroinitializer
7281*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7282*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.lvsr
7283*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vperm
7284*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.stvxl
7285f4a2713aSLionel Sambuc 
7286f4a2713aSLionel Sambuc   /* vec_promote */
7287*0a6a1f1dSLionel Sambuc   res_vsc = vec_promote(param_sc, 0);
7288*0a6a1f1dSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
7289f4a2713aSLionel Sambuc // CHECK: insertelement <16 x i8>
7290*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
7291*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <16 x i8>
7292f4a2713aSLionel Sambuc 
7293*0a6a1f1dSLionel Sambuc   res_vuc = vec_promote(param_uc, 0);
7294*0a6a1f1dSLionel Sambuc // CHECK: store <16 x i8> zeroinitializer
7295f4a2713aSLionel Sambuc // CHECK: insertelement <16 x i8>
7296*0a6a1f1dSLionel Sambuc // CHECK-LE: store <16 x i8> zeroinitializer
7297*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <16 x i8>
7298f4a2713aSLionel Sambuc 
7299*0a6a1f1dSLionel Sambuc   res_vs  = vec_promote(param_s, 0);
7300*0a6a1f1dSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
7301f4a2713aSLionel Sambuc // CHECK: insertelement <8 x i16>
7302*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
7303*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <8 x i16>
7304f4a2713aSLionel Sambuc 
7305*0a6a1f1dSLionel Sambuc   res_vus = vec_promote(param_us, 0);
7306*0a6a1f1dSLionel Sambuc // CHECK: store <8 x i16> zeroinitializer
7307f4a2713aSLionel Sambuc // CHECK: insertelement <8 x i16>
7308*0a6a1f1dSLionel Sambuc // CHECK-LE: store <8 x i16> zeroinitializer
7309*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <8 x i16>
7310f4a2713aSLionel Sambuc 
7311*0a6a1f1dSLionel Sambuc   res_vi  = vec_promote(param_i, 0);
7312*0a6a1f1dSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
7313f4a2713aSLionel Sambuc // CHECK: insertelement <4 x i32>
7314*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
7315*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <4 x i32>
7316f4a2713aSLionel Sambuc 
7317*0a6a1f1dSLionel Sambuc   res_vui = vec_promote(param_ui, 0);
7318*0a6a1f1dSLionel Sambuc // CHECK: store <4 x i32> zeroinitializer
7319f4a2713aSLionel Sambuc // CHECK: insertelement <4 x i32>
7320*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x i32> zeroinitializer
7321*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <4 x i32>
7322f4a2713aSLionel Sambuc 
7323*0a6a1f1dSLionel Sambuc   res_vf  = vec_promote(param_f, 0);
7324*0a6a1f1dSLionel Sambuc // CHECK: store <4 x float> zeroinitializer
7325f4a2713aSLionel Sambuc // CHECK: insertelement <4 x float>
7326*0a6a1f1dSLionel Sambuc // CHECK-LE: store <4 x float> zeroinitializer
7327*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <4 x float>
7328f4a2713aSLionel Sambuc 
7329f4a2713aSLionel Sambuc   /* vec_splats */
7330*0a6a1f1dSLionel Sambuc   res_vsc = vec_splats(param_sc);
7331*0a6a1f1dSLionel Sambuc // CHECK: insertelement <16 x i8>
7332*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <16 x i8>
7333f4a2713aSLionel Sambuc 
7334*0a6a1f1dSLionel Sambuc   res_vuc = vec_splats(param_uc);
7335*0a6a1f1dSLionel Sambuc // CHECK: insertelement <16 x i8>
7336*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <16 x i8>
7337f4a2713aSLionel Sambuc 
7338*0a6a1f1dSLionel Sambuc   res_vs  = vec_splats(param_s);
7339*0a6a1f1dSLionel Sambuc // CHECK: insertelement <8 x i16>
7340*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <8 x i16>
7341f4a2713aSLionel Sambuc 
7342*0a6a1f1dSLionel Sambuc   res_vus = vec_splats(param_us);
7343*0a6a1f1dSLionel Sambuc // CHECK: insertelement <8 x i16>
7344*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <8 x i16>
7345f4a2713aSLionel Sambuc 
7346*0a6a1f1dSLionel Sambuc   res_vi  = vec_splats(param_i);
7347*0a6a1f1dSLionel Sambuc // CHECK: insertelement <4 x i32>
7348*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <4 x i32>
7349f4a2713aSLionel Sambuc 
7350*0a6a1f1dSLionel Sambuc   res_vui = vec_splats(param_ui);
7351*0a6a1f1dSLionel Sambuc // CHECK: insertelement <4 x i32>
7352*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <4 x i32>
7353f4a2713aSLionel Sambuc 
7354*0a6a1f1dSLionel Sambuc   res_vf  = vec_splats(param_f);
7355*0a6a1f1dSLionel Sambuc // CHECK: insertelement <4 x float>
7356*0a6a1f1dSLionel Sambuc // CHECK-LE: insertelement <4 x float>
7357f4a2713aSLionel Sambuc 
7358f4a2713aSLionel Sambuc   /* ------------------------------ predicates -------------------------------------- */
7359f4a2713aSLionel Sambuc 
7360f4a2713aSLionel Sambuc   /* vec_all_eq */
7361*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vsc, vsc);
7362*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7363*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7364*0a6a1f1dSLionel Sambuc 
7365*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vsc, vbc);
7366*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7367*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7368*0a6a1f1dSLionel Sambuc 
7369*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vuc, vuc);
7370*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7371*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7372*0a6a1f1dSLionel Sambuc 
7373*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vuc, vbc);
7374*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7375*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7376*0a6a1f1dSLionel Sambuc 
7377*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vbc, vsc);
7378*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7379*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7380*0a6a1f1dSLionel Sambuc 
7381*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vbc, vuc);
7382*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7383*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7384*0a6a1f1dSLionel Sambuc 
7385*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vbc, vbc);
7386*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7387*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7388*0a6a1f1dSLionel Sambuc 
7389*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vs, vs);
7390*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7391*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7392*0a6a1f1dSLionel Sambuc 
7393*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vs, vbs);
7394*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7395*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7396*0a6a1f1dSLionel Sambuc 
7397*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vus, vus);
7398*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7399*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7400*0a6a1f1dSLionel Sambuc 
7401*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vus, vbs);
7402*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7403*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7404*0a6a1f1dSLionel Sambuc 
7405*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vbs, vs);
7406*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7407*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7408*0a6a1f1dSLionel Sambuc 
7409*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vbs, vus);
7410*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7411*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7412*0a6a1f1dSLionel Sambuc 
7413*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vbs, vbs);
7414*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7415*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7416*0a6a1f1dSLionel Sambuc 
7417*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vp, vp);
7418*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7419*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7420*0a6a1f1dSLionel Sambuc 
7421*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vi, vi);
7422*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
7423*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
7424*0a6a1f1dSLionel Sambuc 
7425*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vi, vbi);
7426*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
7427*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
7428*0a6a1f1dSLionel Sambuc 
7429*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vui, vui);
7430*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
7431*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
7432*0a6a1f1dSLionel Sambuc 
7433*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vui, vbi);
7434*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
7435*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
7436*0a6a1f1dSLionel Sambuc 
7437*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vbi, vi);
7438*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
7439*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
7440*0a6a1f1dSLionel Sambuc 
7441*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vbi, vui);
7442*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
7443*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
7444*0a6a1f1dSLionel Sambuc 
7445*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vbi, vbi);
7446*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
7447*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
7448*0a6a1f1dSLionel Sambuc 
7449*0a6a1f1dSLionel Sambuc   res_i = vec_all_eq(vf, vf);
7450*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpeqfp.p
7451*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p
7452f4a2713aSLionel Sambuc 
7453f4a2713aSLionel Sambuc   /* vec_all_ge */
7454*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vsc, vsc);
7455*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
7456*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
7457*0a6a1f1dSLionel Sambuc 
7458*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vsc, vbc);
7459*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
7460*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
7461*0a6a1f1dSLionel Sambuc 
7462*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vuc, vuc);
7463*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7464*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7465*0a6a1f1dSLionel Sambuc 
7466*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vuc, vbc);
7467*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7468*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7469*0a6a1f1dSLionel Sambuc 
7470*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vbc, vsc);
7471*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7472*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7473*0a6a1f1dSLionel Sambuc 
7474*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vbc, vuc);
7475*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7476*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7477*0a6a1f1dSLionel Sambuc 
7478*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vbc, vbc);
7479*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7480*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7481*0a6a1f1dSLionel Sambuc 
7482*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vs, vs);
7483*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
7484*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
7485*0a6a1f1dSLionel Sambuc 
7486*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vs, vbs);
7487*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
7488*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
7489*0a6a1f1dSLionel Sambuc 
7490*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vus, vus);
7491*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7492*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7493*0a6a1f1dSLionel Sambuc 
7494*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vus, vbs);
7495*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7496*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7497*0a6a1f1dSLionel Sambuc 
7498*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vbs, vs);
7499*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7500*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7501*0a6a1f1dSLionel Sambuc 
7502*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vbs, vus);
7503*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7504*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7505*0a6a1f1dSLionel Sambuc 
7506*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vbs, vbs);
7507*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7508*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7509*0a6a1f1dSLionel Sambuc 
7510*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vi, vi);
7511*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
7512*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
7513*0a6a1f1dSLionel Sambuc 
7514*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vi, vbi);
7515*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
7516*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
7517*0a6a1f1dSLionel Sambuc 
7518*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vui, vui);
7519*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7520*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7521*0a6a1f1dSLionel Sambuc 
7522*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vui, vbi);
7523*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7524*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7525*0a6a1f1dSLionel Sambuc 
7526*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vbi, vi);
7527*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7528*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7529*0a6a1f1dSLionel Sambuc 
7530*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vbi, vui);
7531*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7532*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7533*0a6a1f1dSLionel Sambuc 
7534*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vbi, vbi);
7535*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7536*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7537*0a6a1f1dSLionel Sambuc 
7538*0a6a1f1dSLionel Sambuc   res_i = vec_all_ge(vf, vf);
7539*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgefp.p
7540*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p
7541f4a2713aSLionel Sambuc 
7542f4a2713aSLionel Sambuc   /* vec_all_gt */
7543*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vsc, vsc);
7544*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
7545*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
7546*0a6a1f1dSLionel Sambuc 
7547*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vsc, vbc);
7548*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
7549*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
7550*0a6a1f1dSLionel Sambuc 
7551*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vuc, vuc);
7552*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7553*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7554*0a6a1f1dSLionel Sambuc 
7555*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vuc, vbc);
7556*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7557*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7558*0a6a1f1dSLionel Sambuc 
7559*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vbc, vsc);
7560*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7561*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7562*0a6a1f1dSLionel Sambuc 
7563*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vbc, vuc);
7564*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7565*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7566*0a6a1f1dSLionel Sambuc 
7567*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vbc, vbc);
7568*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7569*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7570*0a6a1f1dSLionel Sambuc 
7571*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vs, vs);
7572*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
7573*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
7574*0a6a1f1dSLionel Sambuc 
7575*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vs, vbs);
7576*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
7577*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
7578*0a6a1f1dSLionel Sambuc 
7579*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vus, vus);
7580*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7581*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7582*0a6a1f1dSLionel Sambuc 
7583*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vus, vbs);
7584*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7585*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7586*0a6a1f1dSLionel Sambuc 
7587*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vbs, vs);
7588*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7589*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7590*0a6a1f1dSLionel Sambuc 
7591*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vbs, vus);
7592*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7593*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7594*0a6a1f1dSLionel Sambuc 
7595*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vbs, vbs);
7596*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7597*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7598*0a6a1f1dSLionel Sambuc 
7599*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vi, vi);
7600*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
7601*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
7602*0a6a1f1dSLionel Sambuc 
7603*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vi, vbi);
7604*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
7605*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
7606*0a6a1f1dSLionel Sambuc 
7607*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vui, vui);
7608*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7609*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7610*0a6a1f1dSLionel Sambuc 
7611*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vui, vbi);
7612*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7613*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7614*0a6a1f1dSLionel Sambuc 
7615*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vbi, vi);
7616*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7617*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7618*0a6a1f1dSLionel Sambuc 
7619*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vbi, vui);
7620*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7621*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7622*0a6a1f1dSLionel Sambuc 
7623*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vbi, vbi);
7624*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7625*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7626*0a6a1f1dSLionel Sambuc 
7627*0a6a1f1dSLionel Sambuc   res_i = vec_all_gt(vf, vf);
7628*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtfp.p
7629*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p
7630f4a2713aSLionel Sambuc 
7631f4a2713aSLionel Sambuc   /* vec_all_in */
7632*0a6a1f1dSLionel Sambuc   res_i = vec_all_in(vf, vf);
7633*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpbfp.p
7634*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpbfp.p
7635f4a2713aSLionel Sambuc 
7636f4a2713aSLionel Sambuc   /* vec_all_le */
7637*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vsc, vsc);
7638*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
7639*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
7640*0a6a1f1dSLionel Sambuc 
7641*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vsc, vbc);
7642*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
7643*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
7644*0a6a1f1dSLionel Sambuc 
7645*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vuc, vuc);
7646*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7647*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7648*0a6a1f1dSLionel Sambuc 
7649*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vuc, vbc);
7650*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7651*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7652*0a6a1f1dSLionel Sambuc 
7653*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vbc, vsc);
7654*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7655*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7656*0a6a1f1dSLionel Sambuc 
7657*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vbc, vuc);
7658*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7659*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7660*0a6a1f1dSLionel Sambuc 
7661*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vbc, vbc);
7662*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7663*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7664*0a6a1f1dSLionel Sambuc 
7665*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vs, vs);
7666*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
7667*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
7668*0a6a1f1dSLionel Sambuc 
7669*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vs, vbs);
7670*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
7671*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
7672*0a6a1f1dSLionel Sambuc 
7673*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vus, vus);
7674*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7675*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7676*0a6a1f1dSLionel Sambuc 
7677*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vus, vbs);
7678*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7679*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7680*0a6a1f1dSLionel Sambuc 
7681*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vbs, vs);
7682*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7683*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7684*0a6a1f1dSLionel Sambuc 
7685*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vbs, vus);
7686*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7687*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7688*0a6a1f1dSLionel Sambuc 
7689*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vbs, vbs);
7690*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7691*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7692*0a6a1f1dSLionel Sambuc 
7693*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vi, vi);
7694*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
7695*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
7696*0a6a1f1dSLionel Sambuc 
7697*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vi, vbi);
7698*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
7699*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
7700*0a6a1f1dSLionel Sambuc 
7701*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vui, vui);
7702*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7703*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7704*0a6a1f1dSLionel Sambuc 
7705*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vui, vbi);
7706*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7707*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7708*0a6a1f1dSLionel Sambuc 
7709*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vbi, vi);
7710*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7711*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7712*0a6a1f1dSLionel Sambuc 
7713*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vbi, vui);
7714*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7715*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7716*0a6a1f1dSLionel Sambuc 
7717*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vbi, vbi);
7718*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7719*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7720*0a6a1f1dSLionel Sambuc 
7721*0a6a1f1dSLionel Sambuc   res_i = vec_all_le(vf, vf);
7722*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgefp.p
7723*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p
7724f4a2713aSLionel Sambuc 
7725f4a2713aSLionel Sambuc   /* vec_all_lt */
7726*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vsc, vsc);
7727*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
7728*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
7729*0a6a1f1dSLionel Sambuc 
7730*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vsc, vbc);
7731*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
7732*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
7733*0a6a1f1dSLionel Sambuc 
7734*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vuc, vuc);
7735*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7736*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7737*0a6a1f1dSLionel Sambuc 
7738*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vuc, vbc);
7739*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7740*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7741*0a6a1f1dSLionel Sambuc 
7742*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vbc, vsc);
7743*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7744*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7745*0a6a1f1dSLionel Sambuc 
7746*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vbc, vuc);
7747*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7748*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7749*0a6a1f1dSLionel Sambuc 
7750*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vbc, vbc);
7751*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
7752*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
7753*0a6a1f1dSLionel Sambuc 
7754*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vs, vs);
7755*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
7756*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
7757*0a6a1f1dSLionel Sambuc 
7758*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vs, vbs);
7759*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
7760*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
7761*0a6a1f1dSLionel Sambuc 
7762*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vus, vus);
7763*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7764*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7765*0a6a1f1dSLionel Sambuc 
7766*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vus, vbs);
7767*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7768*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7769*0a6a1f1dSLionel Sambuc 
7770*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vbs, vs);
7771*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7772*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7773*0a6a1f1dSLionel Sambuc 
7774*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vbs, vus);
7775*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7776*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7777*0a6a1f1dSLionel Sambuc 
7778*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vbs, vbs);
7779*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
7780*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
7781*0a6a1f1dSLionel Sambuc 
7782*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vi, vi);
7783*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
7784*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
7785*0a6a1f1dSLionel Sambuc 
7786*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vi, vbi);
7787*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
7788*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
7789*0a6a1f1dSLionel Sambuc 
7790*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vui, vui);
7791*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7792*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7793*0a6a1f1dSLionel Sambuc 
7794*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vui, vbi);
7795*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7796*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7797*0a6a1f1dSLionel Sambuc 
7798*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vbi, vi);
7799*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7800*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7801*0a6a1f1dSLionel Sambuc 
7802*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vbi, vui);
7803*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7804*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7805*0a6a1f1dSLionel Sambuc 
7806*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vbi, vbi);
7807*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
7808*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
7809*0a6a1f1dSLionel Sambuc 
7810*0a6a1f1dSLionel Sambuc   res_i = vec_all_lt(vf, vf);
7811*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtfp.p
7812*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p
7813f4a2713aSLionel Sambuc 
7814f4a2713aSLionel Sambuc   /* vec_all_nan */
7815*0a6a1f1dSLionel Sambuc   res_i = vec_all_nan(vf);
7816*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpeqfp.p
7817*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p
7818f4a2713aSLionel Sambuc 
7819f4a2713aSLionel Sambuc   /*  vec_all_ne */
7820*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vsc, vsc);
7821*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7822*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7823*0a6a1f1dSLionel Sambuc 
7824*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vsc, vbc);
7825*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7826*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7827*0a6a1f1dSLionel Sambuc 
7828*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vuc, vuc);
7829*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7830*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7831*0a6a1f1dSLionel Sambuc 
7832*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vuc, vbc);
7833*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7834*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7835*0a6a1f1dSLionel Sambuc 
7836*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vbc, vsc);
7837*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7838*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7839*0a6a1f1dSLionel Sambuc 
7840*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vbc, vuc);
7841*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7842*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7843*0a6a1f1dSLionel Sambuc 
7844*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vbc, vbc);
7845*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7846*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7847*0a6a1f1dSLionel Sambuc 
7848*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vs, vs);
7849*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7850*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7851*0a6a1f1dSLionel Sambuc 
7852*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vs, vbs);
7853*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7854*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7855*0a6a1f1dSLionel Sambuc 
7856*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vus, vus);
7857*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7858*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7859*0a6a1f1dSLionel Sambuc 
7860*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vus, vbs);
7861*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7862*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7863*0a6a1f1dSLionel Sambuc 
7864*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vbs, vs);
7865*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7866*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7867*0a6a1f1dSLionel Sambuc 
7868*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vbs, vus);
7869*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7870*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7871*0a6a1f1dSLionel Sambuc 
7872*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vbs, vbs);
7873*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7874*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7875*0a6a1f1dSLionel Sambuc 
7876*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vp, vp);
7877*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7878*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7879*0a6a1f1dSLionel Sambuc 
7880*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vi, vi);
7881*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
7882*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
7883*0a6a1f1dSLionel Sambuc 
7884*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vi, vbi);
7885*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
7886*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
7887*0a6a1f1dSLionel Sambuc 
7888*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vui, vui);
7889*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
7890*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
7891*0a6a1f1dSLionel Sambuc 
7892*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vui, vbi);
7893*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
7894*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
7895*0a6a1f1dSLionel Sambuc 
7896*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vbi, vi);
7897*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
7898*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
7899*0a6a1f1dSLionel Sambuc 
7900*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vbi, vui);
7901*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
7902*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
7903*0a6a1f1dSLionel Sambuc 
7904*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vbi, vbi);
7905*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
7906*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
7907*0a6a1f1dSLionel Sambuc 
7908*0a6a1f1dSLionel Sambuc   res_i = vec_all_ne(vf, vf);
7909*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpeqfp.p
7910*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p
7911f4a2713aSLionel Sambuc 
7912f4a2713aSLionel Sambuc   /* vec_all_nge */
7913*0a6a1f1dSLionel Sambuc   res_i = vec_all_nge(vf, vf);
7914*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgefp.p
7915*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p
7916f4a2713aSLionel Sambuc 
7917f4a2713aSLionel Sambuc   /* vec_all_ngt */
7918*0a6a1f1dSLionel Sambuc   res_i = vec_all_ngt(vf, vf);
7919*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtfp.p
7920*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p
7921f4a2713aSLionel Sambuc 
7922f4a2713aSLionel Sambuc   /* vec_all_nle */
7923*0a6a1f1dSLionel Sambuc   res_i = vec_all_nle(vf, vf);
7924*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgefp.p
7925*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p
7926f4a2713aSLionel Sambuc 
7927f4a2713aSLionel Sambuc   /* vec_all_nlt */
7928*0a6a1f1dSLionel Sambuc   res_i = vec_all_nlt(vf, vf);
7929*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtfp.p
7930*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p
7931f4a2713aSLionel Sambuc 
7932f4a2713aSLionel Sambuc   /* vec_all_numeric */
7933*0a6a1f1dSLionel Sambuc   res_i = vec_all_numeric(vf);
7934*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpeqfp.p
7935*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p
7936f4a2713aSLionel Sambuc 
7937f4a2713aSLionel Sambuc   /*  vec_any_eq */
7938*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vsc, vsc);
7939*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7940*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7941*0a6a1f1dSLionel Sambuc 
7942*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vsc, vbc);
7943*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7944*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7945*0a6a1f1dSLionel Sambuc 
7946*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vuc, vuc);
7947*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7948*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7949*0a6a1f1dSLionel Sambuc 
7950*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vuc, vbc);
7951*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7952*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7953*0a6a1f1dSLionel Sambuc 
7954*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vbc, vsc);
7955*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7956*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7957*0a6a1f1dSLionel Sambuc 
7958*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vbc, vuc);
7959*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7960*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7961*0a6a1f1dSLionel Sambuc 
7962*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vbc, vbc);
7963*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
7964*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
7965*0a6a1f1dSLionel Sambuc 
7966*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vs, vs);
7967*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7968*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7969*0a6a1f1dSLionel Sambuc 
7970*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vs, vbs);
7971*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7972*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7973*0a6a1f1dSLionel Sambuc 
7974*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vus, vus);
7975*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7976*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7977*0a6a1f1dSLionel Sambuc 
7978*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vus, vbs);
7979*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7980*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7981*0a6a1f1dSLionel Sambuc 
7982*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vbs, vs);
7983*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7984*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7985*0a6a1f1dSLionel Sambuc 
7986*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vbs, vus);
7987*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7988*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7989*0a6a1f1dSLionel Sambuc 
7990*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vbs, vbs);
7991*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7992*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7993*0a6a1f1dSLionel Sambuc 
7994*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vp, vp);
7995*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
7996*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
7997*0a6a1f1dSLionel Sambuc 
7998*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vi, vi);
7999*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
8000*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
8001*0a6a1f1dSLionel Sambuc 
8002*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vi, vbi);
8003*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
8004*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
8005*0a6a1f1dSLionel Sambuc 
8006*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vui, vui);
8007*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
8008*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
8009*0a6a1f1dSLionel Sambuc 
8010*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vui, vbi);
8011*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
8012*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
8013*0a6a1f1dSLionel Sambuc 
8014*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vbi, vi);
8015*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
8016*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
8017*0a6a1f1dSLionel Sambuc 
8018*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vbi, vui);
8019*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
8020*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
8021*0a6a1f1dSLionel Sambuc 
8022*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vbi, vbi);
8023*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
8024*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
8025*0a6a1f1dSLionel Sambuc 
8026*0a6a1f1dSLionel Sambuc   res_i = vec_any_eq(vf, vf);
8027*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpeqfp.p
8028*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p
8029f4a2713aSLionel Sambuc 
8030f4a2713aSLionel Sambuc   /* vec_any_ge */
8031*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vsc, vsc);
8032*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
8033*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
8034*0a6a1f1dSLionel Sambuc 
8035*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vsc, vbc);
8036*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
8037*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
8038*0a6a1f1dSLionel Sambuc 
8039*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vuc, vuc);
8040*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8041*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8042*0a6a1f1dSLionel Sambuc 
8043*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vuc, vbc);
8044*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8045*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8046*0a6a1f1dSLionel Sambuc 
8047*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vbc, vsc);
8048*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8049*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8050*0a6a1f1dSLionel Sambuc 
8051*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vbc, vuc);
8052*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8053*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8054*0a6a1f1dSLionel Sambuc 
8055*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vbc, vbc);
8056*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8057*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8058*0a6a1f1dSLionel Sambuc 
8059*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vs, vs);
8060*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
8061*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
8062*0a6a1f1dSLionel Sambuc 
8063*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vs, vbs);
8064*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
8065*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
8066*0a6a1f1dSLionel Sambuc 
8067*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vus, vus);
8068*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8069*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8070*0a6a1f1dSLionel Sambuc 
8071*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vus, vbs);
8072*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8073*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8074*0a6a1f1dSLionel Sambuc 
8075*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vbs, vs);
8076*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8077*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8078*0a6a1f1dSLionel Sambuc 
8079*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vbs, vus);
8080*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8081*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8082*0a6a1f1dSLionel Sambuc 
8083*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vbs, vbs);
8084*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8085*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8086*0a6a1f1dSLionel Sambuc 
8087*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vi, vi);
8088*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
8089*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
8090*0a6a1f1dSLionel Sambuc 
8091*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vi, vbi);
8092*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
8093*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
8094*0a6a1f1dSLionel Sambuc 
8095*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vui, vui);
8096*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8097*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8098*0a6a1f1dSLionel Sambuc 
8099*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vui, vbi);
8100*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8101*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8102*0a6a1f1dSLionel Sambuc 
8103*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vbi, vi);
8104*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8105*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8106*0a6a1f1dSLionel Sambuc 
8107*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vbi, vui);
8108*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8109*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8110*0a6a1f1dSLionel Sambuc 
8111*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vbi, vbi);
8112*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8113*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8114*0a6a1f1dSLionel Sambuc 
8115*0a6a1f1dSLionel Sambuc   res_i = vec_any_ge(vf, vf);
8116*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgefp.p
8117*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p
8118f4a2713aSLionel Sambuc 
8119f4a2713aSLionel Sambuc   /* vec_any_gt */
8120*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vsc, vsc);
8121*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
8122*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
8123*0a6a1f1dSLionel Sambuc 
8124*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vsc, vbc);
8125*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
8126*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
8127*0a6a1f1dSLionel Sambuc 
8128*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vuc, vuc);
8129*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8130*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8131*0a6a1f1dSLionel Sambuc 
8132*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vuc, vbc);
8133*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8134*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8135*0a6a1f1dSLionel Sambuc 
8136*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vbc, vsc);
8137*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8138*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8139*0a6a1f1dSLionel Sambuc 
8140*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vbc, vuc);
8141*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8142*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8143*0a6a1f1dSLionel Sambuc 
8144*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vbc, vbc);
8145*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8146*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8147*0a6a1f1dSLionel Sambuc 
8148*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vs, vs);
8149*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
8150*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
8151*0a6a1f1dSLionel Sambuc 
8152*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vs, vbs);
8153*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
8154*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
8155*0a6a1f1dSLionel Sambuc 
8156*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vus, vus);
8157*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8158*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8159*0a6a1f1dSLionel Sambuc 
8160*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vus, vbs);
8161*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8162*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8163*0a6a1f1dSLionel Sambuc 
8164*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vbs, vs);
8165*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8166*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8167*0a6a1f1dSLionel Sambuc 
8168*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vbs, vus);
8169*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8170*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8171*0a6a1f1dSLionel Sambuc 
8172*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vbs, vbs);
8173*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8174*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8175*0a6a1f1dSLionel Sambuc 
8176*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vi, vi);
8177*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
8178*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
8179*0a6a1f1dSLionel Sambuc 
8180*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vi, vbi);
8181*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
8182*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
8183*0a6a1f1dSLionel Sambuc 
8184*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vui, vui);
8185*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8186*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8187*0a6a1f1dSLionel Sambuc 
8188*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vui, vbi);
8189*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8190*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8191*0a6a1f1dSLionel Sambuc 
8192*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vbi, vi);
8193*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8194*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8195*0a6a1f1dSLionel Sambuc 
8196*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vbi, vui);
8197*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8198*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8199*0a6a1f1dSLionel Sambuc 
8200*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vbi, vbi);
8201*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8202*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8203*0a6a1f1dSLionel Sambuc 
8204*0a6a1f1dSLionel Sambuc   res_i = vec_any_gt(vf, vf);
8205*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtfp.p
8206*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p
8207f4a2713aSLionel Sambuc 
8208f4a2713aSLionel Sambuc   /* vec_any_le */
8209*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vsc, vsc);
8210*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
8211*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
8212*0a6a1f1dSLionel Sambuc 
8213*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vsc, vbc);
8214*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
8215*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
8216*0a6a1f1dSLionel Sambuc 
8217*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vuc, vuc);
8218*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8219*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8220*0a6a1f1dSLionel Sambuc 
8221*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vuc, vbc);
8222*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8223*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8224*0a6a1f1dSLionel Sambuc 
8225*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vbc, vsc);
8226*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8227*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8228*0a6a1f1dSLionel Sambuc 
8229*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vbc, vuc);
8230*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8231*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8232*0a6a1f1dSLionel Sambuc 
8233*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vbc, vbc);
8234*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8235*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8236*0a6a1f1dSLionel Sambuc 
8237*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vs, vs);
8238*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
8239*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
8240*0a6a1f1dSLionel Sambuc 
8241*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vs, vbs);
8242*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
8243*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
8244*0a6a1f1dSLionel Sambuc 
8245*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vus, vus);
8246*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8247*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8248*0a6a1f1dSLionel Sambuc 
8249*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vus, vbs);
8250*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8251*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8252*0a6a1f1dSLionel Sambuc 
8253*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vbs, vs);
8254*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8255*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8256*0a6a1f1dSLionel Sambuc 
8257*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vbs, vus);
8258*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8259*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8260*0a6a1f1dSLionel Sambuc 
8261*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vbs, vbs);
8262*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8263*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8264*0a6a1f1dSLionel Sambuc 
8265*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vi, vi);
8266*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
8267*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
8268*0a6a1f1dSLionel Sambuc 
8269*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vi, vbi);
8270*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
8271*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
8272*0a6a1f1dSLionel Sambuc 
8273*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vui, vui);
8274*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8275*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8276*0a6a1f1dSLionel Sambuc 
8277*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vui, vbi);
8278*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8279*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8280*0a6a1f1dSLionel Sambuc 
8281*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vbi, vi);
8282*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8283*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8284*0a6a1f1dSLionel Sambuc 
8285*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vbi, vui);
8286*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8287*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8288*0a6a1f1dSLionel Sambuc 
8289*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vbi, vbi);
8290*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8291*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8292*0a6a1f1dSLionel Sambuc 
8293*0a6a1f1dSLionel Sambuc   res_i = vec_any_le(vf, vf);
8294*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgefp.p
8295*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p
8296f4a2713aSLionel Sambuc 
8297f4a2713aSLionel Sambuc   /* vec_any_lt */
8298*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vsc, vsc);
8299*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
8300*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
8301*0a6a1f1dSLionel Sambuc 
8302*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vsc, vbc);
8303*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p
8304*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p
8305*0a6a1f1dSLionel Sambuc 
8306*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vuc, vuc);
8307*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8308*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8309*0a6a1f1dSLionel Sambuc 
8310*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vuc, vbc);
8311*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8312*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8313*0a6a1f1dSLionel Sambuc 
8314*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vbc, vsc);
8315*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8316*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8317*0a6a1f1dSLionel Sambuc 
8318*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vbc, vuc);
8319*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8320*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8321*0a6a1f1dSLionel Sambuc 
8322*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vbc, vbc);
8323*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p
8324*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p
8325*0a6a1f1dSLionel Sambuc 
8326*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vs, vs);
8327*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
8328*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
8329*0a6a1f1dSLionel Sambuc 
8330*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vs, vbs);
8331*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p
8332*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p
8333*0a6a1f1dSLionel Sambuc 
8334*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vus, vus);
8335*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8336*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8337*0a6a1f1dSLionel Sambuc 
8338*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vus, vbs);
8339*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8340*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8341*0a6a1f1dSLionel Sambuc 
8342*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vbs, vs);
8343*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8344*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8345*0a6a1f1dSLionel Sambuc 
8346*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vbs, vus);
8347*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8348*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8349*0a6a1f1dSLionel Sambuc 
8350*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vbs, vbs);
8351*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p
8352*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p
8353*0a6a1f1dSLionel Sambuc 
8354*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vi, vi);
8355*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
8356*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
8357*0a6a1f1dSLionel Sambuc 
8358*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vi, vbi);
8359*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p
8360*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p
8361*0a6a1f1dSLionel Sambuc 
8362*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vui, vui);
8363*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8364*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8365*0a6a1f1dSLionel Sambuc 
8366*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vui, vbi);
8367*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8368*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8369*0a6a1f1dSLionel Sambuc 
8370*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vbi, vi);
8371*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8372*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8373*0a6a1f1dSLionel Sambuc 
8374*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vbi, vui);
8375*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8376*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8377*0a6a1f1dSLionel Sambuc 
8378*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vbi, vbi);
8379*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p
8380*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p
8381*0a6a1f1dSLionel Sambuc 
8382*0a6a1f1dSLionel Sambuc   res_i = vec_any_lt(vf, vf);
8383*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtfp.p
8384*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p
8385f4a2713aSLionel Sambuc 
8386f4a2713aSLionel Sambuc   /* vec_any_nan */
8387*0a6a1f1dSLionel Sambuc   res_i = vec_any_nan(vf);
8388*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpeqfp.p
8389*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p
8390f4a2713aSLionel Sambuc 
8391f4a2713aSLionel Sambuc   /* vec_any_ne */
8392*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vsc, vsc);
8393*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
8394*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
8395*0a6a1f1dSLionel Sambuc 
8396*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vsc, vbc);
8397*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
8398*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
8399*0a6a1f1dSLionel Sambuc 
8400*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vuc, vuc);
8401*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
8402*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
8403*0a6a1f1dSLionel Sambuc 
8404*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vuc, vbc);
8405*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
8406*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
8407*0a6a1f1dSLionel Sambuc 
8408*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vbc, vsc);
8409*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
8410*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
8411*0a6a1f1dSLionel Sambuc 
8412*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vbc, vuc);
8413*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
8414*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
8415*0a6a1f1dSLionel Sambuc 
8416*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vbc, vbc);
8417*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p
8418*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p
8419*0a6a1f1dSLionel Sambuc 
8420*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vs, vs);
8421*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
8422*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
8423*0a6a1f1dSLionel Sambuc 
8424*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vs, vbs);
8425*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
8426*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
8427*0a6a1f1dSLionel Sambuc 
8428*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vus, vus);
8429*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
8430*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
8431*0a6a1f1dSLionel Sambuc 
8432*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vus, vbs);
8433*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
8434*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
8435*0a6a1f1dSLionel Sambuc 
8436*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vbs, vs);
8437*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
8438*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
8439*0a6a1f1dSLionel Sambuc 
8440*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vbs, vus);
8441*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
8442*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
8443*0a6a1f1dSLionel Sambuc 
8444*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vbs, vbs);
8445*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
8446*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
8447*0a6a1f1dSLionel Sambuc 
8448*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vp, vp);
8449*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p
8450*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p
8451*0a6a1f1dSLionel Sambuc 
8452*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vi, vi);
8453*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
8454*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
8455*0a6a1f1dSLionel Sambuc 
8456*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vi, vbi);
8457*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
8458*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
8459*0a6a1f1dSLionel Sambuc 
8460*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vui, vui);
8461*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
8462*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
8463*0a6a1f1dSLionel Sambuc 
8464*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vui, vbi);
8465*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
8466*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
8467*0a6a1f1dSLionel Sambuc 
8468*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vbi, vi);
8469*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
8470*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
8471*0a6a1f1dSLionel Sambuc 
8472*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vbi, vui);
8473*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
8474*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
8475*0a6a1f1dSLionel Sambuc 
8476*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vbi, vbi);
8477*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p
8478*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p
8479*0a6a1f1dSLionel Sambuc 
8480*0a6a1f1dSLionel Sambuc   res_i = vec_any_ne(vf, vf);
8481*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpeqfp.p
8482*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p
8483f4a2713aSLionel Sambuc 
8484f4a2713aSLionel Sambuc   /* vec_any_nge */
8485*0a6a1f1dSLionel Sambuc   res_i = vec_any_nge(vf, vf);
8486*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgefp.p
8487*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p
8488f4a2713aSLionel Sambuc 
8489f4a2713aSLionel Sambuc   /* vec_any_ngt */
8490*0a6a1f1dSLionel Sambuc   res_i = vec_any_ngt(vf, vf);
8491*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtfp.p
8492*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p
8493f4a2713aSLionel Sambuc 
8494f4a2713aSLionel Sambuc   /* vec_any_nle */
8495*0a6a1f1dSLionel Sambuc   res_i = vec_any_nle(vf, vf);
8496*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgefp.p
8497*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p
8498f4a2713aSLionel Sambuc 
8499f4a2713aSLionel Sambuc   /* vec_any_nlt */
8500*0a6a1f1dSLionel Sambuc   res_i = vec_any_nlt(vf, vf);
8501*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtfp.p
8502*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p
8503f4a2713aSLionel Sambuc 
8504f4a2713aSLionel Sambuc   /* vec_any_numeric */
8505*0a6a1f1dSLionel Sambuc   res_i = vec_any_numeric(vf);
8506*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpeqfp.p
8507*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p
8508f4a2713aSLionel Sambuc 
8509f4a2713aSLionel Sambuc   /* vec_any_out */
8510*0a6a1f1dSLionel Sambuc   res_i = vec_any_out(vf, vf);
8511*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpbfp.p
8512*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpbfp.p
8513f4a2713aSLionel Sambuc }
8514f4a2713aSLionel Sambuc 
8515f4a2713aSLionel Sambuc /* ------------------------------ Relational Operators ------------------------------ */
8516f4a2713aSLionel Sambuc // CHECK-LABEL: define void @test7
test7()8517f4a2713aSLionel Sambuc void test7() {
8518f4a2713aSLionel Sambuc   vector signed char vsc1 = (vector signed char)(-1);
8519f4a2713aSLionel Sambuc   vector signed char vsc2 = (vector signed char)(-2);
8520*0a6a1f1dSLionel Sambuc   res_i = (vsc1 == vsc2);
8521*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 2
8522*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 2
8523*0a6a1f1dSLionel Sambuc 
8524*0a6a1f1dSLionel Sambuc   res_i = (vsc1 != vsc2);
8525*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 0
8526*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 0
8527*0a6a1f1dSLionel Sambuc 
8528*0a6a1f1dSLionel Sambuc   res_i = (vsc1 <  vsc2);
8529*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 2
8530*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 2
8531*0a6a1f1dSLionel Sambuc 
8532*0a6a1f1dSLionel Sambuc   res_i = (vsc1 >  vsc2);
8533*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 2
8534*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 2
8535*0a6a1f1dSLionel Sambuc 
8536*0a6a1f1dSLionel Sambuc   res_i = (vsc1 <= vsc2);
8537*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 0
8538*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 0
8539*0a6a1f1dSLionel Sambuc 
8540*0a6a1f1dSLionel Sambuc   res_i = (vsc1 >= vsc2);
8541*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 0
8542*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 0
8543*0a6a1f1dSLionel Sambuc 
8544f4a2713aSLionel Sambuc   vector unsigned char vuc1 = (vector unsigned char)(1);
8545f4a2713aSLionel Sambuc   vector unsigned char vuc2 = (vector unsigned char)(2);
8546*0a6a1f1dSLionel Sambuc   res_i = (vuc1 == vuc2);
8547*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 2
8548*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 2
8549*0a6a1f1dSLionel Sambuc 
8550*0a6a1f1dSLionel Sambuc   res_i = (vuc1 != vuc2);
8551*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 0
8552*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 0
8553*0a6a1f1dSLionel Sambuc 
8554*0a6a1f1dSLionel Sambuc   res_i = (vuc1 <  vuc2);
8555*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 2
8556*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 2
8557*0a6a1f1dSLionel Sambuc 
8558*0a6a1f1dSLionel Sambuc   res_i = (vuc1 >  vuc2);
8559*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 2
8560*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 2
8561*0a6a1f1dSLionel Sambuc 
8562*0a6a1f1dSLionel Sambuc   res_i = (vuc1 <= vuc2);
8563*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 0
8564*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 0
8565*0a6a1f1dSLionel Sambuc 
8566*0a6a1f1dSLionel Sambuc   res_i = (vuc1 >= vuc2);
8567*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 0
8568*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 0
8569*0a6a1f1dSLionel Sambuc 
8570f4a2713aSLionel Sambuc   vector short vs1 = (vector short)(-1);
8571f4a2713aSLionel Sambuc   vector short vs2 = (vector short)(-2);
8572*0a6a1f1dSLionel Sambuc   res_i = (vs1 == vs2);
8573*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 2
8574*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 2
8575*0a6a1f1dSLionel Sambuc 
8576*0a6a1f1dSLionel Sambuc   res_i = (vs1 != vs2);
8577*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 0
8578*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 0
8579*0a6a1f1dSLionel Sambuc 
8580*0a6a1f1dSLionel Sambuc   res_i = (vs1 <  vs2);
8581*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 2
8582*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 2
8583*0a6a1f1dSLionel Sambuc 
8584*0a6a1f1dSLionel Sambuc   res_i = (vs1 >  vs2);
8585*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 2
8586*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 2
8587*0a6a1f1dSLionel Sambuc 
8588*0a6a1f1dSLionel Sambuc   res_i = (vs1 <= vs2);
8589*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 0
8590*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 0
8591*0a6a1f1dSLionel Sambuc 
8592*0a6a1f1dSLionel Sambuc   res_i = (vs1 >= vs2);
8593*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 0
8594*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 0
8595*0a6a1f1dSLionel Sambuc 
8596f4a2713aSLionel Sambuc   vector unsigned short vus1 = (vector unsigned short)(1);
8597f4a2713aSLionel Sambuc   vector unsigned short vus2 = (vector unsigned short)(2);
8598*0a6a1f1dSLionel Sambuc   res_i = (vus1 == vus2);
8599*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 2
8600*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 2
8601*0a6a1f1dSLionel Sambuc 
8602*0a6a1f1dSLionel Sambuc   res_i = (vus1 != vus2);
8603*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 0
8604*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 0
8605*0a6a1f1dSLionel Sambuc 
8606*0a6a1f1dSLionel Sambuc   res_i = (vus1 <  vus2);
8607*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 2
8608*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 2
8609*0a6a1f1dSLionel Sambuc 
8610*0a6a1f1dSLionel Sambuc   res_i = (vus1 >  vus2);
8611*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 2
8612*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 2
8613*0a6a1f1dSLionel Sambuc 
8614*0a6a1f1dSLionel Sambuc   res_i = (vus1 <= vus2);
8615*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 0
8616*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 0
8617*0a6a1f1dSLionel Sambuc 
8618*0a6a1f1dSLionel Sambuc   res_i = (vus1 >= vus2);
8619*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 0
8620*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 0
8621*0a6a1f1dSLionel Sambuc 
8622f4a2713aSLionel Sambuc   vector int vi1 = (vector int)(-1);
8623f4a2713aSLionel Sambuc   vector int vi2 = (vector int)(-2);
8624*0a6a1f1dSLionel Sambuc   res_i = (vi1 == vi2);
8625*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 2
8626*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 2
8627*0a6a1f1dSLionel Sambuc 
8628*0a6a1f1dSLionel Sambuc   res_i = (vi1 != vi2);
8629*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 0
8630*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 0
8631*0a6a1f1dSLionel Sambuc 
8632*0a6a1f1dSLionel Sambuc   res_i = (vi1 <  vi2);
8633*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 2
8634*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 2
8635*0a6a1f1dSLionel Sambuc 
8636*0a6a1f1dSLionel Sambuc   res_i = (vi1 >  vi2);
8637*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 2
8638*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 2
8639*0a6a1f1dSLionel Sambuc 
8640*0a6a1f1dSLionel Sambuc   res_i = (vi1 <= vi2);
8641*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 0
8642*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 0
8643*0a6a1f1dSLionel Sambuc 
8644*0a6a1f1dSLionel Sambuc   res_i = (vi1 >= vi2);
8645*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 0
8646*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 0
8647*0a6a1f1dSLionel Sambuc 
8648f4a2713aSLionel Sambuc   vector unsigned int vui1 = (vector unsigned int)(1);
8649f4a2713aSLionel Sambuc   vector unsigned int vui2 = (vector unsigned int)(2);
8650*0a6a1f1dSLionel Sambuc   res_i = (vui1 == vui2);
8651*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 2
8652*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 2
8653*0a6a1f1dSLionel Sambuc 
8654*0a6a1f1dSLionel Sambuc   res_i = (vui1 != vui2);
8655*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 0
8656*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 0
8657*0a6a1f1dSLionel Sambuc 
8658*0a6a1f1dSLionel Sambuc   res_i = (vui1 <  vui2);
8659*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 2
8660*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 2
8661*0a6a1f1dSLionel Sambuc 
8662*0a6a1f1dSLionel Sambuc   res_i = (vui1 >  vui2);
8663*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 2
8664*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 2
8665*0a6a1f1dSLionel Sambuc 
8666*0a6a1f1dSLionel Sambuc   res_i = (vui1 <= vui2);
8667*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 0
8668*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 0
8669*0a6a1f1dSLionel Sambuc 
8670*0a6a1f1dSLionel Sambuc   res_i = (vui1 >= vui2);
8671*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 0
8672*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 0
8673*0a6a1f1dSLionel Sambuc 
8674f4a2713aSLionel Sambuc   vector float vf1 = (vector float)(1.0);
8675f4a2713aSLionel Sambuc   vector float vf2 = (vector float)(2.0);
8676*0a6a1f1dSLionel Sambuc   res_i = (vf1 == vf2);
8677*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpeqfp.p(i32 2
8678*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p(i32 2
8679*0a6a1f1dSLionel Sambuc 
8680*0a6a1f1dSLionel Sambuc   res_i = (vf1 != vf2);
8681*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpeqfp.p(i32 0
8682*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p(i32 0
8683*0a6a1f1dSLionel Sambuc 
8684*0a6a1f1dSLionel Sambuc   res_i = (vf1 <  vf2);
8685*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtfp.p(i32 2
8686*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p(i32 2
8687*0a6a1f1dSLionel Sambuc 
8688*0a6a1f1dSLionel Sambuc   res_i = (vf1 >  vf2);
8689*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgtfp.p(i32 2
8690*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p(i32 2
8691*0a6a1f1dSLionel Sambuc 
8692*0a6a1f1dSLionel Sambuc   res_i = (vf1 <= vf2);
8693*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgefp.p(i32 2
8694*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p(i32 2
8695*0a6a1f1dSLionel Sambuc 
8696*0a6a1f1dSLionel Sambuc   res_i = (vf1 >= vf2);
8697*0a6a1f1dSLionel Sambuc // CHECK: @llvm.ppc.altivec.vcmpgefp.p(i32 2
8698*0a6a1f1dSLionel Sambuc // CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p(i32 2
8699f4a2713aSLionel Sambuc }
8700