brintos

brintos / llvm-project-archived public Read only

0
0
Text · 133.5 KiB · 76f73e4 Raw
2114 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py2; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=aarch64 < %s | FileCheck %s3 4target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"5 6define void @extaddv1(i8 %i8, i16 %i16, i32 %i32, i64 %i64)  {7; CHECK-LABEL: 'extaddv1'8; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_16 = sext i8 %i8 to i169; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_16 = add i16 %i16, %sw_8_1610; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_16 = sext i8 %i8 to i1611; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_16 = sext i8 %i8 to i1612; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_16 = add i16 %sl1_8_16, %sl2_8_1613; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_16 = zext i8 %i8 to i1614; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_16 = add i16 %i16, %zw_8_1615; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_16 = zext i8 %i8 to i1616; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_16 = zext i8 %i8 to i1617; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_16 = add i16 %zl1_8_16, %zl2_8_1618; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_32 = sext i8 %i8 to i3219; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_32 = add i32 %i32, %sw_8_3220; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_32 = sext i8 %i8 to i3221; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_32 = sext i8 %i8 to i3222; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_32 = add i32 %sl1_8_32, %sl2_8_3223; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_32 = zext i8 %i8 to i3224; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_32 = add i32 %i32, %zw_8_3225; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_32 = zext i8 %i8 to i3226; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_32 = zext i8 %i8 to i3227; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_32 = add i32 %zl1_8_32, %zl2_8_3228; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_64 = sext i8 %i8 to i6429; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_64 = add i64 %i64, %sw_8_6430; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_64 = sext i8 %i8 to i6431; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_64 = sext i8 %i8 to i6432; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_64 = add i64 %sl1_8_64, %sl2_8_6433; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_8_64 = zext i8 %i8 to i6434; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_64 = add i64 %i64, %zw_8_6435; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_64 = zext i8 %i8 to i6436; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_64 = zext i8 %i8 to i6437; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_64 = add i64 %zl1_8_64, %zl2_8_6438; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_16_32 = sext i16 %i16 to i3239; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_16_32 = add i32 %i32, %sw_16_3240; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_16_32 = sext i16 %i16 to i3241; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_16_32 = sext i16 %i16 to i3242; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_16_32 = add i32 %sl1_16_32, %sl2_16_3243; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_16_32 = zext i16 %i16 to i3244; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_16_32 = add i32 %i32, %zw_16_3245; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_16_32 = zext i16 %i16 to i3246; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_16_32 = zext i16 %i16 to i3247; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_16_32 = add i32 %zl1_16_32, %zl2_16_3248; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_16_64 = sext i16 %i16 to i6449; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_16_64 = add i64 %i64, %sw_16_6450; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_16_64 = sext i16 %i16 to i6451; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_16_64 = sext i16 %i16 to i6452; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_16_64 = add i64 %sl1_16_64, %sl2_16_6453; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_16_64 = zext i16 %i16 to i6454; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_16_64 = add i64 %i64, %zw_16_6455; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_64 = zext i16 %i16 to i6456; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_64 = zext i16 %i16 to i6457; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_16_64 = add i64 %zl1_16_64, %zl2_16_6458; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_32_64 = sext i32 %i32 to i6459; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_32_64 = add i64 %i64, %sw_32_6460; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_32_64 = sext i32 %i32 to i6461; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_32_64 = sext i32 %i32 to i6462; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_32_64 = add i64 %sl1_32_64, %sl2_32_6463; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_32_64 = zext i32 %i32 to i6464; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_32_64 = add i64 %i64, %zw_32_6465; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_32_64 = zext i32 %i32 to i6466; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_32_64 = zext i32 %i32 to i6467; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_32_64 = add i64 %zl1_32_64, %zl2_32_6468; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void69;70  %sw_8_16 = sext i8 %i8 to i1671  %asw_8_16 = add i16 %i16, %sw_8_1672  %sl1_8_16 = sext i8 %i8 to i1673  %sl2_8_16 = sext i8 %i8 to i1674  %asl_8_16 = add i16 %sl1_8_16, %sl2_8_1675 76  %zw_8_16 = zext i8 %i8 to i1677  %azw_8_16 = add i16 %i16, %zw_8_1678  %zl1_8_16 = zext i8 %i8 to i1679  %zl2_8_16 = zext i8 %i8 to i1680  %azl_8_16 = add i16 %zl1_8_16, %zl2_8_1681 82  %sw_8_32 = sext i8 %i8 to i3283  %asw_8_32 = add i32 %i32, %sw_8_3284  %sl1_8_32 = sext i8 %i8 to i3285  %sl2_8_32 = sext i8 %i8 to i3286  %asl_8_32 = add i32 %sl1_8_32, %sl2_8_3287 88  %zw_8_32 = zext i8 %i8 to i3289  %azw_8_32 = add i32 %i32, %zw_8_3290  %zl1_8_32 = zext i8 %i8 to i3291  %zl2_8_32 = zext i8 %i8 to i3292  %azl_8_32 = add i32 %zl1_8_32, %zl2_8_3293 94  %sw_8_64 = sext i8 %i8 to i6495  %asw_8_64 = add i64 %i64, %sw_8_6496  %sl1_8_64 = sext i8 %i8 to i6497  %sl2_8_64 = sext i8 %i8 to i6498  %asl_8_64 = add i64 %sl1_8_64, %sl2_8_6499 100  %zw_8_64 = zext i8 %i8 to i64101  %azw_8_64 = add i64 %i64, %zw_8_64102  %zl1_8_64 = zext i8 %i8 to i64103  %zl2_8_64 = zext i8 %i8 to i64104  %azl_8_64 = add i64 %zl1_8_64, %zl2_8_64105 106  %sw_16_32 = sext i16 %i16 to i32107  %asw_16_32 = add i32 %i32, %sw_16_32108  %sl1_16_32 = sext i16 %i16 to i32109  %sl2_16_32 = sext i16 %i16 to i32110  %asl_16_32 = add i32 %sl1_16_32, %sl2_16_32111 112  %zw_16_32 = zext i16 %i16 to i32113  %azw_16_32 = add i32 %i32, %zw_16_32114  %zl1_16_32 = zext i16 %i16 to i32115  %zl2_16_32 = zext i16 %i16 to i32116  %azl_16_32 = add i32 %zl1_16_32, %zl2_16_32117 118  %sw_16_64 = sext i16 %i16 to i64119  %asw_16_64 = add i64 %i64, %sw_16_64120  %sl1_16_64 = sext i16 %i16 to i64121  %sl2_16_64 = sext i16 %i16 to i64122  %asl_16_64 = add i64 %sl1_16_64, %sl2_16_64123 124  %zw_16_64 = zext i16 %i16 to i64125  %azw_16_64 = add i64 %i64, %zw_16_64126  %zl1_16_64 = zext i16 %i16 to i64127  %zl2_16_64 = zext i16 %i16 to i64128  %azl_16_64 = add i64 %zl1_16_64, %zl2_16_64129 130  %sw_32_64 = sext i32 %i32 to i64131  %asw_32_64 = add i64 %i64, %sw_32_64132  %sl1_32_64 = sext i32 %i32 to i64133  %sl2_32_64 = sext i32 %i32 to i64134  %asl_32_64 = add i64 %sl1_32_64, %sl2_32_64135 136  %zw_32_64 = zext i32 %i32 to i64137  %azw_32_64 = add i64 %i64, %zw_32_64138  %zl1_32_64 = zext i32 %i32 to i64139  %zl2_32_64 = zext i32 %i32 to i64140  %azl_32_64 = add i64 %zl1_32_64, %zl2_32_64141 142  ret void143}144 145define void @extaddv2(<2 x i8> %i8, <2 x i16> %i16, <2 x i32> %i32, <2 x i64> %i64)  {146; CHECK-LABEL: 'extaddv2'147; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_16 = sext <2 x i8> %i8 to <2 x i16>148; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_16 = add <2 x i16> %i16, %sw_8_16149; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_16 = sext <2 x i8> %i8 to <2 x i16>150; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_16 = sext <2 x i8> %i8 to <2 x i16>151; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_16 = add <2 x i16> %sl1_8_16, %sl2_8_16152; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_16 = zext <2 x i8> %i8 to <2 x i16>153; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_16 = add <2 x i16> %i16, %zw_8_16154; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_16 = zext <2 x i8> %i8 to <2 x i16>155; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_16 = zext <2 x i8> %i8 to <2 x i16>156; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_16 = add <2 x i16> %zl1_8_16, %zl2_8_16157; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_32 = sext <2 x i8> %i8 to <2 x i32>158; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_32 = add <2 x i32> %i32, %sw_8_32159; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_32 = sext <2 x i8> %i8 to <2 x i32>160; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_32 = sext <2 x i8> %i8 to <2 x i32>161; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_32 = add <2 x i32> %sl1_8_32, %sl2_8_32162; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_32 = zext <2 x i8> %i8 to <2 x i32>163; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_32 = add <2 x i32> %i32, %zw_8_32164; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_32 = zext <2 x i8> %i8 to <2 x i32>165; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_32 = zext <2 x i8> %i8 to <2 x i32>166; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_32 = add <2 x i32> %zl1_8_32, %zl2_8_32167; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_64 = sext <2 x i8> %i8 to <2 x i64>168; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_64 = add <2 x i64> %i64, %sw_8_64169; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_64 = sext <2 x i8> %i8 to <2 x i64>170; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_64 = sext <2 x i8> %i8 to <2 x i64>171; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_64 = add <2 x i64> %sl1_8_64, %sl2_8_64172; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_64 = zext <2 x i8> %i8 to <2 x i64>173; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_64 = add <2 x i64> %i64, %zw_8_64174; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_64 = zext <2 x i8> %i8 to <2 x i64>175; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_64 = zext <2 x i8> %i8 to <2 x i64>176; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_64 = add <2 x i64> %zl1_8_64, %zl2_8_64177; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_16_32 = sext <2 x i16> %i16 to <2 x i32>178; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_16_32 = add <2 x i32> %i32, %sw_16_32179; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_16_32 = sext <2 x i16> %i16 to <2 x i32>180; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_16_32 = sext <2 x i16> %i16 to <2 x i32>181; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_16_32 = add <2 x i32> %sl1_16_32, %sl2_16_32182; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_16_32 = zext <2 x i16> %i16 to <2 x i32>183; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_16_32 = add <2 x i32> %i32, %zw_16_32184; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_16_32 = zext <2 x i16> %i16 to <2 x i32>185; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_16_32 = zext <2 x i16> %i16 to <2 x i32>186; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_16_32 = add <2 x i32> %zl1_16_32, %zl2_16_32187; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_16_64 = sext <2 x i16> %i16 to <2 x i64>188; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_16_64 = add <2 x i64> %i64, %sw_16_64189; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_16_64 = sext <2 x i16> %i16 to <2 x i64>190; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_16_64 = sext <2 x i16> %i16 to <2 x i64>191; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_16_64 = add <2 x i64> %sl1_16_64, %sl2_16_64192; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_16_64 = zext <2 x i16> %i16 to <2 x i64>193; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_16_64 = add <2 x i64> %i64, %zw_16_64194; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_16_64 = zext <2 x i16> %i16 to <2 x i64>195; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_16_64 = zext <2 x i16> %i16 to <2 x i64>196; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_16_64 = add <2 x i64> %zl1_16_64, %zl2_16_64197; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_32_64 = sext <2 x i32> %i32 to <2 x i64>198; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_32_64 = add <2 x i64> %i64, %sw_32_64199; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_32_64 = sext <2 x i32> %i32 to <2 x i64>200; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_32_64 = sext <2 x i32> %i32 to <2 x i64>201; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_32_64 = add <2 x i64> %sl1_32_64, %sl2_32_64202; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_32_64 = zext <2 x i32> %i32 to <2 x i64>203; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_32_64 = add <2 x i64> %i64, %zw_32_64204; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_32_64 = zext <2 x i32> %i32 to <2 x i64>205; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_32_64 = zext <2 x i32> %i32 to <2 x i64>206; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_32_64 = add <2 x i64> %zl1_32_64, %zl2_32_64207; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void208;209  %sw_8_16 = sext <2 x i8> %i8 to <2 x i16>210  %asw_8_16 = add <2 x i16> %i16, %sw_8_16211  %sl1_8_16 = sext <2 x i8> %i8 to <2 x i16>212  %sl2_8_16 = sext <2 x i8> %i8 to <2 x i16>213  %asl_8_16 = add <2 x i16> %sl1_8_16, %sl2_8_16214 215  %zw_8_16 = zext <2 x i8> %i8 to <2 x i16>216  %azw_8_16 = add <2 x i16> %i16, %zw_8_16217  %zl1_8_16 = zext <2 x i8> %i8 to <2 x i16>218  %zl2_8_16 = zext <2 x i8> %i8 to <2 x i16>219  %azl_8_16 = add <2 x i16> %zl1_8_16, %zl2_8_16220 221  %sw_8_32 = sext <2 x i8> %i8 to <2 x i32>222  %asw_8_32 = add <2 x i32> %i32, %sw_8_32223  %sl1_8_32 = sext <2 x i8> %i8 to <2 x i32>224  %sl2_8_32 = sext <2 x i8> %i8 to <2 x i32>225  %asl_8_32 = add <2 x i32> %sl1_8_32, %sl2_8_32226 227  %zw_8_32 = zext <2 x i8> %i8 to <2 x i32>228  %azw_8_32 = add <2 x i32> %i32, %zw_8_32229  %zl1_8_32 = zext <2 x i8> %i8 to <2 x i32>230  %zl2_8_32 = zext <2 x i8> %i8 to <2 x i32>231  %azl_8_32 = add <2 x i32> %zl1_8_32, %zl2_8_32232 233  %sw_8_64 = sext <2 x i8> %i8 to <2 x i64>234  %asw_8_64 = add <2 x i64> %i64, %sw_8_64235  %sl1_8_64 = sext <2 x i8> %i8 to <2 x i64>236  %sl2_8_64 = sext <2 x i8> %i8 to <2 x i64>237  %asl_8_64 = add <2 x i64> %sl1_8_64, %sl2_8_64238 239  %zw_8_64 = zext <2 x i8> %i8 to <2 x i64>240  %azw_8_64 = add <2 x i64> %i64, %zw_8_64241  %zl1_8_64 = zext <2 x i8> %i8 to <2 x i64>242  %zl2_8_64 = zext <2 x i8> %i8 to <2 x i64>243  %azl_8_64 = add <2 x i64> %zl1_8_64, %zl2_8_64244 245  %sw_16_32 = sext <2 x i16> %i16 to <2 x i32>246  %asw_16_32 = add <2 x i32> %i32, %sw_16_32247  %sl1_16_32 = sext <2 x i16> %i16 to <2 x i32>248  %sl2_16_32 = sext <2 x i16> %i16 to <2 x i32>249  %asl_16_32 = add <2 x i32> %sl1_16_32, %sl2_16_32250 251  %zw_16_32 = zext <2 x i16> %i16 to <2 x i32>252  %azw_16_32 = add <2 x i32> %i32, %zw_16_32253  %zl1_16_32 = zext <2 x i16> %i16 to <2 x i32>254  %zl2_16_32 = zext <2 x i16> %i16 to <2 x i32>255  %azl_16_32 = add <2 x i32> %zl1_16_32, %zl2_16_32256 257  %sw_16_64 = sext <2 x i16> %i16 to <2 x i64>258  %asw_16_64 = add <2 x i64> %i64, %sw_16_64259  %sl1_16_64 = sext <2 x i16> %i16 to <2 x i64>260  %sl2_16_64 = sext <2 x i16> %i16 to <2 x i64>261  %asl_16_64 = add <2 x i64> %sl1_16_64, %sl2_16_64262 263  %zw_16_64 = zext <2 x i16> %i16 to <2 x i64>264  %azw_16_64 = add <2 x i64> %i64, %zw_16_64265  %zl1_16_64 = zext <2 x i16> %i16 to <2 x i64>266  %zl2_16_64 = zext <2 x i16> %i16 to <2 x i64>267  %azl_16_64 = add <2 x i64> %zl1_16_64, %zl2_16_64268 269  %sw_32_64 = sext <2 x i32> %i32 to <2 x i64>270  %asw_32_64 = add <2 x i64> %i64, %sw_32_64271  %sl1_32_64 = sext <2 x i32> %i32 to <2 x i64>272  %sl2_32_64 = sext <2 x i32> %i32 to <2 x i64>273  %asl_32_64 = add <2 x i64> %sl1_32_64, %sl2_32_64274 275  %zw_32_64 = zext <2 x i32> %i32 to <2 x i64>276  %azw_32_64 = add <2 x i64> %i64, %zw_32_64277  %zl1_32_64 = zext <2 x i32> %i32 to <2 x i64>278  %zl2_32_64 = zext <2 x i32> %i32 to <2 x i64>279  %azl_32_64 = add <2 x i64> %zl1_32_64, %zl2_32_64280 281  ret void282}283 284define void @extaddv4(<4 x i8> %i8, <4 x i16> %i16, <4 x i32> %i32, <4 x i64> %i64)  {285; CHECK-LABEL: 'extaddv4'286; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_16 = sext <4 x i8> %i8 to <4 x i16>287; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_16 = add <4 x i16> %i16, %sw_8_16288; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_16 = sext <4 x i8> %i8 to <4 x i16>289; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_16 = sext <4 x i8> %i8 to <4 x i16>290; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_16 = add <4 x i16> %sl1_8_16, %sl2_8_16291; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_16 = zext <4 x i8> %i8 to <4 x i16>292; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_16 = add <4 x i16> %i16, %zw_8_16293; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_16 = zext <4 x i8> %i8 to <4 x i16>294; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_16 = zext <4 x i8> %i8 to <4 x i16>295; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_16 = add <4 x i16> %zl1_8_16, %zl2_8_16296; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_32 = sext <4 x i8> %i8 to <4 x i32>297; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_32 = add <4 x i32> %i32, %sw_8_32298; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_32 = sext <4 x i8> %i8 to <4 x i32>299; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_32 = sext <4 x i8> %i8 to <4 x i32>300; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_32 = add <4 x i32> %sl1_8_32, %sl2_8_32301; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_32 = zext <4 x i8> %i8 to <4 x i32>302; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_32 = add <4 x i32> %i32, %zw_8_32303; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_32 = zext <4 x i8> %i8 to <4 x i32>304; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_32 = zext <4 x i8> %i8 to <4 x i32>305; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_32 = add <4 x i32> %zl1_8_32, %zl2_8_32306; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_64 = sext <4 x i8> %i8 to <4 x i64>307; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_64 = add <4 x i64> %i64, %sw_8_64308; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %sl1_8_64 = sext <4 x i8> %i8 to <4 x i64>309; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %sl2_8_64 = sext <4 x i8> %i8 to <4 x i64>310; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_64 = add <4 x i64> %sl1_8_64, %sl2_8_64311; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_64 = zext <4 x i8> %i8 to <4 x i64>312; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_64 = add <4 x i64> %i64, %zw_8_64313; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %zl1_8_64 = zext <4 x i8> %i8 to <4 x i64>314; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %zl2_8_64 = zext <4 x i8> %i8 to <4 x i64>315; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_64 = add <4 x i64> %zl1_8_64, %zl2_8_64316; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_16_32 = sext <4 x i16> %i16 to <4 x i32>317; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_16_32 = add <4 x i32> %i32, %sw_16_32318; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_32 = sext <4 x i16> %i16 to <4 x i32>319; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_32 = sext <4 x i16> %i16 to <4 x i32>320; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_16_32 = add <4 x i32> %sl1_16_32, %sl2_16_32321; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_16_32 = zext <4 x i16> %i16 to <4 x i32>322; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_16_32 = add <4 x i32> %i32, %zw_16_32323; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_32 = zext <4 x i16> %i16 to <4 x i32>324; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_32 = zext <4 x i16> %i16 to <4 x i32>325; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_16_32 = add <4 x i32> %zl1_16_32, %zl2_16_32326; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %sw_16_64 = sext <4 x i16> %i16 to <4 x i64>327; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_64 = add <4 x i64> %i64, %sw_16_64328; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_64 = sext <4 x i16> %i16 to <4 x i64>329; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_64 = sext <4 x i16> %i16 to <4 x i64>330; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_64 = add <4 x i64> %sl1_16_64, %sl2_16_64331; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %zw_16_64 = zext <4 x i16> %i16 to <4 x i64>332; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_64 = add <4 x i64> %i64, %zw_16_64333; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_64 = zext <4 x i16> %i16 to <4 x i64>334; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_64 = zext <4 x i16> %i16 to <4 x i64>335; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_64 = add <4 x i64> %zl1_16_64, %zl2_16_64336; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_32_64 = sext <4 x i32> %i32 to <4 x i64>337; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asw_32_64 = add <4 x i64> %i64, %sw_32_64338; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_32_64 = sext <4 x i32> %i32 to <4 x i64>339; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_32_64 = sext <4 x i32> %i32 to <4 x i64>340; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asl_32_64 = add <4 x i64> %sl1_32_64, %sl2_32_64341; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_32_64 = zext <4 x i32> %i32 to <4 x i64>342; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azw_32_64 = add <4 x i64> %i64, %zw_32_64343; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_32_64 = zext <4 x i32> %i32 to <4 x i64>344; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_32_64 = zext <4 x i32> %i32 to <4 x i64>345; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azl_32_64 = add <4 x i64> %zl1_32_64, %zl2_32_64346; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void347;348  %sw_8_16 = sext <4 x i8> %i8 to <4 x i16>349  %asw_8_16 = add <4 x i16> %i16, %sw_8_16350  %sl1_8_16 = sext <4 x i8> %i8 to <4 x i16>351  %sl2_8_16 = sext <4 x i8> %i8 to <4 x i16>352  %asl_8_16 = add <4 x i16> %sl1_8_16, %sl2_8_16353 354  %zw_8_16 = zext <4 x i8> %i8 to <4 x i16>355  %azw_8_16 = add <4 x i16> %i16, %zw_8_16356  %zl1_8_16 = zext <4 x i8> %i8 to <4 x i16>357  %zl2_8_16 = zext <4 x i8> %i8 to <4 x i16>358  %azl_8_16 = add <4 x i16> %zl1_8_16, %zl2_8_16359 360  %sw_8_32 = sext <4 x i8> %i8 to <4 x i32>361  %asw_8_32 = add <4 x i32> %i32, %sw_8_32362  %sl1_8_32 = sext <4 x i8> %i8 to <4 x i32>363  %sl2_8_32 = sext <4 x i8> %i8 to <4 x i32>364  %asl_8_32 = add <4 x i32> %sl1_8_32, %sl2_8_32365 366  %zw_8_32 = zext <4 x i8> %i8 to <4 x i32>367  %azw_8_32 = add <4 x i32> %i32, %zw_8_32368  %zl1_8_32 = zext <4 x i8> %i8 to <4 x i32>369  %zl2_8_32 = zext <4 x i8> %i8 to <4 x i32>370  %azl_8_32 = add <4 x i32> %zl1_8_32, %zl2_8_32371 372  %sw_8_64 = sext <4 x i8> %i8 to <4 x i64>373  %asw_8_64 = add <4 x i64> %i64, %sw_8_64374  %sl1_8_64 = sext <4 x i8> %i8 to <4 x i64>375  %sl2_8_64 = sext <4 x i8> %i8 to <4 x i64>376  %asl_8_64 = add <4 x i64> %sl1_8_64, %sl2_8_64377 378  %zw_8_64 = zext <4 x i8> %i8 to <4 x i64>379  %azw_8_64 = add <4 x i64> %i64, %zw_8_64380  %zl1_8_64 = zext <4 x i8> %i8 to <4 x i64>381  %zl2_8_64 = zext <4 x i8> %i8 to <4 x i64>382  %azl_8_64 = add <4 x i64> %zl1_8_64, %zl2_8_64383 384  %sw_16_32 = sext <4 x i16> %i16 to <4 x i32>385  %asw_16_32 = add <4 x i32> %i32, %sw_16_32386  %sl1_16_32 = sext <4 x i16> %i16 to <4 x i32>387  %sl2_16_32 = sext <4 x i16> %i16 to <4 x i32>388  %asl_16_32 = add <4 x i32> %sl1_16_32, %sl2_16_32389 390  %zw_16_32 = zext <4 x i16> %i16 to <4 x i32>391  %azw_16_32 = add <4 x i32> %i32, %zw_16_32392  %zl1_16_32 = zext <4 x i16> %i16 to <4 x i32>393  %zl2_16_32 = zext <4 x i16> %i16 to <4 x i32>394  %azl_16_32 = add <4 x i32> %zl1_16_32, %zl2_16_32395 396  %sw_16_64 = sext <4 x i16> %i16 to <4 x i64>397  %asw_16_64 = add <4 x i64> %i64, %sw_16_64398  %sl1_16_64 = sext <4 x i16> %i16 to <4 x i64>399  %sl2_16_64 = sext <4 x i16> %i16 to <4 x i64>400  %asl_16_64 = add <4 x i64> %sl1_16_64, %sl2_16_64401 402  %zw_16_64 = zext <4 x i16> %i16 to <4 x i64>403  %azw_16_64 = add <4 x i64> %i64, %zw_16_64404  %zl1_16_64 = zext <4 x i16> %i16 to <4 x i64>405  %zl2_16_64 = zext <4 x i16> %i16 to <4 x i64>406  %azl_16_64 = add <4 x i64> %zl1_16_64, %zl2_16_64407 408  %sw_32_64 = sext <4 x i32> %i32 to <4 x i64>409  %asw_32_64 = add <4 x i64> %i64, %sw_32_64410  %sl1_32_64 = sext <4 x i32> %i32 to <4 x i64>411  %sl2_32_64 = sext <4 x i32> %i32 to <4 x i64>412  %asl_32_64 = add <4 x i64> %sl1_32_64, %sl2_32_64413 414  %zw_32_64 = zext <4 x i32> %i32 to <4 x i64>415  %azw_32_64 = add <4 x i64> %i64, %zw_32_64416  %zl1_32_64 = zext <4 x i32> %i32 to <4 x i64>417  %zl2_32_64 = zext <4 x i32> %i32 to <4 x i64>418  %azl_32_64 = add <4 x i64> %zl1_32_64, %zl2_32_64419 420  ret void421}422 423define void @extaddv8(<8 x i8> %i8, <8 x i16> %i16, <8 x i32> %i32, <8 x i64> %i64)  {424; CHECK-LABEL: 'extaddv8'425; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_8_16 = sext <8 x i8> %i8 to <8 x i16>426; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_16 = add <8 x i16> %i16, %sw_8_16427; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_16 = sext <8 x i8> %i8 to <8 x i16>428; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_16 = sext <8 x i8> %i8 to <8 x i16>429; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_16 = add <8 x i16> %sl1_8_16, %sl2_8_16430; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_8_16 = zext <8 x i8> %i8 to <8 x i16>431; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_16 = add <8 x i16> %i16, %zw_8_16432; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_16 = zext <8 x i8> %i8 to <8 x i16>433; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_16 = zext <8 x i8> %i8 to <8 x i16>434; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_16 = add <8 x i16> %zl1_8_16, %zl2_8_16435; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_32 = sext <8 x i8> %i8 to <8 x i32>436; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_32 = add <8 x i32> %i32, %sw_8_32437; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_32 = sext <8 x i8> %i8 to <8 x i32>438; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_32 = sext <8 x i8> %i8 to <8 x i32>439; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_32 = add <8 x i32> %sl1_8_32, %sl2_8_32440; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_32 = zext <8 x i8> %i8 to <8 x i32>441; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_32 = add <8 x i32> %i32, %zw_8_32442; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_32 = zext <8 x i8> %i8 to <8 x i32>443; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_32 = zext <8 x i8> %i8 to <8 x i32>444; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_32 = add <8 x i32> %zl1_8_32, %zl2_8_32445; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_64 = sext <8 x i8> %i8 to <8 x i64>446; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_64 = add <8 x i64> %i64, %sw_8_64447; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_64 = sext <8 x i8> %i8 to <8 x i64>448; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_64 = sext <8 x i8> %i8 to <8 x i64>449; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_64 = add <8 x i64> %sl1_8_64, %sl2_8_64450; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_64 = zext <8 x i8> %i8 to <8 x i64>451; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_64 = add <8 x i64> %i64, %zw_8_64452; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_64 = zext <8 x i8> %i8 to <8 x i64>453; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_64 = zext <8 x i8> %i8 to <8 x i64>454; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_64 = add <8 x i64> %zl1_8_64, %zl2_8_64455; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_16_32 = sext <8 x i16> %i16 to <8 x i32>456; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_32 = add <8 x i32> %i32, %sw_16_32457; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_32 = sext <8 x i16> %i16 to <8 x i32>458; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_32 = sext <8 x i16> %i16 to <8 x i32>459; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_32 = add <8 x i32> %sl1_16_32, %sl2_16_32460; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_16_32 = zext <8 x i16> %i16 to <8 x i32>461; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_32 = add <8 x i32> %i32, %zw_16_32462; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_32 = zext <8 x i16> %i16 to <8 x i32>463; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_32 = zext <8 x i16> %i16 to <8 x i32>464; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_32 = add <8 x i32> %zl1_16_32, %zl2_16_32465; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %sw_16_64 = sext <8 x i16> %i16 to <8 x i64>466; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_64 = add <8 x i64> %i64, %sw_16_64467; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_64 = sext <8 x i16> %i16 to <8 x i64>468; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_64 = sext <8 x i16> %i16 to <8 x i64>469; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_64 = add <8 x i64> %sl1_16_64, %sl2_16_64470; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %zw_16_64 = zext <8 x i16> %i16 to <8 x i64>471; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_64 = add <8 x i64> %i64, %zw_16_64472; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_64 = zext <8 x i16> %i16 to <8 x i64>473; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_64 = zext <8 x i16> %i16 to <8 x i64>474; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_64 = add <8 x i64> %zl1_16_64, %zl2_16_64475; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_32_64 = sext <8 x i32> %i32 to <8 x i64>476; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asw_32_64 = add <8 x i64> %i64, %sw_32_64477; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_32_64 = sext <8 x i32> %i32 to <8 x i64>478; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_32_64 = sext <8 x i32> %i32 to <8 x i64>479; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asl_32_64 = add <8 x i64> %sl1_32_64, %sl2_32_64480; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_32_64 = zext <8 x i32> %i32 to <8 x i64>481; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azw_32_64 = add <8 x i64> %i64, %zw_32_64482; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_32_64 = zext <8 x i32> %i32 to <8 x i64>483; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_32_64 = zext <8 x i32> %i32 to <8 x i64>484; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azl_32_64 = add <8 x i64> %zl1_32_64, %zl2_32_64485; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void486;487  %sw_8_16 = sext <8 x i8> %i8 to <8 x i16>488  %asw_8_16 = add <8 x i16> %i16, %sw_8_16489  %sl1_8_16 = sext <8 x i8> %i8 to <8 x i16>490  %sl2_8_16 = sext <8 x i8> %i8 to <8 x i16>491  %asl_8_16 = add <8 x i16> %sl1_8_16, %sl2_8_16492 493  %zw_8_16 = zext <8 x i8> %i8 to <8 x i16>494  %azw_8_16 = add <8 x i16> %i16, %zw_8_16495  %zl1_8_16 = zext <8 x i8> %i8 to <8 x i16>496  %zl2_8_16 = zext <8 x i8> %i8 to <8 x i16>497  %azl_8_16 = add <8 x i16> %zl1_8_16, %zl2_8_16498 499  %sw_8_32 = sext <8 x i8> %i8 to <8 x i32>500  %asw_8_32 = add <8 x i32> %i32, %sw_8_32501  %sl1_8_32 = sext <8 x i8> %i8 to <8 x i32>502  %sl2_8_32 = sext <8 x i8> %i8 to <8 x i32>503  %asl_8_32 = add <8 x i32> %sl1_8_32, %sl2_8_32504 505  %zw_8_32 = zext <8 x i8> %i8 to <8 x i32>506  %azw_8_32 = add <8 x i32> %i32, %zw_8_32507  %zl1_8_32 = zext <8 x i8> %i8 to <8 x i32>508  %zl2_8_32 = zext <8 x i8> %i8 to <8 x i32>509  %azl_8_32 = add <8 x i32> %zl1_8_32, %zl2_8_32510 511  %sw_8_64 = sext <8 x i8> %i8 to <8 x i64>512  %asw_8_64 = add <8 x i64> %i64, %sw_8_64513  %sl1_8_64 = sext <8 x i8> %i8 to <8 x i64>514  %sl2_8_64 = sext <8 x i8> %i8 to <8 x i64>515  %asl_8_64 = add <8 x i64> %sl1_8_64, %sl2_8_64516 517  %zw_8_64 = zext <8 x i8> %i8 to <8 x i64>518  %azw_8_64 = add <8 x i64> %i64, %zw_8_64519  %zl1_8_64 = zext <8 x i8> %i8 to <8 x i64>520  %zl2_8_64 = zext <8 x i8> %i8 to <8 x i64>521  %azl_8_64 = add <8 x i64> %zl1_8_64, %zl2_8_64522 523  %sw_16_32 = sext <8 x i16> %i16 to <8 x i32>524  %asw_16_32 = add <8 x i32> %i32, %sw_16_32525  %sl1_16_32 = sext <8 x i16> %i16 to <8 x i32>526  %sl2_16_32 = sext <8 x i16> %i16 to <8 x i32>527  %asl_16_32 = add <8 x i32> %sl1_16_32, %sl2_16_32528 529  %zw_16_32 = zext <8 x i16> %i16 to <8 x i32>530  %azw_16_32 = add <8 x i32> %i32, %zw_16_32531  %zl1_16_32 = zext <8 x i16> %i16 to <8 x i32>532  %zl2_16_32 = zext <8 x i16> %i16 to <8 x i32>533  %azl_16_32 = add <8 x i32> %zl1_16_32, %zl2_16_32534 535  %sw_16_64 = sext <8 x i16> %i16 to <8 x i64>536  %asw_16_64 = add <8 x i64> %i64, %sw_16_64537  %sl1_16_64 = sext <8 x i16> %i16 to <8 x i64>538  %sl2_16_64 = sext <8 x i16> %i16 to <8 x i64>539  %asl_16_64 = add <8 x i64> %sl1_16_64, %sl2_16_64540 541  %zw_16_64 = zext <8 x i16> %i16 to <8 x i64>542  %azw_16_64 = add <8 x i64> %i64, %zw_16_64543  %zl1_16_64 = zext <8 x i16> %i16 to <8 x i64>544  %zl2_16_64 = zext <8 x i16> %i16 to <8 x i64>545  %azl_16_64 = add <8 x i64> %zl1_16_64, %zl2_16_64546 547  %sw_32_64 = sext <8 x i32> %i32 to <8 x i64>548  %asw_32_64 = add <8 x i64> %i64, %sw_32_64549  %sl1_32_64 = sext <8 x i32> %i32 to <8 x i64>550  %sl2_32_64 = sext <8 x i32> %i32 to <8 x i64>551  %asl_32_64 = add <8 x i64> %sl1_32_64, %sl2_32_64552 553  %zw_32_64 = zext <8 x i32> %i32 to <8 x i64>554  %azw_32_64 = add <8 x i64> %i64, %zw_32_64555  %zl1_32_64 = zext <8 x i32> %i32 to <8 x i64>556  %zl2_32_64 = zext <8 x i32> %i32 to <8 x i64>557  %azl_32_64 = add <8 x i64> %zl1_32_64, %zl2_32_64558 559  ret void560}561 562define void @extaddv16(<16 x i8> %i8, <16 x i16> %i16, <16 x i32> %i32, <16 x i64> %i64)  {563; CHECK-LABEL: 'extaddv16'564; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_8_16 = sext <16 x i8> %i8 to <16 x i16>565; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_16 = add <16 x i16> %i16, %sw_8_16566; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_16 = sext <16 x i8> %i8 to <16 x i16>567; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_16 = sext <16 x i8> %i8 to <16 x i16>568; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_16 = add <16 x i16> %sl1_8_16, %sl2_8_16569; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_8_16 = zext <16 x i8> %i8 to <16 x i16>570; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_16 = add <16 x i16> %i16, %zw_8_16571; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_16 = zext <16 x i8> %i8 to <16 x i16>572; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_16 = zext <16 x i8> %i8 to <16 x i16>573; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_16 = add <16 x i16> %zl1_8_16, %zl2_8_16574; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_32 = sext <16 x i8> %i8 to <16 x i32>575; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_32 = add <16 x i32> %i32, %sw_8_32576; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_32 = sext <16 x i8> %i8 to <16 x i32>577; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_32 = sext <16 x i8> %i8 to <16 x i32>578; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_32 = add <16 x i32> %sl1_8_32, %sl2_8_32579; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_32 = zext <16 x i8> %i8 to <16 x i32>580; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_32 = add <16 x i32> %i32, %zw_8_32581; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_32 = zext <16 x i8> %i8 to <16 x i32>582; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_32 = zext <16 x i8> %i8 to <16 x i32>583; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_32 = add <16 x i32> %zl1_8_32, %zl2_8_32584; CHECK-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_64 = sext <16 x i8> %i8 to <16 x i64>585; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_64 = add <16 x i64> %i64, %sw_8_64586; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_64 = sext <16 x i8> %i8 to <16 x i64>587; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_64 = sext <16 x i8> %i8 to <16 x i64>588; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_64 = add <16 x i64> %sl1_8_64, %sl2_8_64589; CHECK-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_64 = zext <16 x i8> %i8 to <16 x i64>590; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_64 = add <16 x i64> %i64, %zw_8_64591; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_64 = zext <16 x i8> %i8 to <16 x i64>592; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_64 = zext <16 x i8> %i8 to <16 x i64>593; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_64 = add <16 x i64> %zl1_8_64, %zl2_8_64594; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_16_32 = sext <16 x i16> %i16 to <16 x i32>595; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_32 = add <16 x i32> %i32, %sw_16_32596; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_32 = sext <16 x i16> %i16 to <16 x i32>597; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_32 = sext <16 x i16> %i16 to <16 x i32>598; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_32 = add <16 x i32> %sl1_16_32, %sl2_16_32599; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_16_32 = zext <16 x i16> %i16 to <16 x i32>600; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_32 = add <16 x i32> %i32, %zw_16_32601; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_32 = zext <16 x i16> %i16 to <16 x i32>602; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_32 = zext <16 x i16> %i16 to <16 x i32>603; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_32 = add <16 x i32> %zl1_16_32, %zl2_16_32604; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %sw_16_64 = sext <16 x i16> %i16 to <16 x i64>605; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_64 = add <16 x i64> %i64, %sw_16_64606; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_64 = sext <16 x i16> %i16 to <16 x i64>607; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_64 = sext <16 x i16> %i16 to <16 x i64>608; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_64 = add <16 x i64> %sl1_16_64, %sl2_16_64609; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %zw_16_64 = zext <16 x i16> %i16 to <16 x i64>610; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_64 = add <16 x i64> %i64, %zw_16_64611; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_64 = zext <16 x i16> %i16 to <16 x i64>612; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_64 = zext <16 x i16> %i16 to <16 x i64>613; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_64 = add <16 x i64> %zl1_16_64, %zl2_16_64614; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_32_64 = sext <16 x i32> %i32 to <16 x i64>615; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %asw_32_64 = add <16 x i64> %i64, %sw_32_64616; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_32_64 = sext <16 x i32> %i32 to <16 x i64>617; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_32_64 = sext <16 x i32> %i32 to <16 x i64>618; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %asl_32_64 = add <16 x i64> %sl1_32_64, %sl2_32_64619; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_32_64 = zext <16 x i32> %i32 to <16 x i64>620; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %azw_32_64 = add <16 x i64> %i64, %zw_32_64621; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_32_64 = zext <16 x i32> %i32 to <16 x i64>622; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_32_64 = zext <16 x i32> %i32 to <16 x i64>623; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %azl_32_64 = add <16 x i64> %zl1_32_64, %zl2_32_64624; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void625;626  %sw_8_16 = sext <16 x i8> %i8 to <16 x i16>627  %asw_8_16 = add <16 x i16> %i16, %sw_8_16628  %sl1_8_16 = sext <16 x i8> %i8 to <16 x i16>629  %sl2_8_16 = sext <16 x i8> %i8 to <16 x i16>630  %asl_8_16 = add <16 x i16> %sl1_8_16, %sl2_8_16631 632  %zw_8_16 = zext <16 x i8> %i8 to <16 x i16>633  %azw_8_16 = add <16 x i16> %i16, %zw_8_16634  %zl1_8_16 = zext <16 x i8> %i8 to <16 x i16>635  %zl2_8_16 = zext <16 x i8> %i8 to <16 x i16>636  %azl_8_16 = add <16 x i16> %zl1_8_16, %zl2_8_16637 638  %sw_8_32 = sext <16 x i8> %i8 to <16 x i32>639  %asw_8_32 = add <16 x i32> %i32, %sw_8_32640  %sl1_8_32 = sext <16 x i8> %i8 to <16 x i32>641  %sl2_8_32 = sext <16 x i8> %i8 to <16 x i32>642  %asl_8_32 = add <16 x i32> %sl1_8_32, %sl2_8_32643 644  %zw_8_32 = zext <16 x i8> %i8 to <16 x i32>645  %azw_8_32 = add <16 x i32> %i32, %zw_8_32646  %zl1_8_32 = zext <16 x i8> %i8 to <16 x i32>647  %zl2_8_32 = zext <16 x i8> %i8 to <16 x i32>648  %azl_8_32 = add <16 x i32> %zl1_8_32, %zl2_8_32649 650  %sw_8_64 = sext <16 x i8> %i8 to <16 x i64>651  %asw_8_64 = add <16 x i64> %i64, %sw_8_64652  %sl1_8_64 = sext <16 x i8> %i8 to <16 x i64>653  %sl2_8_64 = sext <16 x i8> %i8 to <16 x i64>654  %asl_8_64 = add <16 x i64> %sl1_8_64, %sl2_8_64655 656  %zw_8_64 = zext <16 x i8> %i8 to <16 x i64>657  %azw_8_64 = add <16 x i64> %i64, %zw_8_64658  %zl1_8_64 = zext <16 x i8> %i8 to <16 x i64>659  %zl2_8_64 = zext <16 x i8> %i8 to <16 x i64>660  %azl_8_64 = add <16 x i64> %zl1_8_64, %zl2_8_64661 662  %sw_16_32 = sext <16 x i16> %i16 to <16 x i32>663  %asw_16_32 = add <16 x i32> %i32, %sw_16_32664  %sl1_16_32 = sext <16 x i16> %i16 to <16 x i32>665  %sl2_16_32 = sext <16 x i16> %i16 to <16 x i32>666  %asl_16_32 = add <16 x i32> %sl1_16_32, %sl2_16_32667 668  %zw_16_32 = zext <16 x i16> %i16 to <16 x i32>669  %azw_16_32 = add <16 x i32> %i32, %zw_16_32670  %zl1_16_32 = zext <16 x i16> %i16 to <16 x i32>671  %zl2_16_32 = zext <16 x i16> %i16 to <16 x i32>672  %azl_16_32 = add <16 x i32> %zl1_16_32, %zl2_16_32673 674  %sw_16_64 = sext <16 x i16> %i16 to <16 x i64>675  %asw_16_64 = add <16 x i64> %i64, %sw_16_64676  %sl1_16_64 = sext <16 x i16> %i16 to <16 x i64>677  %sl2_16_64 = sext <16 x i16> %i16 to <16 x i64>678  %asl_16_64 = add <16 x i64> %sl1_16_64, %sl2_16_64679 680  %zw_16_64 = zext <16 x i16> %i16 to <16 x i64>681  %azw_16_64 = add <16 x i64> %i64, %zw_16_64682  %zl1_16_64 = zext <16 x i16> %i16 to <16 x i64>683  %zl2_16_64 = zext <16 x i16> %i16 to <16 x i64>684  %azl_16_64 = add <16 x i64> %zl1_16_64, %zl2_16_64685 686  %sw_32_64 = sext <16 x i32> %i32 to <16 x i64>687  %asw_32_64 = add <16 x i64> %i64, %sw_32_64688  %sl1_32_64 = sext <16 x i32> %i32 to <16 x i64>689  %sl2_32_64 = sext <16 x i32> %i32 to <16 x i64>690  %asl_32_64 = add <16 x i64> %sl1_32_64, %sl2_32_64691 692  %zw_32_64 = zext <16 x i32> %i32 to <16 x i64>693  %azw_32_64 = add <16 x i64> %i64, %zw_32_64694  %zl1_32_64 = zext <16 x i32> %i32 to <16 x i64>695  %zl2_32_64 = zext <16 x i32> %i32 to <16 x i64>696  %azl_32_64 = add <16 x i64> %zl1_32_64, %zl2_32_64697 698  ret void699}700 701define void @extsubv1(i8 %i8, i16 %i16, i32 %i32, i64 %i64)  {702; CHECK-LABEL: 'extsubv1'703; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_16 = sext i8 %i8 to i16704; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_16 = sub i16 %i16, %sw_8_16705; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_16 = sext i8 %i8 to i16706; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_16 = sext i8 %i8 to i16707; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_16 = sub i16 %sl1_8_16, %sl2_8_16708; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_16 = zext i8 %i8 to i16709; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_16 = sub i16 %i16, %zw_8_16710; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_16 = zext i8 %i8 to i16711; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_16 = zext i8 %i8 to i16712; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_16 = sub i16 %zl1_8_16, %zl2_8_16713; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_32 = sext i8 %i8 to i32714; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_32 = sub i32 %i32, %sw_8_32715; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_32 = sext i8 %i8 to i32716; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_32 = sext i8 %i8 to i32717; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_32 = sub i32 %sl1_8_32, %sl2_8_32718; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_32 = zext i8 %i8 to i32719; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_32 = sub i32 %i32, %zw_8_32720; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_32 = zext i8 %i8 to i32721; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_32 = zext i8 %i8 to i32722; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_32 = sub i32 %zl1_8_32, %zl2_8_32723; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_64 = sext i8 %i8 to i64724; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_64 = sub i64 %i64, %sw_8_64725; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_64 = sext i8 %i8 to i64726; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_64 = sext i8 %i8 to i64727; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_64 = sub i64 %sl1_8_64, %sl2_8_64728; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_8_64 = zext i8 %i8 to i64729; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_64 = sub i64 %i64, %zw_8_64730; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_64 = zext i8 %i8 to i64731; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_64 = zext i8 %i8 to i64732; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_64 = sub i64 %zl1_8_64, %zl2_8_64733; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_16_32 = sext i16 %i16 to i32734; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_16_32 = sub i32 %i32, %sw_16_32735; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_16_32 = sext i16 %i16 to i32736; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_16_32 = sext i16 %i16 to i32737; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_16_32 = sub i32 %sl1_16_32, %sl2_16_32738; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_16_32 = zext i16 %i16 to i32739; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_16_32 = sub i32 %i32, %zw_16_32740; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_16_32 = zext i16 %i16 to i32741; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_16_32 = zext i16 %i16 to i32742; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_16_32 = sub i32 %zl1_16_32, %zl2_16_32743; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_16_64 = sext i16 %i16 to i64744; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_16_64 = sub i64 %i64, %sw_16_64745; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_16_64 = sext i16 %i16 to i64746; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_16_64 = sext i16 %i16 to i64747; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_16_64 = sub i64 %sl1_16_64, %sl2_16_64748; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_16_64 = zext i16 %i16 to i64749; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_16_64 = sub i64 %i64, %zw_16_64750; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_64 = zext i16 %i16 to i64751; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_64 = zext i16 %i16 to i64752; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_16_64 = sub i64 %zl1_16_64, %zl2_16_64753; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_32_64 = sext i32 %i32 to i64754; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_32_64 = sub i64 %i64, %sw_32_64755; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_32_64 = sext i32 %i32 to i64756; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_32_64 = sext i32 %i32 to i64757; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_32_64 = sub i64 %sl1_32_64, %sl2_32_64758; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_32_64 = zext i32 %i32 to i64759; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_32_64 = sub i64 %i64, %zw_32_64760; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_32_64 = zext i32 %i32 to i64761; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_32_64 = zext i32 %i32 to i64762; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_32_64 = sub i64 %zl1_32_64, %zl2_32_64763; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void764;765  %sw_8_16 = sext i8 %i8 to i16766  %asw_8_16 = sub i16 %i16, %sw_8_16767  %sl1_8_16 = sext i8 %i8 to i16768  %sl2_8_16 = sext i8 %i8 to i16769  %asl_8_16 = sub i16 %sl1_8_16, %sl2_8_16770 771  %zw_8_16 = zext i8 %i8 to i16772  %azw_8_16 = sub i16 %i16, %zw_8_16773  %zl1_8_16 = zext i8 %i8 to i16774  %zl2_8_16 = zext i8 %i8 to i16775  %azl_8_16 = sub i16 %zl1_8_16, %zl2_8_16776 777  %sw_8_32 = sext i8 %i8 to i32778  %asw_8_32 = sub i32 %i32, %sw_8_32779  %sl1_8_32 = sext i8 %i8 to i32780  %sl2_8_32 = sext i8 %i8 to i32781  %asl_8_32 = sub i32 %sl1_8_32, %sl2_8_32782 783  %zw_8_32 = zext i8 %i8 to i32784  %azw_8_32 = sub i32 %i32, %zw_8_32785  %zl1_8_32 = zext i8 %i8 to i32786  %zl2_8_32 = zext i8 %i8 to i32787  %azl_8_32 = sub i32 %zl1_8_32, %zl2_8_32788 789  %sw_8_64 = sext i8 %i8 to i64790  %asw_8_64 = sub i64 %i64, %sw_8_64791  %sl1_8_64 = sext i8 %i8 to i64792  %sl2_8_64 = sext i8 %i8 to i64793  %asl_8_64 = sub i64 %sl1_8_64, %sl2_8_64794 795  %zw_8_64 = zext i8 %i8 to i64796  %azw_8_64 = sub i64 %i64, %zw_8_64797  %zl1_8_64 = zext i8 %i8 to i64798  %zl2_8_64 = zext i8 %i8 to i64799  %azl_8_64 = sub i64 %zl1_8_64, %zl2_8_64800 801  %sw_16_32 = sext i16 %i16 to i32802  %asw_16_32 = sub i32 %i32, %sw_16_32803  %sl1_16_32 = sext i16 %i16 to i32804  %sl2_16_32 = sext i16 %i16 to i32805  %asl_16_32 = sub i32 %sl1_16_32, %sl2_16_32806 807  %zw_16_32 = zext i16 %i16 to i32808  %azw_16_32 = sub i32 %i32, %zw_16_32809  %zl1_16_32 = zext i16 %i16 to i32810  %zl2_16_32 = zext i16 %i16 to i32811  %azl_16_32 = sub i32 %zl1_16_32, %zl2_16_32812 813  %sw_16_64 = sext i16 %i16 to i64814  %asw_16_64 = sub i64 %i64, %sw_16_64815  %sl1_16_64 = sext i16 %i16 to i64816  %sl2_16_64 = sext i16 %i16 to i64817  %asl_16_64 = sub i64 %sl1_16_64, %sl2_16_64818 819  %zw_16_64 = zext i16 %i16 to i64820  %azw_16_64 = sub i64 %i64, %zw_16_64821  %zl1_16_64 = zext i16 %i16 to i64822  %zl2_16_64 = zext i16 %i16 to i64823  %azl_16_64 = sub i64 %zl1_16_64, %zl2_16_64824 825  %sw_32_64 = sext i32 %i32 to i64826  %asw_32_64 = sub i64 %i64, %sw_32_64827  %sl1_32_64 = sext i32 %i32 to i64828  %sl2_32_64 = sext i32 %i32 to i64829  %asl_32_64 = sub i64 %sl1_32_64, %sl2_32_64830 831  %zw_32_64 = zext i32 %i32 to i64832  %azw_32_64 = sub i64 %i64, %zw_32_64833  %zl1_32_64 = zext i32 %i32 to i64834  %zl2_32_64 = zext i32 %i32 to i64835  %azl_32_64 = sub i64 %zl1_32_64, %zl2_32_64836 837  ret void838}839 840define void @extsubv2(<2 x i8> %i8, <2 x i16> %i16, <2 x i32> %i32, <2 x i64> %i64)  {841; CHECK-LABEL: 'extsubv2'842; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_16 = sext <2 x i8> %i8 to <2 x i16>843; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_16 = sub <2 x i16> %i16, %sw_8_16844; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_16 = sext <2 x i8> %i8 to <2 x i16>845; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_16 = sext <2 x i8> %i8 to <2 x i16>846; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_16 = sub <2 x i16> %sl1_8_16, %sl2_8_16847; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_16 = zext <2 x i8> %i8 to <2 x i16>848; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_16 = sub <2 x i16> %i16, %zw_8_16849; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_16 = zext <2 x i8> %i8 to <2 x i16>850; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_16 = zext <2 x i8> %i8 to <2 x i16>851; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_16 = sub <2 x i16> %zl1_8_16, %zl2_8_16852; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_32 = sext <2 x i8> %i8 to <2 x i32>853; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_32 = sub <2 x i32> %i32, %sw_8_32854; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_32 = sext <2 x i8> %i8 to <2 x i32>855; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_32 = sext <2 x i8> %i8 to <2 x i32>856; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_32 = sub <2 x i32> %sl1_8_32, %sl2_8_32857; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_32 = zext <2 x i8> %i8 to <2 x i32>858; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_32 = sub <2 x i32> %i32, %zw_8_32859; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_32 = zext <2 x i8> %i8 to <2 x i32>860; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_32 = zext <2 x i8> %i8 to <2 x i32>861; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_32 = sub <2 x i32> %zl1_8_32, %zl2_8_32862; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_64 = sext <2 x i8> %i8 to <2 x i64>863; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_64 = sub <2 x i64> %i64, %sw_8_64864; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_64 = sext <2 x i8> %i8 to <2 x i64>865; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_64 = sext <2 x i8> %i8 to <2 x i64>866; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_64 = sub <2 x i64> %sl1_8_64, %sl2_8_64867; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_64 = zext <2 x i8> %i8 to <2 x i64>868; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_64 = sub <2 x i64> %i64, %zw_8_64869; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_64 = zext <2 x i8> %i8 to <2 x i64>870; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_64 = zext <2 x i8> %i8 to <2 x i64>871; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_64 = sub <2 x i64> %zl1_8_64, %zl2_8_64872; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_16_32 = sext <2 x i16> %i16 to <2 x i32>873; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_16_32 = sub <2 x i32> %i32, %sw_16_32874; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_16_32 = sext <2 x i16> %i16 to <2 x i32>875; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_16_32 = sext <2 x i16> %i16 to <2 x i32>876; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_16_32 = sub <2 x i32> %sl1_16_32, %sl2_16_32877; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_16_32 = zext <2 x i16> %i16 to <2 x i32>878; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_16_32 = sub <2 x i32> %i32, %zw_16_32879; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_16_32 = zext <2 x i16> %i16 to <2 x i32>880; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_16_32 = zext <2 x i16> %i16 to <2 x i32>881; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_16_32 = sub <2 x i32> %zl1_16_32, %zl2_16_32882; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_16_64 = sext <2 x i16> %i16 to <2 x i64>883; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_16_64 = sub <2 x i64> %i64, %sw_16_64884; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_16_64 = sext <2 x i16> %i16 to <2 x i64>885; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_16_64 = sext <2 x i16> %i16 to <2 x i64>886; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_16_64 = sub <2 x i64> %sl1_16_64, %sl2_16_64887; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_16_64 = zext <2 x i16> %i16 to <2 x i64>888; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_16_64 = sub <2 x i64> %i64, %zw_16_64889; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_16_64 = zext <2 x i16> %i16 to <2 x i64>890; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_16_64 = zext <2 x i16> %i16 to <2 x i64>891; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_16_64 = sub <2 x i64> %zl1_16_64, %zl2_16_64892; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_32_64 = sext <2 x i32> %i32 to <2 x i64>893; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_32_64 = sub <2 x i64> %i64, %sw_32_64894; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_32_64 = sext <2 x i32> %i32 to <2 x i64>895; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_32_64 = sext <2 x i32> %i32 to <2 x i64>896; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_32_64 = sub <2 x i64> %sl1_32_64, %sl2_32_64897; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_32_64 = zext <2 x i32> %i32 to <2 x i64>898; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_32_64 = sub <2 x i64> %i64, %zw_32_64899; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_32_64 = zext <2 x i32> %i32 to <2 x i64>900; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_32_64 = zext <2 x i32> %i32 to <2 x i64>901; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_32_64 = sub <2 x i64> %zl1_32_64, %zl2_32_64902; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void903;904  %sw_8_16 = sext <2 x i8> %i8 to <2 x i16>905  %asw_8_16 = sub <2 x i16> %i16, %sw_8_16906  %sl1_8_16 = sext <2 x i8> %i8 to <2 x i16>907  %sl2_8_16 = sext <2 x i8> %i8 to <2 x i16>908  %asl_8_16 = sub <2 x i16> %sl1_8_16, %sl2_8_16909 910  %zw_8_16 = zext <2 x i8> %i8 to <2 x i16>911  %azw_8_16 = sub <2 x i16> %i16, %zw_8_16912  %zl1_8_16 = zext <2 x i8> %i8 to <2 x i16>913  %zl2_8_16 = zext <2 x i8> %i8 to <2 x i16>914  %azl_8_16 = sub <2 x i16> %zl1_8_16, %zl2_8_16915 916  %sw_8_32 = sext <2 x i8> %i8 to <2 x i32>917  %asw_8_32 = sub <2 x i32> %i32, %sw_8_32918  %sl1_8_32 = sext <2 x i8> %i8 to <2 x i32>919  %sl2_8_32 = sext <2 x i8> %i8 to <2 x i32>920  %asl_8_32 = sub <2 x i32> %sl1_8_32, %sl2_8_32921 922  %zw_8_32 = zext <2 x i8> %i8 to <2 x i32>923  %azw_8_32 = sub <2 x i32> %i32, %zw_8_32924  %zl1_8_32 = zext <2 x i8> %i8 to <2 x i32>925  %zl2_8_32 = zext <2 x i8> %i8 to <2 x i32>926  %azl_8_32 = sub <2 x i32> %zl1_8_32, %zl2_8_32927 928  %sw_8_64 = sext <2 x i8> %i8 to <2 x i64>929  %asw_8_64 = sub <2 x i64> %i64, %sw_8_64930  %sl1_8_64 = sext <2 x i8> %i8 to <2 x i64>931  %sl2_8_64 = sext <2 x i8> %i8 to <2 x i64>932  %asl_8_64 = sub <2 x i64> %sl1_8_64, %sl2_8_64933 934  %zw_8_64 = zext <2 x i8> %i8 to <2 x i64>935  %azw_8_64 = sub <2 x i64> %i64, %zw_8_64936  %zl1_8_64 = zext <2 x i8> %i8 to <2 x i64>937  %zl2_8_64 = zext <2 x i8> %i8 to <2 x i64>938  %azl_8_64 = sub <2 x i64> %zl1_8_64, %zl2_8_64939 940  %sw_16_32 = sext <2 x i16> %i16 to <2 x i32>941  %asw_16_32 = sub <2 x i32> %i32, %sw_16_32942  %sl1_16_32 = sext <2 x i16> %i16 to <2 x i32>943  %sl2_16_32 = sext <2 x i16> %i16 to <2 x i32>944  %asl_16_32 = sub <2 x i32> %sl1_16_32, %sl2_16_32945 946  %zw_16_32 = zext <2 x i16> %i16 to <2 x i32>947  %azw_16_32 = sub <2 x i32> %i32, %zw_16_32948  %zl1_16_32 = zext <2 x i16> %i16 to <2 x i32>949  %zl2_16_32 = zext <2 x i16> %i16 to <2 x i32>950  %azl_16_32 = sub <2 x i32> %zl1_16_32, %zl2_16_32951 952  %sw_16_64 = sext <2 x i16> %i16 to <2 x i64>953  %asw_16_64 = sub <2 x i64> %i64, %sw_16_64954  %sl1_16_64 = sext <2 x i16> %i16 to <2 x i64>955  %sl2_16_64 = sext <2 x i16> %i16 to <2 x i64>956  %asl_16_64 = sub <2 x i64> %sl1_16_64, %sl2_16_64957 958  %zw_16_64 = zext <2 x i16> %i16 to <2 x i64>959  %azw_16_64 = sub <2 x i64> %i64, %zw_16_64960  %zl1_16_64 = zext <2 x i16> %i16 to <2 x i64>961  %zl2_16_64 = zext <2 x i16> %i16 to <2 x i64>962  %azl_16_64 = sub <2 x i64> %zl1_16_64, %zl2_16_64963 964  %sw_32_64 = sext <2 x i32> %i32 to <2 x i64>965  %asw_32_64 = sub <2 x i64> %i64, %sw_32_64966  %sl1_32_64 = sext <2 x i32> %i32 to <2 x i64>967  %sl2_32_64 = sext <2 x i32> %i32 to <2 x i64>968  %asl_32_64 = sub <2 x i64> %sl1_32_64, %sl2_32_64969 970  %zw_32_64 = zext <2 x i32> %i32 to <2 x i64>971  %azw_32_64 = sub <2 x i64> %i64, %zw_32_64972  %zl1_32_64 = zext <2 x i32> %i32 to <2 x i64>973  %zl2_32_64 = zext <2 x i32> %i32 to <2 x i64>974  %azl_32_64 = sub <2 x i64> %zl1_32_64, %zl2_32_64975 976  ret void977}978 979define void @extsubv4(<4 x i8> %i8, <4 x i16> %i16, <4 x i32> %i32, <4 x i64> %i64)  {980; CHECK-LABEL: 'extsubv4'981; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_16 = sext <4 x i8> %i8 to <4 x i16>982; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_16 = sub <4 x i16> %i16, %sw_8_16983; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_16 = sext <4 x i8> %i8 to <4 x i16>984; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_16 = sext <4 x i8> %i8 to <4 x i16>985; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_16 = sub <4 x i16> %sl1_8_16, %sl2_8_16986; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_16 = zext <4 x i8> %i8 to <4 x i16>987; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_16 = sub <4 x i16> %i16, %zw_8_16988; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_16 = zext <4 x i8> %i8 to <4 x i16>989; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_16 = zext <4 x i8> %i8 to <4 x i16>990; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_16 = sub <4 x i16> %zl1_8_16, %zl2_8_16991; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_32 = sext <4 x i8> %i8 to <4 x i32>992; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_32 = sub <4 x i32> %i32, %sw_8_32993; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_32 = sext <4 x i8> %i8 to <4 x i32>994; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_32 = sext <4 x i8> %i8 to <4 x i32>995; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_32 = sub <4 x i32> %sl1_8_32, %sl2_8_32996; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_32 = zext <4 x i8> %i8 to <4 x i32>997; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_32 = sub <4 x i32> %i32, %zw_8_32998; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_32 = zext <4 x i8> %i8 to <4 x i32>999; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_32 = zext <4 x i8> %i8 to <4 x i32>1000; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_32 = sub <4 x i32> %zl1_8_32, %zl2_8_321001; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_64 = sext <4 x i8> %i8 to <4 x i64>1002; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_64 = sub <4 x i64> %i64, %sw_8_641003; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %sl1_8_64 = sext <4 x i8> %i8 to <4 x i64>1004; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %sl2_8_64 = sext <4 x i8> %i8 to <4 x i64>1005; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_64 = sub <4 x i64> %sl1_8_64, %sl2_8_641006; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_64 = zext <4 x i8> %i8 to <4 x i64>1007; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_64 = sub <4 x i64> %i64, %zw_8_641008; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %zl1_8_64 = zext <4 x i8> %i8 to <4 x i64>1009; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %zl2_8_64 = zext <4 x i8> %i8 to <4 x i64>1010; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_64 = sub <4 x i64> %zl1_8_64, %zl2_8_641011; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_16_32 = sext <4 x i16> %i16 to <4 x i32>1012; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_16_32 = sub <4 x i32> %i32, %sw_16_321013; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_32 = sext <4 x i16> %i16 to <4 x i32>1014; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_32 = sext <4 x i16> %i16 to <4 x i32>1015; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_16_32 = sub <4 x i32> %sl1_16_32, %sl2_16_321016; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_16_32 = zext <4 x i16> %i16 to <4 x i32>1017; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_16_32 = sub <4 x i32> %i32, %zw_16_321018; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_32 = zext <4 x i16> %i16 to <4 x i32>1019; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_32 = zext <4 x i16> %i16 to <4 x i32>1020; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_16_32 = sub <4 x i32> %zl1_16_32, %zl2_16_321021; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %sw_16_64 = sext <4 x i16> %i16 to <4 x i64>1022; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_64 = sub <4 x i64> %i64, %sw_16_641023; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_64 = sext <4 x i16> %i16 to <4 x i64>1024; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_64 = sext <4 x i16> %i16 to <4 x i64>1025; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_64 = sub <4 x i64> %sl1_16_64, %sl2_16_641026; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %zw_16_64 = zext <4 x i16> %i16 to <4 x i64>1027; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_64 = sub <4 x i64> %i64, %zw_16_641028; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_64 = zext <4 x i16> %i16 to <4 x i64>1029; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_64 = zext <4 x i16> %i16 to <4 x i64>1030; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_64 = sub <4 x i64> %zl1_16_64, %zl2_16_641031; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_32_64 = sext <4 x i32> %i32 to <4 x i64>1032; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asw_32_64 = sub <4 x i64> %i64, %sw_32_641033; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_32_64 = sext <4 x i32> %i32 to <4 x i64>1034; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_32_64 = sext <4 x i32> %i32 to <4 x i64>1035; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asl_32_64 = sub <4 x i64> %sl1_32_64, %sl2_32_641036; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_32_64 = zext <4 x i32> %i32 to <4 x i64>1037; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azw_32_64 = sub <4 x i64> %i64, %zw_32_641038; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_32_64 = zext <4 x i32> %i32 to <4 x i64>1039; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_32_64 = zext <4 x i32> %i32 to <4 x i64>1040; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azl_32_64 = sub <4 x i64> %zl1_32_64, %zl2_32_641041; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1042;1043  %sw_8_16 = sext <4 x i8> %i8 to <4 x i16>1044  %asw_8_16 = sub <4 x i16> %i16, %sw_8_161045  %sl1_8_16 = sext <4 x i8> %i8 to <4 x i16>1046  %sl2_8_16 = sext <4 x i8> %i8 to <4 x i16>1047  %asl_8_16 = sub <4 x i16> %sl1_8_16, %sl2_8_161048 1049  %zw_8_16 = zext <4 x i8> %i8 to <4 x i16>1050  %azw_8_16 = sub <4 x i16> %i16, %zw_8_161051  %zl1_8_16 = zext <4 x i8> %i8 to <4 x i16>1052  %zl2_8_16 = zext <4 x i8> %i8 to <4 x i16>1053  %azl_8_16 = sub <4 x i16> %zl1_8_16, %zl2_8_161054 1055  %sw_8_32 = sext <4 x i8> %i8 to <4 x i32>1056  %asw_8_32 = sub <4 x i32> %i32, %sw_8_321057  %sl1_8_32 = sext <4 x i8> %i8 to <4 x i32>1058  %sl2_8_32 = sext <4 x i8> %i8 to <4 x i32>1059  %asl_8_32 = sub <4 x i32> %sl1_8_32, %sl2_8_321060 1061  %zw_8_32 = zext <4 x i8> %i8 to <4 x i32>1062  %azw_8_32 = sub <4 x i32> %i32, %zw_8_321063  %zl1_8_32 = zext <4 x i8> %i8 to <4 x i32>1064  %zl2_8_32 = zext <4 x i8> %i8 to <4 x i32>1065  %azl_8_32 = sub <4 x i32> %zl1_8_32, %zl2_8_321066 1067  %sw_8_64 = sext <4 x i8> %i8 to <4 x i64>1068  %asw_8_64 = sub <4 x i64> %i64, %sw_8_641069  %sl1_8_64 = sext <4 x i8> %i8 to <4 x i64>1070  %sl2_8_64 = sext <4 x i8> %i8 to <4 x i64>1071  %asl_8_64 = sub <4 x i64> %sl1_8_64, %sl2_8_641072 1073  %zw_8_64 = zext <4 x i8> %i8 to <4 x i64>1074  %azw_8_64 = sub <4 x i64> %i64, %zw_8_641075  %zl1_8_64 = zext <4 x i8> %i8 to <4 x i64>1076  %zl2_8_64 = zext <4 x i8> %i8 to <4 x i64>1077  %azl_8_64 = sub <4 x i64> %zl1_8_64, %zl2_8_641078 1079  %sw_16_32 = sext <4 x i16> %i16 to <4 x i32>1080  %asw_16_32 = sub <4 x i32> %i32, %sw_16_321081  %sl1_16_32 = sext <4 x i16> %i16 to <4 x i32>1082  %sl2_16_32 = sext <4 x i16> %i16 to <4 x i32>1083  %asl_16_32 = sub <4 x i32> %sl1_16_32, %sl2_16_321084 1085  %zw_16_32 = zext <4 x i16> %i16 to <4 x i32>1086  %azw_16_32 = sub <4 x i32> %i32, %zw_16_321087  %zl1_16_32 = zext <4 x i16> %i16 to <4 x i32>1088  %zl2_16_32 = zext <4 x i16> %i16 to <4 x i32>1089  %azl_16_32 = sub <4 x i32> %zl1_16_32, %zl2_16_321090 1091  %sw_16_64 = sext <4 x i16> %i16 to <4 x i64>1092  %asw_16_64 = sub <4 x i64> %i64, %sw_16_641093  %sl1_16_64 = sext <4 x i16> %i16 to <4 x i64>1094  %sl2_16_64 = sext <4 x i16> %i16 to <4 x i64>1095  %asl_16_64 = sub <4 x i64> %sl1_16_64, %sl2_16_641096 1097  %zw_16_64 = zext <4 x i16> %i16 to <4 x i64>1098  %azw_16_64 = sub <4 x i64> %i64, %zw_16_641099  %zl1_16_64 = zext <4 x i16> %i16 to <4 x i64>1100  %zl2_16_64 = zext <4 x i16> %i16 to <4 x i64>1101  %azl_16_64 = sub <4 x i64> %zl1_16_64, %zl2_16_641102 1103  %sw_32_64 = sext <4 x i32> %i32 to <4 x i64>1104  %asw_32_64 = sub <4 x i64> %i64, %sw_32_641105  %sl1_32_64 = sext <4 x i32> %i32 to <4 x i64>1106  %sl2_32_64 = sext <4 x i32> %i32 to <4 x i64>1107  %asl_32_64 = sub <4 x i64> %sl1_32_64, %sl2_32_641108 1109  %zw_32_64 = zext <4 x i32> %i32 to <4 x i64>1110  %azw_32_64 = sub <4 x i64> %i64, %zw_32_641111  %zl1_32_64 = zext <4 x i32> %i32 to <4 x i64>1112  %zl2_32_64 = zext <4 x i32> %i32 to <4 x i64>1113  %azl_32_64 = sub <4 x i64> %zl1_32_64, %zl2_32_641114 1115  ret void1116}1117 1118define void @extsubv8(<8 x i8> %i8, <8 x i16> %i16, <8 x i32> %i32, <8 x i64> %i64)  {1119; CHECK-LABEL: 'extsubv8'1120; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_8_16 = sext <8 x i8> %i8 to <8 x i16>1121; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_16 = sub <8 x i16> %i16, %sw_8_161122; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_16 = sext <8 x i8> %i8 to <8 x i16>1123; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_16 = sext <8 x i8> %i8 to <8 x i16>1124; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_16 = sub <8 x i16> %sl1_8_16, %sl2_8_161125; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_8_16 = zext <8 x i8> %i8 to <8 x i16>1126; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_16 = sub <8 x i16> %i16, %zw_8_161127; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_16 = zext <8 x i8> %i8 to <8 x i16>1128; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_16 = zext <8 x i8> %i8 to <8 x i16>1129; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_16 = sub <8 x i16> %zl1_8_16, %zl2_8_161130; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_32 = sext <8 x i8> %i8 to <8 x i32>1131; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_32 = sub <8 x i32> %i32, %sw_8_321132; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_32 = sext <8 x i8> %i8 to <8 x i32>1133; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_32 = sext <8 x i8> %i8 to <8 x i32>1134; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_32 = sub <8 x i32> %sl1_8_32, %sl2_8_321135; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_32 = zext <8 x i8> %i8 to <8 x i32>1136; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_32 = sub <8 x i32> %i32, %zw_8_321137; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_32 = zext <8 x i8> %i8 to <8 x i32>1138; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_32 = zext <8 x i8> %i8 to <8 x i32>1139; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_32 = sub <8 x i32> %zl1_8_32, %zl2_8_321140; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_64 = sext <8 x i8> %i8 to <8 x i64>1141; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_64 = sub <8 x i64> %i64, %sw_8_641142; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_64 = sext <8 x i8> %i8 to <8 x i64>1143; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_64 = sext <8 x i8> %i8 to <8 x i64>1144; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_64 = sub <8 x i64> %sl1_8_64, %sl2_8_641145; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_64 = zext <8 x i8> %i8 to <8 x i64>1146; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_64 = sub <8 x i64> %i64, %zw_8_641147; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_64 = zext <8 x i8> %i8 to <8 x i64>1148; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_64 = zext <8 x i8> %i8 to <8 x i64>1149; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_64 = sub <8 x i64> %zl1_8_64, %zl2_8_641150; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_16_32 = sext <8 x i16> %i16 to <8 x i32>1151; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_32 = sub <8 x i32> %i32, %sw_16_321152; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_32 = sext <8 x i16> %i16 to <8 x i32>1153; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_32 = sext <8 x i16> %i16 to <8 x i32>1154; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_32 = sub <8 x i32> %sl1_16_32, %sl2_16_321155; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_16_32 = zext <8 x i16> %i16 to <8 x i32>1156; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_32 = sub <8 x i32> %i32, %zw_16_321157; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_32 = zext <8 x i16> %i16 to <8 x i32>1158; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_32 = zext <8 x i16> %i16 to <8 x i32>1159; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_32 = sub <8 x i32> %zl1_16_32, %zl2_16_321160; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %sw_16_64 = sext <8 x i16> %i16 to <8 x i64>1161; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_64 = sub <8 x i64> %i64, %sw_16_641162; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_64 = sext <8 x i16> %i16 to <8 x i64>1163; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_64 = sext <8 x i16> %i16 to <8 x i64>1164; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_64 = sub <8 x i64> %sl1_16_64, %sl2_16_641165; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %zw_16_64 = zext <8 x i16> %i16 to <8 x i64>1166; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_64 = sub <8 x i64> %i64, %zw_16_641167; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_64 = zext <8 x i16> %i16 to <8 x i64>1168; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_64 = zext <8 x i16> %i16 to <8 x i64>1169; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_64 = sub <8 x i64> %zl1_16_64, %zl2_16_641170; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_32_64 = sext <8 x i32> %i32 to <8 x i64>1171; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asw_32_64 = sub <8 x i64> %i64, %sw_32_641172; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_32_64 = sext <8 x i32> %i32 to <8 x i64>1173; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_32_64 = sext <8 x i32> %i32 to <8 x i64>1174; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asl_32_64 = sub <8 x i64> %sl1_32_64, %sl2_32_641175; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_32_64 = zext <8 x i32> %i32 to <8 x i64>1176; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azw_32_64 = sub <8 x i64> %i64, %zw_32_641177; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_32_64 = zext <8 x i32> %i32 to <8 x i64>1178; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_32_64 = zext <8 x i32> %i32 to <8 x i64>1179; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azl_32_64 = sub <8 x i64> %zl1_32_64, %zl2_32_641180; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1181;1182  %sw_8_16 = sext <8 x i8> %i8 to <8 x i16>1183  %asw_8_16 = sub <8 x i16> %i16, %sw_8_161184  %sl1_8_16 = sext <8 x i8> %i8 to <8 x i16>1185  %sl2_8_16 = sext <8 x i8> %i8 to <8 x i16>1186  %asl_8_16 = sub <8 x i16> %sl1_8_16, %sl2_8_161187 1188  %zw_8_16 = zext <8 x i8> %i8 to <8 x i16>1189  %azw_8_16 = sub <8 x i16> %i16, %zw_8_161190  %zl1_8_16 = zext <8 x i8> %i8 to <8 x i16>1191  %zl2_8_16 = zext <8 x i8> %i8 to <8 x i16>1192  %azl_8_16 = sub <8 x i16> %zl1_8_16, %zl2_8_161193 1194  %sw_8_32 = sext <8 x i8> %i8 to <8 x i32>1195  %asw_8_32 = sub <8 x i32> %i32, %sw_8_321196  %sl1_8_32 = sext <8 x i8> %i8 to <8 x i32>1197  %sl2_8_32 = sext <8 x i8> %i8 to <8 x i32>1198  %asl_8_32 = sub <8 x i32> %sl1_8_32, %sl2_8_321199 1200  %zw_8_32 = zext <8 x i8> %i8 to <8 x i32>1201  %azw_8_32 = sub <8 x i32> %i32, %zw_8_321202  %zl1_8_32 = zext <8 x i8> %i8 to <8 x i32>1203  %zl2_8_32 = zext <8 x i8> %i8 to <8 x i32>1204  %azl_8_32 = sub <8 x i32> %zl1_8_32, %zl2_8_321205 1206  %sw_8_64 = sext <8 x i8> %i8 to <8 x i64>1207  %asw_8_64 = sub <8 x i64> %i64, %sw_8_641208  %sl1_8_64 = sext <8 x i8> %i8 to <8 x i64>1209  %sl2_8_64 = sext <8 x i8> %i8 to <8 x i64>1210  %asl_8_64 = sub <8 x i64> %sl1_8_64, %sl2_8_641211 1212  %zw_8_64 = zext <8 x i8> %i8 to <8 x i64>1213  %azw_8_64 = sub <8 x i64> %i64, %zw_8_641214  %zl1_8_64 = zext <8 x i8> %i8 to <8 x i64>1215  %zl2_8_64 = zext <8 x i8> %i8 to <8 x i64>1216  %azl_8_64 = sub <8 x i64> %zl1_8_64, %zl2_8_641217 1218  %sw_16_32 = sext <8 x i16> %i16 to <8 x i32>1219  %asw_16_32 = sub <8 x i32> %i32, %sw_16_321220  %sl1_16_32 = sext <8 x i16> %i16 to <8 x i32>1221  %sl2_16_32 = sext <8 x i16> %i16 to <8 x i32>1222  %asl_16_32 = sub <8 x i32> %sl1_16_32, %sl2_16_321223 1224  %zw_16_32 = zext <8 x i16> %i16 to <8 x i32>1225  %azw_16_32 = sub <8 x i32> %i32, %zw_16_321226  %zl1_16_32 = zext <8 x i16> %i16 to <8 x i32>1227  %zl2_16_32 = zext <8 x i16> %i16 to <8 x i32>1228  %azl_16_32 = sub <8 x i32> %zl1_16_32, %zl2_16_321229 1230  %sw_16_64 = sext <8 x i16> %i16 to <8 x i64>1231  %asw_16_64 = sub <8 x i64> %i64, %sw_16_641232  %sl1_16_64 = sext <8 x i16> %i16 to <8 x i64>1233  %sl2_16_64 = sext <8 x i16> %i16 to <8 x i64>1234  %asl_16_64 = sub <8 x i64> %sl1_16_64, %sl2_16_641235 1236  %zw_16_64 = zext <8 x i16> %i16 to <8 x i64>1237  %azw_16_64 = sub <8 x i64> %i64, %zw_16_641238  %zl1_16_64 = zext <8 x i16> %i16 to <8 x i64>1239  %zl2_16_64 = zext <8 x i16> %i16 to <8 x i64>1240  %azl_16_64 = sub <8 x i64> %zl1_16_64, %zl2_16_641241 1242  %sw_32_64 = sext <8 x i32> %i32 to <8 x i64>1243  %asw_32_64 = sub <8 x i64> %i64, %sw_32_641244  %sl1_32_64 = sext <8 x i32> %i32 to <8 x i64>1245  %sl2_32_64 = sext <8 x i32> %i32 to <8 x i64>1246  %asl_32_64 = sub <8 x i64> %sl1_32_64, %sl2_32_641247 1248  %zw_32_64 = zext <8 x i32> %i32 to <8 x i64>1249  %azw_32_64 = sub <8 x i64> %i64, %zw_32_641250  %zl1_32_64 = zext <8 x i32> %i32 to <8 x i64>1251  %zl2_32_64 = zext <8 x i32> %i32 to <8 x i64>1252  %azl_32_64 = sub <8 x i64> %zl1_32_64, %zl2_32_641253 1254  ret void1255}1256 1257define void @extsubv16(<16 x i8> %i8, <16 x i16> %i16, <16 x i32> %i32, <16 x i64> %i64)  {1258; CHECK-LABEL: 'extsubv16'1259; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_8_16 = sext <16 x i8> %i8 to <16 x i16>1260; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_16 = sub <16 x i16> %i16, %sw_8_161261; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_16 = sext <16 x i8> %i8 to <16 x i16>1262; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_16 = sext <16 x i8> %i8 to <16 x i16>1263; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_16 = sub <16 x i16> %sl1_8_16, %sl2_8_161264; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_8_16 = zext <16 x i8> %i8 to <16 x i16>1265; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_16 = sub <16 x i16> %i16, %zw_8_161266; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_16 = zext <16 x i8> %i8 to <16 x i16>1267; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_16 = zext <16 x i8> %i8 to <16 x i16>1268; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_16 = sub <16 x i16> %zl1_8_16, %zl2_8_161269; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_32 = sext <16 x i8> %i8 to <16 x i32>1270; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_32 = sub <16 x i32> %i32, %sw_8_321271; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_32 = sext <16 x i8> %i8 to <16 x i32>1272; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_32 = sext <16 x i8> %i8 to <16 x i32>1273; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_32 = sub <16 x i32> %sl1_8_32, %sl2_8_321274; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_32 = zext <16 x i8> %i8 to <16 x i32>1275; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_32 = sub <16 x i32> %i32, %zw_8_321276; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_32 = zext <16 x i8> %i8 to <16 x i32>1277; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_32 = zext <16 x i8> %i8 to <16 x i32>1278; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_32 = sub <16 x i32> %zl1_8_32, %zl2_8_321279; CHECK-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_64 = sext <16 x i8> %i8 to <16 x i64>1280; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_64 = sub <16 x i64> %i64, %sw_8_641281; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_64 = sext <16 x i8> %i8 to <16 x i64>1282; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_64 = sext <16 x i8> %i8 to <16 x i64>1283; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_64 = sub <16 x i64> %sl1_8_64, %sl2_8_641284; CHECK-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_64 = zext <16 x i8> %i8 to <16 x i64>1285; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_64 = sub <16 x i64> %i64, %zw_8_641286; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_64 = zext <16 x i8> %i8 to <16 x i64>1287; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_64 = zext <16 x i8> %i8 to <16 x i64>1288; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_64 = sub <16 x i64> %zl1_8_64, %zl2_8_641289; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_16_32 = sext <16 x i16> %i16 to <16 x i32>1290; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_32 = sub <16 x i32> %i32, %sw_16_321291; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_32 = sext <16 x i16> %i16 to <16 x i32>1292; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_32 = sext <16 x i16> %i16 to <16 x i32>1293; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_32 = sub <16 x i32> %sl1_16_32, %sl2_16_321294; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_16_32 = zext <16 x i16> %i16 to <16 x i32>1295; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_32 = sub <16 x i32> %i32, %zw_16_321296; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_32 = zext <16 x i16> %i16 to <16 x i32>1297; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_32 = zext <16 x i16> %i16 to <16 x i32>1298; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_32 = sub <16 x i32> %zl1_16_32, %zl2_16_321299; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %sw_16_64 = sext <16 x i16> %i16 to <16 x i64>1300; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_64 = sub <16 x i64> %i64, %sw_16_641301; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_64 = sext <16 x i16> %i16 to <16 x i64>1302; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_64 = sext <16 x i16> %i16 to <16 x i64>1303; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_64 = sub <16 x i64> %sl1_16_64, %sl2_16_641304; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %zw_16_64 = zext <16 x i16> %i16 to <16 x i64>1305; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_64 = sub <16 x i64> %i64, %zw_16_641306; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_64 = zext <16 x i16> %i16 to <16 x i64>1307; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_64 = zext <16 x i16> %i16 to <16 x i64>1308; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_64 = sub <16 x i64> %zl1_16_64, %zl2_16_641309; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sw_32_64 = sext <16 x i32> %i32 to <16 x i64>1310; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %asw_32_64 = sub <16 x i64> %i64, %sw_32_641311; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_32_64 = sext <16 x i32> %i32 to <16 x i64>1312; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_32_64 = sext <16 x i32> %i32 to <16 x i64>1313; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %asl_32_64 = sub <16 x i64> %sl1_32_64, %sl2_32_641314; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_32_64 = zext <16 x i32> %i32 to <16 x i64>1315; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %azw_32_64 = sub <16 x i64> %i64, %zw_32_641316; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_32_64 = zext <16 x i32> %i32 to <16 x i64>1317; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_32_64 = zext <16 x i32> %i32 to <16 x i64>1318; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %azl_32_64 = sub <16 x i64> %zl1_32_64, %zl2_32_641319; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1320;1321  %sw_8_16 = sext <16 x i8> %i8 to <16 x i16>1322  %asw_8_16 = sub <16 x i16> %i16, %sw_8_161323  %sl1_8_16 = sext <16 x i8> %i8 to <16 x i16>1324  %sl2_8_16 = sext <16 x i8> %i8 to <16 x i16>1325  %asl_8_16 = sub <16 x i16> %sl1_8_16, %sl2_8_161326 1327  %zw_8_16 = zext <16 x i8> %i8 to <16 x i16>1328  %azw_8_16 = sub <16 x i16> %i16, %zw_8_161329  %zl1_8_16 = zext <16 x i8> %i8 to <16 x i16>1330  %zl2_8_16 = zext <16 x i8> %i8 to <16 x i16>1331  %azl_8_16 = sub <16 x i16> %zl1_8_16, %zl2_8_161332 1333  %sw_8_32 = sext <16 x i8> %i8 to <16 x i32>1334  %asw_8_32 = sub <16 x i32> %i32, %sw_8_321335  %sl1_8_32 = sext <16 x i8> %i8 to <16 x i32>1336  %sl2_8_32 = sext <16 x i8> %i8 to <16 x i32>1337  %asl_8_32 = sub <16 x i32> %sl1_8_32, %sl2_8_321338 1339  %zw_8_32 = zext <16 x i8> %i8 to <16 x i32>1340  %azw_8_32 = sub <16 x i32> %i32, %zw_8_321341  %zl1_8_32 = zext <16 x i8> %i8 to <16 x i32>1342  %zl2_8_32 = zext <16 x i8> %i8 to <16 x i32>1343  %azl_8_32 = sub <16 x i32> %zl1_8_32, %zl2_8_321344 1345  %sw_8_64 = sext <16 x i8> %i8 to <16 x i64>1346  %asw_8_64 = sub <16 x i64> %i64, %sw_8_641347  %sl1_8_64 = sext <16 x i8> %i8 to <16 x i64>1348  %sl2_8_64 = sext <16 x i8> %i8 to <16 x i64>1349  %asl_8_64 = sub <16 x i64> %sl1_8_64, %sl2_8_641350 1351  %zw_8_64 = zext <16 x i8> %i8 to <16 x i64>1352  %azw_8_64 = sub <16 x i64> %i64, %zw_8_641353  %zl1_8_64 = zext <16 x i8> %i8 to <16 x i64>1354  %zl2_8_64 = zext <16 x i8> %i8 to <16 x i64>1355  %azl_8_64 = sub <16 x i64> %zl1_8_64, %zl2_8_641356 1357  %sw_16_32 = sext <16 x i16> %i16 to <16 x i32>1358  %asw_16_32 = sub <16 x i32> %i32, %sw_16_321359  %sl1_16_32 = sext <16 x i16> %i16 to <16 x i32>1360  %sl2_16_32 = sext <16 x i16> %i16 to <16 x i32>1361  %asl_16_32 = sub <16 x i32> %sl1_16_32, %sl2_16_321362 1363  %zw_16_32 = zext <16 x i16> %i16 to <16 x i32>1364  %azw_16_32 = sub <16 x i32> %i32, %zw_16_321365  %zl1_16_32 = zext <16 x i16> %i16 to <16 x i32>1366  %zl2_16_32 = zext <16 x i16> %i16 to <16 x i32>1367  %azl_16_32 = sub <16 x i32> %zl1_16_32, %zl2_16_321368 1369  %sw_16_64 = sext <16 x i16> %i16 to <16 x i64>1370  %asw_16_64 = sub <16 x i64> %i64, %sw_16_641371  %sl1_16_64 = sext <16 x i16> %i16 to <16 x i64>1372  %sl2_16_64 = sext <16 x i16> %i16 to <16 x i64>1373  %asl_16_64 = sub <16 x i64> %sl1_16_64, %sl2_16_641374 1375  %zw_16_64 = zext <16 x i16> %i16 to <16 x i64>1376  %azw_16_64 = sub <16 x i64> %i64, %zw_16_641377  %zl1_16_64 = zext <16 x i16> %i16 to <16 x i64>1378  %zl2_16_64 = zext <16 x i16> %i16 to <16 x i64>1379  %azl_16_64 = sub <16 x i64> %zl1_16_64, %zl2_16_641380 1381  %sw_32_64 = sext <16 x i32> %i32 to <16 x i64>1382  %asw_32_64 = sub <16 x i64> %i64, %sw_32_641383  %sl1_32_64 = sext <16 x i32> %i32 to <16 x i64>1384  %sl2_32_64 = sext <16 x i32> %i32 to <16 x i64>1385  %asl_32_64 = sub <16 x i64> %sl1_32_64, %sl2_32_641386 1387  %zw_32_64 = zext <16 x i32> %i32 to <16 x i64>1388  %azw_32_64 = sub <16 x i64> %i64, %zw_32_641389  %zl1_32_64 = zext <16 x i32> %i32 to <16 x i64>1390  %zl2_32_64 = zext <16 x i32> %i32 to <16 x i64>1391  %azl_32_64 = sub <16 x i64> %zl1_32_64, %zl2_32_641392 1393  ret void1394}1395 1396define void @extmulv1(i8 %i8, i16 %i16, i32 %i32, i64 %i64)  {1397; CHECK-LABEL: 'extmulv1'1398; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_16 = sext i8 %i8 to i161399; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_16 = mul i16 %i16, %sw_8_161400; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_16 = sext i8 %i8 to i161401; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_16 = sext i8 %i8 to i161402; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_16 = mul i16 %sl1_8_16, %sl2_8_161403; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_16 = zext i8 %i8 to i161404; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_16 = mul i16 %i16, %zw_8_161405; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_16 = zext i8 %i8 to i161406; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_16 = zext i8 %i8 to i161407; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_16 = mul i16 %zl1_8_16, %zl2_8_161408; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_32 = sext i8 %i8 to i321409; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_32 = mul i32 %i32, %sw_8_321410; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_32 = sext i8 %i8 to i321411; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_32 = sext i8 %i8 to i321412; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_32 = mul i32 %sl1_8_32, %sl2_8_321413; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_32 = zext i8 %i8 to i321414; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_32 = mul i32 %i32, %zw_8_321415; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_32 = zext i8 %i8 to i321416; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_32 = zext i8 %i8 to i321417; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_32 = mul i32 %zl1_8_32, %zl2_8_321418; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_64 = sext i8 %i8 to i641419; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_64 = mul i64 %i64, %sw_8_641420; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_64 = sext i8 %i8 to i641421; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_64 = sext i8 %i8 to i641422; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_64 = mul i64 %sl1_8_64, %sl2_8_641423; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_8_64 = zext i8 %i8 to i641424; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_64 = mul i64 %i64, %zw_8_641425; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_64 = zext i8 %i8 to i641426; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_64 = zext i8 %i8 to i641427; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_64 = mul i64 %zl1_8_64, %zl2_8_641428; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_16_32 = sext i16 %i16 to i321429; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_16_32 = mul i32 %i32, %sw_16_321430; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_16_32 = sext i16 %i16 to i321431; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_16_32 = sext i16 %i16 to i321432; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_16_32 = mul i32 %sl1_16_32, %sl2_16_321433; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_16_32 = zext i16 %i16 to i321434; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_16_32 = mul i32 %i32, %zw_16_321435; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_16_32 = zext i16 %i16 to i321436; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_16_32 = zext i16 %i16 to i321437; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_16_32 = mul i32 %zl1_16_32, %zl2_16_321438; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_16_64 = sext i16 %i16 to i641439; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_16_64 = mul i64 %i64, %sw_16_641440; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_16_64 = sext i16 %i16 to i641441; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_16_64 = sext i16 %i16 to i641442; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_16_64 = mul i64 %sl1_16_64, %sl2_16_641443; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_16_64 = zext i16 %i16 to i641444; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_16_64 = mul i64 %i64, %zw_16_641445; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_64 = zext i16 %i16 to i641446; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_64 = zext i16 %i16 to i641447; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_16_64 = mul i64 %zl1_16_64, %zl2_16_641448; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_32_64 = sext i32 %i32 to i641449; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_32_64 = mul i64 %i64, %sw_32_641450; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_32_64 = sext i32 %i32 to i641451; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_32_64 = sext i32 %i32 to i641452; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_32_64 = mul i64 %sl1_32_64, %sl2_32_641453; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zw_32_64 = zext i32 %i32 to i641454; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_32_64 = mul i64 %i64, %zw_32_641455; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_32_64 = zext i32 %i32 to i641456; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_32_64 = zext i32 %i32 to i641457; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_32_64 = mul i64 %zl1_32_64, %zl2_32_641458; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1459;1460  %sw_8_16 = sext i8 %i8 to i161461  %asw_8_16 = mul i16 %i16, %sw_8_161462  %sl1_8_16 = sext i8 %i8 to i161463  %sl2_8_16 = sext i8 %i8 to i161464  %asl_8_16 = mul i16 %sl1_8_16, %sl2_8_161465 1466  %zw_8_16 = zext i8 %i8 to i161467  %azw_8_16 = mul i16 %i16, %zw_8_161468  %zl1_8_16 = zext i8 %i8 to i161469  %zl2_8_16 = zext i8 %i8 to i161470  %azl_8_16 = mul i16 %zl1_8_16, %zl2_8_161471 1472  %sw_8_32 = sext i8 %i8 to i321473  %asw_8_32 = mul i32 %i32, %sw_8_321474  %sl1_8_32 = sext i8 %i8 to i321475  %sl2_8_32 = sext i8 %i8 to i321476  %asl_8_32 = mul i32 %sl1_8_32, %sl2_8_321477 1478  %zw_8_32 = zext i8 %i8 to i321479  %azw_8_32 = mul i32 %i32, %zw_8_321480  %zl1_8_32 = zext i8 %i8 to i321481  %zl2_8_32 = zext i8 %i8 to i321482  %azl_8_32 = mul i32 %zl1_8_32, %zl2_8_321483 1484  %sw_8_64 = sext i8 %i8 to i641485  %asw_8_64 = mul i64 %i64, %sw_8_641486  %sl1_8_64 = sext i8 %i8 to i641487  %sl2_8_64 = sext i8 %i8 to i641488  %asl_8_64 = mul i64 %sl1_8_64, %sl2_8_641489 1490  %zw_8_64 = zext i8 %i8 to i641491  %azw_8_64 = mul i64 %i64, %zw_8_641492  %zl1_8_64 = zext i8 %i8 to i641493  %zl2_8_64 = zext i8 %i8 to i641494  %azl_8_64 = mul i64 %zl1_8_64, %zl2_8_641495 1496  %sw_16_32 = sext i16 %i16 to i321497  %asw_16_32 = mul i32 %i32, %sw_16_321498  %sl1_16_32 = sext i16 %i16 to i321499  %sl2_16_32 = sext i16 %i16 to i321500  %asl_16_32 = mul i32 %sl1_16_32, %sl2_16_321501 1502  %zw_16_32 = zext i16 %i16 to i321503  %azw_16_32 = mul i32 %i32, %zw_16_321504  %zl1_16_32 = zext i16 %i16 to i321505  %zl2_16_32 = zext i16 %i16 to i321506  %azl_16_32 = mul i32 %zl1_16_32, %zl2_16_321507 1508  %sw_16_64 = sext i16 %i16 to i641509  %asw_16_64 = mul i64 %i64, %sw_16_641510  %sl1_16_64 = sext i16 %i16 to i641511  %sl2_16_64 = sext i16 %i16 to i641512  %asl_16_64 = mul i64 %sl1_16_64, %sl2_16_641513 1514  %zw_16_64 = zext i16 %i16 to i641515  %azw_16_64 = mul i64 %i64, %zw_16_641516  %zl1_16_64 = zext i16 %i16 to i641517  %zl2_16_64 = zext i16 %i16 to i641518  %azl_16_64 = mul i64 %zl1_16_64, %zl2_16_641519 1520  %sw_32_64 = sext i32 %i32 to i641521  %asw_32_64 = mul i64 %i64, %sw_32_641522  %sl1_32_64 = sext i32 %i32 to i641523  %sl2_32_64 = sext i32 %i32 to i641524  %asl_32_64 = mul i64 %sl1_32_64, %sl2_32_641525 1526  %zw_32_64 = zext i32 %i32 to i641527  %azw_32_64 = mul i64 %i64, %zw_32_641528  %zl1_32_64 = zext i32 %i32 to i641529  %zl2_32_64 = zext i32 %i32 to i641530  %azl_32_64 = mul i64 %zl1_32_64, %zl2_32_641531 1532  ret void1533}1534 1535define void @extmulv2(<2 x i8> %i8, <2 x i16> %i16, <2 x i32> %i32, <2 x i64> %i64)  {1536; CHECK-LABEL: 'extmulv2'1537; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_16 = sext <2 x i8> %i8 to <2 x i16>1538; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_16 = mul <2 x i16> %i16, %sw_8_161539; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_16 = sext <2 x i8> %i8 to <2 x i16>1540; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_16 = sext <2 x i8> %i8 to <2 x i16>1541; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_16 = mul <2 x i16> %sl1_8_16, %sl2_8_161542; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_16 = zext <2 x i8> %i8 to <2 x i16>1543; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_16 = mul <2 x i16> %i16, %zw_8_161544; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_16 = zext <2 x i8> %i8 to <2 x i16>1545; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_16 = zext <2 x i8> %i8 to <2 x i16>1546; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_16 = mul <2 x i16> %zl1_8_16, %zl2_8_161547; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_32 = sext <2 x i8> %i8 to <2 x i32>1548; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_32 = mul <2 x i32> %i32, %sw_8_321549; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_32 = sext <2 x i8> %i8 to <2 x i32>1550; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_32 = sext <2 x i8> %i8 to <2 x i32>1551; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_32 = mul <2 x i32> %sl1_8_32, %sl2_8_321552; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_32 = zext <2 x i8> %i8 to <2 x i32>1553; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_32 = mul <2 x i32> %i32, %zw_8_321554; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_32 = zext <2 x i8> %i8 to <2 x i32>1555; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_32 = zext <2 x i8> %i8 to <2 x i32>1556; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_32 = mul <2 x i32> %zl1_8_32, %zl2_8_321557; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_64 = sext <2 x i8> %i8 to <2 x i64>1558; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_64 = mul <2 x i64> %i64, %sw_8_641559; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_64 = sext <2 x i8> %i8 to <2 x i64>1560; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_64 = sext <2 x i8> %i8 to <2 x i64>1561; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_64 = mul <2 x i64> %sl1_8_64, %sl2_8_641562; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_64 = zext <2 x i8> %i8 to <2 x i64>1563; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_64 = mul <2 x i64> %i64, %zw_8_641564; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_64 = zext <2 x i8> %i8 to <2 x i64>1565; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_64 = zext <2 x i8> %i8 to <2 x i64>1566; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_64 = mul <2 x i64> %zl1_8_64, %zl2_8_641567; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_16_32 = sext <2 x i16> %i16 to <2 x i32>1568; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_16_32 = mul <2 x i32> %i32, %sw_16_321569; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_16_32 = sext <2 x i16> %i16 to <2 x i32>1570; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_16_32 = sext <2 x i16> %i16 to <2 x i32>1571; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_16_32 = mul <2 x i32> %sl1_16_32, %sl2_16_321572; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_16_32 = zext <2 x i16> %i16 to <2 x i32>1573; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_16_32 = mul <2 x i32> %i32, %zw_16_321574; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_16_32 = zext <2 x i16> %i16 to <2 x i32>1575; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_16_32 = zext <2 x i16> %i16 to <2 x i32>1576; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_16_32 = mul <2 x i32> %zl1_16_32, %zl2_16_321577; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_16_64 = sext <2 x i16> %i16 to <2 x i64>1578; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_64 = mul <2 x i64> %i64, %sw_16_641579; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_16_64 = sext <2 x i16> %i16 to <2 x i64>1580; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_16_64 = sext <2 x i16> %i16 to <2 x i64>1581; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_64 = mul <2 x i64> %sl1_16_64, %sl2_16_641582; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_16_64 = zext <2 x i16> %i16 to <2 x i64>1583; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_64 = mul <2 x i64> %i64, %zw_16_641584; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_16_64 = zext <2 x i16> %i16 to <2 x i64>1585; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_16_64 = zext <2 x i16> %i16 to <2 x i64>1586; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_64 = mul <2 x i64> %zl1_16_64, %zl2_16_641587; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_32_64 = sext <2 x i32> %i32 to <2 x i64>1588; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %asw_32_64 = mul <2 x i64> %i64, %sw_32_641589; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_32_64 = sext <2 x i32> %i32 to <2 x i64>1590; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_32_64 = sext <2 x i32> %i32 to <2 x i64>1591; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_32_64 = mul <2 x i64> %sl1_32_64, %sl2_32_641592; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_32_64 = zext <2 x i32> %i32 to <2 x i64>1593; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %azw_32_64 = mul <2 x i64> %i64, %zw_32_641594; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_32_64 = zext <2 x i32> %i32 to <2 x i64>1595; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_32_64 = zext <2 x i32> %i32 to <2 x i64>1596; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_32_64 = mul <2 x i64> %zl1_32_64, %zl2_32_641597; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1598;1599  %sw_8_16 = sext <2 x i8> %i8 to <2 x i16>1600  %asw_8_16 = mul <2 x i16> %i16, %sw_8_161601  %sl1_8_16 = sext <2 x i8> %i8 to <2 x i16>1602  %sl2_8_16 = sext <2 x i8> %i8 to <2 x i16>1603  %asl_8_16 = mul <2 x i16> %sl1_8_16, %sl2_8_161604 1605  %zw_8_16 = zext <2 x i8> %i8 to <2 x i16>1606  %azw_8_16 = mul <2 x i16> %i16, %zw_8_161607  %zl1_8_16 = zext <2 x i8> %i8 to <2 x i16>1608  %zl2_8_16 = zext <2 x i8> %i8 to <2 x i16>1609  %azl_8_16 = mul <2 x i16> %zl1_8_16, %zl2_8_161610 1611  %sw_8_32 = sext <2 x i8> %i8 to <2 x i32>1612  %asw_8_32 = mul <2 x i32> %i32, %sw_8_321613  %sl1_8_32 = sext <2 x i8> %i8 to <2 x i32>1614  %sl2_8_32 = sext <2 x i8> %i8 to <2 x i32>1615  %asl_8_32 = mul <2 x i32> %sl1_8_32, %sl2_8_321616 1617  %zw_8_32 = zext <2 x i8> %i8 to <2 x i32>1618  %azw_8_32 = mul <2 x i32> %i32, %zw_8_321619  %zl1_8_32 = zext <2 x i8> %i8 to <2 x i32>1620  %zl2_8_32 = zext <2 x i8> %i8 to <2 x i32>1621  %azl_8_32 = mul <2 x i32> %zl1_8_32, %zl2_8_321622 1623  %sw_8_64 = sext <2 x i8> %i8 to <2 x i64>1624  %asw_8_64 = mul <2 x i64> %i64, %sw_8_641625  %sl1_8_64 = sext <2 x i8> %i8 to <2 x i64>1626  %sl2_8_64 = sext <2 x i8> %i8 to <2 x i64>1627  %asl_8_64 = mul <2 x i64> %sl1_8_64, %sl2_8_641628 1629  %zw_8_64 = zext <2 x i8> %i8 to <2 x i64>1630  %azw_8_64 = mul <2 x i64> %i64, %zw_8_641631  %zl1_8_64 = zext <2 x i8> %i8 to <2 x i64>1632  %zl2_8_64 = zext <2 x i8> %i8 to <2 x i64>1633  %azl_8_64 = mul <2 x i64> %zl1_8_64, %zl2_8_641634 1635  %sw_16_32 = sext <2 x i16> %i16 to <2 x i32>1636  %asw_16_32 = mul <2 x i32> %i32, %sw_16_321637  %sl1_16_32 = sext <2 x i16> %i16 to <2 x i32>1638  %sl2_16_32 = sext <2 x i16> %i16 to <2 x i32>1639  %asl_16_32 = mul <2 x i32> %sl1_16_32, %sl2_16_321640 1641  %zw_16_32 = zext <2 x i16> %i16 to <2 x i32>1642  %azw_16_32 = mul <2 x i32> %i32, %zw_16_321643  %zl1_16_32 = zext <2 x i16> %i16 to <2 x i32>1644  %zl2_16_32 = zext <2 x i16> %i16 to <2 x i32>1645  %azl_16_32 = mul <2 x i32> %zl1_16_32, %zl2_16_321646 1647  %sw_16_64 = sext <2 x i16> %i16 to <2 x i64>1648  %asw_16_64 = mul <2 x i64> %i64, %sw_16_641649  %sl1_16_64 = sext <2 x i16> %i16 to <2 x i64>1650  %sl2_16_64 = sext <2 x i16> %i16 to <2 x i64>1651  %asl_16_64 = mul <2 x i64> %sl1_16_64, %sl2_16_641652 1653  %zw_16_64 = zext <2 x i16> %i16 to <2 x i64>1654  %azw_16_64 = mul <2 x i64> %i64, %zw_16_641655  %zl1_16_64 = zext <2 x i16> %i16 to <2 x i64>1656  %zl2_16_64 = zext <2 x i16> %i16 to <2 x i64>1657  %azl_16_64 = mul <2 x i64> %zl1_16_64, %zl2_16_641658 1659  %sw_32_64 = sext <2 x i32> %i32 to <2 x i64>1660  %asw_32_64 = mul <2 x i64> %i64, %sw_32_641661  %sl1_32_64 = sext <2 x i32> %i32 to <2 x i64>1662  %sl2_32_64 = sext <2 x i32> %i32 to <2 x i64>1663  %asl_32_64 = mul <2 x i64> %sl1_32_64, %sl2_32_641664 1665  %zw_32_64 = zext <2 x i32> %i32 to <2 x i64>1666  %azw_32_64 = mul <2 x i64> %i64, %zw_32_641667  %zl1_32_64 = zext <2 x i32> %i32 to <2 x i64>1668  %zl2_32_64 = zext <2 x i32> %i32 to <2 x i64>1669  %azl_32_64 = mul <2 x i64> %zl1_32_64, %zl2_32_641670 1671  ret void1672}1673 1674define void @extmulv4(<4 x i8> %i8, <4 x i16> %i16, <4 x i32> %i32, <4 x i64> %i64)  {1675; CHECK-LABEL: 'extmulv4'1676; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_16 = sext <4 x i8> %i8 to <4 x i16>1677; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_16 = mul <4 x i16> %i16, %sw_8_161678; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_16 = sext <4 x i8> %i8 to <4 x i16>1679; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_16 = sext <4 x i8> %i8 to <4 x i16>1680; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_16 = mul <4 x i16> %sl1_8_16, %sl2_8_161681; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_16 = zext <4 x i8> %i8 to <4 x i16>1682; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_16 = mul <4 x i16> %i16, %zw_8_161683; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_16 = zext <4 x i8> %i8 to <4 x i16>1684; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_16 = zext <4 x i8> %i8 to <4 x i16>1685; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_16 = mul <4 x i16> %zl1_8_16, %zl2_8_161686; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_32 = sext <4 x i8> %i8 to <4 x i32>1687; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_32 = mul <4 x i32> %i32, %sw_8_321688; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_32 = sext <4 x i8> %i8 to <4 x i32>1689; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl2_8_32 = sext <4 x i8> %i8 to <4 x i32>1690; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_32 = mul <4 x i32> %sl1_8_32, %sl2_8_321691; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_32 = zext <4 x i8> %i8 to <4 x i32>1692; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_32 = mul <4 x i32> %i32, %zw_8_321693; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl1_8_32 = zext <4 x i8> %i8 to <4 x i32>1694; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zl2_8_32 = zext <4 x i8> %i8 to <4 x i32>1695; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_32 = mul <4 x i32> %zl1_8_32, %zl2_8_321696; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_64 = sext <4 x i8> %i8 to <4 x i64>1697; CHECK-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_64 = mul <4 x i64> %i64, %sw_8_641698; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %sl1_8_64 = sext <4 x i8> %i8 to <4 x i64>1699; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %sl2_8_64 = sext <4 x i8> %i8 to <4 x i64>1700; CHECK-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_64 = mul <4 x i64> %sl1_8_64, %sl2_8_641701; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_64 = zext <4 x i8> %i8 to <4 x i64>1702; CHECK-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_64 = mul <4 x i64> %i64, %zw_8_641703; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %zl1_8_64 = zext <4 x i8> %i8 to <4 x i64>1704; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %zl2_8_64 = zext <4 x i8> %i8 to <4 x i64>1705; CHECK-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_64 = mul <4 x i64> %zl1_8_64, %zl2_8_641706; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_16_32 = sext <4 x i16> %i16 to <4 x i32>1707; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_16_32 = mul <4 x i32> %i32, %sw_16_321708; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_32 = sext <4 x i16> %i16 to <4 x i32>1709; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_32 = sext <4 x i16> %i16 to <4 x i32>1710; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_16_32 = mul <4 x i32> %sl1_16_32, %sl2_16_321711; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_16_32 = zext <4 x i16> %i16 to <4 x i32>1712; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_16_32 = mul <4 x i32> %i32, %zw_16_321713; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_32 = zext <4 x i16> %i16 to <4 x i32>1714; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_32 = zext <4 x i16> %i16 to <4 x i32>1715; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_16_32 = mul <4 x i32> %zl1_16_32, %zl2_16_321716; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %sw_16_64 = sext <4 x i16> %i16 to <4 x i64>1717; CHECK-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_64 = mul <4 x i64> %i64, %sw_16_641718; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_64 = sext <4 x i16> %i16 to <4 x i64>1719; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_64 = sext <4 x i16> %i16 to <4 x i64>1720; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_64 = mul <4 x i64> %sl1_16_64, %sl2_16_641721; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %zw_16_64 = zext <4 x i16> %i16 to <4 x i64>1722; CHECK-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_64 = mul <4 x i64> %i64, %zw_16_641723; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_64 = zext <4 x i16> %i16 to <4 x i64>1724; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_64 = zext <4 x i16> %i16 to <4 x i64>1725; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_64 = mul <4 x i64> %zl1_16_64, %zl2_16_641726; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %sw_32_64 = sext <4 x i32> %i32 to <4 x i64>1727; CHECK-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %asw_32_64 = mul <4 x i64> %i64, %sw_32_641728; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_32_64 = sext <4 x i32> %i32 to <4 x i64>1729; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_32_64 = sext <4 x i32> %i32 to <4 x i64>1730; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asl_32_64 = mul <4 x i64> %sl1_32_64, %sl2_32_641731; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %zw_32_64 = zext <4 x i32> %i32 to <4 x i64>1732; CHECK-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %azw_32_64 = mul <4 x i64> %i64, %zw_32_641733; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_32_64 = zext <4 x i32> %i32 to <4 x i64>1734; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_32_64 = zext <4 x i32> %i32 to <4 x i64>1735; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azl_32_64 = mul <4 x i64> %zl1_32_64, %zl2_32_641736; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1737;1738  %sw_8_16 = sext <4 x i8> %i8 to <4 x i16>1739  %asw_8_16 = mul <4 x i16> %i16, %sw_8_161740  %sl1_8_16 = sext <4 x i8> %i8 to <4 x i16>1741  %sl2_8_16 = sext <4 x i8> %i8 to <4 x i16>1742  %asl_8_16 = mul <4 x i16> %sl1_8_16, %sl2_8_161743 1744  %zw_8_16 = zext <4 x i8> %i8 to <4 x i16>1745  %azw_8_16 = mul <4 x i16> %i16, %zw_8_161746  %zl1_8_16 = zext <4 x i8> %i8 to <4 x i16>1747  %zl2_8_16 = zext <4 x i8> %i8 to <4 x i16>1748  %azl_8_16 = mul <4 x i16> %zl1_8_16, %zl2_8_161749 1750  %sw_8_32 = sext <4 x i8> %i8 to <4 x i32>1751  %asw_8_32 = mul <4 x i32> %i32, %sw_8_321752  %sl1_8_32 = sext <4 x i8> %i8 to <4 x i32>1753  %sl2_8_32 = sext <4 x i8> %i8 to <4 x i32>1754  %asl_8_32 = mul <4 x i32> %sl1_8_32, %sl2_8_321755 1756  %zw_8_32 = zext <4 x i8> %i8 to <4 x i32>1757  %azw_8_32 = mul <4 x i32> %i32, %zw_8_321758  %zl1_8_32 = zext <4 x i8> %i8 to <4 x i32>1759  %zl2_8_32 = zext <4 x i8> %i8 to <4 x i32>1760  %azl_8_32 = mul <4 x i32> %zl1_8_32, %zl2_8_321761 1762  %sw_8_64 = sext <4 x i8> %i8 to <4 x i64>1763  %asw_8_64 = mul <4 x i64> %i64, %sw_8_641764  %sl1_8_64 = sext <4 x i8> %i8 to <4 x i64>1765  %sl2_8_64 = sext <4 x i8> %i8 to <4 x i64>1766  %asl_8_64 = mul <4 x i64> %sl1_8_64, %sl2_8_641767 1768  %zw_8_64 = zext <4 x i8> %i8 to <4 x i64>1769  %azw_8_64 = mul <4 x i64> %i64, %zw_8_641770  %zl1_8_64 = zext <4 x i8> %i8 to <4 x i64>1771  %zl2_8_64 = zext <4 x i8> %i8 to <4 x i64>1772  %azl_8_64 = mul <4 x i64> %zl1_8_64, %zl2_8_641773 1774  %sw_16_32 = sext <4 x i16> %i16 to <4 x i32>1775  %asw_16_32 = mul <4 x i32> %i32, %sw_16_321776  %sl1_16_32 = sext <4 x i16> %i16 to <4 x i32>1777  %sl2_16_32 = sext <4 x i16> %i16 to <4 x i32>1778  %asl_16_32 = mul <4 x i32> %sl1_16_32, %sl2_16_321779 1780  %zw_16_32 = zext <4 x i16> %i16 to <4 x i32>1781  %azw_16_32 = mul <4 x i32> %i32, %zw_16_321782  %zl1_16_32 = zext <4 x i16> %i16 to <4 x i32>1783  %zl2_16_32 = zext <4 x i16> %i16 to <4 x i32>1784  %azl_16_32 = mul <4 x i32> %zl1_16_32, %zl2_16_321785 1786  %sw_16_64 = sext <4 x i16> %i16 to <4 x i64>1787  %asw_16_64 = mul <4 x i64> %i64, %sw_16_641788  %sl1_16_64 = sext <4 x i16> %i16 to <4 x i64>1789  %sl2_16_64 = sext <4 x i16> %i16 to <4 x i64>1790  %asl_16_64 = mul <4 x i64> %sl1_16_64, %sl2_16_641791 1792  %zw_16_64 = zext <4 x i16> %i16 to <4 x i64>1793  %azw_16_64 = mul <4 x i64> %i64, %zw_16_641794  %zl1_16_64 = zext <4 x i16> %i16 to <4 x i64>1795  %zl2_16_64 = zext <4 x i16> %i16 to <4 x i64>1796  %azl_16_64 = mul <4 x i64> %zl1_16_64, %zl2_16_641797 1798  %sw_32_64 = sext <4 x i32> %i32 to <4 x i64>1799  %asw_32_64 = mul <4 x i64> %i64, %sw_32_641800  %sl1_32_64 = sext <4 x i32> %i32 to <4 x i64>1801  %sl2_32_64 = sext <4 x i32> %i32 to <4 x i64>1802  %asl_32_64 = mul <4 x i64> %sl1_32_64, %sl2_32_641803 1804  %zw_32_64 = zext <4 x i32> %i32 to <4 x i64>1805  %azw_32_64 = mul <4 x i64> %i64, %zw_32_641806  %zl1_32_64 = zext <4 x i32> %i32 to <4 x i64>1807  %zl2_32_64 = zext <4 x i32> %i32 to <4 x i64>1808  %azl_32_64 = mul <4 x i64> %zl1_32_64, %zl2_32_641809 1810  ret void1811}1812 1813define void @extmulv8(<8 x i8> %i8, <8 x i16> %i16, <8 x i32> %i32, <8 x i64> %i64)  {1814; CHECK-LABEL: 'extmulv8'1815; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sw_8_16 = sext <8 x i8> %i8 to <8 x i16>1816; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asw_8_16 = mul <8 x i16> %i16, %sw_8_161817; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_16 = sext <8 x i8> %i8 to <8 x i16>1818; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_16 = sext <8 x i8> %i8 to <8 x i16>1819; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_16 = mul <8 x i16> %sl1_8_16, %sl2_8_161820; CHECK-NEXT:  Cost Model: Found costs of 1 for: %zw_8_16 = zext <8 x i8> %i8 to <8 x i16>1821; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azw_8_16 = mul <8 x i16> %i16, %zw_8_161822; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_16 = zext <8 x i8> %i8 to <8 x i16>1823; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_16 = zext <8 x i8> %i8 to <8 x i16>1824; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_16 = mul <8 x i16> %zl1_8_16, %zl2_8_161825; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_32 = sext <8 x i8> %i8 to <8 x i32>1826; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_32 = mul <8 x i32> %i32, %sw_8_321827; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_32 = sext <8 x i8> %i8 to <8 x i32>1828; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_32 = sext <8 x i8> %i8 to <8 x i32>1829; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_32 = mul <8 x i32> %sl1_8_32, %sl2_8_321830; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_32 = zext <8 x i8> %i8 to <8 x i32>1831; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_32 = mul <8 x i32> %i32, %zw_8_321832; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_32 = zext <8 x i8> %i8 to <8 x i32>1833; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_32 = zext <8 x i8> %i8 to <8 x i32>1834; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_32 = mul <8 x i32> %zl1_8_32, %zl2_8_321835; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_64 = sext <8 x i8> %i8 to <8 x i64>1836; CHECK-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_64 = mul <8 x i64> %i64, %sw_8_641837; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_64 = sext <8 x i8> %i8 to <8 x i64>1838; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_64 = sext <8 x i8> %i8 to <8 x i64>1839; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_64 = mul <8 x i64> %sl1_8_64, %sl2_8_641840; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_64 = zext <8 x i8> %i8 to <8 x i64>1841; CHECK-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_64 = mul <8 x i64> %i64, %zw_8_641842; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_64 = zext <8 x i8> %i8 to <8 x i64>1843; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_64 = zext <8 x i8> %i8 to <8 x i64>1844; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_64 = mul <8 x i64> %zl1_8_64, %zl2_8_641845; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %sw_16_32 = sext <8 x i16> %i16 to <8 x i32>1846; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_32 = mul <8 x i32> %i32, %sw_16_321847; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_32 = sext <8 x i16> %i16 to <8 x i32>1848; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_32 = sext <8 x i16> %i16 to <8 x i32>1849; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_32 = mul <8 x i32> %sl1_16_32, %sl2_16_321850; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %zw_16_32 = zext <8 x i16> %i16 to <8 x i32>1851; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_32 = mul <8 x i32> %i32, %zw_16_321852; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_32 = zext <8 x i16> %i16 to <8 x i32>1853; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_32 = zext <8 x i16> %i16 to <8 x i32>1854; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_32 = mul <8 x i32> %zl1_16_32, %zl2_16_321855; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %sw_16_64 = sext <8 x i16> %i16 to <8 x i64>1856; CHECK-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_64 = mul <8 x i64> %i64, %sw_16_641857; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_64 = sext <8 x i16> %i16 to <8 x i64>1858; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_64 = sext <8 x i16> %i16 to <8 x i64>1859; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_64 = mul <8 x i64> %sl1_16_64, %sl2_16_641860; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %zw_16_64 = zext <8 x i16> %i16 to <8 x i64>1861; CHECK-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_64 = mul <8 x i64> %i64, %zw_16_641862; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_64 = zext <8 x i16> %i16 to <8 x i64>1863; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_64 = zext <8 x i16> %i16 to <8 x i64>1864; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_64 = mul <8 x i64> %zl1_16_64, %zl2_16_641865; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %sw_32_64 = sext <8 x i32> %i32 to <8 x i64>1866; CHECK-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:1 SizeLat:1 for: %asw_32_64 = mul <8 x i64> %i64, %sw_32_641867; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_32_64 = sext <8 x i32> %i32 to <8 x i64>1868; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_32_64 = sext <8 x i32> %i32 to <8 x i64>1869; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asl_32_64 = mul <8 x i64> %sl1_32_64, %sl2_32_641870; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %zw_32_64 = zext <8 x i32> %i32 to <8 x i64>1871; CHECK-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:1 SizeLat:1 for: %azw_32_64 = mul <8 x i64> %i64, %zw_32_641872; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_32_64 = zext <8 x i32> %i32 to <8 x i64>1873; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_32_64 = zext <8 x i32> %i32 to <8 x i64>1874; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azl_32_64 = mul <8 x i64> %zl1_32_64, %zl2_32_641875; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1876;1877  %sw_8_16 = sext <8 x i8> %i8 to <8 x i16>1878  %asw_8_16 = mul <8 x i16> %i16, %sw_8_161879  %sl1_8_16 = sext <8 x i8> %i8 to <8 x i16>1880  %sl2_8_16 = sext <8 x i8> %i8 to <8 x i16>1881  %asl_8_16 = mul <8 x i16> %sl1_8_16, %sl2_8_161882 1883  %zw_8_16 = zext <8 x i8> %i8 to <8 x i16>1884  %azw_8_16 = mul <8 x i16> %i16, %zw_8_161885  %zl1_8_16 = zext <8 x i8> %i8 to <8 x i16>1886  %zl2_8_16 = zext <8 x i8> %i8 to <8 x i16>1887  %azl_8_16 = mul <8 x i16> %zl1_8_16, %zl2_8_161888 1889  %sw_8_32 = sext <8 x i8> %i8 to <8 x i32>1890  %asw_8_32 = mul <8 x i32> %i32, %sw_8_321891  %sl1_8_32 = sext <8 x i8> %i8 to <8 x i32>1892  %sl2_8_32 = sext <8 x i8> %i8 to <8 x i32>1893  %asl_8_32 = mul <8 x i32> %sl1_8_32, %sl2_8_321894 1895  %zw_8_32 = zext <8 x i8> %i8 to <8 x i32>1896  %azw_8_32 = mul <8 x i32> %i32, %zw_8_321897  %zl1_8_32 = zext <8 x i8> %i8 to <8 x i32>1898  %zl2_8_32 = zext <8 x i8> %i8 to <8 x i32>1899  %azl_8_32 = mul <8 x i32> %zl1_8_32, %zl2_8_321900 1901  %sw_8_64 = sext <8 x i8> %i8 to <8 x i64>1902  %asw_8_64 = mul <8 x i64> %i64, %sw_8_641903  %sl1_8_64 = sext <8 x i8> %i8 to <8 x i64>1904  %sl2_8_64 = sext <8 x i8> %i8 to <8 x i64>1905  %asl_8_64 = mul <8 x i64> %sl1_8_64, %sl2_8_641906 1907  %zw_8_64 = zext <8 x i8> %i8 to <8 x i64>1908  %azw_8_64 = mul <8 x i64> %i64, %zw_8_641909  %zl1_8_64 = zext <8 x i8> %i8 to <8 x i64>1910  %zl2_8_64 = zext <8 x i8> %i8 to <8 x i64>1911  %azl_8_64 = mul <8 x i64> %zl1_8_64, %zl2_8_641912 1913  %sw_16_32 = sext <8 x i16> %i16 to <8 x i32>1914  %asw_16_32 = mul <8 x i32> %i32, %sw_16_321915  %sl1_16_32 = sext <8 x i16> %i16 to <8 x i32>1916  %sl2_16_32 = sext <8 x i16> %i16 to <8 x i32>1917  %asl_16_32 = mul <8 x i32> %sl1_16_32, %sl2_16_321918 1919  %zw_16_32 = zext <8 x i16> %i16 to <8 x i32>1920  %azw_16_32 = mul <8 x i32> %i32, %zw_16_321921  %zl1_16_32 = zext <8 x i16> %i16 to <8 x i32>1922  %zl2_16_32 = zext <8 x i16> %i16 to <8 x i32>1923  %azl_16_32 = mul <8 x i32> %zl1_16_32, %zl2_16_321924 1925  %sw_16_64 = sext <8 x i16> %i16 to <8 x i64>1926  %asw_16_64 = mul <8 x i64> %i64, %sw_16_641927  %sl1_16_64 = sext <8 x i16> %i16 to <8 x i64>1928  %sl2_16_64 = sext <8 x i16> %i16 to <8 x i64>1929  %asl_16_64 = mul <8 x i64> %sl1_16_64, %sl2_16_641930 1931  %zw_16_64 = zext <8 x i16> %i16 to <8 x i64>1932  %azw_16_64 = mul <8 x i64> %i64, %zw_16_641933  %zl1_16_64 = zext <8 x i16> %i16 to <8 x i64>1934  %zl2_16_64 = zext <8 x i16> %i16 to <8 x i64>1935  %azl_16_64 = mul <8 x i64> %zl1_16_64, %zl2_16_641936 1937  %sw_32_64 = sext <8 x i32> %i32 to <8 x i64>1938  %asw_32_64 = mul <8 x i64> %i64, %sw_32_641939  %sl1_32_64 = sext <8 x i32> %i32 to <8 x i64>1940  %sl2_32_64 = sext <8 x i32> %i32 to <8 x i64>1941  %asl_32_64 = mul <8 x i64> %sl1_32_64, %sl2_32_641942 1943  %zw_32_64 = zext <8 x i32> %i32 to <8 x i64>1944  %azw_32_64 = mul <8 x i64> %i64, %zw_32_641945  %zl1_32_64 = zext <8 x i32> %i32 to <8 x i64>1946  %zl2_32_64 = zext <8 x i32> %i32 to <8 x i64>1947  %azl_32_64 = mul <8 x i64> %zl1_32_64, %zl2_32_641948 1949  ret void1950}1951 1952define void @extmulv16(<16 x i8> %i8, <16 x i16> %i16, <16 x i32> %i32, <16 x i64> %i64)  {1953; CHECK-LABEL: 'extmulv16'1954; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_16 = sext <16 x i8> %i8 to <16 x i16>1955; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_16 = mul <16 x i16> %i16, %sw_8_161956; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_16 = sext <16 x i8> %i8 to <16 x i16>1957; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_16 = sext <16 x i8> %i8 to <16 x i16>1958; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_16 = mul <16 x i16> %sl1_8_16, %sl2_8_161959; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_16 = zext <16 x i8> %i8 to <16 x i16>1960; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_16 = mul <16 x i16> %i16, %zw_8_161961; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_16 = zext <16 x i8> %i8 to <16 x i16>1962; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_16 = zext <16 x i8> %i8 to <16 x i16>1963; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_16 = mul <16 x i16> %zl1_8_16, %zl2_8_161964; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_32 = sext <16 x i8> %i8 to <16 x i32>1965; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_32 = mul <16 x i32> %i32, %sw_8_321966; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_32 = sext <16 x i8> %i8 to <16 x i32>1967; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_32 = sext <16 x i8> %i8 to <16 x i32>1968; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_32 = mul <16 x i32> %sl1_8_32, %sl2_8_321969; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_32 = zext <16 x i8> %i8 to <16 x i32>1970; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_32 = mul <16 x i32> %i32, %zw_8_321971; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_32 = zext <16 x i8> %i8 to <16 x i32>1972; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_32 = zext <16 x i8> %i8 to <16 x i32>1973; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_32 = mul <16 x i32> %zl1_8_32, %zl2_8_321974; CHECK-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %sw_8_64 = sext <16 x i8> %i8 to <16 x i64>1975; CHECK-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:1 Lat:1 SizeLat:1 for: %asw_8_64 = mul <16 x i64> %i64, %sw_8_641976; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_8_64 = sext <16 x i8> %i8 to <16 x i64>1977; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_8_64 = sext <16 x i8> %i8 to <16 x i64>1978; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %asl_8_64 = mul <16 x i64> %sl1_8_64, %sl2_8_641979; CHECK-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %zw_8_64 = zext <16 x i8> %i8 to <16 x i64>1980; CHECK-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:1 Lat:1 SizeLat:1 for: %azw_8_64 = mul <16 x i64> %i64, %zw_8_641981; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_64 = zext <16 x i8> %i8 to <16 x i64>1982; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_8_64 = zext <16 x i8> %i8 to <16 x i64>1983; CHECK-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %azl_8_64 = mul <16 x i64> %zl1_8_64, %zl2_8_641984; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %sw_16_32 = sext <16 x i16> %i16 to <16 x i32>1985; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_32 = mul <16 x i32> %i32, %sw_16_321986; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_32 = sext <16 x i16> %i16 to <16 x i32>1987; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_32 = sext <16 x i16> %i16 to <16 x i32>1988; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_32 = mul <16 x i32> %sl1_16_32, %sl2_16_321989; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %zw_16_32 = zext <16 x i16> %i16 to <16 x i32>1990; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_32 = mul <16 x i32> %i32, %zw_16_321991; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_32 = zext <16 x i16> %i16 to <16 x i32>1992; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_32 = zext <16 x i16> %i16 to <16 x i32>1993; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_32 = mul <16 x i32> %zl1_16_32, %zl2_16_321994; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %sw_16_64 = sext <16 x i16> %i16 to <16 x i64>1995; CHECK-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:1 Lat:1 SizeLat:1 for: %asw_16_64 = mul <16 x i64> %i64, %sw_16_641996; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_16_64 = sext <16 x i16> %i16 to <16 x i64>1997; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_16_64 = sext <16 x i16> %i16 to <16 x i64>1998; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %asl_16_64 = mul <16 x i64> %sl1_16_64, %sl2_16_641999; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %zw_16_64 = zext <16 x i16> %i16 to <16 x i64>2000; CHECK-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:1 Lat:1 SizeLat:1 for: %azw_16_64 = mul <16 x i64> %i64, %zw_16_642001; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_16_64 = zext <16 x i16> %i16 to <16 x i64>2002; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_16_64 = zext <16 x i16> %i16 to <16 x i64>2003; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %azl_16_64 = mul <16 x i64> %zl1_16_64, %zl2_16_642004; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %sw_32_64 = sext <16 x i32> %i32 to <16 x i64>2005; CHECK-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:1 Lat:1 SizeLat:1 for: %asw_32_64 = mul <16 x i64> %i64, %sw_32_642006; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl1_32_64 = sext <16 x i32> %i32 to <16 x i64>2007; CHECK-NEXT:  Cost Model: Found costs of 0 for: %sl2_32_64 = sext <16 x i32> %i32 to <16 x i64>2008; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %asl_32_64 = mul <16 x i64> %sl1_32_64, %sl2_32_642009; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %zw_32_64 = zext <16 x i32> %i32 to <16 x i64>2010; CHECK-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:1 Lat:1 SizeLat:1 for: %azw_32_64 = mul <16 x i64> %i64, %zw_32_642011; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_32_64 = zext <16 x i32> %i32 to <16 x i64>2012; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl2_32_64 = zext <16 x i32> %i32 to <16 x i64>2013; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %azl_32_64 = mul <16 x i64> %zl1_32_64, %zl2_32_642014; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void2015;2016  %sw_8_16 = sext <16 x i8> %i8 to <16 x i16>2017  %asw_8_16 = mul <16 x i16> %i16, %sw_8_162018  %sl1_8_16 = sext <16 x i8> %i8 to <16 x i16>2019  %sl2_8_16 = sext <16 x i8> %i8 to <16 x i16>2020  %asl_8_16 = mul <16 x i16> %sl1_8_16, %sl2_8_162021 2022  %zw_8_16 = zext <16 x i8> %i8 to <16 x i16>2023  %azw_8_16 = mul <16 x i16> %i16, %zw_8_162024  %zl1_8_16 = zext <16 x i8> %i8 to <16 x i16>2025  %zl2_8_16 = zext <16 x i8> %i8 to <16 x i16>2026  %azl_8_16 = mul <16 x i16> %zl1_8_16, %zl2_8_162027 2028  %sw_8_32 = sext <16 x i8> %i8 to <16 x i32>2029  %asw_8_32 = mul <16 x i32> %i32, %sw_8_322030  %sl1_8_32 = sext <16 x i8> %i8 to <16 x i32>2031  %sl2_8_32 = sext <16 x i8> %i8 to <16 x i32>2032  %asl_8_32 = mul <16 x i32> %sl1_8_32, %sl2_8_322033 2034  %zw_8_32 = zext <16 x i8> %i8 to <16 x i32>2035  %azw_8_32 = mul <16 x i32> %i32, %zw_8_322036  %zl1_8_32 = zext <16 x i8> %i8 to <16 x i32>2037  %zl2_8_32 = zext <16 x i8> %i8 to <16 x i32>2038  %azl_8_32 = mul <16 x i32> %zl1_8_32, %zl2_8_322039 2040  %sw_8_64 = sext <16 x i8> %i8 to <16 x i64>2041  %asw_8_64 = mul <16 x i64> %i64, %sw_8_642042  %sl1_8_64 = sext <16 x i8> %i8 to <16 x i64>2043  %sl2_8_64 = sext <16 x i8> %i8 to <16 x i64>2044  %asl_8_64 = mul <16 x i64> %sl1_8_64, %sl2_8_642045 2046  %zw_8_64 = zext <16 x i8> %i8 to <16 x i64>2047  %azw_8_64 = mul <16 x i64> %i64, %zw_8_642048  %zl1_8_64 = zext <16 x i8> %i8 to <16 x i64>2049  %zl2_8_64 = zext <16 x i8> %i8 to <16 x i64>2050  %azl_8_64 = mul <16 x i64> %zl1_8_64, %zl2_8_642051 2052  %sw_16_32 = sext <16 x i16> %i16 to <16 x i32>2053  %asw_16_32 = mul <16 x i32> %i32, %sw_16_322054  %sl1_16_32 = sext <16 x i16> %i16 to <16 x i32>2055  %sl2_16_32 = sext <16 x i16> %i16 to <16 x i32>2056  %asl_16_32 = mul <16 x i32> %sl1_16_32, %sl2_16_322057 2058  %zw_16_32 = zext <16 x i16> %i16 to <16 x i32>2059  %azw_16_32 = mul <16 x i32> %i32, %zw_16_322060  %zl1_16_32 = zext <16 x i16> %i16 to <16 x i32>2061  %zl2_16_32 = zext <16 x i16> %i16 to <16 x i32>2062  %azl_16_32 = mul <16 x i32> %zl1_16_32, %zl2_16_322063 2064  %sw_16_64 = sext <16 x i16> %i16 to <16 x i64>2065  %asw_16_64 = mul <16 x i64> %i64, %sw_16_642066  %sl1_16_64 = sext <16 x i16> %i16 to <16 x i64>2067  %sl2_16_64 = sext <16 x i16> %i16 to <16 x i64>2068  %asl_16_64 = mul <16 x i64> %sl1_16_64, %sl2_16_642069 2070  %zw_16_64 = zext <16 x i16> %i16 to <16 x i64>2071  %azw_16_64 = mul <16 x i64> %i64, %zw_16_642072  %zl1_16_64 = zext <16 x i16> %i16 to <16 x i64>2073  %zl2_16_64 = zext <16 x i16> %i16 to <16 x i64>2074  %azl_16_64 = mul <16 x i64> %zl1_16_64, %zl2_16_642075 2076  %sw_32_64 = sext <16 x i32> %i32 to <16 x i64>2077  %asw_32_64 = mul <16 x i64> %i64, %sw_32_642078  %sl1_32_64 = sext <16 x i32> %i32 to <16 x i64>2079  %sl2_32_64 = sext <16 x i32> %i32 to <16 x i64>2080  %asl_32_64 = mul <16 x i64> %sl1_32_64, %sl2_32_642081 2082  %zw_32_64 = zext <16 x i32> %i32 to <16 x i64>2083  %azw_32_64 = mul <16 x i64> %i64, %zw_32_642084  %zl1_32_64 = zext <16 x i32> %i32 to <16 x i64>2085  %zl2_32_64 = zext <16 x i32> %i32 to <16 x i64>2086  %azl_32_64 = mul <16 x i64> %zl1_32_64, %zl2_32_642087 2088  ret void2089}2090 2091define void @extmul_const(<8 x i8> %i8, <8 x i16> %i16, <8 x i32> %i32, <8 x i64> %i64)  {2092; CHECK-LABEL: 'extmul_const'2093; CHECK-NEXT:  Cost Model: Found costs of 1 for: %sl1_8_16 = sext <8 x i8> %i8 to <8 x i16>2094; CHECK-NEXT:  Cost Model: Found costs of 1 for: %asl_8_16 = mul <8 x i16> %sl1_8_16, splat (i16 10)2095; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_16 = zext <8 x i8> %i8 to <8 x i16>2096; CHECK-NEXT:  Cost Model: Found costs of 1 for: %azl_8_16 = mul <8 x i16> %zl1_8_16, splat (i16 10)2097; CHECK-NEXT:  Cost Model: Found costs of 0 for: %zl1_8_16b = zext <8 x i8> %i8 to <8 x i16>2098; CHECK-NEXT:  Cost Model: Found costs of 1 for: %and = and <8 x i16> %sl1_8_16, splat (i16 255)2099; CHECK-NEXT:  Cost Model: Found costs of 1 for: %aal_8_16 = mul <8 x i16> %zl1_8_16b, %and2100; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void2101;2102  %sl1_8_16 = sext <8 x i8> %i8 to <8 x i16>2103  %asl_8_16 = mul <8 x i16> %sl1_8_16, <i16 10, i16 10, i16 10, i16 10, i16 10, i16 10, i16 10, i16 10>2104 2105  %zl1_8_16 = zext <8 x i8> %i8 to <8 x i16>2106  %azl_8_16 = mul <8 x i16> %zl1_8_16, <i16 10, i16 10, i16 10, i16 10, i16 10, i16 10, i16 10, i16 10>2107 2108  %zl1_8_16b = zext <8 x i8> %i8 to <8 x i16>2109  %and = and <8 x i16> %sl1_8_16, <i16 255, i16 255, i16 255, i16 255, i16 255, i16 255, i16 255, i16 255>2110  %aal_8_16 = mul <8 x i16> %zl1_8_16b, %and2111 2112  ret void2113}2114