brintos

brintos / llvm-project-archived public Read only

0
0
Text · 9.4 KiB · 9cf5f1c Raw
345 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3; minb4 5; CHECK: test_00:6; CHECK: v0.b = vmin(v0.b,v1.b)7define <64 x i8> @test_00(<64 x i8> %v0, <64 x i8> %v1) #0 {8  %t0 = icmp slt <64 x i8> %v0, %v19  %t1 = select <64 x i1> %t0, <64 x i8> %v0, <64 x i8> %v110  ret <64 x i8> %t111}12 13; CHECK: test_01:14; CHECK: v0.b = vmin(v0.b,v1.b)15define <64 x i8> @test_01(<64 x i8> %v0, <64 x i8> %v1) #0 {16  %t0 = icmp sle <64 x i8> %v0, %v117  %t1 = select <64 x i1> %t0, <64 x i8> %v0, <64 x i8> %v118  ret <64 x i8> %t119}20 21; CHECK: test_02:22; CHECK: v0.b = vmin(v0.b,v1.b)23define <64 x i8> @test_02(<64 x i8> %v0, <64 x i8> %v1) #0 {24  %t0 = icmp sgt <64 x i8> %v0, %v125  %t1 = select <64 x i1> %t0, <64 x i8> %v1, <64 x i8> %v026  ret <64 x i8> %t127}28 29; CHECK: test_03:30; CHECK: v0.b = vmin(v0.b,v1.b)31define <64 x i8> @test_03(<64 x i8> %v0, <64 x i8> %v1) #0 {32  %t0 = icmp sge <64 x i8> %v0, %v133  %t1 = select <64 x i1> %t0, <64 x i8> %v1, <64 x i8> %v034  ret <64 x i8> %t135}36 37; maxb38 39; CHECK: test_04:40; CHECK: v0.b = vmax(v0.b,v1.b)41define <64 x i8> @test_04(<64 x i8> %v0, <64 x i8> %v1) #0 {42  %t0 = icmp slt <64 x i8> %v0, %v143  %t1 = select <64 x i1> %t0, <64 x i8> %v1, <64 x i8> %v044  ret <64 x i8> %t145}46 47; CHECK: test_05:48; CHECK: v0.b = vmax(v0.b,v1.b)49define <64 x i8> @test_05(<64 x i8> %v0, <64 x i8> %v1) #0 {50  %t0 = icmp sle <64 x i8> %v0, %v151  %t1 = select <64 x i1> %t0, <64 x i8> %v1, <64 x i8> %v052  ret <64 x i8> %t153}54 55; CHECK: test_06:56; CHECK: v0.b = vmax(v0.b,v1.b)57define <64 x i8> @test_06(<64 x i8> %v0, <64 x i8> %v1) #0 {58  %t0 = icmp sgt <64 x i8> %v0, %v159  %t1 = select <64 x i1> %t0, <64 x i8> %v0, <64 x i8> %v160  ret <64 x i8> %t161}62 63; CHECK: test_07:64; CHECK: v0.b = vmax(v0.b,v1.b)65define <64 x i8> @test_07(<64 x i8> %v0, <64 x i8> %v1) #0 {66  %t0 = icmp sge <64 x i8> %v0, %v167  %t1 = select <64 x i1> %t0, <64 x i8> %v0, <64 x i8> %v168  ret <64 x i8> %t169}70 71; minub72 73; CHECK: test_08:74; CHECK: v0.ub = vmin(v0.ub,v1.ub)75define <64 x i8> @test_08(<64 x i8> %v0, <64 x i8> %v1) #0 {76  %t0 = icmp ult <64 x i8> %v0, %v177  %t1 = select <64 x i1> %t0, <64 x i8> %v0, <64 x i8> %v178  ret <64 x i8> %t179}80 81; CHECK: test_09:82; CHECK: v0.ub = vmin(v0.ub,v1.ub)83define <64 x i8> @test_09(<64 x i8> %v0, <64 x i8> %v1) #0 {84  %t0 = icmp ule <64 x i8> %v0, %v185  %t1 = select <64 x i1> %t0, <64 x i8> %v0, <64 x i8> %v186  ret <64 x i8> %t187}88 89; CHECK: test_0a:90; CHECK: v0.ub = vmin(v0.ub,v1.ub)91define <64 x i8> @test_0a(<64 x i8> %v0, <64 x i8> %v1) #0 {92  %t0 = icmp ugt <64 x i8> %v0, %v193  %t1 = select <64 x i1> %t0, <64 x i8> %v1, <64 x i8> %v094  ret <64 x i8> %t195}96 97; CHECK: test_0b:98; CHECK: v0.ub = vmin(v0.ub,v1.ub)99define <64 x i8> @test_0b(<64 x i8> %v0, <64 x i8> %v1) #0 {100  %t0 = icmp uge <64 x i8> %v0, %v1101  %t1 = select <64 x i1> %t0, <64 x i8> %v1, <64 x i8> %v0102  ret <64 x i8> %t1103}104 105; maxub106 107; CHECK: test_0c:108; CHECK: v0.ub = vmax(v0.ub,v1.ub)109define <64 x i8> @test_0c(<64 x i8> %v0, <64 x i8> %v1) #0 {110  %t0 = icmp ult <64 x i8> %v0, %v1111  %t1 = select <64 x i1> %t0, <64 x i8> %v1, <64 x i8> %v0112  ret <64 x i8> %t1113}114 115; CHECK: test_0d:116; CHECK: v0.ub = vmax(v0.ub,v1.ub)117define <64 x i8> @test_0d(<64 x i8> %v0, <64 x i8> %v1) #0 {118  %t0 = icmp ule <64 x i8> %v0, %v1119  %t1 = select <64 x i1> %t0, <64 x i8> %v1, <64 x i8> %v0120  ret <64 x i8> %t1121}122 123; CHECK: test_0e:124; CHECK: v0.ub = vmax(v0.ub,v1.ub)125define <64 x i8> @test_0e(<64 x i8> %v0, <64 x i8> %v1) #0 {126  %t0 = icmp ugt <64 x i8> %v0, %v1127  %t1 = select <64 x i1> %t0, <64 x i8> %v0, <64 x i8> %v1128  ret <64 x i8> %t1129}130 131; CHECK: test_0f:132; CHECK: v0.ub = vmax(v0.ub,v1.ub)133define <64 x i8> @test_0f(<64 x i8> %v0, <64 x i8> %v1) #0 {134  %t0 = icmp uge <64 x i8> %v0, %v1135  %t1 = select <64 x i1> %t0, <64 x i8> %v0, <64 x i8> %v1136  ret <64 x i8> %t1137}138 139; minh140 141; CHECK: test_10:142; CHECK: v0.h = vmin(v0.h,v1.h)143define <32 x i16> @test_10(<32 x i16> %v0, <32 x i16> %v1) #0 {144  %t0 = icmp slt <32 x i16> %v0, %v1145  %t1 = select <32 x i1> %t0, <32 x i16> %v0, <32 x i16> %v1146  ret <32 x i16> %t1147}148 149; CHECK: test_11:150; CHECK: v0.h = vmin(v0.h,v1.h)151define <32 x i16> @test_11(<32 x i16> %v0, <32 x i16> %v1) #0 {152  %t0 = icmp sle <32 x i16> %v0, %v1153  %t1 = select <32 x i1> %t0, <32 x i16> %v0, <32 x i16> %v1154  ret <32 x i16> %t1155}156 157; CHECK: test_12:158; CHECK: v0.h = vmin(v0.h,v1.h)159define <32 x i16> @test_12(<32 x i16> %v0, <32 x i16> %v1) #0 {160  %t0 = icmp sgt <32 x i16> %v0, %v1161  %t1 = select <32 x i1> %t0, <32 x i16> %v1, <32 x i16> %v0162  ret <32 x i16> %t1163}164 165; CHECK: test_13:166; CHECK: v0.h = vmin(v0.h,v1.h)167define <32 x i16> @test_13(<32 x i16> %v0, <32 x i16> %v1) #0 {168  %t0 = icmp sge <32 x i16> %v0, %v1169  %t1 = select <32 x i1> %t0, <32 x i16> %v1, <32 x i16> %v0170  ret <32 x i16> %t1171}172 173; maxh174 175; CHECK: test_14:176; CHECK: v0.h = vmax(v0.h,v1.h)177define <32 x i16> @test_14(<32 x i16> %v0, <32 x i16> %v1) #0 {178  %t0 = icmp slt <32 x i16> %v0, %v1179  %t1 = select <32 x i1> %t0, <32 x i16> %v1, <32 x i16> %v0180  ret <32 x i16> %t1181}182 183; CHECK: test_15:184; CHECK: v0.h = vmax(v0.h,v1.h)185define <32 x i16> @test_15(<32 x i16> %v0, <32 x i16> %v1) #0 {186  %t0 = icmp sle <32 x i16> %v0, %v1187  %t1 = select <32 x i1> %t0, <32 x i16> %v1, <32 x i16> %v0188  ret <32 x i16> %t1189}190 191; CHECK: test_16:192; CHECK: v0.h = vmax(v0.h,v1.h)193define <32 x i16> @test_16(<32 x i16> %v0, <32 x i16> %v1) #0 {194  %t0 = icmp sgt <32 x i16> %v0, %v1195  %t1 = select <32 x i1> %t0, <32 x i16> %v0, <32 x i16> %v1196  ret <32 x i16> %t1197}198 199; CHECK: test_17:200; CHECK: v0.h = vmax(v0.h,v1.h)201define <32 x i16> @test_17(<32 x i16> %v0, <32 x i16> %v1) #0 {202  %t0 = icmp sge <32 x i16> %v0, %v1203  %t1 = select <32 x i1> %t0, <32 x i16> %v0, <32 x i16> %v1204  ret <32 x i16> %t1205}206 207; minuh208 209; CHECK: test_18:210; CHECK: v0.uh = vmin(v0.uh,v1.uh)211define <32 x i16> @test_18(<32 x i16> %v0, <32 x i16> %v1) #0 {212  %t0 = icmp ult <32 x i16> %v0, %v1213  %t1 = select <32 x i1> %t0, <32 x i16> %v0, <32 x i16> %v1214  ret <32 x i16> %t1215}216 217; CHECK: test_19:218; CHECK: v0.uh = vmin(v0.uh,v1.uh)219define <32 x i16> @test_19(<32 x i16> %v0, <32 x i16> %v1) #0 {220  %t0 = icmp ule <32 x i16> %v0, %v1221  %t1 = select <32 x i1> %t0, <32 x i16> %v0, <32 x i16> %v1222  ret <32 x i16> %t1223}224 225; CHECK: test_1a:226; CHECK: v0.uh = vmin(v0.uh,v1.uh)227define <32 x i16> @test_1a(<32 x i16> %v0, <32 x i16> %v1) #0 {228  %t0 = icmp ugt <32 x i16> %v0, %v1229  %t1 = select <32 x i1> %t0, <32 x i16> %v1, <32 x i16> %v0230  ret <32 x i16> %t1231}232 233; CHECK: test_1b:234; CHECK: v0.uh = vmin(v0.uh,v1.uh)235define <32 x i16> @test_1b(<32 x i16> %v0, <32 x i16> %v1) #0 {236  %t0 = icmp uge <32 x i16> %v0, %v1237  %t1 = select <32 x i1> %t0, <32 x i16> %v1, <32 x i16> %v0238  ret <32 x i16> %t1239}240 241; maxuh242 243; CHECK: test_1c:244; CHECK: v0.uh = vmax(v0.uh,v1.uh)245define <32 x i16> @test_1c(<32 x i16> %v0, <32 x i16> %v1) #0 {246  %t0 = icmp ult <32 x i16> %v0, %v1247  %t1 = select <32 x i1> %t0, <32 x i16> %v1, <32 x i16> %v0248  ret <32 x i16> %t1249}250 251; CHECK: test_1d:252; CHECK: v0.uh = vmax(v0.uh,v1.uh)253define <32 x i16> @test_1d(<32 x i16> %v0, <32 x i16> %v1) #0 {254  %t0 = icmp ule <32 x i16> %v0, %v1255  %t1 = select <32 x i1> %t0, <32 x i16> %v1, <32 x i16> %v0256  ret <32 x i16> %t1257}258 259; CHECK: test_1e:260; CHECK: v0.uh = vmax(v0.uh,v1.uh)261define <32 x i16> @test_1e(<32 x i16> %v0, <32 x i16> %v1) #0 {262  %t0 = icmp ugt <32 x i16> %v0, %v1263  %t1 = select <32 x i1> %t0, <32 x i16> %v0, <32 x i16> %v1264  ret <32 x i16> %t1265}266 267; CHECK: test_1f:268; CHECK: v0.uh = vmax(v0.uh,v1.uh)269define <32 x i16> @test_1f(<32 x i16> %v0, <32 x i16> %v1) #0 {270  %t0 = icmp uge <32 x i16> %v0, %v1271  %t1 = select <32 x i1> %t0, <32 x i16> %v0, <32 x i16> %v1272  ret <32 x i16> %t1273}274 275; minw276 277; CHECK: test_20:278; CHECK: v0.w = vmin(v0.w,v1.w)279define <16 x i32> @test_20(<16 x i32> %v0, <16 x i32> %v1) #0 {280  %t0 = icmp slt <16 x i32> %v0, %v1281  %t1 = select <16 x i1> %t0, <16 x i32> %v0, <16 x i32> %v1282  ret <16 x i32> %t1283}284 285; CHECK: test_21:286; CHECK: v0.w = vmin(v0.w,v1.w)287define <16 x i32> @test_21(<16 x i32> %v0, <16 x i32> %v1) #0 {288  %t0 = icmp sle <16 x i32> %v0, %v1289  %t1 = select <16 x i1> %t0, <16 x i32> %v0, <16 x i32> %v1290  ret <16 x i32> %t1291}292 293; CHECK: test_22:294; CHECK: v0.w = vmin(v0.w,v1.w)295define <16 x i32> @test_22(<16 x i32> %v0, <16 x i32> %v1) #0 {296  %t0 = icmp sgt <16 x i32> %v0, %v1297  %t1 = select <16 x i1> %t0, <16 x i32> %v1, <16 x i32> %v0298  ret <16 x i32> %t1299}300 301; CHECK: test_23:302; CHECK: v0.w = vmin(v0.w,v1.w)303define <16 x i32> @test_23(<16 x i32> %v0, <16 x i32> %v1) #0 {304  %t0 = icmp sge <16 x i32> %v0, %v1305  %t1 = select <16 x i1> %t0, <16 x i32> %v1, <16 x i32> %v0306  ret <16 x i32> %t1307}308 309; maxw310 311; CHECK: test_24:312; CHECK: v0.w = vmax(v0.w,v1.w)313define <16 x i32> @test_24(<16 x i32> %v0, <16 x i32> %v1) #0 {314  %t0 = icmp slt <16 x i32> %v0, %v1315  %t1 = select <16 x i1> %t0, <16 x i32> %v1, <16 x i32> %v0316  ret <16 x i32> %t1317}318 319; CHECK: test_25:320; CHECK: v0.w = vmax(v0.w,v1.w)321define <16 x i32> @test_25(<16 x i32> %v0, <16 x i32> %v1) #0 {322  %t0 = icmp sle <16 x i32> %v0, %v1323  %t1 = select <16 x i1> %t0, <16 x i32> %v1, <16 x i32> %v0324  ret <16 x i32> %t1325}326 327; CHECK: test_26:328; CHECK: v0.w = vmax(v0.w,v1.w)329define <16 x i32> @test_26(<16 x i32> %v0, <16 x i32> %v1) #0 {330  %t0 = icmp sgt <16 x i32> %v0, %v1331  %t1 = select <16 x i1> %t0, <16 x i32> %v0, <16 x i32> %v1332  ret <16 x i32> %t1333}334 335; CHECK: test_27:336; CHECK: v0.w = vmax(v0.w,v1.w)337define <16 x i32> @test_27(<16 x i32> %v0, <16 x i32> %v1) #0 {338  %t0 = icmp sge <16 x i32> %v0, %v1339  %t1 = select <16 x i1> %t0, <16 x i32> %v0, <16 x i32> %v1340  ret <16 x i32> %t1341}342 343attributes #0 = { readnone nounwind "target-cpu"="hexagonv62" "target-features"="+hvx,+hvx-length64b" }344 345