2404 lines · plain
1; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -mtriple=systemz-unknown -mcpu=z13 | FileCheck %s2;3 4define i8 @fun0(i8 %val1, i8 %val2) {5 %cmp = icmp eq i8 %val1, %val26 %v = sext i1 %cmp to i87 ret i8 %v8 9; CHECK: fun010; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val211; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i812}13 14define i16 @fun1(i8 %val1, i8 %val2) {15 %cmp = icmp eq i8 %val1, %val216 %v = sext i1 %cmp to i1617 ret i16 %v18 19; CHECK: fun120; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val221; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i1622}23 24define i32 @fun2(i8 %val1, i8 %val2) {25 %cmp = icmp eq i8 %val1, %val226 %v = sext i1 %cmp to i3227 ret i32 %v28 29; CHECK: fun230; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val231; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i3232}33 34define i64 @fun3(i8 %val1, i8 %val2) {35 %cmp = icmp eq i8 %val1, %val236 %v = sext i1 %cmp to i6437 ret i64 %v38 39; CHECK: fun340; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val241; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i6442}43 44define i8 @fun4(i16 %val1, i16 %val2) {45 %cmp = icmp eq i16 %val1, %val246 %v = sext i1 %cmp to i847 ret i8 %v48 49; CHECK: fun450; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val251; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i852}53 54define i16 @fun5(i16 %val1, i16 %val2) {55 %cmp = icmp eq i16 %val1, %val256 %v = sext i1 %cmp to i1657 ret i16 %v58 59; CHECK: fun560; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val261; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i1662}63 64define i32 @fun6(i16 %val1, i16 %val2) {65 %cmp = icmp eq i16 %val1, %val266 %v = sext i1 %cmp to i3267 ret i32 %v68 69; CHECK: fun670; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val271; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i3272}73 74define i64 @fun7(i16 %val1, i16 %val2) {75 %cmp = icmp eq i16 %val1, %val276 %v = sext i1 %cmp to i6477 ret i64 %v78 79; CHECK: fun780; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val281; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i6482}83 84define i8 @fun8(i32 %val1, i32 %val2) {85 %cmp = icmp eq i32 %val1, %val286 %v = sext i1 %cmp to i887 ret i8 %v88 89; CHECK: fun890; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val291; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i892}93 94define i16 @fun9(i32 %val1, i32 %val2) {95 %cmp = icmp eq i32 %val1, %val296 %v = sext i1 %cmp to i1697 ret i16 %v98 99; CHECK: fun9100; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2101; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i16102}103 104define i32 @fun10(i32 %val1, i32 %val2) {105 %cmp = icmp eq i32 %val1, %val2106 %v = sext i1 %cmp to i32107 ret i32 %v108 109; CHECK: fun10110; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2111; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i32112}113 114define i64 @fun11(i32 %val1, i32 %val2) {115 %cmp = icmp eq i32 %val1, %val2116 %v = sext i1 %cmp to i64117 ret i64 %v118 119; CHECK: fun11120; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2121; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i64122}123 124define i8 @fun12(i64 %val1, i64 %val2) {125 %cmp = icmp eq i64 %val1, %val2126 %v = sext i1 %cmp to i8127 ret i8 %v128 129; CHECK: fun12130; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2131; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i8132}133 134define i16 @fun13(i64 %val1, i64 %val2) {135 %cmp = icmp eq i64 %val1, %val2136 %v = sext i1 %cmp to i16137 ret i16 %v138 139; CHECK: fun13140; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2141; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i16142}143 144define i32 @fun14(i64 %val1, i64 %val2) {145 %cmp = icmp eq i64 %val1, %val2146 %v = sext i1 %cmp to i32147 ret i32 %v148 149; CHECK: fun14150; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2151; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i32152}153 154define i64 @fun15(i64 %val1, i64 %val2) {155 %cmp = icmp eq i64 %val1, %val2156 %v = sext i1 %cmp to i64157 ret i64 %v158 159; CHECK: fun15160; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2161; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i64162}163 164define i8 @fun16(float %val1, float %val2) {165 %cmp = fcmp ogt float %val1, %val2166 %v = sext i1 %cmp to i8167 ret i8 %v168 169; CHECK: fun16170; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2171; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i8172}173 174define i16 @fun17(float %val1, float %val2) {175 %cmp = fcmp ogt float %val1, %val2176 %v = sext i1 %cmp to i16177 ret i16 %v178 179; CHECK: fun17180; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2181; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i16182}183 184define i32 @fun18(float %val1, float %val2) {185 %cmp = fcmp ogt float %val1, %val2186 %v = sext i1 %cmp to i32187 ret i32 %v188 189; CHECK: fun18190; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2191; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i32192}193 194define i64 @fun19(float %val1, float %val2) {195 %cmp = fcmp ogt float %val1, %val2196 %v = sext i1 %cmp to i64197 ret i64 %v198 199; CHECK: fun19200; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2201; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i64202}203 204define i8 @fun20(double %val1, double %val2) {205 %cmp = fcmp ogt double %val1, %val2206 %v = sext i1 %cmp to i8207 ret i8 %v208 209; CHECK: fun20210; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2211; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i8212}213 214define i16 @fun21(double %val1, double %val2) {215 %cmp = fcmp ogt double %val1, %val2216 %v = sext i1 %cmp to i16217 ret i16 %v218 219; CHECK: fun21220; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2221; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i16222}223 224define i32 @fun22(double %val1, double %val2) {225 %cmp = fcmp ogt double %val1, %val2226 %v = sext i1 %cmp to i32227 ret i32 %v228 229; CHECK: fun22230; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2231; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i32232}233 234define i64 @fun23(double %val1, double %val2) {235 %cmp = fcmp ogt double %val1, %val2236 %v = sext i1 %cmp to i64237 ret i64 %v238 239; CHECK: fun23240; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2241; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i64242}243 244define <2 x i8> @fun24(<2 x i8> %val1, <2 x i8> %val2) {245 %cmp = icmp eq <2 x i8> %val1, %val2246 %v = sext <2 x i1> %cmp to <2 x i8>247 ret <2 x i8> %v248 249; CHECK: fun24250; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2251; CHECK: cost of 0 for instruction: %v = sext <2 x i1> %cmp to <2 x i8>252}253 254define <2 x i16> @fun25(<2 x i8> %val1, <2 x i8> %val2) {255 %cmp = icmp eq <2 x i8> %val1, %val2256 %v = sext <2 x i1> %cmp to <2 x i16>257 ret <2 x i16> %v258 259; CHECK: fun25260; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2261; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i16>262}263 264define <2 x i32> @fun26(<2 x i8> %val1, <2 x i8> %val2) {265 %cmp = icmp eq <2 x i8> %val1, %val2266 %v = sext <2 x i1> %cmp to <2 x i32>267 ret <2 x i32> %v268 269; CHECK: fun26270; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2271; CHECK: cost of 2 for instruction: %v = sext <2 x i1> %cmp to <2 x i32>272}273 274define <2 x i64> @fun27(<2 x i8> %val1, <2 x i8> %val2) {275 %cmp = icmp eq <2 x i8> %val1, %val2276 %v = sext <2 x i1> %cmp to <2 x i64>277 ret <2 x i64> %v278 279; CHECK: fun27280; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2281; CHECK: cost of 3 for instruction: %v = sext <2 x i1> %cmp to <2 x i64>282}283 284define <2 x i8> @fun28(<2 x i16> %val1, <2 x i16> %val2) {285 %cmp = icmp eq <2 x i16> %val1, %val2286 %v = sext <2 x i1> %cmp to <2 x i8>287 ret <2 x i8> %v288 289; CHECK: fun28290; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2291; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i8>292}293 294define <2 x i16> @fun29(<2 x i16> %val1, <2 x i16> %val2) {295 %cmp = icmp eq <2 x i16> %val1, %val2296 %v = sext <2 x i1> %cmp to <2 x i16>297 ret <2 x i16> %v298 299; CHECK: fun29300; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2301; CHECK: cost of 0 for instruction: %v = sext <2 x i1> %cmp to <2 x i16>302}303 304define <2 x i32> @fun30(<2 x i16> %val1, <2 x i16> %val2) {305 %cmp = icmp eq <2 x i16> %val1, %val2306 %v = sext <2 x i1> %cmp to <2 x i32>307 ret <2 x i32> %v308 309; CHECK: fun30310; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2311; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i32>312}313 314define <2 x i64> @fun31(<2 x i16> %val1, <2 x i16> %val2) {315 %cmp = icmp eq <2 x i16> %val1, %val2316 %v = sext <2 x i1> %cmp to <2 x i64>317 ret <2 x i64> %v318 319; CHECK: fun31320; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2321; CHECK: cost of 2 for instruction: %v = sext <2 x i1> %cmp to <2 x i64>322}323 324define <2 x i8> @fun32(<2 x i32> %val1, <2 x i32> %val2) {325 %cmp = icmp eq <2 x i32> %val1, %val2326 %v = sext <2 x i1> %cmp to <2 x i8>327 ret <2 x i8> %v328 329; CHECK: fun32330; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2331; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i8>332}333 334define <2 x i16> @fun33(<2 x i32> %val1, <2 x i32> %val2) {335 %cmp = icmp eq <2 x i32> %val1, %val2336 %v = sext <2 x i1> %cmp to <2 x i16>337 ret <2 x i16> %v338 339; CHECK: fun33340; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2341; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i16>342}343 344define <2 x i32> @fun34(<2 x i32> %val1, <2 x i32> %val2) {345 %cmp = icmp eq <2 x i32> %val1, %val2346 %v = sext <2 x i1> %cmp to <2 x i32>347 ret <2 x i32> %v348 349; CHECK: fun34350; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2351; CHECK: cost of 0 for instruction: %v = sext <2 x i1> %cmp to <2 x i32>352}353 354define <2 x i64> @fun35(<2 x i32> %val1, <2 x i32> %val2) {355 %cmp = icmp eq <2 x i32> %val1, %val2356 %v = sext <2 x i1> %cmp to <2 x i64>357 ret <2 x i64> %v358 359; CHECK: fun35360; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2361; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i64>362}363 364define <2 x i8> @fun36(<2 x i64> %val1, <2 x i64> %val2) {365 %cmp = icmp eq <2 x i64> %val1, %val2366 %v = sext <2 x i1> %cmp to <2 x i8>367 ret <2 x i8> %v368 369; CHECK: fun36370; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2371; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i8>372}373 374define <2 x i16> @fun37(<2 x i64> %val1, <2 x i64> %val2) {375 %cmp = icmp eq <2 x i64> %val1, %val2376 %v = sext <2 x i1> %cmp to <2 x i16>377 ret <2 x i16> %v378 379; CHECK: fun37380; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2381; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i16>382}383 384define <2 x i32> @fun38(<2 x i64> %val1, <2 x i64> %val2) {385 %cmp = icmp eq <2 x i64> %val1, %val2386 %v = sext <2 x i1> %cmp to <2 x i32>387 ret <2 x i32> %v388 389; CHECK: fun38390; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2391; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i32>392}393 394define <2 x i64> @fun39(<2 x i64> %val1, <2 x i64> %val2) {395 %cmp = icmp eq <2 x i64> %val1, %val2396 %v = sext <2 x i1> %cmp to <2 x i64>397 ret <2 x i64> %v398 399; CHECK: fun39400; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2401; CHECK: cost of 0 for instruction: %v = sext <2 x i1> %cmp to <2 x i64>402}403 404define <2 x i8> @fun40(<2 x float> %val1, <2 x float> %val2) {405 %cmp = fcmp ogt <2 x float> %val1, %val2406 %v = sext <2 x i1> %cmp to <2 x i8>407 ret <2 x i8> %v408 409; CHECK: fun40410; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2411; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i8>412}413 414define <2 x i16> @fun41(<2 x float> %val1, <2 x float> %val2) {415 %cmp = fcmp ogt <2 x float> %val1, %val2416 %v = sext <2 x i1> %cmp to <2 x i16>417 ret <2 x i16> %v418 419; CHECK: fun41420; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2421; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i16>422}423 424define <2 x i32> @fun42(<2 x float> %val1, <2 x float> %val2) {425 %cmp = fcmp ogt <2 x float> %val1, %val2426 %v = sext <2 x i1> %cmp to <2 x i32>427 ret <2 x i32> %v428 429; CHECK: fun42430; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2431; CHECK: cost of 0 for instruction: %v = sext <2 x i1> %cmp to <2 x i32>432}433 434define <2 x i64> @fun43(<2 x float> %val1, <2 x float> %val2) {435 %cmp = fcmp ogt <2 x float> %val1, %val2436 %v = sext <2 x i1> %cmp to <2 x i64>437 ret <2 x i64> %v438 439; CHECK: fun43440; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2441; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i64>442}443 444define <2 x i8> @fun44(<2 x double> %val1, <2 x double> %val2) {445 %cmp = fcmp ogt <2 x double> %val1, %val2446 %v = sext <2 x i1> %cmp to <2 x i8>447 ret <2 x i8> %v448 449; CHECK: fun44450; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2451; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i8>452}453 454define <2 x i16> @fun45(<2 x double> %val1, <2 x double> %val2) {455 %cmp = fcmp ogt <2 x double> %val1, %val2456 %v = sext <2 x i1> %cmp to <2 x i16>457 ret <2 x i16> %v458 459; CHECK: fun45460; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2461; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i16>462}463 464define <2 x i32> @fun46(<2 x double> %val1, <2 x double> %val2) {465 %cmp = fcmp ogt <2 x double> %val1, %val2466 %v = sext <2 x i1> %cmp to <2 x i32>467 ret <2 x i32> %v468 469; CHECK: fun46470; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2471; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i32>472}473 474define <2 x i64> @fun47(<2 x double> %val1, <2 x double> %val2) {475 %cmp = fcmp ogt <2 x double> %val1, %val2476 %v = sext <2 x i1> %cmp to <2 x i64>477 ret <2 x i64> %v478 479; CHECK: fun47480; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2481; CHECK: cost of 0 for instruction: %v = sext <2 x i1> %cmp to <2 x i64>482}483 484define <4 x i8> @fun48(<4 x i8> %val1, <4 x i8> %val2) {485 %cmp = icmp eq <4 x i8> %val1, %val2486 %v = sext <4 x i1> %cmp to <4 x i8>487 ret <4 x i8> %v488 489; CHECK: fun48490; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2491; CHECK: cost of 0 for instruction: %v = sext <4 x i1> %cmp to <4 x i8>492}493 494define <4 x i16> @fun49(<4 x i8> %val1, <4 x i8> %val2) {495 %cmp = icmp eq <4 x i8> %val1, %val2496 %v = sext <4 x i1> %cmp to <4 x i16>497 ret <4 x i16> %v498 499; CHECK: fun49500; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2501; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i16>502}503 504define <4 x i32> @fun50(<4 x i8> %val1, <4 x i8> %val2) {505 %cmp = icmp eq <4 x i8> %val1, %val2506 %v = sext <4 x i1> %cmp to <4 x i32>507 ret <4 x i32> %v508 509; CHECK: fun50510; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2511; CHECK: cost of 2 for instruction: %v = sext <4 x i1> %cmp to <4 x i32>512}513 514define <4 x i64> @fun51(<4 x i8> %val1, <4 x i8> %val2) {515 %cmp = icmp eq <4 x i8> %val1, %val2516 %v = sext <4 x i1> %cmp to <4 x i64>517 ret <4 x i64> %v518 519; CHECK: fun51520; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2521; CHECK: cost of 7 for instruction: %v = sext <4 x i1> %cmp to <4 x i64>522}523 524define <4 x i8> @fun52(<4 x i16> %val1, <4 x i16> %val2) {525 %cmp = icmp eq <4 x i16> %val1, %val2526 %v = sext <4 x i1> %cmp to <4 x i8>527 ret <4 x i8> %v528 529; CHECK: fun52530; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2531; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i8>532}533 534define <4 x i16> @fun53(<4 x i16> %val1, <4 x i16> %val2) {535 %cmp = icmp eq <4 x i16> %val1, %val2536 %v = sext <4 x i1> %cmp to <4 x i16>537 ret <4 x i16> %v538 539; CHECK: fun53540; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2541; CHECK: cost of 0 for instruction: %v = sext <4 x i1> %cmp to <4 x i16>542}543 544define <4 x i32> @fun54(<4 x i16> %val1, <4 x i16> %val2) {545 %cmp = icmp eq <4 x i16> %val1, %val2546 %v = sext <4 x i1> %cmp to <4 x i32>547 ret <4 x i32> %v548 549; CHECK: fun54550; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2551; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i32>552}553 554define <4 x i64> @fun55(<4 x i16> %val1, <4 x i16> %val2) {555 %cmp = icmp eq <4 x i16> %val1, %val2556 %v = sext <4 x i1> %cmp to <4 x i64>557 ret <4 x i64> %v558 559; CHECK: fun55560; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2561; CHECK: cost of 5 for instruction: %v = sext <4 x i1> %cmp to <4 x i64>562}563 564define <4 x i8> @fun56(<4 x i32> %val1, <4 x i32> %val2) {565 %cmp = icmp eq <4 x i32> %val1, %val2566 %v = sext <4 x i1> %cmp to <4 x i8>567 ret <4 x i8> %v568 569; CHECK: fun56570; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2571; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i8>572}573 574define <4 x i16> @fun57(<4 x i32> %val1, <4 x i32> %val2) {575 %cmp = icmp eq <4 x i32> %val1, %val2576 %v = sext <4 x i1> %cmp to <4 x i16>577 ret <4 x i16> %v578 579; CHECK: fun57580; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2581; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i16>582}583 584define <4 x i32> @fun58(<4 x i32> %val1, <4 x i32> %val2) {585 %cmp = icmp eq <4 x i32> %val1, %val2586 %v = sext <4 x i1> %cmp to <4 x i32>587 ret <4 x i32> %v588 589; CHECK: fun58590; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2591; CHECK: cost of 0 for instruction: %v = sext <4 x i1> %cmp to <4 x i32>592}593 594define <4 x i64> @fun59(<4 x i32> %val1, <4 x i32> %val2) {595 %cmp = icmp eq <4 x i32> %val1, %val2596 %v = sext <4 x i1> %cmp to <4 x i64>597 ret <4 x i64> %v598 599; CHECK: fun59600; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2601; CHECK: cost of 3 for instruction: %v = sext <4 x i1> %cmp to <4 x i64>602}603 604define <4 x i8> @fun60(<4 x i64> %val1, <4 x i64> %val2) {605 %cmp = icmp eq <4 x i64> %val1, %val2606 %v = sext <4 x i1> %cmp to <4 x i8>607 ret <4 x i8> %v608 609; CHECK: fun60610; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2611; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i8>612}613 614define <4 x i16> @fun61(<4 x i64> %val1, <4 x i64> %val2) {615 %cmp = icmp eq <4 x i64> %val1, %val2616 %v = sext <4 x i1> %cmp to <4 x i16>617 ret <4 x i16> %v618 619; CHECK: fun61620; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2621; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i16>622}623 624define <4 x i32> @fun62(<4 x i64> %val1, <4 x i64> %val2) {625 %cmp = icmp eq <4 x i64> %val1, %val2626 %v = sext <4 x i1> %cmp to <4 x i32>627 ret <4 x i32> %v628 629; CHECK: fun62630; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2631; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i32>632}633 634define <4 x i64> @fun63(<4 x i64> %val1, <4 x i64> %val2) {635 %cmp = icmp eq <4 x i64> %val1, %val2636 %v = sext <4 x i1> %cmp to <4 x i64>637 ret <4 x i64> %v638 639; CHECK: fun63640; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2641; CHECK: cost of 0 for instruction: %v = sext <4 x i1> %cmp to <4 x i64>642}643 644define <4 x i8> @fun64(<4 x float> %val1, <4 x float> %val2) {645 %cmp = fcmp ogt <4 x float> %val1, %val2646 %v = sext <4 x i1> %cmp to <4 x i8>647 ret <4 x i8> %v648 649; CHECK: fun64650; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2651; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i8>652}653 654define <4 x i16> @fun65(<4 x float> %val1, <4 x float> %val2) {655 %cmp = fcmp ogt <4 x float> %val1, %val2656 %v = sext <4 x i1> %cmp to <4 x i16>657 ret <4 x i16> %v658 659; CHECK: fun65660; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2661; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i16>662}663 664define <4 x i32> @fun66(<4 x float> %val1, <4 x float> %val2) {665 %cmp = fcmp ogt <4 x float> %val1, %val2666 %v = sext <4 x i1> %cmp to <4 x i32>667 ret <4 x i32> %v668 669; CHECK: fun66670; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2671; CHECK: cost of 0 for instruction: %v = sext <4 x i1> %cmp to <4 x i32>672}673 674define <4 x i64> @fun67(<4 x float> %val1, <4 x float> %val2) {675 %cmp = fcmp ogt <4 x float> %val1, %val2676 %v = sext <4 x i1> %cmp to <4 x i64>677 ret <4 x i64> %v678 679; CHECK: fun67680; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2681; CHECK: cost of 3 for instruction: %v = sext <4 x i1> %cmp to <4 x i64>682}683 684define <4 x i8> @fun68(<4 x double> %val1, <4 x double> %val2) {685 %cmp = fcmp ogt <4 x double> %val1, %val2686 %v = sext <4 x i1> %cmp to <4 x i8>687 ret <4 x i8> %v688 689; CHECK: fun68690; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2691; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i8>692}693 694define <4 x i16> @fun69(<4 x double> %val1, <4 x double> %val2) {695 %cmp = fcmp ogt <4 x double> %val1, %val2696 %v = sext <4 x i1> %cmp to <4 x i16>697 ret <4 x i16> %v698 699; CHECK: fun69700; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2701; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i16>702}703 704define <4 x i32> @fun70(<4 x double> %val1, <4 x double> %val2) {705 %cmp = fcmp ogt <4 x double> %val1, %val2706 %v = sext <4 x i1> %cmp to <4 x i32>707 ret <4 x i32> %v708 709; CHECK: fun70710; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2711; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i32>712}713 714define <4 x i64> @fun71(<4 x double> %val1, <4 x double> %val2) {715 %cmp = fcmp ogt <4 x double> %val1, %val2716 %v = sext <4 x i1> %cmp to <4 x i64>717 ret <4 x i64> %v718 719; CHECK: fun71720; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2721; CHECK: cost of 0 for instruction: %v = sext <4 x i1> %cmp to <4 x i64>722}723 724define <8 x i8> @fun72(<8 x i8> %val1, <8 x i8> %val2) {725 %cmp = icmp eq <8 x i8> %val1, %val2726 %v = sext <8 x i1> %cmp to <8 x i8>727 ret <8 x i8> %v728 729; CHECK: fun72730; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2731; CHECK: cost of 0 for instruction: %v = sext <8 x i1> %cmp to <8 x i8>732}733 734define <8 x i16> @fun73(<8 x i8> %val1, <8 x i8> %val2) {735 %cmp = icmp eq <8 x i8> %val1, %val2736 %v = sext <8 x i1> %cmp to <8 x i16>737 ret <8 x i16> %v738 739; CHECK: fun73740; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2741; CHECK: cost of 1 for instruction: %v = sext <8 x i1> %cmp to <8 x i16>742}743 744define <8 x i32> @fun74(<8 x i8> %val1, <8 x i8> %val2) {745 %cmp = icmp eq <8 x i8> %val1, %val2746 %v = sext <8 x i1> %cmp to <8 x i32>747 ret <8 x i32> %v748 749; CHECK: fun74750; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2751; CHECK: cost of 5 for instruction: %v = sext <8 x i1> %cmp to <8 x i32>752}753 754define <8 x i64> @fun75(<8 x i8> %val1, <8 x i8> %val2) {755 %cmp = icmp eq <8 x i8> %val1, %val2756 %v = sext <8 x i1> %cmp to <8 x i64>757 ret <8 x i64> %v758 759; CHECK: fun75760; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2761; CHECK: cost of 15 for instruction: %v = sext <8 x i1> %cmp to <8 x i64>762}763 764define <8 x i8> @fun76(<8 x i16> %val1, <8 x i16> %val2) {765 %cmp = icmp eq <8 x i16> %val1, %val2766 %v = sext <8 x i1> %cmp to <8 x i8>767 ret <8 x i8> %v768 769; CHECK: fun76770; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2771; CHECK: cost of 1 for instruction: %v = sext <8 x i1> %cmp to <8 x i8>772}773 774define <8 x i16> @fun77(<8 x i16> %val1, <8 x i16> %val2) {775 %cmp = icmp eq <8 x i16> %val1, %val2776 %v = sext <8 x i1> %cmp to <8 x i16>777 ret <8 x i16> %v778 779; CHECK: fun77780; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2781; CHECK: cost of 0 for instruction: %v = sext <8 x i1> %cmp to <8 x i16>782}783 784define <8 x i32> @fun78(<8 x i16> %val1, <8 x i16> %val2) {785 %cmp = icmp eq <8 x i16> %val1, %val2786 %v = sext <8 x i1> %cmp to <8 x i32>787 ret <8 x i32> %v788 789; CHECK: fun78790; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2791; CHECK: cost of 3 for instruction: %v = sext <8 x i1> %cmp to <8 x i32>792}793 794define <8 x i64> @fun79(<8 x i16> %val1, <8 x i16> %val2) {795 %cmp = icmp eq <8 x i16> %val1, %val2796 %v = sext <8 x i1> %cmp to <8 x i64>797 ret <8 x i64> %v798 799; CHECK: fun79800; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2801; CHECK: cost of 11 for instruction: %v = sext <8 x i1> %cmp to <8 x i64>802}803 804define <8 x i8> @fun80(<8 x i32> %val1, <8 x i32> %val2) {805 %cmp = icmp eq <8 x i32> %val1, %val2806 %v = sext <8 x i1> %cmp to <8 x i8>807 ret <8 x i8> %v808 809; CHECK: fun80810; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2811; CHECK: cost of 1 for instruction: %v = sext <8 x i1> %cmp to <8 x i8>812}813 814define <8 x i16> @fun81(<8 x i32> %val1, <8 x i32> %val2) {815 %cmp = icmp eq <8 x i32> %val1, %val2816 %v = sext <8 x i1> %cmp to <8 x i16>817 ret <8 x i16> %v818 819; CHECK: fun81820; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2821; CHECK: cost of 1 for instruction: %v = sext <8 x i1> %cmp to <8 x i16>822}823 824define <8 x i32> @fun82(<8 x i32> %val1, <8 x i32> %val2) {825 %cmp = icmp eq <8 x i32> %val1, %val2826 %v = sext <8 x i1> %cmp to <8 x i32>827 ret <8 x i32> %v828 829; CHECK: fun82830; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2831; CHECK: cost of 0 for instruction: %v = sext <8 x i1> %cmp to <8 x i32>832}833 834define <8 x i64> @fun83(<8 x i32> %val1, <8 x i32> %val2) {835 %cmp = icmp eq <8 x i32> %val1, %val2836 %v = sext <8 x i1> %cmp to <8 x i64>837 ret <8 x i64> %v838 839; CHECK: fun83840; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2841; CHECK: cost of 7 for instruction: %v = sext <8 x i1> %cmp to <8 x i64>842}843 844define <8 x i8> @fun84(<8 x i64> %val1, <8 x i64> %val2) {845 %cmp = icmp eq <8 x i64> %val1, %val2846 %v = sext <8 x i1> %cmp to <8 x i8>847 ret <8 x i8> %v848 849; CHECK: fun84850; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2851; CHECK: cost of 3 for instruction: %v = sext <8 x i1> %cmp to <8 x i8>852}853 854define <8 x i16> @fun85(<8 x i64> %val1, <8 x i64> %val2) {855 %cmp = icmp eq <8 x i64> %val1, %val2856 %v = sext <8 x i1> %cmp to <8 x i16>857 ret <8 x i16> %v858 859; CHECK: fun85860; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2861; CHECK: cost of 3 for instruction: %v = sext <8 x i1> %cmp to <8 x i16>862}863 864define <8 x i32> @fun86(<8 x i64> %val1, <8 x i64> %val2) {865 %cmp = icmp eq <8 x i64> %val1, %val2866 %v = sext <8 x i1> %cmp to <8 x i32>867 ret <8 x i32> %v868 869; CHECK: fun86870; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2871; CHECK: cost of 2 for instruction: %v = sext <8 x i1> %cmp to <8 x i32>872}873 874define <8 x i64> @fun87(<8 x i64> %val1, <8 x i64> %val2) {875 %cmp = icmp eq <8 x i64> %val1, %val2876 %v = sext <8 x i1> %cmp to <8 x i64>877 ret <8 x i64> %v878 879; CHECK: fun87880; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2881; CHECK: cost of 0 for instruction: %v = sext <8 x i1> %cmp to <8 x i64>882}883 884define <8 x i8> @fun88(<8 x float> %val1, <8 x float> %val2) {885 %cmp = fcmp ogt <8 x float> %val1, %val2886 %v = sext <8 x i1> %cmp to <8 x i8>887 ret <8 x i8> %v888 889; CHECK: fun88890; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2891; CHECK: cost of 1 for instruction: %v = sext <8 x i1> %cmp to <8 x i8>892}893 894define <8 x i16> @fun89(<8 x float> %val1, <8 x float> %val2) {895 %cmp = fcmp ogt <8 x float> %val1, %val2896 %v = sext <8 x i1> %cmp to <8 x i16>897 ret <8 x i16> %v898 899; CHECK: fun89900; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2901; CHECK: cost of 1 for instruction: %v = sext <8 x i1> %cmp to <8 x i16>902}903 904define <8 x i32> @fun90(<8 x float> %val1, <8 x float> %val2) {905 %cmp = fcmp ogt <8 x float> %val1, %val2906 %v = sext <8 x i1> %cmp to <8 x i32>907 ret <8 x i32> %v908 909; CHECK: fun90910; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2911; CHECK: cost of 0 for instruction: %v = sext <8 x i1> %cmp to <8 x i32>912}913 914define <8 x i64> @fun91(<8 x float> %val1, <8 x float> %val2) {915 %cmp = fcmp ogt <8 x float> %val1, %val2916 %v = sext <8 x i1> %cmp to <8 x i64>917 ret <8 x i64> %v918 919; CHECK: fun91920; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2921; CHECK: cost of 7 for instruction: %v = sext <8 x i1> %cmp to <8 x i64>922}923 924define <8 x i8> @fun92(<8 x double> %val1, <8 x double> %val2) {925 %cmp = fcmp ogt <8 x double> %val1, %val2926 %v = sext <8 x i1> %cmp to <8 x i8>927 ret <8 x i8> %v928 929; CHECK: fun92930; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2931; CHECK: cost of 3 for instruction: %v = sext <8 x i1> %cmp to <8 x i8>932}933 934define <8 x i16> @fun93(<8 x double> %val1, <8 x double> %val2) {935 %cmp = fcmp ogt <8 x double> %val1, %val2936 %v = sext <8 x i1> %cmp to <8 x i16>937 ret <8 x i16> %v938 939; CHECK: fun93940; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2941; CHECK: cost of 3 for instruction: %v = sext <8 x i1> %cmp to <8 x i16>942}943 944define <8 x i32> @fun94(<8 x double> %val1, <8 x double> %val2) {945 %cmp = fcmp ogt <8 x double> %val1, %val2946 %v = sext <8 x i1> %cmp to <8 x i32>947 ret <8 x i32> %v948 949; CHECK: fun94950; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2951; CHECK: cost of 2 for instruction: %v = sext <8 x i1> %cmp to <8 x i32>952}953 954define <8 x i64> @fun95(<8 x double> %val1, <8 x double> %val2) {955 %cmp = fcmp ogt <8 x double> %val1, %val2956 %v = sext <8 x i1> %cmp to <8 x i64>957 ret <8 x i64> %v958 959; CHECK: fun95960; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2961; CHECK: cost of 0 for instruction: %v = sext <8 x i1> %cmp to <8 x i64>962}963 964define <16 x i8> @fun96(<16 x i8> %val1, <16 x i8> %val2) {965 %cmp = icmp eq <16 x i8> %val1, %val2966 %v = sext <16 x i1> %cmp to <16 x i8>967 ret <16 x i8> %v968 969; CHECK: fun96970; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2971; CHECK: cost of 0 for instruction: %v = sext <16 x i1> %cmp to <16 x i8>972}973 974define <16 x i16> @fun97(<16 x i8> %val1, <16 x i8> %val2) {975 %cmp = icmp eq <16 x i8> %val1, %val2976 %v = sext <16 x i1> %cmp to <16 x i16>977 ret <16 x i16> %v978 979; CHECK: fun97980; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2981; CHECK: cost of 3 for instruction: %v = sext <16 x i1> %cmp to <16 x i16>982}983 984define <16 x i32> @fun98(<16 x i8> %val1, <16 x i8> %val2) {985 %cmp = icmp eq <16 x i8> %val1, %val2986 %v = sext <16 x i1> %cmp to <16 x i32>987 ret <16 x i32> %v988 989; CHECK: fun98990; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2991; CHECK: cost of 11 for instruction: %v = sext <16 x i1> %cmp to <16 x i32>992}993 994define <16 x i64> @fun99(<16 x i8> %val1, <16 x i8> %val2) {995 %cmp = icmp eq <16 x i8> %val1, %val2996 %v = sext <16 x i1> %cmp to <16 x i64>997 ret <16 x i64> %v998 999; CHECK: fun991000; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val21001; CHECK: cost of 31 for instruction: %v = sext <16 x i1> %cmp to <16 x i64>1002}1003 1004define <16 x i8> @fun100(<16 x i16> %val1, <16 x i16> %val2) {1005 %cmp = icmp eq <16 x i16> %val1, %val21006 %v = sext <16 x i1> %cmp to <16 x i8>1007 ret <16 x i8> %v1008 1009; CHECK: fun1001010; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val21011; CHECK: cost of 1 for instruction: %v = sext <16 x i1> %cmp to <16 x i8>1012}1013 1014define <16 x i16> @fun101(<16 x i16> %val1, <16 x i16> %val2) {1015 %cmp = icmp eq <16 x i16> %val1, %val21016 %v = sext <16 x i1> %cmp to <16 x i16>1017 ret <16 x i16> %v1018 1019; CHECK: fun1011020; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val21021; CHECK: cost of 0 for instruction: %v = sext <16 x i1> %cmp to <16 x i16>1022}1023 1024define <16 x i32> @fun102(<16 x i16> %val1, <16 x i16> %val2) {1025 %cmp = icmp eq <16 x i16> %val1, %val21026 %v = sext <16 x i1> %cmp to <16 x i32>1027 ret <16 x i32> %v1028 1029; CHECK: fun1021030; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val21031; CHECK: cost of 7 for instruction: %v = sext <16 x i1> %cmp to <16 x i32>1032}1033 1034define <16 x i64> @fun103(<16 x i16> %val1, <16 x i16> %val2) {1035 %cmp = icmp eq <16 x i16> %val1, %val21036 %v = sext <16 x i1> %cmp to <16 x i64>1037 ret <16 x i64> %v1038 1039; CHECK: fun1031040; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val21041; CHECK: cost of 23 for instruction: %v = sext <16 x i1> %cmp to <16 x i64>1042}1043 1044define <16 x i8> @fun104(<16 x i32> %val1, <16 x i32> %val2) {1045 %cmp = icmp eq <16 x i32> %val1, %val21046 %v = sext <16 x i1> %cmp to <16 x i8>1047 ret <16 x i8> %v1048 1049; CHECK: fun1041050; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val21051; CHECK: cost of 3 for instruction: %v = sext <16 x i1> %cmp to <16 x i8>1052}1053 1054define <16 x i16> @fun105(<16 x i32> %val1, <16 x i32> %val2) {1055 %cmp = icmp eq <16 x i32> %val1, %val21056 %v = sext <16 x i1> %cmp to <16 x i16>1057 ret <16 x i16> %v1058 1059; CHECK: fun1051060; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val21061; CHECK: cost of 2 for instruction: %v = sext <16 x i1> %cmp to <16 x i16>1062}1063 1064define <16 x i32> @fun106(<16 x i32> %val1, <16 x i32> %val2) {1065 %cmp = icmp eq <16 x i32> %val1, %val21066 %v = sext <16 x i1> %cmp to <16 x i32>1067 ret <16 x i32> %v1068 1069; CHECK: fun1061070; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val21071; CHECK: cost of 0 for instruction: %v = sext <16 x i1> %cmp to <16 x i32>1072}1073 1074define <16 x i64> @fun107(<16 x i32> %val1, <16 x i32> %val2) {1075 %cmp = icmp eq <16 x i32> %val1, %val21076 %v = sext <16 x i1> %cmp to <16 x i64>1077 ret <16 x i64> %v1078 1079; CHECK: fun1071080; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val21081; CHECK: cost of 15 for instruction: %v = sext <16 x i1> %cmp to <16 x i64>1082}1083 1084define <16 x i8> @fun108(<16 x i64> %val1, <16 x i64> %val2) {1085 %cmp = icmp eq <16 x i64> %val1, %val21086 %v = sext <16 x i1> %cmp to <16 x i8>1087 ret <16 x i8> %v1088 1089; CHECK: fun1081090; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val21091; CHECK: cost of 7 for instruction: %v = sext <16 x i1> %cmp to <16 x i8>1092}1093 1094define <16 x i16> @fun109(<16 x i64> %val1, <16 x i64> %val2) {1095 %cmp = icmp eq <16 x i64> %val1, %val21096 %v = sext <16 x i1> %cmp to <16 x i16>1097 ret <16 x i16> %v1098 1099; CHECK: fun1091100; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val21101; CHECK: cost of 6 for instruction: %v = sext <16 x i1> %cmp to <16 x i16>1102}1103 1104define <16 x i32> @fun110(<16 x i64> %val1, <16 x i64> %val2) {1105 %cmp = icmp eq <16 x i64> %val1, %val21106 %v = sext <16 x i1> %cmp to <16 x i32>1107 ret <16 x i32> %v1108 1109; CHECK: fun1101110; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val21111; CHECK: cost of 4 for instruction: %v = sext <16 x i1> %cmp to <16 x i32>1112}1113 1114define <16 x i64> @fun111(<16 x i64> %val1, <16 x i64> %val2) {1115 %cmp = icmp eq <16 x i64> %val1, %val21116 %v = sext <16 x i1> %cmp to <16 x i64>1117 ret <16 x i64> %v1118 1119; CHECK: fun1111120; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val21121; CHECK: cost of 0 for instruction: %v = sext <16 x i1> %cmp to <16 x i64>1122}1123 1124define <16 x i8> @fun112(<16 x float> %val1, <16 x float> %val2) {1125 %cmp = fcmp ogt <16 x float> %val1, %val21126 %v = sext <16 x i1> %cmp to <16 x i8>1127 ret <16 x i8> %v1128 1129; CHECK: fun1121130; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val21131; CHECK: cost of 3 for instruction: %v = sext <16 x i1> %cmp to <16 x i8>1132}1133 1134define <16 x i16> @fun113(<16 x float> %val1, <16 x float> %val2) {1135 %cmp = fcmp ogt <16 x float> %val1, %val21136 %v = sext <16 x i1> %cmp to <16 x i16>1137 ret <16 x i16> %v1138 1139; CHECK: fun1131140; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val21141; CHECK: cost of 2 for instruction: %v = sext <16 x i1> %cmp to <16 x i16>1142}1143 1144define <16 x i32> @fun114(<16 x float> %val1, <16 x float> %val2) {1145 %cmp = fcmp ogt <16 x float> %val1, %val21146 %v = sext <16 x i1> %cmp to <16 x i32>1147 ret <16 x i32> %v1148 1149; CHECK: fun1141150; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val21151; CHECK: cost of 0 for instruction: %v = sext <16 x i1> %cmp to <16 x i32>1152}1153 1154define <16 x i64> @fun115(<16 x float> %val1, <16 x float> %val2) {1155 %cmp = fcmp ogt <16 x float> %val1, %val21156 %v = sext <16 x i1> %cmp to <16 x i64>1157 ret <16 x i64> %v1158 1159; CHECK: fun1151160; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val21161; CHECK: cost of 15 for instruction: %v = sext <16 x i1> %cmp to <16 x i64>1162}1163 1164define <16 x i8> @fun116(<16 x double> %val1, <16 x double> %val2) {1165 %cmp = fcmp ogt <16 x double> %val1, %val21166 %v = sext <16 x i1> %cmp to <16 x i8>1167 ret <16 x i8> %v1168 1169; CHECK: fun1161170; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val21171; CHECK: cost of 7 for instruction: %v = sext <16 x i1> %cmp to <16 x i8>1172}1173 1174define <16 x i16> @fun117(<16 x double> %val1, <16 x double> %val2) {1175 %cmp = fcmp ogt <16 x double> %val1, %val21176 %v = sext <16 x i1> %cmp to <16 x i16>1177 ret <16 x i16> %v1178 1179; CHECK: fun1171180; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val21181; CHECK: cost of 6 for instruction: %v = sext <16 x i1> %cmp to <16 x i16>1182}1183 1184define <16 x i32> @fun118(<16 x double> %val1, <16 x double> %val2) {1185 %cmp = fcmp ogt <16 x double> %val1, %val21186 %v = sext <16 x i1> %cmp to <16 x i32>1187 ret <16 x i32> %v1188 1189; CHECK: fun1181190; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val21191; CHECK: cost of 4 for instruction: %v = sext <16 x i1> %cmp to <16 x i32>1192}1193 1194define <16 x i64> @fun119(<16 x double> %val1, <16 x double> %val2) {1195 %cmp = fcmp ogt <16 x double> %val1, %val21196 %v = sext <16 x i1> %cmp to <16 x i64>1197 ret <16 x i64> %v1198 1199; CHECK: fun1191200; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val21201; CHECK: cost of 0 for instruction: %v = sext <16 x i1> %cmp to <16 x i64>1202}1203 1204define i8 @fun120(i8 %val1, i8 %val2) {1205 %cmp = icmp eq i8 %val1, %val21206 %v = zext i1 %cmp to i81207 ret i8 %v1208 1209; CHECK: fun1201210; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val21211; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i81212}1213 1214define i16 @fun121(i8 %val1, i8 %val2) {1215 %cmp = icmp eq i8 %val1, %val21216 %v = zext i1 %cmp to i161217 ret i16 %v1218 1219; CHECK: fun1211220; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val21221; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i161222}1223 1224define i32 @fun122(i8 %val1, i8 %val2) {1225 %cmp = icmp eq i8 %val1, %val21226 %v = zext i1 %cmp to i321227 ret i32 %v1228 1229; CHECK: fun1221230; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val21231; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i321232}1233 1234define i64 @fun123(i8 %val1, i8 %val2) {1235 %cmp = icmp eq i8 %val1, %val21236 %v = zext i1 %cmp to i641237 ret i64 %v1238 1239; CHECK: fun1231240; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val21241; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i641242}1243 1244define i8 @fun124(i16 %val1, i16 %val2) {1245 %cmp = icmp eq i16 %val1, %val21246 %v = zext i1 %cmp to i81247 ret i8 %v1248 1249; CHECK: fun1241250; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val21251; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i81252}1253 1254define i16 @fun125(i16 %val1, i16 %val2) {1255 %cmp = icmp eq i16 %val1, %val21256 %v = zext i1 %cmp to i161257 ret i16 %v1258 1259; CHECK: fun1251260; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val21261; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i161262}1263 1264define i32 @fun126(i16 %val1, i16 %val2) {1265 %cmp = icmp eq i16 %val1, %val21266 %v = zext i1 %cmp to i321267 ret i32 %v1268 1269; CHECK: fun1261270; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val21271; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i321272}1273 1274define i64 @fun127(i16 %val1, i16 %val2) {1275 %cmp = icmp eq i16 %val1, %val21276 %v = zext i1 %cmp to i641277 ret i64 %v1278 1279; CHECK: fun1271280; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val21281; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i641282}1283 1284define i8 @fun128(i32 %val1, i32 %val2) {1285 %cmp = icmp eq i32 %val1, %val21286 %v = zext i1 %cmp to i81287 ret i8 %v1288 1289; CHECK: fun1281290; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val21291; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i81292}1293 1294define i16 @fun129(i32 %val1, i32 %val2) {1295 %cmp = icmp eq i32 %val1, %val21296 %v = zext i1 %cmp to i161297 ret i16 %v1298 1299; CHECK: fun1291300; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val21301; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i161302}1303 1304define i32 @fun130(i32 %val1, i32 %val2) {1305 %cmp = icmp eq i32 %val1, %val21306 %v = zext i1 %cmp to i321307 ret i32 %v1308 1309; CHECK: fun1301310; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val21311; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i321312}1313 1314define i64 @fun131(i32 %val1, i32 %val2) {1315 %cmp = icmp eq i32 %val1, %val21316 %v = zext i1 %cmp to i641317 ret i64 %v1318 1319; CHECK: fun1311320; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val21321; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i641322}1323 1324define i8 @fun132(i64 %val1, i64 %val2) {1325 %cmp = icmp eq i64 %val1, %val21326 %v = zext i1 %cmp to i81327 ret i8 %v1328 1329; CHECK: fun1321330; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val21331; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i81332}1333 1334define i16 @fun133(i64 %val1, i64 %val2) {1335 %cmp = icmp eq i64 %val1, %val21336 %v = zext i1 %cmp to i161337 ret i16 %v1338 1339; CHECK: fun1331340; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val21341; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i161342}1343 1344define i32 @fun134(i64 %val1, i64 %val2) {1345 %cmp = icmp eq i64 %val1, %val21346 %v = zext i1 %cmp to i321347 ret i32 %v1348 1349; CHECK: fun1341350; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val21351; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i321352}1353 1354define i64 @fun135(i64 %val1, i64 %val2) {1355 %cmp = icmp eq i64 %val1, %val21356 %v = zext i1 %cmp to i641357 ret i64 %v1358 1359; CHECK: fun1351360; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val21361; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i641362}1363 1364define i8 @fun136(float %val1, float %val2) {1365 %cmp = fcmp ogt float %val1, %val21366 %v = zext i1 %cmp to i81367 ret i8 %v1368 1369; CHECK: fun1361370; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val21371; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i81372}1373 1374define i16 @fun137(float %val1, float %val2) {1375 %cmp = fcmp ogt float %val1, %val21376 %v = zext i1 %cmp to i161377 ret i16 %v1378 1379; CHECK: fun1371380; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val21381; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i161382}1383 1384define i32 @fun138(float %val1, float %val2) {1385 %cmp = fcmp ogt float %val1, %val21386 %v = zext i1 %cmp to i321387 ret i32 %v1388 1389; CHECK: fun1381390; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val21391; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i321392}1393 1394define i64 @fun139(float %val1, float %val2) {1395 %cmp = fcmp ogt float %val1, %val21396 %v = zext i1 %cmp to i641397 ret i64 %v1398 1399; CHECK: fun1391400; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val21401; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i641402}1403 1404define i8 @fun140(double %val1, double %val2) {1405 %cmp = fcmp ogt double %val1, %val21406 %v = zext i1 %cmp to i81407 ret i8 %v1408 1409; CHECK: fun1401410; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val21411; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i81412}1413 1414define i16 @fun141(double %val1, double %val2) {1415 %cmp = fcmp ogt double %val1, %val21416 %v = zext i1 %cmp to i161417 ret i16 %v1418 1419; CHECK: fun1411420; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val21421; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i161422}1423 1424define i32 @fun142(double %val1, double %val2) {1425 %cmp = fcmp ogt double %val1, %val21426 %v = zext i1 %cmp to i321427 ret i32 %v1428 1429; CHECK: fun1421430; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val21431; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i321432}1433 1434define i64 @fun143(double %val1, double %val2) {1435 %cmp = fcmp ogt double %val1, %val21436 %v = zext i1 %cmp to i641437 ret i64 %v1438 1439; CHECK: fun1431440; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val21441; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i641442}1443 1444define <2 x i8> @fun144(<2 x i8> %val1, <2 x i8> %val2) {1445 %cmp = icmp eq <2 x i8> %val1, %val21446 %v = zext <2 x i1> %cmp to <2 x i8>1447 ret <2 x i8> %v1448 1449; CHECK: fun1441450; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val21451; CHECK: cost of 1 for instruction: %v = zext <2 x i1> %cmp to <2 x i8>1452}1453 1454define <2 x i16> @fun145(<2 x i8> %val1, <2 x i8> %val2) {1455 %cmp = icmp eq <2 x i8> %val1, %val21456 %v = zext <2 x i1> %cmp to <2 x i16>1457 ret <2 x i16> %v1458 1459; CHECK: fun1451460; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val21461; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i16>1462}1463 1464define <2 x i32> @fun146(<2 x i8> %val1, <2 x i8> %val2) {1465 %cmp = icmp eq <2 x i8> %val1, %val21466 %v = zext <2 x i1> %cmp to <2 x i32>1467 ret <2 x i32> %v1468 1469; CHECK: fun1461470; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val21471; CHECK: cost of 3 for instruction: %v = zext <2 x i1> %cmp to <2 x i32>1472}1473 1474define <2 x i64> @fun147(<2 x i8> %val1, <2 x i8> %val2) {1475 %cmp = icmp eq <2 x i8> %val1, %val21476 %v = zext <2 x i1> %cmp to <2 x i64>1477 ret <2 x i64> %v1478 1479; CHECK: fun1471480; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val21481; CHECK: cost of 4 for instruction: %v = zext <2 x i1> %cmp to <2 x i64>1482}1483 1484define <2 x i8> @fun148(<2 x i16> %val1, <2 x i16> %val2) {1485 %cmp = icmp eq <2 x i16> %val1, %val21486 %v = zext <2 x i1> %cmp to <2 x i8>1487 ret <2 x i8> %v1488 1489; CHECK: fun1481490; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val21491; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i8>1492}1493 1494define <2 x i16> @fun149(<2 x i16> %val1, <2 x i16> %val2) {1495 %cmp = icmp eq <2 x i16> %val1, %val21496 %v = zext <2 x i1> %cmp to <2 x i16>1497 ret <2 x i16> %v1498 1499; CHECK: fun1491500; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val21501; CHECK: cost of 1 for instruction: %v = zext <2 x i1> %cmp to <2 x i16>1502}1503 1504define <2 x i32> @fun150(<2 x i16> %val1, <2 x i16> %val2) {1505 %cmp = icmp eq <2 x i16> %val1, %val21506 %v = zext <2 x i1> %cmp to <2 x i32>1507 ret <2 x i32> %v1508 1509; CHECK: fun1501510; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val21511; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i32>1512}1513 1514define <2 x i64> @fun151(<2 x i16> %val1, <2 x i16> %val2) {1515 %cmp = icmp eq <2 x i16> %val1, %val21516 %v = zext <2 x i1> %cmp to <2 x i64>1517 ret <2 x i64> %v1518 1519; CHECK: fun1511520; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val21521; CHECK: cost of 3 for instruction: %v = zext <2 x i1> %cmp to <2 x i64>1522}1523 1524define <2 x i8> @fun152(<2 x i32> %val1, <2 x i32> %val2) {1525 %cmp = icmp eq <2 x i32> %val1, %val21526 %v = zext <2 x i1> %cmp to <2 x i8>1527 ret <2 x i8> %v1528 1529; CHECK: fun1521530; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val21531; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i8>1532}1533 1534define <2 x i16> @fun153(<2 x i32> %val1, <2 x i32> %val2) {1535 %cmp = icmp eq <2 x i32> %val1, %val21536 %v = zext <2 x i1> %cmp to <2 x i16>1537 ret <2 x i16> %v1538 1539; CHECK: fun1531540; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val21541; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i16>1542}1543 1544define <2 x i32> @fun154(<2 x i32> %val1, <2 x i32> %val2) {1545 %cmp = icmp eq <2 x i32> %val1, %val21546 %v = zext <2 x i1> %cmp to <2 x i32>1547 ret <2 x i32> %v1548 1549; CHECK: fun1541550; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val21551; CHECK: cost of 1 for instruction: %v = zext <2 x i1> %cmp to <2 x i32>1552}1553 1554define <2 x i64> @fun155(<2 x i32> %val1, <2 x i32> %val2) {1555 %cmp = icmp eq <2 x i32> %val1, %val21556 %v = zext <2 x i1> %cmp to <2 x i64>1557 ret <2 x i64> %v1558 1559; CHECK: fun1551560; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val21561; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i64>1562}1563 1564define <2 x i8> @fun156(<2 x i64> %val1, <2 x i64> %val2) {1565 %cmp = icmp eq <2 x i64> %val1, %val21566 %v = zext <2 x i1> %cmp to <2 x i8>1567 ret <2 x i8> %v1568 1569; CHECK: fun1561570; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val21571; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i8>1572}1573 1574define <2 x i16> @fun157(<2 x i64> %val1, <2 x i64> %val2) {1575 %cmp = icmp eq <2 x i64> %val1, %val21576 %v = zext <2 x i1> %cmp to <2 x i16>1577 ret <2 x i16> %v1578 1579; CHECK: fun1571580; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val21581; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i16>1582}1583 1584define <2 x i32> @fun158(<2 x i64> %val1, <2 x i64> %val2) {1585 %cmp = icmp eq <2 x i64> %val1, %val21586 %v = zext <2 x i1> %cmp to <2 x i32>1587 ret <2 x i32> %v1588 1589; CHECK: fun1581590; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val21591; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i32>1592}1593 1594define <2 x i64> @fun159(<2 x i64> %val1, <2 x i64> %val2) {1595 %cmp = icmp eq <2 x i64> %val1, %val21596 %v = zext <2 x i1> %cmp to <2 x i64>1597 ret <2 x i64> %v1598 1599; CHECK: fun1591600; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val21601; CHECK: cost of 1 for instruction: %v = zext <2 x i1> %cmp to <2 x i64>1602}1603 1604define <2 x i8> @fun160(<2 x float> %val1, <2 x float> %val2) {1605 %cmp = fcmp ogt <2 x float> %val1, %val21606 %v = zext <2 x i1> %cmp to <2 x i8>1607 ret <2 x i8> %v1608 1609; CHECK: fun1601610; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val21611; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i8>1612}1613 1614define <2 x i16> @fun161(<2 x float> %val1, <2 x float> %val2) {1615 %cmp = fcmp ogt <2 x float> %val1, %val21616 %v = zext <2 x i1> %cmp to <2 x i16>1617 ret <2 x i16> %v1618 1619; CHECK: fun1611620; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val21621; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i16>1622}1623 1624define <2 x i32> @fun162(<2 x float> %val1, <2 x float> %val2) {1625 %cmp = fcmp ogt <2 x float> %val1, %val21626 %v = zext <2 x i1> %cmp to <2 x i32>1627 ret <2 x i32> %v1628 1629; CHECK: fun1621630; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val21631; CHECK: cost of 1 for instruction: %v = zext <2 x i1> %cmp to <2 x i32>1632}1633 1634define <2 x i64> @fun163(<2 x float> %val1, <2 x float> %val2) {1635 %cmp = fcmp ogt <2 x float> %val1, %val21636 %v = zext <2 x i1> %cmp to <2 x i64>1637 ret <2 x i64> %v1638 1639; CHECK: fun1631640; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val21641; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i64>1642}1643 1644define <2 x i8> @fun164(<2 x double> %val1, <2 x double> %val2) {1645 %cmp = fcmp ogt <2 x double> %val1, %val21646 %v = zext <2 x i1> %cmp to <2 x i8>1647 ret <2 x i8> %v1648 1649; CHECK: fun1641650; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val21651; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i8>1652}1653 1654define <2 x i16> @fun165(<2 x double> %val1, <2 x double> %val2) {1655 %cmp = fcmp ogt <2 x double> %val1, %val21656 %v = zext <2 x i1> %cmp to <2 x i16>1657 ret <2 x i16> %v1658 1659; CHECK: fun1651660; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val21661; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i16>1662}1663 1664define <2 x i32> @fun166(<2 x double> %val1, <2 x double> %val2) {1665 %cmp = fcmp ogt <2 x double> %val1, %val21666 %v = zext <2 x i1> %cmp to <2 x i32>1667 ret <2 x i32> %v1668 1669; CHECK: fun1661670; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val21671; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i32>1672}1673 1674define <2 x i64> @fun167(<2 x double> %val1, <2 x double> %val2) {1675 %cmp = fcmp ogt <2 x double> %val1, %val21676 %v = zext <2 x i1> %cmp to <2 x i64>1677 ret <2 x i64> %v1678 1679; CHECK: fun1671680; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val21681; CHECK: cost of 1 for instruction: %v = zext <2 x i1> %cmp to <2 x i64>1682}1683 1684define <4 x i8> @fun168(<4 x i8> %val1, <4 x i8> %val2) {1685 %cmp = icmp eq <4 x i8> %val1, %val21686 %v = zext <4 x i1> %cmp to <4 x i8>1687 ret <4 x i8> %v1688 1689; CHECK: fun1681690; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val21691; CHECK: cost of 1 for instruction: %v = zext <4 x i1> %cmp to <4 x i8>1692}1693 1694define <4 x i16> @fun169(<4 x i8> %val1, <4 x i8> %val2) {1695 %cmp = icmp eq <4 x i8> %val1, %val21696 %v = zext <4 x i1> %cmp to <4 x i16>1697 ret <4 x i16> %v1698 1699; CHECK: fun1691700; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val21701; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i16>1702}1703 1704define <4 x i32> @fun170(<4 x i8> %val1, <4 x i8> %val2) {1705 %cmp = icmp eq <4 x i8> %val1, %val21706 %v = zext <4 x i1> %cmp to <4 x i32>1707 ret <4 x i32> %v1708 1709; CHECK: fun1701710; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val21711; CHECK: cost of 3 for instruction: %v = zext <4 x i1> %cmp to <4 x i32>1712}1713 1714define <4 x i64> @fun171(<4 x i8> %val1, <4 x i8> %val2) {1715 %cmp = icmp eq <4 x i8> %val1, %val21716 %v = zext <4 x i1> %cmp to <4 x i64>1717 ret <4 x i64> %v1718 1719; CHECK: fun1711720; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val21721; CHECK: cost of 9 for instruction: %v = zext <4 x i1> %cmp to <4 x i64>1722}1723 1724define <4 x i8> @fun172(<4 x i16> %val1, <4 x i16> %val2) {1725 %cmp = icmp eq <4 x i16> %val1, %val21726 %v = zext <4 x i1> %cmp to <4 x i8>1727 ret <4 x i8> %v1728 1729; CHECK: fun1721730; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val21731; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i8>1732}1733 1734define <4 x i16> @fun173(<4 x i16> %val1, <4 x i16> %val2) {1735 %cmp = icmp eq <4 x i16> %val1, %val21736 %v = zext <4 x i1> %cmp to <4 x i16>1737 ret <4 x i16> %v1738 1739; CHECK: fun1731740; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val21741; CHECK: cost of 1 for instruction: %v = zext <4 x i1> %cmp to <4 x i16>1742}1743 1744define <4 x i32> @fun174(<4 x i16> %val1, <4 x i16> %val2) {1745 %cmp = icmp eq <4 x i16> %val1, %val21746 %v = zext <4 x i1> %cmp to <4 x i32>1747 ret <4 x i32> %v1748 1749; CHECK: fun1741750; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val21751; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i32>1752}1753 1754define <4 x i64> @fun175(<4 x i16> %val1, <4 x i16> %val2) {1755 %cmp = icmp eq <4 x i16> %val1, %val21756 %v = zext <4 x i1> %cmp to <4 x i64>1757 ret <4 x i64> %v1758 1759; CHECK: fun1751760; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val21761; CHECK: cost of 7 for instruction: %v = zext <4 x i1> %cmp to <4 x i64>1762}1763 1764define <4 x i8> @fun176(<4 x i32> %val1, <4 x i32> %val2) {1765 %cmp = icmp eq <4 x i32> %val1, %val21766 %v = zext <4 x i1> %cmp to <4 x i8>1767 ret <4 x i8> %v1768 1769; CHECK: fun1761770; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val21771; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i8>1772}1773 1774define <4 x i16> @fun177(<4 x i32> %val1, <4 x i32> %val2) {1775 %cmp = icmp eq <4 x i32> %val1, %val21776 %v = zext <4 x i1> %cmp to <4 x i16>1777 ret <4 x i16> %v1778 1779; CHECK: fun1771780; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val21781; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i16>1782}1783 1784define <4 x i32> @fun178(<4 x i32> %val1, <4 x i32> %val2) {1785 %cmp = icmp eq <4 x i32> %val1, %val21786 %v = zext <4 x i1> %cmp to <4 x i32>1787 ret <4 x i32> %v1788 1789; CHECK: fun1781790; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val21791; CHECK: cost of 1 for instruction: %v = zext <4 x i1> %cmp to <4 x i32>1792}1793 1794define <4 x i64> @fun179(<4 x i32> %val1, <4 x i32> %val2) {1795 %cmp = icmp eq <4 x i32> %val1, %val21796 %v = zext <4 x i1> %cmp to <4 x i64>1797 ret <4 x i64> %v1798 1799; CHECK: fun1791800; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val21801; CHECK: cost of 5 for instruction: %v = zext <4 x i1> %cmp to <4 x i64>1802}1803 1804define <4 x i8> @fun180(<4 x i64> %val1, <4 x i64> %val2) {1805 %cmp = icmp eq <4 x i64> %val1, %val21806 %v = zext <4 x i1> %cmp to <4 x i8>1807 ret <4 x i8> %v1808 1809; CHECK: fun1801810; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val21811; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i8>1812}1813 1814define <4 x i16> @fun181(<4 x i64> %val1, <4 x i64> %val2) {1815 %cmp = icmp eq <4 x i64> %val1, %val21816 %v = zext <4 x i1> %cmp to <4 x i16>1817 ret <4 x i16> %v1818 1819; CHECK: fun1811820; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val21821; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i16>1822}1823 1824define <4 x i32> @fun182(<4 x i64> %val1, <4 x i64> %val2) {1825 %cmp = icmp eq <4 x i64> %val1, %val21826 %v = zext <4 x i1> %cmp to <4 x i32>1827 ret <4 x i32> %v1828 1829; CHECK: fun1821830; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val21831; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i32>1832}1833 1834define <4 x i64> @fun183(<4 x i64> %val1, <4 x i64> %val2) {1835 %cmp = icmp eq <4 x i64> %val1, %val21836 %v = zext <4 x i1> %cmp to <4 x i64>1837 ret <4 x i64> %v1838 1839; CHECK: fun1831840; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val21841; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i64>1842}1843 1844define <4 x i8> @fun184(<4 x float> %val1, <4 x float> %val2) {1845 %cmp = fcmp ogt <4 x float> %val1, %val21846 %v = zext <4 x i1> %cmp to <4 x i8>1847 ret <4 x i8> %v1848 1849; CHECK: fun1841850; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val21851; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i8>1852}1853 1854define <4 x i16> @fun185(<4 x float> %val1, <4 x float> %val2) {1855 %cmp = fcmp ogt <4 x float> %val1, %val21856 %v = zext <4 x i1> %cmp to <4 x i16>1857 ret <4 x i16> %v1858 1859; CHECK: fun1851860; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val21861; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i16>1862}1863 1864define <4 x i32> @fun186(<4 x float> %val1, <4 x float> %val2) {1865 %cmp = fcmp ogt <4 x float> %val1, %val21866 %v = zext <4 x i1> %cmp to <4 x i32>1867 ret <4 x i32> %v1868 1869; CHECK: fun1861870; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val21871; CHECK: cost of 1 for instruction: %v = zext <4 x i1> %cmp to <4 x i32>1872}1873 1874define <4 x i64> @fun187(<4 x float> %val1, <4 x float> %val2) {1875 %cmp = fcmp ogt <4 x float> %val1, %val21876 %v = zext <4 x i1> %cmp to <4 x i64>1877 ret <4 x i64> %v1878 1879; CHECK: fun1871880; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val21881; CHECK: cost of 5 for instruction: %v = zext <4 x i1> %cmp to <4 x i64>1882}1883 1884define <4 x i8> @fun188(<4 x double> %val1, <4 x double> %val2) {1885 %cmp = fcmp ogt <4 x double> %val1, %val21886 %v = zext <4 x i1> %cmp to <4 x i8>1887 ret <4 x i8> %v1888 1889; CHECK: fun1881890; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val21891; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i8>1892}1893 1894define <4 x i16> @fun189(<4 x double> %val1, <4 x double> %val2) {1895 %cmp = fcmp ogt <4 x double> %val1, %val21896 %v = zext <4 x i1> %cmp to <4 x i16>1897 ret <4 x i16> %v1898 1899; CHECK: fun1891900; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val21901; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i16>1902}1903 1904define <4 x i32> @fun190(<4 x double> %val1, <4 x double> %val2) {1905 %cmp = fcmp ogt <4 x double> %val1, %val21906 %v = zext <4 x i1> %cmp to <4 x i32>1907 ret <4 x i32> %v1908 1909; CHECK: fun1901910; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val21911; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i32>1912}1913 1914define <4 x i64> @fun191(<4 x double> %val1, <4 x double> %val2) {1915 %cmp = fcmp ogt <4 x double> %val1, %val21916 %v = zext <4 x i1> %cmp to <4 x i64>1917 ret <4 x i64> %v1918 1919; CHECK: fun1911920; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val21921; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i64>1922}1923 1924define <8 x i8> @fun192(<8 x i8> %val1, <8 x i8> %val2) {1925 %cmp = icmp eq <8 x i8> %val1, %val21926 %v = zext <8 x i1> %cmp to <8 x i8>1927 ret <8 x i8> %v1928 1929; CHECK: fun1921930; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val21931; CHECK: cost of 1 for instruction: %v = zext <8 x i1> %cmp to <8 x i8>1932}1933 1934define <8 x i16> @fun193(<8 x i8> %val1, <8 x i8> %val2) {1935 %cmp = icmp eq <8 x i8> %val1, %val21936 %v = zext <8 x i1> %cmp to <8 x i16>1937 ret <8 x i16> %v1938 1939; CHECK: fun1931940; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val21941; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i16>1942}1943 1944define <8 x i32> @fun194(<8 x i8> %val1, <8 x i8> %val2) {1945 %cmp = icmp eq <8 x i8> %val1, %val21946 %v = zext <8 x i1> %cmp to <8 x i32>1947 ret <8 x i32> %v1948 1949; CHECK: fun1941950; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val21951; CHECK: cost of 7 for instruction: %v = zext <8 x i1> %cmp to <8 x i32>1952}1953 1954define <8 x i64> @fun195(<8 x i8> %val1, <8 x i8> %val2) {1955 %cmp = icmp eq <8 x i8> %val1, %val21956 %v = zext <8 x i1> %cmp to <8 x i64>1957 ret <8 x i64> %v1958 1959; CHECK: fun1951960; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val21961; CHECK: cost of 19 for instruction: %v = zext <8 x i1> %cmp to <8 x i64>1962}1963 1964define <8 x i8> @fun196(<8 x i16> %val1, <8 x i16> %val2) {1965 %cmp = icmp eq <8 x i16> %val1, %val21966 %v = zext <8 x i1> %cmp to <8 x i8>1967 ret <8 x i8> %v1968 1969; CHECK: fun1961970; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val21971; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i8>1972}1973 1974define <8 x i16> @fun197(<8 x i16> %val1, <8 x i16> %val2) {1975 %cmp = icmp eq <8 x i16> %val1, %val21976 %v = zext <8 x i1> %cmp to <8 x i16>1977 ret <8 x i16> %v1978 1979; CHECK: fun1971980; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val21981; CHECK: cost of 1 for instruction: %v = zext <8 x i1> %cmp to <8 x i16>1982}1983 1984define <8 x i32> @fun198(<8 x i16> %val1, <8 x i16> %val2) {1985 %cmp = icmp eq <8 x i16> %val1, %val21986 %v = zext <8 x i1> %cmp to <8 x i32>1987 ret <8 x i32> %v1988 1989; CHECK: fun1981990; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val21991; CHECK: cost of 5 for instruction: %v = zext <8 x i1> %cmp to <8 x i32>1992}1993 1994define <8 x i64> @fun199(<8 x i16> %val1, <8 x i16> %val2) {1995 %cmp = icmp eq <8 x i16> %val1, %val21996 %v = zext <8 x i1> %cmp to <8 x i64>1997 ret <8 x i64> %v1998 1999; CHECK: fun1992000; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val22001; CHECK: cost of 15 for instruction: %v = zext <8 x i1> %cmp to <8 x i64>2002}2003 2004define <8 x i8> @fun200(<8 x i32> %val1, <8 x i32> %val2) {2005 %cmp = icmp eq <8 x i32> %val1, %val22006 %v = zext <8 x i1> %cmp to <8 x i8>2007 ret <8 x i8> %v2008 2009; CHECK: fun2002010; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val22011; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i8>2012}2013 2014define <8 x i16> @fun201(<8 x i32> %val1, <8 x i32> %val2) {2015 %cmp = icmp eq <8 x i32> %val1, %val22016 %v = zext <8 x i1> %cmp to <8 x i16>2017 ret <8 x i16> %v2018 2019; CHECK: fun2012020; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val22021; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i16>2022}2023 2024define <8 x i32> @fun202(<8 x i32> %val1, <8 x i32> %val2) {2025 %cmp = icmp eq <8 x i32> %val1, %val22026 %v = zext <8 x i1> %cmp to <8 x i32>2027 ret <8 x i32> %v2028 2029; CHECK: fun2022030; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val22031; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i32>2032}2033 2034define <8 x i64> @fun203(<8 x i32> %val1, <8 x i32> %val2) {2035 %cmp = icmp eq <8 x i32> %val1, %val22036 %v = zext <8 x i1> %cmp to <8 x i64>2037 ret <8 x i64> %v2038 2039; CHECK: fun2032040; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val22041; CHECK: cost of 11 for instruction: %v = zext <8 x i1> %cmp to <8 x i64>2042}2043 2044define <8 x i8> @fun204(<8 x i64> %val1, <8 x i64> %val2) {2045 %cmp = icmp eq <8 x i64> %val1, %val22046 %v = zext <8 x i1> %cmp to <8 x i8>2047 ret <8 x i8> %v2048 2049; CHECK: fun2042050; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val22051; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i8>2052}2053 2054define <8 x i16> @fun205(<8 x i64> %val1, <8 x i64> %val2) {2055 %cmp = icmp eq <8 x i64> %val1, %val22056 %v = zext <8 x i1> %cmp to <8 x i16>2057 ret <8 x i16> %v2058 2059; CHECK: fun2052060; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val22061; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i16>2062}2063 2064define <8 x i32> @fun206(<8 x i64> %val1, <8 x i64> %val2) {2065 %cmp = icmp eq <8 x i64> %val1, %val22066 %v = zext <8 x i1> %cmp to <8 x i32>2067 ret <8 x i32> %v2068 2069; CHECK: fun2062070; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val22071; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i32>2072}2073 2074define <8 x i64> @fun207(<8 x i64> %val1, <8 x i64> %val2) {2075 %cmp = icmp eq <8 x i64> %val1, %val22076 %v = zext <8 x i1> %cmp to <8 x i64>2077 ret <8 x i64> %v2078 2079; CHECK: fun2072080; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val22081; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i64>2082}2083 2084define <8 x i8> @fun208(<8 x float> %val1, <8 x float> %val2) {2085 %cmp = fcmp ogt <8 x float> %val1, %val22086 %v = zext <8 x i1> %cmp to <8 x i8>2087 ret <8 x i8> %v2088 2089; CHECK: fun2082090; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val22091; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i8>2092}2093 2094define <8 x i16> @fun209(<8 x float> %val1, <8 x float> %val2) {2095 %cmp = fcmp ogt <8 x float> %val1, %val22096 %v = zext <8 x i1> %cmp to <8 x i16>2097 ret <8 x i16> %v2098 2099; CHECK: fun2092100; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val22101; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i16>2102}2103 2104define <8 x i32> @fun210(<8 x float> %val1, <8 x float> %val2) {2105 %cmp = fcmp ogt <8 x float> %val1, %val22106 %v = zext <8 x i1> %cmp to <8 x i32>2107 ret <8 x i32> %v2108 2109; CHECK: fun2102110; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val22111; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i32>2112}2113 2114define <8 x i64> @fun211(<8 x float> %val1, <8 x float> %val2) {2115 %cmp = fcmp ogt <8 x float> %val1, %val22116 %v = zext <8 x i1> %cmp to <8 x i64>2117 ret <8 x i64> %v2118 2119; CHECK: fun2112120; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val22121; CHECK: cost of 11 for instruction: %v = zext <8 x i1> %cmp to <8 x i64>2122}2123 2124define <8 x i8> @fun212(<8 x double> %val1, <8 x double> %val2) {2125 %cmp = fcmp ogt <8 x double> %val1, %val22126 %v = zext <8 x i1> %cmp to <8 x i8>2127 ret <8 x i8> %v2128 2129; CHECK: fun2122130; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val22131; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i8>2132}2133 2134define <8 x i16> @fun213(<8 x double> %val1, <8 x double> %val2) {2135 %cmp = fcmp ogt <8 x double> %val1, %val22136 %v = zext <8 x i1> %cmp to <8 x i16>2137 ret <8 x i16> %v2138 2139; CHECK: fun2132140; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val22141; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i16>2142}2143 2144define <8 x i32> @fun214(<8 x double> %val1, <8 x double> %val2) {2145 %cmp = fcmp ogt <8 x double> %val1, %val22146 %v = zext <8 x i1> %cmp to <8 x i32>2147 ret <8 x i32> %v2148 2149; CHECK: fun2142150; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val22151; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i32>2152}2153 2154define <8 x i64> @fun215(<8 x double> %val1, <8 x double> %val2) {2155 %cmp = fcmp ogt <8 x double> %val1, %val22156 %v = zext <8 x i1> %cmp to <8 x i64>2157 ret <8 x i64> %v2158 2159; CHECK: fun2152160; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val22161; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i64>2162}2163 2164define <16 x i8> @fun216(<16 x i8> %val1, <16 x i8> %val2) {2165 %cmp = icmp eq <16 x i8> %val1, %val22166 %v = zext <16 x i1> %cmp to <16 x i8>2167 ret <16 x i8> %v2168 2169; CHECK: fun2162170; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val22171; CHECK: cost of 1 for instruction: %v = zext <16 x i1> %cmp to <16 x i8>2172}2173 2174define <16 x i16> @fun217(<16 x i8> %val1, <16 x i8> %val2) {2175 %cmp = icmp eq <16 x i8> %val1, %val22176 %v = zext <16 x i1> %cmp to <16 x i16>2177 ret <16 x i16> %v2178 2179; CHECK: fun2172180; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val22181; CHECK: cost of 5 for instruction: %v = zext <16 x i1> %cmp to <16 x i16>2182}2183 2184define <16 x i32> @fun218(<16 x i8> %val1, <16 x i8> %val2) {2185 %cmp = icmp eq <16 x i8> %val1, %val22186 %v = zext <16 x i1> %cmp to <16 x i32>2187 ret <16 x i32> %v2188 2189; CHECK: fun2182190; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val22191; CHECK: cost of 15 for instruction: %v = zext <16 x i1> %cmp to <16 x i32>2192}2193 2194define <16 x i64> @fun219(<16 x i8> %val1, <16 x i8> %val2) {2195 %cmp = icmp eq <16 x i8> %val1, %val22196 %v = zext <16 x i1> %cmp to <16 x i64>2197 ret <16 x i64> %v2198 2199; CHECK: fun2192200; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val22201; CHECK: cost of 39 for instruction: %v = zext <16 x i1> %cmp to <16 x i64>2202}2203 2204define <16 x i8> @fun220(<16 x i16> %val1, <16 x i16> %val2) {2205 %cmp = icmp eq <16 x i16> %val1, %val22206 %v = zext <16 x i1> %cmp to <16 x i8>2207 ret <16 x i8> %v2208 2209; CHECK: fun2202210; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val22211; CHECK: cost of 2 for instruction: %v = zext <16 x i1> %cmp to <16 x i8>2212}2213 2214define <16 x i16> @fun221(<16 x i16> %val1, <16 x i16> %val2) {2215 %cmp = icmp eq <16 x i16> %val1, %val22216 %v = zext <16 x i1> %cmp to <16 x i16>2217 ret <16 x i16> %v2218 2219; CHECK: fun2212220; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val22221; CHECK: cost of 2 for instruction: %v = zext <16 x i1> %cmp to <16 x i16>2222}2223 2224define <16 x i32> @fun222(<16 x i16> %val1, <16 x i16> %val2) {2225 %cmp = icmp eq <16 x i16> %val1, %val22226 %v = zext <16 x i1> %cmp to <16 x i32>2227 ret <16 x i32> %v2228 2229; CHECK: fun2222230; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val22231; CHECK: cost of 11 for instruction: %v = zext <16 x i1> %cmp to <16 x i32>2232}2233 2234define <16 x i64> @fun223(<16 x i16> %val1, <16 x i16> %val2) {2235 %cmp = icmp eq <16 x i16> %val1, %val22236 %v = zext <16 x i1> %cmp to <16 x i64>2237 ret <16 x i64> %v2238 2239; CHECK: fun2232240; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val22241; CHECK: cost of 31 for instruction: %v = zext <16 x i1> %cmp to <16 x i64>2242}2243 2244define <16 x i8> @fun224(<16 x i32> %val1, <16 x i32> %val2) {2245 %cmp = icmp eq <16 x i32> %val1, %val22246 %v = zext <16 x i1> %cmp to <16 x i8>2247 ret <16 x i8> %v2248 2249; CHECK: fun2242250; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val22251; CHECK: cost of 4 for instruction: %v = zext <16 x i1> %cmp to <16 x i8>2252}2253 2254define <16 x i16> @fun225(<16 x i32> %val1, <16 x i32> %val2) {2255 %cmp = icmp eq <16 x i32> %val1, %val22256 %v = zext <16 x i1> %cmp to <16 x i16>2257 ret <16 x i16> %v2258 2259; CHECK: fun2252260; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val22261; CHECK: cost of 4 for instruction: %v = zext <16 x i1> %cmp to <16 x i16>2262}2263 2264define <16 x i32> @fun226(<16 x i32> %val1, <16 x i32> %val2) {2265 %cmp = icmp eq <16 x i32> %val1, %val22266 %v = zext <16 x i1> %cmp to <16 x i32>2267 ret <16 x i32> %v2268 2269; CHECK: fun2262270; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val22271; CHECK: cost of 4 for instruction: %v = zext <16 x i1> %cmp to <16 x i32>2272}2273 2274define <16 x i64> @fun227(<16 x i32> %val1, <16 x i32> %val2) {2275 %cmp = icmp eq <16 x i32> %val1, %val22276 %v = zext <16 x i1> %cmp to <16 x i64>2277 ret <16 x i64> %v2278 2279; CHECK: fun2272280; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val22281; CHECK: cost of 23 for instruction: %v = zext <16 x i1> %cmp to <16 x i64>2282}2283 2284define <16 x i8> @fun228(<16 x i64> %val1, <16 x i64> %val2) {2285 %cmp = icmp eq <16 x i64> %val1, %val22286 %v = zext <16 x i1> %cmp to <16 x i8>2287 ret <16 x i8> %v2288 2289; CHECK: fun2282290; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val22291; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i8>2292}2293 2294define <16 x i16> @fun229(<16 x i64> %val1, <16 x i64> %val2) {2295 %cmp = icmp eq <16 x i64> %val1, %val22296 %v = zext <16 x i1> %cmp to <16 x i16>2297 ret <16 x i16> %v2298 2299; CHECK: fun2292300; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val22301; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i16>2302}2303 2304define <16 x i32> @fun230(<16 x i64> %val1, <16 x i64> %val2) {2305 %cmp = icmp eq <16 x i64> %val1, %val22306 %v = zext <16 x i1> %cmp to <16 x i32>2307 ret <16 x i32> %v2308 2309; CHECK: fun2302310; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val22311; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i32>2312}2313 2314define <16 x i64> @fun231(<16 x i64> %val1, <16 x i64> %val2) {2315 %cmp = icmp eq <16 x i64> %val1, %val22316 %v = zext <16 x i1> %cmp to <16 x i64>2317 ret <16 x i64> %v2318 2319; CHECK: fun2312320; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val22321; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i64>2322}2323 2324define <16 x i8> @fun232(<16 x float> %val1, <16 x float> %val2) {2325 %cmp = fcmp ogt <16 x float> %val1, %val22326 %v = zext <16 x i1> %cmp to <16 x i8>2327 ret <16 x i8> %v2328 2329; CHECK: fun2322330; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val22331; CHECK: cost of 4 for instruction: %v = zext <16 x i1> %cmp to <16 x i8>2332}2333 2334define <16 x i16> @fun233(<16 x float> %val1, <16 x float> %val2) {2335 %cmp = fcmp ogt <16 x float> %val1, %val22336 %v = zext <16 x i1> %cmp to <16 x i16>2337 ret <16 x i16> %v2338 2339; CHECK: fun2332340; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val22341; CHECK: cost of 4 for instruction: %v = zext <16 x i1> %cmp to <16 x i16>2342}2343 2344define <16 x i32> @fun234(<16 x float> %val1, <16 x float> %val2) {2345 %cmp = fcmp ogt <16 x float> %val1, %val22346 %v = zext <16 x i1> %cmp to <16 x i32>2347 ret <16 x i32> %v2348 2349; CHECK: fun2342350; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val22351; CHECK: cost of 4 for instruction: %v = zext <16 x i1> %cmp to <16 x i32>2352}2353 2354define <16 x i64> @fun235(<16 x float> %val1, <16 x float> %val2) {2355 %cmp = fcmp ogt <16 x float> %val1, %val22356 %v = zext <16 x i1> %cmp to <16 x i64>2357 ret <16 x i64> %v2358 2359; CHECK: fun2352360; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val22361; CHECK: cost of 23 for instruction: %v = zext <16 x i1> %cmp to <16 x i64>2362}2363 2364define <16 x i8> @fun236(<16 x double> %val1, <16 x double> %val2) {2365 %cmp = fcmp ogt <16 x double> %val1, %val22366 %v = zext <16 x i1> %cmp to <16 x i8>2367 ret <16 x i8> %v2368 2369; CHECK: fun2362370; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val22371; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i8>2372}2373 2374define <16 x i16> @fun237(<16 x double> %val1, <16 x double> %val2) {2375 %cmp = fcmp ogt <16 x double> %val1, %val22376 %v = zext <16 x i1> %cmp to <16 x i16>2377 ret <16 x i16> %v2378 2379; CHECK: fun2372380; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val22381; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i16>2382}2383 2384define <16 x i32> @fun238(<16 x double> %val1, <16 x double> %val2) {2385 %cmp = fcmp ogt <16 x double> %val1, %val22386 %v = zext <16 x i1> %cmp to <16 x i32>2387 ret <16 x i32> %v2388 2389; CHECK: fun2382390; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val22391; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i32>2392}2393 2394define <16 x i64> @fun239(<16 x double> %val1, <16 x double> %val2) {2395 %cmp = fcmp ogt <16 x double> %val1, %val22396 %v = zext <16 x i1> %cmp to <16 x i64>2397 ret <16 x i64> %v2398 2399; CHECK: fun2392400; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val22401; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i64>2402}2403 2404