Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / VE / VELIntrinsics / vfmk.ll
blobf193c6c077bfefd55f96caf687b60ec0db43c1cf
1 ; RUN: llc < %s -mtriple=ve -mattr=+vpu | FileCheck %s
3 ;;; Test vector form mask intrinsic instructions
4 ;;;
5 ;;; Note:
6 ;;;   We test VFMK*al, VFMK*nal, VFMK*vl, VFMK*vml, PVFMK*yal, PVFMK*ynal,
7 ;;;   PVFMK*vl, PVFMK*vml, PVFMK*yvl, and PVFMK*yvyl instructions.
9 ; Function Attrs: nounwind readnone
10 define fastcc <256 x i1> @vfmklat_ml() {
11 ; CHECK-LABEL: vfmklat_ml:
12 ; CHECK:       # %bb.0:
13 ; CHECK-NEXT:    lea %s0, 256
14 ; CHECK-NEXT:    lvl %s0
15 ; CHECK-NEXT:    vfmk.l.at %vm1
16 ; CHECK-NEXT:    b.l.t (, %s10)
17   %1 = tail call <256 x i1> @llvm.ve.vl.vfmklat.ml(i32 256)
18   ret <256 x i1> %1
21 ; Function Attrs: nounwind readnone
22 declare <256 x i1> @llvm.ve.vl.vfmklat.ml(i32)
24 ; Function Attrs: nounwind readnone
25 define fastcc <256 x i1> @vfmklaf_ml() {
26 ; CHECK-LABEL: vfmklaf_ml:
27 ; CHECK:       # %bb.0:
28 ; CHECK-NEXT:    lea %s0, 256
29 ; CHECK-NEXT:    lvl %s0
30 ; CHECK-NEXT:    vfmk.l.af %vm1
31 ; CHECK-NEXT:    b.l.t (, %s10)
32   %1 = tail call <256 x i1> @llvm.ve.vl.vfmklaf.ml(i32 256)
33   ret <256 x i1> %1
36 ; Function Attrs: nounwind readnone
37 declare <256 x i1> @llvm.ve.vl.vfmklaf.ml(i32)
39 ; Function Attrs: nounwind readnone
40 define fastcc <256 x i1> @vfmklgt_mvl(<256 x double> %0) {
41 ; CHECK-LABEL: vfmklgt_mvl:
42 ; CHECK:       # %bb.0:
43 ; CHECK-NEXT:    lea %s0, 256
44 ; CHECK-NEXT:    lvl %s0
45 ; CHECK-NEXT:    vfmk.l.gt %vm1, %v0
46 ; CHECK-NEXT:    b.l.t (, %s10)
47   %2 = tail call <256 x i1> @llvm.ve.vl.vfmklgt.mvl(<256 x double> %0, i32 256)
48   ret <256 x i1> %2
51 ; Function Attrs: nounwind readnone
52 declare <256 x i1> @llvm.ve.vl.vfmklgt.mvl(<256 x double>, i32)
54 ; Function Attrs: nounwind readnone
55 define fastcc <256 x i1> @vfmklgt_mvml(<256 x double> %0, <256 x i1> %1) {
56 ; CHECK-LABEL: vfmklgt_mvml:
57 ; CHECK:       # %bb.0:
58 ; CHECK-NEXT:    lea %s0, 256
59 ; CHECK-NEXT:    lvl %s0
60 ; CHECK-NEXT:    vfmk.l.gt %vm1, %v0, %vm1
61 ; CHECK-NEXT:    b.l.t (, %s10)
62   %3 = tail call <256 x i1> @llvm.ve.vl.vfmklgt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
63   ret <256 x i1> %3
66 ; Function Attrs: nounwind readnone
67 declare <256 x i1> @llvm.ve.vl.vfmklgt.mvml(<256 x double>, <256 x i1>, i32)
69 ; Function Attrs: nounwind readnone
70 define fastcc <256 x i1> @vfmkllt_mvl(<256 x double> %0) {
71 ; CHECK-LABEL: vfmkllt_mvl:
72 ; CHECK:       # %bb.0:
73 ; CHECK-NEXT:    lea %s0, 256
74 ; CHECK-NEXT:    lvl %s0
75 ; CHECK-NEXT:    vfmk.l.lt %vm1, %v0
76 ; CHECK-NEXT:    b.l.t (, %s10)
77   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkllt.mvl(<256 x double> %0, i32 256)
78   ret <256 x i1> %2
81 ; Function Attrs: nounwind readnone
82 declare <256 x i1> @llvm.ve.vl.vfmkllt.mvl(<256 x double>, i32)
84 ; Function Attrs: nounwind readnone
85 define fastcc <256 x i1> @vfmkllt_mvml(<256 x double> %0, <256 x i1> %1) {
86 ; CHECK-LABEL: vfmkllt_mvml:
87 ; CHECK:       # %bb.0:
88 ; CHECK-NEXT:    lea %s0, 256
89 ; CHECK-NEXT:    lvl %s0
90 ; CHECK-NEXT:    vfmk.l.lt %vm1, %v0, %vm1
91 ; CHECK-NEXT:    b.l.t (, %s10)
92   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkllt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
93   ret <256 x i1> %3
96 ; Function Attrs: nounwind readnone
97 declare <256 x i1> @llvm.ve.vl.vfmkllt.mvml(<256 x double>, <256 x i1>, i32)
99 ; Function Attrs: nounwind readnone
100 define fastcc <256 x i1> @vfmklne_mvl(<256 x double> %0) {
101 ; CHECK-LABEL: vfmklne_mvl:
102 ; CHECK:       # %bb.0:
103 ; CHECK-NEXT:    lea %s0, 256
104 ; CHECK-NEXT:    lvl %s0
105 ; CHECK-NEXT:    vfmk.l.ne %vm1, %v0
106 ; CHECK-NEXT:    b.l.t (, %s10)
107   %2 = tail call <256 x i1> @llvm.ve.vl.vfmklne.mvl(<256 x double> %0, i32 256)
108   ret <256 x i1> %2
111 ; Function Attrs: nounwind readnone
112 declare <256 x i1> @llvm.ve.vl.vfmklne.mvl(<256 x double>, i32)
114 ; Function Attrs: nounwind readnone
115 define fastcc <256 x i1> @vfmklne_mvml(<256 x double> %0, <256 x i1> %1) {
116 ; CHECK-LABEL: vfmklne_mvml:
117 ; CHECK:       # %bb.0:
118 ; CHECK-NEXT:    lea %s0, 256
119 ; CHECK-NEXT:    lvl %s0
120 ; CHECK-NEXT:    vfmk.l.ne %vm1, %v0, %vm1
121 ; CHECK-NEXT:    b.l.t (, %s10)
122   %3 = tail call <256 x i1> @llvm.ve.vl.vfmklne.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
123   ret <256 x i1> %3
126 ; Function Attrs: nounwind readnone
127 declare <256 x i1> @llvm.ve.vl.vfmklne.mvml(<256 x double>, <256 x i1>, i32)
129 ; Function Attrs: nounwind readnone
130 define fastcc <256 x i1> @vfmkleq_mvl(<256 x double> %0) {
131 ; CHECK-LABEL: vfmkleq_mvl:
132 ; CHECK:       # %bb.0:
133 ; CHECK-NEXT:    lea %s0, 256
134 ; CHECK-NEXT:    lvl %s0
135 ; CHECK-NEXT:    vfmk.l.eq %vm1, %v0
136 ; CHECK-NEXT:    b.l.t (, %s10)
137   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkleq.mvl(<256 x double> %0, i32 256)
138   ret <256 x i1> %2
141 ; Function Attrs: nounwind readnone
142 declare <256 x i1> @llvm.ve.vl.vfmkleq.mvl(<256 x double>, i32)
144 ; Function Attrs: nounwind readnone
145 define fastcc <256 x i1> @vfmkleq_mvml(<256 x double> %0, <256 x i1> %1) {
146 ; CHECK-LABEL: vfmkleq_mvml:
147 ; CHECK:       # %bb.0:
148 ; CHECK-NEXT:    lea %s0, 256
149 ; CHECK-NEXT:    lvl %s0
150 ; CHECK-NEXT:    vfmk.l.eq %vm1, %v0, %vm1
151 ; CHECK-NEXT:    b.l.t (, %s10)
152   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkleq.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
153   ret <256 x i1> %3
156 ; Function Attrs: nounwind readnone
157 declare <256 x i1> @llvm.ve.vl.vfmkleq.mvml(<256 x double>, <256 x i1>, i32)
159 ; Function Attrs: nounwind readnone
160 define fastcc <256 x i1> @vfmklge_mvl(<256 x double> %0) {
161 ; CHECK-LABEL: vfmklge_mvl:
162 ; CHECK:       # %bb.0:
163 ; CHECK-NEXT:    lea %s0, 256
164 ; CHECK-NEXT:    lvl %s0
165 ; CHECK-NEXT:    vfmk.l.ge %vm1, %v0
166 ; CHECK-NEXT:    b.l.t (, %s10)
167   %2 = tail call <256 x i1> @llvm.ve.vl.vfmklge.mvl(<256 x double> %0, i32 256)
168   ret <256 x i1> %2
171 ; Function Attrs: nounwind readnone
172 declare <256 x i1> @llvm.ve.vl.vfmklge.mvl(<256 x double>, i32)
174 ; Function Attrs: nounwind readnone
175 define fastcc <256 x i1> @vfmklge_mvml(<256 x double> %0, <256 x i1> %1) {
176 ; CHECK-LABEL: vfmklge_mvml:
177 ; CHECK:       # %bb.0:
178 ; CHECK-NEXT:    lea %s0, 256
179 ; CHECK-NEXT:    lvl %s0
180 ; CHECK-NEXT:    vfmk.l.ge %vm1, %v0, %vm1
181 ; CHECK-NEXT:    b.l.t (, %s10)
182   %3 = tail call <256 x i1> @llvm.ve.vl.vfmklge.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
183   ret <256 x i1> %3
186 ; Function Attrs: nounwind readnone
187 declare <256 x i1> @llvm.ve.vl.vfmklge.mvml(<256 x double>, <256 x i1>, i32)
189 ; Function Attrs: nounwind readnone
190 define fastcc <256 x i1> @vfmklle_mvl(<256 x double> %0) {
191 ; CHECK-LABEL: vfmklle_mvl:
192 ; CHECK:       # %bb.0:
193 ; CHECK-NEXT:    lea %s0, 256
194 ; CHECK-NEXT:    lvl %s0
195 ; CHECK-NEXT:    vfmk.l.le %vm1, %v0
196 ; CHECK-NEXT:    b.l.t (, %s10)
197   %2 = tail call <256 x i1> @llvm.ve.vl.vfmklle.mvl(<256 x double> %0, i32 256)
198   ret <256 x i1> %2
201 ; Function Attrs: nounwind readnone
202 declare <256 x i1> @llvm.ve.vl.vfmklle.mvl(<256 x double>, i32)
204 ; Function Attrs: nounwind readnone
205 define fastcc <256 x i1> @vfmklle_mvml(<256 x double> %0, <256 x i1> %1) {
206 ; CHECK-LABEL: vfmklle_mvml:
207 ; CHECK:       # %bb.0:
208 ; CHECK-NEXT:    lea %s0, 256
209 ; CHECK-NEXT:    lvl %s0
210 ; CHECK-NEXT:    vfmk.l.le %vm1, %v0, %vm1
211 ; CHECK-NEXT:    b.l.t (, %s10)
212   %3 = tail call <256 x i1> @llvm.ve.vl.vfmklle.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
213   ret <256 x i1> %3
216 ; Function Attrs: nounwind readnone
217 declare <256 x i1> @llvm.ve.vl.vfmklle.mvml(<256 x double>, <256 x i1>, i32)
219 ; Function Attrs: nounwind readnone
220 define fastcc <256 x i1> @vfmklnum_mvl(<256 x double> %0) {
221 ; CHECK-LABEL: vfmklnum_mvl:
222 ; CHECK:       # %bb.0:
223 ; CHECK-NEXT:    lea %s0, 256
224 ; CHECK-NEXT:    lvl %s0
225 ; CHECK-NEXT:    vfmk.l.num %vm1, %v0
226 ; CHECK-NEXT:    b.l.t (, %s10)
227   %2 = tail call <256 x i1> @llvm.ve.vl.vfmklnum.mvl(<256 x double> %0, i32 256)
228   ret <256 x i1> %2
231 ; Function Attrs: nounwind readnone
232 declare <256 x i1> @llvm.ve.vl.vfmklnum.mvl(<256 x double>, i32)
234 ; Function Attrs: nounwind readnone
235 define fastcc <256 x i1> @vfmklnum_mvml(<256 x double> %0, <256 x i1> %1) {
236 ; CHECK-LABEL: vfmklnum_mvml:
237 ; CHECK:       # %bb.0:
238 ; CHECK-NEXT:    lea %s0, 256
239 ; CHECK-NEXT:    lvl %s0
240 ; CHECK-NEXT:    vfmk.l.num %vm1, %v0, %vm1
241 ; CHECK-NEXT:    b.l.t (, %s10)
242   %3 = tail call <256 x i1> @llvm.ve.vl.vfmklnum.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
243   ret <256 x i1> %3
246 ; Function Attrs: nounwind readnone
247 declare <256 x i1> @llvm.ve.vl.vfmklnum.mvml(<256 x double>, <256 x i1>, i32)
249 ; Function Attrs: nounwind readnone
250 define fastcc <256 x i1> @vfmklnan_mvl(<256 x double> %0) {
251 ; CHECK-LABEL: vfmklnan_mvl:
252 ; CHECK:       # %bb.0:
253 ; CHECK-NEXT:    lea %s0, 256
254 ; CHECK-NEXT:    lvl %s0
255 ; CHECK-NEXT:    vfmk.l.nan %vm1, %v0
256 ; CHECK-NEXT:    b.l.t (, %s10)
257   %2 = tail call <256 x i1> @llvm.ve.vl.vfmklnan.mvl(<256 x double> %0, i32 256)
258   ret <256 x i1> %2
261 ; Function Attrs: nounwind readnone
262 declare <256 x i1> @llvm.ve.vl.vfmklnan.mvl(<256 x double>, i32)
264 ; Function Attrs: nounwind readnone
265 define fastcc <256 x i1> @vfmklnan_mvml(<256 x double> %0, <256 x i1> %1) {
266 ; CHECK-LABEL: vfmklnan_mvml:
267 ; CHECK:       # %bb.0:
268 ; CHECK-NEXT:    lea %s0, 256
269 ; CHECK-NEXT:    lvl %s0
270 ; CHECK-NEXT:    vfmk.l.nan %vm1, %v0, %vm1
271 ; CHECK-NEXT:    b.l.t (, %s10)
272   %3 = tail call <256 x i1> @llvm.ve.vl.vfmklnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
273   ret <256 x i1> %3
276 ; Function Attrs: nounwind readnone
277 declare <256 x i1> @llvm.ve.vl.vfmklnan.mvml(<256 x double>, <256 x i1>, i32)
279 ; Function Attrs: nounwind readnone
280 define fastcc <256 x i1> @vfmklgtnan_mvl(<256 x double> %0) {
281 ; CHECK-LABEL: vfmklgtnan_mvl:
282 ; CHECK:       # %bb.0:
283 ; CHECK-NEXT:    lea %s0, 256
284 ; CHECK-NEXT:    lvl %s0
285 ; CHECK-NEXT:    vfmk.l.gtnan %vm1, %v0
286 ; CHECK-NEXT:    b.l.t (, %s10)
287   %2 = tail call <256 x i1> @llvm.ve.vl.vfmklgtnan.mvl(<256 x double> %0, i32 256)
288   ret <256 x i1> %2
291 ; Function Attrs: nounwind readnone
292 declare <256 x i1> @llvm.ve.vl.vfmklgtnan.mvl(<256 x double>, i32)
294 ; Function Attrs: nounwind readnone
295 define fastcc <256 x i1> @vfmklgtnan_mvml(<256 x double> %0, <256 x i1> %1) {
296 ; CHECK-LABEL: vfmklgtnan_mvml:
297 ; CHECK:       # %bb.0:
298 ; CHECK-NEXT:    lea %s0, 256
299 ; CHECK-NEXT:    lvl %s0
300 ; CHECK-NEXT:    vfmk.l.gtnan %vm1, %v0, %vm1
301 ; CHECK-NEXT:    b.l.t (, %s10)
302   %3 = tail call <256 x i1> @llvm.ve.vl.vfmklgtnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
303   ret <256 x i1> %3
306 ; Function Attrs: nounwind readnone
307 declare <256 x i1> @llvm.ve.vl.vfmklgtnan.mvml(<256 x double>, <256 x i1>, i32)
309 ; Function Attrs: nounwind readnone
310 define fastcc <256 x i1> @vfmklltnan_mvl(<256 x double> %0) {
311 ; CHECK-LABEL: vfmklltnan_mvl:
312 ; CHECK:       # %bb.0:
313 ; CHECK-NEXT:    lea %s0, 256
314 ; CHECK-NEXT:    lvl %s0
315 ; CHECK-NEXT:    vfmk.l.ltnan %vm1, %v0
316 ; CHECK-NEXT:    b.l.t (, %s10)
317   %2 = tail call <256 x i1> @llvm.ve.vl.vfmklltnan.mvl(<256 x double> %0, i32 256)
318   ret <256 x i1> %2
321 ; Function Attrs: nounwind readnone
322 declare <256 x i1> @llvm.ve.vl.vfmklltnan.mvl(<256 x double>, i32)
324 ; Function Attrs: nounwind readnone
325 define fastcc <256 x i1> @vfmklltnan_mvml(<256 x double> %0, <256 x i1> %1) {
326 ; CHECK-LABEL: vfmklltnan_mvml:
327 ; CHECK:       # %bb.0:
328 ; CHECK-NEXT:    lea %s0, 256
329 ; CHECK-NEXT:    lvl %s0
330 ; CHECK-NEXT:    vfmk.l.ltnan %vm1, %v0, %vm1
331 ; CHECK-NEXT:    b.l.t (, %s10)
332   %3 = tail call <256 x i1> @llvm.ve.vl.vfmklltnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
333   ret <256 x i1> %3
336 ; Function Attrs: nounwind readnone
337 declare <256 x i1> @llvm.ve.vl.vfmklltnan.mvml(<256 x double>, <256 x i1>, i32)
339 ; Function Attrs: nounwind readnone
340 define fastcc <256 x i1> @vfmklnenan_mvl(<256 x double> %0) {
341 ; CHECK-LABEL: vfmklnenan_mvl:
342 ; CHECK:       # %bb.0:
343 ; CHECK-NEXT:    lea %s0, 256
344 ; CHECK-NEXT:    lvl %s0
345 ; CHECK-NEXT:    vfmk.l.nenan %vm1, %v0
346 ; CHECK-NEXT:    b.l.t (, %s10)
347   %2 = tail call <256 x i1> @llvm.ve.vl.vfmklnenan.mvl(<256 x double> %0, i32 256)
348   ret <256 x i1> %2
351 ; Function Attrs: nounwind readnone
352 declare <256 x i1> @llvm.ve.vl.vfmklnenan.mvl(<256 x double>, i32)
354 ; Function Attrs: nounwind readnone
355 define fastcc <256 x i1> @vfmklnenan_mvml(<256 x double> %0, <256 x i1> %1) {
356 ; CHECK-LABEL: vfmklnenan_mvml:
357 ; CHECK:       # %bb.0:
358 ; CHECK-NEXT:    lea %s0, 256
359 ; CHECK-NEXT:    lvl %s0
360 ; CHECK-NEXT:    vfmk.l.nenan %vm1, %v0, %vm1
361 ; CHECK-NEXT:    b.l.t (, %s10)
362   %3 = tail call <256 x i1> @llvm.ve.vl.vfmklnenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
363   ret <256 x i1> %3
366 ; Function Attrs: nounwind readnone
367 declare <256 x i1> @llvm.ve.vl.vfmklnenan.mvml(<256 x double>, <256 x i1>, i32)
369 ; Function Attrs: nounwind readnone
370 define fastcc <256 x i1> @vfmkleqnan_mvl(<256 x double> %0) {
371 ; CHECK-LABEL: vfmkleqnan_mvl:
372 ; CHECK:       # %bb.0:
373 ; CHECK-NEXT:    lea %s0, 256
374 ; CHECK-NEXT:    lvl %s0
375 ; CHECK-NEXT:    vfmk.l.eqnan %vm1, %v0
376 ; CHECK-NEXT:    b.l.t (, %s10)
377   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkleqnan.mvl(<256 x double> %0, i32 256)
378   ret <256 x i1> %2
381 ; Function Attrs: nounwind readnone
382 declare <256 x i1> @llvm.ve.vl.vfmkleqnan.mvl(<256 x double>, i32)
384 ; Function Attrs: nounwind readnone
385 define fastcc <256 x i1> @vfmkleqnan_mvml(<256 x double> %0, <256 x i1> %1) {
386 ; CHECK-LABEL: vfmkleqnan_mvml:
387 ; CHECK:       # %bb.0:
388 ; CHECK-NEXT:    lea %s0, 256
389 ; CHECK-NEXT:    lvl %s0
390 ; CHECK-NEXT:    vfmk.l.eqnan %vm1, %v0, %vm1
391 ; CHECK-NEXT:    b.l.t (, %s10)
392   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkleqnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
393   ret <256 x i1> %3
396 ; Function Attrs: nounwind readnone
397 declare <256 x i1> @llvm.ve.vl.vfmkleqnan.mvml(<256 x double>, <256 x i1>, i32)
399 ; Function Attrs: nounwind readnone
400 define fastcc <256 x i1> @vfmklgenan_mvl(<256 x double> %0) {
401 ; CHECK-LABEL: vfmklgenan_mvl:
402 ; CHECK:       # %bb.0:
403 ; CHECK-NEXT:    lea %s0, 256
404 ; CHECK-NEXT:    lvl %s0
405 ; CHECK-NEXT:    vfmk.l.genan %vm1, %v0
406 ; CHECK-NEXT:    b.l.t (, %s10)
407   %2 = tail call <256 x i1> @llvm.ve.vl.vfmklgenan.mvl(<256 x double> %0, i32 256)
408   ret <256 x i1> %2
411 ; Function Attrs: nounwind readnone
412 declare <256 x i1> @llvm.ve.vl.vfmklgenan.mvl(<256 x double>, i32)
414 ; Function Attrs: nounwind readnone
415 define fastcc <256 x i1> @vfmklgenan_mvml(<256 x double> %0, <256 x i1> %1) {
416 ; CHECK-LABEL: vfmklgenan_mvml:
417 ; CHECK:       # %bb.0:
418 ; CHECK-NEXT:    lea %s0, 256
419 ; CHECK-NEXT:    lvl %s0
420 ; CHECK-NEXT:    vfmk.l.genan %vm1, %v0, %vm1
421 ; CHECK-NEXT:    b.l.t (, %s10)
422   %3 = tail call <256 x i1> @llvm.ve.vl.vfmklgenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
423   ret <256 x i1> %3
426 ; Function Attrs: nounwind readnone
427 declare <256 x i1> @llvm.ve.vl.vfmklgenan.mvml(<256 x double>, <256 x i1>, i32)
429 ; Function Attrs: nounwind readnone
430 define fastcc <256 x i1> @vfmkllenan_mvl(<256 x double> %0) {
431 ; CHECK-LABEL: vfmkllenan_mvl:
432 ; CHECK:       # %bb.0:
433 ; CHECK-NEXT:    lea %s0, 256
434 ; CHECK-NEXT:    lvl %s0
435 ; CHECK-NEXT:    vfmk.l.lenan %vm1, %v0
436 ; CHECK-NEXT:    b.l.t (, %s10)
437   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkllenan.mvl(<256 x double> %0, i32 256)
438   ret <256 x i1> %2
441 ; Function Attrs: nounwind readnone
442 declare <256 x i1> @llvm.ve.vl.vfmkllenan.mvl(<256 x double>, i32)
444 ; Function Attrs: nounwind readnone
445 define fastcc <256 x i1> @vfmkllenan_mvml(<256 x double> %0, <256 x i1> %1) {
446 ; CHECK-LABEL: vfmkllenan_mvml:
447 ; CHECK:       # %bb.0:
448 ; CHECK-NEXT:    lea %s0, 256
449 ; CHECK-NEXT:    lvl %s0
450 ; CHECK-NEXT:    vfmk.l.lenan %vm1, %v0, %vm1
451 ; CHECK-NEXT:    b.l.t (, %s10)
452   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkllenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
453   ret <256 x i1> %3
456 ; Function Attrs: nounwind readnone
457 declare <256 x i1> @llvm.ve.vl.vfmkllenan.mvml(<256 x double>, <256 x i1>, i32)
459 ; Function Attrs: nounwind readnone
460 define fastcc <256 x i1> @vfmkwgt_mvl(<256 x double> %0) {
461 ; CHECK-LABEL: vfmkwgt_mvl:
462 ; CHECK:       # %bb.0:
463 ; CHECK-NEXT:    lea %s0, 256
464 ; CHECK-NEXT:    lvl %s0
465 ; CHECK-NEXT:    vfmk.w.gt %vm1, %v0
466 ; CHECK-NEXT:    b.l.t (, %s10)
467   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %0, i32 256)
468   ret <256 x i1> %2
471 ; Function Attrs: nounwind readnone
472 declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32)
474 ; Function Attrs: nounwind readnone
475 define fastcc <256 x i1> @vfmkwgt_mvml(<256 x double> %0, <256 x i1> %1) {
476 ; CHECK-LABEL: vfmkwgt_mvml:
477 ; CHECK:       # %bb.0:
478 ; CHECK-NEXT:    lea %s0, 256
479 ; CHECK-NEXT:    lvl %s0
480 ; CHECK-NEXT:    vfmk.w.gt %vm1, %v0, %vm1
481 ; CHECK-NEXT:    b.l.t (, %s10)
482   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
483   ret <256 x i1> %3
486 ; Function Attrs: nounwind readnone
487 declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvml(<256 x double>, <256 x i1>, i32)
489 ; Function Attrs: nounwind readnone
490 define fastcc <256 x i1> @vfmkwlt_mvl(<256 x double> %0) {
491 ; CHECK-LABEL: vfmkwlt_mvl:
492 ; CHECK:       # %bb.0:
493 ; CHECK-NEXT:    lea %s0, 256
494 ; CHECK-NEXT:    lvl %s0
495 ; CHECK-NEXT:    vfmk.w.lt %vm1, %v0
496 ; CHECK-NEXT:    b.l.t (, %s10)
497   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkwlt.mvl(<256 x double> %0, i32 256)
498   ret <256 x i1> %2
501 ; Function Attrs: nounwind readnone
502 declare <256 x i1> @llvm.ve.vl.vfmkwlt.mvl(<256 x double>, i32)
504 ; Function Attrs: nounwind readnone
505 define fastcc <256 x i1> @vfmkwlt_mvml(<256 x double> %0, <256 x i1> %1) {
506 ; CHECK-LABEL: vfmkwlt_mvml:
507 ; CHECK:       # %bb.0:
508 ; CHECK-NEXT:    lea %s0, 256
509 ; CHECK-NEXT:    lvl %s0
510 ; CHECK-NEXT:    vfmk.w.lt %vm1, %v0, %vm1
511 ; CHECK-NEXT:    b.l.t (, %s10)
512   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkwlt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
513   ret <256 x i1> %3
516 ; Function Attrs: nounwind readnone
517 declare <256 x i1> @llvm.ve.vl.vfmkwlt.mvml(<256 x double>, <256 x i1>, i32)
519 ; Function Attrs: nounwind readnone
520 define fastcc <256 x i1> @vfmkwne_mvl(<256 x double> %0) {
521 ; CHECK-LABEL: vfmkwne_mvl:
522 ; CHECK:       # %bb.0:
523 ; CHECK-NEXT:    lea %s0, 256
524 ; CHECK-NEXT:    lvl %s0
525 ; CHECK-NEXT:    vfmk.w.ne %vm1, %v0
526 ; CHECK-NEXT:    b.l.t (, %s10)
527   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkwne.mvl(<256 x double> %0, i32 256)
528   ret <256 x i1> %2
531 ; Function Attrs: nounwind readnone
532 declare <256 x i1> @llvm.ve.vl.vfmkwne.mvl(<256 x double>, i32)
534 ; Function Attrs: nounwind readnone
535 define fastcc <256 x i1> @vfmkwne_mvml(<256 x double> %0, <256 x i1> %1) {
536 ; CHECK-LABEL: vfmkwne_mvml:
537 ; CHECK:       # %bb.0:
538 ; CHECK-NEXT:    lea %s0, 256
539 ; CHECK-NEXT:    lvl %s0
540 ; CHECK-NEXT:    vfmk.w.ne %vm1, %v0, %vm1
541 ; CHECK-NEXT:    b.l.t (, %s10)
542   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkwne.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
543   ret <256 x i1> %3
546 ; Function Attrs: nounwind readnone
547 declare <256 x i1> @llvm.ve.vl.vfmkwne.mvml(<256 x double>, <256 x i1>, i32)
549 ; Function Attrs: nounwind readnone
550 define fastcc <256 x i1> @vfmkweq_mvl(<256 x double> %0) {
551 ; CHECK-LABEL: vfmkweq_mvl:
552 ; CHECK:       # %bb.0:
553 ; CHECK-NEXT:    lea %s0, 256
554 ; CHECK-NEXT:    lvl %s0
555 ; CHECK-NEXT:    vfmk.w.eq %vm1, %v0
556 ; CHECK-NEXT:    b.l.t (, %s10)
557   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkweq.mvl(<256 x double> %0, i32 256)
558   ret <256 x i1> %2
561 ; Function Attrs: nounwind readnone
562 declare <256 x i1> @llvm.ve.vl.vfmkweq.mvl(<256 x double>, i32)
564 ; Function Attrs: nounwind readnone
565 define fastcc <256 x i1> @vfmkweq_mvml(<256 x double> %0, <256 x i1> %1) {
566 ; CHECK-LABEL: vfmkweq_mvml:
567 ; CHECK:       # %bb.0:
568 ; CHECK-NEXT:    lea %s0, 256
569 ; CHECK-NEXT:    lvl %s0
570 ; CHECK-NEXT:    vfmk.w.eq %vm1, %v0, %vm1
571 ; CHECK-NEXT:    b.l.t (, %s10)
572   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkweq.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
573   ret <256 x i1> %3
576 ; Function Attrs: nounwind readnone
577 declare <256 x i1> @llvm.ve.vl.vfmkweq.mvml(<256 x double>, <256 x i1>, i32)
579 ; Function Attrs: nounwind readnone
580 define fastcc <256 x i1> @vfmkwge_mvl(<256 x double> %0) {
581 ; CHECK-LABEL: vfmkwge_mvl:
582 ; CHECK:       # %bb.0:
583 ; CHECK-NEXT:    lea %s0, 256
584 ; CHECK-NEXT:    lvl %s0
585 ; CHECK-NEXT:    vfmk.w.ge %vm1, %v0
586 ; CHECK-NEXT:    b.l.t (, %s10)
587   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkwge.mvl(<256 x double> %0, i32 256)
588   ret <256 x i1> %2
591 ; Function Attrs: nounwind readnone
592 declare <256 x i1> @llvm.ve.vl.vfmkwge.mvl(<256 x double>, i32)
594 ; Function Attrs: nounwind readnone
595 define fastcc <256 x i1> @vfmkwge_mvml(<256 x double> %0, <256 x i1> %1) {
596 ; CHECK-LABEL: vfmkwge_mvml:
597 ; CHECK:       # %bb.0:
598 ; CHECK-NEXT:    lea %s0, 256
599 ; CHECK-NEXT:    lvl %s0
600 ; CHECK-NEXT:    vfmk.w.ge %vm1, %v0, %vm1
601 ; CHECK-NEXT:    b.l.t (, %s10)
602   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkwge.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
603   ret <256 x i1> %3
606 ; Function Attrs: nounwind readnone
607 declare <256 x i1> @llvm.ve.vl.vfmkwge.mvml(<256 x double>, <256 x i1>, i32)
609 ; Function Attrs: nounwind readnone
610 define fastcc <256 x i1> @vfmkwle_mvl(<256 x double> %0) {
611 ; CHECK-LABEL: vfmkwle_mvl:
612 ; CHECK:       # %bb.0:
613 ; CHECK-NEXT:    lea %s0, 256
614 ; CHECK-NEXT:    lvl %s0
615 ; CHECK-NEXT:    vfmk.w.le %vm1, %v0
616 ; CHECK-NEXT:    b.l.t (, %s10)
617   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkwle.mvl(<256 x double> %0, i32 256)
618   ret <256 x i1> %2
621 ; Function Attrs: nounwind readnone
622 declare <256 x i1> @llvm.ve.vl.vfmkwle.mvl(<256 x double>, i32)
624 ; Function Attrs: nounwind readnone
625 define fastcc <256 x i1> @vfmkwle_mvml(<256 x double> %0, <256 x i1> %1) {
626 ; CHECK-LABEL: vfmkwle_mvml:
627 ; CHECK:       # %bb.0:
628 ; CHECK-NEXT:    lea %s0, 256
629 ; CHECK-NEXT:    lvl %s0
630 ; CHECK-NEXT:    vfmk.w.le %vm1, %v0, %vm1
631 ; CHECK-NEXT:    b.l.t (, %s10)
632   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkwle.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
633   ret <256 x i1> %3
636 ; Function Attrs: nounwind readnone
637 declare <256 x i1> @llvm.ve.vl.vfmkwle.mvml(<256 x double>, <256 x i1>, i32)
639 ; Function Attrs: nounwind readnone
640 define fastcc <256 x i1> @vfmkwnum_mvl(<256 x double> %0) {
641 ; CHECK-LABEL: vfmkwnum_mvl:
642 ; CHECK:       # %bb.0:
643 ; CHECK-NEXT:    lea %s0, 256
644 ; CHECK-NEXT:    lvl %s0
645 ; CHECK-NEXT:    vfmk.w.num %vm1, %v0
646 ; CHECK-NEXT:    b.l.t (, %s10)
647   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkwnum.mvl(<256 x double> %0, i32 256)
648   ret <256 x i1> %2
651 ; Function Attrs: nounwind readnone
652 declare <256 x i1> @llvm.ve.vl.vfmkwnum.mvl(<256 x double>, i32)
654 ; Function Attrs: nounwind readnone
655 define fastcc <256 x i1> @vfmkwnum_mvml(<256 x double> %0, <256 x i1> %1) {
656 ; CHECK-LABEL: vfmkwnum_mvml:
657 ; CHECK:       # %bb.0:
658 ; CHECK-NEXT:    lea %s0, 256
659 ; CHECK-NEXT:    lvl %s0
660 ; CHECK-NEXT:    vfmk.w.num %vm1, %v0, %vm1
661 ; CHECK-NEXT:    b.l.t (, %s10)
662   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkwnum.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
663   ret <256 x i1> %3
666 ; Function Attrs: nounwind readnone
667 declare <256 x i1> @llvm.ve.vl.vfmkwnum.mvml(<256 x double>, <256 x i1>, i32)
669 ; Function Attrs: nounwind readnone
670 define fastcc <256 x i1> @vfmkwnan_mvl(<256 x double> %0) {
671 ; CHECK-LABEL: vfmkwnan_mvl:
672 ; CHECK:       # %bb.0:
673 ; CHECK-NEXT:    lea %s0, 256
674 ; CHECK-NEXT:    lvl %s0
675 ; CHECK-NEXT:    vfmk.w.nan %vm1, %v0
676 ; CHECK-NEXT:    b.l.t (, %s10)
677   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkwnan.mvl(<256 x double> %0, i32 256)
678   ret <256 x i1> %2
681 ; Function Attrs: nounwind readnone
682 declare <256 x i1> @llvm.ve.vl.vfmkwnan.mvl(<256 x double>, i32)
684 ; Function Attrs: nounwind readnone
685 define fastcc <256 x i1> @vfmkwnan_mvml(<256 x double> %0, <256 x i1> %1) {
686 ; CHECK-LABEL: vfmkwnan_mvml:
687 ; CHECK:       # %bb.0:
688 ; CHECK-NEXT:    lea %s0, 256
689 ; CHECK-NEXT:    lvl %s0
690 ; CHECK-NEXT:    vfmk.w.nan %vm1, %v0, %vm1
691 ; CHECK-NEXT:    b.l.t (, %s10)
692   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkwnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
693   ret <256 x i1> %3
696 ; Function Attrs: nounwind readnone
697 declare <256 x i1> @llvm.ve.vl.vfmkwnan.mvml(<256 x double>, <256 x i1>, i32)
699 ; Function Attrs: nounwind readnone
700 define fastcc <256 x i1> @vfmkwgtnan_mvl(<256 x double> %0) {
701 ; CHECK-LABEL: vfmkwgtnan_mvl:
702 ; CHECK:       # %bb.0:
703 ; CHECK-NEXT:    lea %s0, 256
704 ; CHECK-NEXT:    lvl %s0
705 ; CHECK-NEXT:    vfmk.w.gtnan %vm1, %v0
706 ; CHECK-NEXT:    b.l.t (, %s10)
707   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkwgtnan.mvl(<256 x double> %0, i32 256)
708   ret <256 x i1> %2
711 ; Function Attrs: nounwind readnone
712 declare <256 x i1> @llvm.ve.vl.vfmkwgtnan.mvl(<256 x double>, i32)
714 ; Function Attrs: nounwind readnone
715 define fastcc <256 x i1> @vfmkwgtnan_mvml(<256 x double> %0, <256 x i1> %1) {
716 ; CHECK-LABEL: vfmkwgtnan_mvml:
717 ; CHECK:       # %bb.0:
718 ; CHECK-NEXT:    lea %s0, 256
719 ; CHECK-NEXT:    lvl %s0
720 ; CHECK-NEXT:    vfmk.w.gtnan %vm1, %v0, %vm1
721 ; CHECK-NEXT:    b.l.t (, %s10)
722   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkwgtnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
723   ret <256 x i1> %3
726 ; Function Attrs: nounwind readnone
727 declare <256 x i1> @llvm.ve.vl.vfmkwgtnan.mvml(<256 x double>, <256 x i1>, i32)
729 ; Function Attrs: nounwind readnone
730 define fastcc <256 x i1> @vfmkwltnan_mvl(<256 x double> %0) {
731 ; CHECK-LABEL: vfmkwltnan_mvl:
732 ; CHECK:       # %bb.0:
733 ; CHECK-NEXT:    lea %s0, 256
734 ; CHECK-NEXT:    lvl %s0
735 ; CHECK-NEXT:    vfmk.w.ltnan %vm1, %v0
736 ; CHECK-NEXT:    b.l.t (, %s10)
737   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkwltnan.mvl(<256 x double> %0, i32 256)
738   ret <256 x i1> %2
741 ; Function Attrs: nounwind readnone
742 declare <256 x i1> @llvm.ve.vl.vfmkwltnan.mvl(<256 x double>, i32)
744 ; Function Attrs: nounwind readnone
745 define fastcc <256 x i1> @vfmkwltnan_mvml(<256 x double> %0, <256 x i1> %1) {
746 ; CHECK-LABEL: vfmkwltnan_mvml:
747 ; CHECK:       # %bb.0:
748 ; CHECK-NEXT:    lea %s0, 256
749 ; CHECK-NEXT:    lvl %s0
750 ; CHECK-NEXT:    vfmk.w.ltnan %vm1, %v0, %vm1
751 ; CHECK-NEXT:    b.l.t (, %s10)
752   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkwltnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
753   ret <256 x i1> %3
756 ; Function Attrs: nounwind readnone
757 declare <256 x i1> @llvm.ve.vl.vfmkwltnan.mvml(<256 x double>, <256 x i1>, i32)
759 ; Function Attrs: nounwind readnone
760 define fastcc <256 x i1> @vfmkwnenan_mvl(<256 x double> %0) {
761 ; CHECK-LABEL: vfmkwnenan_mvl:
762 ; CHECK:       # %bb.0:
763 ; CHECK-NEXT:    lea %s0, 256
764 ; CHECK-NEXT:    lvl %s0
765 ; CHECK-NEXT:    vfmk.w.nenan %vm1, %v0
766 ; CHECK-NEXT:    b.l.t (, %s10)
767   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkwnenan.mvl(<256 x double> %0, i32 256)
768   ret <256 x i1> %2
771 ; Function Attrs: nounwind readnone
772 declare <256 x i1> @llvm.ve.vl.vfmkwnenan.mvl(<256 x double>, i32)
774 ; Function Attrs: nounwind readnone
775 define fastcc <256 x i1> @vfmkwnenan_mvml(<256 x double> %0, <256 x i1> %1) {
776 ; CHECK-LABEL: vfmkwnenan_mvml:
777 ; CHECK:       # %bb.0:
778 ; CHECK-NEXT:    lea %s0, 256
779 ; CHECK-NEXT:    lvl %s0
780 ; CHECK-NEXT:    vfmk.w.nenan %vm1, %v0, %vm1
781 ; CHECK-NEXT:    b.l.t (, %s10)
782   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkwnenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
783   ret <256 x i1> %3
786 ; Function Attrs: nounwind readnone
787 declare <256 x i1> @llvm.ve.vl.vfmkwnenan.mvml(<256 x double>, <256 x i1>, i32)
789 ; Function Attrs: nounwind readnone
790 define fastcc <256 x i1> @vfmkweqnan_mvl(<256 x double> %0) {
791 ; CHECK-LABEL: vfmkweqnan_mvl:
792 ; CHECK:       # %bb.0:
793 ; CHECK-NEXT:    lea %s0, 256
794 ; CHECK-NEXT:    lvl %s0
795 ; CHECK-NEXT:    vfmk.w.eqnan %vm1, %v0
796 ; CHECK-NEXT:    b.l.t (, %s10)
797   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkweqnan.mvl(<256 x double> %0, i32 256)
798   ret <256 x i1> %2
801 ; Function Attrs: nounwind readnone
802 declare <256 x i1> @llvm.ve.vl.vfmkweqnan.mvl(<256 x double>, i32)
804 ; Function Attrs: nounwind readnone
805 define fastcc <256 x i1> @vfmkweqnan_mvml(<256 x double> %0, <256 x i1> %1) {
806 ; CHECK-LABEL: vfmkweqnan_mvml:
807 ; CHECK:       # %bb.0:
808 ; CHECK-NEXT:    lea %s0, 256
809 ; CHECK-NEXT:    lvl %s0
810 ; CHECK-NEXT:    vfmk.w.eqnan %vm1, %v0, %vm1
811 ; CHECK-NEXT:    b.l.t (, %s10)
812   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkweqnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
813   ret <256 x i1> %3
816 ; Function Attrs: nounwind readnone
817 declare <256 x i1> @llvm.ve.vl.vfmkweqnan.mvml(<256 x double>, <256 x i1>, i32)
819 ; Function Attrs: nounwind readnone
820 define fastcc <256 x i1> @vfmkwgenan_mvl(<256 x double> %0) {
821 ; CHECK-LABEL: vfmkwgenan_mvl:
822 ; CHECK:       # %bb.0:
823 ; CHECK-NEXT:    lea %s0, 256
824 ; CHECK-NEXT:    lvl %s0
825 ; CHECK-NEXT:    vfmk.w.genan %vm1, %v0
826 ; CHECK-NEXT:    b.l.t (, %s10)
827   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkwgenan.mvl(<256 x double> %0, i32 256)
828   ret <256 x i1> %2
831 ; Function Attrs: nounwind readnone
832 declare <256 x i1> @llvm.ve.vl.vfmkwgenan.mvl(<256 x double>, i32)
834 ; Function Attrs: nounwind readnone
835 define fastcc <256 x i1> @vfmkwgenan_mvml(<256 x double> %0, <256 x i1> %1) {
836 ; CHECK-LABEL: vfmkwgenan_mvml:
837 ; CHECK:       # %bb.0:
838 ; CHECK-NEXT:    lea %s0, 256
839 ; CHECK-NEXT:    lvl %s0
840 ; CHECK-NEXT:    vfmk.w.genan %vm1, %v0, %vm1
841 ; CHECK-NEXT:    b.l.t (, %s10)
842   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkwgenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
843   ret <256 x i1> %3
846 ; Function Attrs: nounwind readnone
847 declare <256 x i1> @llvm.ve.vl.vfmkwgenan.mvml(<256 x double>, <256 x i1>, i32)
849 ; Function Attrs: nounwind readnone
850 define fastcc <256 x i1> @vfmkwlenan_mvl(<256 x double> %0) {
851 ; CHECK-LABEL: vfmkwlenan_mvl:
852 ; CHECK:       # %bb.0:
853 ; CHECK-NEXT:    lea %s0, 256
854 ; CHECK-NEXT:    lvl %s0
855 ; CHECK-NEXT:    vfmk.w.lenan %vm1, %v0
856 ; CHECK-NEXT:    b.l.t (, %s10)
857   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkwlenan.mvl(<256 x double> %0, i32 256)
858   ret <256 x i1> %2
861 ; Function Attrs: nounwind readnone
862 declare <256 x i1> @llvm.ve.vl.vfmkwlenan.mvl(<256 x double>, i32)
864 ; Function Attrs: nounwind readnone
865 define fastcc <256 x i1> @vfmkwlenan_mvml(<256 x double> %0, <256 x i1> %1) {
866 ; CHECK-LABEL: vfmkwlenan_mvml:
867 ; CHECK:       # %bb.0:
868 ; CHECK-NEXT:    lea %s0, 256
869 ; CHECK-NEXT:    lvl %s0
870 ; CHECK-NEXT:    vfmk.w.lenan %vm1, %v0, %vm1
871 ; CHECK-NEXT:    b.l.t (, %s10)
872   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkwlenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
873   ret <256 x i1> %3
876 ; Function Attrs: nounwind readnone
877 declare <256 x i1> @llvm.ve.vl.vfmkwlenan.mvml(<256 x double>, <256 x i1>, i32)
879 ; Function Attrs: nounwind readnone
880 define fastcc <256 x i1> @vfmkdgt_mvl(<256 x double> %0) {
881 ; CHECK-LABEL: vfmkdgt_mvl:
882 ; CHECK:       # %bb.0:
883 ; CHECK-NEXT:    lea %s0, 256
884 ; CHECK-NEXT:    lvl %s0
885 ; CHECK-NEXT:    vfmk.d.gt %vm1, %v0
886 ; CHECK-NEXT:    b.l.t (, %s10)
887   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkdgt.mvl(<256 x double> %0, i32 256)
888   ret <256 x i1> %2
891 ; Function Attrs: nounwind readnone
892 declare <256 x i1> @llvm.ve.vl.vfmkdgt.mvl(<256 x double>, i32)
894 ; Function Attrs: nounwind readnone
895 define fastcc <256 x i1> @vfmkdgt_mvml(<256 x double> %0, <256 x i1> %1) {
896 ; CHECK-LABEL: vfmkdgt_mvml:
897 ; CHECK:       # %bb.0:
898 ; CHECK-NEXT:    lea %s0, 256
899 ; CHECK-NEXT:    lvl %s0
900 ; CHECK-NEXT:    vfmk.d.gt %vm1, %v0, %vm1
901 ; CHECK-NEXT:    b.l.t (, %s10)
902   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkdgt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
903   ret <256 x i1> %3
906 ; Function Attrs: nounwind readnone
907 declare <256 x i1> @llvm.ve.vl.vfmkdgt.mvml(<256 x double>, <256 x i1>, i32)
909 ; Function Attrs: nounwind readnone
910 define fastcc <256 x i1> @vfmkdlt_mvl(<256 x double> %0) {
911 ; CHECK-LABEL: vfmkdlt_mvl:
912 ; CHECK:       # %bb.0:
913 ; CHECK-NEXT:    lea %s0, 256
914 ; CHECK-NEXT:    lvl %s0
915 ; CHECK-NEXT:    vfmk.d.lt %vm1, %v0
916 ; CHECK-NEXT:    b.l.t (, %s10)
917   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkdlt.mvl(<256 x double> %0, i32 256)
918   ret <256 x i1> %2
921 ; Function Attrs: nounwind readnone
922 declare <256 x i1> @llvm.ve.vl.vfmkdlt.mvl(<256 x double>, i32)
924 ; Function Attrs: nounwind readnone
925 define fastcc <256 x i1> @vfmkdlt_mvml(<256 x double> %0, <256 x i1> %1) {
926 ; CHECK-LABEL: vfmkdlt_mvml:
927 ; CHECK:       # %bb.0:
928 ; CHECK-NEXT:    lea %s0, 256
929 ; CHECK-NEXT:    lvl %s0
930 ; CHECK-NEXT:    vfmk.d.lt %vm1, %v0, %vm1
931 ; CHECK-NEXT:    b.l.t (, %s10)
932   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkdlt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
933   ret <256 x i1> %3
936 ; Function Attrs: nounwind readnone
937 declare <256 x i1> @llvm.ve.vl.vfmkdlt.mvml(<256 x double>, <256 x i1>, i32)
939 ; Function Attrs: nounwind readnone
940 define fastcc <256 x i1> @vfmkdne_mvl(<256 x double> %0) {
941 ; CHECK-LABEL: vfmkdne_mvl:
942 ; CHECK:       # %bb.0:
943 ; CHECK-NEXT:    lea %s0, 256
944 ; CHECK-NEXT:    lvl %s0
945 ; CHECK-NEXT:    vfmk.d.ne %vm1, %v0
946 ; CHECK-NEXT:    b.l.t (, %s10)
947   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkdne.mvl(<256 x double> %0, i32 256)
948   ret <256 x i1> %2
951 ; Function Attrs: nounwind readnone
952 declare <256 x i1> @llvm.ve.vl.vfmkdne.mvl(<256 x double>, i32)
954 ; Function Attrs: nounwind readnone
955 define fastcc <256 x i1> @vfmkdne_mvml(<256 x double> %0, <256 x i1> %1) {
956 ; CHECK-LABEL: vfmkdne_mvml:
957 ; CHECK:       # %bb.0:
958 ; CHECK-NEXT:    lea %s0, 256
959 ; CHECK-NEXT:    lvl %s0
960 ; CHECK-NEXT:    vfmk.d.ne %vm1, %v0, %vm1
961 ; CHECK-NEXT:    b.l.t (, %s10)
962   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkdne.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
963   ret <256 x i1> %3
966 ; Function Attrs: nounwind readnone
967 declare <256 x i1> @llvm.ve.vl.vfmkdne.mvml(<256 x double>, <256 x i1>, i32)
969 ; Function Attrs: nounwind readnone
970 define fastcc <256 x i1> @vfmkdeq_mvl(<256 x double> %0) {
971 ; CHECK-LABEL: vfmkdeq_mvl:
972 ; CHECK:       # %bb.0:
973 ; CHECK-NEXT:    lea %s0, 256
974 ; CHECK-NEXT:    lvl %s0
975 ; CHECK-NEXT:    vfmk.d.eq %vm1, %v0
976 ; CHECK-NEXT:    b.l.t (, %s10)
977   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkdeq.mvl(<256 x double> %0, i32 256)
978   ret <256 x i1> %2
981 ; Function Attrs: nounwind readnone
982 declare <256 x i1> @llvm.ve.vl.vfmkdeq.mvl(<256 x double>, i32)
984 ; Function Attrs: nounwind readnone
985 define fastcc <256 x i1> @vfmkdeq_mvml(<256 x double> %0, <256 x i1> %1) {
986 ; CHECK-LABEL: vfmkdeq_mvml:
987 ; CHECK:       # %bb.0:
988 ; CHECK-NEXT:    lea %s0, 256
989 ; CHECK-NEXT:    lvl %s0
990 ; CHECK-NEXT:    vfmk.d.eq %vm1, %v0, %vm1
991 ; CHECK-NEXT:    b.l.t (, %s10)
992   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkdeq.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
993   ret <256 x i1> %3
996 ; Function Attrs: nounwind readnone
997 declare <256 x i1> @llvm.ve.vl.vfmkdeq.mvml(<256 x double>, <256 x i1>, i32)
999 ; Function Attrs: nounwind readnone
1000 define fastcc <256 x i1> @vfmkdge_mvl(<256 x double> %0) {
1001 ; CHECK-LABEL: vfmkdge_mvl:
1002 ; CHECK:       # %bb.0:
1003 ; CHECK-NEXT:    lea %s0, 256
1004 ; CHECK-NEXT:    lvl %s0
1005 ; CHECK-NEXT:    vfmk.d.ge %vm1, %v0
1006 ; CHECK-NEXT:    b.l.t (, %s10)
1007   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkdge.mvl(<256 x double> %0, i32 256)
1008   ret <256 x i1> %2
1011 ; Function Attrs: nounwind readnone
1012 declare <256 x i1> @llvm.ve.vl.vfmkdge.mvl(<256 x double>, i32)
1014 ; Function Attrs: nounwind readnone
1015 define fastcc <256 x i1> @vfmkdge_mvml(<256 x double> %0, <256 x i1> %1) {
1016 ; CHECK-LABEL: vfmkdge_mvml:
1017 ; CHECK:       # %bb.0:
1018 ; CHECK-NEXT:    lea %s0, 256
1019 ; CHECK-NEXT:    lvl %s0
1020 ; CHECK-NEXT:    vfmk.d.ge %vm1, %v0, %vm1
1021 ; CHECK-NEXT:    b.l.t (, %s10)
1022   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkdge.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1023   ret <256 x i1> %3
1026 ; Function Attrs: nounwind readnone
1027 declare <256 x i1> @llvm.ve.vl.vfmkdge.mvml(<256 x double>, <256 x i1>, i32)
1029 ; Function Attrs: nounwind readnone
1030 define fastcc <256 x i1> @vfmkdle_mvl(<256 x double> %0) {
1031 ; CHECK-LABEL: vfmkdle_mvl:
1032 ; CHECK:       # %bb.0:
1033 ; CHECK-NEXT:    lea %s0, 256
1034 ; CHECK-NEXT:    lvl %s0
1035 ; CHECK-NEXT:    vfmk.d.le %vm1, %v0
1036 ; CHECK-NEXT:    b.l.t (, %s10)
1037   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkdle.mvl(<256 x double> %0, i32 256)
1038   ret <256 x i1> %2
1041 ; Function Attrs: nounwind readnone
1042 declare <256 x i1> @llvm.ve.vl.vfmkdle.mvl(<256 x double>, i32)
1044 ; Function Attrs: nounwind readnone
1045 define fastcc <256 x i1> @vfmkdle_mvml(<256 x double> %0, <256 x i1> %1) {
1046 ; CHECK-LABEL: vfmkdle_mvml:
1047 ; CHECK:       # %bb.0:
1048 ; CHECK-NEXT:    lea %s0, 256
1049 ; CHECK-NEXT:    lvl %s0
1050 ; CHECK-NEXT:    vfmk.d.le %vm1, %v0, %vm1
1051 ; CHECK-NEXT:    b.l.t (, %s10)
1052   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkdle.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1053   ret <256 x i1> %3
1056 ; Function Attrs: nounwind readnone
1057 declare <256 x i1> @llvm.ve.vl.vfmkdle.mvml(<256 x double>, <256 x i1>, i32)
1059 ; Function Attrs: nounwind readnone
1060 define fastcc <256 x i1> @vfmkdnum_mvl(<256 x double> %0) {
1061 ; CHECK-LABEL: vfmkdnum_mvl:
1062 ; CHECK:       # %bb.0:
1063 ; CHECK-NEXT:    lea %s0, 256
1064 ; CHECK-NEXT:    lvl %s0
1065 ; CHECK-NEXT:    vfmk.d.num %vm1, %v0
1066 ; CHECK-NEXT:    b.l.t (, %s10)
1067   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkdnum.mvl(<256 x double> %0, i32 256)
1068   ret <256 x i1> %2
1071 ; Function Attrs: nounwind readnone
1072 declare <256 x i1> @llvm.ve.vl.vfmkdnum.mvl(<256 x double>, i32)
1074 ; Function Attrs: nounwind readnone
1075 define fastcc <256 x i1> @vfmkdnum_mvml(<256 x double> %0, <256 x i1> %1) {
1076 ; CHECK-LABEL: vfmkdnum_mvml:
1077 ; CHECK:       # %bb.0:
1078 ; CHECK-NEXT:    lea %s0, 256
1079 ; CHECK-NEXT:    lvl %s0
1080 ; CHECK-NEXT:    vfmk.d.num %vm1, %v0, %vm1
1081 ; CHECK-NEXT:    b.l.t (, %s10)
1082   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkdnum.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1083   ret <256 x i1> %3
1086 ; Function Attrs: nounwind readnone
1087 declare <256 x i1> @llvm.ve.vl.vfmkdnum.mvml(<256 x double>, <256 x i1>, i32)
1089 ; Function Attrs: nounwind readnone
1090 define fastcc <256 x i1> @vfmkdnan_mvl(<256 x double> %0) {
1091 ; CHECK-LABEL: vfmkdnan_mvl:
1092 ; CHECK:       # %bb.0:
1093 ; CHECK-NEXT:    lea %s0, 256
1094 ; CHECK-NEXT:    lvl %s0
1095 ; CHECK-NEXT:    vfmk.d.nan %vm1, %v0
1096 ; CHECK-NEXT:    b.l.t (, %s10)
1097   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkdnan.mvl(<256 x double> %0, i32 256)
1098   ret <256 x i1> %2
1101 ; Function Attrs: nounwind readnone
1102 declare <256 x i1> @llvm.ve.vl.vfmkdnan.mvl(<256 x double>, i32)
1104 ; Function Attrs: nounwind readnone
1105 define fastcc <256 x i1> @vfmkdnan_mvml(<256 x double> %0, <256 x i1> %1) {
1106 ; CHECK-LABEL: vfmkdnan_mvml:
1107 ; CHECK:       # %bb.0:
1108 ; CHECK-NEXT:    lea %s0, 256
1109 ; CHECK-NEXT:    lvl %s0
1110 ; CHECK-NEXT:    vfmk.d.nan %vm1, %v0, %vm1
1111 ; CHECK-NEXT:    b.l.t (, %s10)
1112   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkdnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1113   ret <256 x i1> %3
1116 ; Function Attrs: nounwind readnone
1117 declare <256 x i1> @llvm.ve.vl.vfmkdnan.mvml(<256 x double>, <256 x i1>, i32)
1119 ; Function Attrs: nounwind readnone
1120 define fastcc <256 x i1> @vfmkdgtnan_mvl(<256 x double> %0) {
1121 ; CHECK-LABEL: vfmkdgtnan_mvl:
1122 ; CHECK:       # %bb.0:
1123 ; CHECK-NEXT:    lea %s0, 256
1124 ; CHECK-NEXT:    lvl %s0
1125 ; CHECK-NEXT:    vfmk.d.gtnan %vm1, %v0
1126 ; CHECK-NEXT:    b.l.t (, %s10)
1127   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkdgtnan.mvl(<256 x double> %0, i32 256)
1128   ret <256 x i1> %2
1131 ; Function Attrs: nounwind readnone
1132 declare <256 x i1> @llvm.ve.vl.vfmkdgtnan.mvl(<256 x double>, i32)
1134 ; Function Attrs: nounwind readnone
1135 define fastcc <256 x i1> @vfmkdgtnan_mvml(<256 x double> %0, <256 x i1> %1) {
1136 ; CHECK-LABEL: vfmkdgtnan_mvml:
1137 ; CHECK:       # %bb.0:
1138 ; CHECK-NEXT:    lea %s0, 256
1139 ; CHECK-NEXT:    lvl %s0
1140 ; CHECK-NEXT:    vfmk.d.gtnan %vm1, %v0, %vm1
1141 ; CHECK-NEXT:    b.l.t (, %s10)
1142   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkdgtnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1143   ret <256 x i1> %3
1146 ; Function Attrs: nounwind readnone
1147 declare <256 x i1> @llvm.ve.vl.vfmkdgtnan.mvml(<256 x double>, <256 x i1>, i32)
1149 ; Function Attrs: nounwind readnone
1150 define fastcc <256 x i1> @vfmkdltnan_mvl(<256 x double> %0) {
1151 ; CHECK-LABEL: vfmkdltnan_mvl:
1152 ; CHECK:       # %bb.0:
1153 ; CHECK-NEXT:    lea %s0, 256
1154 ; CHECK-NEXT:    lvl %s0
1155 ; CHECK-NEXT:    vfmk.d.ltnan %vm1, %v0
1156 ; CHECK-NEXT:    b.l.t (, %s10)
1157   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkdltnan.mvl(<256 x double> %0, i32 256)
1158   ret <256 x i1> %2
1161 ; Function Attrs: nounwind readnone
1162 declare <256 x i1> @llvm.ve.vl.vfmkdltnan.mvl(<256 x double>, i32)
1164 ; Function Attrs: nounwind readnone
1165 define fastcc <256 x i1> @vfmkdltnan_mvml(<256 x double> %0, <256 x i1> %1) {
1166 ; CHECK-LABEL: vfmkdltnan_mvml:
1167 ; CHECK:       # %bb.0:
1168 ; CHECK-NEXT:    lea %s0, 256
1169 ; CHECK-NEXT:    lvl %s0
1170 ; CHECK-NEXT:    vfmk.d.ltnan %vm1, %v0, %vm1
1171 ; CHECK-NEXT:    b.l.t (, %s10)
1172   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkdltnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1173   ret <256 x i1> %3
1176 ; Function Attrs: nounwind readnone
1177 declare <256 x i1> @llvm.ve.vl.vfmkdltnan.mvml(<256 x double>, <256 x i1>, i32)
1179 ; Function Attrs: nounwind readnone
1180 define fastcc <256 x i1> @vfmkdnenan_mvl(<256 x double> %0) {
1181 ; CHECK-LABEL: vfmkdnenan_mvl:
1182 ; CHECK:       # %bb.0:
1183 ; CHECK-NEXT:    lea %s0, 256
1184 ; CHECK-NEXT:    lvl %s0
1185 ; CHECK-NEXT:    vfmk.d.nenan %vm1, %v0
1186 ; CHECK-NEXT:    b.l.t (, %s10)
1187   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkdnenan.mvl(<256 x double> %0, i32 256)
1188   ret <256 x i1> %2
1191 ; Function Attrs: nounwind readnone
1192 declare <256 x i1> @llvm.ve.vl.vfmkdnenan.mvl(<256 x double>, i32)
1194 ; Function Attrs: nounwind readnone
1195 define fastcc <256 x i1> @vfmkdnenan_mvml(<256 x double> %0, <256 x i1> %1) {
1196 ; CHECK-LABEL: vfmkdnenan_mvml:
1197 ; CHECK:       # %bb.0:
1198 ; CHECK-NEXT:    lea %s0, 256
1199 ; CHECK-NEXT:    lvl %s0
1200 ; CHECK-NEXT:    vfmk.d.nenan %vm1, %v0, %vm1
1201 ; CHECK-NEXT:    b.l.t (, %s10)
1202   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkdnenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1203   ret <256 x i1> %3
1206 ; Function Attrs: nounwind readnone
1207 declare <256 x i1> @llvm.ve.vl.vfmkdnenan.mvml(<256 x double>, <256 x i1>, i32)
1209 ; Function Attrs: nounwind readnone
1210 define fastcc <256 x i1> @vfmkdeqnan_mvl(<256 x double> %0) {
1211 ; CHECK-LABEL: vfmkdeqnan_mvl:
1212 ; CHECK:       # %bb.0:
1213 ; CHECK-NEXT:    lea %s0, 256
1214 ; CHECK-NEXT:    lvl %s0
1215 ; CHECK-NEXT:    vfmk.d.eqnan %vm1, %v0
1216 ; CHECK-NEXT:    b.l.t (, %s10)
1217   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkdeqnan.mvl(<256 x double> %0, i32 256)
1218   ret <256 x i1> %2
1221 ; Function Attrs: nounwind readnone
1222 declare <256 x i1> @llvm.ve.vl.vfmkdeqnan.mvl(<256 x double>, i32)
1224 ; Function Attrs: nounwind readnone
1225 define fastcc <256 x i1> @vfmkdeqnan_mvml(<256 x double> %0, <256 x i1> %1) {
1226 ; CHECK-LABEL: vfmkdeqnan_mvml:
1227 ; CHECK:       # %bb.0:
1228 ; CHECK-NEXT:    lea %s0, 256
1229 ; CHECK-NEXT:    lvl %s0
1230 ; CHECK-NEXT:    vfmk.d.eqnan %vm1, %v0, %vm1
1231 ; CHECK-NEXT:    b.l.t (, %s10)
1232   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkdeqnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1233   ret <256 x i1> %3
1236 ; Function Attrs: nounwind readnone
1237 declare <256 x i1> @llvm.ve.vl.vfmkdeqnan.mvml(<256 x double>, <256 x i1>, i32)
1239 ; Function Attrs: nounwind readnone
1240 define fastcc <256 x i1> @vfmkdgenan_mvl(<256 x double> %0) {
1241 ; CHECK-LABEL: vfmkdgenan_mvl:
1242 ; CHECK:       # %bb.0:
1243 ; CHECK-NEXT:    lea %s0, 256
1244 ; CHECK-NEXT:    lvl %s0
1245 ; CHECK-NEXT:    vfmk.d.genan %vm1, %v0
1246 ; CHECK-NEXT:    b.l.t (, %s10)
1247   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkdgenan.mvl(<256 x double> %0, i32 256)
1248   ret <256 x i1> %2
1251 ; Function Attrs: nounwind readnone
1252 declare <256 x i1> @llvm.ve.vl.vfmkdgenan.mvl(<256 x double>, i32)
1254 ; Function Attrs: nounwind readnone
1255 define fastcc <256 x i1> @vfmkdgenan_mvml(<256 x double> %0, <256 x i1> %1) {
1256 ; CHECK-LABEL: vfmkdgenan_mvml:
1257 ; CHECK:       # %bb.0:
1258 ; CHECK-NEXT:    lea %s0, 256
1259 ; CHECK-NEXT:    lvl %s0
1260 ; CHECK-NEXT:    vfmk.d.genan %vm1, %v0, %vm1
1261 ; CHECK-NEXT:    b.l.t (, %s10)
1262   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkdgenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1263   ret <256 x i1> %3
1266 ; Function Attrs: nounwind readnone
1267 declare <256 x i1> @llvm.ve.vl.vfmkdgenan.mvml(<256 x double>, <256 x i1>, i32)
1269 ; Function Attrs: nounwind readnone
1270 define fastcc <256 x i1> @vfmkdlenan_mvl(<256 x double> %0) {
1271 ; CHECK-LABEL: vfmkdlenan_mvl:
1272 ; CHECK:       # %bb.0:
1273 ; CHECK-NEXT:    lea %s0, 256
1274 ; CHECK-NEXT:    lvl %s0
1275 ; CHECK-NEXT:    vfmk.d.lenan %vm1, %v0
1276 ; CHECK-NEXT:    b.l.t (, %s10)
1277   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkdlenan.mvl(<256 x double> %0, i32 256)
1278   ret <256 x i1> %2
1281 ; Function Attrs: nounwind readnone
1282 declare <256 x i1> @llvm.ve.vl.vfmkdlenan.mvl(<256 x double>, i32)
1284 ; Function Attrs: nounwind readnone
1285 define fastcc <256 x i1> @vfmkdlenan_mvml(<256 x double> %0, <256 x i1> %1) {
1286 ; CHECK-LABEL: vfmkdlenan_mvml:
1287 ; CHECK:       # %bb.0:
1288 ; CHECK-NEXT:    lea %s0, 256
1289 ; CHECK-NEXT:    lvl %s0
1290 ; CHECK-NEXT:    vfmk.d.lenan %vm1, %v0, %vm1
1291 ; CHECK-NEXT:    b.l.t (, %s10)
1292   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkdlenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1293   ret <256 x i1> %3
1296 ; Function Attrs: nounwind readnone
1297 declare <256 x i1> @llvm.ve.vl.vfmkdlenan.mvml(<256 x double>, <256 x i1>, i32)
1299 ; Function Attrs: nounwind readnone
1300 define fastcc <256 x i1> @vfmksgt_mvl(<256 x double> %0) {
1301 ; CHECK-LABEL: vfmksgt_mvl:
1302 ; CHECK:       # %bb.0:
1303 ; CHECK-NEXT:    lea %s0, 256
1304 ; CHECK-NEXT:    lvl %s0
1305 ; CHECK-NEXT:    vfmk.s.gt %vm1, %v0
1306 ; CHECK-NEXT:    b.l.t (, %s10)
1307   %2 = tail call <256 x i1> @llvm.ve.vl.vfmksgt.mvl(<256 x double> %0, i32 256)
1308   ret <256 x i1> %2
1311 ; Function Attrs: nounwind readnone
1312 declare <256 x i1> @llvm.ve.vl.vfmksgt.mvl(<256 x double>, i32)
1314 ; Function Attrs: nounwind readnone
1315 define fastcc <256 x i1> @vfmksgt_mvml(<256 x double> %0, <256 x i1> %1) {
1316 ; CHECK-LABEL: vfmksgt_mvml:
1317 ; CHECK:       # %bb.0:
1318 ; CHECK-NEXT:    lea %s0, 256
1319 ; CHECK-NEXT:    lvl %s0
1320 ; CHECK-NEXT:    vfmk.s.gt %vm1, %v0, %vm1
1321 ; CHECK-NEXT:    b.l.t (, %s10)
1322   %3 = tail call <256 x i1> @llvm.ve.vl.vfmksgt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1323   ret <256 x i1> %3
1326 ; Function Attrs: nounwind readnone
1327 declare <256 x i1> @llvm.ve.vl.vfmksgt.mvml(<256 x double>, <256 x i1>, i32)
1329 ; Function Attrs: nounwind readnone
1330 define fastcc <256 x i1> @vfmkslt_mvl(<256 x double> %0) {
1331 ; CHECK-LABEL: vfmkslt_mvl:
1332 ; CHECK:       # %bb.0:
1333 ; CHECK-NEXT:    lea %s0, 256
1334 ; CHECK-NEXT:    lvl %s0
1335 ; CHECK-NEXT:    vfmk.s.lt %vm1, %v0
1336 ; CHECK-NEXT:    b.l.t (, %s10)
1337   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkslt.mvl(<256 x double> %0, i32 256)
1338   ret <256 x i1> %2
1341 ; Function Attrs: nounwind readnone
1342 declare <256 x i1> @llvm.ve.vl.vfmkslt.mvl(<256 x double>, i32)
1344 ; Function Attrs: nounwind readnone
1345 define fastcc <256 x i1> @vfmkslt_mvml(<256 x double> %0, <256 x i1> %1) {
1346 ; CHECK-LABEL: vfmkslt_mvml:
1347 ; CHECK:       # %bb.0:
1348 ; CHECK-NEXT:    lea %s0, 256
1349 ; CHECK-NEXT:    lvl %s0
1350 ; CHECK-NEXT:    vfmk.s.lt %vm1, %v0, %vm1
1351 ; CHECK-NEXT:    b.l.t (, %s10)
1352   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkslt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1353   ret <256 x i1> %3
1356 ; Function Attrs: nounwind readnone
1357 declare <256 x i1> @llvm.ve.vl.vfmkslt.mvml(<256 x double>, <256 x i1>, i32)
1359 ; Function Attrs: nounwind readnone
1360 define fastcc <256 x i1> @vfmksne_mvl(<256 x double> %0) {
1361 ; CHECK-LABEL: vfmksne_mvl:
1362 ; CHECK:       # %bb.0:
1363 ; CHECK-NEXT:    lea %s0, 256
1364 ; CHECK-NEXT:    lvl %s0
1365 ; CHECK-NEXT:    vfmk.s.ne %vm1, %v0
1366 ; CHECK-NEXT:    b.l.t (, %s10)
1367   %2 = tail call <256 x i1> @llvm.ve.vl.vfmksne.mvl(<256 x double> %0, i32 256)
1368   ret <256 x i1> %2
1371 ; Function Attrs: nounwind readnone
1372 declare <256 x i1> @llvm.ve.vl.vfmksne.mvl(<256 x double>, i32)
1374 ; Function Attrs: nounwind readnone
1375 define fastcc <256 x i1> @vfmksne_mvml(<256 x double> %0, <256 x i1> %1) {
1376 ; CHECK-LABEL: vfmksne_mvml:
1377 ; CHECK:       # %bb.0:
1378 ; CHECK-NEXT:    lea %s0, 256
1379 ; CHECK-NEXT:    lvl %s0
1380 ; CHECK-NEXT:    vfmk.s.ne %vm1, %v0, %vm1
1381 ; CHECK-NEXT:    b.l.t (, %s10)
1382   %3 = tail call <256 x i1> @llvm.ve.vl.vfmksne.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1383   ret <256 x i1> %3
1386 ; Function Attrs: nounwind readnone
1387 declare <256 x i1> @llvm.ve.vl.vfmksne.mvml(<256 x double>, <256 x i1>, i32)
1389 ; Function Attrs: nounwind readnone
1390 define fastcc <256 x i1> @vfmkseq_mvl(<256 x double> %0) {
1391 ; CHECK-LABEL: vfmkseq_mvl:
1392 ; CHECK:       # %bb.0:
1393 ; CHECK-NEXT:    lea %s0, 256
1394 ; CHECK-NEXT:    lvl %s0
1395 ; CHECK-NEXT:    vfmk.s.eq %vm1, %v0
1396 ; CHECK-NEXT:    b.l.t (, %s10)
1397   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkseq.mvl(<256 x double> %0, i32 256)
1398   ret <256 x i1> %2
1401 ; Function Attrs: nounwind readnone
1402 declare <256 x i1> @llvm.ve.vl.vfmkseq.mvl(<256 x double>, i32)
1404 ; Function Attrs: nounwind readnone
1405 define fastcc <256 x i1> @vfmkseq_mvml(<256 x double> %0, <256 x i1> %1) {
1406 ; CHECK-LABEL: vfmkseq_mvml:
1407 ; CHECK:       # %bb.0:
1408 ; CHECK-NEXT:    lea %s0, 256
1409 ; CHECK-NEXT:    lvl %s0
1410 ; CHECK-NEXT:    vfmk.s.eq %vm1, %v0, %vm1
1411 ; CHECK-NEXT:    b.l.t (, %s10)
1412   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkseq.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1413   ret <256 x i1> %3
1416 ; Function Attrs: nounwind readnone
1417 declare <256 x i1> @llvm.ve.vl.vfmkseq.mvml(<256 x double>, <256 x i1>, i32)
1419 ; Function Attrs: nounwind readnone
1420 define fastcc <256 x i1> @vfmksge_mvl(<256 x double> %0) {
1421 ; CHECK-LABEL: vfmksge_mvl:
1422 ; CHECK:       # %bb.0:
1423 ; CHECK-NEXT:    lea %s0, 256
1424 ; CHECK-NEXT:    lvl %s0
1425 ; CHECK-NEXT:    vfmk.s.ge %vm1, %v0
1426 ; CHECK-NEXT:    b.l.t (, %s10)
1427   %2 = tail call <256 x i1> @llvm.ve.vl.vfmksge.mvl(<256 x double> %0, i32 256)
1428   ret <256 x i1> %2
1431 ; Function Attrs: nounwind readnone
1432 declare <256 x i1> @llvm.ve.vl.vfmksge.mvl(<256 x double>, i32)
1434 ; Function Attrs: nounwind readnone
1435 define fastcc <256 x i1> @vfmksge_mvml(<256 x double> %0, <256 x i1> %1) {
1436 ; CHECK-LABEL: vfmksge_mvml:
1437 ; CHECK:       # %bb.0:
1438 ; CHECK-NEXT:    lea %s0, 256
1439 ; CHECK-NEXT:    lvl %s0
1440 ; CHECK-NEXT:    vfmk.s.ge %vm1, %v0, %vm1
1441 ; CHECK-NEXT:    b.l.t (, %s10)
1442   %3 = tail call <256 x i1> @llvm.ve.vl.vfmksge.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1443   ret <256 x i1> %3
1446 ; Function Attrs: nounwind readnone
1447 declare <256 x i1> @llvm.ve.vl.vfmksge.mvml(<256 x double>, <256 x i1>, i32)
1449 ; Function Attrs: nounwind readnone
1450 define fastcc <256 x i1> @vfmksle_mvl(<256 x double> %0) {
1451 ; CHECK-LABEL: vfmksle_mvl:
1452 ; CHECK:       # %bb.0:
1453 ; CHECK-NEXT:    lea %s0, 256
1454 ; CHECK-NEXT:    lvl %s0
1455 ; CHECK-NEXT:    vfmk.s.le %vm1, %v0
1456 ; CHECK-NEXT:    b.l.t (, %s10)
1457   %2 = tail call <256 x i1> @llvm.ve.vl.vfmksle.mvl(<256 x double> %0, i32 256)
1458   ret <256 x i1> %2
1461 ; Function Attrs: nounwind readnone
1462 declare <256 x i1> @llvm.ve.vl.vfmksle.mvl(<256 x double>, i32)
1464 ; Function Attrs: nounwind readnone
1465 define fastcc <256 x i1> @vfmksle_mvml(<256 x double> %0, <256 x i1> %1) {
1466 ; CHECK-LABEL: vfmksle_mvml:
1467 ; CHECK:       # %bb.0:
1468 ; CHECK-NEXT:    lea %s0, 256
1469 ; CHECK-NEXT:    lvl %s0
1470 ; CHECK-NEXT:    vfmk.s.le %vm1, %v0, %vm1
1471 ; CHECK-NEXT:    b.l.t (, %s10)
1472   %3 = tail call <256 x i1> @llvm.ve.vl.vfmksle.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1473   ret <256 x i1> %3
1476 ; Function Attrs: nounwind readnone
1477 declare <256 x i1> @llvm.ve.vl.vfmksle.mvml(<256 x double>, <256 x i1>, i32)
1479 ; Function Attrs: nounwind readnone
1480 define fastcc <256 x i1> @vfmksnum_mvl(<256 x double> %0) {
1481 ; CHECK-LABEL: vfmksnum_mvl:
1482 ; CHECK:       # %bb.0:
1483 ; CHECK-NEXT:    lea %s0, 256
1484 ; CHECK-NEXT:    lvl %s0
1485 ; CHECK-NEXT:    vfmk.s.num %vm1, %v0
1486 ; CHECK-NEXT:    b.l.t (, %s10)
1487   %2 = tail call <256 x i1> @llvm.ve.vl.vfmksnum.mvl(<256 x double> %0, i32 256)
1488   ret <256 x i1> %2
1491 ; Function Attrs: nounwind readnone
1492 declare <256 x i1> @llvm.ve.vl.vfmksnum.mvl(<256 x double>, i32)
1494 ; Function Attrs: nounwind readnone
1495 define fastcc <256 x i1> @vfmksnum_mvml(<256 x double> %0, <256 x i1> %1) {
1496 ; CHECK-LABEL: vfmksnum_mvml:
1497 ; CHECK:       # %bb.0:
1498 ; CHECK-NEXT:    lea %s0, 256
1499 ; CHECK-NEXT:    lvl %s0
1500 ; CHECK-NEXT:    vfmk.s.num %vm1, %v0, %vm1
1501 ; CHECK-NEXT:    b.l.t (, %s10)
1502   %3 = tail call <256 x i1> @llvm.ve.vl.vfmksnum.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1503   ret <256 x i1> %3
1506 ; Function Attrs: nounwind readnone
1507 declare <256 x i1> @llvm.ve.vl.vfmksnum.mvml(<256 x double>, <256 x i1>, i32)
1509 ; Function Attrs: nounwind readnone
1510 define fastcc <256 x i1> @vfmksnan_mvl(<256 x double> %0) {
1511 ; CHECK-LABEL: vfmksnan_mvl:
1512 ; CHECK:       # %bb.0:
1513 ; CHECK-NEXT:    lea %s0, 256
1514 ; CHECK-NEXT:    lvl %s0
1515 ; CHECK-NEXT:    vfmk.s.nan %vm1, %v0
1516 ; CHECK-NEXT:    b.l.t (, %s10)
1517   %2 = tail call <256 x i1> @llvm.ve.vl.vfmksnan.mvl(<256 x double> %0, i32 256)
1518   ret <256 x i1> %2
1521 ; Function Attrs: nounwind readnone
1522 declare <256 x i1> @llvm.ve.vl.vfmksnan.mvl(<256 x double>, i32)
1524 ; Function Attrs: nounwind readnone
1525 define fastcc <256 x i1> @vfmksnan_mvml(<256 x double> %0, <256 x i1> %1) {
1526 ; CHECK-LABEL: vfmksnan_mvml:
1527 ; CHECK:       # %bb.0:
1528 ; CHECK-NEXT:    lea %s0, 256
1529 ; CHECK-NEXT:    lvl %s0
1530 ; CHECK-NEXT:    vfmk.s.nan %vm1, %v0, %vm1
1531 ; CHECK-NEXT:    b.l.t (, %s10)
1532   %3 = tail call <256 x i1> @llvm.ve.vl.vfmksnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1533   ret <256 x i1> %3
1536 ; Function Attrs: nounwind readnone
1537 declare <256 x i1> @llvm.ve.vl.vfmksnan.mvml(<256 x double>, <256 x i1>, i32)
1539 ; Function Attrs: nounwind readnone
1540 define fastcc <256 x i1> @vfmksgtnan_mvl(<256 x double> %0) {
1541 ; CHECK-LABEL: vfmksgtnan_mvl:
1542 ; CHECK:       # %bb.0:
1543 ; CHECK-NEXT:    lea %s0, 256
1544 ; CHECK-NEXT:    lvl %s0
1545 ; CHECK-NEXT:    vfmk.s.gtnan %vm1, %v0
1546 ; CHECK-NEXT:    b.l.t (, %s10)
1547   %2 = tail call <256 x i1> @llvm.ve.vl.vfmksgtnan.mvl(<256 x double> %0, i32 256)
1548   ret <256 x i1> %2
1551 ; Function Attrs: nounwind readnone
1552 declare <256 x i1> @llvm.ve.vl.vfmksgtnan.mvl(<256 x double>, i32)
1554 ; Function Attrs: nounwind readnone
1555 define fastcc <256 x i1> @vfmksgtnan_mvml(<256 x double> %0, <256 x i1> %1) {
1556 ; CHECK-LABEL: vfmksgtnan_mvml:
1557 ; CHECK:       # %bb.0:
1558 ; CHECK-NEXT:    lea %s0, 256
1559 ; CHECK-NEXT:    lvl %s0
1560 ; CHECK-NEXT:    vfmk.s.gtnan %vm1, %v0, %vm1
1561 ; CHECK-NEXT:    b.l.t (, %s10)
1562   %3 = tail call <256 x i1> @llvm.ve.vl.vfmksgtnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1563   ret <256 x i1> %3
1566 ; Function Attrs: nounwind readnone
1567 declare <256 x i1> @llvm.ve.vl.vfmksgtnan.mvml(<256 x double>, <256 x i1>, i32)
1569 ; Function Attrs: nounwind readnone
1570 define fastcc <256 x i1> @vfmksltnan_mvl(<256 x double> %0) {
1571 ; CHECK-LABEL: vfmksltnan_mvl:
1572 ; CHECK:       # %bb.0:
1573 ; CHECK-NEXT:    lea %s0, 256
1574 ; CHECK-NEXT:    lvl %s0
1575 ; CHECK-NEXT:    vfmk.s.ltnan %vm1, %v0
1576 ; CHECK-NEXT:    b.l.t (, %s10)
1577   %2 = tail call <256 x i1> @llvm.ve.vl.vfmksltnan.mvl(<256 x double> %0, i32 256)
1578   ret <256 x i1> %2
1581 ; Function Attrs: nounwind readnone
1582 declare <256 x i1> @llvm.ve.vl.vfmksltnan.mvl(<256 x double>, i32)
1584 ; Function Attrs: nounwind readnone
1585 define fastcc <256 x i1> @vfmksltnan_mvml(<256 x double> %0, <256 x i1> %1) {
1586 ; CHECK-LABEL: vfmksltnan_mvml:
1587 ; CHECK:       # %bb.0:
1588 ; CHECK-NEXT:    lea %s0, 256
1589 ; CHECK-NEXT:    lvl %s0
1590 ; CHECK-NEXT:    vfmk.s.ltnan %vm1, %v0, %vm1
1591 ; CHECK-NEXT:    b.l.t (, %s10)
1592   %3 = tail call <256 x i1> @llvm.ve.vl.vfmksltnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1593   ret <256 x i1> %3
1596 ; Function Attrs: nounwind readnone
1597 declare <256 x i1> @llvm.ve.vl.vfmksltnan.mvml(<256 x double>, <256 x i1>, i32)
1599 ; Function Attrs: nounwind readnone
1600 define fastcc <256 x i1> @vfmksnenan_mvl(<256 x double> %0) {
1601 ; CHECK-LABEL: vfmksnenan_mvl:
1602 ; CHECK:       # %bb.0:
1603 ; CHECK-NEXT:    lea %s0, 256
1604 ; CHECK-NEXT:    lvl %s0
1605 ; CHECK-NEXT:    vfmk.s.nenan %vm1, %v0
1606 ; CHECK-NEXT:    b.l.t (, %s10)
1607   %2 = tail call <256 x i1> @llvm.ve.vl.vfmksnenan.mvl(<256 x double> %0, i32 256)
1608   ret <256 x i1> %2
1611 ; Function Attrs: nounwind readnone
1612 declare <256 x i1> @llvm.ve.vl.vfmksnenan.mvl(<256 x double>, i32)
1614 ; Function Attrs: nounwind readnone
1615 define fastcc <256 x i1> @vfmksnenan_mvml(<256 x double> %0, <256 x i1> %1) {
1616 ; CHECK-LABEL: vfmksnenan_mvml:
1617 ; CHECK:       # %bb.0:
1618 ; CHECK-NEXT:    lea %s0, 256
1619 ; CHECK-NEXT:    lvl %s0
1620 ; CHECK-NEXT:    vfmk.s.nenan %vm1, %v0, %vm1
1621 ; CHECK-NEXT:    b.l.t (, %s10)
1622   %3 = tail call <256 x i1> @llvm.ve.vl.vfmksnenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1623   ret <256 x i1> %3
1626 ; Function Attrs: nounwind readnone
1627 declare <256 x i1> @llvm.ve.vl.vfmksnenan.mvml(<256 x double>, <256 x i1>, i32)
1629 ; Function Attrs: nounwind readnone
1630 define fastcc <256 x i1> @vfmkseqnan_mvl(<256 x double> %0) {
1631 ; CHECK-LABEL: vfmkseqnan_mvl:
1632 ; CHECK:       # %bb.0:
1633 ; CHECK-NEXT:    lea %s0, 256
1634 ; CHECK-NEXT:    lvl %s0
1635 ; CHECK-NEXT:    vfmk.s.eqnan %vm1, %v0
1636 ; CHECK-NEXT:    b.l.t (, %s10)
1637   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkseqnan.mvl(<256 x double> %0, i32 256)
1638   ret <256 x i1> %2
1641 ; Function Attrs: nounwind readnone
1642 declare <256 x i1> @llvm.ve.vl.vfmkseqnan.mvl(<256 x double>, i32)
1644 ; Function Attrs: nounwind readnone
1645 define fastcc <256 x i1> @vfmkseqnan_mvml(<256 x double> %0, <256 x i1> %1) {
1646 ; CHECK-LABEL: vfmkseqnan_mvml:
1647 ; CHECK:       # %bb.0:
1648 ; CHECK-NEXT:    lea %s0, 256
1649 ; CHECK-NEXT:    lvl %s0
1650 ; CHECK-NEXT:    vfmk.s.eqnan %vm1, %v0, %vm1
1651 ; CHECK-NEXT:    b.l.t (, %s10)
1652   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkseqnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1653   ret <256 x i1> %3
1656 ; Function Attrs: nounwind readnone
1657 declare <256 x i1> @llvm.ve.vl.vfmkseqnan.mvml(<256 x double>, <256 x i1>, i32)
1659 ; Function Attrs: nounwind readnone
1660 define fastcc <256 x i1> @vfmksgenan_mvl(<256 x double> %0) {
1661 ; CHECK-LABEL: vfmksgenan_mvl:
1662 ; CHECK:       # %bb.0:
1663 ; CHECK-NEXT:    lea %s0, 256
1664 ; CHECK-NEXT:    lvl %s0
1665 ; CHECK-NEXT:    vfmk.s.genan %vm1, %v0
1666 ; CHECK-NEXT:    b.l.t (, %s10)
1667   %2 = tail call <256 x i1> @llvm.ve.vl.vfmksgenan.mvl(<256 x double> %0, i32 256)
1668   ret <256 x i1> %2
1671 ; Function Attrs: nounwind readnone
1672 declare <256 x i1> @llvm.ve.vl.vfmksgenan.mvl(<256 x double>, i32)
1674 ; Function Attrs: nounwind readnone
1675 define fastcc <256 x i1> @vfmksgenan_mvml(<256 x double> %0, <256 x i1> %1) {
1676 ; CHECK-LABEL: vfmksgenan_mvml:
1677 ; CHECK:       # %bb.0:
1678 ; CHECK-NEXT:    lea %s0, 256
1679 ; CHECK-NEXT:    lvl %s0
1680 ; CHECK-NEXT:    vfmk.s.genan %vm1, %v0, %vm1
1681 ; CHECK-NEXT:    b.l.t (, %s10)
1682   %3 = tail call <256 x i1> @llvm.ve.vl.vfmksgenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1683   ret <256 x i1> %3
1686 ; Function Attrs: nounwind readnone
1687 declare <256 x i1> @llvm.ve.vl.vfmksgenan.mvml(<256 x double>, <256 x i1>, i32)
1689 ; Function Attrs: nounwind readnone
1690 define fastcc <256 x i1> @vfmkslenan_mvl(<256 x double> %0) {
1691 ; CHECK-LABEL: vfmkslenan_mvl:
1692 ; CHECK:       # %bb.0:
1693 ; CHECK-NEXT:    lea %s0, 256
1694 ; CHECK-NEXT:    lvl %s0
1695 ; CHECK-NEXT:    vfmk.s.lenan %vm1, %v0
1696 ; CHECK-NEXT:    b.l.t (, %s10)
1697   %2 = tail call <256 x i1> @llvm.ve.vl.vfmkslenan.mvl(<256 x double> %0, i32 256)
1698   ret <256 x i1> %2
1701 ; Function Attrs: nounwind readnone
1702 declare <256 x i1> @llvm.ve.vl.vfmkslenan.mvl(<256 x double>, i32)
1704 ; Function Attrs: nounwind readnone
1705 define fastcc <256 x i1> @vfmkslenan_mvml(<256 x double> %0, <256 x i1> %1) {
1706 ; CHECK-LABEL: vfmkslenan_mvml:
1707 ; CHECK:       # %bb.0:
1708 ; CHECK-NEXT:    lea %s0, 256
1709 ; CHECK-NEXT:    lvl %s0
1710 ; CHECK-NEXT:    vfmk.s.lenan %vm1, %v0, %vm1
1711 ; CHECK-NEXT:    b.l.t (, %s10)
1712   %3 = tail call <256 x i1> @llvm.ve.vl.vfmkslenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1713   ret <256 x i1> %3
1716 ; Function Attrs: nounwind readnone
1717 declare <256 x i1> @llvm.ve.vl.vfmkslenan.mvml(<256 x double>, <256 x i1>, i32)
1719 ; Function Attrs: nounwind readnone
1720 define fastcc <512 x i1> @pvfmkat_Ml() {
1721 ; CHECK-LABEL: pvfmkat_Ml:
1722 ; CHECK:       # %bb.0:
1723 ; CHECK-NEXT:    lea %s0, 256
1724 ; CHECK-NEXT:    lvl %s0
1725 ; CHECK-NEXT:    vfmk.l.at %vm2
1726 ; CHECK-NEXT:    vfmk.l.at %vm3
1727 ; CHECK-NEXT:    b.l.t (, %s10)
1728   %1 = tail call <512 x i1> @llvm.ve.vl.pvfmkat.Ml(i32 256)
1729   ret <512 x i1> %1
1732 ; Function Attrs: nounwind readnone
1733 declare <512 x i1> @llvm.ve.vl.pvfmkat.Ml(i32)
1735 ; Function Attrs: nounwind readnone
1736 define fastcc <512 x i1> @pvfmkaf_Ml() {
1737 ; CHECK-LABEL: pvfmkaf_Ml:
1738 ; CHECK:       # %bb.0:
1739 ; CHECK-NEXT:    lea %s0, 256
1740 ; CHECK-NEXT:    lvl %s0
1741 ; CHECK-NEXT:    vfmk.l.af %vm2
1742 ; CHECK-NEXT:    vfmk.l.af %vm3
1743 ; CHECK-NEXT:    b.l.t (, %s10)
1744   %1 = tail call <512 x i1> @llvm.ve.vl.pvfmkaf.Ml(i32 256)
1745   ret <512 x i1> %1
1748 ; Function Attrs: nounwind readnone
1749 declare <512 x i1> @llvm.ve.vl.pvfmkaf.Ml(i32)
1751 ; Function Attrs: nounwind readnone
1752 define fastcc <256 x i1> @pvfmkslogt_mvl(<256 x double> %0) {
1753 ; CHECK-LABEL: pvfmkslogt_mvl:
1754 ; CHECK:       # %bb.0:
1755 ; CHECK-NEXT:    lea %s0, 256
1756 ; CHECK-NEXT:    lvl %s0
1757 ; CHECK-NEXT:    pvfmk.s.lo.gt %vm1, %v0
1758 ; CHECK-NEXT:    b.l.t (, %s10)
1759   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkslogt.mvl(<256 x double> %0, i32 256)
1760   ret <256 x i1> %2
1763 ; Function Attrs: nounwind readnone
1764 declare <256 x i1> @llvm.ve.vl.pvfmkslogt.mvl(<256 x double>, i32)
1766 ; Function Attrs: nounwind readnone
1767 define fastcc <256 x i1> @pvfmkslogt_mvml(<256 x double> %0, <256 x i1> %1) {
1768 ; CHECK-LABEL: pvfmkslogt_mvml:
1769 ; CHECK:       # %bb.0:
1770 ; CHECK-NEXT:    lea %s0, 256
1771 ; CHECK-NEXT:    lvl %s0
1772 ; CHECK-NEXT:    pvfmk.s.lo.gt %vm1, %v0, %vm1
1773 ; CHECK-NEXT:    b.l.t (, %s10)
1774   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkslogt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1775   ret <256 x i1> %3
1778 ; Function Attrs: nounwind readnone
1779 declare <256 x i1> @llvm.ve.vl.pvfmkslogt.mvml(<256 x double>, <256 x i1>, i32)
1781 ; Function Attrs: nounwind readnone
1782 define fastcc <256 x i1> @pvfmkslolt_mvl(<256 x double> %0) {
1783 ; CHECK-LABEL: pvfmkslolt_mvl:
1784 ; CHECK:       # %bb.0:
1785 ; CHECK-NEXT:    lea %s0, 256
1786 ; CHECK-NEXT:    lvl %s0
1787 ; CHECK-NEXT:    pvfmk.s.lo.lt %vm1, %v0
1788 ; CHECK-NEXT:    b.l.t (, %s10)
1789   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkslolt.mvl(<256 x double> %0, i32 256)
1790   ret <256 x i1> %2
1793 ; Function Attrs: nounwind readnone
1794 declare <256 x i1> @llvm.ve.vl.pvfmkslolt.mvl(<256 x double>, i32)
1796 ; Function Attrs: nounwind readnone
1797 define fastcc <256 x i1> @pvfmkslolt_mvml(<256 x double> %0, <256 x i1> %1) {
1798 ; CHECK-LABEL: pvfmkslolt_mvml:
1799 ; CHECK:       # %bb.0:
1800 ; CHECK-NEXT:    lea %s0, 256
1801 ; CHECK-NEXT:    lvl %s0
1802 ; CHECK-NEXT:    pvfmk.s.lo.lt %vm1, %v0, %vm1
1803 ; CHECK-NEXT:    b.l.t (, %s10)
1804   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkslolt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1805   ret <256 x i1> %3
1808 ; Function Attrs: nounwind readnone
1809 declare <256 x i1> @llvm.ve.vl.pvfmkslolt.mvml(<256 x double>, <256 x i1>, i32)
1811 ; Function Attrs: nounwind readnone
1812 define fastcc <256 x i1> @pvfmkslone_mvl(<256 x double> %0) {
1813 ; CHECK-LABEL: pvfmkslone_mvl:
1814 ; CHECK:       # %bb.0:
1815 ; CHECK-NEXT:    lea %s0, 256
1816 ; CHECK-NEXT:    lvl %s0
1817 ; CHECK-NEXT:    pvfmk.s.lo.ne %vm1, %v0
1818 ; CHECK-NEXT:    b.l.t (, %s10)
1819   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkslone.mvl(<256 x double> %0, i32 256)
1820   ret <256 x i1> %2
1823 ; Function Attrs: nounwind readnone
1824 declare <256 x i1> @llvm.ve.vl.pvfmkslone.mvl(<256 x double>, i32)
1826 ; Function Attrs: nounwind readnone
1827 define fastcc <256 x i1> @pvfmkslone_mvml(<256 x double> %0, <256 x i1> %1) {
1828 ; CHECK-LABEL: pvfmkslone_mvml:
1829 ; CHECK:       # %bb.0:
1830 ; CHECK-NEXT:    lea %s0, 256
1831 ; CHECK-NEXT:    lvl %s0
1832 ; CHECK-NEXT:    pvfmk.s.lo.ne %vm1, %v0, %vm1
1833 ; CHECK-NEXT:    b.l.t (, %s10)
1834   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkslone.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1835   ret <256 x i1> %3
1838 ; Function Attrs: nounwind readnone
1839 declare <256 x i1> @llvm.ve.vl.pvfmkslone.mvml(<256 x double>, <256 x i1>, i32)
1841 ; Function Attrs: nounwind readnone
1842 define fastcc <256 x i1> @pvfmksloeq_mvl(<256 x double> %0) {
1843 ; CHECK-LABEL: pvfmksloeq_mvl:
1844 ; CHECK:       # %bb.0:
1845 ; CHECK-NEXT:    lea %s0, 256
1846 ; CHECK-NEXT:    lvl %s0
1847 ; CHECK-NEXT:    pvfmk.s.lo.eq %vm1, %v0
1848 ; CHECK-NEXT:    b.l.t (, %s10)
1849   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksloeq.mvl(<256 x double> %0, i32 256)
1850   ret <256 x i1> %2
1853 ; Function Attrs: nounwind readnone
1854 declare <256 x i1> @llvm.ve.vl.pvfmksloeq.mvl(<256 x double>, i32)
1856 ; Function Attrs: nounwind readnone
1857 define fastcc <256 x i1> @pvfmksloeq_mvml(<256 x double> %0, <256 x i1> %1) {
1858 ; CHECK-LABEL: pvfmksloeq_mvml:
1859 ; CHECK:       # %bb.0:
1860 ; CHECK-NEXT:    lea %s0, 256
1861 ; CHECK-NEXT:    lvl %s0
1862 ; CHECK-NEXT:    pvfmk.s.lo.eq %vm1, %v0, %vm1
1863 ; CHECK-NEXT:    b.l.t (, %s10)
1864   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksloeq.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1865   ret <256 x i1> %3
1868 ; Function Attrs: nounwind readnone
1869 declare <256 x i1> @llvm.ve.vl.pvfmksloeq.mvml(<256 x double>, <256 x i1>, i32)
1871 ; Function Attrs: nounwind readnone
1872 define fastcc <256 x i1> @pvfmksloge_mvl(<256 x double> %0) {
1873 ; CHECK-LABEL: pvfmksloge_mvl:
1874 ; CHECK:       # %bb.0:
1875 ; CHECK-NEXT:    lea %s0, 256
1876 ; CHECK-NEXT:    lvl %s0
1877 ; CHECK-NEXT:    pvfmk.s.lo.ge %vm1, %v0
1878 ; CHECK-NEXT:    b.l.t (, %s10)
1879   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksloge.mvl(<256 x double> %0, i32 256)
1880   ret <256 x i1> %2
1883 ; Function Attrs: nounwind readnone
1884 declare <256 x i1> @llvm.ve.vl.pvfmksloge.mvl(<256 x double>, i32)
1886 ; Function Attrs: nounwind readnone
1887 define fastcc <256 x i1> @pvfmksloge_mvml(<256 x double> %0, <256 x i1> %1) {
1888 ; CHECK-LABEL: pvfmksloge_mvml:
1889 ; CHECK:       # %bb.0:
1890 ; CHECK-NEXT:    lea %s0, 256
1891 ; CHECK-NEXT:    lvl %s0
1892 ; CHECK-NEXT:    pvfmk.s.lo.ge %vm1, %v0, %vm1
1893 ; CHECK-NEXT:    b.l.t (, %s10)
1894   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksloge.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1895   ret <256 x i1> %3
1898 ; Function Attrs: nounwind readnone
1899 declare <256 x i1> @llvm.ve.vl.pvfmksloge.mvml(<256 x double>, <256 x i1>, i32)
1901 ; Function Attrs: nounwind readnone
1902 define fastcc <256 x i1> @pvfmkslole_mvl(<256 x double> %0) {
1903 ; CHECK-LABEL: pvfmkslole_mvl:
1904 ; CHECK:       # %bb.0:
1905 ; CHECK-NEXT:    lea %s0, 256
1906 ; CHECK-NEXT:    lvl %s0
1907 ; CHECK-NEXT:    pvfmk.s.lo.le %vm1, %v0
1908 ; CHECK-NEXT:    b.l.t (, %s10)
1909   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkslole.mvl(<256 x double> %0, i32 256)
1910   ret <256 x i1> %2
1913 ; Function Attrs: nounwind readnone
1914 declare <256 x i1> @llvm.ve.vl.pvfmkslole.mvl(<256 x double>, i32)
1916 ; Function Attrs: nounwind readnone
1917 define fastcc <256 x i1> @pvfmkslole_mvml(<256 x double> %0, <256 x i1> %1) {
1918 ; CHECK-LABEL: pvfmkslole_mvml:
1919 ; CHECK:       # %bb.0:
1920 ; CHECK-NEXT:    lea %s0, 256
1921 ; CHECK-NEXT:    lvl %s0
1922 ; CHECK-NEXT:    pvfmk.s.lo.le %vm1, %v0, %vm1
1923 ; CHECK-NEXT:    b.l.t (, %s10)
1924   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkslole.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1925   ret <256 x i1> %3
1928 ; Function Attrs: nounwind readnone
1929 declare <256 x i1> @llvm.ve.vl.pvfmkslole.mvml(<256 x double>, <256 x i1>, i32)
1931 ; Function Attrs: nounwind readnone
1932 define fastcc <256 x i1> @pvfmkslonum_mvl(<256 x double> %0) {
1933 ; CHECK-LABEL: pvfmkslonum_mvl:
1934 ; CHECK:       # %bb.0:
1935 ; CHECK-NEXT:    lea %s0, 256
1936 ; CHECK-NEXT:    lvl %s0
1937 ; CHECK-NEXT:    pvfmk.s.lo.num %vm1, %v0
1938 ; CHECK-NEXT:    b.l.t (, %s10)
1939   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkslonum.mvl(<256 x double> %0, i32 256)
1940   ret <256 x i1> %2
1943 ; Function Attrs: nounwind readnone
1944 declare <256 x i1> @llvm.ve.vl.pvfmkslonum.mvl(<256 x double>, i32)
1946 ; Function Attrs: nounwind readnone
1947 define fastcc <256 x i1> @pvfmkslonum_mvml(<256 x double> %0, <256 x i1> %1) {
1948 ; CHECK-LABEL: pvfmkslonum_mvml:
1949 ; CHECK:       # %bb.0:
1950 ; CHECK-NEXT:    lea %s0, 256
1951 ; CHECK-NEXT:    lvl %s0
1952 ; CHECK-NEXT:    pvfmk.s.lo.num %vm1, %v0, %vm1
1953 ; CHECK-NEXT:    b.l.t (, %s10)
1954   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkslonum.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1955   ret <256 x i1> %3
1958 ; Function Attrs: nounwind readnone
1959 declare <256 x i1> @llvm.ve.vl.pvfmkslonum.mvml(<256 x double>, <256 x i1>, i32)
1961 ; Function Attrs: nounwind readnone
1962 define fastcc <256 x i1> @pvfmkslonan_mvl(<256 x double> %0) {
1963 ; CHECK-LABEL: pvfmkslonan_mvl:
1964 ; CHECK:       # %bb.0:
1965 ; CHECK-NEXT:    lea %s0, 256
1966 ; CHECK-NEXT:    lvl %s0
1967 ; CHECK-NEXT:    pvfmk.s.lo.nan %vm1, %v0
1968 ; CHECK-NEXT:    b.l.t (, %s10)
1969   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkslonan.mvl(<256 x double> %0, i32 256)
1970   ret <256 x i1> %2
1973 ; Function Attrs: nounwind readnone
1974 declare <256 x i1> @llvm.ve.vl.pvfmkslonan.mvl(<256 x double>, i32)
1976 ; Function Attrs: nounwind readnone
1977 define fastcc <256 x i1> @pvfmkslonan_mvml(<256 x double> %0, <256 x i1> %1) {
1978 ; CHECK-LABEL: pvfmkslonan_mvml:
1979 ; CHECK:       # %bb.0:
1980 ; CHECK-NEXT:    lea %s0, 256
1981 ; CHECK-NEXT:    lvl %s0
1982 ; CHECK-NEXT:    pvfmk.s.lo.nan %vm1, %v0, %vm1
1983 ; CHECK-NEXT:    b.l.t (, %s10)
1984   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkslonan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
1985   ret <256 x i1> %3
1988 ; Function Attrs: nounwind readnone
1989 declare <256 x i1> @llvm.ve.vl.pvfmkslonan.mvml(<256 x double>, <256 x i1>, i32)
1991 ; Function Attrs: nounwind readnone
1992 define fastcc <256 x i1> @pvfmkslogtnan_mvl(<256 x double> %0) {
1993 ; CHECK-LABEL: pvfmkslogtnan_mvl:
1994 ; CHECK:       # %bb.0:
1995 ; CHECK-NEXT:    lea %s0, 256
1996 ; CHECK-NEXT:    lvl %s0
1997 ; CHECK-NEXT:    pvfmk.s.lo.gtnan %vm1, %v0
1998 ; CHECK-NEXT:    b.l.t (, %s10)
1999   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkslogtnan.mvl(<256 x double> %0, i32 256)
2000   ret <256 x i1> %2
2003 ; Function Attrs: nounwind readnone
2004 declare <256 x i1> @llvm.ve.vl.pvfmkslogtnan.mvl(<256 x double>, i32)
2006 ; Function Attrs: nounwind readnone
2007 define fastcc <256 x i1> @pvfmkslogtnan_mvml(<256 x double> %0, <256 x i1> %1) {
2008 ; CHECK-LABEL: pvfmkslogtnan_mvml:
2009 ; CHECK:       # %bb.0:
2010 ; CHECK-NEXT:    lea %s0, 256
2011 ; CHECK-NEXT:    lvl %s0
2012 ; CHECK-NEXT:    pvfmk.s.lo.gtnan %vm1, %v0, %vm1
2013 ; CHECK-NEXT:    b.l.t (, %s10)
2014   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkslogtnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2015   ret <256 x i1> %3
2018 ; Function Attrs: nounwind readnone
2019 declare <256 x i1> @llvm.ve.vl.pvfmkslogtnan.mvml(<256 x double>, <256 x i1>, i32)
2021 ; Function Attrs: nounwind readnone
2022 define fastcc <256 x i1> @pvfmksloltnan_mvl(<256 x double> %0) {
2023 ; CHECK-LABEL: pvfmksloltnan_mvl:
2024 ; CHECK:       # %bb.0:
2025 ; CHECK-NEXT:    lea %s0, 256
2026 ; CHECK-NEXT:    lvl %s0
2027 ; CHECK-NEXT:    pvfmk.s.lo.ltnan %vm1, %v0
2028 ; CHECK-NEXT:    b.l.t (, %s10)
2029   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksloltnan.mvl(<256 x double> %0, i32 256)
2030   ret <256 x i1> %2
2033 ; Function Attrs: nounwind readnone
2034 declare <256 x i1> @llvm.ve.vl.pvfmksloltnan.mvl(<256 x double>, i32)
2036 ; Function Attrs: nounwind readnone
2037 define fastcc <256 x i1> @pvfmksloltnan_mvml(<256 x double> %0, <256 x i1> %1) {
2038 ; CHECK-LABEL: pvfmksloltnan_mvml:
2039 ; CHECK:       # %bb.0:
2040 ; CHECK-NEXT:    lea %s0, 256
2041 ; CHECK-NEXT:    lvl %s0
2042 ; CHECK-NEXT:    pvfmk.s.lo.ltnan %vm1, %v0, %vm1
2043 ; CHECK-NEXT:    b.l.t (, %s10)
2044   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksloltnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2045   ret <256 x i1> %3
2048 ; Function Attrs: nounwind readnone
2049 declare <256 x i1> @llvm.ve.vl.pvfmksloltnan.mvml(<256 x double>, <256 x i1>, i32)
2051 ; Function Attrs: nounwind readnone
2052 define fastcc <256 x i1> @pvfmkslonenan_mvl(<256 x double> %0) {
2053 ; CHECK-LABEL: pvfmkslonenan_mvl:
2054 ; CHECK:       # %bb.0:
2055 ; CHECK-NEXT:    lea %s0, 256
2056 ; CHECK-NEXT:    lvl %s0
2057 ; CHECK-NEXT:    pvfmk.s.lo.nenan %vm1, %v0
2058 ; CHECK-NEXT:    b.l.t (, %s10)
2059   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkslonenan.mvl(<256 x double> %0, i32 256)
2060   ret <256 x i1> %2
2063 ; Function Attrs: nounwind readnone
2064 declare <256 x i1> @llvm.ve.vl.pvfmkslonenan.mvl(<256 x double>, i32)
2066 ; Function Attrs: nounwind readnone
2067 define fastcc <256 x i1> @pvfmkslonenan_mvml(<256 x double> %0, <256 x i1> %1) {
2068 ; CHECK-LABEL: pvfmkslonenan_mvml:
2069 ; CHECK:       # %bb.0:
2070 ; CHECK-NEXT:    lea %s0, 256
2071 ; CHECK-NEXT:    lvl %s0
2072 ; CHECK-NEXT:    pvfmk.s.lo.nenan %vm1, %v0, %vm1
2073 ; CHECK-NEXT:    b.l.t (, %s10)
2074   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkslonenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2075   ret <256 x i1> %3
2078 ; Function Attrs: nounwind readnone
2079 declare <256 x i1> @llvm.ve.vl.pvfmkslonenan.mvml(<256 x double>, <256 x i1>, i32)
2081 ; Function Attrs: nounwind readnone
2082 define fastcc <256 x i1> @pvfmksloeqnan_mvl(<256 x double> %0) {
2083 ; CHECK-LABEL: pvfmksloeqnan_mvl:
2084 ; CHECK:       # %bb.0:
2085 ; CHECK-NEXT:    lea %s0, 256
2086 ; CHECK-NEXT:    lvl %s0
2087 ; CHECK-NEXT:    pvfmk.s.lo.eqnan %vm1, %v0
2088 ; CHECK-NEXT:    b.l.t (, %s10)
2089   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksloeqnan.mvl(<256 x double> %0, i32 256)
2090   ret <256 x i1> %2
2093 ; Function Attrs: nounwind readnone
2094 declare <256 x i1> @llvm.ve.vl.pvfmksloeqnan.mvl(<256 x double>, i32)
2096 ; Function Attrs: nounwind readnone
2097 define fastcc <256 x i1> @pvfmksloeqnan_mvml(<256 x double> %0, <256 x i1> %1) {
2098 ; CHECK-LABEL: pvfmksloeqnan_mvml:
2099 ; CHECK:       # %bb.0:
2100 ; CHECK-NEXT:    lea %s0, 256
2101 ; CHECK-NEXT:    lvl %s0
2102 ; CHECK-NEXT:    pvfmk.s.lo.eqnan %vm1, %v0, %vm1
2103 ; CHECK-NEXT:    b.l.t (, %s10)
2104   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksloeqnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2105   ret <256 x i1> %3
2108 ; Function Attrs: nounwind readnone
2109 declare <256 x i1> @llvm.ve.vl.pvfmksloeqnan.mvml(<256 x double>, <256 x i1>, i32)
2111 ; Function Attrs: nounwind readnone
2112 define fastcc <256 x i1> @pvfmkslogenan_mvl(<256 x double> %0) {
2113 ; CHECK-LABEL: pvfmkslogenan_mvl:
2114 ; CHECK:       # %bb.0:
2115 ; CHECK-NEXT:    lea %s0, 256
2116 ; CHECK-NEXT:    lvl %s0
2117 ; CHECK-NEXT:    pvfmk.s.lo.genan %vm1, %v0
2118 ; CHECK-NEXT:    b.l.t (, %s10)
2119   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkslogenan.mvl(<256 x double> %0, i32 256)
2120   ret <256 x i1> %2
2123 ; Function Attrs: nounwind readnone
2124 declare <256 x i1> @llvm.ve.vl.pvfmkslogenan.mvl(<256 x double>, i32)
2126 ; Function Attrs: nounwind readnone
2127 define fastcc <256 x i1> @pvfmkslogenan_mvml(<256 x double> %0, <256 x i1> %1) {
2128 ; CHECK-LABEL: pvfmkslogenan_mvml:
2129 ; CHECK:       # %bb.0:
2130 ; CHECK-NEXT:    lea %s0, 256
2131 ; CHECK-NEXT:    lvl %s0
2132 ; CHECK-NEXT:    pvfmk.s.lo.genan %vm1, %v0, %vm1
2133 ; CHECK-NEXT:    b.l.t (, %s10)
2134   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkslogenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2135   ret <256 x i1> %3
2138 ; Function Attrs: nounwind readnone
2139 declare <256 x i1> @llvm.ve.vl.pvfmkslogenan.mvml(<256 x double>, <256 x i1>, i32)
2141 ; Function Attrs: nounwind readnone
2142 define fastcc <256 x i1> @pvfmkslolenan_mvl(<256 x double> %0) {
2143 ; CHECK-LABEL: pvfmkslolenan_mvl:
2144 ; CHECK:       # %bb.0:
2145 ; CHECK-NEXT:    lea %s0, 256
2146 ; CHECK-NEXT:    lvl %s0
2147 ; CHECK-NEXT:    pvfmk.s.lo.lenan %vm1, %v0
2148 ; CHECK-NEXT:    b.l.t (, %s10)
2149   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkslolenan.mvl(<256 x double> %0, i32 256)
2150   ret <256 x i1> %2
2153 ; Function Attrs: nounwind readnone
2154 declare <256 x i1> @llvm.ve.vl.pvfmkslolenan.mvl(<256 x double>, i32)
2156 ; Function Attrs: nounwind readnone
2157 define fastcc <256 x i1> @pvfmkslolenan_mvml(<256 x double> %0, <256 x i1> %1) {
2158 ; CHECK-LABEL: pvfmkslolenan_mvml:
2159 ; CHECK:       # %bb.0:
2160 ; CHECK-NEXT:    lea %s0, 256
2161 ; CHECK-NEXT:    lvl %s0
2162 ; CHECK-NEXT:    pvfmk.s.lo.lenan %vm1, %v0, %vm1
2163 ; CHECK-NEXT:    b.l.t (, %s10)
2164   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkslolenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2165   ret <256 x i1> %3
2168 ; Function Attrs: nounwind readnone
2169 declare <256 x i1> @llvm.ve.vl.pvfmkslolenan.mvml(<256 x double>, <256 x i1>, i32)
2171 ; Function Attrs: nounwind readnone
2172 define fastcc <256 x i1> @pvfmksupgt_mvl(<256 x double> %0) {
2173 ; CHECK-LABEL: pvfmksupgt_mvl:
2174 ; CHECK:       # %bb.0:
2175 ; CHECK-NEXT:    lea %s0, 256
2176 ; CHECK-NEXT:    lvl %s0
2177 ; CHECK-NEXT:    pvfmk.s.up.gt %vm1, %v0
2178 ; CHECK-NEXT:    b.l.t (, %s10)
2179   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksupgt.mvl(<256 x double> %0, i32 256)
2180   ret <256 x i1> %2
2183 ; Function Attrs: nounwind readnone
2184 declare <256 x i1> @llvm.ve.vl.pvfmksupgt.mvl(<256 x double>, i32)
2186 ; Function Attrs: nounwind readnone
2187 define fastcc <256 x i1> @pvfmksupgt_mvml(<256 x double> %0, <256 x i1> %1) {
2188 ; CHECK-LABEL: pvfmksupgt_mvml:
2189 ; CHECK:       # %bb.0:
2190 ; CHECK-NEXT:    lea %s0, 256
2191 ; CHECK-NEXT:    lvl %s0
2192 ; CHECK-NEXT:    pvfmk.s.up.gt %vm1, %v0, %vm1
2193 ; CHECK-NEXT:    b.l.t (, %s10)
2194   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksupgt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2195   ret <256 x i1> %3
2198 ; Function Attrs: nounwind readnone
2199 declare <256 x i1> @llvm.ve.vl.pvfmksupgt.mvml(<256 x double>, <256 x i1>, i32)
2201 ; Function Attrs: nounwind readnone
2202 define fastcc <256 x i1> @pvfmksuplt_mvl(<256 x double> %0) {
2203 ; CHECK-LABEL: pvfmksuplt_mvl:
2204 ; CHECK:       # %bb.0:
2205 ; CHECK-NEXT:    lea %s0, 256
2206 ; CHECK-NEXT:    lvl %s0
2207 ; CHECK-NEXT:    pvfmk.s.up.lt %vm1, %v0
2208 ; CHECK-NEXT:    b.l.t (, %s10)
2209   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksuplt.mvl(<256 x double> %0, i32 256)
2210   ret <256 x i1> %2
2213 ; Function Attrs: nounwind readnone
2214 declare <256 x i1> @llvm.ve.vl.pvfmksuplt.mvl(<256 x double>, i32)
2216 ; Function Attrs: nounwind readnone
2217 define fastcc <256 x i1> @pvfmksuplt_mvml(<256 x double> %0, <256 x i1> %1) {
2218 ; CHECK-LABEL: pvfmksuplt_mvml:
2219 ; CHECK:       # %bb.0:
2220 ; CHECK-NEXT:    lea %s0, 256
2221 ; CHECK-NEXT:    lvl %s0
2222 ; CHECK-NEXT:    pvfmk.s.up.lt %vm1, %v0, %vm1
2223 ; CHECK-NEXT:    b.l.t (, %s10)
2224   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksuplt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2225   ret <256 x i1> %3
2228 ; Function Attrs: nounwind readnone
2229 declare <256 x i1> @llvm.ve.vl.pvfmksuplt.mvml(<256 x double>, <256 x i1>, i32)
2231 ; Function Attrs: nounwind readnone
2232 define fastcc <256 x i1> @pvfmksupne_mvl(<256 x double> %0) {
2233 ; CHECK-LABEL: pvfmksupne_mvl:
2234 ; CHECK:       # %bb.0:
2235 ; CHECK-NEXT:    lea %s0, 256
2236 ; CHECK-NEXT:    lvl %s0
2237 ; CHECK-NEXT:    pvfmk.s.up.ne %vm1, %v0
2238 ; CHECK-NEXT:    b.l.t (, %s10)
2239   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksupne.mvl(<256 x double> %0, i32 256)
2240   ret <256 x i1> %2
2243 ; Function Attrs: nounwind readnone
2244 declare <256 x i1> @llvm.ve.vl.pvfmksupne.mvl(<256 x double>, i32)
2246 ; Function Attrs: nounwind readnone
2247 define fastcc <256 x i1> @pvfmksupne_mvml(<256 x double> %0, <256 x i1> %1) {
2248 ; CHECK-LABEL: pvfmksupne_mvml:
2249 ; CHECK:       # %bb.0:
2250 ; CHECK-NEXT:    lea %s0, 256
2251 ; CHECK-NEXT:    lvl %s0
2252 ; CHECK-NEXT:    pvfmk.s.up.ne %vm1, %v0, %vm1
2253 ; CHECK-NEXT:    b.l.t (, %s10)
2254   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksupne.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2255   ret <256 x i1> %3
2258 ; Function Attrs: nounwind readnone
2259 declare <256 x i1> @llvm.ve.vl.pvfmksupne.mvml(<256 x double>, <256 x i1>, i32)
2261 ; Function Attrs: nounwind readnone
2262 define fastcc <256 x i1> @pvfmksupeq_mvl(<256 x double> %0) {
2263 ; CHECK-LABEL: pvfmksupeq_mvl:
2264 ; CHECK:       # %bb.0:
2265 ; CHECK-NEXT:    lea %s0, 256
2266 ; CHECK-NEXT:    lvl %s0
2267 ; CHECK-NEXT:    pvfmk.s.up.eq %vm1, %v0
2268 ; CHECK-NEXT:    b.l.t (, %s10)
2269   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksupeq.mvl(<256 x double> %0, i32 256)
2270   ret <256 x i1> %2
2273 ; Function Attrs: nounwind readnone
2274 declare <256 x i1> @llvm.ve.vl.pvfmksupeq.mvl(<256 x double>, i32)
2276 ; Function Attrs: nounwind readnone
2277 define fastcc <256 x i1> @pvfmksupeq_mvml(<256 x double> %0, <256 x i1> %1) {
2278 ; CHECK-LABEL: pvfmksupeq_mvml:
2279 ; CHECK:       # %bb.0:
2280 ; CHECK-NEXT:    lea %s0, 256
2281 ; CHECK-NEXT:    lvl %s0
2282 ; CHECK-NEXT:    pvfmk.s.up.eq %vm1, %v0, %vm1
2283 ; CHECK-NEXT:    b.l.t (, %s10)
2284   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksupeq.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2285   ret <256 x i1> %3
2288 ; Function Attrs: nounwind readnone
2289 declare <256 x i1> @llvm.ve.vl.pvfmksupeq.mvml(<256 x double>, <256 x i1>, i32)
2291 ; Function Attrs: nounwind readnone
2292 define fastcc <256 x i1> @pvfmksupge_mvl(<256 x double> %0) {
2293 ; CHECK-LABEL: pvfmksupge_mvl:
2294 ; CHECK:       # %bb.0:
2295 ; CHECK-NEXT:    lea %s0, 256
2296 ; CHECK-NEXT:    lvl %s0
2297 ; CHECK-NEXT:    pvfmk.s.up.ge %vm1, %v0
2298 ; CHECK-NEXT:    b.l.t (, %s10)
2299   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksupge.mvl(<256 x double> %0, i32 256)
2300   ret <256 x i1> %2
2303 ; Function Attrs: nounwind readnone
2304 declare <256 x i1> @llvm.ve.vl.pvfmksupge.mvl(<256 x double>, i32)
2306 ; Function Attrs: nounwind readnone
2307 define fastcc <256 x i1> @pvfmksupge_mvml(<256 x double> %0, <256 x i1> %1) {
2308 ; CHECK-LABEL: pvfmksupge_mvml:
2309 ; CHECK:       # %bb.0:
2310 ; CHECK-NEXT:    lea %s0, 256
2311 ; CHECK-NEXT:    lvl %s0
2312 ; CHECK-NEXT:    pvfmk.s.up.ge %vm1, %v0, %vm1
2313 ; CHECK-NEXT:    b.l.t (, %s10)
2314   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksupge.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2315   ret <256 x i1> %3
2318 ; Function Attrs: nounwind readnone
2319 declare <256 x i1> @llvm.ve.vl.pvfmksupge.mvml(<256 x double>, <256 x i1>, i32)
2321 ; Function Attrs: nounwind readnone
2322 define fastcc <256 x i1> @pvfmksuple_mvl(<256 x double> %0) {
2323 ; CHECK-LABEL: pvfmksuple_mvl:
2324 ; CHECK:       # %bb.0:
2325 ; CHECK-NEXT:    lea %s0, 256
2326 ; CHECK-NEXT:    lvl %s0
2327 ; CHECK-NEXT:    pvfmk.s.up.le %vm1, %v0
2328 ; CHECK-NEXT:    b.l.t (, %s10)
2329   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksuple.mvl(<256 x double> %0, i32 256)
2330   ret <256 x i1> %2
2333 ; Function Attrs: nounwind readnone
2334 declare <256 x i1> @llvm.ve.vl.pvfmksuple.mvl(<256 x double>, i32)
2336 ; Function Attrs: nounwind readnone
2337 define fastcc <256 x i1> @pvfmksuple_mvml(<256 x double> %0, <256 x i1> %1) {
2338 ; CHECK-LABEL: pvfmksuple_mvml:
2339 ; CHECK:       # %bb.0:
2340 ; CHECK-NEXT:    lea %s0, 256
2341 ; CHECK-NEXT:    lvl %s0
2342 ; CHECK-NEXT:    pvfmk.s.up.le %vm1, %v0, %vm1
2343 ; CHECK-NEXT:    b.l.t (, %s10)
2344   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksuple.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2345   ret <256 x i1> %3
2348 ; Function Attrs: nounwind readnone
2349 declare <256 x i1> @llvm.ve.vl.pvfmksuple.mvml(<256 x double>, <256 x i1>, i32)
2351 ; Function Attrs: nounwind readnone
2352 define fastcc <256 x i1> @pvfmksupnum_mvl(<256 x double> %0) {
2353 ; CHECK-LABEL: pvfmksupnum_mvl:
2354 ; CHECK:       # %bb.0:
2355 ; CHECK-NEXT:    lea %s0, 256
2356 ; CHECK-NEXT:    lvl %s0
2357 ; CHECK-NEXT:    pvfmk.s.up.num %vm1, %v0
2358 ; CHECK-NEXT:    b.l.t (, %s10)
2359   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksupnum.mvl(<256 x double> %0, i32 256)
2360   ret <256 x i1> %2
2363 ; Function Attrs: nounwind readnone
2364 declare <256 x i1> @llvm.ve.vl.pvfmksupnum.mvl(<256 x double>, i32)
2366 ; Function Attrs: nounwind readnone
2367 define fastcc <256 x i1> @pvfmksupnum_mvml(<256 x double> %0, <256 x i1> %1) {
2368 ; CHECK-LABEL: pvfmksupnum_mvml:
2369 ; CHECK:       # %bb.0:
2370 ; CHECK-NEXT:    lea %s0, 256
2371 ; CHECK-NEXT:    lvl %s0
2372 ; CHECK-NEXT:    pvfmk.s.up.num %vm1, %v0, %vm1
2373 ; CHECK-NEXT:    b.l.t (, %s10)
2374   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksupnum.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2375   ret <256 x i1> %3
2378 ; Function Attrs: nounwind readnone
2379 declare <256 x i1> @llvm.ve.vl.pvfmksupnum.mvml(<256 x double>, <256 x i1>, i32)
2381 ; Function Attrs: nounwind readnone
2382 define fastcc <256 x i1> @pvfmksupnan_mvl(<256 x double> %0) {
2383 ; CHECK-LABEL: pvfmksupnan_mvl:
2384 ; CHECK:       # %bb.0:
2385 ; CHECK-NEXT:    lea %s0, 256
2386 ; CHECK-NEXT:    lvl %s0
2387 ; CHECK-NEXT:    pvfmk.s.up.nan %vm1, %v0
2388 ; CHECK-NEXT:    b.l.t (, %s10)
2389   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksupnan.mvl(<256 x double> %0, i32 256)
2390   ret <256 x i1> %2
2393 ; Function Attrs: nounwind readnone
2394 declare <256 x i1> @llvm.ve.vl.pvfmksupnan.mvl(<256 x double>, i32)
2396 ; Function Attrs: nounwind readnone
2397 define fastcc <256 x i1> @pvfmksupnan_mvml(<256 x double> %0, <256 x i1> %1) {
2398 ; CHECK-LABEL: pvfmksupnan_mvml:
2399 ; CHECK:       # %bb.0:
2400 ; CHECK-NEXT:    lea %s0, 256
2401 ; CHECK-NEXT:    lvl %s0
2402 ; CHECK-NEXT:    pvfmk.s.up.nan %vm1, %v0, %vm1
2403 ; CHECK-NEXT:    b.l.t (, %s10)
2404   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksupnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2405   ret <256 x i1> %3
2408 ; Function Attrs: nounwind readnone
2409 declare <256 x i1> @llvm.ve.vl.pvfmksupnan.mvml(<256 x double>, <256 x i1>, i32)
2411 ; Function Attrs: nounwind readnone
2412 define fastcc <256 x i1> @pvfmksupgtnan_mvl(<256 x double> %0) {
2413 ; CHECK-LABEL: pvfmksupgtnan_mvl:
2414 ; CHECK:       # %bb.0:
2415 ; CHECK-NEXT:    lea %s0, 256
2416 ; CHECK-NEXT:    lvl %s0
2417 ; CHECK-NEXT:    pvfmk.s.up.gtnan %vm1, %v0
2418 ; CHECK-NEXT:    b.l.t (, %s10)
2419   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksupgtnan.mvl(<256 x double> %0, i32 256)
2420   ret <256 x i1> %2
2423 ; Function Attrs: nounwind readnone
2424 declare <256 x i1> @llvm.ve.vl.pvfmksupgtnan.mvl(<256 x double>, i32)
2426 ; Function Attrs: nounwind readnone
2427 define fastcc <256 x i1> @pvfmksupgtnan_mvml(<256 x double> %0, <256 x i1> %1) {
2428 ; CHECK-LABEL: pvfmksupgtnan_mvml:
2429 ; CHECK:       # %bb.0:
2430 ; CHECK-NEXT:    lea %s0, 256
2431 ; CHECK-NEXT:    lvl %s0
2432 ; CHECK-NEXT:    pvfmk.s.up.gtnan %vm1, %v0, %vm1
2433 ; CHECK-NEXT:    b.l.t (, %s10)
2434   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksupgtnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2435   ret <256 x i1> %3
2438 ; Function Attrs: nounwind readnone
2439 declare <256 x i1> @llvm.ve.vl.pvfmksupgtnan.mvml(<256 x double>, <256 x i1>, i32)
2441 ; Function Attrs: nounwind readnone
2442 define fastcc <256 x i1> @pvfmksupltnan_mvl(<256 x double> %0) {
2443 ; CHECK-LABEL: pvfmksupltnan_mvl:
2444 ; CHECK:       # %bb.0:
2445 ; CHECK-NEXT:    lea %s0, 256
2446 ; CHECK-NEXT:    lvl %s0
2447 ; CHECK-NEXT:    pvfmk.s.up.ltnan %vm1, %v0
2448 ; CHECK-NEXT:    b.l.t (, %s10)
2449   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksupltnan.mvl(<256 x double> %0, i32 256)
2450   ret <256 x i1> %2
2453 ; Function Attrs: nounwind readnone
2454 declare <256 x i1> @llvm.ve.vl.pvfmksupltnan.mvl(<256 x double>, i32)
2456 ; Function Attrs: nounwind readnone
2457 define fastcc <256 x i1> @pvfmksupltnan_mvml(<256 x double> %0, <256 x i1> %1) {
2458 ; CHECK-LABEL: pvfmksupltnan_mvml:
2459 ; CHECK:       # %bb.0:
2460 ; CHECK-NEXT:    lea %s0, 256
2461 ; CHECK-NEXT:    lvl %s0
2462 ; CHECK-NEXT:    pvfmk.s.up.ltnan %vm1, %v0, %vm1
2463 ; CHECK-NEXT:    b.l.t (, %s10)
2464   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksupltnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2465   ret <256 x i1> %3
2468 ; Function Attrs: nounwind readnone
2469 declare <256 x i1> @llvm.ve.vl.pvfmksupltnan.mvml(<256 x double>, <256 x i1>, i32)
2471 ; Function Attrs: nounwind readnone
2472 define fastcc <256 x i1> @pvfmksupnenan_mvl(<256 x double> %0) {
2473 ; CHECK-LABEL: pvfmksupnenan_mvl:
2474 ; CHECK:       # %bb.0:
2475 ; CHECK-NEXT:    lea %s0, 256
2476 ; CHECK-NEXT:    lvl %s0
2477 ; CHECK-NEXT:    pvfmk.s.up.nenan %vm1, %v0
2478 ; CHECK-NEXT:    b.l.t (, %s10)
2479   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksupnenan.mvl(<256 x double> %0, i32 256)
2480   ret <256 x i1> %2
2483 ; Function Attrs: nounwind readnone
2484 declare <256 x i1> @llvm.ve.vl.pvfmksupnenan.mvl(<256 x double>, i32)
2486 ; Function Attrs: nounwind readnone
2487 define fastcc <256 x i1> @pvfmksupnenan_mvml(<256 x double> %0, <256 x i1> %1) {
2488 ; CHECK-LABEL: pvfmksupnenan_mvml:
2489 ; CHECK:       # %bb.0:
2490 ; CHECK-NEXT:    lea %s0, 256
2491 ; CHECK-NEXT:    lvl %s0
2492 ; CHECK-NEXT:    pvfmk.s.up.nenan %vm1, %v0, %vm1
2493 ; CHECK-NEXT:    b.l.t (, %s10)
2494   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksupnenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2495   ret <256 x i1> %3
2498 ; Function Attrs: nounwind readnone
2499 declare <256 x i1> @llvm.ve.vl.pvfmksupnenan.mvml(<256 x double>, <256 x i1>, i32)
2501 ; Function Attrs: nounwind readnone
2502 define fastcc <256 x i1> @pvfmksupeqnan_mvl(<256 x double> %0) {
2503 ; CHECK-LABEL: pvfmksupeqnan_mvl:
2504 ; CHECK:       # %bb.0:
2505 ; CHECK-NEXT:    lea %s0, 256
2506 ; CHECK-NEXT:    lvl %s0
2507 ; CHECK-NEXT:    pvfmk.s.up.eqnan %vm1, %v0
2508 ; CHECK-NEXT:    b.l.t (, %s10)
2509   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksupeqnan.mvl(<256 x double> %0, i32 256)
2510   ret <256 x i1> %2
2513 ; Function Attrs: nounwind readnone
2514 declare <256 x i1> @llvm.ve.vl.pvfmksupeqnan.mvl(<256 x double>, i32)
2516 ; Function Attrs: nounwind readnone
2517 define fastcc <256 x i1> @pvfmksupeqnan_mvml(<256 x double> %0, <256 x i1> %1) {
2518 ; CHECK-LABEL: pvfmksupeqnan_mvml:
2519 ; CHECK:       # %bb.0:
2520 ; CHECK-NEXT:    lea %s0, 256
2521 ; CHECK-NEXT:    lvl %s0
2522 ; CHECK-NEXT:    pvfmk.s.up.eqnan %vm1, %v0, %vm1
2523 ; CHECK-NEXT:    b.l.t (, %s10)
2524   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksupeqnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2525   ret <256 x i1> %3
2528 ; Function Attrs: nounwind readnone
2529 declare <256 x i1> @llvm.ve.vl.pvfmksupeqnan.mvml(<256 x double>, <256 x i1>, i32)
2531 ; Function Attrs: nounwind readnone
2532 define fastcc <256 x i1> @pvfmksupgenan_mvl(<256 x double> %0) {
2533 ; CHECK-LABEL: pvfmksupgenan_mvl:
2534 ; CHECK:       # %bb.0:
2535 ; CHECK-NEXT:    lea %s0, 256
2536 ; CHECK-NEXT:    lvl %s0
2537 ; CHECK-NEXT:    pvfmk.s.up.genan %vm1, %v0
2538 ; CHECK-NEXT:    b.l.t (, %s10)
2539   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksupgenan.mvl(<256 x double> %0, i32 256)
2540   ret <256 x i1> %2
2543 ; Function Attrs: nounwind readnone
2544 declare <256 x i1> @llvm.ve.vl.pvfmksupgenan.mvl(<256 x double>, i32)
2546 ; Function Attrs: nounwind readnone
2547 define fastcc <256 x i1> @pvfmksupgenan_mvml(<256 x double> %0, <256 x i1> %1) {
2548 ; CHECK-LABEL: pvfmksupgenan_mvml:
2549 ; CHECK:       # %bb.0:
2550 ; CHECK-NEXT:    lea %s0, 256
2551 ; CHECK-NEXT:    lvl %s0
2552 ; CHECK-NEXT:    pvfmk.s.up.genan %vm1, %v0, %vm1
2553 ; CHECK-NEXT:    b.l.t (, %s10)
2554   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksupgenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2555   ret <256 x i1> %3
2558 ; Function Attrs: nounwind readnone
2559 declare <256 x i1> @llvm.ve.vl.pvfmksupgenan.mvml(<256 x double>, <256 x i1>, i32)
2561 ; Function Attrs: nounwind readnone
2562 define fastcc <256 x i1> @pvfmksuplenan_mvl(<256 x double> %0) {
2563 ; CHECK-LABEL: pvfmksuplenan_mvl:
2564 ; CHECK:       # %bb.0:
2565 ; CHECK-NEXT:    lea %s0, 256
2566 ; CHECK-NEXT:    lvl %s0
2567 ; CHECK-NEXT:    pvfmk.s.up.lenan %vm1, %v0
2568 ; CHECK-NEXT:    b.l.t (, %s10)
2569   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmksuplenan.mvl(<256 x double> %0, i32 256)
2570   ret <256 x i1> %2
2573 ; Function Attrs: nounwind readnone
2574 declare <256 x i1> @llvm.ve.vl.pvfmksuplenan.mvl(<256 x double>, i32)
2576 ; Function Attrs: nounwind readnone
2577 define fastcc <256 x i1> @pvfmksuplenan_mvml(<256 x double> %0, <256 x i1> %1) {
2578 ; CHECK-LABEL: pvfmksuplenan_mvml:
2579 ; CHECK:       # %bb.0:
2580 ; CHECK-NEXT:    lea %s0, 256
2581 ; CHECK-NEXT:    lvl %s0
2582 ; CHECK-NEXT:    pvfmk.s.up.lenan %vm1, %v0, %vm1
2583 ; CHECK-NEXT:    b.l.t (, %s10)
2584   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmksuplenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2585   ret <256 x i1> %3
2588 ; Function Attrs: nounwind readnone
2589 declare <256 x i1> @llvm.ve.vl.pvfmksuplenan.mvml(<256 x double>, <256 x i1>, i32)
2591 ; Function Attrs: nounwind readnone
2592 define fastcc <256 x i1> @pvfmkwlogt_mvl(<256 x double> %0) {
2593 ; CHECK-LABEL: pvfmkwlogt_mvl:
2594 ; CHECK:       # %bb.0:
2595 ; CHECK-NEXT:    lea %s0, 256
2596 ; CHECK-NEXT:    lvl %s0
2597 ; CHECK-NEXT:    vfmk.w.gt %vm1, %v0
2598 ; CHECK-NEXT:    b.l.t (, %s10)
2599   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlogt.mvl(<256 x double> %0, i32 256)
2600   ret <256 x i1> %2
2603 ; Function Attrs: nounwind readnone
2604 declare <256 x i1> @llvm.ve.vl.pvfmkwlogt.mvl(<256 x double>, i32)
2606 ; Function Attrs: nounwind readnone
2607 define fastcc <256 x i1> @pvfmkwlogt_mvml(<256 x double> %0, <256 x i1> %1) {
2608 ; CHECK-LABEL: pvfmkwlogt_mvml:
2609 ; CHECK:       # %bb.0:
2610 ; CHECK-NEXT:    lea %s0, 256
2611 ; CHECK-NEXT:    lvl %s0
2612 ; CHECK-NEXT:    vfmk.w.gt %vm1, %v0, %vm1
2613 ; CHECK-NEXT:    b.l.t (, %s10)
2614   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlogt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2615   ret <256 x i1> %3
2618 ; Function Attrs: nounwind readnone
2619 declare <256 x i1> @llvm.ve.vl.pvfmkwlogt.mvml(<256 x double>, <256 x i1>, i32)
2621 ; Function Attrs: nounwind readnone
2622 define fastcc <256 x i1> @pvfmkwlolt_mvl(<256 x double> %0) {
2623 ; CHECK-LABEL: pvfmkwlolt_mvl:
2624 ; CHECK:       # %bb.0:
2625 ; CHECK-NEXT:    lea %s0, 256
2626 ; CHECK-NEXT:    lvl %s0
2627 ; CHECK-NEXT:    vfmk.w.lt %vm1, %v0
2628 ; CHECK-NEXT:    b.l.t (, %s10)
2629   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlolt.mvl(<256 x double> %0, i32 256)
2630   ret <256 x i1> %2
2633 ; Function Attrs: nounwind readnone
2634 declare <256 x i1> @llvm.ve.vl.pvfmkwlolt.mvl(<256 x double>, i32)
2636 ; Function Attrs: nounwind readnone
2637 define fastcc <256 x i1> @pvfmkwlolt_mvml(<256 x double> %0, <256 x i1> %1) {
2638 ; CHECK-LABEL: pvfmkwlolt_mvml:
2639 ; CHECK:       # %bb.0:
2640 ; CHECK-NEXT:    lea %s0, 256
2641 ; CHECK-NEXT:    lvl %s0
2642 ; CHECK-NEXT:    vfmk.w.lt %vm1, %v0, %vm1
2643 ; CHECK-NEXT:    b.l.t (, %s10)
2644   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlolt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2645   ret <256 x i1> %3
2648 ; Function Attrs: nounwind readnone
2649 declare <256 x i1> @llvm.ve.vl.pvfmkwlolt.mvml(<256 x double>, <256 x i1>, i32)
2651 ; Function Attrs: nounwind readnone
2652 define fastcc <256 x i1> @pvfmkwlone_mvl(<256 x double> %0) {
2653 ; CHECK-LABEL: pvfmkwlone_mvl:
2654 ; CHECK:       # %bb.0:
2655 ; CHECK-NEXT:    lea %s0, 256
2656 ; CHECK-NEXT:    lvl %s0
2657 ; CHECK-NEXT:    vfmk.w.ne %vm1, %v0
2658 ; CHECK-NEXT:    b.l.t (, %s10)
2659   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlone.mvl(<256 x double> %0, i32 256)
2660   ret <256 x i1> %2
2663 ; Function Attrs: nounwind readnone
2664 declare <256 x i1> @llvm.ve.vl.pvfmkwlone.mvl(<256 x double>, i32)
2666 ; Function Attrs: nounwind readnone
2667 define fastcc <256 x i1> @pvfmkwlone_mvml(<256 x double> %0, <256 x i1> %1) {
2668 ; CHECK-LABEL: pvfmkwlone_mvml:
2669 ; CHECK:       # %bb.0:
2670 ; CHECK-NEXT:    lea %s0, 256
2671 ; CHECK-NEXT:    lvl %s0
2672 ; CHECK-NEXT:    vfmk.w.ne %vm1, %v0, %vm1
2673 ; CHECK-NEXT:    b.l.t (, %s10)
2674   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlone.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2675   ret <256 x i1> %3
2678 ; Function Attrs: nounwind readnone
2679 declare <256 x i1> @llvm.ve.vl.pvfmkwlone.mvml(<256 x double>, <256 x i1>, i32)
2681 ; Function Attrs: nounwind readnone
2682 define fastcc <256 x i1> @pvfmkwloeq_mvl(<256 x double> %0) {
2683 ; CHECK-LABEL: pvfmkwloeq_mvl:
2684 ; CHECK:       # %bb.0:
2685 ; CHECK-NEXT:    lea %s0, 256
2686 ; CHECK-NEXT:    lvl %s0
2687 ; CHECK-NEXT:    vfmk.w.eq %vm1, %v0
2688 ; CHECK-NEXT:    b.l.t (, %s10)
2689   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwloeq.mvl(<256 x double> %0, i32 256)
2690   ret <256 x i1> %2
2693 ; Function Attrs: nounwind readnone
2694 declare <256 x i1> @llvm.ve.vl.pvfmkwloeq.mvl(<256 x double>, i32)
2696 ; Function Attrs: nounwind readnone
2697 define fastcc <256 x i1> @pvfmkwloeq_mvml(<256 x double> %0, <256 x i1> %1) {
2698 ; CHECK-LABEL: pvfmkwloeq_mvml:
2699 ; CHECK:       # %bb.0:
2700 ; CHECK-NEXT:    lea %s0, 256
2701 ; CHECK-NEXT:    lvl %s0
2702 ; CHECK-NEXT:    vfmk.w.eq %vm1, %v0, %vm1
2703 ; CHECK-NEXT:    b.l.t (, %s10)
2704   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwloeq.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2705   ret <256 x i1> %3
2708 ; Function Attrs: nounwind readnone
2709 declare <256 x i1> @llvm.ve.vl.pvfmkwloeq.mvml(<256 x double>, <256 x i1>, i32)
2711 ; Function Attrs: nounwind readnone
2712 define fastcc <256 x i1> @pvfmkwloge_mvl(<256 x double> %0) {
2713 ; CHECK-LABEL: pvfmkwloge_mvl:
2714 ; CHECK:       # %bb.0:
2715 ; CHECK-NEXT:    lea %s0, 256
2716 ; CHECK-NEXT:    lvl %s0
2717 ; CHECK-NEXT:    vfmk.w.ge %vm1, %v0
2718 ; CHECK-NEXT:    b.l.t (, %s10)
2719   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwloge.mvl(<256 x double> %0, i32 256)
2720   ret <256 x i1> %2
2723 ; Function Attrs: nounwind readnone
2724 declare <256 x i1> @llvm.ve.vl.pvfmkwloge.mvl(<256 x double>, i32)
2726 ; Function Attrs: nounwind readnone
2727 define fastcc <256 x i1> @pvfmkwloge_mvml(<256 x double> %0, <256 x i1> %1) {
2728 ; CHECK-LABEL: pvfmkwloge_mvml:
2729 ; CHECK:       # %bb.0:
2730 ; CHECK-NEXT:    lea %s0, 256
2731 ; CHECK-NEXT:    lvl %s0
2732 ; CHECK-NEXT:    vfmk.w.ge %vm1, %v0, %vm1
2733 ; CHECK-NEXT:    b.l.t (, %s10)
2734   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwloge.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2735   ret <256 x i1> %3
2738 ; Function Attrs: nounwind readnone
2739 declare <256 x i1> @llvm.ve.vl.pvfmkwloge.mvml(<256 x double>, <256 x i1>, i32)
2741 ; Function Attrs: nounwind readnone
2742 define fastcc <256 x i1> @pvfmkwlole_mvl(<256 x double> %0) {
2743 ; CHECK-LABEL: pvfmkwlole_mvl:
2744 ; CHECK:       # %bb.0:
2745 ; CHECK-NEXT:    lea %s0, 256
2746 ; CHECK-NEXT:    lvl %s0
2747 ; CHECK-NEXT:    vfmk.w.le %vm1, %v0
2748 ; CHECK-NEXT:    b.l.t (, %s10)
2749   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlole.mvl(<256 x double> %0, i32 256)
2750   ret <256 x i1> %2
2753 ; Function Attrs: nounwind readnone
2754 declare <256 x i1> @llvm.ve.vl.pvfmkwlole.mvl(<256 x double>, i32)
2756 ; Function Attrs: nounwind readnone
2757 define fastcc <256 x i1> @pvfmkwlole_mvml(<256 x double> %0, <256 x i1> %1) {
2758 ; CHECK-LABEL: pvfmkwlole_mvml:
2759 ; CHECK:       # %bb.0:
2760 ; CHECK-NEXT:    lea %s0, 256
2761 ; CHECK-NEXT:    lvl %s0
2762 ; CHECK-NEXT:    vfmk.w.le %vm1, %v0, %vm1
2763 ; CHECK-NEXT:    b.l.t (, %s10)
2764   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlole.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2765   ret <256 x i1> %3
2768 ; Function Attrs: nounwind readnone
2769 declare <256 x i1> @llvm.ve.vl.pvfmkwlole.mvml(<256 x double>, <256 x i1>, i32)
2771 ; Function Attrs: nounwind readnone
2772 define fastcc <256 x i1> @pvfmkwlonum_mvl(<256 x double> %0) {
2773 ; CHECK-LABEL: pvfmkwlonum_mvl:
2774 ; CHECK:       # %bb.0:
2775 ; CHECK-NEXT:    lea %s0, 256
2776 ; CHECK-NEXT:    lvl %s0
2777 ; CHECK-NEXT:    vfmk.w.num %vm1, %v0
2778 ; CHECK-NEXT:    b.l.t (, %s10)
2779   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlonum.mvl(<256 x double> %0, i32 256)
2780   ret <256 x i1> %2
2783 ; Function Attrs: nounwind readnone
2784 declare <256 x i1> @llvm.ve.vl.pvfmkwlonum.mvl(<256 x double>, i32)
2786 ; Function Attrs: nounwind readnone
2787 define fastcc <256 x i1> @pvfmkwlonum_mvml(<256 x double> %0, <256 x i1> %1) {
2788 ; CHECK-LABEL: pvfmkwlonum_mvml:
2789 ; CHECK:       # %bb.0:
2790 ; CHECK-NEXT:    lea %s0, 256
2791 ; CHECK-NEXT:    lvl %s0
2792 ; CHECK-NEXT:    vfmk.w.num %vm1, %v0, %vm1
2793 ; CHECK-NEXT:    b.l.t (, %s10)
2794   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlonum.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2795   ret <256 x i1> %3
2798 ; Function Attrs: nounwind readnone
2799 declare <256 x i1> @llvm.ve.vl.pvfmkwlonum.mvml(<256 x double>, <256 x i1>, i32)
2801 ; Function Attrs: nounwind readnone
2802 define fastcc <256 x i1> @pvfmkwlonan_mvl(<256 x double> %0) {
2803 ; CHECK-LABEL: pvfmkwlonan_mvl:
2804 ; CHECK:       # %bb.0:
2805 ; CHECK-NEXT:    lea %s0, 256
2806 ; CHECK-NEXT:    lvl %s0
2807 ; CHECK-NEXT:    vfmk.w.nan %vm1, %v0
2808 ; CHECK-NEXT:    b.l.t (, %s10)
2809   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlonan.mvl(<256 x double> %0, i32 256)
2810   ret <256 x i1> %2
2813 ; Function Attrs: nounwind readnone
2814 declare <256 x i1> @llvm.ve.vl.pvfmkwlonan.mvl(<256 x double>, i32)
2816 ; Function Attrs: nounwind readnone
2817 define fastcc <256 x i1> @pvfmkwlonan_mvml(<256 x double> %0, <256 x i1> %1) {
2818 ; CHECK-LABEL: pvfmkwlonan_mvml:
2819 ; CHECK:       # %bb.0:
2820 ; CHECK-NEXT:    lea %s0, 256
2821 ; CHECK-NEXT:    lvl %s0
2822 ; CHECK-NEXT:    vfmk.w.nan %vm1, %v0, %vm1
2823 ; CHECK-NEXT:    b.l.t (, %s10)
2824   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlonan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2825   ret <256 x i1> %3
2828 ; Function Attrs: nounwind readnone
2829 declare <256 x i1> @llvm.ve.vl.pvfmkwlonan.mvml(<256 x double>, <256 x i1>, i32)
2831 ; Function Attrs: nounwind readnone
2832 define fastcc <256 x i1> @pvfmkwlogtnan_mvl(<256 x double> %0) {
2833 ; CHECK-LABEL: pvfmkwlogtnan_mvl:
2834 ; CHECK:       # %bb.0:
2835 ; CHECK-NEXT:    lea %s0, 256
2836 ; CHECK-NEXT:    lvl %s0
2837 ; CHECK-NEXT:    vfmk.w.gtnan %vm1, %v0
2838 ; CHECK-NEXT:    b.l.t (, %s10)
2839   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlogtnan.mvl(<256 x double> %0, i32 256)
2840   ret <256 x i1> %2
2843 ; Function Attrs: nounwind readnone
2844 declare <256 x i1> @llvm.ve.vl.pvfmkwlogtnan.mvl(<256 x double>, i32)
2846 ; Function Attrs: nounwind readnone
2847 define fastcc <256 x i1> @pvfmkwlogtnan_mvml(<256 x double> %0, <256 x i1> %1) {
2848 ; CHECK-LABEL: pvfmkwlogtnan_mvml:
2849 ; CHECK:       # %bb.0:
2850 ; CHECK-NEXT:    lea %s0, 256
2851 ; CHECK-NEXT:    lvl %s0
2852 ; CHECK-NEXT:    vfmk.w.gtnan %vm1, %v0, %vm1
2853 ; CHECK-NEXT:    b.l.t (, %s10)
2854   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlogtnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2855   ret <256 x i1> %3
2858 ; Function Attrs: nounwind readnone
2859 declare <256 x i1> @llvm.ve.vl.pvfmkwlogtnan.mvml(<256 x double>, <256 x i1>, i32)
2861 ; Function Attrs: nounwind readnone
2862 define fastcc <256 x i1> @pvfmkwloltnan_mvl(<256 x double> %0) {
2863 ; CHECK-LABEL: pvfmkwloltnan_mvl:
2864 ; CHECK:       # %bb.0:
2865 ; CHECK-NEXT:    lea %s0, 256
2866 ; CHECK-NEXT:    lvl %s0
2867 ; CHECK-NEXT:    vfmk.w.ltnan %vm1, %v0
2868 ; CHECK-NEXT:    b.l.t (, %s10)
2869   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwloltnan.mvl(<256 x double> %0, i32 256)
2870   ret <256 x i1> %2
2873 ; Function Attrs: nounwind readnone
2874 declare <256 x i1> @llvm.ve.vl.pvfmkwloltnan.mvl(<256 x double>, i32)
2876 ; Function Attrs: nounwind readnone
2877 define fastcc <256 x i1> @pvfmkwloltnan_mvml(<256 x double> %0, <256 x i1> %1) {
2878 ; CHECK-LABEL: pvfmkwloltnan_mvml:
2879 ; CHECK:       # %bb.0:
2880 ; CHECK-NEXT:    lea %s0, 256
2881 ; CHECK-NEXT:    lvl %s0
2882 ; CHECK-NEXT:    vfmk.w.ltnan %vm1, %v0, %vm1
2883 ; CHECK-NEXT:    b.l.t (, %s10)
2884   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwloltnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2885   ret <256 x i1> %3
2888 ; Function Attrs: nounwind readnone
2889 declare <256 x i1> @llvm.ve.vl.pvfmkwloltnan.mvml(<256 x double>, <256 x i1>, i32)
2891 ; Function Attrs: nounwind readnone
2892 define fastcc <256 x i1> @pvfmkwlonenan_mvl(<256 x double> %0) {
2893 ; CHECK-LABEL: pvfmkwlonenan_mvl:
2894 ; CHECK:       # %bb.0:
2895 ; CHECK-NEXT:    lea %s0, 256
2896 ; CHECK-NEXT:    lvl %s0
2897 ; CHECK-NEXT:    vfmk.w.nenan %vm1, %v0
2898 ; CHECK-NEXT:    b.l.t (, %s10)
2899   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlonenan.mvl(<256 x double> %0, i32 256)
2900   ret <256 x i1> %2
2903 ; Function Attrs: nounwind readnone
2904 declare <256 x i1> @llvm.ve.vl.pvfmkwlonenan.mvl(<256 x double>, i32)
2906 ; Function Attrs: nounwind readnone
2907 define fastcc <256 x i1> @pvfmkwlonenan_mvml(<256 x double> %0, <256 x i1> %1) {
2908 ; CHECK-LABEL: pvfmkwlonenan_mvml:
2909 ; CHECK:       # %bb.0:
2910 ; CHECK-NEXT:    lea %s0, 256
2911 ; CHECK-NEXT:    lvl %s0
2912 ; CHECK-NEXT:    vfmk.w.nenan %vm1, %v0, %vm1
2913 ; CHECK-NEXT:    b.l.t (, %s10)
2914   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlonenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2915   ret <256 x i1> %3
2918 ; Function Attrs: nounwind readnone
2919 declare <256 x i1> @llvm.ve.vl.pvfmkwlonenan.mvml(<256 x double>, <256 x i1>, i32)
2921 ; Function Attrs: nounwind readnone
2922 define fastcc <256 x i1> @pvfmkwloeqnan_mvl(<256 x double> %0) {
2923 ; CHECK-LABEL: pvfmkwloeqnan_mvl:
2924 ; CHECK:       # %bb.0:
2925 ; CHECK-NEXT:    lea %s0, 256
2926 ; CHECK-NEXT:    lvl %s0
2927 ; CHECK-NEXT:    vfmk.w.eqnan %vm1, %v0
2928 ; CHECK-NEXT:    b.l.t (, %s10)
2929   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwloeqnan.mvl(<256 x double> %0, i32 256)
2930   ret <256 x i1> %2
2933 ; Function Attrs: nounwind readnone
2934 declare <256 x i1> @llvm.ve.vl.pvfmkwloeqnan.mvl(<256 x double>, i32)
2936 ; Function Attrs: nounwind readnone
2937 define fastcc <256 x i1> @pvfmkwloeqnan_mvml(<256 x double> %0, <256 x i1> %1) {
2938 ; CHECK-LABEL: pvfmkwloeqnan_mvml:
2939 ; CHECK:       # %bb.0:
2940 ; CHECK-NEXT:    lea %s0, 256
2941 ; CHECK-NEXT:    lvl %s0
2942 ; CHECK-NEXT:    vfmk.w.eqnan %vm1, %v0, %vm1
2943 ; CHECK-NEXT:    b.l.t (, %s10)
2944   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwloeqnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2945   ret <256 x i1> %3
2948 ; Function Attrs: nounwind readnone
2949 declare <256 x i1> @llvm.ve.vl.pvfmkwloeqnan.mvml(<256 x double>, <256 x i1>, i32)
2951 ; Function Attrs: nounwind readnone
2952 define fastcc <256 x i1> @pvfmkwlogenan_mvl(<256 x double> %0) {
2953 ; CHECK-LABEL: pvfmkwlogenan_mvl:
2954 ; CHECK:       # %bb.0:
2955 ; CHECK-NEXT:    lea %s0, 256
2956 ; CHECK-NEXT:    lvl %s0
2957 ; CHECK-NEXT:    vfmk.w.genan %vm1, %v0
2958 ; CHECK-NEXT:    b.l.t (, %s10)
2959   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlogenan.mvl(<256 x double> %0, i32 256)
2960   ret <256 x i1> %2
2963 ; Function Attrs: nounwind readnone
2964 declare <256 x i1> @llvm.ve.vl.pvfmkwlogenan.mvl(<256 x double>, i32)
2966 ; Function Attrs: nounwind readnone
2967 define fastcc <256 x i1> @pvfmkwlogenan_mvml(<256 x double> %0, <256 x i1> %1) {
2968 ; CHECK-LABEL: pvfmkwlogenan_mvml:
2969 ; CHECK:       # %bb.0:
2970 ; CHECK-NEXT:    lea %s0, 256
2971 ; CHECK-NEXT:    lvl %s0
2972 ; CHECK-NEXT:    vfmk.w.genan %vm1, %v0, %vm1
2973 ; CHECK-NEXT:    b.l.t (, %s10)
2974   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlogenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
2975   ret <256 x i1> %3
2978 ; Function Attrs: nounwind readnone
2979 declare <256 x i1> @llvm.ve.vl.pvfmkwlogenan.mvml(<256 x double>, <256 x i1>, i32)
2981 ; Function Attrs: nounwind readnone
2982 define fastcc <256 x i1> @pvfmkwlolenan_mvl(<256 x double> %0) {
2983 ; CHECK-LABEL: pvfmkwlolenan_mvl:
2984 ; CHECK:       # %bb.0:
2985 ; CHECK-NEXT:    lea %s0, 256
2986 ; CHECK-NEXT:    lvl %s0
2987 ; CHECK-NEXT:    vfmk.w.lenan %vm1, %v0
2988 ; CHECK-NEXT:    b.l.t (, %s10)
2989   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlolenan.mvl(<256 x double> %0, i32 256)
2990   ret <256 x i1> %2
2993 ; Function Attrs: nounwind readnone
2994 declare <256 x i1> @llvm.ve.vl.pvfmkwlolenan.mvl(<256 x double>, i32)
2996 ; Function Attrs: nounwind readnone
2997 define fastcc <256 x i1> @pvfmkwlolenan_mvml(<256 x double> %0, <256 x i1> %1) {
2998 ; CHECK-LABEL: pvfmkwlolenan_mvml:
2999 ; CHECK:       # %bb.0:
3000 ; CHECK-NEXT:    lea %s0, 256
3001 ; CHECK-NEXT:    lvl %s0
3002 ; CHECK-NEXT:    vfmk.w.lenan %vm1, %v0, %vm1
3003 ; CHECK-NEXT:    b.l.t (, %s10)
3004   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwlolenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
3005   ret <256 x i1> %3
3008 ; Function Attrs: nounwind readnone
3009 declare <256 x i1> @llvm.ve.vl.pvfmkwlolenan.mvml(<256 x double>, <256 x i1>, i32)
3011 ; Function Attrs: nounwind readnone
3012 define fastcc <256 x i1> @pvfmkwupgt_mvl(<256 x double> %0) {
3013 ; CHECK-LABEL: pvfmkwupgt_mvl:
3014 ; CHECK:       # %bb.0:
3015 ; CHECK-NEXT:    lea %s0, 256
3016 ; CHECK-NEXT:    lvl %s0
3017 ; CHECK-NEXT:    pvfmk.w.up.gt %vm1, %v0
3018 ; CHECK-NEXT:    b.l.t (, %s10)
3019   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupgt.mvl(<256 x double> %0, i32 256)
3020   ret <256 x i1> %2
3023 ; Function Attrs: nounwind readnone
3024 declare <256 x i1> @llvm.ve.vl.pvfmkwupgt.mvl(<256 x double>, i32)
3026 ; Function Attrs: nounwind readnone
3027 define fastcc <256 x i1> @pvfmkwupgt_mvml(<256 x double> %0, <256 x i1> %1) {
3028 ; CHECK-LABEL: pvfmkwupgt_mvml:
3029 ; CHECK:       # %bb.0:
3030 ; CHECK-NEXT:    lea %s0, 256
3031 ; CHECK-NEXT:    lvl %s0
3032 ; CHECK-NEXT:    pvfmk.w.up.gt %vm1, %v0, %vm1
3033 ; CHECK-NEXT:    b.l.t (, %s10)
3034   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupgt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
3035   ret <256 x i1> %3
3038 ; Function Attrs: nounwind readnone
3039 declare <256 x i1> @llvm.ve.vl.pvfmkwupgt.mvml(<256 x double>, <256 x i1>, i32)
3041 ; Function Attrs: nounwind readnone
3042 define fastcc <256 x i1> @pvfmkwuplt_mvl(<256 x double> %0) {
3043 ; CHECK-LABEL: pvfmkwuplt_mvl:
3044 ; CHECK:       # %bb.0:
3045 ; CHECK-NEXT:    lea %s0, 256
3046 ; CHECK-NEXT:    lvl %s0
3047 ; CHECK-NEXT:    pvfmk.w.up.lt %vm1, %v0
3048 ; CHECK-NEXT:    b.l.t (, %s10)
3049   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwuplt.mvl(<256 x double> %0, i32 256)
3050   ret <256 x i1> %2
3053 ; Function Attrs: nounwind readnone
3054 declare <256 x i1> @llvm.ve.vl.pvfmkwuplt.mvl(<256 x double>, i32)
3056 ; Function Attrs: nounwind readnone
3057 define fastcc <256 x i1> @pvfmkwuplt_mvml(<256 x double> %0, <256 x i1> %1) {
3058 ; CHECK-LABEL: pvfmkwuplt_mvml:
3059 ; CHECK:       # %bb.0:
3060 ; CHECK-NEXT:    lea %s0, 256
3061 ; CHECK-NEXT:    lvl %s0
3062 ; CHECK-NEXT:    pvfmk.w.up.lt %vm1, %v0, %vm1
3063 ; CHECK-NEXT:    b.l.t (, %s10)
3064   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwuplt.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
3065   ret <256 x i1> %3
3068 ; Function Attrs: nounwind readnone
3069 declare <256 x i1> @llvm.ve.vl.pvfmkwuplt.mvml(<256 x double>, <256 x i1>, i32)
3071 ; Function Attrs: nounwind readnone
3072 define fastcc <256 x i1> @pvfmkwupne_mvl(<256 x double> %0) {
3073 ; CHECK-LABEL: pvfmkwupne_mvl:
3074 ; CHECK:       # %bb.0:
3075 ; CHECK-NEXT:    lea %s0, 256
3076 ; CHECK-NEXT:    lvl %s0
3077 ; CHECK-NEXT:    pvfmk.w.up.ne %vm1, %v0
3078 ; CHECK-NEXT:    b.l.t (, %s10)
3079   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupne.mvl(<256 x double> %0, i32 256)
3080   ret <256 x i1> %2
3083 ; Function Attrs: nounwind readnone
3084 declare <256 x i1> @llvm.ve.vl.pvfmkwupne.mvl(<256 x double>, i32)
3086 ; Function Attrs: nounwind readnone
3087 define fastcc <256 x i1> @pvfmkwupne_mvml(<256 x double> %0, <256 x i1> %1) {
3088 ; CHECK-LABEL: pvfmkwupne_mvml:
3089 ; CHECK:       # %bb.0:
3090 ; CHECK-NEXT:    lea %s0, 256
3091 ; CHECK-NEXT:    lvl %s0
3092 ; CHECK-NEXT:    pvfmk.w.up.ne %vm1, %v0, %vm1
3093 ; CHECK-NEXT:    b.l.t (, %s10)
3094   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupne.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
3095   ret <256 x i1> %3
3098 ; Function Attrs: nounwind readnone
3099 declare <256 x i1> @llvm.ve.vl.pvfmkwupne.mvml(<256 x double>, <256 x i1>, i32)
3101 ; Function Attrs: nounwind readnone
3102 define fastcc <256 x i1> @pvfmkwupeq_mvl(<256 x double> %0) {
3103 ; CHECK-LABEL: pvfmkwupeq_mvl:
3104 ; CHECK:       # %bb.0:
3105 ; CHECK-NEXT:    lea %s0, 256
3106 ; CHECK-NEXT:    lvl %s0
3107 ; CHECK-NEXT:    pvfmk.w.up.eq %vm1, %v0
3108 ; CHECK-NEXT:    b.l.t (, %s10)
3109   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupeq.mvl(<256 x double> %0, i32 256)
3110   ret <256 x i1> %2
3113 ; Function Attrs: nounwind readnone
3114 declare <256 x i1> @llvm.ve.vl.pvfmkwupeq.mvl(<256 x double>, i32)
3116 ; Function Attrs: nounwind readnone
3117 define fastcc <256 x i1> @pvfmkwupeq_mvml(<256 x double> %0, <256 x i1> %1) {
3118 ; CHECK-LABEL: pvfmkwupeq_mvml:
3119 ; CHECK:       # %bb.0:
3120 ; CHECK-NEXT:    lea %s0, 256
3121 ; CHECK-NEXT:    lvl %s0
3122 ; CHECK-NEXT:    pvfmk.w.up.eq %vm1, %v0, %vm1
3123 ; CHECK-NEXT:    b.l.t (, %s10)
3124   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupeq.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
3125   ret <256 x i1> %3
3128 ; Function Attrs: nounwind readnone
3129 declare <256 x i1> @llvm.ve.vl.pvfmkwupeq.mvml(<256 x double>, <256 x i1>, i32)
3131 ; Function Attrs: nounwind readnone
3132 define fastcc <256 x i1> @pvfmkwupge_mvl(<256 x double> %0) {
3133 ; CHECK-LABEL: pvfmkwupge_mvl:
3134 ; CHECK:       # %bb.0:
3135 ; CHECK-NEXT:    lea %s0, 256
3136 ; CHECK-NEXT:    lvl %s0
3137 ; CHECK-NEXT:    pvfmk.w.up.ge %vm1, %v0
3138 ; CHECK-NEXT:    b.l.t (, %s10)
3139   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupge.mvl(<256 x double> %0, i32 256)
3140   ret <256 x i1> %2
3143 ; Function Attrs: nounwind readnone
3144 declare <256 x i1> @llvm.ve.vl.pvfmkwupge.mvl(<256 x double>, i32)
3146 ; Function Attrs: nounwind readnone
3147 define fastcc <256 x i1> @pvfmkwupge_mvml(<256 x double> %0, <256 x i1> %1) {
3148 ; CHECK-LABEL: pvfmkwupge_mvml:
3149 ; CHECK:       # %bb.0:
3150 ; CHECK-NEXT:    lea %s0, 256
3151 ; CHECK-NEXT:    lvl %s0
3152 ; CHECK-NEXT:    pvfmk.w.up.ge %vm1, %v0, %vm1
3153 ; CHECK-NEXT:    b.l.t (, %s10)
3154   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupge.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
3155   ret <256 x i1> %3
3158 ; Function Attrs: nounwind readnone
3159 declare <256 x i1> @llvm.ve.vl.pvfmkwupge.mvml(<256 x double>, <256 x i1>, i32)
3161 ; Function Attrs: nounwind readnone
3162 define fastcc <256 x i1> @pvfmkwuple_mvl(<256 x double> %0) {
3163 ; CHECK-LABEL: pvfmkwuple_mvl:
3164 ; CHECK:       # %bb.0:
3165 ; CHECK-NEXT:    lea %s0, 256
3166 ; CHECK-NEXT:    lvl %s0
3167 ; CHECK-NEXT:    pvfmk.w.up.le %vm1, %v0
3168 ; CHECK-NEXT:    b.l.t (, %s10)
3169   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwuple.mvl(<256 x double> %0, i32 256)
3170   ret <256 x i1> %2
3173 ; Function Attrs: nounwind readnone
3174 declare <256 x i1> @llvm.ve.vl.pvfmkwuple.mvl(<256 x double>, i32)
3176 ; Function Attrs: nounwind readnone
3177 define fastcc <256 x i1> @pvfmkwuple_mvml(<256 x double> %0, <256 x i1> %1) {
3178 ; CHECK-LABEL: pvfmkwuple_mvml:
3179 ; CHECK:       # %bb.0:
3180 ; CHECK-NEXT:    lea %s0, 256
3181 ; CHECK-NEXT:    lvl %s0
3182 ; CHECK-NEXT:    pvfmk.w.up.le %vm1, %v0, %vm1
3183 ; CHECK-NEXT:    b.l.t (, %s10)
3184   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwuple.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
3185   ret <256 x i1> %3
3188 ; Function Attrs: nounwind readnone
3189 declare <256 x i1> @llvm.ve.vl.pvfmkwuple.mvml(<256 x double>, <256 x i1>, i32)
3191 ; Function Attrs: nounwind readnone
3192 define fastcc <256 x i1> @pvfmkwupnum_mvl(<256 x double> %0) {
3193 ; CHECK-LABEL: pvfmkwupnum_mvl:
3194 ; CHECK:       # %bb.0:
3195 ; CHECK-NEXT:    lea %s0, 256
3196 ; CHECK-NEXT:    lvl %s0
3197 ; CHECK-NEXT:    pvfmk.w.up.num %vm1, %v0
3198 ; CHECK-NEXT:    b.l.t (, %s10)
3199   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupnum.mvl(<256 x double> %0, i32 256)
3200   ret <256 x i1> %2
3203 ; Function Attrs: nounwind readnone
3204 declare <256 x i1> @llvm.ve.vl.pvfmkwupnum.mvl(<256 x double>, i32)
3206 ; Function Attrs: nounwind readnone
3207 define fastcc <256 x i1> @pvfmkwupnum_mvml(<256 x double> %0, <256 x i1> %1) {
3208 ; CHECK-LABEL: pvfmkwupnum_mvml:
3209 ; CHECK:       # %bb.0:
3210 ; CHECK-NEXT:    lea %s0, 256
3211 ; CHECK-NEXT:    lvl %s0
3212 ; CHECK-NEXT:    pvfmk.w.up.num %vm1, %v0, %vm1
3213 ; CHECK-NEXT:    b.l.t (, %s10)
3214   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupnum.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
3215   ret <256 x i1> %3
3218 ; Function Attrs: nounwind readnone
3219 declare <256 x i1> @llvm.ve.vl.pvfmkwupnum.mvml(<256 x double>, <256 x i1>, i32)
3221 ; Function Attrs: nounwind readnone
3222 define fastcc <256 x i1> @pvfmkwupnan_mvl(<256 x double> %0) {
3223 ; CHECK-LABEL: pvfmkwupnan_mvl:
3224 ; CHECK:       # %bb.0:
3225 ; CHECK-NEXT:    lea %s0, 256
3226 ; CHECK-NEXT:    lvl %s0
3227 ; CHECK-NEXT:    pvfmk.w.up.nan %vm1, %v0
3228 ; CHECK-NEXT:    b.l.t (, %s10)
3229   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupnan.mvl(<256 x double> %0, i32 256)
3230   ret <256 x i1> %2
3233 ; Function Attrs: nounwind readnone
3234 declare <256 x i1> @llvm.ve.vl.pvfmkwupnan.mvl(<256 x double>, i32)
3236 ; Function Attrs: nounwind readnone
3237 define fastcc <256 x i1> @pvfmkwupnan_mvml(<256 x double> %0, <256 x i1> %1) {
3238 ; CHECK-LABEL: pvfmkwupnan_mvml:
3239 ; CHECK:       # %bb.0:
3240 ; CHECK-NEXT:    lea %s0, 256
3241 ; CHECK-NEXT:    lvl %s0
3242 ; CHECK-NEXT:    pvfmk.w.up.nan %vm1, %v0, %vm1
3243 ; CHECK-NEXT:    b.l.t (, %s10)
3244   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
3245   ret <256 x i1> %3
3248 ; Function Attrs: nounwind readnone
3249 declare <256 x i1> @llvm.ve.vl.pvfmkwupnan.mvml(<256 x double>, <256 x i1>, i32)
3251 ; Function Attrs: nounwind readnone
3252 define fastcc <256 x i1> @pvfmkwupgtnan_mvl(<256 x double> %0) {
3253 ; CHECK-LABEL: pvfmkwupgtnan_mvl:
3254 ; CHECK:       # %bb.0:
3255 ; CHECK-NEXT:    lea %s0, 256
3256 ; CHECK-NEXT:    lvl %s0
3257 ; CHECK-NEXT:    pvfmk.w.up.gtnan %vm1, %v0
3258 ; CHECK-NEXT:    b.l.t (, %s10)
3259   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupgtnan.mvl(<256 x double> %0, i32 256)
3260   ret <256 x i1> %2
3263 ; Function Attrs: nounwind readnone
3264 declare <256 x i1> @llvm.ve.vl.pvfmkwupgtnan.mvl(<256 x double>, i32)
3266 ; Function Attrs: nounwind readnone
3267 define fastcc <256 x i1> @pvfmkwupgtnan_mvml(<256 x double> %0, <256 x i1> %1) {
3268 ; CHECK-LABEL: pvfmkwupgtnan_mvml:
3269 ; CHECK:       # %bb.0:
3270 ; CHECK-NEXT:    lea %s0, 256
3271 ; CHECK-NEXT:    lvl %s0
3272 ; CHECK-NEXT:    pvfmk.w.up.gtnan %vm1, %v0, %vm1
3273 ; CHECK-NEXT:    b.l.t (, %s10)
3274   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupgtnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
3275   ret <256 x i1> %3
3278 ; Function Attrs: nounwind readnone
3279 declare <256 x i1> @llvm.ve.vl.pvfmkwupgtnan.mvml(<256 x double>, <256 x i1>, i32)
3281 ; Function Attrs: nounwind readnone
3282 define fastcc <256 x i1> @pvfmkwupltnan_mvl(<256 x double> %0) {
3283 ; CHECK-LABEL: pvfmkwupltnan_mvl:
3284 ; CHECK:       # %bb.0:
3285 ; CHECK-NEXT:    lea %s0, 256
3286 ; CHECK-NEXT:    lvl %s0
3287 ; CHECK-NEXT:    pvfmk.w.up.ltnan %vm1, %v0
3288 ; CHECK-NEXT:    b.l.t (, %s10)
3289   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupltnan.mvl(<256 x double> %0, i32 256)
3290   ret <256 x i1> %2
3293 ; Function Attrs: nounwind readnone
3294 declare <256 x i1> @llvm.ve.vl.pvfmkwupltnan.mvl(<256 x double>, i32)
3296 ; Function Attrs: nounwind readnone
3297 define fastcc <256 x i1> @pvfmkwupltnan_mvml(<256 x double> %0, <256 x i1> %1) {
3298 ; CHECK-LABEL: pvfmkwupltnan_mvml:
3299 ; CHECK:       # %bb.0:
3300 ; CHECK-NEXT:    lea %s0, 256
3301 ; CHECK-NEXT:    lvl %s0
3302 ; CHECK-NEXT:    pvfmk.w.up.ltnan %vm1, %v0, %vm1
3303 ; CHECK-NEXT:    b.l.t (, %s10)
3304   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupltnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
3305   ret <256 x i1> %3
3308 ; Function Attrs: nounwind readnone
3309 declare <256 x i1> @llvm.ve.vl.pvfmkwupltnan.mvml(<256 x double>, <256 x i1>, i32)
3311 ; Function Attrs: nounwind readnone
3312 define fastcc <256 x i1> @pvfmkwupnenan_mvl(<256 x double> %0) {
3313 ; CHECK-LABEL: pvfmkwupnenan_mvl:
3314 ; CHECK:       # %bb.0:
3315 ; CHECK-NEXT:    lea %s0, 256
3316 ; CHECK-NEXT:    lvl %s0
3317 ; CHECK-NEXT:    pvfmk.w.up.nenan %vm1, %v0
3318 ; CHECK-NEXT:    b.l.t (, %s10)
3319   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupnenan.mvl(<256 x double> %0, i32 256)
3320   ret <256 x i1> %2
3323 ; Function Attrs: nounwind readnone
3324 declare <256 x i1> @llvm.ve.vl.pvfmkwupnenan.mvl(<256 x double>, i32)
3326 ; Function Attrs: nounwind readnone
3327 define fastcc <256 x i1> @pvfmkwupnenan_mvml(<256 x double> %0, <256 x i1> %1) {
3328 ; CHECK-LABEL: pvfmkwupnenan_mvml:
3329 ; CHECK:       # %bb.0:
3330 ; CHECK-NEXT:    lea %s0, 256
3331 ; CHECK-NEXT:    lvl %s0
3332 ; CHECK-NEXT:    pvfmk.w.up.nenan %vm1, %v0, %vm1
3333 ; CHECK-NEXT:    b.l.t (, %s10)
3334   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupnenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
3335   ret <256 x i1> %3
3338 ; Function Attrs: nounwind readnone
3339 declare <256 x i1> @llvm.ve.vl.pvfmkwupnenan.mvml(<256 x double>, <256 x i1>, i32)
3341 ; Function Attrs: nounwind readnone
3342 define fastcc <256 x i1> @pvfmkwupeqnan_mvl(<256 x double> %0) {
3343 ; CHECK-LABEL: pvfmkwupeqnan_mvl:
3344 ; CHECK:       # %bb.0:
3345 ; CHECK-NEXT:    lea %s0, 256
3346 ; CHECK-NEXT:    lvl %s0
3347 ; CHECK-NEXT:    pvfmk.w.up.eqnan %vm1, %v0
3348 ; CHECK-NEXT:    b.l.t (, %s10)
3349   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupeqnan.mvl(<256 x double> %0, i32 256)
3350   ret <256 x i1> %2
3353 ; Function Attrs: nounwind readnone
3354 declare <256 x i1> @llvm.ve.vl.pvfmkwupeqnan.mvl(<256 x double>, i32)
3356 ; Function Attrs: nounwind readnone
3357 define fastcc <256 x i1> @pvfmkwupeqnan_mvml(<256 x double> %0, <256 x i1> %1) {
3358 ; CHECK-LABEL: pvfmkwupeqnan_mvml:
3359 ; CHECK:       # %bb.0:
3360 ; CHECK-NEXT:    lea %s0, 256
3361 ; CHECK-NEXT:    lvl %s0
3362 ; CHECK-NEXT:    pvfmk.w.up.eqnan %vm1, %v0, %vm1
3363 ; CHECK-NEXT:    b.l.t (, %s10)
3364   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupeqnan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
3365   ret <256 x i1> %3
3368 ; Function Attrs: nounwind readnone
3369 declare <256 x i1> @llvm.ve.vl.pvfmkwupeqnan.mvml(<256 x double>, <256 x i1>, i32)
3371 ; Function Attrs: nounwind readnone
3372 define fastcc <256 x i1> @pvfmkwupgenan_mvl(<256 x double> %0) {
3373 ; CHECK-LABEL: pvfmkwupgenan_mvl:
3374 ; CHECK:       # %bb.0:
3375 ; CHECK-NEXT:    lea %s0, 256
3376 ; CHECK-NEXT:    lvl %s0
3377 ; CHECK-NEXT:    pvfmk.w.up.genan %vm1, %v0
3378 ; CHECK-NEXT:    b.l.t (, %s10)
3379   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupgenan.mvl(<256 x double> %0, i32 256)
3380   ret <256 x i1> %2
3383 ; Function Attrs: nounwind readnone
3384 declare <256 x i1> @llvm.ve.vl.pvfmkwupgenan.mvl(<256 x double>, i32)
3386 ; Function Attrs: nounwind readnone
3387 define fastcc <256 x i1> @pvfmkwupgenan_mvml(<256 x double> %0, <256 x i1> %1) {
3388 ; CHECK-LABEL: pvfmkwupgenan_mvml:
3389 ; CHECK:       # %bb.0:
3390 ; CHECK-NEXT:    lea %s0, 256
3391 ; CHECK-NEXT:    lvl %s0
3392 ; CHECK-NEXT:    pvfmk.w.up.genan %vm1, %v0, %vm1
3393 ; CHECK-NEXT:    b.l.t (, %s10)
3394   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwupgenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
3395   ret <256 x i1> %3
3398 ; Function Attrs: nounwind readnone
3399 declare <256 x i1> @llvm.ve.vl.pvfmkwupgenan.mvml(<256 x double>, <256 x i1>, i32)
3401 ; Function Attrs: nounwind readnone
3402 define fastcc <256 x i1> @pvfmkwuplenan_mvl(<256 x double> %0) {
3403 ; CHECK-LABEL: pvfmkwuplenan_mvl:
3404 ; CHECK:       # %bb.0:
3405 ; CHECK-NEXT:    lea %s0, 256
3406 ; CHECK-NEXT:    lvl %s0
3407 ; CHECK-NEXT:    pvfmk.w.up.lenan %vm1, %v0
3408 ; CHECK-NEXT:    b.l.t (, %s10)
3409   %2 = tail call <256 x i1> @llvm.ve.vl.pvfmkwuplenan.mvl(<256 x double> %0, i32 256)
3410   ret <256 x i1> %2
3413 ; Function Attrs: nounwind readnone
3414 declare <256 x i1> @llvm.ve.vl.pvfmkwuplenan.mvl(<256 x double>, i32)
3416 ; Function Attrs: nounwind readnone
3417 define fastcc <256 x i1> @pvfmkwuplenan_mvml(<256 x double> %0, <256 x i1> %1) {
3418 ; CHECK-LABEL: pvfmkwuplenan_mvml:
3419 ; CHECK:       # %bb.0:
3420 ; CHECK-NEXT:    lea %s0, 256
3421 ; CHECK-NEXT:    lvl %s0
3422 ; CHECK-NEXT:    pvfmk.w.up.lenan %vm1, %v0, %vm1
3423 ; CHECK-NEXT:    b.l.t (, %s10)
3424   %3 = tail call <256 x i1> @llvm.ve.vl.pvfmkwuplenan.mvml(<256 x double> %0, <256 x i1> %1, i32 256)
3425   ret <256 x i1> %3
3428 ; Function Attrs: nounwind readnone
3429 declare <256 x i1> @llvm.ve.vl.pvfmkwuplenan.mvml(<256 x double>, <256 x i1>, i32)
3431 ; Function Attrs: nounwind readnone
3432 define fastcc <512 x i1> @pvfmksgt_Mvl(<256 x double> %0) {
3433 ; CHECK-LABEL: pvfmksgt_Mvl:
3434 ; CHECK:       # %bb.0:
3435 ; CHECK-NEXT:    lea %s0, 256
3436 ; CHECK-NEXT:    lvl %s0
3437 ; CHECK-NEXT:    pvfmk.s.up.gt %vm2, %v0
3438 ; CHECK-NEXT:    pvfmk.s.lo.gt %vm3, %v0
3439 ; CHECK-NEXT:    b.l.t (, %s10)
3440   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmksgt.Mvl(<256 x double> %0, i32 256)
3441   ret <512 x i1> %2
3444 ; Function Attrs: nounwind readnone
3445 declare <512 x i1> @llvm.ve.vl.pvfmksgt.Mvl(<256 x double>, i32)
3447 ; Function Attrs: nounwind readnone
3448 define fastcc <512 x i1> @pvfmksgt_MvMl(<256 x double> %0, <512 x i1> %1) {
3449 ; CHECK-LABEL: pvfmksgt_MvMl:
3450 ; CHECK:       # %bb.0:
3451 ; CHECK-NEXT:    lea %s0, 256
3452 ; CHECK-NEXT:    lvl %s0
3453 ; CHECK-NEXT:    pvfmk.s.up.gt %vm2, %v0, %vm2
3454 ; CHECK-NEXT:    pvfmk.s.lo.gt %vm3, %v0, %vm3
3455 ; CHECK-NEXT:    b.l.t (, %s10)
3456   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmksgt.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3457   ret <512 x i1> %3
3460 ; Function Attrs: nounwind readnone
3461 declare <512 x i1> @llvm.ve.vl.pvfmksgt.MvMl(<256 x double>, <512 x i1>, i32)
3463 ; Function Attrs: nounwind readnone
3464 define fastcc <512 x i1> @pvfmkslt_Mvl(<256 x double> %0) {
3465 ; CHECK-LABEL: pvfmkslt_Mvl:
3466 ; CHECK:       # %bb.0:
3467 ; CHECK-NEXT:    lea %s0, 256
3468 ; CHECK-NEXT:    lvl %s0
3469 ; CHECK-NEXT:    pvfmk.s.up.lt %vm2, %v0
3470 ; CHECK-NEXT:    pvfmk.s.lo.lt %vm3, %v0
3471 ; CHECK-NEXT:    b.l.t (, %s10)
3472   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkslt.Mvl(<256 x double> %0, i32 256)
3473   ret <512 x i1> %2
3476 ; Function Attrs: nounwind readnone
3477 declare <512 x i1> @llvm.ve.vl.pvfmkslt.Mvl(<256 x double>, i32)
3479 ; Function Attrs: nounwind readnone
3480 define fastcc <512 x i1> @pvfmkslt_MvMl(<256 x double> %0, <512 x i1> %1) {
3481 ; CHECK-LABEL: pvfmkslt_MvMl:
3482 ; CHECK:       # %bb.0:
3483 ; CHECK-NEXT:    lea %s0, 256
3484 ; CHECK-NEXT:    lvl %s0
3485 ; CHECK-NEXT:    pvfmk.s.up.lt %vm2, %v0, %vm2
3486 ; CHECK-NEXT:    pvfmk.s.lo.lt %vm3, %v0, %vm3
3487 ; CHECK-NEXT:    b.l.t (, %s10)
3488   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkslt.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3489   ret <512 x i1> %3
3492 ; Function Attrs: nounwind readnone
3493 declare <512 x i1> @llvm.ve.vl.pvfmkslt.MvMl(<256 x double>, <512 x i1>, i32)
3495 ; Function Attrs: nounwind readnone
3496 define fastcc <512 x i1> @pvfmksne_Mvl(<256 x double> %0) {
3497 ; CHECK-LABEL: pvfmksne_Mvl:
3498 ; CHECK:       # %bb.0:
3499 ; CHECK-NEXT:    lea %s0, 256
3500 ; CHECK-NEXT:    lvl %s0
3501 ; CHECK-NEXT:    pvfmk.s.up.ne %vm2, %v0
3502 ; CHECK-NEXT:    pvfmk.s.lo.ne %vm3, %v0
3503 ; CHECK-NEXT:    b.l.t (, %s10)
3504   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmksne.Mvl(<256 x double> %0, i32 256)
3505   ret <512 x i1> %2
3508 ; Function Attrs: nounwind readnone
3509 declare <512 x i1> @llvm.ve.vl.pvfmksne.Mvl(<256 x double>, i32)
3511 ; Function Attrs: nounwind readnone
3512 define fastcc <512 x i1> @pvfmksne_MvMl(<256 x double> %0, <512 x i1> %1) {
3513 ; CHECK-LABEL: pvfmksne_MvMl:
3514 ; CHECK:       # %bb.0:
3515 ; CHECK-NEXT:    lea %s0, 256
3516 ; CHECK-NEXT:    lvl %s0
3517 ; CHECK-NEXT:    pvfmk.s.up.ne %vm2, %v0, %vm2
3518 ; CHECK-NEXT:    pvfmk.s.lo.ne %vm3, %v0, %vm3
3519 ; CHECK-NEXT:    b.l.t (, %s10)
3520   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmksne.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3521   ret <512 x i1> %3
3524 ; Function Attrs: nounwind readnone
3525 declare <512 x i1> @llvm.ve.vl.pvfmksne.MvMl(<256 x double>, <512 x i1>, i32)
3527 ; Function Attrs: nounwind readnone
3528 define fastcc <512 x i1> @pvfmkseq_Mvl(<256 x double> %0) {
3529 ; CHECK-LABEL: pvfmkseq_Mvl:
3530 ; CHECK:       # %bb.0:
3531 ; CHECK-NEXT:    lea %s0, 256
3532 ; CHECK-NEXT:    lvl %s0
3533 ; CHECK-NEXT:    pvfmk.s.up.eq %vm2, %v0
3534 ; CHECK-NEXT:    pvfmk.s.lo.eq %vm3, %v0
3535 ; CHECK-NEXT:    b.l.t (, %s10)
3536   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkseq.Mvl(<256 x double> %0, i32 256)
3537   ret <512 x i1> %2
3540 ; Function Attrs: nounwind readnone
3541 declare <512 x i1> @llvm.ve.vl.pvfmkseq.Mvl(<256 x double>, i32)
3543 ; Function Attrs: nounwind readnone
3544 define fastcc <512 x i1> @pvfmkseq_MvMl(<256 x double> %0, <512 x i1> %1) {
3545 ; CHECK-LABEL: pvfmkseq_MvMl:
3546 ; CHECK:       # %bb.0:
3547 ; CHECK-NEXT:    lea %s0, 256
3548 ; CHECK-NEXT:    lvl %s0
3549 ; CHECK-NEXT:    pvfmk.s.up.eq %vm2, %v0, %vm2
3550 ; CHECK-NEXT:    pvfmk.s.lo.eq %vm3, %v0, %vm3
3551 ; CHECK-NEXT:    b.l.t (, %s10)
3552   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkseq.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3553   ret <512 x i1> %3
3556 ; Function Attrs: nounwind readnone
3557 declare <512 x i1> @llvm.ve.vl.pvfmkseq.MvMl(<256 x double>, <512 x i1>, i32)
3559 ; Function Attrs: nounwind readnone
3560 define fastcc <512 x i1> @pvfmksge_Mvl(<256 x double> %0) {
3561 ; CHECK-LABEL: pvfmksge_Mvl:
3562 ; CHECK:       # %bb.0:
3563 ; CHECK-NEXT:    lea %s0, 256
3564 ; CHECK-NEXT:    lvl %s0
3565 ; CHECK-NEXT:    pvfmk.s.up.ge %vm2, %v0
3566 ; CHECK-NEXT:    pvfmk.s.lo.ge %vm3, %v0
3567 ; CHECK-NEXT:    b.l.t (, %s10)
3568   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmksge.Mvl(<256 x double> %0, i32 256)
3569   ret <512 x i1> %2
3572 ; Function Attrs: nounwind readnone
3573 declare <512 x i1> @llvm.ve.vl.pvfmksge.Mvl(<256 x double>, i32)
3575 ; Function Attrs: nounwind readnone
3576 define fastcc <512 x i1> @pvfmksge_MvMl(<256 x double> %0, <512 x i1> %1) {
3577 ; CHECK-LABEL: pvfmksge_MvMl:
3578 ; CHECK:       # %bb.0:
3579 ; CHECK-NEXT:    lea %s0, 256
3580 ; CHECK-NEXT:    lvl %s0
3581 ; CHECK-NEXT:    pvfmk.s.up.ge %vm2, %v0, %vm2
3582 ; CHECK-NEXT:    pvfmk.s.lo.ge %vm3, %v0, %vm3
3583 ; CHECK-NEXT:    b.l.t (, %s10)
3584   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmksge.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3585   ret <512 x i1> %3
3588 ; Function Attrs: nounwind readnone
3589 declare <512 x i1> @llvm.ve.vl.pvfmksge.MvMl(<256 x double>, <512 x i1>, i32)
3591 ; Function Attrs: nounwind readnone
3592 define fastcc <512 x i1> @pvfmksle_Mvl(<256 x double> %0) {
3593 ; CHECK-LABEL: pvfmksle_Mvl:
3594 ; CHECK:       # %bb.0:
3595 ; CHECK-NEXT:    lea %s0, 256
3596 ; CHECK-NEXT:    lvl %s0
3597 ; CHECK-NEXT:    pvfmk.s.up.le %vm2, %v0
3598 ; CHECK-NEXT:    pvfmk.s.lo.le %vm3, %v0
3599 ; CHECK-NEXT:    b.l.t (, %s10)
3600   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmksle.Mvl(<256 x double> %0, i32 256)
3601   ret <512 x i1> %2
3604 ; Function Attrs: nounwind readnone
3605 declare <512 x i1> @llvm.ve.vl.pvfmksle.Mvl(<256 x double>, i32)
3607 ; Function Attrs: nounwind readnone
3608 define fastcc <512 x i1> @pvfmksle_MvMl(<256 x double> %0, <512 x i1> %1) {
3609 ; CHECK-LABEL: pvfmksle_MvMl:
3610 ; CHECK:       # %bb.0:
3611 ; CHECK-NEXT:    lea %s0, 256
3612 ; CHECK-NEXT:    lvl %s0
3613 ; CHECK-NEXT:    pvfmk.s.up.le %vm2, %v0, %vm2
3614 ; CHECK-NEXT:    pvfmk.s.lo.le %vm3, %v0, %vm3
3615 ; CHECK-NEXT:    b.l.t (, %s10)
3616   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmksle.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3617   ret <512 x i1> %3
3620 ; Function Attrs: nounwind readnone
3621 declare <512 x i1> @llvm.ve.vl.pvfmksle.MvMl(<256 x double>, <512 x i1>, i32)
3623 ; Function Attrs: nounwind readnone
3624 define fastcc <512 x i1> @pvfmksnum_Mvl(<256 x double> %0) {
3625 ; CHECK-LABEL: pvfmksnum_Mvl:
3626 ; CHECK:       # %bb.0:
3627 ; CHECK-NEXT:    lea %s0, 256
3628 ; CHECK-NEXT:    lvl %s0
3629 ; CHECK-NEXT:    pvfmk.s.up.num %vm2, %v0
3630 ; CHECK-NEXT:    pvfmk.s.lo.num %vm3, %v0
3631 ; CHECK-NEXT:    b.l.t (, %s10)
3632   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmksnum.Mvl(<256 x double> %0, i32 256)
3633   ret <512 x i1> %2
3636 ; Function Attrs: nounwind readnone
3637 declare <512 x i1> @llvm.ve.vl.pvfmksnum.Mvl(<256 x double>, i32)
3639 ; Function Attrs: nounwind readnone
3640 define fastcc <512 x i1> @pvfmksnum_MvMl(<256 x double> %0, <512 x i1> %1) {
3641 ; CHECK-LABEL: pvfmksnum_MvMl:
3642 ; CHECK:       # %bb.0:
3643 ; CHECK-NEXT:    lea %s0, 256
3644 ; CHECK-NEXT:    lvl %s0
3645 ; CHECK-NEXT:    pvfmk.s.up.num %vm2, %v0, %vm2
3646 ; CHECK-NEXT:    pvfmk.s.lo.num %vm3, %v0, %vm3
3647 ; CHECK-NEXT:    b.l.t (, %s10)
3648   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmksnum.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3649   ret <512 x i1> %3
3652 ; Function Attrs: nounwind readnone
3653 declare <512 x i1> @llvm.ve.vl.pvfmksnum.MvMl(<256 x double>, <512 x i1>, i32)
3655 ; Function Attrs: nounwind readnone
3656 define fastcc <512 x i1> @pvfmksnan_Mvl(<256 x double> %0) {
3657 ; CHECK-LABEL: pvfmksnan_Mvl:
3658 ; CHECK:       # %bb.0:
3659 ; CHECK-NEXT:    lea %s0, 256
3660 ; CHECK-NEXT:    lvl %s0
3661 ; CHECK-NEXT:    pvfmk.s.up.nan %vm2, %v0
3662 ; CHECK-NEXT:    pvfmk.s.lo.nan %vm3, %v0
3663 ; CHECK-NEXT:    b.l.t (, %s10)
3664   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmksnan.Mvl(<256 x double> %0, i32 256)
3665   ret <512 x i1> %2
3668 ; Function Attrs: nounwind readnone
3669 declare <512 x i1> @llvm.ve.vl.pvfmksnan.Mvl(<256 x double>, i32)
3671 ; Function Attrs: nounwind readnone
3672 define fastcc <512 x i1> @pvfmksnan_MvMl(<256 x double> %0, <512 x i1> %1) {
3673 ; CHECK-LABEL: pvfmksnan_MvMl:
3674 ; CHECK:       # %bb.0:
3675 ; CHECK-NEXT:    lea %s0, 256
3676 ; CHECK-NEXT:    lvl %s0
3677 ; CHECK-NEXT:    pvfmk.s.up.nan %vm2, %v0, %vm2
3678 ; CHECK-NEXT:    pvfmk.s.lo.nan %vm3, %v0, %vm3
3679 ; CHECK-NEXT:    b.l.t (, %s10)
3680   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmksnan.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3681   ret <512 x i1> %3
3684 ; Function Attrs: nounwind readnone
3685 declare <512 x i1> @llvm.ve.vl.pvfmksnan.MvMl(<256 x double>, <512 x i1>, i32)
3687 ; Function Attrs: nounwind readnone
3688 define fastcc <512 x i1> @pvfmksgtnan_Mvl(<256 x double> %0) {
3689 ; CHECK-LABEL: pvfmksgtnan_Mvl:
3690 ; CHECK:       # %bb.0:
3691 ; CHECK-NEXT:    lea %s0, 256
3692 ; CHECK-NEXT:    lvl %s0
3693 ; CHECK-NEXT:    pvfmk.s.up.gtnan %vm2, %v0
3694 ; CHECK-NEXT:    pvfmk.s.lo.gtnan %vm3, %v0
3695 ; CHECK-NEXT:    b.l.t (, %s10)
3696   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmksgtnan.Mvl(<256 x double> %0, i32 256)
3697   ret <512 x i1> %2
3700 ; Function Attrs: nounwind readnone
3701 declare <512 x i1> @llvm.ve.vl.pvfmksgtnan.Mvl(<256 x double>, i32)
3703 ; Function Attrs: nounwind readnone
3704 define fastcc <512 x i1> @pvfmksgtnan_MvMl(<256 x double> %0, <512 x i1> %1) {
3705 ; CHECK-LABEL: pvfmksgtnan_MvMl:
3706 ; CHECK:       # %bb.0:
3707 ; CHECK-NEXT:    lea %s0, 256
3708 ; CHECK-NEXT:    lvl %s0
3709 ; CHECK-NEXT:    pvfmk.s.up.gtnan %vm2, %v0, %vm2
3710 ; CHECK-NEXT:    pvfmk.s.lo.gtnan %vm3, %v0, %vm3
3711 ; CHECK-NEXT:    b.l.t (, %s10)
3712   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmksgtnan.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3713   ret <512 x i1> %3
3716 ; Function Attrs: nounwind readnone
3717 declare <512 x i1> @llvm.ve.vl.pvfmksgtnan.MvMl(<256 x double>, <512 x i1>, i32)
3719 ; Function Attrs: nounwind readnone
3720 define fastcc <512 x i1> @pvfmksltnan_Mvl(<256 x double> %0) {
3721 ; CHECK-LABEL: pvfmksltnan_Mvl:
3722 ; CHECK:       # %bb.0:
3723 ; CHECK-NEXT:    lea %s0, 256
3724 ; CHECK-NEXT:    lvl %s0
3725 ; CHECK-NEXT:    pvfmk.s.up.ltnan %vm2, %v0
3726 ; CHECK-NEXT:    pvfmk.s.lo.ltnan %vm3, %v0
3727 ; CHECK-NEXT:    b.l.t (, %s10)
3728   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmksltnan.Mvl(<256 x double> %0, i32 256)
3729   ret <512 x i1> %2
3732 ; Function Attrs: nounwind readnone
3733 declare <512 x i1> @llvm.ve.vl.pvfmksltnan.Mvl(<256 x double>, i32)
3735 ; Function Attrs: nounwind readnone
3736 define fastcc <512 x i1> @pvfmksltnan_MvMl(<256 x double> %0, <512 x i1> %1) {
3737 ; CHECK-LABEL: pvfmksltnan_MvMl:
3738 ; CHECK:       # %bb.0:
3739 ; CHECK-NEXT:    lea %s0, 256
3740 ; CHECK-NEXT:    lvl %s0
3741 ; CHECK-NEXT:    pvfmk.s.up.ltnan %vm2, %v0, %vm2
3742 ; CHECK-NEXT:    pvfmk.s.lo.ltnan %vm3, %v0, %vm3
3743 ; CHECK-NEXT:    b.l.t (, %s10)
3744   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmksltnan.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3745   ret <512 x i1> %3
3748 ; Function Attrs: nounwind readnone
3749 declare <512 x i1> @llvm.ve.vl.pvfmksltnan.MvMl(<256 x double>, <512 x i1>, i32)
3751 ; Function Attrs: nounwind readnone
3752 define fastcc <512 x i1> @pvfmksnenan_Mvl(<256 x double> %0) {
3753 ; CHECK-LABEL: pvfmksnenan_Mvl:
3754 ; CHECK:       # %bb.0:
3755 ; CHECK-NEXT:    lea %s0, 256
3756 ; CHECK-NEXT:    lvl %s0
3757 ; CHECK-NEXT:    pvfmk.s.up.nenan %vm2, %v0
3758 ; CHECK-NEXT:    pvfmk.s.lo.nenan %vm3, %v0
3759 ; CHECK-NEXT:    b.l.t (, %s10)
3760   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmksnenan.Mvl(<256 x double> %0, i32 256)
3761   ret <512 x i1> %2
3764 ; Function Attrs: nounwind readnone
3765 declare <512 x i1> @llvm.ve.vl.pvfmksnenan.Mvl(<256 x double>, i32)
3767 ; Function Attrs: nounwind readnone
3768 define fastcc <512 x i1> @pvfmksnenan_MvMl(<256 x double> %0, <512 x i1> %1) {
3769 ; CHECK-LABEL: pvfmksnenan_MvMl:
3770 ; CHECK:       # %bb.0:
3771 ; CHECK-NEXT:    lea %s0, 256
3772 ; CHECK-NEXT:    lvl %s0
3773 ; CHECK-NEXT:    pvfmk.s.up.nenan %vm2, %v0, %vm2
3774 ; CHECK-NEXT:    pvfmk.s.lo.nenan %vm3, %v0, %vm3
3775 ; CHECK-NEXT:    b.l.t (, %s10)
3776   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmksnenan.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3777   ret <512 x i1> %3
3780 ; Function Attrs: nounwind readnone
3781 declare <512 x i1> @llvm.ve.vl.pvfmksnenan.MvMl(<256 x double>, <512 x i1>, i32)
3783 ; Function Attrs: nounwind readnone
3784 define fastcc <512 x i1> @pvfmkseqnan_Mvl(<256 x double> %0) {
3785 ; CHECK-LABEL: pvfmkseqnan_Mvl:
3786 ; CHECK:       # %bb.0:
3787 ; CHECK-NEXT:    lea %s0, 256
3788 ; CHECK-NEXT:    lvl %s0
3789 ; CHECK-NEXT:    pvfmk.s.up.eqnan %vm2, %v0
3790 ; CHECK-NEXT:    pvfmk.s.lo.eqnan %vm3, %v0
3791 ; CHECK-NEXT:    b.l.t (, %s10)
3792   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkseqnan.Mvl(<256 x double> %0, i32 256)
3793   ret <512 x i1> %2
3796 ; Function Attrs: nounwind readnone
3797 declare <512 x i1> @llvm.ve.vl.pvfmkseqnan.Mvl(<256 x double>, i32)
3799 ; Function Attrs: nounwind readnone
3800 define fastcc <512 x i1> @pvfmkseqnan_MvMl(<256 x double> %0, <512 x i1> %1) {
3801 ; CHECK-LABEL: pvfmkseqnan_MvMl:
3802 ; CHECK:       # %bb.0:
3803 ; CHECK-NEXT:    lea %s0, 256
3804 ; CHECK-NEXT:    lvl %s0
3805 ; CHECK-NEXT:    pvfmk.s.up.eqnan %vm2, %v0, %vm2
3806 ; CHECK-NEXT:    pvfmk.s.lo.eqnan %vm3, %v0, %vm3
3807 ; CHECK-NEXT:    b.l.t (, %s10)
3808   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkseqnan.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3809   ret <512 x i1> %3
3812 ; Function Attrs: nounwind readnone
3813 declare <512 x i1> @llvm.ve.vl.pvfmkseqnan.MvMl(<256 x double>, <512 x i1>, i32)
3815 ; Function Attrs: nounwind readnone
3816 define fastcc <512 x i1> @pvfmksgenan_Mvl(<256 x double> %0) {
3817 ; CHECK-LABEL: pvfmksgenan_Mvl:
3818 ; CHECK:       # %bb.0:
3819 ; CHECK-NEXT:    lea %s0, 256
3820 ; CHECK-NEXT:    lvl %s0
3821 ; CHECK-NEXT:    pvfmk.s.up.genan %vm2, %v0
3822 ; CHECK-NEXT:    pvfmk.s.lo.genan %vm3, %v0
3823 ; CHECK-NEXT:    b.l.t (, %s10)
3824   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmksgenan.Mvl(<256 x double> %0, i32 256)
3825   ret <512 x i1> %2
3828 ; Function Attrs: nounwind readnone
3829 declare <512 x i1> @llvm.ve.vl.pvfmksgenan.Mvl(<256 x double>, i32)
3831 ; Function Attrs: nounwind readnone
3832 define fastcc <512 x i1> @pvfmksgenan_MvMl(<256 x double> %0, <512 x i1> %1) {
3833 ; CHECK-LABEL: pvfmksgenan_MvMl:
3834 ; CHECK:       # %bb.0:
3835 ; CHECK-NEXT:    lea %s0, 256
3836 ; CHECK-NEXT:    lvl %s0
3837 ; CHECK-NEXT:    pvfmk.s.up.genan %vm2, %v0, %vm2
3838 ; CHECK-NEXT:    pvfmk.s.lo.genan %vm3, %v0, %vm3
3839 ; CHECK-NEXT:    b.l.t (, %s10)
3840   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmksgenan.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3841   ret <512 x i1> %3
3844 ; Function Attrs: nounwind readnone
3845 declare <512 x i1> @llvm.ve.vl.pvfmksgenan.MvMl(<256 x double>, <512 x i1>, i32)
3847 ; Function Attrs: nounwind readnone
3848 define fastcc <512 x i1> @pvfmkslenan_Mvl(<256 x double> %0) {
3849 ; CHECK-LABEL: pvfmkslenan_Mvl:
3850 ; CHECK:       # %bb.0:
3851 ; CHECK-NEXT:    lea %s0, 256
3852 ; CHECK-NEXT:    lvl %s0
3853 ; CHECK-NEXT:    pvfmk.s.up.lenan %vm2, %v0
3854 ; CHECK-NEXT:    pvfmk.s.lo.lenan %vm3, %v0
3855 ; CHECK-NEXT:    b.l.t (, %s10)
3856   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkslenan.Mvl(<256 x double> %0, i32 256)
3857   ret <512 x i1> %2
3860 ; Function Attrs: nounwind readnone
3861 declare <512 x i1> @llvm.ve.vl.pvfmkslenan.Mvl(<256 x double>, i32)
3863 ; Function Attrs: nounwind readnone
3864 define fastcc <512 x i1> @pvfmkslenan_MvMl(<256 x double> %0, <512 x i1> %1) {
3865 ; CHECK-LABEL: pvfmkslenan_MvMl:
3866 ; CHECK:       # %bb.0:
3867 ; CHECK-NEXT:    lea %s0, 256
3868 ; CHECK-NEXT:    lvl %s0
3869 ; CHECK-NEXT:    pvfmk.s.up.lenan %vm2, %v0, %vm2
3870 ; CHECK-NEXT:    pvfmk.s.lo.lenan %vm3, %v0, %vm3
3871 ; CHECK-NEXT:    b.l.t (, %s10)
3872   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkslenan.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3873   ret <512 x i1> %3
3876 ; Function Attrs: nounwind readnone
3877 declare <512 x i1> @llvm.ve.vl.pvfmkslenan.MvMl(<256 x double>, <512 x i1>, i32)
3879 ; Function Attrs: nounwind readnone
3880 define fastcc <512 x i1> @pvfmkwgt_Mvl(<256 x double> %0) {
3881 ; CHECK-LABEL: pvfmkwgt_Mvl:
3882 ; CHECK:       # %bb.0:
3883 ; CHECK-NEXT:    lea %s0, 256
3884 ; CHECK-NEXT:    lvl %s0
3885 ; CHECK-NEXT:    pvfmk.w.up.gt %vm2, %v0
3886 ; CHECK-NEXT:    vfmk.w.gt %vm3, %v0
3887 ; CHECK-NEXT:    b.l.t (, %s10)
3888   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %0, i32 256)
3889   ret <512 x i1> %2
3892 ; Function Attrs: nounwind readnone
3893 declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32)
3895 ; Function Attrs: nounwind readnone
3896 define fastcc <512 x i1> @pvfmkwgt_MvMl(<256 x double> %0, <512 x i1> %1) {
3897 ; CHECK-LABEL: pvfmkwgt_MvMl:
3898 ; CHECK:       # %bb.0:
3899 ; CHECK-NEXT:    lea %s0, 256
3900 ; CHECK-NEXT:    lvl %s0
3901 ; CHECK-NEXT:    pvfmk.w.up.gt %vm2, %v0, %vm2
3902 ; CHECK-NEXT:    vfmk.w.gt %vm3, %v0, %vm3
3903 ; CHECK-NEXT:    b.l.t (, %s10)
3904   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3905   ret <512 x i1> %3
3908 ; Function Attrs: nounwind readnone
3909 declare <512 x i1> @llvm.ve.vl.pvfmkwgt.MvMl(<256 x double>, <512 x i1>, i32)
3911 ; Function Attrs: nounwind readnone
3912 define fastcc <512 x i1> @pvfmkwlt_Mvl(<256 x double> %0) {
3913 ; CHECK-LABEL: pvfmkwlt_Mvl:
3914 ; CHECK:       # %bb.0:
3915 ; CHECK-NEXT:    lea %s0, 256
3916 ; CHECK-NEXT:    lvl %s0
3917 ; CHECK-NEXT:    pvfmk.w.up.lt %vm2, %v0
3918 ; CHECK-NEXT:    vfmk.w.lt %vm3, %v0
3919 ; CHECK-NEXT:    b.l.t (, %s10)
3920   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkwlt.Mvl(<256 x double> %0, i32 256)
3921   ret <512 x i1> %2
3924 ; Function Attrs: nounwind readnone
3925 declare <512 x i1> @llvm.ve.vl.pvfmkwlt.Mvl(<256 x double>, i32)
3927 ; Function Attrs: nounwind readnone
3928 define fastcc <512 x i1> @pvfmkwlt_MvMl(<256 x double> %0, <512 x i1> %1) {
3929 ; CHECK-LABEL: pvfmkwlt_MvMl:
3930 ; CHECK:       # %bb.0:
3931 ; CHECK-NEXT:    lea %s0, 256
3932 ; CHECK-NEXT:    lvl %s0
3933 ; CHECK-NEXT:    pvfmk.w.up.lt %vm2, %v0, %vm2
3934 ; CHECK-NEXT:    vfmk.w.lt %vm3, %v0, %vm3
3935 ; CHECK-NEXT:    b.l.t (, %s10)
3936   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkwlt.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3937   ret <512 x i1> %3
3940 ; Function Attrs: nounwind readnone
3941 declare <512 x i1> @llvm.ve.vl.pvfmkwlt.MvMl(<256 x double>, <512 x i1>, i32)
3943 ; Function Attrs: nounwind readnone
3944 define fastcc <512 x i1> @pvfmkwne_Mvl(<256 x double> %0) {
3945 ; CHECK-LABEL: pvfmkwne_Mvl:
3946 ; CHECK:       # %bb.0:
3947 ; CHECK-NEXT:    lea %s0, 256
3948 ; CHECK-NEXT:    lvl %s0
3949 ; CHECK-NEXT:    pvfmk.w.up.ne %vm2, %v0
3950 ; CHECK-NEXT:    vfmk.w.ne %vm3, %v0
3951 ; CHECK-NEXT:    b.l.t (, %s10)
3952   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkwne.Mvl(<256 x double> %0, i32 256)
3953   ret <512 x i1> %2
3956 ; Function Attrs: nounwind readnone
3957 declare <512 x i1> @llvm.ve.vl.pvfmkwne.Mvl(<256 x double>, i32)
3959 ; Function Attrs: nounwind readnone
3960 define fastcc <512 x i1> @pvfmkwne_MvMl(<256 x double> %0, <512 x i1> %1) {
3961 ; CHECK-LABEL: pvfmkwne_MvMl:
3962 ; CHECK:       # %bb.0:
3963 ; CHECK-NEXT:    lea %s0, 256
3964 ; CHECK-NEXT:    lvl %s0
3965 ; CHECK-NEXT:    pvfmk.w.up.ne %vm2, %v0, %vm2
3966 ; CHECK-NEXT:    vfmk.w.ne %vm3, %v0, %vm3
3967 ; CHECK-NEXT:    b.l.t (, %s10)
3968   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkwne.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
3969   ret <512 x i1> %3
3972 ; Function Attrs: nounwind readnone
3973 declare <512 x i1> @llvm.ve.vl.pvfmkwne.MvMl(<256 x double>, <512 x i1>, i32)
3975 ; Function Attrs: nounwind readnone
3976 define fastcc <512 x i1> @pvfmkweq_Mvl(<256 x double> %0) {
3977 ; CHECK-LABEL: pvfmkweq_Mvl:
3978 ; CHECK:       # %bb.0:
3979 ; CHECK-NEXT:    lea %s0, 256
3980 ; CHECK-NEXT:    lvl %s0
3981 ; CHECK-NEXT:    pvfmk.w.up.eq %vm2, %v0
3982 ; CHECK-NEXT:    vfmk.w.eq %vm3, %v0
3983 ; CHECK-NEXT:    b.l.t (, %s10)
3984   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkweq.Mvl(<256 x double> %0, i32 256)
3985   ret <512 x i1> %2
3988 ; Function Attrs: nounwind readnone
3989 declare <512 x i1> @llvm.ve.vl.pvfmkweq.Mvl(<256 x double>, i32)
3991 ; Function Attrs: nounwind readnone
3992 define fastcc <512 x i1> @pvfmkweq_MvMl(<256 x double> %0, <512 x i1> %1) {
3993 ; CHECK-LABEL: pvfmkweq_MvMl:
3994 ; CHECK:       # %bb.0:
3995 ; CHECK-NEXT:    lea %s0, 256
3996 ; CHECK-NEXT:    lvl %s0
3997 ; CHECK-NEXT:    pvfmk.w.up.eq %vm2, %v0, %vm2
3998 ; CHECK-NEXT:    vfmk.w.eq %vm3, %v0, %vm3
3999 ; CHECK-NEXT:    b.l.t (, %s10)
4000   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkweq.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
4001   ret <512 x i1> %3
4004 ; Function Attrs: nounwind readnone
4005 declare <512 x i1> @llvm.ve.vl.pvfmkweq.MvMl(<256 x double>, <512 x i1>, i32)
4007 ; Function Attrs: nounwind readnone
4008 define fastcc <512 x i1> @pvfmkwge_Mvl(<256 x double> %0) {
4009 ; CHECK-LABEL: pvfmkwge_Mvl:
4010 ; CHECK:       # %bb.0:
4011 ; CHECK-NEXT:    lea %s0, 256
4012 ; CHECK-NEXT:    lvl %s0
4013 ; CHECK-NEXT:    pvfmk.w.up.ge %vm2, %v0
4014 ; CHECK-NEXT:    vfmk.w.ge %vm3, %v0
4015 ; CHECK-NEXT:    b.l.t (, %s10)
4016   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkwge.Mvl(<256 x double> %0, i32 256)
4017   ret <512 x i1> %2
4020 ; Function Attrs: nounwind readnone
4021 declare <512 x i1> @llvm.ve.vl.pvfmkwge.Mvl(<256 x double>, i32)
4023 ; Function Attrs: nounwind readnone
4024 define fastcc <512 x i1> @pvfmkwge_MvMl(<256 x double> %0, <512 x i1> %1) {
4025 ; CHECK-LABEL: pvfmkwge_MvMl:
4026 ; CHECK:       # %bb.0:
4027 ; CHECK-NEXT:    lea %s0, 256
4028 ; CHECK-NEXT:    lvl %s0
4029 ; CHECK-NEXT:    pvfmk.w.up.ge %vm2, %v0, %vm2
4030 ; CHECK-NEXT:    vfmk.w.ge %vm3, %v0, %vm3
4031 ; CHECK-NEXT:    b.l.t (, %s10)
4032   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkwge.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
4033   ret <512 x i1> %3
4036 ; Function Attrs: nounwind readnone
4037 declare <512 x i1> @llvm.ve.vl.pvfmkwge.MvMl(<256 x double>, <512 x i1>, i32)
4039 ; Function Attrs: nounwind readnone
4040 define fastcc <512 x i1> @pvfmkwle_Mvl(<256 x double> %0) {
4041 ; CHECK-LABEL: pvfmkwle_Mvl:
4042 ; CHECK:       # %bb.0:
4043 ; CHECK-NEXT:    lea %s0, 256
4044 ; CHECK-NEXT:    lvl %s0
4045 ; CHECK-NEXT:    pvfmk.w.up.le %vm2, %v0
4046 ; CHECK-NEXT:    vfmk.w.le %vm3, %v0
4047 ; CHECK-NEXT:    b.l.t (, %s10)
4048   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkwle.Mvl(<256 x double> %0, i32 256)
4049   ret <512 x i1> %2
4052 ; Function Attrs: nounwind readnone
4053 declare <512 x i1> @llvm.ve.vl.pvfmkwle.Mvl(<256 x double>, i32)
4055 ; Function Attrs: nounwind readnone
4056 define fastcc <512 x i1> @pvfmkwle_MvMl(<256 x double> %0, <512 x i1> %1) {
4057 ; CHECK-LABEL: pvfmkwle_MvMl:
4058 ; CHECK:       # %bb.0:
4059 ; CHECK-NEXT:    lea %s0, 256
4060 ; CHECK-NEXT:    lvl %s0
4061 ; CHECK-NEXT:    pvfmk.w.up.le %vm2, %v0, %vm2
4062 ; CHECK-NEXT:    vfmk.w.le %vm3, %v0, %vm3
4063 ; CHECK-NEXT:    b.l.t (, %s10)
4064   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkwle.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
4065   ret <512 x i1> %3
4068 ; Function Attrs: nounwind readnone
4069 declare <512 x i1> @llvm.ve.vl.pvfmkwle.MvMl(<256 x double>, <512 x i1>, i32)
4071 ; Function Attrs: nounwind readnone
4072 define fastcc <512 x i1> @pvfmkwnum_Mvl(<256 x double> %0) {
4073 ; CHECK-LABEL: pvfmkwnum_Mvl:
4074 ; CHECK:       # %bb.0:
4075 ; CHECK-NEXT:    lea %s0, 256
4076 ; CHECK-NEXT:    lvl %s0
4077 ; CHECK-NEXT:    pvfmk.w.up.num %vm2, %v0
4078 ; CHECK-NEXT:    vfmk.w.num %vm3, %v0
4079 ; CHECK-NEXT:    b.l.t (, %s10)
4080   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkwnum.Mvl(<256 x double> %0, i32 256)
4081   ret <512 x i1> %2
4084 ; Function Attrs: nounwind readnone
4085 declare <512 x i1> @llvm.ve.vl.pvfmkwnum.Mvl(<256 x double>, i32)
4087 ; Function Attrs: nounwind readnone
4088 define fastcc <512 x i1> @pvfmkwnum_MvMl(<256 x double> %0, <512 x i1> %1) {
4089 ; CHECK-LABEL: pvfmkwnum_MvMl:
4090 ; CHECK:       # %bb.0:
4091 ; CHECK-NEXT:    lea %s0, 256
4092 ; CHECK-NEXT:    lvl %s0
4093 ; CHECK-NEXT:    pvfmk.w.up.num %vm2, %v0, %vm2
4094 ; CHECK-NEXT:    vfmk.w.num %vm3, %v0, %vm3
4095 ; CHECK-NEXT:    b.l.t (, %s10)
4096   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkwnum.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
4097   ret <512 x i1> %3
4100 ; Function Attrs: nounwind readnone
4101 declare <512 x i1> @llvm.ve.vl.pvfmkwnum.MvMl(<256 x double>, <512 x i1>, i32)
4103 ; Function Attrs: nounwind readnone
4104 define fastcc <512 x i1> @pvfmkwnan_Mvl(<256 x double> %0) {
4105 ; CHECK-LABEL: pvfmkwnan_Mvl:
4106 ; CHECK:       # %bb.0:
4107 ; CHECK-NEXT:    lea %s0, 256
4108 ; CHECK-NEXT:    lvl %s0
4109 ; CHECK-NEXT:    pvfmk.w.up.nan %vm2, %v0
4110 ; CHECK-NEXT:    vfmk.w.nan %vm3, %v0
4111 ; CHECK-NEXT:    b.l.t (, %s10)
4112   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkwnan.Mvl(<256 x double> %0, i32 256)
4113   ret <512 x i1> %2
4116 ; Function Attrs: nounwind readnone
4117 declare <512 x i1> @llvm.ve.vl.pvfmkwnan.Mvl(<256 x double>, i32)
4119 ; Function Attrs: nounwind readnone
4120 define fastcc <512 x i1> @pvfmkwnan_MvMl(<256 x double> %0, <512 x i1> %1) {
4121 ; CHECK-LABEL: pvfmkwnan_MvMl:
4122 ; CHECK:       # %bb.0:
4123 ; CHECK-NEXT:    lea %s0, 256
4124 ; CHECK-NEXT:    lvl %s0
4125 ; CHECK-NEXT:    pvfmk.w.up.nan %vm2, %v0, %vm2
4126 ; CHECK-NEXT:    vfmk.w.nan %vm3, %v0, %vm3
4127 ; CHECK-NEXT:    b.l.t (, %s10)
4128   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkwnan.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
4129   ret <512 x i1> %3
4132 ; Function Attrs: nounwind readnone
4133 declare <512 x i1> @llvm.ve.vl.pvfmkwnan.MvMl(<256 x double>, <512 x i1>, i32)
4135 ; Function Attrs: nounwind readnone
4136 define fastcc <512 x i1> @pvfmkwgtnan_Mvl(<256 x double> %0) {
4137 ; CHECK-LABEL: pvfmkwgtnan_Mvl:
4138 ; CHECK:       # %bb.0:
4139 ; CHECK-NEXT:    lea %s0, 256
4140 ; CHECK-NEXT:    lvl %s0
4141 ; CHECK-NEXT:    pvfmk.w.up.gtnan %vm2, %v0
4142 ; CHECK-NEXT:    vfmk.w.gtnan %vm3, %v0
4143 ; CHECK-NEXT:    b.l.t (, %s10)
4144   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgtnan.Mvl(<256 x double> %0, i32 256)
4145   ret <512 x i1> %2
4148 ; Function Attrs: nounwind readnone
4149 declare <512 x i1> @llvm.ve.vl.pvfmkwgtnan.Mvl(<256 x double>, i32)
4151 ; Function Attrs: nounwind readnone
4152 define fastcc <512 x i1> @pvfmkwgtnan_MvMl(<256 x double> %0, <512 x i1> %1) {
4153 ; CHECK-LABEL: pvfmkwgtnan_MvMl:
4154 ; CHECK:       # %bb.0:
4155 ; CHECK-NEXT:    lea %s0, 256
4156 ; CHECK-NEXT:    lvl %s0
4157 ; CHECK-NEXT:    pvfmk.w.up.gtnan %vm2, %v0, %vm2
4158 ; CHECK-NEXT:    vfmk.w.gtnan %vm3, %v0, %vm3
4159 ; CHECK-NEXT:    b.l.t (, %s10)
4160   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgtnan.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
4161   ret <512 x i1> %3
4164 ; Function Attrs: nounwind readnone
4165 declare <512 x i1> @llvm.ve.vl.pvfmkwgtnan.MvMl(<256 x double>, <512 x i1>, i32)
4167 ; Function Attrs: nounwind readnone
4168 define fastcc <512 x i1> @pvfmkwltnan_Mvl(<256 x double> %0) {
4169 ; CHECK-LABEL: pvfmkwltnan_Mvl:
4170 ; CHECK:       # %bb.0:
4171 ; CHECK-NEXT:    lea %s0, 256
4172 ; CHECK-NEXT:    lvl %s0
4173 ; CHECK-NEXT:    pvfmk.w.up.ltnan %vm2, %v0
4174 ; CHECK-NEXT:    vfmk.w.ltnan %vm3, %v0
4175 ; CHECK-NEXT:    b.l.t (, %s10)
4176   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkwltnan.Mvl(<256 x double> %0, i32 256)
4177   ret <512 x i1> %2
4180 ; Function Attrs: nounwind readnone
4181 declare <512 x i1> @llvm.ve.vl.pvfmkwltnan.Mvl(<256 x double>, i32)
4183 ; Function Attrs: nounwind readnone
4184 define fastcc <512 x i1> @pvfmkwltnan_MvMl(<256 x double> %0, <512 x i1> %1) {
4185 ; CHECK-LABEL: pvfmkwltnan_MvMl:
4186 ; CHECK:       # %bb.0:
4187 ; CHECK-NEXT:    lea %s0, 256
4188 ; CHECK-NEXT:    lvl %s0
4189 ; CHECK-NEXT:    pvfmk.w.up.ltnan %vm2, %v0, %vm2
4190 ; CHECK-NEXT:    vfmk.w.ltnan %vm3, %v0, %vm3
4191 ; CHECK-NEXT:    b.l.t (, %s10)
4192   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkwltnan.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
4193   ret <512 x i1> %3
4196 ; Function Attrs: nounwind readnone
4197 declare <512 x i1> @llvm.ve.vl.pvfmkwltnan.MvMl(<256 x double>, <512 x i1>, i32)
4199 ; Function Attrs: nounwind readnone
4200 define fastcc <512 x i1> @pvfmkwnenan_Mvl(<256 x double> %0) {
4201 ; CHECK-LABEL: pvfmkwnenan_Mvl:
4202 ; CHECK:       # %bb.0:
4203 ; CHECK-NEXT:    lea %s0, 256
4204 ; CHECK-NEXT:    lvl %s0
4205 ; CHECK-NEXT:    pvfmk.w.up.nenan %vm2, %v0
4206 ; CHECK-NEXT:    vfmk.w.nenan %vm3, %v0
4207 ; CHECK-NEXT:    b.l.t (, %s10)
4208   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkwnenan.Mvl(<256 x double> %0, i32 256)
4209   ret <512 x i1> %2
4212 ; Function Attrs: nounwind readnone
4213 declare <512 x i1> @llvm.ve.vl.pvfmkwnenan.Mvl(<256 x double>, i32)
4215 ; Function Attrs: nounwind readnone
4216 define fastcc <512 x i1> @pvfmkwnenan_MvMl(<256 x double> %0, <512 x i1> %1) {
4217 ; CHECK-LABEL: pvfmkwnenan_MvMl:
4218 ; CHECK:       # %bb.0:
4219 ; CHECK-NEXT:    lea %s0, 256
4220 ; CHECK-NEXT:    lvl %s0
4221 ; CHECK-NEXT:    pvfmk.w.up.nenan %vm2, %v0, %vm2
4222 ; CHECK-NEXT:    vfmk.w.nenan %vm3, %v0, %vm3
4223 ; CHECK-NEXT:    b.l.t (, %s10)
4224   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkwnenan.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
4225   ret <512 x i1> %3
4228 ; Function Attrs: nounwind readnone
4229 declare <512 x i1> @llvm.ve.vl.pvfmkwnenan.MvMl(<256 x double>, <512 x i1>, i32)
4231 ; Function Attrs: nounwind readnone
4232 define fastcc <512 x i1> @pvfmkweqnan_Mvl(<256 x double> %0) {
4233 ; CHECK-LABEL: pvfmkweqnan_Mvl:
4234 ; CHECK:       # %bb.0:
4235 ; CHECK-NEXT:    lea %s0, 256
4236 ; CHECK-NEXT:    lvl %s0
4237 ; CHECK-NEXT:    pvfmk.w.up.eqnan %vm2, %v0
4238 ; CHECK-NEXT:    vfmk.w.eqnan %vm3, %v0
4239 ; CHECK-NEXT:    b.l.t (, %s10)
4240   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkweqnan.Mvl(<256 x double> %0, i32 256)
4241   ret <512 x i1> %2
4244 ; Function Attrs: nounwind readnone
4245 declare <512 x i1> @llvm.ve.vl.pvfmkweqnan.Mvl(<256 x double>, i32)
4247 ; Function Attrs: nounwind readnone
4248 define fastcc <512 x i1> @pvfmkweqnan_MvMl(<256 x double> %0, <512 x i1> %1) {
4249 ; CHECK-LABEL: pvfmkweqnan_MvMl:
4250 ; CHECK:       # %bb.0:
4251 ; CHECK-NEXT:    lea %s0, 256
4252 ; CHECK-NEXT:    lvl %s0
4253 ; CHECK-NEXT:    pvfmk.w.up.eqnan %vm2, %v0, %vm2
4254 ; CHECK-NEXT:    vfmk.w.eqnan %vm3, %v0, %vm3
4255 ; CHECK-NEXT:    b.l.t (, %s10)
4256   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkweqnan.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
4257   ret <512 x i1> %3
4260 ; Function Attrs: nounwind readnone
4261 declare <512 x i1> @llvm.ve.vl.pvfmkweqnan.MvMl(<256 x double>, <512 x i1>, i32)
4263 ; Function Attrs: nounwind readnone
4264 define fastcc <512 x i1> @pvfmkwgenan_Mvl(<256 x double> %0) {
4265 ; CHECK-LABEL: pvfmkwgenan_Mvl:
4266 ; CHECK:       # %bb.0:
4267 ; CHECK-NEXT:    lea %s0, 256
4268 ; CHECK-NEXT:    lvl %s0
4269 ; CHECK-NEXT:    pvfmk.w.up.genan %vm2, %v0
4270 ; CHECK-NEXT:    vfmk.w.genan %vm3, %v0
4271 ; CHECK-NEXT:    b.l.t (, %s10)
4272   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgenan.Mvl(<256 x double> %0, i32 256)
4273   ret <512 x i1> %2
4276 ; Function Attrs: nounwind readnone
4277 declare <512 x i1> @llvm.ve.vl.pvfmkwgenan.Mvl(<256 x double>, i32)
4279 ; Function Attrs: nounwind readnone
4280 define fastcc <512 x i1> @pvfmkwgenan_MvMl(<256 x double> %0, <512 x i1> %1) {
4281 ; CHECK-LABEL: pvfmkwgenan_MvMl:
4282 ; CHECK:       # %bb.0:
4283 ; CHECK-NEXT:    lea %s0, 256
4284 ; CHECK-NEXT:    lvl %s0
4285 ; CHECK-NEXT:    pvfmk.w.up.genan %vm2, %v0, %vm2
4286 ; CHECK-NEXT:    vfmk.w.genan %vm3, %v0, %vm3
4287 ; CHECK-NEXT:    b.l.t (, %s10)
4288   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgenan.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
4289   ret <512 x i1> %3
4292 ; Function Attrs: nounwind readnone
4293 declare <512 x i1> @llvm.ve.vl.pvfmkwgenan.MvMl(<256 x double>, <512 x i1>, i32)
4295 ; Function Attrs: nounwind readnone
4296 define fastcc <512 x i1> @pvfmkwlenan_Mvl(<256 x double> %0) {
4297 ; CHECK-LABEL: pvfmkwlenan_Mvl:
4298 ; CHECK:       # %bb.0:
4299 ; CHECK-NEXT:    lea %s0, 256
4300 ; CHECK-NEXT:    lvl %s0
4301 ; CHECK-NEXT:    pvfmk.w.up.lenan %vm2, %v0
4302 ; CHECK-NEXT:    vfmk.w.lenan %vm3, %v0
4303 ; CHECK-NEXT:    b.l.t (, %s10)
4304   %2 = tail call <512 x i1> @llvm.ve.vl.pvfmkwlenan.Mvl(<256 x double> %0, i32 256)
4305   ret <512 x i1> %2
4308 ; Function Attrs: nounwind readnone
4309 declare <512 x i1> @llvm.ve.vl.pvfmkwlenan.Mvl(<256 x double>, i32)
4311 ; Function Attrs: nounwind readnone
4312 define fastcc <512 x i1> @pvfmkwlenan_MvMl(<256 x double> %0, <512 x i1> %1) {
4313 ; CHECK-LABEL: pvfmkwlenan_MvMl:
4314 ; CHECK:       # %bb.0:
4315 ; CHECK-NEXT:    lea %s0, 256
4316 ; CHECK-NEXT:    lvl %s0
4317 ; CHECK-NEXT:    pvfmk.w.up.lenan %vm2, %v0, %vm2
4318 ; CHECK-NEXT:    vfmk.w.lenan %vm3, %v0, %vm3
4319 ; CHECK-NEXT:    b.l.t (, %s10)
4320   %3 = tail call <512 x i1> @llvm.ve.vl.pvfmkwlenan.MvMl(<256 x double> %0, <512 x i1> %1, i32 256)
4321   ret <512 x i1> %3
4324 ; Function Attrs: nounwind readnone
4325 declare <512 x i1> @llvm.ve.vl.pvfmkwlenan.MvMl(<256 x double>, <512 x i1>, i32)