brintos

brintos / llvm-project-archived public Read only

0
0
Text · 75.5 KiB · b182e47 Raw
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