xref: /llvm-project/llvm/test/CodeGen/VE/VELIntrinsics/vfmk.ll (revision 398f29fbb08bbbf17714c88df05ebe14cce01c12)
1; RUN: llc < %s -mtriple=ve -mattr=+vpu | FileCheck %s
2
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.
8
9; Function Attrs: nounwind readnone
10define 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
19}
20
21; Function Attrs: nounwind readnone
22declare <256 x i1> @llvm.ve.vl.vfmklat.ml(i32)
23
24; Function Attrs: nounwind readnone
25define 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
34}
35
36; Function Attrs: nounwind readnone
37declare <256 x i1> @llvm.ve.vl.vfmklaf.ml(i32)
38
39; Function Attrs: nounwind readnone
40define 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
49}
50
51; Function Attrs: nounwind readnone
52declare <256 x i1> @llvm.ve.vl.vfmklgt.mvl(<256 x double>, i32)
53
54; Function Attrs: nounwind readnone
55define 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
64}
65
66; Function Attrs: nounwind readnone
67declare <256 x i1> @llvm.ve.vl.vfmklgt.mvml(<256 x double>, <256 x i1>, i32)
68
69; Function Attrs: nounwind readnone
70define 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
79}
80
81; Function Attrs: nounwind readnone
82declare <256 x i1> @llvm.ve.vl.vfmkllt.mvl(<256 x double>, i32)
83
84; Function Attrs: nounwind readnone
85define 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
94}
95
96; Function Attrs: nounwind readnone
97declare <256 x i1> @llvm.ve.vl.vfmkllt.mvml(<256 x double>, <256 x i1>, i32)
98
99; Function Attrs: nounwind readnone
100define 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
109}
110
111; Function Attrs: nounwind readnone
112declare <256 x i1> @llvm.ve.vl.vfmklne.mvl(<256 x double>, i32)
113
114; Function Attrs: nounwind readnone
115define 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
124}
125
126; Function Attrs: nounwind readnone
127declare <256 x i1> @llvm.ve.vl.vfmklne.mvml(<256 x double>, <256 x i1>, i32)
128
129; Function Attrs: nounwind readnone
130define 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
139}
140
141; Function Attrs: nounwind readnone
142declare <256 x i1> @llvm.ve.vl.vfmkleq.mvl(<256 x double>, i32)
143
144; Function Attrs: nounwind readnone
145define 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
154}
155
156; Function Attrs: nounwind readnone
157declare <256 x i1> @llvm.ve.vl.vfmkleq.mvml(<256 x double>, <256 x i1>, i32)
158
159; Function Attrs: nounwind readnone
160define 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
169}
170
171; Function Attrs: nounwind readnone
172declare <256 x i1> @llvm.ve.vl.vfmklge.mvl(<256 x double>, i32)
173
174; Function Attrs: nounwind readnone
175define 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
184}
185
186; Function Attrs: nounwind readnone
187declare <256 x i1> @llvm.ve.vl.vfmklge.mvml(<256 x double>, <256 x i1>, i32)
188
189; Function Attrs: nounwind readnone
190define 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
199}
200
201; Function Attrs: nounwind readnone
202declare <256 x i1> @llvm.ve.vl.vfmklle.mvl(<256 x double>, i32)
203
204; Function Attrs: nounwind readnone
205define 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
214}
215
216; Function Attrs: nounwind readnone
217declare <256 x i1> @llvm.ve.vl.vfmklle.mvml(<256 x double>, <256 x i1>, i32)
218
219; Function Attrs: nounwind readnone
220define 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
229}
230
231; Function Attrs: nounwind readnone
232declare <256 x i1> @llvm.ve.vl.vfmklnum.mvl(<256 x double>, i32)
233
234; Function Attrs: nounwind readnone
235define 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
244}
245
246; Function Attrs: nounwind readnone
247declare <256 x i1> @llvm.ve.vl.vfmklnum.mvml(<256 x double>, <256 x i1>, i32)
248
249; Function Attrs: nounwind readnone
250define 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
259}
260
261; Function Attrs: nounwind readnone
262declare <256 x i1> @llvm.ve.vl.vfmklnan.mvl(<256 x double>, i32)
263
264; Function Attrs: nounwind readnone
265define 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
274}
275
276; Function Attrs: nounwind readnone
277declare <256 x i1> @llvm.ve.vl.vfmklnan.mvml(<256 x double>, <256 x i1>, i32)
278
279; Function Attrs: nounwind readnone
280define 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
289}
290
291; Function Attrs: nounwind readnone
292declare <256 x i1> @llvm.ve.vl.vfmklgtnan.mvl(<256 x double>, i32)
293
294; Function Attrs: nounwind readnone
295define 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
304}
305
306; Function Attrs: nounwind readnone
307declare <256 x i1> @llvm.ve.vl.vfmklgtnan.mvml(<256 x double>, <256 x i1>, i32)
308
309; Function Attrs: nounwind readnone
310define 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
319}
320
321; Function Attrs: nounwind readnone
322declare <256 x i1> @llvm.ve.vl.vfmklltnan.mvl(<256 x double>, i32)
323
324; Function Attrs: nounwind readnone
325define 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
334}
335
336; Function Attrs: nounwind readnone
337declare <256 x i1> @llvm.ve.vl.vfmklltnan.mvml(<256 x double>, <256 x i1>, i32)
338
339; Function Attrs: nounwind readnone
340define 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
349}
350
351; Function Attrs: nounwind readnone
352declare <256 x i1> @llvm.ve.vl.vfmklnenan.mvl(<256 x double>, i32)
353
354; Function Attrs: nounwind readnone
355define 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
364}
365
366; Function Attrs: nounwind readnone
367declare <256 x i1> @llvm.ve.vl.vfmklnenan.mvml(<256 x double>, <256 x i1>, i32)
368
369; Function Attrs: nounwind readnone
370define 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
379}
380
381; Function Attrs: nounwind readnone
382declare <256 x i1> @llvm.ve.vl.vfmkleqnan.mvl(<256 x double>, i32)
383
384; Function Attrs: nounwind readnone
385define 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
394}
395
396; Function Attrs: nounwind readnone
397declare <256 x i1> @llvm.ve.vl.vfmkleqnan.mvml(<256 x double>, <256 x i1>, i32)
398
399; Function Attrs: nounwind readnone
400define 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
409}
410
411; Function Attrs: nounwind readnone
412declare <256 x i1> @llvm.ve.vl.vfmklgenan.mvl(<256 x double>, i32)
413
414; Function Attrs: nounwind readnone
415define 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
424}
425
426; Function Attrs: nounwind readnone
427declare <256 x i1> @llvm.ve.vl.vfmklgenan.mvml(<256 x double>, <256 x i1>, i32)
428
429; Function Attrs: nounwind readnone
430define 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
439}
440
441; Function Attrs: nounwind readnone
442declare <256 x i1> @llvm.ve.vl.vfmkllenan.mvl(<256 x double>, i32)
443
444; Function Attrs: nounwind readnone
445define 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
454}
455
456; Function Attrs: nounwind readnone
457declare <256 x i1> @llvm.ve.vl.vfmkllenan.mvml(<256 x double>, <256 x i1>, i32)
458
459; Function Attrs: nounwind readnone
460define 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
469}
470
471; Function Attrs: nounwind readnone
472declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32)
473
474; Function Attrs: nounwind readnone
475define 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
484}
485
486; Function Attrs: nounwind readnone
487declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvml(<256 x double>, <256 x i1>, i32)
488
489; Function Attrs: nounwind readnone
490define 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
499}
500
501; Function Attrs: nounwind readnone
502declare <256 x i1> @llvm.ve.vl.vfmkwlt.mvl(<256 x double>, i32)
503
504; Function Attrs: nounwind readnone
505define 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
514}
515
516; Function Attrs: nounwind readnone
517declare <256 x i1> @llvm.ve.vl.vfmkwlt.mvml(<256 x double>, <256 x i1>, i32)
518
519; Function Attrs: nounwind readnone
520define 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
529}
530
531; Function Attrs: nounwind readnone
532declare <256 x i1> @llvm.ve.vl.vfmkwne.mvl(<256 x double>, i32)
533
534; Function Attrs: nounwind readnone
535define 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
544}
545
546; Function Attrs: nounwind readnone
547declare <256 x i1> @llvm.ve.vl.vfmkwne.mvml(<256 x double>, <256 x i1>, i32)
548
549; Function Attrs: nounwind readnone
550define 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
559}
560
561; Function Attrs: nounwind readnone
562declare <256 x i1> @llvm.ve.vl.vfmkweq.mvl(<256 x double>, i32)
563
564; Function Attrs: nounwind readnone
565define 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
574}
575
576; Function Attrs: nounwind readnone
577declare <256 x i1> @llvm.ve.vl.vfmkweq.mvml(<256 x double>, <256 x i1>, i32)
578
579; Function Attrs: nounwind readnone
580define 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
589}
590
591; Function Attrs: nounwind readnone
592declare <256 x i1> @llvm.ve.vl.vfmkwge.mvl(<256 x double>, i32)
593
594; Function Attrs: nounwind readnone
595define 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
604}
605
606; Function Attrs: nounwind readnone
607declare <256 x i1> @llvm.ve.vl.vfmkwge.mvml(<256 x double>, <256 x i1>, i32)
608
609; Function Attrs: nounwind readnone
610define 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
619}
620
621; Function Attrs: nounwind readnone
622declare <256 x i1> @llvm.ve.vl.vfmkwle.mvl(<256 x double>, i32)
623
624; Function Attrs: nounwind readnone
625define 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
634}
635
636; Function Attrs: nounwind readnone
637declare <256 x i1> @llvm.ve.vl.vfmkwle.mvml(<256 x double>, <256 x i1>, i32)
638
639; Function Attrs: nounwind readnone
640define 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
649}
650
651; Function Attrs: nounwind readnone
652declare <256 x i1> @llvm.ve.vl.vfmkwnum.mvl(<256 x double>, i32)
653
654; Function Attrs: nounwind readnone
655define 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
664}
665
666; Function Attrs: nounwind readnone
667declare <256 x i1> @llvm.ve.vl.vfmkwnum.mvml(<256 x double>, <256 x i1>, i32)
668
669; Function Attrs: nounwind readnone
670define 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
679}
680
681; Function Attrs: nounwind readnone
682declare <256 x i1> @llvm.ve.vl.vfmkwnan.mvl(<256 x double>, i32)
683
684; Function Attrs: nounwind readnone
685define 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
694}
695
696; Function Attrs: nounwind readnone
697declare <256 x i1> @llvm.ve.vl.vfmkwnan.mvml(<256 x double>, <256 x i1>, i32)
698
699; Function Attrs: nounwind readnone
700define 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
709}
710
711; Function Attrs: nounwind readnone
712declare <256 x i1> @llvm.ve.vl.vfmkwgtnan.mvl(<256 x double>, i32)
713
714; Function Attrs: nounwind readnone
715define 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
724}
725
726; Function Attrs: nounwind readnone
727declare <256 x i1> @llvm.ve.vl.vfmkwgtnan.mvml(<256 x double>, <256 x i1>, i32)
728
729; Function Attrs: nounwind readnone
730define 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
739}
740
741; Function Attrs: nounwind readnone
742declare <256 x i1> @llvm.ve.vl.vfmkwltnan.mvl(<256 x double>, i32)
743
744; Function Attrs: nounwind readnone
745define 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
754}
755
756; Function Attrs: nounwind readnone
757declare <256 x i1> @llvm.ve.vl.vfmkwltnan.mvml(<256 x double>, <256 x i1>, i32)
758
759; Function Attrs: nounwind readnone
760define 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
769}
770
771; Function Attrs: nounwind readnone
772declare <256 x i1> @llvm.ve.vl.vfmkwnenan.mvl(<256 x double>, i32)
773
774; Function Attrs: nounwind readnone
775define 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
784}
785
786; Function Attrs: nounwind readnone
787declare <256 x i1> @llvm.ve.vl.vfmkwnenan.mvml(<256 x double>, <256 x i1>, i32)
788
789; Function Attrs: nounwind readnone
790define 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
799}
800
801; Function Attrs: nounwind readnone
802declare <256 x i1> @llvm.ve.vl.vfmkweqnan.mvl(<256 x double>, i32)
803
804; Function Attrs: nounwind readnone
805define 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
814}
815
816; Function Attrs: nounwind readnone
817declare <256 x i1> @llvm.ve.vl.vfmkweqnan.mvml(<256 x double>, <256 x i1>, i32)
818
819; Function Attrs: nounwind readnone
820define 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
829}
830
831; Function Attrs: nounwind readnone
832declare <256 x i1> @llvm.ve.vl.vfmkwgenan.mvl(<256 x double>, i32)
833
834; Function Attrs: nounwind readnone
835define 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
844}
845
846; Function Attrs: nounwind readnone
847declare <256 x i1> @llvm.ve.vl.vfmkwgenan.mvml(<256 x double>, <256 x i1>, i32)
848
849; Function Attrs: nounwind readnone
850define 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
859}
860
861; Function Attrs: nounwind readnone
862declare <256 x i1> @llvm.ve.vl.vfmkwlenan.mvl(<256 x double>, i32)
863
864; Function Attrs: nounwind readnone
865define 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
874}
875
876; Function Attrs: nounwind readnone
877declare <256 x i1> @llvm.ve.vl.vfmkwlenan.mvml(<256 x double>, <256 x i1>, i32)
878
879; Function Attrs: nounwind readnone
880define 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
889}
890
891; Function Attrs: nounwind readnone
892declare <256 x i1> @llvm.ve.vl.vfmkdgt.mvl(<256 x double>, i32)
893
894; Function Attrs: nounwind readnone
895define 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
904}
905
906; Function Attrs: nounwind readnone
907declare <256 x i1> @llvm.ve.vl.vfmkdgt.mvml(<256 x double>, <256 x i1>, i32)
908
909; Function Attrs: nounwind readnone
910define 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
919}
920
921; Function Attrs: nounwind readnone
922declare <256 x i1> @llvm.ve.vl.vfmkdlt.mvl(<256 x double>, i32)
923
924; Function Attrs: nounwind readnone
925define 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
934}
935
936; Function Attrs: nounwind readnone
937declare <256 x i1> @llvm.ve.vl.vfmkdlt.mvml(<256 x double>, <256 x i1>, i32)
938
939; Function Attrs: nounwind readnone
940define 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
949}
950
951; Function Attrs: nounwind readnone
952declare <256 x i1> @llvm.ve.vl.vfmkdne.mvl(<256 x double>, i32)
953
954; Function Attrs: nounwind readnone
955define 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
964}
965
966; Function Attrs: nounwind readnone
967declare <256 x i1> @llvm.ve.vl.vfmkdne.mvml(<256 x double>, <256 x i1>, i32)
968
969; Function Attrs: nounwind readnone
970define 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
979}
980
981; Function Attrs: nounwind readnone
982declare <256 x i1> @llvm.ve.vl.vfmkdeq.mvl(<256 x double>, i32)
983
984; Function Attrs: nounwind readnone
985define 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
994}
995
996; Function Attrs: nounwind readnone
997declare <256 x i1> @llvm.ve.vl.vfmkdeq.mvml(<256 x double>, <256 x i1>, i32)
998
999; Function Attrs: nounwind readnone
1000define 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
1009}
1010
1011; Function Attrs: nounwind readnone
1012declare <256 x i1> @llvm.ve.vl.vfmkdge.mvl(<256 x double>, i32)
1013
1014; Function Attrs: nounwind readnone
1015define 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
1024}
1025
1026; Function Attrs: nounwind readnone
1027declare <256 x i1> @llvm.ve.vl.vfmkdge.mvml(<256 x double>, <256 x i1>, i32)
1028
1029; Function Attrs: nounwind readnone
1030define 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
1039}
1040
1041; Function Attrs: nounwind readnone
1042declare <256 x i1> @llvm.ve.vl.vfmkdle.mvl(<256 x double>, i32)
1043
1044; Function Attrs: nounwind readnone
1045define 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
1054}
1055
1056; Function Attrs: nounwind readnone
1057declare <256 x i1> @llvm.ve.vl.vfmkdle.mvml(<256 x double>, <256 x i1>, i32)
1058
1059; Function Attrs: nounwind readnone
1060define 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
1069}
1070
1071; Function Attrs: nounwind readnone
1072declare <256 x i1> @llvm.ve.vl.vfmkdnum.mvl(<256 x double>, i32)
1073
1074; Function Attrs: nounwind readnone
1075define 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
1084}
1085
1086; Function Attrs: nounwind readnone
1087declare <256 x i1> @llvm.ve.vl.vfmkdnum.mvml(<256 x double>, <256 x i1>, i32)
1088
1089; Function Attrs: nounwind readnone
1090define 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
1099}
1100
1101; Function Attrs: nounwind readnone
1102declare <256 x i1> @llvm.ve.vl.vfmkdnan.mvl(<256 x double>, i32)
1103
1104; Function Attrs: nounwind readnone
1105define 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
1114}
1115
1116; Function Attrs: nounwind readnone
1117declare <256 x i1> @llvm.ve.vl.vfmkdnan.mvml(<256 x double>, <256 x i1>, i32)
1118
1119; Function Attrs: nounwind readnone
1120define 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
1129}
1130
1131; Function Attrs: nounwind readnone
1132declare <256 x i1> @llvm.ve.vl.vfmkdgtnan.mvl(<256 x double>, i32)
1133
1134; Function Attrs: nounwind readnone
1135define 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
1144}
1145
1146; Function Attrs: nounwind readnone
1147declare <256 x i1> @llvm.ve.vl.vfmkdgtnan.mvml(<256 x double>, <256 x i1>, i32)
1148
1149; Function Attrs: nounwind readnone
1150define 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
1159}
1160
1161; Function Attrs: nounwind readnone
1162declare <256 x i1> @llvm.ve.vl.vfmkdltnan.mvl(<256 x double>, i32)
1163
1164; Function Attrs: nounwind readnone
1165define 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
1174}
1175
1176; Function Attrs: nounwind readnone
1177declare <256 x i1> @llvm.ve.vl.vfmkdltnan.mvml(<256 x double>, <256 x i1>, i32)
1178
1179; Function Attrs: nounwind readnone
1180define 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
1189}
1190
1191; Function Attrs: nounwind readnone
1192declare <256 x i1> @llvm.ve.vl.vfmkdnenan.mvl(<256 x double>, i32)
1193
1194; Function Attrs: nounwind readnone
1195define 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
1204}
1205
1206; Function Attrs: nounwind readnone
1207declare <256 x i1> @llvm.ve.vl.vfmkdnenan.mvml(<256 x double>, <256 x i1>, i32)
1208
1209; Function Attrs: nounwind readnone
1210define 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
1219}
1220
1221; Function Attrs: nounwind readnone
1222declare <256 x i1> @llvm.ve.vl.vfmkdeqnan.mvl(<256 x double>, i32)
1223
1224; Function Attrs: nounwind readnone
1225define 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
1234}
1235
1236; Function Attrs: nounwind readnone
1237declare <256 x i1> @llvm.ve.vl.vfmkdeqnan.mvml(<256 x double>, <256 x i1>, i32)
1238
1239; Function Attrs: nounwind readnone
1240define 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
1249}
1250
1251; Function Attrs: nounwind readnone
1252declare <256 x i1> @llvm.ve.vl.vfmkdgenan.mvl(<256 x double>, i32)
1253
1254; Function Attrs: nounwind readnone
1255define 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
1264}
1265
1266; Function Attrs: nounwind readnone
1267declare <256 x i1> @llvm.ve.vl.vfmkdgenan.mvml(<256 x double>, <256 x i1>, i32)
1268
1269; Function Attrs: nounwind readnone
1270define 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
1279}
1280
1281; Function Attrs: nounwind readnone
1282declare <256 x i1> @llvm.ve.vl.vfmkdlenan.mvl(<256 x double>, i32)
1283
1284; Function Attrs: nounwind readnone
1285define 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
1294}
1295
1296; Function Attrs: nounwind readnone
1297declare <256 x i1> @llvm.ve.vl.vfmkdlenan.mvml(<256 x double>, <256 x i1>, i32)
1298
1299; Function Attrs: nounwind readnone
1300define 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
1309}
1310
1311; Function Attrs: nounwind readnone
1312declare <256 x i1> @llvm.ve.vl.vfmksgt.mvl(<256 x double>, i32)
1313
1314; Function Attrs: nounwind readnone
1315define 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
1324}
1325
1326; Function Attrs: nounwind readnone
1327declare <256 x i1> @llvm.ve.vl.vfmksgt.mvml(<256 x double>, <256 x i1>, i32)
1328
1329; Function Attrs: nounwind readnone
1330define 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
1339}
1340
1341; Function Attrs: nounwind readnone
1342declare <256 x i1> @llvm.ve.vl.vfmkslt.mvl(<256 x double>, i32)
1343
1344; Function Attrs: nounwind readnone
1345define 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
1354}
1355
1356; Function Attrs: nounwind readnone
1357declare <256 x i1> @llvm.ve.vl.vfmkslt.mvml(<256 x double>, <256 x i1>, i32)
1358
1359; Function Attrs: nounwind readnone
1360define 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
1369}
1370
1371; Function Attrs: nounwind readnone
1372declare <256 x i1> @llvm.ve.vl.vfmksne.mvl(<256 x double>, i32)
1373
1374; Function Attrs: nounwind readnone
1375define 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
1384}
1385
1386; Function Attrs: nounwind readnone
1387declare <256 x i1> @llvm.ve.vl.vfmksne.mvml(<256 x double>, <256 x i1>, i32)
1388
1389; Function Attrs: nounwind readnone
1390define 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
1399}
1400
1401; Function Attrs: nounwind readnone
1402declare <256 x i1> @llvm.ve.vl.vfmkseq.mvl(<256 x double>, i32)
1403
1404; Function Attrs: nounwind readnone
1405define 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
1414}
1415
1416; Function Attrs: nounwind readnone
1417declare <256 x i1> @llvm.ve.vl.vfmkseq.mvml(<256 x double>, <256 x i1>, i32)
1418
1419; Function Attrs: nounwind readnone
1420define 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
1429}
1430
1431; Function Attrs: nounwind readnone
1432declare <256 x i1> @llvm.ve.vl.vfmksge.mvl(<256 x double>, i32)
1433
1434; Function Attrs: nounwind readnone
1435define 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
1444}
1445
1446; Function Attrs: nounwind readnone
1447declare <256 x i1> @llvm.ve.vl.vfmksge.mvml(<256 x double>, <256 x i1>, i32)
1448
1449; Function Attrs: nounwind readnone
1450define 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
1459}
1460
1461; Function Attrs: nounwind readnone
1462declare <256 x i1> @llvm.ve.vl.vfmksle.mvl(<256 x double>, i32)
1463
1464; Function Attrs: nounwind readnone
1465define 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
1474}
1475
1476; Function Attrs: nounwind readnone
1477declare <256 x i1> @llvm.ve.vl.vfmksle.mvml(<256 x double>, <256 x i1>, i32)
1478
1479; Function Attrs: nounwind readnone
1480define 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
1489}
1490
1491; Function Attrs: nounwind readnone
1492declare <256 x i1> @llvm.ve.vl.vfmksnum.mvl(<256 x double>, i32)
1493
1494; Function Attrs: nounwind readnone
1495define 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
1504}
1505
1506; Function Attrs: nounwind readnone
1507declare <256 x i1> @llvm.ve.vl.vfmksnum.mvml(<256 x double>, <256 x i1>, i32)
1508
1509; Function Attrs: nounwind readnone
1510define 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
1519}
1520
1521; Function Attrs: nounwind readnone
1522declare <256 x i1> @llvm.ve.vl.vfmksnan.mvl(<256 x double>, i32)
1523
1524; Function Attrs: nounwind readnone
1525define 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
1534}
1535
1536; Function Attrs: nounwind readnone
1537declare <256 x i1> @llvm.ve.vl.vfmksnan.mvml(<256 x double>, <256 x i1>, i32)
1538
1539; Function Attrs: nounwind readnone
1540define 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
1549}
1550
1551; Function Attrs: nounwind readnone
1552declare <256 x i1> @llvm.ve.vl.vfmksgtnan.mvl(<256 x double>, i32)
1553
1554; Function Attrs: nounwind readnone
1555define 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
1564}
1565
1566; Function Attrs: nounwind readnone
1567declare <256 x i1> @llvm.ve.vl.vfmksgtnan.mvml(<256 x double>, <256 x i1>, i32)
1568
1569; Function Attrs: nounwind readnone
1570define 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
1579}
1580
1581; Function Attrs: nounwind readnone
1582declare <256 x i1> @llvm.ve.vl.vfmksltnan.mvl(<256 x double>, i32)
1583
1584; Function Attrs: nounwind readnone
1585define 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
1594}
1595
1596; Function Attrs: nounwind readnone
1597declare <256 x i1> @llvm.ve.vl.vfmksltnan.mvml(<256 x double>, <256 x i1>, i32)
1598
1599; Function Attrs: nounwind readnone
1600define 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
1609}
1610
1611; Function Attrs: nounwind readnone
1612declare <256 x i1> @llvm.ve.vl.vfmksnenan.mvl(<256 x double>, i32)
1613
1614; Function Attrs: nounwind readnone
1615define 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
1624}
1625
1626; Function Attrs: nounwind readnone
1627declare <256 x i1> @llvm.ve.vl.vfmksnenan.mvml(<256 x double>, <256 x i1>, i32)
1628
1629; Function Attrs: nounwind readnone
1630define 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
1639}
1640
1641; Function Attrs: nounwind readnone
1642declare <256 x i1> @llvm.ve.vl.vfmkseqnan.mvl(<256 x double>, i32)
1643
1644; Function Attrs: nounwind readnone
1645define 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
1654}
1655
1656; Function Attrs: nounwind readnone
1657declare <256 x i1> @llvm.ve.vl.vfmkseqnan.mvml(<256 x double>, <256 x i1>, i32)
1658
1659; Function Attrs: nounwind readnone
1660define 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
1669}
1670
1671; Function Attrs: nounwind readnone
1672declare <256 x i1> @llvm.ve.vl.vfmksgenan.mvl(<256 x double>, i32)
1673
1674; Function Attrs: nounwind readnone
1675define 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
1684}
1685
1686; Function Attrs: nounwind readnone
1687declare <256 x i1> @llvm.ve.vl.vfmksgenan.mvml(<256 x double>, <256 x i1>, i32)
1688
1689; Function Attrs: nounwind readnone
1690define 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
1699}
1700
1701; Function Attrs: nounwind readnone
1702declare <256 x i1> @llvm.ve.vl.vfmkslenan.mvl(<256 x double>, i32)
1703
1704; Function Attrs: nounwind readnone
1705define 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
1714}
1715
1716; Function Attrs: nounwind readnone
1717declare <256 x i1> @llvm.ve.vl.vfmkslenan.mvml(<256 x double>, <256 x i1>, i32)
1718
1719; Function Attrs: nounwind readnone
1720define 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
1730}
1731
1732; Function Attrs: nounwind readnone
1733declare <512 x i1> @llvm.ve.vl.pvfmkat.Ml(i32)
1734
1735; Function Attrs: nounwind readnone
1736define 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
1746}
1747
1748; Function Attrs: nounwind readnone
1749declare <512 x i1> @llvm.ve.vl.pvfmkaf.Ml(i32)
1750
1751; Function Attrs: nounwind readnone
1752define 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
1761}
1762
1763; Function Attrs: nounwind readnone
1764declare <256 x i1> @llvm.ve.vl.pvfmkslogt.mvl(<256 x double>, i32)
1765
1766; Function Attrs: nounwind readnone
1767define 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
1776}
1777
1778; Function Attrs: nounwind readnone
1779declare <256 x i1> @llvm.ve.vl.pvfmkslogt.mvml(<256 x double>, <256 x i1>, i32)
1780
1781; Function Attrs: nounwind readnone
1782define 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
1791}
1792
1793; Function Attrs: nounwind readnone
1794declare <256 x i1> @llvm.ve.vl.pvfmkslolt.mvl(<256 x double>, i32)
1795
1796; Function Attrs: nounwind readnone
1797define 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
1806}
1807
1808; Function Attrs: nounwind readnone
1809declare <256 x i1> @llvm.ve.vl.pvfmkslolt.mvml(<256 x double>, <256 x i1>, i32)
1810
1811; Function Attrs: nounwind readnone
1812define 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
1821}
1822
1823; Function Attrs: nounwind readnone
1824declare <256 x i1> @llvm.ve.vl.pvfmkslone.mvl(<256 x double>, i32)
1825
1826; Function Attrs: nounwind readnone
1827define 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
1836}
1837
1838; Function Attrs: nounwind readnone
1839declare <256 x i1> @llvm.ve.vl.pvfmkslone.mvml(<256 x double>, <256 x i1>, i32)
1840
1841; Function Attrs: nounwind readnone
1842define 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
1851}
1852
1853; Function Attrs: nounwind readnone
1854declare <256 x i1> @llvm.ve.vl.pvfmksloeq.mvl(<256 x double>, i32)
1855
1856; Function Attrs: nounwind readnone
1857define 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
1866}
1867
1868; Function Attrs: nounwind readnone
1869declare <256 x i1> @llvm.ve.vl.pvfmksloeq.mvml(<256 x double>, <256 x i1>, i32)
1870
1871; Function Attrs: nounwind readnone
1872define 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
1881}
1882
1883; Function Attrs: nounwind readnone
1884declare <256 x i1> @llvm.ve.vl.pvfmksloge.mvl(<256 x double>, i32)
1885
1886; Function Attrs: nounwind readnone
1887define 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
1896}
1897
1898; Function Attrs: nounwind readnone
1899declare <256 x i1> @llvm.ve.vl.pvfmksloge.mvml(<256 x double>, <256 x i1>, i32)
1900
1901; Function Attrs: nounwind readnone
1902define 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
1911}
1912
1913; Function Attrs: nounwind readnone
1914declare <256 x i1> @llvm.ve.vl.pvfmkslole.mvl(<256 x double>, i32)
1915
1916; Function Attrs: nounwind readnone
1917define 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
1926}
1927
1928; Function Attrs: nounwind readnone
1929declare <256 x i1> @llvm.ve.vl.pvfmkslole.mvml(<256 x double>, <256 x i1>, i32)
1930
1931; Function Attrs: nounwind readnone
1932define 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
1941}
1942
1943; Function Attrs: nounwind readnone
1944declare <256 x i1> @llvm.ve.vl.pvfmkslonum.mvl(<256 x double>, i32)
1945
1946; Function Attrs: nounwind readnone
1947define 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
1956}
1957
1958; Function Attrs: nounwind readnone
1959declare <256 x i1> @llvm.ve.vl.pvfmkslonum.mvml(<256 x double>, <256 x i1>, i32)
1960
1961; Function Attrs: nounwind readnone
1962define 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
1971}
1972
1973; Function Attrs: nounwind readnone
1974declare <256 x i1> @llvm.ve.vl.pvfmkslonan.mvl(<256 x double>, i32)
1975
1976; Function Attrs: nounwind readnone
1977define 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
1986}
1987
1988; Function Attrs: nounwind readnone
1989declare <256 x i1> @llvm.ve.vl.pvfmkslonan.mvml(<256 x double>, <256 x i1>, i32)
1990
1991; Function Attrs: nounwind readnone
1992define 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
2001}
2002
2003; Function Attrs: nounwind readnone
2004declare <256 x i1> @llvm.ve.vl.pvfmkslogtnan.mvl(<256 x double>, i32)
2005
2006; Function Attrs: nounwind readnone
2007define 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
2016}
2017
2018; Function Attrs: nounwind readnone
2019declare <256 x i1> @llvm.ve.vl.pvfmkslogtnan.mvml(<256 x double>, <256 x i1>, i32)
2020
2021; Function Attrs: nounwind readnone
2022define 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
2031}
2032
2033; Function Attrs: nounwind readnone
2034declare <256 x i1> @llvm.ve.vl.pvfmksloltnan.mvl(<256 x double>, i32)
2035
2036; Function Attrs: nounwind readnone
2037define 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
2046}
2047
2048; Function Attrs: nounwind readnone
2049declare <256 x i1> @llvm.ve.vl.pvfmksloltnan.mvml(<256 x double>, <256 x i1>, i32)
2050
2051; Function Attrs: nounwind readnone
2052define 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
2061}
2062
2063; Function Attrs: nounwind readnone
2064declare <256 x i1> @llvm.ve.vl.pvfmkslonenan.mvl(<256 x double>, i32)
2065
2066; Function Attrs: nounwind readnone
2067define 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
2076}
2077
2078; Function Attrs: nounwind readnone
2079declare <256 x i1> @llvm.ve.vl.pvfmkslonenan.mvml(<256 x double>, <256 x i1>, i32)
2080
2081; Function Attrs: nounwind readnone
2082define 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
2091}
2092
2093; Function Attrs: nounwind readnone
2094declare <256 x i1> @llvm.ve.vl.pvfmksloeqnan.mvl(<256 x double>, i32)
2095
2096; Function Attrs: nounwind readnone
2097define 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
2106}
2107
2108; Function Attrs: nounwind readnone
2109declare <256 x i1> @llvm.ve.vl.pvfmksloeqnan.mvml(<256 x double>, <256 x i1>, i32)
2110
2111; Function Attrs: nounwind readnone
2112define 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
2121}
2122
2123; Function Attrs: nounwind readnone
2124declare <256 x i1> @llvm.ve.vl.pvfmkslogenan.mvl(<256 x double>, i32)
2125
2126; Function Attrs: nounwind readnone
2127define 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
2136}
2137
2138; Function Attrs: nounwind readnone
2139declare <256 x i1> @llvm.ve.vl.pvfmkslogenan.mvml(<256 x double>, <256 x i1>, i32)
2140
2141; Function Attrs: nounwind readnone
2142define 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
2151}
2152
2153; Function Attrs: nounwind readnone
2154declare <256 x i1> @llvm.ve.vl.pvfmkslolenan.mvl(<256 x double>, i32)
2155
2156; Function Attrs: nounwind readnone
2157define 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
2166}
2167
2168; Function Attrs: nounwind readnone
2169declare <256 x i1> @llvm.ve.vl.pvfmkslolenan.mvml(<256 x double>, <256 x i1>, i32)
2170
2171; Function Attrs: nounwind readnone
2172define 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
2181}
2182
2183; Function Attrs: nounwind readnone
2184declare <256 x i1> @llvm.ve.vl.pvfmksupgt.mvl(<256 x double>, i32)
2185
2186; Function Attrs: nounwind readnone
2187define 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
2196}
2197
2198; Function Attrs: nounwind readnone
2199declare <256 x i1> @llvm.ve.vl.pvfmksupgt.mvml(<256 x double>, <256 x i1>, i32)
2200
2201; Function Attrs: nounwind readnone
2202define 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
2211}
2212
2213; Function Attrs: nounwind readnone
2214declare <256 x i1> @llvm.ve.vl.pvfmksuplt.mvl(<256 x double>, i32)
2215
2216; Function Attrs: nounwind readnone
2217define 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
2226}
2227
2228; Function Attrs: nounwind readnone
2229declare <256 x i1> @llvm.ve.vl.pvfmksuplt.mvml(<256 x double>, <256 x i1>, i32)
2230
2231; Function Attrs: nounwind readnone
2232define 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
2241}
2242
2243; Function Attrs: nounwind readnone
2244declare <256 x i1> @llvm.ve.vl.pvfmksupne.mvl(<256 x double>, i32)
2245
2246; Function Attrs: nounwind readnone
2247define 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
2256}
2257
2258; Function Attrs: nounwind readnone
2259declare <256 x i1> @llvm.ve.vl.pvfmksupne.mvml(<256 x double>, <256 x i1>, i32)
2260
2261; Function Attrs: nounwind readnone
2262define 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
2271}
2272
2273; Function Attrs: nounwind readnone
2274declare <256 x i1> @llvm.ve.vl.pvfmksupeq.mvl(<256 x double>, i32)
2275
2276; Function Attrs: nounwind readnone
2277define 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
2286}
2287
2288; Function Attrs: nounwind readnone
2289declare <256 x i1> @llvm.ve.vl.pvfmksupeq.mvml(<256 x double>, <256 x i1>, i32)
2290
2291; Function Attrs: nounwind readnone
2292define 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
2301}
2302
2303; Function Attrs: nounwind readnone
2304declare <256 x i1> @llvm.ve.vl.pvfmksupge.mvl(<256 x double>, i32)
2305
2306; Function Attrs: nounwind readnone
2307define 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
2316}
2317
2318; Function Attrs: nounwind readnone
2319declare <256 x i1> @llvm.ve.vl.pvfmksupge.mvml(<256 x double>, <256 x i1>, i32)
2320
2321; Function Attrs: nounwind readnone
2322define 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
2331}
2332
2333; Function Attrs: nounwind readnone
2334declare <256 x i1> @llvm.ve.vl.pvfmksuple.mvl(<256 x double>, i32)
2335
2336; Function Attrs: nounwind readnone
2337define 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
2346}
2347
2348; Function Attrs: nounwind readnone
2349declare <256 x i1> @llvm.ve.vl.pvfmksuple.mvml(<256 x double>, <256 x i1>, i32)
2350
2351; Function Attrs: nounwind readnone
2352define 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
2361}
2362
2363; Function Attrs: nounwind readnone
2364declare <256 x i1> @llvm.ve.vl.pvfmksupnum.mvl(<256 x double>, i32)
2365
2366; Function Attrs: nounwind readnone
2367define 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
2376}
2377
2378; Function Attrs: nounwind readnone
2379declare <256 x i1> @llvm.ve.vl.pvfmksupnum.mvml(<256 x double>, <256 x i1>, i32)
2380
2381; Function Attrs: nounwind readnone
2382define 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
2391}
2392
2393; Function Attrs: nounwind readnone
2394declare <256 x i1> @llvm.ve.vl.pvfmksupnan.mvl(<256 x double>, i32)
2395
2396; Function Attrs: nounwind readnone
2397define 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
2406}
2407
2408; Function Attrs: nounwind readnone
2409declare <256 x i1> @llvm.ve.vl.pvfmksupnan.mvml(<256 x double>, <256 x i1>, i32)
2410
2411; Function Attrs: nounwind readnone
2412define 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
2421}
2422
2423; Function Attrs: nounwind readnone
2424declare <256 x i1> @llvm.ve.vl.pvfmksupgtnan.mvl(<256 x double>, i32)
2425
2426; Function Attrs: nounwind readnone
2427define 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
2436}
2437
2438; Function Attrs: nounwind readnone
2439declare <256 x i1> @llvm.ve.vl.pvfmksupgtnan.mvml(<256 x double>, <256 x i1>, i32)
2440
2441; Function Attrs: nounwind readnone
2442define 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
2451}
2452
2453; Function Attrs: nounwind readnone
2454declare <256 x i1> @llvm.ve.vl.pvfmksupltnan.mvl(<256 x double>, i32)
2455
2456; Function Attrs: nounwind readnone
2457define 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
2466}
2467
2468; Function Attrs: nounwind readnone
2469declare <256 x i1> @llvm.ve.vl.pvfmksupltnan.mvml(<256 x double>, <256 x i1>, i32)
2470
2471; Function Attrs: nounwind readnone
2472define 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
2481}
2482
2483; Function Attrs: nounwind readnone
2484declare <256 x i1> @llvm.ve.vl.pvfmksupnenan.mvl(<256 x double>, i32)
2485
2486; Function Attrs: nounwind readnone
2487define 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
2496}
2497
2498; Function Attrs: nounwind readnone
2499declare <256 x i1> @llvm.ve.vl.pvfmksupnenan.mvml(<256 x double>, <256 x i1>, i32)
2500
2501; Function Attrs: nounwind readnone
2502define 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
2511}
2512
2513; Function Attrs: nounwind readnone
2514declare <256 x i1> @llvm.ve.vl.pvfmksupeqnan.mvl(<256 x double>, i32)
2515
2516; Function Attrs: nounwind readnone
2517define 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
2526}
2527
2528; Function Attrs: nounwind readnone
2529declare <256 x i1> @llvm.ve.vl.pvfmksupeqnan.mvml(<256 x double>, <256 x i1>, i32)
2530
2531; Function Attrs: nounwind readnone
2532define 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
2541}
2542
2543; Function Attrs: nounwind readnone
2544declare <256 x i1> @llvm.ve.vl.pvfmksupgenan.mvl(<256 x double>, i32)
2545
2546; Function Attrs: nounwind readnone
2547define 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
2556}
2557
2558; Function Attrs: nounwind readnone
2559declare <256 x i1> @llvm.ve.vl.pvfmksupgenan.mvml(<256 x double>, <256 x i1>, i32)
2560
2561; Function Attrs: nounwind readnone
2562define 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
2571}
2572
2573; Function Attrs: nounwind readnone
2574declare <256 x i1> @llvm.ve.vl.pvfmksuplenan.mvl(<256 x double>, i32)
2575
2576; Function Attrs: nounwind readnone
2577define 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
2586}
2587
2588; Function Attrs: nounwind readnone
2589declare <256 x i1> @llvm.ve.vl.pvfmksuplenan.mvml(<256 x double>, <256 x i1>, i32)
2590
2591; Function Attrs: nounwind readnone
2592define 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
2601}
2602
2603; Function Attrs: nounwind readnone
2604declare <256 x i1> @llvm.ve.vl.pvfmkwlogt.mvl(<256 x double>, i32)
2605
2606; Function Attrs: nounwind readnone
2607define 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
2616}
2617
2618; Function Attrs: nounwind readnone
2619declare <256 x i1> @llvm.ve.vl.pvfmkwlogt.mvml(<256 x double>, <256 x i1>, i32)
2620
2621; Function Attrs: nounwind readnone
2622define 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
2631}
2632
2633; Function Attrs: nounwind readnone
2634declare <256 x i1> @llvm.ve.vl.pvfmkwlolt.mvl(<256 x double>, i32)
2635
2636; Function Attrs: nounwind readnone
2637define 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
2646}
2647
2648; Function Attrs: nounwind readnone
2649declare <256 x i1> @llvm.ve.vl.pvfmkwlolt.mvml(<256 x double>, <256 x i1>, i32)
2650
2651; Function Attrs: nounwind readnone
2652define 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
2661}
2662
2663; Function Attrs: nounwind readnone
2664declare <256 x i1> @llvm.ve.vl.pvfmkwlone.mvl(<256 x double>, i32)
2665
2666; Function Attrs: nounwind readnone
2667define 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
2676}
2677
2678; Function Attrs: nounwind readnone
2679declare <256 x i1> @llvm.ve.vl.pvfmkwlone.mvml(<256 x double>, <256 x i1>, i32)
2680
2681; Function Attrs: nounwind readnone
2682define 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
2691}
2692
2693; Function Attrs: nounwind readnone
2694declare <256 x i1> @llvm.ve.vl.pvfmkwloeq.mvl(<256 x double>, i32)
2695
2696; Function Attrs: nounwind readnone
2697define 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
2706}
2707
2708; Function Attrs: nounwind readnone
2709declare <256 x i1> @llvm.ve.vl.pvfmkwloeq.mvml(<256 x double>, <256 x i1>, i32)
2710
2711; Function Attrs: nounwind readnone
2712define 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
2721}
2722
2723; Function Attrs: nounwind readnone
2724declare <256 x i1> @llvm.ve.vl.pvfmkwloge.mvl(<256 x double>, i32)
2725
2726; Function Attrs: nounwind readnone
2727define 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
2736}
2737
2738; Function Attrs: nounwind readnone
2739declare <256 x i1> @llvm.ve.vl.pvfmkwloge.mvml(<256 x double>, <256 x i1>, i32)
2740
2741; Function Attrs: nounwind readnone
2742define 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
2751}
2752
2753; Function Attrs: nounwind readnone
2754declare <256 x i1> @llvm.ve.vl.pvfmkwlole.mvl(<256 x double>, i32)
2755
2756; Function Attrs: nounwind readnone
2757define 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
2766}
2767
2768; Function Attrs: nounwind readnone
2769declare <256 x i1> @llvm.ve.vl.pvfmkwlole.mvml(<256 x double>, <256 x i1>, i32)
2770
2771; Function Attrs: nounwind readnone
2772define 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
2781}
2782
2783; Function Attrs: nounwind readnone
2784declare <256 x i1> @llvm.ve.vl.pvfmkwlonum.mvl(<256 x double>, i32)
2785
2786; Function Attrs: nounwind readnone
2787define 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
2796}
2797
2798; Function Attrs: nounwind readnone
2799declare <256 x i1> @llvm.ve.vl.pvfmkwlonum.mvml(<256 x double>, <256 x i1>, i32)
2800
2801; Function Attrs: nounwind readnone
2802define 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
2811}
2812
2813; Function Attrs: nounwind readnone
2814declare <256 x i1> @llvm.ve.vl.pvfmkwlonan.mvl(<256 x double>, i32)
2815
2816; Function Attrs: nounwind readnone
2817define 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
2826}
2827
2828; Function Attrs: nounwind readnone
2829declare <256 x i1> @llvm.ve.vl.pvfmkwlonan.mvml(<256 x double>, <256 x i1>, i32)
2830
2831; Function Attrs: nounwind readnone
2832define 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
2841}
2842
2843; Function Attrs: nounwind readnone
2844declare <256 x i1> @llvm.ve.vl.pvfmkwlogtnan.mvl(<256 x double>, i32)
2845
2846; Function Attrs: nounwind readnone
2847define 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
2856}
2857
2858; Function Attrs: nounwind readnone
2859declare <256 x i1> @llvm.ve.vl.pvfmkwlogtnan.mvml(<256 x double>, <256 x i1>, i32)
2860
2861; Function Attrs: nounwind readnone
2862define 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
2871}
2872
2873; Function Attrs: nounwind readnone
2874declare <256 x i1> @llvm.ve.vl.pvfmkwloltnan.mvl(<256 x double>, i32)
2875
2876; Function Attrs: nounwind readnone
2877define 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
2886}
2887
2888; Function Attrs: nounwind readnone
2889declare <256 x i1> @llvm.ve.vl.pvfmkwloltnan.mvml(<256 x double>, <256 x i1>, i32)
2890
2891; Function Attrs: nounwind readnone
2892define 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
2901}
2902
2903; Function Attrs: nounwind readnone
2904declare <256 x i1> @llvm.ve.vl.pvfmkwlonenan.mvl(<256 x double>, i32)
2905
2906; Function Attrs: nounwind readnone
2907define 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
2916}
2917
2918; Function Attrs: nounwind readnone
2919declare <256 x i1> @llvm.ve.vl.pvfmkwlonenan.mvml(<256 x double>, <256 x i1>, i32)
2920
2921; Function Attrs: nounwind readnone
2922define 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
2931}
2932
2933; Function Attrs: nounwind readnone
2934declare <256 x i1> @llvm.ve.vl.pvfmkwloeqnan.mvl(<256 x double>, i32)
2935
2936; Function Attrs: nounwind readnone
2937define 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
2946}
2947
2948; Function Attrs: nounwind readnone
2949declare <256 x i1> @llvm.ve.vl.pvfmkwloeqnan.mvml(<256 x double>, <256 x i1>, i32)
2950
2951; Function Attrs: nounwind readnone
2952define 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
2961}
2962
2963; Function Attrs: nounwind readnone
2964declare <256 x i1> @llvm.ve.vl.pvfmkwlogenan.mvl(<256 x double>, i32)
2965
2966; Function Attrs: nounwind readnone
2967define 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
2976}
2977
2978; Function Attrs: nounwind readnone
2979declare <256 x i1> @llvm.ve.vl.pvfmkwlogenan.mvml(<256 x double>, <256 x i1>, i32)
2980
2981; Function Attrs: nounwind readnone
2982define 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
2991}
2992
2993; Function Attrs: nounwind readnone
2994declare <256 x i1> @llvm.ve.vl.pvfmkwlolenan.mvl(<256 x double>, i32)
2995
2996; Function Attrs: nounwind readnone
2997define 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
3006}
3007
3008; Function Attrs: nounwind readnone
3009declare <256 x i1> @llvm.ve.vl.pvfmkwlolenan.mvml(<256 x double>, <256 x i1>, i32)
3010
3011; Function Attrs: nounwind readnone
3012define 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
3021}
3022
3023; Function Attrs: nounwind readnone
3024declare <256 x i1> @llvm.ve.vl.pvfmkwupgt.mvl(<256 x double>, i32)
3025
3026; Function Attrs: nounwind readnone
3027define 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
3036}
3037
3038; Function Attrs: nounwind readnone
3039declare <256 x i1> @llvm.ve.vl.pvfmkwupgt.mvml(<256 x double>, <256 x i1>, i32)
3040
3041; Function Attrs: nounwind readnone
3042define 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
3051}
3052
3053; Function Attrs: nounwind readnone
3054declare <256 x i1> @llvm.ve.vl.pvfmkwuplt.mvl(<256 x double>, i32)
3055
3056; Function Attrs: nounwind readnone
3057define 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
3066}
3067
3068; Function Attrs: nounwind readnone
3069declare <256 x i1> @llvm.ve.vl.pvfmkwuplt.mvml(<256 x double>, <256 x i1>, i32)
3070
3071; Function Attrs: nounwind readnone
3072define 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
3081}
3082
3083; Function Attrs: nounwind readnone
3084declare <256 x i1> @llvm.ve.vl.pvfmkwupne.mvl(<256 x double>, i32)
3085
3086; Function Attrs: nounwind readnone
3087define 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
3096}
3097
3098; Function Attrs: nounwind readnone
3099declare <256 x i1> @llvm.ve.vl.pvfmkwupne.mvml(<256 x double>, <256 x i1>, i32)
3100
3101; Function Attrs: nounwind readnone
3102define 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
3111}
3112
3113; Function Attrs: nounwind readnone
3114declare <256 x i1> @llvm.ve.vl.pvfmkwupeq.mvl(<256 x double>, i32)
3115
3116; Function Attrs: nounwind readnone
3117define 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
3126}
3127
3128; Function Attrs: nounwind readnone
3129declare <256 x i1> @llvm.ve.vl.pvfmkwupeq.mvml(<256 x double>, <256 x i1>, i32)
3130
3131; Function Attrs: nounwind readnone
3132define 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
3141}
3142
3143; Function Attrs: nounwind readnone
3144declare <256 x i1> @llvm.ve.vl.pvfmkwupge.mvl(<256 x double>, i32)
3145
3146; Function Attrs: nounwind readnone
3147define 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
3156}
3157
3158; Function Attrs: nounwind readnone
3159declare <256 x i1> @llvm.ve.vl.pvfmkwupge.mvml(<256 x double>, <256 x i1>, i32)
3160
3161; Function Attrs: nounwind readnone
3162define 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
3171}
3172
3173; Function Attrs: nounwind readnone
3174declare <256 x i1> @llvm.ve.vl.pvfmkwuple.mvl(<256 x double>, i32)
3175
3176; Function Attrs: nounwind readnone
3177define 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
3186}
3187
3188; Function Attrs: nounwind readnone
3189declare <256 x i1> @llvm.ve.vl.pvfmkwuple.mvml(<256 x double>, <256 x i1>, i32)
3190
3191; Function Attrs: nounwind readnone
3192define 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
3201}
3202
3203; Function Attrs: nounwind readnone
3204declare <256 x i1> @llvm.ve.vl.pvfmkwupnum.mvl(<256 x double>, i32)
3205
3206; Function Attrs: nounwind readnone
3207define 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
3216}
3217
3218; Function Attrs: nounwind readnone
3219declare <256 x i1> @llvm.ve.vl.pvfmkwupnum.mvml(<256 x double>, <256 x i1>, i32)
3220
3221; Function Attrs: nounwind readnone
3222define 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
3231}
3232
3233; Function Attrs: nounwind readnone
3234declare <256 x i1> @llvm.ve.vl.pvfmkwupnan.mvl(<256 x double>, i32)
3235
3236; Function Attrs: nounwind readnone
3237define 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
3246}
3247
3248; Function Attrs: nounwind readnone
3249declare <256 x i1> @llvm.ve.vl.pvfmkwupnan.mvml(<256 x double>, <256 x i1>, i32)
3250
3251; Function Attrs: nounwind readnone
3252define 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
3261}
3262
3263; Function Attrs: nounwind readnone
3264declare <256 x i1> @llvm.ve.vl.pvfmkwupgtnan.mvl(<256 x double>, i32)
3265
3266; Function Attrs: nounwind readnone
3267define 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
3276}
3277
3278; Function Attrs: nounwind readnone
3279declare <256 x i1> @llvm.ve.vl.pvfmkwupgtnan.mvml(<256 x double>, <256 x i1>, i32)
3280
3281; Function Attrs: nounwind readnone
3282define 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
3291}
3292
3293; Function Attrs: nounwind readnone
3294declare <256 x i1> @llvm.ve.vl.pvfmkwupltnan.mvl(<256 x double>, i32)
3295
3296; Function Attrs: nounwind readnone
3297define 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
3306}
3307
3308; Function Attrs: nounwind readnone
3309declare <256 x i1> @llvm.ve.vl.pvfmkwupltnan.mvml(<256 x double>, <256 x i1>, i32)
3310
3311; Function Attrs: nounwind readnone
3312define 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
3321}
3322
3323; Function Attrs: nounwind readnone
3324declare <256 x i1> @llvm.ve.vl.pvfmkwupnenan.mvl(<256 x double>, i32)
3325
3326; Function Attrs: nounwind readnone
3327define 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
3336}
3337
3338; Function Attrs: nounwind readnone
3339declare <256 x i1> @llvm.ve.vl.pvfmkwupnenan.mvml(<256 x double>, <256 x i1>, i32)
3340
3341; Function Attrs: nounwind readnone
3342define 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
3351}
3352
3353; Function Attrs: nounwind readnone
3354declare <256 x i1> @llvm.ve.vl.pvfmkwupeqnan.mvl(<256 x double>, i32)
3355
3356; Function Attrs: nounwind readnone
3357define 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
3366}
3367
3368; Function Attrs: nounwind readnone
3369declare <256 x i1> @llvm.ve.vl.pvfmkwupeqnan.mvml(<256 x double>, <256 x i1>, i32)
3370
3371; Function Attrs: nounwind readnone
3372define 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
3381}
3382
3383; Function Attrs: nounwind readnone
3384declare <256 x i1> @llvm.ve.vl.pvfmkwupgenan.mvl(<256 x double>, i32)
3385
3386; Function Attrs: nounwind readnone
3387define 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
3396}
3397
3398; Function Attrs: nounwind readnone
3399declare <256 x i1> @llvm.ve.vl.pvfmkwupgenan.mvml(<256 x double>, <256 x i1>, i32)
3400
3401; Function Attrs: nounwind readnone
3402define 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
3411}
3412
3413; Function Attrs: nounwind readnone
3414declare <256 x i1> @llvm.ve.vl.pvfmkwuplenan.mvl(<256 x double>, i32)
3415
3416; Function Attrs: nounwind readnone
3417define 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
3426}
3427
3428; Function Attrs: nounwind readnone
3429declare <256 x i1> @llvm.ve.vl.pvfmkwuplenan.mvml(<256 x double>, <256 x i1>, i32)
3430
3431; Function Attrs: nounwind readnone
3432define 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
3442}
3443
3444; Function Attrs: nounwind readnone
3445declare <512 x i1> @llvm.ve.vl.pvfmksgt.Mvl(<256 x double>, i32)
3446
3447; Function Attrs: nounwind readnone
3448define 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
3458}
3459
3460; Function Attrs: nounwind readnone
3461declare <512 x i1> @llvm.ve.vl.pvfmksgt.MvMl(<256 x double>, <512 x i1>, i32)
3462
3463; Function Attrs: nounwind readnone
3464define 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
3474}
3475
3476; Function Attrs: nounwind readnone
3477declare <512 x i1> @llvm.ve.vl.pvfmkslt.Mvl(<256 x double>, i32)
3478
3479; Function Attrs: nounwind readnone
3480define 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
3490}
3491
3492; Function Attrs: nounwind readnone
3493declare <512 x i1> @llvm.ve.vl.pvfmkslt.MvMl(<256 x double>, <512 x i1>, i32)
3494
3495; Function Attrs: nounwind readnone
3496define 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
3506}
3507
3508; Function Attrs: nounwind readnone
3509declare <512 x i1> @llvm.ve.vl.pvfmksne.Mvl(<256 x double>, i32)
3510
3511; Function Attrs: nounwind readnone
3512define 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
3522}
3523
3524; Function Attrs: nounwind readnone
3525declare <512 x i1> @llvm.ve.vl.pvfmksne.MvMl(<256 x double>, <512 x i1>, i32)
3526
3527; Function Attrs: nounwind readnone
3528define 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
3538}
3539
3540; Function Attrs: nounwind readnone
3541declare <512 x i1> @llvm.ve.vl.pvfmkseq.Mvl(<256 x double>, i32)
3542
3543; Function Attrs: nounwind readnone
3544define 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
3554}
3555
3556; Function Attrs: nounwind readnone
3557declare <512 x i1> @llvm.ve.vl.pvfmkseq.MvMl(<256 x double>, <512 x i1>, i32)
3558
3559; Function Attrs: nounwind readnone
3560define 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
3570}
3571
3572; Function Attrs: nounwind readnone
3573declare <512 x i1> @llvm.ve.vl.pvfmksge.Mvl(<256 x double>, i32)
3574
3575; Function Attrs: nounwind readnone
3576define 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
3586}
3587
3588; Function Attrs: nounwind readnone
3589declare <512 x i1> @llvm.ve.vl.pvfmksge.MvMl(<256 x double>, <512 x i1>, i32)
3590
3591; Function Attrs: nounwind readnone
3592define 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
3602}
3603
3604; Function Attrs: nounwind readnone
3605declare <512 x i1> @llvm.ve.vl.pvfmksle.Mvl(<256 x double>, i32)
3606
3607; Function Attrs: nounwind readnone
3608define 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
3618}
3619
3620; Function Attrs: nounwind readnone
3621declare <512 x i1> @llvm.ve.vl.pvfmksle.MvMl(<256 x double>, <512 x i1>, i32)
3622
3623; Function Attrs: nounwind readnone
3624define 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
3634}
3635
3636; Function Attrs: nounwind readnone
3637declare <512 x i1> @llvm.ve.vl.pvfmksnum.Mvl(<256 x double>, i32)
3638
3639; Function Attrs: nounwind readnone
3640define 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
3650}
3651
3652; Function Attrs: nounwind readnone
3653declare <512 x i1> @llvm.ve.vl.pvfmksnum.MvMl(<256 x double>, <512 x i1>, i32)
3654
3655; Function Attrs: nounwind readnone
3656define 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
3666}
3667
3668; Function Attrs: nounwind readnone
3669declare <512 x i1> @llvm.ve.vl.pvfmksnan.Mvl(<256 x double>, i32)
3670
3671; Function Attrs: nounwind readnone
3672define 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
3682}
3683
3684; Function Attrs: nounwind readnone
3685declare <512 x i1> @llvm.ve.vl.pvfmksnan.MvMl(<256 x double>, <512 x i1>, i32)
3686
3687; Function Attrs: nounwind readnone
3688define 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
3698}
3699
3700; Function Attrs: nounwind readnone
3701declare <512 x i1> @llvm.ve.vl.pvfmksgtnan.Mvl(<256 x double>, i32)
3702
3703; Function Attrs: nounwind readnone
3704define 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
3714}
3715
3716; Function Attrs: nounwind readnone
3717declare <512 x i1> @llvm.ve.vl.pvfmksgtnan.MvMl(<256 x double>, <512 x i1>, i32)
3718
3719; Function Attrs: nounwind readnone
3720define 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
3730}
3731
3732; Function Attrs: nounwind readnone
3733declare <512 x i1> @llvm.ve.vl.pvfmksltnan.Mvl(<256 x double>, i32)
3734
3735; Function Attrs: nounwind readnone
3736define 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
3746}
3747
3748; Function Attrs: nounwind readnone
3749declare <512 x i1> @llvm.ve.vl.pvfmksltnan.MvMl(<256 x double>, <512 x i1>, i32)
3750
3751; Function Attrs: nounwind readnone
3752define 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
3762}
3763
3764; Function Attrs: nounwind readnone
3765declare <512 x i1> @llvm.ve.vl.pvfmksnenan.Mvl(<256 x double>, i32)
3766
3767; Function Attrs: nounwind readnone
3768define 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
3778}
3779
3780; Function Attrs: nounwind readnone
3781declare <512 x i1> @llvm.ve.vl.pvfmksnenan.MvMl(<256 x double>, <512 x i1>, i32)
3782
3783; Function Attrs: nounwind readnone
3784define 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
3794}
3795
3796; Function Attrs: nounwind readnone
3797declare <512 x i1> @llvm.ve.vl.pvfmkseqnan.Mvl(<256 x double>, i32)
3798
3799; Function Attrs: nounwind readnone
3800define 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
3810}
3811
3812; Function Attrs: nounwind readnone
3813declare <512 x i1> @llvm.ve.vl.pvfmkseqnan.MvMl(<256 x double>, <512 x i1>, i32)
3814
3815; Function Attrs: nounwind readnone
3816define 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
3826}
3827
3828; Function Attrs: nounwind readnone
3829declare <512 x i1> @llvm.ve.vl.pvfmksgenan.Mvl(<256 x double>, i32)
3830
3831; Function Attrs: nounwind readnone
3832define 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
3842}
3843
3844; Function Attrs: nounwind readnone
3845declare <512 x i1> @llvm.ve.vl.pvfmksgenan.MvMl(<256 x double>, <512 x i1>, i32)
3846
3847; Function Attrs: nounwind readnone
3848define 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
3858}
3859
3860; Function Attrs: nounwind readnone
3861declare <512 x i1> @llvm.ve.vl.pvfmkslenan.Mvl(<256 x double>, i32)
3862
3863; Function Attrs: nounwind readnone
3864define 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
3874}
3875
3876; Function Attrs: nounwind readnone
3877declare <512 x i1> @llvm.ve.vl.pvfmkslenan.MvMl(<256 x double>, <512 x i1>, i32)
3878
3879; Function Attrs: nounwind readnone
3880define 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
3890}
3891
3892; Function Attrs: nounwind readnone
3893declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32)
3894
3895; Function Attrs: nounwind readnone
3896define 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
3906}
3907
3908; Function Attrs: nounwind readnone
3909declare <512 x i1> @llvm.ve.vl.pvfmkwgt.MvMl(<256 x double>, <512 x i1>, i32)
3910
3911; Function Attrs: nounwind readnone
3912define 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
3922}
3923
3924; Function Attrs: nounwind readnone
3925declare <512 x i1> @llvm.ve.vl.pvfmkwlt.Mvl(<256 x double>, i32)
3926
3927; Function Attrs: nounwind readnone
3928define 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
3938}
3939
3940; Function Attrs: nounwind readnone
3941declare <512 x i1> @llvm.ve.vl.pvfmkwlt.MvMl(<256 x double>, <512 x i1>, i32)
3942
3943; Function Attrs: nounwind readnone
3944define 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
3954}
3955
3956; Function Attrs: nounwind readnone
3957declare <512 x i1> @llvm.ve.vl.pvfmkwne.Mvl(<256 x double>, i32)
3958
3959; Function Attrs: nounwind readnone
3960define 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
3970}
3971
3972; Function Attrs: nounwind readnone
3973declare <512 x i1> @llvm.ve.vl.pvfmkwne.MvMl(<256 x double>, <512 x i1>, i32)
3974
3975; Function Attrs: nounwind readnone
3976define 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
3986}
3987
3988; Function Attrs: nounwind readnone
3989declare <512 x i1> @llvm.ve.vl.pvfmkweq.Mvl(<256 x double>, i32)
3990
3991; Function Attrs: nounwind readnone
3992define 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
4002}
4003
4004; Function Attrs: nounwind readnone
4005declare <512 x i1> @llvm.ve.vl.pvfmkweq.MvMl(<256 x double>, <512 x i1>, i32)
4006
4007; Function Attrs: nounwind readnone
4008define 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
4018}
4019
4020; Function Attrs: nounwind readnone
4021declare <512 x i1> @llvm.ve.vl.pvfmkwge.Mvl(<256 x double>, i32)
4022
4023; Function Attrs: nounwind readnone
4024define 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
4034}
4035
4036; Function Attrs: nounwind readnone
4037declare <512 x i1> @llvm.ve.vl.pvfmkwge.MvMl(<256 x double>, <512 x i1>, i32)
4038
4039; Function Attrs: nounwind readnone
4040define 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
4050}
4051
4052; Function Attrs: nounwind readnone
4053declare <512 x i1> @llvm.ve.vl.pvfmkwle.Mvl(<256 x double>, i32)
4054
4055; Function Attrs: nounwind readnone
4056define 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
4066}
4067
4068; Function Attrs: nounwind readnone
4069declare <512 x i1> @llvm.ve.vl.pvfmkwle.MvMl(<256 x double>, <512 x i1>, i32)
4070
4071; Function Attrs: nounwind readnone
4072define 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
4082}
4083
4084; Function Attrs: nounwind readnone
4085declare <512 x i1> @llvm.ve.vl.pvfmkwnum.Mvl(<256 x double>, i32)
4086
4087; Function Attrs: nounwind readnone
4088define 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
4098}
4099
4100; Function Attrs: nounwind readnone
4101declare <512 x i1> @llvm.ve.vl.pvfmkwnum.MvMl(<256 x double>, <512 x i1>, i32)
4102
4103; Function Attrs: nounwind readnone
4104define 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
4114}
4115
4116; Function Attrs: nounwind readnone
4117declare <512 x i1> @llvm.ve.vl.pvfmkwnan.Mvl(<256 x double>, i32)
4118
4119; Function Attrs: nounwind readnone
4120define 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
4130}
4131
4132; Function Attrs: nounwind readnone
4133declare <512 x i1> @llvm.ve.vl.pvfmkwnan.MvMl(<256 x double>, <512 x i1>, i32)
4134
4135; Function Attrs: nounwind readnone
4136define 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
4146}
4147
4148; Function Attrs: nounwind readnone
4149declare <512 x i1> @llvm.ve.vl.pvfmkwgtnan.Mvl(<256 x double>, i32)
4150
4151; Function Attrs: nounwind readnone
4152define 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
4162}
4163
4164; Function Attrs: nounwind readnone
4165declare <512 x i1> @llvm.ve.vl.pvfmkwgtnan.MvMl(<256 x double>, <512 x i1>, i32)
4166
4167; Function Attrs: nounwind readnone
4168define 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
4178}
4179
4180; Function Attrs: nounwind readnone
4181declare <512 x i1> @llvm.ve.vl.pvfmkwltnan.Mvl(<256 x double>, i32)
4182
4183; Function Attrs: nounwind readnone
4184define 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
4194}
4195
4196; Function Attrs: nounwind readnone
4197declare <512 x i1> @llvm.ve.vl.pvfmkwltnan.MvMl(<256 x double>, <512 x i1>, i32)
4198
4199; Function Attrs: nounwind readnone
4200define 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
4210}
4211
4212; Function Attrs: nounwind readnone
4213declare <512 x i1> @llvm.ve.vl.pvfmkwnenan.Mvl(<256 x double>, i32)
4214
4215; Function Attrs: nounwind readnone
4216define 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
4226}
4227
4228; Function Attrs: nounwind readnone
4229declare <512 x i1> @llvm.ve.vl.pvfmkwnenan.MvMl(<256 x double>, <512 x i1>, i32)
4230
4231; Function Attrs: nounwind readnone
4232define 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
4242}
4243
4244; Function Attrs: nounwind readnone
4245declare <512 x i1> @llvm.ve.vl.pvfmkweqnan.Mvl(<256 x double>, i32)
4246
4247; Function Attrs: nounwind readnone
4248define 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
4258}
4259
4260; Function Attrs: nounwind readnone
4261declare <512 x i1> @llvm.ve.vl.pvfmkweqnan.MvMl(<256 x double>, <512 x i1>, i32)
4262
4263; Function Attrs: nounwind readnone
4264define 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
4274}
4275
4276; Function Attrs: nounwind readnone
4277declare <512 x i1> @llvm.ve.vl.pvfmkwgenan.Mvl(<256 x double>, i32)
4278
4279; Function Attrs: nounwind readnone
4280define 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
4290}
4291
4292; Function Attrs: nounwind readnone
4293declare <512 x i1> @llvm.ve.vl.pvfmkwgenan.MvMl(<256 x double>, <512 x i1>, i32)
4294
4295; Function Attrs: nounwind readnone
4296define 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
4306}
4307
4308; Function Attrs: nounwind readnone
4309declare <512 x i1> @llvm.ve.vl.pvfmkwlenan.Mvl(<256 x double>, i32)
4310
4311; Function Attrs: nounwind readnone
4312define 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
4322}
4323
4324; Function Attrs: nounwind readnone
4325declare <512 x i1> @llvm.ve.vl.pvfmkwlenan.MvMl(<256 x double>, <512 x i1>, i32)
4326