1*f496bd9aSJonas Paulsson; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2*f496bd9aSJonas Paulsson;
3*f496bd9aSJonas Paulsson; Test that vector compare / select combinations do not produce any
4*f496bd9aSJonas Paulsson; unnecessary pack /unpack / shift instructions.
5*f496bd9aSJonas Paulsson;
6*f496bd9aSJonas Paulsson; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 | FileCheck %s
7*f496bd9aSJonas Paulsson
8*f496bd9aSJonas Paulsson
9*f496bd9aSJonas Paulssondefine <2 x i8> @fun0(<2 x i8> %val1, <2 x i8> %val2, <2 x i8> %val3, <2 x i8> %val4) {
10*f496bd9aSJonas Paulsson; CHECK-LABEL: fun0:
11*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
12*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
13*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
14*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
15*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i8> %val1, %val2
16*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
17*f496bd9aSJonas Paulsson  ret <2 x i8> %sel
18*f496bd9aSJonas Paulsson}
19*f496bd9aSJonas Paulsson
20*f496bd9aSJonas Paulssondefine <2 x i16> @fun1(<2 x i8> %val1, <2 x i8> %val2, <2 x i16> %val3, <2 x i16> %val4) {
21*f496bd9aSJonas Paulsson; CHECK-LABEL: fun1:
22*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
23*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
24*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
25*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
26*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
27*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i8> %val1, %val2
28*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
29*f496bd9aSJonas Paulsson  ret <2 x i16> %sel
30*f496bd9aSJonas Paulsson}
31*f496bd9aSJonas Paulsson
32*f496bd9aSJonas Paulssondefine <2 x i32> @fun2(<2 x i8> %val1, <2 x i8> %val2, <2 x i32> %val3, <2 x i32> %val4) {
33*f496bd9aSJonas Paulsson; CHECK-LABEL: fun2:
34*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
35*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
36*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
37*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
38*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
39*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
40*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i8> %val1, %val2
41*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
42*f496bd9aSJonas Paulsson  ret <2 x i32> %sel
43*f496bd9aSJonas Paulsson}
44*f496bd9aSJonas Paulsson
45*f496bd9aSJonas Paulssondefine <2 x i64> @fun3(<2 x i8> %val1, <2 x i8> %val2, <2 x i64> %val3, <2 x i64> %val4) {
46*f496bd9aSJonas Paulsson; CHECK-LABEL: fun3:
47*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
48*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
49*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
50*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
51*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
52*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
53*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
54*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i8> %val1, %val2
55*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
56*f496bd9aSJonas Paulsson  ret <2 x i64> %sel
57*f496bd9aSJonas Paulsson}
58*f496bd9aSJonas Paulsson
59*f496bd9aSJonas Paulssondefine <2 x float> @fun4(<2 x i8> %val1, <2 x i8> %val2, <2 x float> %val3, <2 x float> %val4) {
60*f496bd9aSJonas Paulsson; CHECK-LABEL: fun4:
61*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
62*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
63*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
64*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
65*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
66*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
67*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i8> %val1, %val2
68*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
69*f496bd9aSJonas Paulsson  ret <2 x float> %sel
70*f496bd9aSJonas Paulsson}
71*f496bd9aSJonas Paulsson
72*f496bd9aSJonas Paulssondefine <2 x double> @fun5(<2 x i8> %val1, <2 x i8> %val2, <2 x double> %val3, <2 x double> %val4) {
73*f496bd9aSJonas Paulsson; CHECK-LABEL: fun5:
74*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
75*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
76*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
77*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
78*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
79*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
80*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
81*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i8> %val1, %val2
82*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
83*f496bd9aSJonas Paulsson  ret <2 x double> %sel
84*f496bd9aSJonas Paulsson}
85*f496bd9aSJonas Paulsson
86*f496bd9aSJonas Paulssondefine <2 x i8> @fun6(<2 x i16> %val1, <2 x i16> %val2, <2 x i8> %val3, <2 x i8> %val4) {
87*f496bd9aSJonas Paulsson; CHECK-LABEL: fun6:
88*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
89*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
90*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkh %v0, %v0, %v0
91*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
92*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
93*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i16> %val1, %val2
94*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
95*f496bd9aSJonas Paulsson  ret <2 x i8> %sel
96*f496bd9aSJonas Paulsson}
97*f496bd9aSJonas Paulsson
98*f496bd9aSJonas Paulssondefine <2 x i16> @fun7(<2 x i16> %val1, <2 x i16> %val2, <2 x i16> %val3, <2 x i16> %val4) {
99*f496bd9aSJonas Paulsson; CHECK-LABEL: fun7:
100*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
101*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
102*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
103*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
104*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i16> %val1, %val2
105*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
106*f496bd9aSJonas Paulsson  ret <2 x i16> %sel
107*f496bd9aSJonas Paulsson}
108*f496bd9aSJonas Paulsson
109*f496bd9aSJonas Paulssondefine <2 x i32> @fun8(<2 x i16> %val1, <2 x i16> %val2, <2 x i32> %val3, <2 x i32> %val4) {
110*f496bd9aSJonas Paulsson; CHECK-LABEL: fun8:
111*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
112*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
113*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
114*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
115*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
116*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i16> %val1, %val2
117*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
118*f496bd9aSJonas Paulsson  ret <2 x i32> %sel
119*f496bd9aSJonas Paulsson}
120*f496bd9aSJonas Paulsson
121*f496bd9aSJonas Paulssondefine <2 x i64> @fun9(<2 x i16> %val1, <2 x i16> %val2, <2 x i64> %val3, <2 x i64> %val4) {
122*f496bd9aSJonas Paulsson; CHECK-LABEL: fun9:
123*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
124*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
125*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
126*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
127*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
128*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
129*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i16> %val1, %val2
130*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
131*f496bd9aSJonas Paulsson  ret <2 x i64> %sel
132*f496bd9aSJonas Paulsson}
133*f496bd9aSJonas Paulsson
134*f496bd9aSJonas Paulssondefine <2 x float> @fun10(<2 x i16> %val1, <2 x i16> %val2, <2 x float> %val3, <2 x float> %val4) {
135*f496bd9aSJonas Paulsson; CHECK-LABEL: fun10:
136*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
137*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
138*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
139*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
140*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
141*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i16> %val1, %val2
142*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
143*f496bd9aSJonas Paulsson  ret <2 x float> %sel
144*f496bd9aSJonas Paulsson}
145*f496bd9aSJonas Paulsson
146*f496bd9aSJonas Paulssondefine <2 x double> @fun11(<2 x i16> %val1, <2 x i16> %val2, <2 x double> %val3, <2 x double> %val4) {
147*f496bd9aSJonas Paulsson; CHECK-LABEL: fun11:
148*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
149*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
150*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
151*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
152*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
153*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
154*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i16> %val1, %val2
155*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
156*f496bd9aSJonas Paulsson  ret <2 x double> %sel
157*f496bd9aSJonas Paulsson}
158*f496bd9aSJonas Paulsson
159*f496bd9aSJonas Paulssondefine <2 x i8> @fun12(<2 x i32> %val1, <2 x i32> %val2, <2 x i8> %val3, <2 x i8> %val4) {
160*f496bd9aSJonas Paulsson; CHECK-LABEL: fun12:
161*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
162*f496bd9aSJonas Paulsson; CHECK-NEXT:    larl %r1, .LCPI12_0
163*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 0(%r1)
164*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v26
165*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v0, %v0, %v1
166*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
167*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
168*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i32> %val1, %val2
169*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
170*f496bd9aSJonas Paulsson  ret <2 x i8> %sel
171*f496bd9aSJonas Paulsson}
172*f496bd9aSJonas Paulsson
173*f496bd9aSJonas Paulssondefine <2 x i16> @fun13(<2 x i32> %val1, <2 x i32> %val2, <2 x i16> %val3, <2 x i16> %val4) {
174*f496bd9aSJonas Paulsson; CHECK-LABEL: fun13:
175*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
176*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v26
177*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v0, %v0
178*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
179*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
180*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i32> %val1, %val2
181*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
182*f496bd9aSJonas Paulsson  ret <2 x i16> %sel
183*f496bd9aSJonas Paulsson}
184*f496bd9aSJonas Paulsson
185*f496bd9aSJonas Paulssondefine <2 x i32> @fun14(<2 x i32> %val1, <2 x i32> %val2, <2 x i32> %val3, <2 x i32> %val4) {
186*f496bd9aSJonas Paulsson; CHECK-LABEL: fun14:
187*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
188*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v26
189*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
190*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
191*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i32> %val1, %val2
192*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
193*f496bd9aSJonas Paulsson  ret <2 x i32> %sel
194*f496bd9aSJonas Paulsson}
195*f496bd9aSJonas Paulsson
196*f496bd9aSJonas Paulssondefine <2 x i64> @fun15(<2 x i32> %val1, <2 x i32> %val2, <2 x i64> %val3, <2 x i64> %val4) {
197*f496bd9aSJonas Paulsson; CHECK-LABEL: fun15:
198*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
199*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v26
200*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
201*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
202*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
203*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i32> %val1, %val2
204*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
205*f496bd9aSJonas Paulsson  ret <2 x i64> %sel
206*f496bd9aSJonas Paulsson}
207*f496bd9aSJonas Paulsson
208*f496bd9aSJonas Paulssondefine <2 x float> @fun16(<2 x i32> %val1, <2 x i32> %val2, <2 x float> %val3, <2 x float> %val4) {
209*f496bd9aSJonas Paulsson; CHECK-LABEL: fun16:
210*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
211*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v26
212*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
213*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
214*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i32> %val1, %val2
215*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
216*f496bd9aSJonas Paulsson  ret <2 x float> %sel
217*f496bd9aSJonas Paulsson}
218*f496bd9aSJonas Paulsson
219*f496bd9aSJonas Paulssondefine <2 x double> @fun17(<2 x i32> %val1, <2 x i32> %val2, <2 x double> %val3, <2 x double> %val4) {
220*f496bd9aSJonas Paulsson; CHECK-LABEL: fun17:
221*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
222*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v26
223*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
224*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
225*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
226*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i32> %val1, %val2
227*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
228*f496bd9aSJonas Paulsson  ret <2 x double> %sel
229*f496bd9aSJonas Paulsson}
230*f496bd9aSJonas Paulsson
231*f496bd9aSJonas Paulssondefine <2 x i8> @fun18(<2 x i64> %val1, <2 x i64> %val2, <2 x i8> %val3, <2 x i8> %val4) {
232*f496bd9aSJonas Paulsson; CHECK-LABEL: fun18:
233*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
234*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v24, %v26
235*f496bd9aSJonas Paulsson; CHECK-NEXT:    vrepih %v1, 1807
236*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v0, %v0, %v1
237*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
238*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
239*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i64> %val1, %val2
240*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
241*f496bd9aSJonas Paulsson  ret <2 x i8> %sel
242*f496bd9aSJonas Paulsson}
243*f496bd9aSJonas Paulsson
244*f496bd9aSJonas Paulssondefine <2 x i16> @fun19(<2 x i64> %val1, <2 x i64> %val2, <2 x i16> %val3, <2 x i16> %val4) {
245*f496bd9aSJonas Paulsson; CHECK-LABEL: fun19:
246*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
247*f496bd9aSJonas Paulsson; CHECK-NEXT:    larl %r1, .LCPI19_0
248*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 0(%r1)
249*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v24, %v26
250*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v0, %v0, %v1
251*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
252*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
253*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i64> %val1, %val2
254*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
255*f496bd9aSJonas Paulsson  ret <2 x i16> %sel
256*f496bd9aSJonas Paulsson}
257*f496bd9aSJonas Paulsson
258*f496bd9aSJonas Paulssondefine <2 x i32> @fun20(<2 x i64> %val1, <2 x i64> %val2, <2 x i32> %val3, <2 x i32> %val4) {
259*f496bd9aSJonas Paulsson; CHECK-LABEL: fun20:
260*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
261*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v24, %v26
262*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v0, %v0
263*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
264*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
265*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i64> %val1, %val2
266*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
267*f496bd9aSJonas Paulsson  ret <2 x i32> %sel
268*f496bd9aSJonas Paulsson}
269*f496bd9aSJonas Paulsson
270*f496bd9aSJonas Paulssondefine <2 x i64> @fun21(<2 x i64> %val1, <2 x i64> %val2, <2 x i64> %val3, <2 x i64> %val4) {
271*f496bd9aSJonas Paulsson; CHECK-LABEL: fun21:
272*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
273*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v24, %v26
274*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
275*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
276*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i64> %val1, %val2
277*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
278*f496bd9aSJonas Paulsson  ret <2 x i64> %sel
279*f496bd9aSJonas Paulsson}
280*f496bd9aSJonas Paulsson
281*f496bd9aSJonas Paulssondefine <2 x float> @fun22(<2 x i64> %val1, <2 x i64> %val2, <2 x float> %val3, <2 x float> %val4) {
282*f496bd9aSJonas Paulsson; CHECK-LABEL: fun22:
283*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
284*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v24, %v26
285*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v0, %v0
286*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
287*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
288*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i64> %val1, %val2
289*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
290*f496bd9aSJonas Paulsson  ret <2 x float> %sel
291*f496bd9aSJonas Paulsson}
292*f496bd9aSJonas Paulsson
293*f496bd9aSJonas Paulssondefine <2 x double> @fun23(<2 x i64> %val1, <2 x i64> %val2, <2 x double> %val3, <2 x double> %val4) {
294*f496bd9aSJonas Paulsson; CHECK-LABEL: fun23:
295*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
296*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v24, %v26
297*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
298*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
299*f496bd9aSJonas Paulsson  %cmp = icmp eq <2 x i64> %val1, %val2
300*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
301*f496bd9aSJonas Paulsson  ret <2 x double> %sel
302*f496bd9aSJonas Paulsson}
303*f496bd9aSJonas Paulsson
304*f496bd9aSJonas Paulssondefine <4 x i8> @fun24(<4 x i8> %val1, <4 x i8> %val2, <4 x i8> %val3, <4 x i8> %val4) {
305*f496bd9aSJonas Paulsson; CHECK-LABEL: fun24:
306*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
307*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
308*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
309*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
310*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i8> %val1, %val2
311*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
312*f496bd9aSJonas Paulsson  ret <4 x i8> %sel
313*f496bd9aSJonas Paulsson}
314*f496bd9aSJonas Paulsson
315*f496bd9aSJonas Paulssondefine <4 x i16> @fun25(<4 x i8> %val1, <4 x i8> %val2, <4 x i16> %val3, <4 x i16> %val4) {
316*f496bd9aSJonas Paulsson; CHECK-LABEL: fun25:
317*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
318*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
319*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
320*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
321*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
322*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i8> %val1, %val2
323*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
324*f496bd9aSJonas Paulsson  ret <4 x i16> %sel
325*f496bd9aSJonas Paulsson}
326*f496bd9aSJonas Paulsson
327*f496bd9aSJonas Paulssondefine <4 x i32> @fun26(<4 x i8> %val1, <4 x i8> %val2, <4 x i32> %val3, <4 x i32> %val4) {
328*f496bd9aSJonas Paulsson; CHECK-LABEL: fun26:
329*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
330*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
331*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
332*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
333*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
334*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
335*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i8> %val1, %val2
336*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
337*f496bd9aSJonas Paulsson  ret <4 x i32> %sel
338*f496bd9aSJonas Paulsson}
339*f496bd9aSJonas Paulsson
340*f496bd9aSJonas Paulssondefine <4 x i64> @fun27(<4 x i8> %val1, <4 x i8> %val2, <4 x i64> %val3, <4 x i64> %val4) {
341*f496bd9aSJonas Paulsson; CHECK-LABEL: fun27:
342*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
343*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
344*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v0
345*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v0, %v0
346*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
347*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
348*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
349*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
350*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
351*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v25, %v1
352*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v27, %v0
353*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
354*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i8> %val1, %val2
355*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
356*f496bd9aSJonas Paulsson  ret <4 x i64> %sel
357*f496bd9aSJonas Paulsson}
358*f496bd9aSJonas Paulsson
359*f496bd9aSJonas Paulssondefine <4 x float> @fun28(<4 x i8> %val1, <4 x i8> %val2, <4 x float> %val3, <4 x float> %val4) {
360*f496bd9aSJonas Paulsson; CHECK-LABEL: fun28:
361*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
362*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
363*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
364*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
365*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
366*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
367*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i8> %val1, %val2
368*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
369*f496bd9aSJonas Paulsson  ret <4 x float> %sel
370*f496bd9aSJonas Paulsson}
371*f496bd9aSJonas Paulsson
372*f496bd9aSJonas Paulssondefine <4 x double> @fun29(<4 x i8> %val1, <4 x i8> %val2, <4 x double> %val3, <4 x double> %val4) {
373*f496bd9aSJonas Paulsson; CHECK-LABEL: fun29:
374*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
375*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
376*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v0
377*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v0, %v0
378*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
379*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
380*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
381*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
382*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
383*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v25, %v1
384*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v27, %v0
385*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
386*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i8> %val1, %val2
387*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
388*f496bd9aSJonas Paulsson  ret <4 x double> %sel
389*f496bd9aSJonas Paulsson}
390*f496bd9aSJonas Paulsson
391*f496bd9aSJonas Paulssondefine <4 x i8> @fun30(<4 x i16> %val1, <4 x i16> %val2, <4 x i8> %val3, <4 x i8> %val4) {
392*f496bd9aSJonas Paulsson; CHECK-LABEL: fun30:
393*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
394*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
395*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkh %v0, %v0, %v0
396*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
397*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
398*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i16> %val1, %val2
399*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
400*f496bd9aSJonas Paulsson  ret <4 x i8> %sel
401*f496bd9aSJonas Paulsson}
402*f496bd9aSJonas Paulsson
403*f496bd9aSJonas Paulssondefine <4 x i16> @fun31(<4 x i16> %val1, <4 x i16> %val2, <4 x i16> %val3, <4 x i16> %val4) {
404*f496bd9aSJonas Paulsson; CHECK-LABEL: fun31:
405*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
406*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
407*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
408*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
409*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i16> %val1, %val2
410*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
411*f496bd9aSJonas Paulsson  ret <4 x i16> %sel
412*f496bd9aSJonas Paulsson}
413*f496bd9aSJonas Paulsson
414*f496bd9aSJonas Paulssondefine <4 x i32> @fun32(<4 x i16> %val1, <4 x i16> %val2, <4 x i32> %val3, <4 x i32> %val4) {
415*f496bd9aSJonas Paulsson; CHECK-LABEL: fun32:
416*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
417*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
418*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
419*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
420*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
421*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i16> %val1, %val2
422*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
423*f496bd9aSJonas Paulsson  ret <4 x i32> %sel
424*f496bd9aSJonas Paulsson}
425*f496bd9aSJonas Paulsson
426*f496bd9aSJonas Paulssondefine <4 x i64> @fun33(<4 x i16> %val1, <4 x i16> %val2, <4 x i64> %val3, <4 x i64> %val4) {
427*f496bd9aSJonas Paulsson; CHECK-LABEL: fun33:
428*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
429*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
430*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v0
431*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v0, %v0
432*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
433*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
434*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
435*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v25, %v1
436*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v27, %v0
437*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
438*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i16> %val1, %val2
439*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
440*f496bd9aSJonas Paulsson  ret <4 x i64> %sel
441*f496bd9aSJonas Paulsson}
442*f496bd9aSJonas Paulsson
443*f496bd9aSJonas Paulssondefine <4 x float> @fun34(<4 x i16> %val1, <4 x i16> %val2, <4 x float> %val3, <4 x float> %val4) {
444*f496bd9aSJonas Paulsson; CHECK-LABEL: fun34:
445*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
446*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
447*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
448*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
449*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
450*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i16> %val1, %val2
451*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
452*f496bd9aSJonas Paulsson  ret <4 x float> %sel
453*f496bd9aSJonas Paulsson}
454*f496bd9aSJonas Paulsson
455*f496bd9aSJonas Paulssondefine <4 x double> @fun35(<4 x i16> %val1, <4 x i16> %val2, <4 x double> %val3, <4 x double> %val4) {
456*f496bd9aSJonas Paulsson; CHECK-LABEL: fun35:
457*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
458*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
459*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v0
460*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v0, %v0
461*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
462*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
463*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
464*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v25, %v1
465*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v27, %v0
466*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
467*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i16> %val1, %val2
468*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
469*f496bd9aSJonas Paulsson  ret <4 x double> %sel
470*f496bd9aSJonas Paulsson}
471*f496bd9aSJonas Paulsson
472*f496bd9aSJonas Paulssondefine <4 x i8> @fun36(<4 x i32> %val1, <4 x i32> %val2, <4 x i8> %val3, <4 x i8> %val4) {
473*f496bd9aSJonas Paulsson; CHECK-LABEL: fun36:
474*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
475*f496bd9aSJonas Paulsson; CHECK-NEXT:    larl %r1, .LCPI36_0
476*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 0(%r1)
477*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v26
478*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v0, %v0, %v1
479*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
480*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
481*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i32> %val1, %val2
482*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
483*f496bd9aSJonas Paulsson  ret <4 x i8> %sel
484*f496bd9aSJonas Paulsson}
485*f496bd9aSJonas Paulsson
486*f496bd9aSJonas Paulssondefine <4 x i16> @fun37(<4 x i32> %val1, <4 x i32> %val2, <4 x i16> %val3, <4 x i16> %val4) {
487*f496bd9aSJonas Paulsson; CHECK-LABEL: fun37:
488*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
489*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v26
490*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v0, %v0
491*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
492*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
493*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i32> %val1, %val2
494*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
495*f496bd9aSJonas Paulsson  ret <4 x i16> %sel
496*f496bd9aSJonas Paulsson}
497*f496bd9aSJonas Paulsson
498*f496bd9aSJonas Paulssondefine <4 x i32> @fun38(<4 x i32> %val1, <4 x i32> %val2, <4 x i32> %val3, <4 x i32> %val4) {
499*f496bd9aSJonas Paulsson; CHECK-LABEL: fun38:
500*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
501*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v26
502*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
503*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
504*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i32> %val1, %val2
505*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
506*f496bd9aSJonas Paulsson  ret <4 x i32> %sel
507*f496bd9aSJonas Paulsson}
508*f496bd9aSJonas Paulsson
509*f496bd9aSJonas Paulssondefine <4 x i64> @fun39(<4 x i32> %val1, <4 x i32> %val2, <4 x i64> %val3, <4 x i64> %val4) {
510*f496bd9aSJonas Paulsson; CHECK-LABEL: fun39:
511*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
512*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v26
513*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v0
514*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v0, %v0
515*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
516*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v25, %v1
517*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v27, %v0
518*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
519*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i32> %val1, %val2
520*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
521*f496bd9aSJonas Paulsson  ret <4 x i64> %sel
522*f496bd9aSJonas Paulsson}
523*f496bd9aSJonas Paulsson
524*f496bd9aSJonas Paulssondefine <4 x float> @fun40(<4 x i32> %val1, <4 x i32> %val2, <4 x float> %val3, <4 x float> %val4) {
525*f496bd9aSJonas Paulsson; CHECK-LABEL: fun40:
526*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
527*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v26
528*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
529*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
530*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i32> %val1, %val2
531*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
532*f496bd9aSJonas Paulsson  ret <4 x float> %sel
533*f496bd9aSJonas Paulsson}
534*f496bd9aSJonas Paulsson
535*f496bd9aSJonas Paulssondefine <4 x double> @fun41(<4 x i32> %val1, <4 x i32> %val2, <4 x double> %val3, <4 x double> %val4) {
536*f496bd9aSJonas Paulsson; CHECK-LABEL: fun41:
537*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
538*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v26
539*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v0
540*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v0, %v0
541*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
542*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v25, %v1
543*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v27, %v0
544*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
545*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i32> %val1, %val2
546*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
547*f496bd9aSJonas Paulsson  ret <4 x double> %sel
548*f496bd9aSJonas Paulsson}
549*f496bd9aSJonas Paulsson
550*f496bd9aSJonas Paulssondefine <4 x i8> @fun42(<4 x i64> %val1, <4 x i64> %val2, <4 x i8> %val3, <4 x i8> %val4) {
551*f496bd9aSJonas Paulsson; CHECK-LABEL: fun42:
552*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
553*f496bd9aSJonas Paulsson; CHECK-NEXT:    larl %r1, .LCPI42_0
554*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 0(%r1)
555*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v26, %v30
556*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v24, %v28
557*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v1, %v0, %v2
558*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v27, %v0
559*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
560*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i64> %val1, %val2
561*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
562*f496bd9aSJonas Paulsson  ret <4 x i8> %sel
563*f496bd9aSJonas Paulsson}
564*f496bd9aSJonas Paulsson
565*f496bd9aSJonas Paulssondefine <4 x i16> @fun43(<4 x i64> %val1, <4 x i64> %val2, <4 x i16> %val3, <4 x i16> %val4) {
566*f496bd9aSJonas Paulsson; CHECK-LABEL: fun43:
567*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
568*f496bd9aSJonas Paulsson; CHECK-NEXT:    larl %r1, .LCPI43_0
569*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 0(%r1)
570*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v26, %v30
571*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v24, %v28
572*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v1, %v0, %v2
573*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v27, %v0
574*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
575*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i64> %val1, %val2
576*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
577*f496bd9aSJonas Paulsson  ret <4 x i16> %sel
578*f496bd9aSJonas Paulsson}
579*f496bd9aSJonas Paulsson
580*f496bd9aSJonas Paulssondefine <4 x i32> @fun44(<4 x i64> %val1, <4 x i64> %val2, <4 x i32> %val3, <4 x i32> %val4) {
581*f496bd9aSJonas Paulsson; CHECK-LABEL: fun44:
582*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
583*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v26, %v30
584*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v24, %v28
585*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
586*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v27, %v0
587*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
588*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i64> %val1, %val2
589*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
590*f496bd9aSJonas Paulsson  ret <4 x i32> %sel
591*f496bd9aSJonas Paulsson}
592*f496bd9aSJonas Paulsson
593*f496bd9aSJonas Paulssondefine <4 x i64> @fun45(<4 x i64> %val1, <4 x i64> %val2, <4 x i64> %val3, <4 x i64> %val4) {
594*f496bd9aSJonas Paulsson; CHECK-LABEL: fun45:
595*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
596*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v24, %v28
597*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v29, %v0
598*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v26, %v30
599*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v31, %v0
600*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
601*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i64> %val1, %val2
602*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
603*f496bd9aSJonas Paulsson  ret <4 x i64> %sel
604*f496bd9aSJonas Paulsson}
605*f496bd9aSJonas Paulsson
606*f496bd9aSJonas Paulssondefine <4 x float> @fun46(<4 x i64> %val1, <4 x i64> %val2, <4 x float> %val3, <4 x float> %val4) {
607*f496bd9aSJonas Paulsson; CHECK-LABEL: fun46:
608*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
609*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v26, %v30
610*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v24, %v28
611*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
612*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v27, %v0
613*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
614*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i64> %val1, %val2
615*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
616*f496bd9aSJonas Paulsson  ret <4 x float> %sel
617*f496bd9aSJonas Paulsson}
618*f496bd9aSJonas Paulsson
619*f496bd9aSJonas Paulssondefine <4 x double> @fun47(<4 x i64> %val1, <4 x i64> %val2, <4 x double> %val3, <4 x double> %val4) {
620*f496bd9aSJonas Paulsson; CHECK-LABEL: fun47:
621*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
622*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v24, %v28
623*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v29, %v0
624*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v26, %v30
625*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v31, %v0
626*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
627*f496bd9aSJonas Paulsson  %cmp = icmp eq <4 x i64> %val1, %val2
628*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
629*f496bd9aSJonas Paulsson  ret <4 x double> %sel
630*f496bd9aSJonas Paulsson}
631*f496bd9aSJonas Paulsson
632*f496bd9aSJonas Paulssondefine <8 x i8> @fun48(<8 x i8> %val1, <8 x i8> %val2, <8 x i8> %val3, <8 x i8> %val4) {
633*f496bd9aSJonas Paulsson; CHECK-LABEL: fun48:
634*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
635*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
636*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
637*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
638*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i8> %val1, %val2
639*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
640*f496bd9aSJonas Paulsson  ret <8 x i8> %sel
641*f496bd9aSJonas Paulsson}
642*f496bd9aSJonas Paulsson
643*f496bd9aSJonas Paulssondefine <8 x i16> @fun49(<8 x i8> %val1, <8 x i8> %val2, <8 x i16> %val3, <8 x i16> %val4) {
644*f496bd9aSJonas Paulsson; CHECK-LABEL: fun49:
645*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
646*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
647*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
648*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
649*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
650*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i8> %val1, %val2
651*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
652*f496bd9aSJonas Paulsson  ret <8 x i16> %sel
653*f496bd9aSJonas Paulsson}
654*f496bd9aSJonas Paulsson
655*f496bd9aSJonas Paulssondefine <8 x i32> @fun50(<8 x i8> %val1, <8 x i8> %val2, <8 x i32> %val3, <8 x i32> %val4) {
656*f496bd9aSJonas Paulsson; CHECK-LABEL: fun50:
657*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
658*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
659*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v0
660*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v0, %v0
661*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
662*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
663*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
664*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v25, %v1
665*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v27, %v0
666*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
667*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i8> %val1, %val2
668*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
669*f496bd9aSJonas Paulsson  ret <8 x i32> %sel
670*f496bd9aSJonas Paulsson}
671*f496bd9aSJonas Paulsson
672*f496bd9aSJonas Paulssondefine <8 x i64> @fun51(<8 x i8> %val1, <8 x i8> %val2, <8 x i64> %val3, <8 x i64> %val4) {
673*f496bd9aSJonas Paulsson; CHECK-LABEL: fun51:
674*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
675*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
676*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v0
677*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
678*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
679*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v29, %v1
680*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v1, %v0, %v0
681*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
682*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
683*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
684*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v31, %v1
685*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v0, %v0
686*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
687*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v0, %v0, %v0, 6
688*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
689*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
690*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
691*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
692*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
693*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v25, %v2, %v1
694*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 176(%r15)
695*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
696*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v27, %v1, %v0
697*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
698*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i8> %val1, %val2
699*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
700*f496bd9aSJonas Paulsson  ret <8 x i64> %sel
701*f496bd9aSJonas Paulsson}
702*f496bd9aSJonas Paulsson
703*f496bd9aSJonas Paulssondefine <8 x float> @fun52(<8 x i8> %val1, <8 x i8> %val2, <8 x float> %val3, <8 x float> %val4) {
704*f496bd9aSJonas Paulsson; CHECK-LABEL: fun52:
705*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
706*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
707*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v0
708*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v0, %v0
709*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
710*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
711*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
712*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v25, %v1
713*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v27, %v0
714*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
715*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i8> %val1, %val2
716*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
717*f496bd9aSJonas Paulsson  ret <8 x float> %sel
718*f496bd9aSJonas Paulsson}
719*f496bd9aSJonas Paulsson
720*f496bd9aSJonas Paulssondefine <8 x double> @fun53(<8 x i8> %val1, <8 x i8> %val2, <8 x double> %val3, <8 x double> %val4) {
721*f496bd9aSJonas Paulsson; CHECK-LABEL: fun53:
722*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
723*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
724*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v0
725*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
726*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
727*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v29, %v1
728*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v1, %v0, %v0
729*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
730*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
731*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
732*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v31, %v1
733*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v0, %v0
734*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
735*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v0, %v0, %v0, 6
736*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
737*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
738*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
739*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
740*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
741*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v25, %v2, %v1
742*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 176(%r15)
743*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
744*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v27, %v1, %v0
745*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
746*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i8> %val1, %val2
747*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
748*f496bd9aSJonas Paulsson  ret <8 x double> %sel
749*f496bd9aSJonas Paulsson}
750*f496bd9aSJonas Paulsson
751*f496bd9aSJonas Paulssondefine <8 x i8> @fun54(<8 x i16> %val1, <8 x i16> %val2, <8 x i8> %val3, <8 x i8> %val4) {
752*f496bd9aSJonas Paulsson; CHECK-LABEL: fun54:
753*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
754*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
755*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkh %v0, %v0, %v0
756*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
757*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
758*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i16> %val1, %val2
759*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
760*f496bd9aSJonas Paulsson  ret <8 x i8> %sel
761*f496bd9aSJonas Paulsson}
762*f496bd9aSJonas Paulsson
763*f496bd9aSJonas Paulssondefine <8 x i16> @fun55(<8 x i16> %val1, <8 x i16> %val2, <8 x i16> %val3, <8 x i16> %val4) {
764*f496bd9aSJonas Paulsson; CHECK-LABEL: fun55:
765*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
766*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
767*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
768*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
769*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i16> %val1, %val2
770*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
771*f496bd9aSJonas Paulsson  ret <8 x i16> %sel
772*f496bd9aSJonas Paulsson}
773*f496bd9aSJonas Paulsson
774*f496bd9aSJonas Paulssondefine <8 x i32> @fun56(<8 x i16> %val1, <8 x i16> %val2, <8 x i32> %val3, <8 x i32> %val4) {
775*f496bd9aSJonas Paulsson; CHECK-LABEL: fun56:
776*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
777*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
778*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v0
779*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v0, %v0
780*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
781*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v25, %v1
782*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v27, %v0
783*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
784*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i16> %val1, %val2
785*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
786*f496bd9aSJonas Paulsson  ret <8 x i32> %sel
787*f496bd9aSJonas Paulsson}
788*f496bd9aSJonas Paulsson
789*f496bd9aSJonas Paulssondefine <8 x i64> @fun57(<8 x i16> %val1, <8 x i16> %val2, <8 x i64> %val3, <8 x i64> %val4) {
790*f496bd9aSJonas Paulsson; CHECK-LABEL: fun57:
791*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
792*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
793*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v0
794*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
795*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v29, %v1
796*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v0, %v0
797*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
798*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
799*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v31, %v1
800*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v0, %v0
801*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
802*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v0, %v0, %v0, 12
803*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
804*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
805*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
806*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v25, %v2, %v1
807*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 176(%r15)
808*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
809*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v27, %v1, %v0
810*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
811*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i16> %val1, %val2
812*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
813*f496bd9aSJonas Paulsson  ret <8 x i64> %sel
814*f496bd9aSJonas Paulsson}
815*f496bd9aSJonas Paulsson
816*f496bd9aSJonas Paulssondefine <8 x float> @fun58(<8 x i16> %val1, <8 x i16> %val2, <8 x float> %val3, <8 x float> %val4) {
817*f496bd9aSJonas Paulsson; CHECK-LABEL: fun58:
818*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
819*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
820*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v0
821*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v0, %v0
822*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
823*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v25, %v1
824*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v27, %v0
825*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
826*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i16> %val1, %val2
827*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
828*f496bd9aSJonas Paulsson  ret <8 x float> %sel
829*f496bd9aSJonas Paulsson}
830*f496bd9aSJonas Paulsson
831*f496bd9aSJonas Paulssondefine <8 x double> @fun59(<8 x i16> %val1, <8 x i16> %val2, <8 x double> %val3, <8 x double> %val4) {
832*f496bd9aSJonas Paulsson; CHECK-LABEL: fun59:
833*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
834*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v26
835*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v0
836*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
837*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v29, %v1
838*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v0, %v0
839*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
840*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
841*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v31, %v1
842*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v0, %v0
843*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
844*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v0, %v0, %v0, 12
845*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
846*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
847*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
848*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v25, %v2, %v1
849*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 176(%r15)
850*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
851*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v27, %v1, %v0
852*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
853*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i16> %val1, %val2
854*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
855*f496bd9aSJonas Paulsson  ret <8 x double> %sel
856*f496bd9aSJonas Paulsson}
857*f496bd9aSJonas Paulsson
858*f496bd9aSJonas Paulssondefine <8 x i8> @fun60(<8 x i32> %val1, <8 x i32> %val2, <8 x i8> %val3, <8 x i8> %val4) {
859*f496bd9aSJonas Paulsson; CHECK-LABEL: fun60:
860*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
861*f496bd9aSJonas Paulsson; CHECK-NEXT:    larl %r1, .LCPI60_0
862*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 0(%r1)
863*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v26, %v30
864*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v1, %v24, %v28
865*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v1, %v0, %v2
866*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v27, %v0
867*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
868*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i32> %val1, %val2
869*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
870*f496bd9aSJonas Paulsson  ret <8 x i8> %sel
871*f496bd9aSJonas Paulsson}
872*f496bd9aSJonas Paulsson
873*f496bd9aSJonas Paulssondefine <8 x i16> @fun61(<8 x i32> %val1, <8 x i32> %val2, <8 x i16> %val3, <8 x i16> %val4) {
874*f496bd9aSJonas Paulsson; CHECK-LABEL: fun61:
875*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
876*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v26, %v30
877*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v1, %v24, %v28
878*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
879*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v27, %v0
880*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
881*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i32> %val1, %val2
882*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
883*f496bd9aSJonas Paulsson  ret <8 x i16> %sel
884*f496bd9aSJonas Paulsson}
885*f496bd9aSJonas Paulsson
886*f496bd9aSJonas Paulssondefine <8 x i32> @fun62(<8 x i32> %val1, <8 x i32> %val2, <8 x i32> %val3, <8 x i32> %val4) {
887*f496bd9aSJonas Paulsson; CHECK-LABEL: fun62:
888*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
889*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v28
890*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v29, %v0
891*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v26, %v30
892*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v31, %v0
893*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
894*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i32> %val1, %val2
895*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
896*f496bd9aSJonas Paulsson  ret <8 x i32> %sel
897*f496bd9aSJonas Paulsson}
898*f496bd9aSJonas Paulsson
899*f496bd9aSJonas Paulssondefine <8 x i64> @fun63(<8 x i32> %val1, <8 x i32> %val2, <8 x i64> %val3, <8 x i64> %val4) {
900*f496bd9aSJonas Paulsson; CHECK-LABEL: fun63:
901*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
902*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v28
903*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
904*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v0
905*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v2, %v1
906*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v1, %v26, %v30
907*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 192(%r15)
908*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v2, %v1
909*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v0, %v0
910*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v29, %v3, %v2
911*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
912*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
913*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v2, %v0
914*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v1, %v1
915*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 208(%r15)
916*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
917*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v31, %v1, %v0
918*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
919*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i32> %val1, %val2
920*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
921*f496bd9aSJonas Paulsson  ret <8 x i64> %sel
922*f496bd9aSJonas Paulsson}
923*f496bd9aSJonas Paulsson
924*f496bd9aSJonas Paulssondefine <8 x float> @fun64(<8 x i32> %val1, <8 x i32> %val2, <8 x float> %val3, <8 x float> %val4) {
925*f496bd9aSJonas Paulsson; CHECK-LABEL: fun64:
926*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
927*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v28
928*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v29, %v0
929*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v26, %v30
930*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v31, %v0
931*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
932*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i32> %val1, %val2
933*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
934*f496bd9aSJonas Paulsson  ret <8 x float> %sel
935*f496bd9aSJonas Paulsson}
936*f496bd9aSJonas Paulsson
937*f496bd9aSJonas Paulssondefine <8 x double> @fun65(<8 x i32> %val1, <8 x i32> %val2, <8 x double> %val3, <8 x double> %val4) {
938*f496bd9aSJonas Paulsson; CHECK-LABEL: fun65:
939*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
940*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v28
941*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
942*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v0
943*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v2, %v1
944*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v1, %v26, %v30
945*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 192(%r15)
946*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v2, %v1
947*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v0, %v0
948*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v29, %v3, %v2
949*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
950*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
951*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v2, %v0
952*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v1, %v1
953*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 208(%r15)
954*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
955*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v31, %v1, %v0
956*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
957*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i32> %val1, %val2
958*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
959*f496bd9aSJonas Paulsson  ret <8 x double> %sel
960*f496bd9aSJonas Paulsson}
961*f496bd9aSJonas Paulsson
962*f496bd9aSJonas Paulssondefine <8 x i8> @fun66(<8 x i64> %val1, <8 x i64> %val2, <8 x i8> %val3, <8 x i8> %val4) {
963*f496bd9aSJonas Paulsson; CHECK-LABEL: fun66:
964*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
965*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v30, %v31
966*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v28, %v29
967*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
968*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v26, %v27
969*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v2, %v24, %v25
970*f496bd9aSJonas Paulsson; CHECK-NEXT:    larl %r1, .LCPI66_0
971*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
972*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 0(%r1)
973*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v1, %v0, %v2
974*f496bd9aSJonas Paulsson; CHECK-NEXT:    vlrepg %v1, 168(%r15)
975*f496bd9aSJonas Paulsson; CHECK-NEXT:    vlrepg %v2, 160(%r15)
976*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
977*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
978*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i64> %val1, %val2
979*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
980*f496bd9aSJonas Paulsson  ret <8 x i8> %sel
981*f496bd9aSJonas Paulsson}
982*f496bd9aSJonas Paulsson
983*f496bd9aSJonas Paulssondefine <8 x i16> @fun67(<8 x i64> %val1, <8 x i64> %val2, <8 x i16> %val3, <8 x i16> %val4) {
984*f496bd9aSJonas Paulsson; CHECK-LABEL: fun67:
985*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
986*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v30, %v31
987*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v28, %v29
988*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
989*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v26, %v27
990*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v2, %v24, %v25
991*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
992*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
993*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 176(%r15)
994*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
995*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
996*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
997*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i64> %val1, %val2
998*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
999*f496bd9aSJonas Paulsson  ret <8 x i16> %sel
1000*f496bd9aSJonas Paulsson}
1001*f496bd9aSJonas Paulsson
1002*f496bd9aSJonas Paulssondefine <8 x i32> @fun68(<8 x i64> %val1, <8 x i64> %val2, <8 x i32> %val3, <8 x i32> %val4) {
1003*f496bd9aSJonas Paulsson; CHECK-LABEL: fun68:
1004*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1005*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v26, %v27
1006*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v24, %v25
1007*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1008*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 192(%r15)
1009*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
1010*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
1011*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v30, %v31
1012*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v28, %v29
1013*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1014*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 208(%r15)
1015*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
1016*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
1017*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1018*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i64> %val1, %val2
1019*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
1020*f496bd9aSJonas Paulsson  ret <8 x i32> %sel
1021*f496bd9aSJonas Paulsson}
1022*f496bd9aSJonas Paulsson
1023*f496bd9aSJonas Paulssondefine <8 x i64> @fun69(<8 x i64> %val1, <8 x i64> %val2, <8 x i64> %val3, <8 x i64> %val4) {
1024*f496bd9aSJonas Paulsson; CHECK-LABEL: fun69:
1025*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1026*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 224(%r15)
1027*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
1028*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v24, %v25
1029*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
1030*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 240(%r15)
1031*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
1032*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v26, %v27
1033*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
1034*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
1035*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 192(%r15)
1036*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v28, %v29
1037*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
1038*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 272(%r15)
1039*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 208(%r15)
1040*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v30, %v31
1041*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
1042*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1043*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i64> %val1, %val2
1044*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
1045*f496bd9aSJonas Paulsson  ret <8 x i64> %sel
1046*f496bd9aSJonas Paulsson}
1047*f496bd9aSJonas Paulsson
1048*f496bd9aSJonas Paulssondefine <8 x float> @fun70(<8 x i64> %val1, <8 x i64> %val2, <8 x float> %val3, <8 x float> %val4) {
1049*f496bd9aSJonas Paulsson; CHECK-LABEL: fun70:
1050*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1051*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v26, %v27
1052*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v24, %v25
1053*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1054*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 192(%r15)
1055*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
1056*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
1057*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v30, %v31
1058*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v28, %v29
1059*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1060*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 208(%r15)
1061*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
1062*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
1063*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1064*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i64> %val1, %val2
1065*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
1066*f496bd9aSJonas Paulsson  ret <8 x float> %sel
1067*f496bd9aSJonas Paulsson}
1068*f496bd9aSJonas Paulsson
1069*f496bd9aSJonas Paulssondefine <8 x double> @fun71(<8 x i64> %val1, <8 x i64> %val2, <8 x double> %val3, <8 x double> %val4) {
1070*f496bd9aSJonas Paulsson; CHECK-LABEL: fun71:
1071*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1072*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 224(%r15)
1073*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
1074*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v24, %v25
1075*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
1076*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 240(%r15)
1077*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
1078*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v26, %v27
1079*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
1080*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
1081*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 192(%r15)
1082*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v28, %v29
1083*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
1084*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 272(%r15)
1085*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 208(%r15)
1086*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v30, %v31
1087*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
1088*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1089*f496bd9aSJonas Paulsson  %cmp = icmp eq <8 x i64> %val1, %val2
1090*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
1091*f496bd9aSJonas Paulsson  ret <8 x double> %sel
1092*f496bd9aSJonas Paulsson}
1093*f496bd9aSJonas Paulsson
1094*f496bd9aSJonas Paulssondefine <16 x i8> @fun72(<16 x i8> %val1, <16 x i8> %val2, <16 x i8> %val3, <16 x i8> %val4) {
1095*f496bd9aSJonas Paulsson; CHECK-LABEL: fun72:
1096*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1097*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
1098*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
1099*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1100*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i8> %val1, %val2
1101*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1102*f496bd9aSJonas Paulsson  ret <16 x i8> %sel
1103*f496bd9aSJonas Paulsson}
1104*f496bd9aSJonas Paulsson
1105*f496bd9aSJonas Paulssondefine <16 x i16> @fun73(<16 x i8> %val1, <16 x i8> %val2, <16 x i16> %val3, <16 x i16> %val4) {
1106*f496bd9aSJonas Paulsson; CHECK-LABEL: fun73:
1107*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1108*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
1109*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v0
1110*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v0, %v0
1111*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
1112*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v25, %v1
1113*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v27, %v0
1114*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1115*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i8> %val1, %val2
1116*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1117*f496bd9aSJonas Paulsson  ret <16 x i16> %sel
1118*f496bd9aSJonas Paulsson}
1119*f496bd9aSJonas Paulsson
1120*f496bd9aSJonas Paulssondefine <16 x i32> @fun74(<16 x i8> %val1, <16 x i8> %val2, <16 x i32> %val3, <16 x i32> %val4) {
1121*f496bd9aSJonas Paulsson; CHECK-LABEL: fun74:
1122*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1123*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
1124*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v0
1125*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1126*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v29, %v1
1127*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v0, %v0
1128*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1129*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1130*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v31, %v1
1131*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v0, %v0
1132*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1133*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v0, %v0, %v0, 12
1134*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
1135*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1136*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
1137*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v25, %v2, %v1
1138*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 176(%r15)
1139*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1140*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v27, %v1, %v0
1141*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1142*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i8> %val1, %val2
1143*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1144*f496bd9aSJonas Paulsson  ret <16 x i32> %sel
1145*f496bd9aSJonas Paulsson}
1146*f496bd9aSJonas Paulsson
1147*f496bd9aSJonas Paulssondefine <16 x i64> @fun75(<16 x i8> %val1, <16 x i8> %val2, <16 x i64> %val3, <16 x i64> %val4) {
1148*f496bd9aSJonas Paulsson; CHECK-LABEL: fun75:
1149*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1150*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
1151*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v0
1152*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1153*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 192(%r15)
1154*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1155*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v2, %v1
1156*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v1, %v0, %v0
1157*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1158*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1159*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 208(%r15)
1160*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1161*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v2, %v1
1162*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v0, %v0
1163*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1164*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1165*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 224(%r15)
1166*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1167*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 160(%r15)
1168*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v25, %v2, %v1
1169*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 240(%r15)
1170*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v1, %v0, %v0, 6
1171*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1172*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1173*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1174*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v27, %v2, %v1
1175*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 256(%r15)
1176*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v0, %v0
1177*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1178*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1179*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1180*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v25, %v29, %v2, %v1
1181*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 272(%r15)
1182*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v1, %v0, %v0, 10
1183*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1184*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1185*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1186*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v27, %v31, %v2, %v1
1187*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
1188*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v1, %v0, %v0, 12
1189*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1190*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v0, %v0, %v0, 14
1191*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1192*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
1193*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1194*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1195*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v29, %v3, %v2, %v1
1196*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 304(%r15)
1197*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
1198*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
1199*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v31, %v2, %v1, %v0
1200*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1201*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i8> %val1, %val2
1202*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1203*f496bd9aSJonas Paulsson  ret <16 x i64> %sel
1204*f496bd9aSJonas Paulsson}
1205*f496bd9aSJonas Paulsson
1206*f496bd9aSJonas Paulssondefine <16 x float> @fun76(<16 x i8> %val1, <16 x i8> %val2, <16 x float> %val3, <16 x float> %val4) {
1207*f496bd9aSJonas Paulsson; CHECK-LABEL: fun76:
1208*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1209*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
1210*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v0
1211*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1212*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v29, %v1
1213*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v0, %v0
1214*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1215*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1216*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v31, %v1
1217*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v0, %v0
1218*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1219*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v0, %v0, %v0, 12
1220*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
1221*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1222*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
1223*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v25, %v2, %v1
1224*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 176(%r15)
1225*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1226*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v27, %v1, %v0
1227*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1228*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i8> %val1, %val2
1229*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1230*f496bd9aSJonas Paulsson  ret <16 x float> %sel
1231*f496bd9aSJonas Paulsson}
1232*f496bd9aSJonas Paulsson
1233*f496bd9aSJonas Paulssondefine <16 x double> @fun77(<16 x i8> %val1, <16 x i8> %val2, <16 x double> %val3, <16 x double> %val4) {
1234*f496bd9aSJonas Paulsson; CHECK-LABEL: fun77:
1235*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1236*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqb %v0, %v24, %v26
1237*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v0
1238*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1239*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 192(%r15)
1240*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1241*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v2, %v1
1242*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v1, %v0, %v0
1243*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1244*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1245*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 208(%r15)
1246*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1247*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v2, %v1
1248*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v0, %v0
1249*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1250*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1251*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 224(%r15)
1252*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1253*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 160(%r15)
1254*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v25, %v2, %v1
1255*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 240(%r15)
1256*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v1, %v0, %v0, 6
1257*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1258*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1259*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1260*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v27, %v2, %v1
1261*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 256(%r15)
1262*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v0, %v0
1263*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1264*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1265*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1266*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v25, %v29, %v2, %v1
1267*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 272(%r15)
1268*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v1, %v0, %v0, 10
1269*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1270*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1271*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1272*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v27, %v31, %v2, %v1
1273*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
1274*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v1, %v0, %v0, 12
1275*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v1, %v1
1276*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v0, %v0, %v0, 14
1277*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v1
1278*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphb %v0, %v0
1279*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1280*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1281*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v29, %v3, %v2, %v1
1282*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 304(%r15)
1283*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
1284*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
1285*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v31, %v2, %v1, %v0
1286*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1287*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i8> %val1, %val2
1288*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
1289*f496bd9aSJonas Paulsson  ret <16 x double> %sel
1290*f496bd9aSJonas Paulsson}
1291*f496bd9aSJonas Paulsson
1292*f496bd9aSJonas Paulssondefine <16 x i8> @fun78(<16 x i16> %val1, <16 x i16> %val2, <16 x i8> %val3, <16 x i8> %val4) {
1293*f496bd9aSJonas Paulsson; CHECK-LABEL: fun78:
1294*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1295*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v26, %v30
1296*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v1, %v24, %v28
1297*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkh %v0, %v1, %v0
1298*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v27, %v0
1299*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1300*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i16> %val1, %val2
1301*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1302*f496bd9aSJonas Paulsson  ret <16 x i8> %sel
1303*f496bd9aSJonas Paulsson}
1304*f496bd9aSJonas Paulsson
1305*f496bd9aSJonas Paulssondefine <16 x i16> @fun79(<16 x i16> %val1, <16 x i16> %val2, <16 x i16> %val3, <16 x i16> %val4) {
1306*f496bd9aSJonas Paulsson; CHECK-LABEL: fun79:
1307*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1308*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v28
1309*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v29, %v0
1310*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v26, %v30
1311*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v31, %v0
1312*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1313*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i16> %val1, %val2
1314*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1315*f496bd9aSJonas Paulsson  ret <16 x i16> %sel
1316*f496bd9aSJonas Paulsson}
1317*f496bd9aSJonas Paulsson
1318*f496bd9aSJonas Paulssondefine <16 x i32> @fun80(<16 x i16> %val1, <16 x i16> %val2, <16 x i32> %val3, <16 x i32> %val4) {
1319*f496bd9aSJonas Paulsson; CHECK-LABEL: fun80:
1320*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1321*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v28
1322*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
1323*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v0
1324*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v2, %v1
1325*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v1, %v26, %v30
1326*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 192(%r15)
1327*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v2, %v1
1328*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v0, %v0
1329*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v29, %v3, %v2
1330*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
1331*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1332*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v2, %v0
1333*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v1, %v1
1334*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 208(%r15)
1335*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1336*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v31, %v1, %v0
1337*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1338*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i16> %val1, %val2
1339*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1340*f496bd9aSJonas Paulsson  ret <16 x i32> %sel
1341*f496bd9aSJonas Paulsson}
1342*f496bd9aSJonas Paulsson
1343*f496bd9aSJonas Paulssondefine <16 x i64> @fun81(<16 x i16> %val1, <16 x i16> %val2, <16 x i64> %val3, <16 x i64> %val4) {
1344*f496bd9aSJonas Paulsson; CHECK-LABEL: fun81:
1345*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1346*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v28
1347*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v0
1348*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 224(%r15)
1349*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1350*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v2, %v1
1351*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v1, %v26, %v30
1352*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v2, %v1
1353*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 288(%r15)
1354*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v4, 160(%r15)
1355*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v2, %v2
1356*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v25, %v4, %v3, %v2
1357*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v2, %v0, %v0
1358*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v2, %v2
1359*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 240(%r15)
1360*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v2, %v2
1361*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v3, %v2
1362*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v2, %v0, %v0
1363*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v2, %v2
1364*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v0, %v0, %v0, 12
1365*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 256(%r15)
1366*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v2, %v2
1367*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1368*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v29, %v3, %v2
1369*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 272(%r15)
1370*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 176(%r15)
1371*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
1372*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v31, %v2, %v0
1373*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 304(%r15)
1374*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v1
1375*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1376*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
1377*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v27, %v3, %v2, %v0
1378*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 320(%r15)
1379*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 192(%r15)
1380*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v1, %v1
1381*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1382*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
1383*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v29, %v3, %v2, %v0
1384*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 208(%r15)
1385*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v0, %v1, %v1, 12
1386*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 336(%r15)
1387*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1388*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
1389*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v31, %v2, %v1, %v0
1390*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1391*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i16> %val1, %val2
1392*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1393*f496bd9aSJonas Paulsson  ret <16 x i64> %sel
1394*f496bd9aSJonas Paulsson}
1395*f496bd9aSJonas Paulsson
1396*f496bd9aSJonas Paulssondefine <16 x float> @fun82(<16 x i16> %val1, <16 x i16> %val2, <16 x float> %val3, <16 x float> %val4) {
1397*f496bd9aSJonas Paulsson; CHECK-LABEL: fun82:
1398*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1399*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v28
1400*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
1401*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v0
1402*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v2, %v1
1403*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v1, %v26, %v30
1404*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 192(%r15)
1405*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v2, %v1
1406*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v0, %v0
1407*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v29, %v3, %v2
1408*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
1409*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1410*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v2, %v0
1411*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v1, %v1
1412*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 208(%r15)
1413*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1414*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v31, %v1, %v0
1415*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1416*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i16> %val1, %val2
1417*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1418*f496bd9aSJonas Paulsson  ret <16 x float> %sel
1419*f496bd9aSJonas Paulsson}
1420*f496bd9aSJonas Paulsson
1421*f496bd9aSJonas Paulssondefine <16 x double> @fun83(<16 x i16> %val1, <16 x i16> %val2, <16 x double> %val3, <16 x double> %val4) {
1422*f496bd9aSJonas Paulsson; CHECK-LABEL: fun83:
1423*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1424*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v0, %v24, %v28
1425*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v1, %v0
1426*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 224(%r15)
1427*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1428*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v2, %v1
1429*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqh %v1, %v26, %v30
1430*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v2, %v1
1431*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 288(%r15)
1432*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v4, 160(%r15)
1433*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v2, %v2
1434*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v25, %v4, %v3, %v2
1435*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v2, %v0, %v0
1436*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v2, %v2
1437*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 240(%r15)
1438*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v2, %v2
1439*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v3, %v2
1440*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v2, %v0, %v0
1441*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v2, %v2
1442*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v0, %v0, %v0, 12
1443*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 256(%r15)
1444*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v2, %v2
1445*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1446*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v29, %v3, %v2
1447*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 272(%r15)
1448*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 176(%r15)
1449*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
1450*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v31, %v2, %v0
1451*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 304(%r15)
1452*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v1
1453*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1454*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
1455*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v27, %v3, %v2, %v0
1456*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 320(%r15)
1457*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 192(%r15)
1458*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v1, %v1
1459*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1460*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
1461*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v29, %v3, %v2, %v0
1462*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 208(%r15)
1463*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsldb %v0, %v1, %v1, 12
1464*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 336(%r15)
1465*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphh %v0, %v0
1466*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
1467*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v31, %v2, %v1, %v0
1468*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1469*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i16> %val1, %val2
1470*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
1471*f496bd9aSJonas Paulsson  ret <16 x double> %sel
1472*f496bd9aSJonas Paulsson}
1473*f496bd9aSJonas Paulsson
1474*f496bd9aSJonas Paulssondefine <16 x i8> @fun84(<16 x i32> %val1, <16 x i32> %val2, <16 x i8> %val3, <16 x i8> %val4) {
1475*f496bd9aSJonas Paulsson; CHECK-LABEL: fun84:
1476*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1477*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v30, %v31
1478*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v1, %v28, %v29
1479*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
1480*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v1, %v26, %v27
1481*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v2, %v24, %v25
1482*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v1, %v2, %v1
1483*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkh %v0, %v1, %v0
1484*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 176(%r15)
1485*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
1486*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
1487*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1488*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i32> %val1, %val2
1489*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1490*f496bd9aSJonas Paulsson  ret <16 x i8> %sel
1491*f496bd9aSJonas Paulsson}
1492*f496bd9aSJonas Paulsson
1493*f496bd9aSJonas Paulssondefine <16 x i16> @fun85(<16 x i32> %val1, <16 x i32> %val2, <16 x i16> %val3, <16 x i16> %val4) {
1494*f496bd9aSJonas Paulsson; CHECK-LABEL: fun85:
1495*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1496*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v26, %v27
1497*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v1, %v24, %v25
1498*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
1499*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 192(%r15)
1500*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
1501*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
1502*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v30, %v31
1503*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v1, %v28, %v29
1504*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
1505*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 208(%r15)
1506*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
1507*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
1508*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1509*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i32> %val1, %val2
1510*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1511*f496bd9aSJonas Paulsson  ret <16 x i16> %sel
1512*f496bd9aSJonas Paulsson}
1513*f496bd9aSJonas Paulsson
1514*f496bd9aSJonas Paulssondefine <16 x i32> @fun86(<16 x i32> %val1, <16 x i32> %val2, <16 x i32> %val3, <16 x i32> %val4) {
1515*f496bd9aSJonas Paulsson; CHECK-LABEL: fun86:
1516*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1517*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 224(%r15)
1518*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
1519*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v25
1520*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
1521*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 240(%r15)
1522*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
1523*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v26, %v27
1524*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
1525*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
1526*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 192(%r15)
1527*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v28, %v29
1528*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
1529*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 272(%r15)
1530*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 208(%r15)
1531*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v30, %v31
1532*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
1533*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1534*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i32> %val1, %val2
1535*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1536*f496bd9aSJonas Paulsson  ret <16 x i32> %sel
1537*f496bd9aSJonas Paulsson}
1538*f496bd9aSJonas Paulsson
1539*f496bd9aSJonas Paulssondefine <16 x i64> @fun87(<16 x i32> %val1, <16 x i32> %val2, <16 x i64> %val3, <16 x i64> %val4) {
1540*f496bd9aSJonas Paulsson; CHECK-LABEL: fun87:
1541*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1542*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v1, %v24, %v25
1543*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
1544*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 160(%r15)
1545*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v1
1546*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v3, %v2, %v0
1547*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v2, %v26, %v27
1548*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 320(%r15)
1549*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v4, 192(%r15)
1550*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v2
1551*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v0, %v4, %v3, %v0
1552*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v3, %v28, %v29
1553*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v5, 352(%r15)
1554*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v6, 224(%r15)
1555*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v4, %v3
1556*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v25, %v6, %v5, %v4
1557*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v4, %v30, %v31
1558*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v6, 384(%r15)
1559*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v7, 256(%r15)
1560*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v5, %v4
1561*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v1, %v1
1562*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v29, %v7, %v6, %v5
1563*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v5, 304(%r15)
1564*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v6, 176(%r15)
1565*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1566*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v6, %v5, %v1
1567*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v2, %v2
1568*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 336(%r15)
1569*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v5, 208(%r15)
1570*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1571*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v5, %v2, %v1
1572*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v3, %v3
1573*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 368(%r15)
1574*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 240(%r15)
1575*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1576*f496bd9aSJonas Paulsson; CHECK-NEXT:    vlr %v28, %v0
1577*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v27, %v3, %v2, %v1
1578*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 400(%r15)
1579*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 272(%r15)
1580*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v4, %v4
1581*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1582*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v31, %v3, %v2, %v1
1583*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1584*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i32> %val1, %val2
1585*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1586*f496bd9aSJonas Paulsson  ret <16 x i64> %sel
1587*f496bd9aSJonas Paulsson}
1588*f496bd9aSJonas Paulsson
1589*f496bd9aSJonas Paulssondefine <16 x float> @fun88(<16 x i32> %val1, <16 x i32> %val2, <16 x float> %val3, <16 x float> %val4) {
1590*f496bd9aSJonas Paulsson; CHECK-LABEL: fun88:
1591*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1592*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 224(%r15)
1593*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
1594*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v24, %v25
1595*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
1596*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 240(%r15)
1597*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
1598*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v26, %v27
1599*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
1600*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
1601*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 192(%r15)
1602*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v28, %v29
1603*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
1604*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 272(%r15)
1605*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 208(%r15)
1606*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v0, %v30, %v31
1607*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
1608*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1609*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i32> %val1, %val2
1610*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1611*f496bd9aSJonas Paulsson  ret <16 x float> %sel
1612*f496bd9aSJonas Paulsson}
1613*f496bd9aSJonas Paulsson
1614*f496bd9aSJonas Paulssondefine <16 x double> @fun89(<16 x i32> %val1, <16 x i32> %val2, <16 x double> %val3, <16 x double> %val4) {
1615*f496bd9aSJonas Paulsson; CHECK-LABEL: fun89:
1616*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1617*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v1, %v24, %v25
1618*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
1619*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 160(%r15)
1620*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v1
1621*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v3, %v2, %v0
1622*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v2, %v26, %v27
1623*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 320(%r15)
1624*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v4, 192(%r15)
1625*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v2
1626*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v0, %v4, %v3, %v0
1627*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v3, %v28, %v29
1628*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v5, 352(%r15)
1629*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v6, 224(%r15)
1630*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v4, %v3
1631*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v25, %v6, %v5, %v4
1632*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqf %v4, %v30, %v31
1633*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v6, 384(%r15)
1634*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v7, 256(%r15)
1635*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v5, %v4
1636*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v1, %v1
1637*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v29, %v7, %v6, %v5
1638*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v5, 304(%r15)
1639*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v6, 176(%r15)
1640*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1641*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v6, %v5, %v1
1642*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v2, %v2
1643*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 336(%r15)
1644*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v5, 208(%r15)
1645*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1646*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v5, %v2, %v1
1647*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v3, %v3
1648*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 368(%r15)
1649*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 240(%r15)
1650*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1651*f496bd9aSJonas Paulsson; CHECK-NEXT:    vlr %v28, %v0
1652*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v27, %v3, %v2, %v1
1653*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 400(%r15)
1654*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 272(%r15)
1655*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v4, %v4
1656*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
1657*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v31, %v3, %v2, %v1
1658*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1659*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i32> %val1, %val2
1660*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
1661*f496bd9aSJonas Paulsson  ret <16 x double> %sel
1662*f496bd9aSJonas Paulsson}
1663*f496bd9aSJonas Paulsson
1664*f496bd9aSJonas Paulssondefine <16 x i8> @fun90(<16 x i64> %val1, <16 x i64> %val2, <16 x i8> %val3, <16 x i8> %val4) {
1665*f496bd9aSJonas Paulsson; CHECK-LABEL: fun90:
1666*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1667*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 272(%r15)
1668*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
1669*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v31, %v0
1670*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v29, %v1
1671*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1672*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 240(%r15)
1673*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 224(%r15)
1674*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v27, %v1
1675*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v2, %v25, %v2
1676*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
1677*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
1678*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 208(%r15)
1679*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 192(%r15)
1680*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v30, %v1
1681*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v2, %v28, %v2
1682*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
1683*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
1684*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 160(%r15)
1685*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v2, %v26, %v2
1686*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v3, %v24, %v3
1687*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v2, %v3, %v2
1688*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v1, %v2, %v1
1689*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkh %v0, %v1, %v0
1690*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 304(%r15)
1691*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
1692*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
1693*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1694*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i64> %val1, %val2
1695*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1696*f496bd9aSJonas Paulsson  ret <16 x i8> %sel
1697*f496bd9aSJonas Paulsson}
1698*f496bd9aSJonas Paulsson
1699*f496bd9aSJonas Paulssondefine <16 x i16> @fun91(<16 x i64> %val1, <16 x i64> %val2, <16 x i16> %val3, <16 x i16> %val4) {
1700*f496bd9aSJonas Paulsson; CHECK-LABEL: fun91:
1701*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1702*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 208(%r15)
1703*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 192(%r15)
1704*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v30, %v0
1705*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v28, %v1
1706*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1707*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 176(%r15)
1708*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
1709*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v26, %v1
1710*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v2, %v24, %v2
1711*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
1712*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
1713*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 320(%r15)
1714*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
1715*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
1716*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 272(%r15)
1717*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
1718*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v31, %v0
1719*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v29, %v1
1720*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1721*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 240(%r15)
1722*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 224(%r15)
1723*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v27, %v1
1724*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v2, %v25, %v2
1725*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
1726*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
1727*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 336(%r15)
1728*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 304(%r15)
1729*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
1730*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1731*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i64> %val1, %val2
1732*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1733*f496bd9aSJonas Paulsson  ret <16 x i16> %sel
1734*f496bd9aSJonas Paulsson}
1735*f496bd9aSJonas Paulsson
1736*f496bd9aSJonas Paulssondefine <16 x i32> @fun92(<16 x i64> %val1, <16 x i64> %val2, <16 x i32> %val3, <16 x i32> %val4) {
1737*f496bd9aSJonas Paulsson; CHECK-LABEL: fun92:
1738*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1739*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 176(%r15)
1740*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 160(%r15)
1741*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v26, %v0
1742*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v24, %v1
1743*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1744*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 352(%r15)
1745*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
1746*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
1747*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 208(%r15)
1748*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 192(%r15)
1749*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v30, %v0
1750*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v28, %v1
1751*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1752*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 368(%r15)
1753*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 304(%r15)
1754*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
1755*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 240(%r15)
1756*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 224(%r15)
1757*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v27, %v0
1758*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v25, %v1
1759*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1760*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 384(%r15)
1761*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 320(%r15)
1762*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
1763*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 272(%r15)
1764*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
1765*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v31, %v0
1766*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v29, %v1
1767*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1768*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 400(%r15)
1769*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 336(%r15)
1770*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
1771*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1772*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i64> %val1, %val2
1773*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1774*f496bd9aSJonas Paulsson  ret <16 x i32> %sel
1775*f496bd9aSJonas Paulsson}
1776*f496bd9aSJonas Paulsson
1777*f496bd9aSJonas Paulssondefine <16 x i64> @fun93(<16 x i64> %val1, <16 x i64> %val2, <16 x i64> %val3, <16 x i64> %val4) {
1778*f496bd9aSJonas Paulsson; CHECK-LABEL: fun93:
1779*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1780*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 160(%r15)
1781*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 416(%r15)
1782*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
1783*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v24, %v0
1784*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
1785*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 176(%r15)
1786*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 432(%r15)
1787*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 304(%r15)
1788*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v26, %v0
1789*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
1790*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 192(%r15)
1791*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 448(%r15)
1792*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 320(%r15)
1793*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v28, %v0
1794*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
1795*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 208(%r15)
1796*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 464(%r15)
1797*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 336(%r15)
1798*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v30, %v0
1799*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
1800*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 224(%r15)
1801*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 480(%r15)
1802*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 352(%r15)
1803*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v25, %v0
1804*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v25, %v2, %v1, %v0
1805*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 240(%r15)
1806*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 496(%r15)
1807*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 368(%r15)
1808*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v27, %v0
1809*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v27, %v2, %v1, %v0
1810*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 256(%r15)
1811*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v29, %v0
1812*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 512(%r15)
1813*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 384(%r15)
1814*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v29, %v2, %v1, %v0
1815*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 272(%r15)
1816*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v31, %v0
1817*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 528(%r15)
1818*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 400(%r15)
1819*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v31, %v2, %v1, %v0
1820*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1821*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i64> %val1, %val2
1822*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1823*f496bd9aSJonas Paulsson  ret <16 x i64> %sel
1824*f496bd9aSJonas Paulsson}
1825*f496bd9aSJonas Paulsson
1826*f496bd9aSJonas Paulssondefine <16 x float> @fun94(<16 x i64> %val1, <16 x i64> %val2, <16 x float> %val3, <16 x float> %val4) {
1827*f496bd9aSJonas Paulsson; CHECK-LABEL: fun94:
1828*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1829*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 176(%r15)
1830*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 160(%r15)
1831*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v26, %v0
1832*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v24, %v1
1833*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1834*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 352(%r15)
1835*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
1836*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
1837*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 208(%r15)
1838*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 192(%r15)
1839*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v30, %v0
1840*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v28, %v1
1841*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1842*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 368(%r15)
1843*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 304(%r15)
1844*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
1845*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 240(%r15)
1846*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 224(%r15)
1847*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v27, %v0
1848*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v25, %v1
1849*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1850*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 384(%r15)
1851*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 320(%r15)
1852*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
1853*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 272(%r15)
1854*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
1855*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v31, %v0
1856*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v1, %v29, %v1
1857*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1858*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 400(%r15)
1859*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 336(%r15)
1860*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
1861*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1862*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i64> %val1, %val2
1863*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1864*f496bd9aSJonas Paulsson  ret <16 x float> %sel
1865*f496bd9aSJonas Paulsson}
1866*f496bd9aSJonas Paulsson
1867*f496bd9aSJonas Paulssondefine <16 x double> @fun95(<16 x i64> %val1, <16 x i64> %val2, <16 x double> %val3, <16 x double> %val4) {
1868*f496bd9aSJonas Paulsson; CHECK-LABEL: fun95:
1869*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1870*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 160(%r15)
1871*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 416(%r15)
1872*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
1873*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v24, %v0
1874*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
1875*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 176(%r15)
1876*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 432(%r15)
1877*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 304(%r15)
1878*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v26, %v0
1879*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
1880*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 192(%r15)
1881*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 448(%r15)
1882*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 320(%r15)
1883*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v28, %v0
1884*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
1885*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 208(%r15)
1886*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 464(%r15)
1887*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 336(%r15)
1888*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v30, %v0
1889*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
1890*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 224(%r15)
1891*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 480(%r15)
1892*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 352(%r15)
1893*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v25, %v0
1894*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v25, %v2, %v1, %v0
1895*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 240(%r15)
1896*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 496(%r15)
1897*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 368(%r15)
1898*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v27, %v0
1899*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v27, %v2, %v1, %v0
1900*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 256(%r15)
1901*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v29, %v0
1902*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 512(%r15)
1903*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 384(%r15)
1904*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v29, %v2, %v1, %v0
1905*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 272(%r15)
1906*f496bd9aSJonas Paulsson; CHECK-NEXT:    vceqg %v0, %v31, %v0
1907*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 528(%r15)
1908*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 400(%r15)
1909*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v31, %v2, %v1, %v0
1910*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1911*f496bd9aSJonas Paulsson  %cmp = icmp eq <16 x i64> %val1, %val2
1912*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
1913*f496bd9aSJonas Paulsson  ret <16 x double> %sel
1914*f496bd9aSJonas Paulsson}
1915*f496bd9aSJonas Paulsson
1916*f496bd9aSJonas Paulssondefine <2 x i8> @fun96(<2 x float> %val1, <2 x float> %val2, <2 x i8> %val3, <2 x i8> %val4) {
1917*f496bd9aSJonas Paulsson; CHECK-LABEL: fun96:
1918*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1919*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v26, %v26
1920*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
1921*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
1922*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
1923*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
1924*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v26, %v26
1925*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
1926*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
1927*f496bd9aSJonas Paulsson; CHECK-NEXT:    larl %r1, .LCPI96_0
1928*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
1929*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
1930*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1931*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 0(%r1)
1932*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v0, %v0, %v1
1933*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
1934*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1935*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <2 x float> %val1, %val2
1936*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
1937*f496bd9aSJonas Paulsson  ret <2 x i8> %sel
1938*f496bd9aSJonas Paulsson}
1939*f496bd9aSJonas Paulsson
1940*f496bd9aSJonas Paulssondefine <2 x i16> @fun97(<2 x float> %val1, <2 x float> %val2, <2 x i16> %val3, <2 x i16> %val4) {
1941*f496bd9aSJonas Paulsson; CHECK-LABEL: fun97:
1942*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1943*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v26, %v26
1944*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
1945*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
1946*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
1947*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
1948*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v26, %v26
1949*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
1950*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
1951*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
1952*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
1953*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1954*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v0, %v0
1955*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
1956*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1957*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <2 x float> %val1, %val2
1958*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
1959*f496bd9aSJonas Paulsson  ret <2 x i16> %sel
1960*f496bd9aSJonas Paulsson}
1961*f496bd9aSJonas Paulsson
1962*f496bd9aSJonas Paulssondefine <2 x i32> @fun98(<2 x float> %val1, <2 x float> %val2, <2 x i32> %val3, <2 x i32> %val4) {
1963*f496bd9aSJonas Paulsson; CHECK-LABEL: fun98:
1964*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1965*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v26, %v26
1966*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
1967*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
1968*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
1969*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
1970*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v26, %v26
1971*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
1972*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
1973*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
1974*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
1975*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1976*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
1977*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
1978*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <2 x float> %val1, %val2
1979*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
1980*f496bd9aSJonas Paulsson  ret <2 x i32> %sel
1981*f496bd9aSJonas Paulsson}
1982*f496bd9aSJonas Paulsson
1983*f496bd9aSJonas Paulssondefine <2 x i64> @fun99(<2 x float> %val1, <2 x float> %val2, <2 x i64> %val3, <2 x i64> %val4) {
1984*f496bd9aSJonas Paulsson; CHECK-LABEL: fun99:
1985*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
1986*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v26, %v26
1987*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
1988*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
1989*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
1990*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
1991*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v26, %v26
1992*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
1993*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
1994*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
1995*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
1996*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
1997*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
1998*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
1999*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2000*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <2 x float> %val1, %val2
2001*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
2002*f496bd9aSJonas Paulsson  ret <2 x i64> %sel
2003*f496bd9aSJonas Paulsson}
2004*f496bd9aSJonas Paulsson
2005*f496bd9aSJonas Paulssondefine <2 x float> @fun100(<2 x float> %val1, <2 x float> %val2, <2 x float> %val3, <2 x float> %val4) {
2006*f496bd9aSJonas Paulsson; CHECK-LABEL: fun100:
2007*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2008*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v26, %v26
2009*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
2010*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2011*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2012*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2013*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v26, %v26
2014*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
2015*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2016*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2017*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2018*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2019*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
2020*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2021*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <2 x float> %val1, %val2
2022*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
2023*f496bd9aSJonas Paulsson  ret <2 x float> %sel
2024*f496bd9aSJonas Paulsson}
2025*f496bd9aSJonas Paulsson
2026*f496bd9aSJonas Paulssondefine <2 x double> @fun101(<2 x float> %val1, <2 x float> %val2, <2 x double> %val3, <2 x double> %val4) {
2027*f496bd9aSJonas Paulsson; CHECK-LABEL: fun101:
2028*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2029*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v26, %v26
2030*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
2031*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2032*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2033*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2034*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v26, %v26
2035*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
2036*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2037*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2038*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2039*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2040*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
2041*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
2042*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2043*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <2 x float> %val1, %val2
2044*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
2045*f496bd9aSJonas Paulsson  ret <2 x double> %sel
2046*f496bd9aSJonas Paulsson}
2047*f496bd9aSJonas Paulsson
2048*f496bd9aSJonas Paulssondefine <2 x i8> @fun102(<2 x double> %val1, <2 x double> %val2, <2 x i8> %val3, <2 x i8> %val4) {
2049*f496bd9aSJonas Paulsson; CHECK-LABEL: fun102:
2050*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2051*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v24, %v26
2052*f496bd9aSJonas Paulsson; CHECK-NEXT:    vrepih %v1, 1807
2053*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v0, %v0, %v1
2054*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
2055*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2056*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <2 x double> %val1, %val2
2057*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
2058*f496bd9aSJonas Paulsson  ret <2 x i8> %sel
2059*f496bd9aSJonas Paulsson}
2060*f496bd9aSJonas Paulsson
2061*f496bd9aSJonas Paulssondefine <2 x i16> @fun103(<2 x double> %val1, <2 x double> %val2, <2 x i16> %val3, <2 x i16> %val4) {
2062*f496bd9aSJonas Paulsson; CHECK-LABEL: fun103:
2063*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2064*f496bd9aSJonas Paulsson; CHECK-NEXT:    larl %r1, .LCPI103_0
2065*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 0(%r1)
2066*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v24, %v26
2067*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v0, %v0, %v1
2068*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
2069*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2070*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <2 x double> %val1, %val2
2071*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
2072*f496bd9aSJonas Paulsson  ret <2 x i16> %sel
2073*f496bd9aSJonas Paulsson}
2074*f496bd9aSJonas Paulsson
2075*f496bd9aSJonas Paulssondefine <2 x i32> @fun104(<2 x double> %val1, <2 x double> %val2, <2 x i32> %val3, <2 x i32> %val4) {
2076*f496bd9aSJonas Paulsson; CHECK-LABEL: fun104:
2077*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2078*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v24, %v26
2079*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v0, %v0
2080*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
2081*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2082*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <2 x double> %val1, %val2
2083*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
2084*f496bd9aSJonas Paulsson  ret <2 x i32> %sel
2085*f496bd9aSJonas Paulsson}
2086*f496bd9aSJonas Paulsson
2087*f496bd9aSJonas Paulssondefine <2 x i64> @fun105(<2 x double> %val1, <2 x double> %val2, <2 x i64> %val3, <2 x i64> %val4) {
2088*f496bd9aSJonas Paulsson; CHECK-LABEL: fun105:
2089*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2090*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v24, %v26
2091*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
2092*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2093*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <2 x double> %val1, %val2
2094*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
2095*f496bd9aSJonas Paulsson  ret <2 x i64> %sel
2096*f496bd9aSJonas Paulsson}
2097*f496bd9aSJonas Paulsson
2098*f496bd9aSJonas Paulssondefine <2 x float> @fun106(<2 x double> %val1, <2 x double> %val2, <2 x float> %val3, <2 x float> %val4) {
2099*f496bd9aSJonas Paulsson; CHECK-LABEL: fun106:
2100*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2101*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v24, %v26
2102*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v0, %v0
2103*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
2104*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2105*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <2 x double> %val1, %val2
2106*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
2107*f496bd9aSJonas Paulsson  ret <2 x float> %sel
2108*f496bd9aSJonas Paulsson}
2109*f496bd9aSJonas Paulsson
2110*f496bd9aSJonas Paulssondefine <2 x double> @fun107(<2 x double> %val1, <2 x double> %val2, <2 x double> %val3, <2 x double> %val4) {
2111*f496bd9aSJonas Paulsson; CHECK-LABEL: fun107:
2112*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2113*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v24, %v26
2114*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
2115*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2116*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <2 x double> %val1, %val2
2117*f496bd9aSJonas Paulsson  %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
2118*f496bd9aSJonas Paulsson  ret <2 x double> %sel
2119*f496bd9aSJonas Paulsson}
2120*f496bd9aSJonas Paulsson
2121*f496bd9aSJonas Paulssondefine <4 x i8> @fun108(<4 x float> %val1, <4 x float> %val2, <4 x i8> %val3, <4 x i8> %val4) {
2122*f496bd9aSJonas Paulsson; CHECK-LABEL: fun108:
2123*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2124*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v26, %v26
2125*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
2126*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2127*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2128*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2129*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v26, %v26
2130*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
2131*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2132*f496bd9aSJonas Paulsson; CHECK-NEXT:    larl %r1, .LCPI108_0
2133*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2134*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2135*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2136*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 0(%r1)
2137*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v0, %v0, %v1
2138*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
2139*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2140*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <4 x float> %val1, %val2
2141*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
2142*f496bd9aSJonas Paulsson  ret <4 x i8> %sel
2143*f496bd9aSJonas Paulsson}
2144*f496bd9aSJonas Paulsson
2145*f496bd9aSJonas Paulssondefine <4 x i16> @fun109(<4 x float> %val1, <4 x float> %val2, <4 x i16> %val3, <4 x i16> %val4) {
2146*f496bd9aSJonas Paulsson; CHECK-LABEL: fun109:
2147*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2148*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v26, %v26
2149*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
2150*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2151*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2152*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2153*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v26, %v26
2154*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
2155*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2156*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2157*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2158*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2159*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v0, %v0
2160*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
2161*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2162*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <4 x float> %val1, %val2
2163*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
2164*f496bd9aSJonas Paulsson  ret <4 x i16> %sel
2165*f496bd9aSJonas Paulsson}
2166*f496bd9aSJonas Paulsson
2167*f496bd9aSJonas Paulssondefine <4 x i32> @fun110(<4 x float> %val1, <4 x float> %val2, <4 x i32> %val3, <4 x i32> %val4) {
2168*f496bd9aSJonas Paulsson; CHECK-LABEL: fun110:
2169*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2170*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v26, %v26
2171*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
2172*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2173*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2174*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2175*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v26, %v26
2176*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
2177*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2178*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2179*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2180*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2181*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
2182*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2183*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <4 x float> %val1, %val2
2184*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
2185*f496bd9aSJonas Paulsson  ret <4 x i32> %sel
2186*f496bd9aSJonas Paulsson}
2187*f496bd9aSJonas Paulsson
2188*f496bd9aSJonas Paulssondefine <4 x i64> @fun111(<4 x float> %val1, <4 x float> %val2, <4 x i64> %val3, <4 x i64> %val4) {
2189*f496bd9aSJonas Paulsson; CHECK-LABEL: fun111:
2190*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2191*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v26, %v26
2192*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
2193*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2194*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2195*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2196*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v26, %v26
2197*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
2198*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2199*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2200*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2201*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2202*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v0
2203*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v0, %v0
2204*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
2205*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v25, %v1
2206*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v27, %v0
2207*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2208*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <4 x float> %val1, %val2
2209*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
2210*f496bd9aSJonas Paulsson  ret <4 x i64> %sel
2211*f496bd9aSJonas Paulsson}
2212*f496bd9aSJonas Paulsson
2213*f496bd9aSJonas Paulssondefine <4 x float> @fun112(<4 x float> %val1, <4 x float> %val2, <4 x float> %val3, <4 x float> %val4) {
2214*f496bd9aSJonas Paulsson; CHECK-LABEL: fun112:
2215*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2216*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v26, %v26
2217*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
2218*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2219*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2220*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2221*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v26, %v26
2222*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
2223*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2224*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2225*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2226*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2227*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v30, %v0
2228*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2229*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <4 x float> %val1, %val2
2230*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
2231*f496bd9aSJonas Paulsson  ret <4 x float> %sel
2232*f496bd9aSJonas Paulsson}
2233*f496bd9aSJonas Paulsson
2234*f496bd9aSJonas Paulssondefine <4 x double> @fun113(<4 x float> %val1, <4 x float> %val2, <4 x double> %val3, <4 x double> %val4) {
2235*f496bd9aSJonas Paulsson; CHECK-LABEL: fun113:
2236*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2237*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v26, %v26
2238*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
2239*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2240*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2241*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2242*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v26, %v26
2243*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
2244*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2245*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2246*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2247*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2248*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v0
2249*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v0, %v0
2250*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
2251*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v28, %v25, %v1
2252*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v30, %v27, %v0
2253*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2254*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <4 x float> %val1, %val2
2255*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
2256*f496bd9aSJonas Paulsson  ret <4 x double> %sel
2257*f496bd9aSJonas Paulsson}
2258*f496bd9aSJonas Paulsson
2259*f496bd9aSJonas Paulssondefine <4 x i8> @fun114(<4 x double> %val1, <4 x double> %val2, <4 x i8> %val3, <4 x i8> %val4) {
2260*f496bd9aSJonas Paulsson; CHECK-LABEL: fun114:
2261*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2262*f496bd9aSJonas Paulsson; CHECK-NEXT:    larl %r1, .LCPI114_0
2263*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 0(%r1)
2264*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v26, %v30
2265*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v24, %v28
2266*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v1, %v0, %v2
2267*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v27, %v0
2268*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2269*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <4 x double> %val1, %val2
2270*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
2271*f496bd9aSJonas Paulsson  ret <4 x i8> %sel
2272*f496bd9aSJonas Paulsson}
2273*f496bd9aSJonas Paulsson
2274*f496bd9aSJonas Paulssondefine <4 x i16> @fun115(<4 x double> %val1, <4 x double> %val2, <4 x i16> %val3, <4 x i16> %val4) {
2275*f496bd9aSJonas Paulsson; CHECK-LABEL: fun115:
2276*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2277*f496bd9aSJonas Paulsson; CHECK-NEXT:    larl %r1, .LCPI115_0
2278*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 0(%r1)
2279*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v26, %v30
2280*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v24, %v28
2281*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v1, %v0, %v2
2282*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v27, %v0
2283*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2284*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <4 x double> %val1, %val2
2285*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
2286*f496bd9aSJonas Paulsson  ret <4 x i16> %sel
2287*f496bd9aSJonas Paulsson}
2288*f496bd9aSJonas Paulsson
2289*f496bd9aSJonas Paulssondefine <4 x i32> @fun116(<4 x double> %val1, <4 x double> %val2, <4 x i32> %val3, <4 x i32> %val4) {
2290*f496bd9aSJonas Paulsson; CHECK-LABEL: fun116:
2291*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2292*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v26, %v30
2293*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v24, %v28
2294*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2295*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v27, %v0
2296*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2297*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <4 x double> %val1, %val2
2298*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
2299*f496bd9aSJonas Paulsson  ret <4 x i32> %sel
2300*f496bd9aSJonas Paulsson}
2301*f496bd9aSJonas Paulsson
2302*f496bd9aSJonas Paulssondefine <4 x i64> @fun117(<4 x double> %val1, <4 x double> %val2, <4 x i64> %val3, <4 x i64> %val4) {
2303*f496bd9aSJonas Paulsson; CHECK-LABEL: fun117:
2304*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2305*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v24, %v28
2306*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v29, %v0
2307*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v26, %v30
2308*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v31, %v0
2309*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2310*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <4 x double> %val1, %val2
2311*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
2312*f496bd9aSJonas Paulsson  ret <4 x i64> %sel
2313*f496bd9aSJonas Paulsson}
2314*f496bd9aSJonas Paulsson
2315*f496bd9aSJonas Paulssondefine <4 x float> @fun118(<4 x double> %val1, <4 x double> %val2, <4 x float> %val3, <4 x float> %val4) {
2316*f496bd9aSJonas Paulsson; CHECK-LABEL: fun118:
2317*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2318*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v26, %v30
2319*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v24, %v28
2320*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2321*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v27, %v0
2322*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2323*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <4 x double> %val1, %val2
2324*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
2325*f496bd9aSJonas Paulsson  ret <4 x float> %sel
2326*f496bd9aSJonas Paulsson}
2327*f496bd9aSJonas Paulsson
2328*f496bd9aSJonas Paulssondefine <4 x double> @fun119(<4 x double> %val1, <4 x double> %val2, <4 x double> %val3, <4 x double> %val4) {
2329*f496bd9aSJonas Paulsson; CHECK-LABEL: fun119:
2330*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2331*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v24, %v28
2332*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v29, %v0
2333*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v26, %v30
2334*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v31, %v0
2335*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2336*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <4 x double> %val1, %val2
2337*f496bd9aSJonas Paulsson  %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
2338*f496bd9aSJonas Paulsson  ret <4 x double> %sel
2339*f496bd9aSJonas Paulsson}
2340*f496bd9aSJonas Paulsson
2341*f496bd9aSJonas Paulssondefine <8 x i8> @fun120(<8 x float> %val1, <8 x float> %val2, <8 x i8> %val3, <8 x i8> %val4) {
2342*f496bd9aSJonas Paulsson; CHECK-LABEL: fun120:
2343*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2344*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v30, %v30
2345*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v26, %v26
2346*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2347*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2348*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2349*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v30, %v30
2350*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v26, %v26
2351*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2352*f496bd9aSJonas Paulsson; CHECK-NEXT:    larl %r1, .LCPI120_0
2353*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2354*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2355*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2356*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v28, %v28
2357*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v2, %v24, %v24
2358*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v3, %v24, %v24
2359*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2360*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2361*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2362*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v28, %v28
2363*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2364*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v3, %v3
2365*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v3, %v2
2366*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
2367*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 0(%r1)
2368*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v1, %v0, %v2
2369*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v27, %v0
2370*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2371*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <8 x float> %val1, %val2
2372*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
2373*f496bd9aSJonas Paulsson  ret <8 x i8> %sel
2374*f496bd9aSJonas Paulsson}
2375*f496bd9aSJonas Paulsson
2376*f496bd9aSJonas Paulssondefine <8 x i16> @fun121(<8 x float> %val1, <8 x float> %val2, <8 x i16> %val3, <8 x i16> %val4) {
2377*f496bd9aSJonas Paulsson; CHECK-LABEL: fun121:
2378*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2379*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v30, %v30
2380*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v26, %v26
2381*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2382*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2383*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2384*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v30, %v30
2385*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v26, %v26
2386*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2387*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v3, %v24, %v24
2388*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2389*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2390*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2391*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v28, %v28
2392*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v2, %v24, %v24
2393*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2394*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2395*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2396*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v28, %v28
2397*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2398*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v3, %v3
2399*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v3, %v2
2400*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
2401*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
2402*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v27, %v0
2403*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2404*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <8 x float> %val1, %val2
2405*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
2406*f496bd9aSJonas Paulsson  ret <8 x i16> %sel
2407*f496bd9aSJonas Paulsson}
2408*f496bd9aSJonas Paulsson
2409*f496bd9aSJonas Paulssondefine <8 x i32> @fun122(<8 x float> %val1, <8 x float> %val2, <8 x i32> %val3, <8 x i32> %val4) {
2410*f496bd9aSJonas Paulsson; CHECK-LABEL: fun122:
2411*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2412*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v28, %v28
2413*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
2414*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2415*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2416*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2417*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v28, %v28
2418*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
2419*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2420*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2421*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2422*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2423*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v29, %v0
2424*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v30, %v30
2425*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v26, %v26
2426*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v26, %v26
2427*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2428*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2429*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2430*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v30, %v30
2431*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2432*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2433*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2434*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2435*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v31, %v0
2436*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2437*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <8 x float> %val1, %val2
2438*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
2439*f496bd9aSJonas Paulsson  ret <8 x i32> %sel
2440*f496bd9aSJonas Paulsson}
2441*f496bd9aSJonas Paulsson
2442*f496bd9aSJonas Paulssondefine <8 x i64> @fun123(<8 x float> %val1, <8 x float> %val2, <8 x i64> %val3, <8 x i64> %val4) {
2443*f496bd9aSJonas Paulsson; CHECK-LABEL: fun123:
2444*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2445*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v28, %v28
2446*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
2447*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2448*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2449*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2450*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v28, %v28
2451*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
2452*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2453*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v3, %v26, %v26
2454*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2455*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2456*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
2457*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2458*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v0
2459*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v2, %v1
2460*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v30, %v30
2461*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v2, %v26, %v26
2462*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v0, %v0
2463*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
2464*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2465*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2466*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2467*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v30, %v30
2468*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2469*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v3, %v3
2470*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v3, %v2
2471*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 192(%r15)
2472*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
2473*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v2, %v1
2474*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v29, %v3, %v2
2475*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
2476*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v2, %v0
2477*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v1, %v1
2478*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 208(%r15)
2479*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
2480*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v31, %v1, %v0
2481*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2482*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <8 x float> %val1, %val2
2483*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
2484*f496bd9aSJonas Paulsson  ret <8 x i64> %sel
2485*f496bd9aSJonas Paulsson}
2486*f496bd9aSJonas Paulsson
2487*f496bd9aSJonas Paulssondefine <8 x float> @fun124(<8 x float> %val1, <8 x float> %val2, <8 x float> %val3, <8 x float> %val4) {
2488*f496bd9aSJonas Paulsson; CHECK-LABEL: fun124:
2489*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2490*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v28, %v28
2491*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
2492*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2493*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2494*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2495*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v28, %v28
2496*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
2497*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2498*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2499*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2500*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2501*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v29, %v0
2502*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v30, %v30
2503*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v26, %v26
2504*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v26, %v26
2505*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2506*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2507*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2508*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v30, %v30
2509*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2510*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2511*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2512*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2513*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v31, %v0
2514*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2515*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <8 x float> %val1, %val2
2516*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
2517*f496bd9aSJonas Paulsson  ret <8 x float> %sel
2518*f496bd9aSJonas Paulsson}
2519*f496bd9aSJonas Paulsson
2520*f496bd9aSJonas Paulssondefine <8 x double> @fun125(<8 x float> %val1, <8 x float> %val2, <8 x double> %val3, <8 x double> %val4) {
2521*f496bd9aSJonas Paulsson; CHECK-LABEL: fun125:
2522*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2523*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v28, %v28
2524*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
2525*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2526*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2527*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2528*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v28, %v28
2529*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
2530*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2531*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v3, %v26, %v26
2532*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2533*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2534*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
2535*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2536*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v0
2537*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v25, %v2, %v1
2538*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v30, %v30
2539*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v2, %v26, %v26
2540*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v0, %v0
2541*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
2542*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2543*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2544*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2545*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v30, %v30
2546*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2547*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v3, %v3
2548*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v3, %v2
2549*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 192(%r15)
2550*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
2551*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v2, %v1
2552*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v29, %v3, %v2
2553*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
2554*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v27, %v2, %v0
2555*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v0, %v1, %v1
2556*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 208(%r15)
2557*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v0
2558*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v31, %v1, %v0
2559*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2560*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <8 x float> %val1, %val2
2561*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
2562*f496bd9aSJonas Paulsson  ret <8 x double> %sel
2563*f496bd9aSJonas Paulsson}
2564*f496bd9aSJonas Paulsson
2565*f496bd9aSJonas Paulssondefine <8 x i8> @fun126(<8 x double> %val1, <8 x double> %val2, <8 x i8> %val3, <8 x i8> %val4) {
2566*f496bd9aSJonas Paulsson; CHECK-LABEL: fun126:
2567*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2568*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v30, %v31
2569*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v28, %v29
2570*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2571*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v26, %v27
2572*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v24, %v25
2573*f496bd9aSJonas Paulsson; CHECK-NEXT:    larl %r1, .LCPI126_0
2574*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
2575*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 0(%r1)
2576*f496bd9aSJonas Paulsson; CHECK-NEXT:    vperm %v0, %v1, %v0, %v2
2577*f496bd9aSJonas Paulsson; CHECK-NEXT:    vlrepg %v1, 168(%r15)
2578*f496bd9aSJonas Paulsson; CHECK-NEXT:    vlrepg %v2, 160(%r15)
2579*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
2580*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2581*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <8 x double> %val1, %val2
2582*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
2583*f496bd9aSJonas Paulsson  ret <8 x i8> %sel
2584*f496bd9aSJonas Paulsson}
2585*f496bd9aSJonas Paulsson
2586*f496bd9aSJonas Paulssondefine <8 x i16> @fun127(<8 x double> %val1, <8 x double> %val2, <8 x i16> %val3, <8 x i16> %val4) {
2587*f496bd9aSJonas Paulsson; CHECK-LABEL: fun127:
2588*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2589*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v30, %v31
2590*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v28, %v29
2591*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2592*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v26, %v27
2593*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v24, %v25
2594*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
2595*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
2596*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 176(%r15)
2597*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
2598*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
2599*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2600*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <8 x double> %val1, %val2
2601*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
2602*f496bd9aSJonas Paulsson  ret <8 x i16> %sel
2603*f496bd9aSJonas Paulsson}
2604*f496bd9aSJonas Paulsson
2605*f496bd9aSJonas Paulssondefine <8 x i32> @fun128(<8 x double> %val1, <8 x double> %val2, <8 x i32> %val3, <8 x i32> %val4) {
2606*f496bd9aSJonas Paulsson; CHECK-LABEL: fun128:
2607*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2608*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v26, %v27
2609*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v24, %v25
2610*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2611*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 192(%r15)
2612*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
2613*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
2614*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v30, %v31
2615*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v28, %v29
2616*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2617*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 208(%r15)
2618*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
2619*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
2620*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2621*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <8 x double> %val1, %val2
2622*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
2623*f496bd9aSJonas Paulsson  ret <8 x i32> %sel
2624*f496bd9aSJonas Paulsson}
2625*f496bd9aSJonas Paulsson
2626*f496bd9aSJonas Paulssondefine <8 x i64> @fun129(<8 x double> %val1, <8 x double> %val2, <8 x i64> %val3, <8 x i64> %val4) {
2627*f496bd9aSJonas Paulsson; CHECK-LABEL: fun129:
2628*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2629*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 224(%r15)
2630*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
2631*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v24, %v25
2632*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
2633*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 240(%r15)
2634*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
2635*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v26, %v27
2636*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
2637*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
2638*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 192(%r15)
2639*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v28, %v29
2640*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
2641*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 272(%r15)
2642*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 208(%r15)
2643*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v30, %v31
2644*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
2645*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2646*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <8 x double> %val1, %val2
2647*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
2648*f496bd9aSJonas Paulsson  ret <8 x i64> %sel
2649*f496bd9aSJonas Paulsson}
2650*f496bd9aSJonas Paulsson
2651*f496bd9aSJonas Paulssondefine <8 x float> @fun130(<8 x double> %val1, <8 x double> %val2, <8 x float> %val3, <8 x float> %val4) {
2652*f496bd9aSJonas Paulsson; CHECK-LABEL: fun130:
2653*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2654*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v26, %v27
2655*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v24, %v25
2656*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2657*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 192(%r15)
2658*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
2659*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
2660*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v30, %v31
2661*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v28, %v29
2662*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2663*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 208(%r15)
2664*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
2665*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
2666*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2667*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <8 x double> %val1, %val2
2668*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
2669*f496bd9aSJonas Paulsson  ret <8 x float> %sel
2670*f496bd9aSJonas Paulsson}
2671*f496bd9aSJonas Paulsson
2672*f496bd9aSJonas Paulssondefine <8 x double> @fun131(<8 x double> %val1, <8 x double> %val2, <8 x double> %val3, <8 x double> %val4) {
2673*f496bd9aSJonas Paulsson; CHECK-LABEL: fun131:
2674*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2675*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 224(%r15)
2676*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
2677*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v24, %v25
2678*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
2679*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 240(%r15)
2680*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
2681*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v26, %v27
2682*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
2683*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
2684*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 192(%r15)
2685*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v28, %v29
2686*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
2687*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 272(%r15)
2688*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 208(%r15)
2689*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v30, %v31
2690*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
2691*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2692*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <8 x double> %val1, %val2
2693*f496bd9aSJonas Paulsson  %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
2694*f496bd9aSJonas Paulsson  ret <8 x double> %sel
2695*f496bd9aSJonas Paulsson}
2696*f496bd9aSJonas Paulsson
2697*f496bd9aSJonas Paulssondefine <16 x i8> @fun132(<16 x float> %val1, <16 x float> %val2, <16 x i8> %val3, <16 x i8> %val4) {
2698*f496bd9aSJonas Paulsson; CHECK-LABEL: fun132:
2699*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2700*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v31, %v31
2701*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v30, %v30
2702*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2703*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2704*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2705*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v31, %v31
2706*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v30, %v30
2707*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2708*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v3, %v28, %v28
2709*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v4, %v24, %v24
2710*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2711*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2712*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2713*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v29, %v29
2714*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v2, %v28, %v28
2715*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2716*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2717*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2718*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v29, %v29
2719*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2720*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v3, %v3
2721*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v3, %v2
2722*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
2723*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
2724*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v27, %v27
2725*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v2, %v26, %v26
2726*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v3, %v26, %v26
2727*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2728*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2729*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2730*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v27, %v27
2731*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2732*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v3, %v3
2733*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v3, %v2
2734*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
2735*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v2, %v25, %v25
2736*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v3, %v24, %v24
2737*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2738*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v3, %v3
2739*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v3, %v2
2740*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v3, %v25, %v25
2741*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v3, %v3
2742*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v4, %v4
2743*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v3, %v4, %v3
2744*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v2, %v3, %v2
2745*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v1, %v2, %v1
2746*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
2747*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkh %v0, %v1, %v0
2748*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 176(%r15)
2749*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
2750*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2751*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <16 x float> %val1, %val2
2752*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
2753*f496bd9aSJonas Paulsson  ret <16 x i8> %sel
2754*f496bd9aSJonas Paulsson}
2755*f496bd9aSJonas Paulsson
2756*f496bd9aSJonas Paulssondefine <16 x i16> @fun133(<16 x float> %val1, <16 x float> %val2, <16 x i16> %val3, <16 x i16> %val4) {
2757*f496bd9aSJonas Paulsson; CHECK-LABEL: fun133:
2758*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2759*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v27, %v27
2760*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v26, %v26
2761*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2762*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2763*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2764*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v27, %v27
2765*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v26, %v26
2766*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2767*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v3, %v24, %v24
2768*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2769*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2770*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2771*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v25, %v25
2772*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v2, %v24, %v24
2773*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2774*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2775*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2776*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v25, %v25
2777*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2778*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v3, %v3
2779*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v3, %v2
2780*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
2781*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
2782*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
2783*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 192(%r15)
2784*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
2785*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v31, %v31
2786*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v30, %v30
2787*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v30, %v30
2788*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v3, %v28, %v28
2789*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2790*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2791*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2792*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v31, %v31
2793*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2794*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2795*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2796*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2797*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v29, %v29
2798*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v2, %v28, %v28
2799*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2800*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2801*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2802*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v29, %v29
2803*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2804*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v3, %v3
2805*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v3, %v2
2806*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
2807*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
2808*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
2809*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 208(%r15)
2810*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
2811*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2812*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <16 x float> %val1, %val2
2813*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
2814*f496bd9aSJonas Paulsson  ret <16 x i16> %sel
2815*f496bd9aSJonas Paulsson}
2816*f496bd9aSJonas Paulsson
2817*f496bd9aSJonas Paulssondefine <16 x i32> @fun134(<16 x float> %val1, <16 x float> %val2, <16 x i32> %val3, <16 x i32> %val4) {
2818*f496bd9aSJonas Paulsson; CHECK-LABEL: fun134:
2819*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2820*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v25, %v25
2821*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
2822*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2823*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2824*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2825*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v25, %v25
2826*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
2827*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2828*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2829*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2830*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
2831*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2832*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 224(%r15)
2833*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
2834*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v27, %v27
2835*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v26, %v26
2836*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v26, %v26
2837*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2838*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2839*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2840*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v27, %v27
2841*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2842*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2843*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2844*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
2845*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2846*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 240(%r15)
2847*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
2848*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v29, %v29
2849*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v28, %v28
2850*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v28, %v28
2851*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2852*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2853*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2854*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v29, %v29
2855*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2856*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2857*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2858*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 192(%r15)
2859*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2860*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
2861*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
2862*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v31, %v31
2863*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v30, %v30
2864*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v30, %v30
2865*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2866*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2867*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2868*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v31, %v31
2869*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2870*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2871*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2872*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 208(%r15)
2873*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2874*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 272(%r15)
2875*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
2876*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2877*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <16 x float> %val1, %val2
2878*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
2879*f496bd9aSJonas Paulsson  ret <16 x i32> %sel
2880*f496bd9aSJonas Paulsson}
2881*f496bd9aSJonas Paulsson
2882*f496bd9aSJonas Paulssondefine <16 x i64> @fun135(<16 x float> %val1, <16 x float> %val2, <16 x i64> %val3, <16 x i64> %val4) {
2883*f496bd9aSJonas Paulsson; CHECK-LABEL: fun135:
2884*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2885*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v25, %v25
2886*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
2887*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2888*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2889*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2890*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v25, %v25
2891*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
2892*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2893*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 160(%r15)
2894*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2895*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v4, 192(%r15)
2896*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v6, 224(%r15)
2897*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v7, 256(%r15)
2898*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2899*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
2900*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v1, %v0
2901*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v1
2902*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v3, %v2, %v0
2903*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v27, %v27
2904*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v2, %v26, %v26
2905*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v3, %v26, %v26
2906*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v5, %v28, %v28
2907*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v1, %v1
2908*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
2909*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2910*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2911*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v2, %v0
2912*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v27, %v27
2913*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2914*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v3, %v3
2915*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v3, %v2
2916*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 320(%r15)
2917*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v2, %v2, %v0
2918*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v2
2919*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v0, %v4, %v3, %v0
2920*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v3, %v29, %v29
2921*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v4, %v28, %v28
2922*f496bd9aSJonas Paulsson; CHECK-NEXT:    vlr %v28, %v0
2923*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v3, %v3
2924*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v4, %v4
2925*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v3, %v4, %v3
2926*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v4, %v29, %v29
2927*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v4, %v4
2928*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v5, %v5
2929*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v4, %v5, %v4
2930*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v5, 352(%r15)
2931*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v3, %v4, %v3
2932*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v4, %v3
2933*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v25, %v6, %v5, %v4
2934*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v4, %v31, %v31
2935*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v5, %v30, %v30
2936*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v6, %v30, %v30
2937*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v4, %v4
2938*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v5, %v5
2939*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v4, %v5, %v4
2940*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v5, %v31, %v31
2941*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v5, %v5
2942*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v6, %v6
2943*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v5, %v6, %v5
2944*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v6, 384(%r15)
2945*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v4, %v5, %v4
2946*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v5, %v4
2947*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v29, %v7, %v6, %v5
2948*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v5, 304(%r15)
2949*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v6, 176(%r15)
2950*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v6, %v5, %v1
2951*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v5, 208(%r15)
2952*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v2, %v2
2953*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 336(%r15)
2954*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
2955*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v5, %v2, %v1
2956*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 368(%r15)
2957*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v3, %v3
2958*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 240(%r15)
2959*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
2960*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v27, %v3, %v2, %v1
2961*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 400(%r15)
2962*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 272(%r15)
2963*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v4, %v4
2964*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
2965*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v31, %v3, %v2, %v1
2966*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
2967*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <16 x float> %val1, %val2
2968*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
2969*f496bd9aSJonas Paulsson  ret <16 x i64> %sel
2970*f496bd9aSJonas Paulsson}
2971*f496bd9aSJonas Paulsson
2972*f496bd9aSJonas Paulssondefine <16 x float> @fun136(<16 x float> %val1, <16 x float> %val2, <16 x float> %val3, <16 x float> %val4) {
2973*f496bd9aSJonas Paulsson; CHECK-LABEL: fun136:
2974*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
2975*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v25, %v25
2976*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
2977*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2978*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2979*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2980*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v25, %v25
2981*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
2982*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2983*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2984*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2985*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
2986*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
2987*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 224(%r15)
2988*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
2989*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v27, %v27
2990*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v26, %v26
2991*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v26, %v26
2992*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
2993*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2994*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
2995*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v27, %v27
2996*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
2997*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
2998*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
2999*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
3000*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
3001*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 240(%r15)
3002*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
3003*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v29, %v29
3004*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v28, %v28
3005*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v28, %v28
3006*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
3007*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
3008*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
3009*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v29, %v29
3010*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
3011*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
3012*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
3013*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 192(%r15)
3014*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
3015*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
3016*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
3017*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v31, %v31
3018*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v30, %v30
3019*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v30, %v30
3020*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
3021*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
3022*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
3023*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v31, %v31
3024*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
3025*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
3026*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
3027*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 208(%r15)
3028*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
3029*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 272(%r15)
3030*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
3031*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
3032*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <16 x float> %val1, %val2
3033*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
3034*f496bd9aSJonas Paulsson  ret <16 x float> %sel
3035*f496bd9aSJonas Paulsson}
3036*f496bd9aSJonas Paulsson
3037*f496bd9aSJonas Paulssondefine <16 x double> @fun137(<16 x float> %val1, <16 x float> %val2, <16 x double> %val3, <16 x double> %val4) {
3038*f496bd9aSJonas Paulsson; CHECK-LABEL: fun137:
3039*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
3040*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v25, %v25
3041*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v1, %v24, %v24
3042*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
3043*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
3044*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v1, %v0
3045*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v1, %v25, %v25
3046*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v24, %v24
3047*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v1, %v1
3048*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 160(%r15)
3049*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
3050*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v4, 192(%r15)
3051*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v6, 224(%r15)
3052*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v7, 256(%r15)
3053*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v2, %v1
3054*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
3055*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v1, %v0
3056*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v1
3057*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v3, %v2, %v0
3058*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v0, %v27, %v27
3059*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v2, %v26, %v26
3060*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v3, %v26, %v26
3061*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v5, %v28, %v28
3062*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v1, %v1
3063*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
3064*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v0, %v0
3065*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
3066*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v2, %v0
3067*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v2, %v27, %v27
3068*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v2, %v2
3069*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v3, %v3
3070*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v3, %v2
3071*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 320(%r15)
3072*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v2, %v2, %v0
3073*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v0, %v2
3074*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v0, %v4, %v3, %v0
3075*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v3, %v29, %v29
3076*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v4, %v28, %v28
3077*f496bd9aSJonas Paulsson; CHECK-NEXT:    vlr %v28, %v0
3078*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v3, %v3
3079*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v4, %v4
3080*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v3, %v4, %v3
3081*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v4, %v29, %v29
3082*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v4, %v4
3083*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v5, %v5
3084*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v4, %v5, %v4
3085*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v5, 352(%r15)
3086*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v3, %v4, %v3
3087*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v4, %v3
3088*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v25, %v6, %v5, %v4
3089*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v4, %v31, %v31
3090*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlf %v5, %v30, %v30
3091*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v6, %v30, %v30
3092*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v4, %v4
3093*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v5, %v5
3094*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v4, %v5, %v4
3095*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrhf %v5, %v31, %v31
3096*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v5, %v5
3097*f496bd9aSJonas Paulsson; CHECK-NEXT:    vldeb %v6, %v6
3098*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v5, %v6, %v5
3099*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v6, 384(%r15)
3100*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v4, %v5, %v4
3101*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v5, %v4
3102*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v29, %v7, %v6, %v5
3103*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v5, 304(%r15)
3104*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v6, 176(%r15)
3105*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v6, %v5, %v1
3106*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v5, 208(%r15)
3107*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v2, %v2
3108*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 336(%r15)
3109*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
3110*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v5, %v2, %v1
3111*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 368(%r15)
3112*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v3, %v3
3113*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 240(%r15)
3114*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
3115*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v27, %v3, %v2, %v1
3116*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 400(%r15)
3117*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 272(%r15)
3118*f496bd9aSJonas Paulsson; CHECK-NEXT:    vmrlg %v1, %v4, %v4
3119*f496bd9aSJonas Paulsson; CHECK-NEXT:    vuphf %v1, %v1
3120*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v31, %v3, %v2, %v1
3121*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
3122*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <16 x float> %val1, %val2
3123*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
3124*f496bd9aSJonas Paulsson  ret <16 x double> %sel
3125*f496bd9aSJonas Paulsson}
3126*f496bd9aSJonas Paulsson
3127*f496bd9aSJonas Paulssondefine <16 x i8> @fun138(<16 x double> %val1, <16 x double> %val2, <16 x i8> %val3, <16 x i8> %val4) {
3128*f496bd9aSJonas Paulsson; CHECK-LABEL: fun138:
3129*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
3130*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 272(%r15)
3131*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
3132*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v31, %v0
3133*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v29, %v1
3134*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
3135*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 240(%r15)
3136*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 224(%r15)
3137*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v27, %v1
3138*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v25, %v2
3139*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
3140*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
3141*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 208(%r15)
3142*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 192(%r15)
3143*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v30, %v1
3144*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v28, %v2
3145*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
3146*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 176(%r15)
3147*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v3, 160(%r15)
3148*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v26, %v2
3149*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v3, %v24, %v3
3150*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v2, %v3, %v2
3151*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v1, %v2, %v1
3152*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkh %v0, %v1, %v0
3153*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 304(%r15)
3154*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
3155*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
3156*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
3157*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <16 x double> %val1, %val2
3158*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
3159*f496bd9aSJonas Paulsson  ret <16 x i8> %sel
3160*f496bd9aSJonas Paulsson}
3161*f496bd9aSJonas Paulsson
3162*f496bd9aSJonas Paulssondefine <16 x i16> @fun139(<16 x double> %val1, <16 x double> %val2, <16 x i16> %val3, <16 x i16> %val4) {
3163*f496bd9aSJonas Paulsson; CHECK-LABEL: fun139:
3164*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
3165*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 208(%r15)
3166*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 192(%r15)
3167*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v30, %v0
3168*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v28, %v1
3169*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
3170*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 176(%r15)
3171*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 160(%r15)
3172*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v26, %v1
3173*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v24, %v2
3174*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
3175*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
3176*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 320(%r15)
3177*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
3178*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
3179*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 272(%r15)
3180*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
3181*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v31, %v0
3182*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v29, %v1
3183*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
3184*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 240(%r15)
3185*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 224(%r15)
3186*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v27, %v1
3187*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v2, %v25, %v2
3188*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v1, %v2, %v1
3189*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkf %v0, %v1, %v0
3190*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 336(%r15)
3191*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 304(%r15)
3192*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
3193*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
3194*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <16 x double> %val1, %val2
3195*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
3196*f496bd9aSJonas Paulsson  ret <16 x i16> %sel
3197*f496bd9aSJonas Paulsson}
3198*f496bd9aSJonas Paulsson
3199*f496bd9aSJonas Paulssondefine <16 x i32> @fun140(<16 x double> %val1, <16 x double> %val2, <16 x i32> %val3, <16 x i32> %val4) {
3200*f496bd9aSJonas Paulsson; CHECK-LABEL: fun140:
3201*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
3202*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 176(%r15)
3203*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 160(%r15)
3204*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v26, %v0
3205*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v24, %v1
3206*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
3207*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 352(%r15)
3208*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
3209*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
3210*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 208(%r15)
3211*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 192(%r15)
3212*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v30, %v0
3213*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v28, %v1
3214*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
3215*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 368(%r15)
3216*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 304(%r15)
3217*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
3218*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 240(%r15)
3219*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 224(%r15)
3220*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v27, %v0
3221*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v25, %v1
3222*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
3223*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 384(%r15)
3224*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 320(%r15)
3225*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
3226*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 272(%r15)
3227*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
3228*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v31, %v0
3229*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v29, %v1
3230*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
3231*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 400(%r15)
3232*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 336(%r15)
3233*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
3234*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
3235*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <16 x double> %val1, %val2
3236*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
3237*f496bd9aSJonas Paulsson  ret <16 x i32> %sel
3238*f496bd9aSJonas Paulsson}
3239*f496bd9aSJonas Paulsson
3240*f496bd9aSJonas Paulssondefine <16 x i64> @fun141(<16 x double> %val1, <16 x double> %val2, <16 x i64> %val3, <16 x i64> %val4) {
3241*f496bd9aSJonas Paulsson; CHECK-LABEL: fun141:
3242*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
3243*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 160(%r15)
3244*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 416(%r15)
3245*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
3246*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v24, %v0
3247*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
3248*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 176(%r15)
3249*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 432(%r15)
3250*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 304(%r15)
3251*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v26, %v0
3252*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
3253*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 192(%r15)
3254*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 448(%r15)
3255*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 320(%r15)
3256*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v28, %v0
3257*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
3258*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 208(%r15)
3259*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 464(%r15)
3260*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 336(%r15)
3261*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v30, %v0
3262*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
3263*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 224(%r15)
3264*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 480(%r15)
3265*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 352(%r15)
3266*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v25, %v0
3267*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v25, %v2, %v1, %v0
3268*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 240(%r15)
3269*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 496(%r15)
3270*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 368(%r15)
3271*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v27, %v0
3272*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v27, %v2, %v1, %v0
3273*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 256(%r15)
3274*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v29, %v0
3275*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 512(%r15)
3276*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 384(%r15)
3277*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v29, %v2, %v1, %v0
3278*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 272(%r15)
3279*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v31, %v0
3280*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 528(%r15)
3281*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 400(%r15)
3282*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v31, %v2, %v1, %v0
3283*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
3284*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <16 x double> %val1, %val2
3285*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
3286*f496bd9aSJonas Paulsson  ret <16 x i64> %sel
3287*f496bd9aSJonas Paulsson}
3288*f496bd9aSJonas Paulsson
3289*f496bd9aSJonas Paulssondefine <16 x float> @fun142(<16 x double> %val1, <16 x double> %val2, <16 x float> %val3, <16 x float> %val4) {
3290*f496bd9aSJonas Paulsson; CHECK-LABEL: fun142:
3291*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
3292*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 176(%r15)
3293*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 160(%r15)
3294*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v26, %v0
3295*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v24, %v1
3296*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
3297*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 352(%r15)
3298*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
3299*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
3300*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 208(%r15)
3301*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 192(%r15)
3302*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v30, %v0
3303*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v28, %v1
3304*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
3305*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 368(%r15)
3306*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 304(%r15)
3307*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
3308*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 240(%r15)
3309*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 224(%r15)
3310*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v27, %v0
3311*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v25, %v1
3312*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
3313*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 384(%r15)
3314*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 320(%r15)
3315*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
3316*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 272(%r15)
3317*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 256(%r15)
3318*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v31, %v0
3319*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v1, %v29, %v1
3320*f496bd9aSJonas Paulsson; CHECK-NEXT:    vpkg %v0, %v1, %v0
3321*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 400(%r15)
3322*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 336(%r15)
3323*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
3324*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
3325*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <16 x double> %val1, %val2
3326*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
3327*f496bd9aSJonas Paulsson  ret <16 x float> %sel
3328*f496bd9aSJonas Paulsson}
3329*f496bd9aSJonas Paulsson
3330*f496bd9aSJonas Paulssondefine <16 x double> @fun143(<16 x double> %val1, <16 x double> %val2, <16 x double> %val3, <16 x double> %val4) {
3331*f496bd9aSJonas Paulsson; CHECK-LABEL: fun143:
3332*f496bd9aSJonas Paulsson; CHECK:       # BB#0:
3333*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 160(%r15)
3334*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 416(%r15)
3335*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 288(%r15)
3336*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v24, %v0
3337*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v24, %v2, %v1, %v0
3338*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 176(%r15)
3339*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 432(%r15)
3340*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 304(%r15)
3341*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v26, %v0
3342*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v26, %v2, %v1, %v0
3343*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 192(%r15)
3344*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 448(%r15)
3345*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 320(%r15)
3346*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v28, %v0
3347*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v28, %v2, %v1, %v0
3348*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 208(%r15)
3349*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 464(%r15)
3350*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 336(%r15)
3351*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v30, %v0
3352*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v30, %v2, %v1, %v0
3353*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 224(%r15)
3354*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 480(%r15)
3355*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 352(%r15)
3356*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v25, %v0
3357*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v25, %v2, %v1, %v0
3358*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 240(%r15)
3359*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 496(%r15)
3360*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 368(%r15)
3361*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v27, %v0
3362*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v27, %v2, %v1, %v0
3363*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 256(%r15)
3364*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v29, %v0
3365*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 512(%r15)
3366*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 384(%r15)
3367*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v29, %v2, %v1, %v0
3368*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v0, 272(%r15)
3369*f496bd9aSJonas Paulsson; CHECK-NEXT:    vfchdb %v0, %v31, %v0
3370*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v1, 528(%r15)
3371*f496bd9aSJonas Paulsson; CHECK-NEXT:    vl %v2, 400(%r15)
3372*f496bd9aSJonas Paulsson; CHECK-NEXT:    vsel %v31, %v2, %v1, %v0
3373*f496bd9aSJonas Paulsson; CHECK-NEXT:    br %r14
3374*f496bd9aSJonas Paulsson  %cmp = fcmp ogt <16 x double> %val1, %val2
3375*f496bd9aSJonas Paulsson  %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
3376*f496bd9aSJonas Paulsson  ret <16 x double> %sel
3377*f496bd9aSJonas Paulsson}
3378*f496bd9aSJonas Paulsson
3379