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