brintos

brintos / llvm-project-archived public Read only

0
0
Text · 184.6 KiB · 9af20fe Raw
1989 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py2; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-apple-macosx10.8.0 -mattr=+sse2 | FileCheck %s --check-prefixes=SSE23; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-apple-macosx10.8.0 -mattr=+ssse3 | FileCheck %s --check-prefixes=SSSE34; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-apple-macosx10.8.0 -mattr=+sse4.2 | FileCheck %s --check-prefixes=SSE425; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-apple-macosx10.8.0 -mattr=+avx | FileCheck %s --check-prefixes=AVX16; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-apple-macosx10.8.0 -mattr=+avx2 | FileCheck %s --check-prefixes=AVX27; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-apple-macosx10.8.0 -mattr=+avx512f | FileCheck %s --check-prefixes=AVX512,AVX512F8; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-apple-macosx10.8.0 -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefixes=AVX512,AVX512BW9; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-apple-macosx10.8.0 -mattr=+avx512f,+avx512dq | FileCheck %s --check-prefixes=AVX512,AVX512DQ10;11; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-apple-macosx10.8.0 -mcpu=slm | FileCheck %s --check-prefixes=SLM12; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-apple-macosx10.8.0 -mcpu=goldmont | FileCheck %s --check-prefixes=GLM13; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-apple-macosx10.8.0 -mcpu=btver2 | FileCheck %s --check-prefixes=AVX114; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-apple-macosx10.8.0 -mcpu=knl | FileCheck %s --check-prefixes=AVX512,AVX512F15 16;17; mul vXi8 -> mXi6418;19 20define void @mul_sext_vXi8(<2 x i8> %a2, <2 x i8> %b2, <4 x i8> %a4, <4 x i8> %b4, <8 x i8> %a8, <8 x i8> %b8, <16 x i8> %a16, <16 x i8> %b16, <32 x i8> %a32, <32 x i8> %b32, <64 x i8> %a64, <64 x i8> %b64)  {21; SSE2-LABEL: 'mul_sext_vXi8'22; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>23; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %xb2 = sext <2 x i8> %b2 to <2 x i64>24; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>25; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %xb4 = sext <4 x i8> %b4 to <4 x i64>26; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>27; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %xb8 = sext <8 x i8> %b8 to <8 x i64>28; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>29; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:8 Lat:8 SizeLat:8 for: %xb16 = sext <16 x i8> %b16 to <16 x i64>30; SSE2-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>31; SSE2-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:16 Lat:16 SizeLat:16 for: %xb32 = sext <32 x i8> %b32 to <32 x i64>32; SSE2-NEXT:  Cost Model: Found costs of RThru:128 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>33; SSE2-NEXT:  Cost Model: Found costs of RThru:128 CodeSize:32 Lat:32 SizeLat:32 for: %xb64 = sext <64 x i8> %b64 to <64 x i64>34; SSE2-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb235; SSE2-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb436; SSE2-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb837; SSE2-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb1638; SSE2-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb3239; SSE2-NEXT:  Cost Model: Found costs of RThru:224 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb6440; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void41;42; SSSE3-LABEL: 'mul_sext_vXi8'43; SSSE3-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>44; SSSE3-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %xb2 = sext <2 x i8> %b2 to <2 x i64>45; SSSE3-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>46; SSSE3-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %xb4 = sext <4 x i8> %b4 to <4 x i64>47; SSSE3-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>48; SSSE3-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %xb8 = sext <8 x i8> %b8 to <8 x i64>49; SSSE3-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>50; SSSE3-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:8 Lat:8 SizeLat:8 for: %xb16 = sext <16 x i8> %b16 to <16 x i64>51; SSSE3-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>52; SSSE3-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:16 Lat:16 SizeLat:16 for: %xb32 = sext <32 x i8> %b32 to <32 x i64>53; SSSE3-NEXT:  Cost Model: Found costs of RThru:128 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>54; SSSE3-NEXT:  Cost Model: Found costs of RThru:128 CodeSize:32 Lat:32 SizeLat:32 for: %xb64 = sext <64 x i8> %b64 to <64 x i64>55; SSSE3-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb256; SSSE3-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb457; SSSE3-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb858; SSSE3-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb1659; SSSE3-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb3260; SSSE3-NEXT:  Cost Model: Found costs of RThru:224 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb6461; SSSE3-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void62;63; SSE42-LABEL: 'mul_sext_vXi8'64; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>65; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i8> %b2 to <2 x i64>66; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>67; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xb4 = sext <4 x i8> %b4 to <4 x i64>68; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>69; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xb8 = sext <8 x i8> %b8 to <8 x i64>70; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>71; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xb16 = sext <16 x i8> %b16 to <16 x i64>72; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>73; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xb32 = sext <32 x i8> %b32 to <32 x i64>74; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>75; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xb64 = sext <64 x i8> %b64 to <64 x i64>76; SSE42-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb277; SSE42-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb478; SSE42-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb879; SSE42-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb1680; SSE42-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb3281; SSE42-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb6482; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void83;84; AVX1-LABEL: 'mul_sext_vXi8'85; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>86; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i8> %b2 to <2 x i64>87; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>88; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = sext <4 x i8> %b4 to <4 x i64>89; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>90; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xb8 = sext <8 x i8> %b8 to <8 x i64>91; AVX1-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>92; AVX1-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %xb16 = sext <16 x i8> %b16 to <16 x i64>93; AVX1-NEXT:  Cost Model: Found costs of RThru:25 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>94; AVX1-NEXT:  Cost Model: Found costs of RThru:25 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = sext <32 x i8> %b32 to <32 x i64>95; AVX1-NEXT:  Cost Model: Found costs of RThru:50 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>96; AVX1-NEXT:  Cost Model: Found costs of RThru:50 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = sext <64 x i8> %b64 to <64 x i64>97; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb298; AVX1-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:19 Lat:15 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb499; AVX1-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:38 Lat:30 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb8100; AVX1-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:76 Lat:60 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb16101; AVX1-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:152 Lat:120 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb32102; AVX1-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:304 Lat:240 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb64103; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void104;105; AVX2-LABEL: 'mul_sext_vXi8'106; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>107; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i8> %b2 to <2 x i64>108; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>109; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = sext <4 x i8> %b4 to <4 x i64>110; AVX2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>111; AVX2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xb8 = sext <8 x i8> %b8 to <8 x i64>112; AVX2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>113; AVX2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xb16 = sext <16 x i8> %b16 to <16 x i64>114; AVX2-NEXT:  Cost Model: Found costs of RThru:17 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>115; AVX2-NEXT:  Cost Model: Found costs of RThru:17 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = sext <32 x i8> %b32 to <32 x i64>116; AVX2-NEXT:  Cost Model: Found costs of RThru:34 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>117; AVX2-NEXT:  Cost Model: Found costs of RThru:34 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = sext <64 x i8> %b64 to <64 x i64>118; AVX2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb2119; AVX2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb4120; AVX2-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:20 SizeLat:26 for: %res8 = mul <8 x i64> %xa8, %xb8121; AVX2-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:40 SizeLat:52 for: %res16 = mul <16 x i64> %xa16, %xb16122; AVX2-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:80 SizeLat:104 for: %res32 = mul <32 x i64> %xa32, %xb32123; AVX2-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:128 Lat:160 SizeLat:208 for: %res64 = mul <64 x i64> %xa64, %xb64124; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void125;126; AVX512F-LABEL: 'mul_sext_vXi8'127; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>128; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i8> %b2 to <2 x i64>129; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>130; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb4 = sext <4 x i8> %b4 to <4 x i64>131; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>132; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb8 = sext <8 x i8> %b8 to <8 x i64>133; AVX512F-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>134; AVX512F-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = sext <16 x i8> %b16 to <16 x i64>135; AVX512F-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>136; AVX512F-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = sext <32 x i8> %b32 to <32 x i64>137; AVX512F-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>138; AVX512F-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = sext <64 x i8> %b64 to <64 x i64>139; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb2140; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb4141; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:9 SizeLat:8 for: %res8 = mul <8 x i64> %xa8, %xb8142; AVX512F-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:18 SizeLat:16 for: %res16 = mul <16 x i64> %xa16, %xb16143; AVX512F-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:36 SizeLat:32 for: %res32 = mul <32 x i64> %xa32, %xb32144; AVX512F-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:72 SizeLat:64 for: %res64 = mul <64 x i64> %xa64, %xb64145; AVX512F-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void146;147; AVX512BW-LABEL: 'mul_sext_vXi8'148; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>149; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i8> %b2 to <2 x i64>150; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>151; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb4 = sext <4 x i8> %b4 to <4 x i64>152; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>153; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb8 = sext <8 x i8> %b8 to <8 x i64>154; AVX512BW-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>155; AVX512BW-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = sext <16 x i8> %b16 to <16 x i64>156; AVX512BW-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>157; AVX512BW-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = sext <32 x i8> %b32 to <32 x i64>158; AVX512BW-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>159; AVX512BW-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = sext <64 x i8> %b64 to <64 x i64>160; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb2161; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb4162; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:9 SizeLat:8 for: %res8 = mul <8 x i64> %xa8, %xb8163; AVX512BW-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:18 SizeLat:16 for: %res16 = mul <16 x i64> %xa16, %xb16164; AVX512BW-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:36 SizeLat:32 for: %res32 = mul <32 x i64> %xa32, %xb32165; AVX512BW-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:72 SizeLat:64 for: %res64 = mul <64 x i64> %xa64, %xb64166; AVX512BW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void167;168; AVX512DQ-LABEL: 'mul_sext_vXi8'169; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>170; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i8> %b2 to <2 x i64>171; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>172; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb4 = sext <4 x i8> %b4 to <4 x i64>173; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>174; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb8 = sext <8 x i8> %b8 to <8 x i64>175; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>176; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = sext <16 x i8> %b16 to <16 x i64>177; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>178; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = sext <32 x i8> %b32 to <32 x i64>179; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>180; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = sext <64 x i8> %b64 to <64 x i64>181; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:15 SizeLat:3 for: %res2 = mul <2 x i64> %xa2, %xb2182; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:15 SizeLat:3 for: %res4 = mul <4 x i64> %xa4, %xb4183; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:15 SizeLat:3 for: %res8 = mul <8 x i64> %xa8, %xb8184; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:30 SizeLat:6 for: %res16 = mul <16 x i64> %xa16, %xb16185; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:60 SizeLat:12 for: %res32 = mul <32 x i64> %xa32, %xb32186; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:8 Lat:120 SizeLat:24 for: %res64 = mul <64 x i64> %xa64, %xb64187; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void188;189; SLM-LABEL: 'mul_sext_vXi8'190; SLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>191; SLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i8> %b2 to <2 x i64>192; SLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>193; SLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = sext <4 x i8> %b4 to <4 x i64>194; SLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>195; SLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = sext <8 x i8> %b8 to <8 x i64>196; SLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>197; SLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = sext <16 x i8> %b16 to <16 x i64>198; SLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>199; SLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = sext <32 x i8> %b32 to <32 x i64>200; SLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>201; SLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = sext <64 x i8> %b64 to <64 x i64>202; SLM-NEXT:  Cost Model: Found costs of RThru:17 CodeSize:9 Lat:22 SizeLat:9 for: %res2 = mul <2 x i64> %xa2, %xb2203; SLM-NEXT:  Cost Model: Found costs of RThru:34 CodeSize:18 Lat:44 SizeLat:18 for: %res4 = mul <4 x i64> %xa4, %xb4204; SLM-NEXT:  Cost Model: Found costs of RThru:68 CodeSize:36 Lat:88 SizeLat:36 for: %res8 = mul <8 x i64> %xa8, %xb8205; SLM-NEXT:  Cost Model: Found costs of RThru:136 CodeSize:72 Lat:176 SizeLat:72 for: %res16 = mul <16 x i64> %xa16, %xb16206; SLM-NEXT:  Cost Model: Found costs of RThru:272 CodeSize:144 Lat:352 SizeLat:144 for: %res32 = mul <32 x i64> %xa32, %xb32207; SLM-NEXT:  Cost Model: Found costs of RThru:544 CodeSize:288 Lat:704 SizeLat:288 for: %res64 = mul <64 x i64> %xa64, %xb64208; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void209;210; GLM-LABEL: 'mul_sext_vXi8'211; GLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>212; GLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i8> %b2 to <2 x i64>213; GLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>214; GLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = sext <4 x i8> %b4 to <4 x i64>215; GLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>216; GLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = sext <8 x i8> %b8 to <8 x i64>217; GLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>218; GLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = sext <16 x i8> %b16 to <16 x i64>219; GLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>220; GLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = sext <32 x i8> %b32 to <32 x i64>221; GLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>222; GLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = sext <64 x i8> %b64 to <64 x i64>223; GLM-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb2224; GLM-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb4225; GLM-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb8226; GLM-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb16227; GLM-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb32228; GLM-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb64229; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void230;231  %xa2 = sext <2 x i8> %a2 to <2 x i64>232  %xb2 = sext <2 x i8> %b2 to <2 x i64>233  %xa4 = sext <4 x i8> %a4 to <4 x i64>234  %xb4 = sext <4 x i8> %b4 to <4 x i64>235  %xa8 = sext <8 x i8> %a8 to <8 x i64>236  %xb8 = sext <8 x i8> %b8 to <8 x i64>237  %xa16 = sext <16 x i8> %a16 to <16 x i64>238  %xb16 = sext <16 x i8> %b16 to <16 x i64>239  %xa32 = sext <32 x i8> %a32 to <32 x i64>240  %xb32 = sext <32 x i8> %b32 to <32 x i64>241  %xa64 = sext <64 x i8> %a64 to <64 x i64>242  %xb64 = sext <64 x i8> %b64 to <64 x i64>243  %res2 = mul <2 x i64> %xa2, %xb2244  %res4 = mul <4 x i64> %xa4, %xb4245  %res8 = mul <8 x i64> %xa8, %xb8246  %res16 = mul <16 x i64> %xa16, %xb16247  %res32 = mul <32 x i64> %xa32, %xb32248  %res64 = mul <64 x i64> %xa64, %xb64249  ret void250}251 252define void @mul_zext_vXi8(<2 x i8> %a2, <2 x i8> %b2, <4 x i8> %a4, <4 x i8> %b4, <8 x i8> %a8, <8 x i8> %b8, <16 x i8> %a16, <16 x i8> %b16, <32 x i8> %a32, <32 x i8> %b32, <64 x i8> %a64, <64 x i8> %b64)  {253; SSE2-LABEL: 'mul_zext_vXi8'254; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = zext <2 x i8> %a2 to <2 x i64>255; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>256; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = zext <4 x i8> %a4 to <4 x i64>257; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>258; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = zext <8 x i8> %a8 to <8 x i64>259; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>260; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = zext <16 x i8> %a16 to <16 x i64>261; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:8 Lat:8 SizeLat:8 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>262; SSE2-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = zext <32 x i8> %a32 to <32 x i64>263; SSE2-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:16 Lat:16 SizeLat:16 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>264; SSE2-NEXT:  Cost Model: Found costs of RThru:128 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = zext <64 x i8> %a64 to <64 x i64>265; SSE2-NEXT:  Cost Model: Found costs of RThru:128 CodeSize:32 Lat:32 SizeLat:32 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>266; SSE2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb2267; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res4 = mul <4 x i64> %xa4, %xb4268; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res8 = mul <8 x i64> %xa8, %xb8269; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res16 = mul <16 x i64> %xa16, %xb16270; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res32 = mul <32 x i64> %xa32, %xb32271; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:160 SizeLat:32 for: %res64 = mul <64 x i64> %xa64, %xb64272; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void273;274; SSSE3-LABEL: 'mul_zext_vXi8'275; SSSE3-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = zext <2 x i8> %a2 to <2 x i64>276; SSSE3-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>277; SSSE3-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = zext <4 x i8> %a4 to <4 x i64>278; SSSE3-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>279; SSSE3-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = zext <8 x i8> %a8 to <8 x i64>280; SSSE3-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>281; SSSE3-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = zext <16 x i8> %a16 to <16 x i64>282; SSSE3-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:8 Lat:8 SizeLat:8 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>283; SSSE3-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = zext <32 x i8> %a32 to <32 x i64>284; SSSE3-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:16 Lat:16 SizeLat:16 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>285; SSSE3-NEXT:  Cost Model: Found costs of RThru:128 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = zext <64 x i8> %a64 to <64 x i64>286; SSSE3-NEXT:  Cost Model: Found costs of RThru:128 CodeSize:32 Lat:32 SizeLat:32 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>287; SSSE3-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb2288; SSSE3-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res4 = mul <4 x i64> %xa4, %xb4289; SSSE3-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res8 = mul <8 x i64> %xa8, %xb8290; SSSE3-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res16 = mul <16 x i64> %xa16, %xb16291; SSSE3-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res32 = mul <32 x i64> %xa32, %xb32292; SSSE3-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:160 SizeLat:32 for: %res64 = mul <64 x i64> %xa64, %xb64293; SSSE3-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void294;295; SSE42-LABEL: 'mul_zext_vXi8'296; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i8> %a2 to <2 x i64>297; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>298; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xa4 = zext <4 x i8> %a4 to <4 x i64>299; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>300; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xa8 = zext <8 x i8> %a8 to <8 x i64>301; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>302; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xa16 = zext <16 x i8> %a16 to <16 x i64>303; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>304; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xa32 = zext <32 x i8> %a32 to <32 x i64>305; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>306; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xa64 = zext <64 x i8> %a64 to <64 x i64>307; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>308; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb2309; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res4 = mul <4 x i64> %xa4, %xb4310; SSE42-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res8 = mul <8 x i64> %xa8, %xb8311; SSE42-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res16 = mul <16 x i64> %xa16, %xb16312; SSE42-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res32 = mul <32 x i64> %xa32, %xb32313; SSE42-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:160 SizeLat:32 for: %res64 = mul <64 x i64> %xa64, %xb64314; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void315;316; AVX1-LABEL: 'mul_zext_vXi8'317; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i8> %a2 to <2 x i64>318; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>319; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = zext <4 x i8> %a4 to <4 x i64>320; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>321; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xa8 = zext <8 x i8> %a8 to <8 x i64>322; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>323; AVX1-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %xa16 = zext <16 x i8> %a16 to <16 x i64>324; AVX1-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>325; AVX1-NEXT:  Cost Model: Found costs of RThru:25 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = zext <32 x i8> %a32 to <32 x i64>326; AVX1-NEXT:  Cost Model: Found costs of RThru:25 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>327; AVX1-NEXT:  Cost Model: Found costs of RThru:50 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = zext <64 x i8> %a64 to <64 x i64>328; AVX1-NEXT:  Cost Model: Found costs of RThru:50 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>329; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb2330; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:5 Lat:5 SizeLat:6 for: %res4 = mul <4 x i64> %xa4, %xb4331; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:12 for: %res8 = mul <8 x i64> %xa8, %xb8332; AVX1-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:24 for: %res16 = mul <16 x i64> %xa16, %xb16333; AVX1-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:48 for: %res32 = mul <32 x i64> %xa32, %xb32334; AVX1-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:80 Lat:80 SizeLat:96 for: %res64 = mul <64 x i64> %xa64, %xb64335; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void336;337; AVX2-LABEL: 'mul_zext_vXi8'338; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i8> %a2 to <2 x i64>339; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>340; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = zext <4 x i8> %a4 to <4 x i64>341; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>342; AVX2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xa8 = zext <8 x i8> %a8 to <8 x i64>343; AVX2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>344; AVX2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xa16 = zext <16 x i8> %a16 to <16 x i64>345; AVX2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>346; AVX2-NEXT:  Cost Model: Found costs of RThru:17 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = zext <32 x i8> %a32 to <32 x i64>347; AVX2-NEXT:  Cost Model: Found costs of RThru:17 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>348; AVX2-NEXT:  Cost Model: Found costs of RThru:34 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = zext <64 x i8> %a64 to <64 x i64>349; AVX2-NEXT:  Cost Model: Found costs of RThru:34 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>350; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb2351; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res4 = mul <4 x i64> %xa4, %xb4352; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res8 = mul <8 x i64> %xa8, %xb8353; AVX2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res16 = mul <16 x i64> %xa16, %xb16354; AVX2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res32 = mul <32 x i64> %xa32, %xb32355; AVX2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res64 = mul <64 x i64> %xa64, %xb64356; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void357;358; AVX512-LABEL: 'mul_zext_vXi8'359; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i8> %a2 to <2 x i64>360; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>361; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xa4 = zext <4 x i8> %a4 to <4 x i64>362; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>363; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xa8 = zext <8 x i8> %a8 to <8 x i64>364; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>365; AVX512-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = zext <16 x i8> %a16 to <16 x i64>366; AVX512-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>367; AVX512-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = zext <32 x i8> %a32 to <32 x i64>368; AVX512-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>369; AVX512-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = zext <64 x i8> %a64 to <64 x i64>370; AVX512-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>371; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb2372; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res4 = mul <4 x i64> %xa4, %xb4373; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res8 = mul <8 x i64> %xa8, %xb8374; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res16 = mul <16 x i64> %xa16, %xb16375; AVX512-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res32 = mul <32 x i64> %xa32, %xb32376; AVX512-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res64 = mul <64 x i64> %xa64, %xb64377; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void378;379; SLM-LABEL: 'mul_zext_vXi8'380; SLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i8> %a2 to <2 x i64>381; SLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>382; SLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = zext <4 x i8> %a4 to <4 x i64>383; SLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>384; SLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = zext <8 x i8> %a8 to <8 x i64>385; SLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>386; SLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = zext <16 x i8> %a16 to <16 x i64>387; SLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>388; SLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = zext <32 x i8> %a32 to <32 x i64>389; SLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>390; SLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = zext <64 x i8> %a64 to <64 x i64>391; SLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>392; SLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb2393; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res4 = mul <4 x i64> %xa4, %xb4394; SLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res8 = mul <8 x i64> %xa8, %xb8395; SLM-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res16 = mul <16 x i64> %xa16, %xb16396; SLM-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res32 = mul <32 x i64> %xa32, %xb32397; SLM-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:160 SizeLat:32 for: %res64 = mul <64 x i64> %xa64, %xb64398; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void399;400; GLM-LABEL: 'mul_zext_vXi8'401; GLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i8> %a2 to <2 x i64>402; GLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>403; GLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = zext <4 x i8> %a4 to <4 x i64>404; GLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>405; GLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = zext <8 x i8> %a8 to <8 x i64>406; GLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>407; GLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = zext <16 x i8> %a16 to <16 x i64>408; GLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>409; GLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = zext <32 x i8> %a32 to <32 x i64>410; GLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>411; GLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = zext <64 x i8> %a64 to <64 x i64>412; GLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>413; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb2414; GLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res4 = mul <4 x i64> %xa4, %xb4415; GLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res8 = mul <8 x i64> %xa8, %xb8416; GLM-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res16 = mul <16 x i64> %xa16, %xb16417; GLM-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res32 = mul <32 x i64> %xa32, %xb32418; GLM-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:160 SizeLat:32 for: %res64 = mul <64 x i64> %xa64, %xb64419; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void420;421  %xa2 = zext <2 x i8> %a2 to <2 x i64>422  %xb2 = zext <2 x i8> %b2 to <2 x i64>423  %xa4 = zext <4 x i8> %a4 to <4 x i64>424  %xb4 = zext <4 x i8> %b4 to <4 x i64>425  %xa8 = zext <8 x i8> %a8 to <8 x i64>426  %xb8 = zext <8 x i8> %b8 to <8 x i64>427  %xa16 = zext <16 x i8> %a16 to <16 x i64>428  %xb16 = zext <16 x i8> %b16 to <16 x i64>429  %xa32 = zext <32 x i8> %a32 to <32 x i64>430  %xb32 = zext <32 x i8> %b32 to <32 x i64>431  %xa64 = zext <64 x i8> %a64 to <64 x i64>432  %xb64 = zext <64 x i8> %b64 to <64 x i64>433  %res2 = mul <2 x i64> %xa2, %xb2434  %res4 = mul <4 x i64> %xa4, %xb4435  %res8 = mul <8 x i64> %xa8, %xb8436  %res16 = mul <16 x i64> %xa16, %xb16437  %res32 = mul <32 x i64> %xa32, %xb32438  %res64 = mul <64 x i64> %xa64, %xb64439  ret void440}441 442define void @mul_sext_zext_vXi8(<2 x i8> %a2, <2 x i8> %b2, <4 x i8> %a4, <4 x i8> %b4, <8 x i8> %a8, <8 x i8> %b8, <16 x i8> %a16, <16 x i8> %b16, <32 x i8> %a32, <32 x i8> %b32, <64 x i8> %a64, <64 x i8> %b64)  {443; SSE2-LABEL: 'mul_sext_zext_vXi8'444; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>445; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>446; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>447; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>448; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>449; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>450; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>451; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:8 Lat:8 SizeLat:8 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>452; SSE2-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>453; SSE2-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:16 Lat:16 SizeLat:16 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>454; SSE2-NEXT:  Cost Model: Found costs of RThru:128 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>455; SSE2-NEXT:  Cost Model: Found costs of RThru:128 CodeSize:32 Lat:32 SizeLat:32 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>456; SSE2-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb2457; SSE2-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb4458; SSE2-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb8459; SSE2-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb16460; SSE2-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb32461; SSE2-NEXT:  Cost Model: Found costs of RThru:224 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb64462; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void463;464; SSSE3-LABEL: 'mul_sext_zext_vXi8'465; SSSE3-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>466; SSSE3-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>467; SSSE3-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>468; SSSE3-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>469; SSSE3-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>470; SSSE3-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>471; SSSE3-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>472; SSSE3-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:8 Lat:8 SizeLat:8 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>473; SSSE3-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>474; SSSE3-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:16 Lat:16 SizeLat:16 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>475; SSSE3-NEXT:  Cost Model: Found costs of RThru:128 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>476; SSSE3-NEXT:  Cost Model: Found costs of RThru:128 CodeSize:32 Lat:32 SizeLat:32 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>477; SSSE3-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb2478; SSSE3-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb4479; SSSE3-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb8480; SSSE3-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb16481; SSSE3-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb32482; SSSE3-NEXT:  Cost Model: Found costs of RThru:224 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb64483; SSSE3-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void484;485; SSE42-LABEL: 'mul_sext_zext_vXi8'486; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>487; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>488; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>489; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>490; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>491; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>492; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>493; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>494; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>495; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>496; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>497; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>498; SSE42-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb2499; SSE42-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb4500; SSE42-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb8501; SSE42-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb16502; SSE42-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb32503; SSE42-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb64504; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void505;506; AVX1-LABEL: 'mul_sext_zext_vXi8'507; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>508; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>509; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>510; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>511; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>512; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>513; AVX1-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>514; AVX1-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>515; AVX1-NEXT:  Cost Model: Found costs of RThru:25 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>516; AVX1-NEXT:  Cost Model: Found costs of RThru:25 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>517; AVX1-NEXT:  Cost Model: Found costs of RThru:50 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>518; AVX1-NEXT:  Cost Model: Found costs of RThru:50 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>519; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb2520; AVX1-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:19 Lat:15 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb4521; AVX1-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:38 Lat:30 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb8522; AVX1-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:76 Lat:60 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb16523; AVX1-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:152 Lat:120 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb32524; AVX1-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:304 Lat:240 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb64525; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void526;527; AVX2-LABEL: 'mul_sext_zext_vXi8'528; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>529; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>530; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>531; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>532; AVX2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>533; AVX2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>534; AVX2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>535; AVX2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>536; AVX2-NEXT:  Cost Model: Found costs of RThru:17 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>537; AVX2-NEXT:  Cost Model: Found costs of RThru:17 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>538; AVX2-NEXT:  Cost Model: Found costs of RThru:34 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>539; AVX2-NEXT:  Cost Model: Found costs of RThru:34 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>540; AVX2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb2541; AVX2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb4542; AVX2-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:20 SizeLat:26 for: %res8 = mul <8 x i64> %xa8, %xb8543; AVX2-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:40 SizeLat:52 for: %res16 = mul <16 x i64> %xa16, %xb16544; AVX2-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:80 SizeLat:104 for: %res32 = mul <32 x i64> %xa32, %xb32545; AVX2-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:128 Lat:160 SizeLat:208 for: %res64 = mul <64 x i64> %xa64, %xb64546; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void547;548; AVX512F-LABEL: 'mul_sext_zext_vXi8'549; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>550; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>551; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>552; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>553; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>554; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>555; AVX512F-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>556; AVX512F-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>557; AVX512F-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>558; AVX512F-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>559; AVX512F-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>560; AVX512F-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>561; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb2562; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb4563; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:9 SizeLat:8 for: %res8 = mul <8 x i64> %xa8, %xb8564; AVX512F-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:18 SizeLat:16 for: %res16 = mul <16 x i64> %xa16, %xb16565; AVX512F-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:36 SizeLat:32 for: %res32 = mul <32 x i64> %xa32, %xb32566; AVX512F-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:72 SizeLat:64 for: %res64 = mul <64 x i64> %xa64, %xb64567; AVX512F-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void568;569; AVX512BW-LABEL: 'mul_sext_zext_vXi8'570; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>571; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>572; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>573; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>574; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>575; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>576; AVX512BW-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>577; AVX512BW-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>578; AVX512BW-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>579; AVX512BW-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>580; AVX512BW-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>581; AVX512BW-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>582; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb2583; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb4584; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:9 SizeLat:8 for: %res8 = mul <8 x i64> %xa8, %xb8585; AVX512BW-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:18 SizeLat:16 for: %res16 = mul <16 x i64> %xa16, %xb16586; AVX512BW-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:36 SizeLat:32 for: %res32 = mul <32 x i64> %xa32, %xb32587; AVX512BW-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:72 SizeLat:64 for: %res64 = mul <64 x i64> %xa64, %xb64588; AVX512BW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void589;590; AVX512DQ-LABEL: 'mul_sext_zext_vXi8'591; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>592; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>593; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>594; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>595; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>596; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>597; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>598; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>599; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>600; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>601; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>602; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>603; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:15 SizeLat:3 for: %res2 = mul <2 x i64> %xa2, %xb2604; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:15 SizeLat:3 for: %res4 = mul <4 x i64> %xa4, %xb4605; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:15 SizeLat:3 for: %res8 = mul <8 x i64> %xa8, %xb8606; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:30 SizeLat:6 for: %res16 = mul <16 x i64> %xa16, %xb16607; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:60 SizeLat:12 for: %res32 = mul <32 x i64> %xa32, %xb32608; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:8 Lat:120 SizeLat:24 for: %res64 = mul <64 x i64> %xa64, %xb64609; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void610;611; SLM-LABEL: 'mul_sext_zext_vXi8'612; SLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>613; SLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>614; SLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>615; SLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>616; SLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>617; SLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>618; SLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>619; SLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>620; SLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>621; SLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>622; SLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>623; SLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>624; SLM-NEXT:  Cost Model: Found costs of RThru:17 CodeSize:9 Lat:22 SizeLat:9 for: %res2 = mul <2 x i64> %xa2, %xb2625; SLM-NEXT:  Cost Model: Found costs of RThru:34 CodeSize:18 Lat:44 SizeLat:18 for: %res4 = mul <4 x i64> %xa4, %xb4626; SLM-NEXT:  Cost Model: Found costs of RThru:68 CodeSize:36 Lat:88 SizeLat:36 for: %res8 = mul <8 x i64> %xa8, %xb8627; SLM-NEXT:  Cost Model: Found costs of RThru:136 CodeSize:72 Lat:176 SizeLat:72 for: %res16 = mul <16 x i64> %xa16, %xb16628; SLM-NEXT:  Cost Model: Found costs of RThru:272 CodeSize:144 Lat:352 SizeLat:144 for: %res32 = mul <32 x i64> %xa32, %xb32629; SLM-NEXT:  Cost Model: Found costs of RThru:544 CodeSize:288 Lat:704 SizeLat:288 for: %res64 = mul <64 x i64> %xa64, %xb64630; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void631;632; GLM-LABEL: 'mul_sext_zext_vXi8'633; GLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i8> %a2 to <2 x i64>634; GLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i8> %b2 to <2 x i64>635; GLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i8> %a4 to <4 x i64>636; GLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i8> %b4 to <4 x i64>637; GLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i8> %a8 to <8 x i64>638; GLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i8> %b8 to <8 x i64>639; GLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i8> %a16 to <16 x i64>640; GLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i8> %b16 to <16 x i64>641; GLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i8> %a32 to <32 x i64>642; GLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i8> %b32 to <32 x i64>643; GLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i8> %a64 to <64 x i64>644; GLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i8> %b64 to <64 x i64>645; GLM-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb2646; GLM-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb4647; GLM-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb8648; GLM-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb16649; GLM-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb32650; GLM-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb64651; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void652;653  %xa2 = sext <2 x i8> %a2 to <2 x i64>654  %xb2 = zext <2 x i8> %b2 to <2 x i64>655  %xa4 = sext <4 x i8> %a4 to <4 x i64>656  %xb4 = zext <4 x i8> %b4 to <4 x i64>657  %xa8 = sext <8 x i8> %a8 to <8 x i64>658  %xb8 = zext <8 x i8> %b8 to <8 x i64>659  %xa16 = sext <16 x i8> %a16 to <16 x i64>660  %xb16 = zext <16 x i8> %b16 to <16 x i64>661  %xa32 = sext <32 x i8> %a32 to <32 x i64>662  %xb32 = zext <32 x i8> %b32 to <32 x i64>663  %xa64 = sext <64 x i8> %a64 to <64 x i64>664  %xb64 = zext <64 x i8> %b64 to <64 x i64>665  %res2 = mul <2 x i64> %xa2, %xb2666  %res4 = mul <4 x i64> %xa4, %xb4667  %res8 = mul <8 x i64> %xa8, %xb8668  %res16 = mul <16 x i64> %xa16, %xb16669  %res32 = mul <32 x i64> %xa32, %xb32670  %res64 = mul <64 x i64> %xa64, %xb64671  ret void672}673 674;675; mul vXi16 -> mXi64676;677 678define void @mul_sext_vXi16(<2 x i16> %a2, <2 x i16> %b2, <4 x i16> %a4, <4 x i16> %b4, <8 x i16> %a8, <8 x i16> %b8, <16 x i16> %a16, <16 x i16> %b16, <32 x i16> %a32, <32 x i16> %b32, <64 x i16> %a64, <64 x i16> %b64)  {679; SSE2-LABEL: 'mul_sext_vXi16'680; SSE2-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>681; SSE2-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb2 = sext <2 x i16> %b2 to <2 x i64>682; SSE2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>683; SSE2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xb4 = sext <4 x i16> %b4 to <4 x i64>684; SSE2-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>685; SSE2-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %xb8 = sext <8 x i16> %b8 to <8 x i64>686; SSE2-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>687; SSE2-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:8 Lat:8 SizeLat:8 for: %xb16 = sext <16 x i16> %b16 to <16 x i64>688; SSE2-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>689; SSE2-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:16 Lat:16 SizeLat:16 for: %xb32 = sext <32 x i16> %b32 to <32 x i64>690; SSE2-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>691; SSE2-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:32 Lat:32 SizeLat:32 for: %xb64 = sext <64 x i16> %b64 to <64 x i64>692; SSE2-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb2693; SSE2-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb4694; SSE2-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb8695; SSE2-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb16696; SSE2-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb32697; SSE2-NEXT:  Cost Model: Found costs of RThru:224 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb64698; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void699;700; SSSE3-LABEL: 'mul_sext_vXi16'701; SSSE3-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>702; SSSE3-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb2 = sext <2 x i16> %b2 to <2 x i64>703; SSSE3-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>704; SSSE3-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xb4 = sext <4 x i16> %b4 to <4 x i64>705; SSSE3-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>706; SSSE3-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %xb8 = sext <8 x i16> %b8 to <8 x i64>707; SSSE3-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>708; SSSE3-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:8 Lat:8 SizeLat:8 for: %xb16 = sext <16 x i16> %b16 to <16 x i64>709; SSSE3-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>710; SSSE3-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:16 Lat:16 SizeLat:16 for: %xb32 = sext <32 x i16> %b32 to <32 x i64>711; SSSE3-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>712; SSSE3-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:32 Lat:32 SizeLat:32 for: %xb64 = sext <64 x i16> %b64 to <64 x i64>713; SSSE3-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb2714; SSSE3-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb4715; SSSE3-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb8716; SSSE3-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb16717; SSSE3-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb32718; SSSE3-NEXT:  Cost Model: Found costs of RThru:224 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb64719; SSSE3-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void720;721; SSE42-LABEL: 'mul_sext_vXi16'722; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>723; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i16> %b2 to <2 x i64>724; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>725; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xb4 = sext <4 x i16> %b4 to <4 x i64>726; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>727; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xb8 = sext <8 x i16> %b8 to <8 x i64>728; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>729; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xb16 = sext <16 x i16> %b16 to <16 x i64>730; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>731; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xb32 = sext <32 x i16> %b32 to <32 x i64>732; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>733; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xb64 = sext <64 x i16> %b64 to <64 x i64>734; SSE42-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb2735; SSE42-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb4736; SSE42-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb8737; SSE42-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb16738; SSE42-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb32739; SSE42-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb64740; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void741;742; AVX1-LABEL: 'mul_sext_vXi16'743; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>744; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i16> %b2 to <2 x i64>745; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>746; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = sext <4 x i16> %b4 to <4 x i64>747; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>748; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xb8 = sext <8 x i16> %b8 to <8 x i64>749; AVX1-NEXT:  Cost Model: Found costs of RThru:13 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>750; AVX1-NEXT:  Cost Model: Found costs of RThru:13 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = sext <16 x i16> %b16 to <16 x i64>751; AVX1-NEXT:  Cost Model: Found costs of RThru:26 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>752; AVX1-NEXT:  Cost Model: Found costs of RThru:26 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = sext <32 x i16> %b32 to <32 x i64>753; AVX1-NEXT:  Cost Model: Found costs of RThru:52 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>754; AVX1-NEXT:  Cost Model: Found costs of RThru:52 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = sext <64 x i16> %b64 to <64 x i64>755; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb2756; AVX1-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:19 Lat:15 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb4757; AVX1-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:38 Lat:30 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb8758; AVX1-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:76 Lat:60 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb16759; AVX1-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:152 Lat:120 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb32760; AVX1-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:304 Lat:240 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb64761; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void762;763; AVX2-LABEL: 'mul_sext_vXi16'764; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>765; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i16> %b2 to <2 x i64>766; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>767; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = sext <4 x i16> %b4 to <4 x i64>768; AVX2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>769; AVX2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xb8 = sext <8 x i16> %b8 to <8 x i64>770; AVX2-NEXT:  Cost Model: Found costs of RThru:9 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>771; AVX2-NEXT:  Cost Model: Found costs of RThru:9 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = sext <16 x i16> %b16 to <16 x i64>772; AVX2-NEXT:  Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>773; AVX2-NEXT:  Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = sext <32 x i16> %b32 to <32 x i64>774; AVX2-NEXT:  Cost Model: Found costs of RThru:36 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>775; AVX2-NEXT:  Cost Model: Found costs of RThru:36 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = sext <64 x i16> %b64 to <64 x i64>776; AVX2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb2777; AVX2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb4778; AVX2-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:20 SizeLat:26 for: %res8 = mul <8 x i64> %xa8, %xb8779; AVX2-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:40 SizeLat:52 for: %res16 = mul <16 x i64> %xa16, %xb16780; AVX2-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:80 SizeLat:104 for: %res32 = mul <32 x i64> %xa32, %xb32781; AVX2-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:128 Lat:160 SizeLat:208 for: %res64 = mul <64 x i64> %xa64, %xb64782; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void783;784; AVX512F-LABEL: 'mul_sext_vXi16'785; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>786; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i16> %b2 to <2 x i64>787; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>788; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb4 = sext <4 x i16> %b4 to <4 x i64>789; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>790; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb8 = sext <8 x i16> %b8 to <8 x i64>791; AVX512F-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>792; AVX512F-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = sext <16 x i16> %b16 to <16 x i64>793; AVX512F-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>794; AVX512F-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = sext <32 x i16> %b32 to <32 x i64>795; AVX512F-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>796; AVX512F-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = sext <64 x i16> %b64 to <64 x i64>797; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb2798; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb4799; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:9 SizeLat:8 for: %res8 = mul <8 x i64> %xa8, %xb8800; AVX512F-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:18 SizeLat:16 for: %res16 = mul <16 x i64> %xa16, %xb16801; AVX512F-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:36 SizeLat:32 for: %res32 = mul <32 x i64> %xa32, %xb32802; AVX512F-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:72 SizeLat:64 for: %res64 = mul <64 x i64> %xa64, %xb64803; AVX512F-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void804;805; AVX512BW-LABEL: 'mul_sext_vXi16'806; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>807; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i16> %b2 to <2 x i64>808; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>809; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb4 = sext <4 x i16> %b4 to <4 x i64>810; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>811; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb8 = sext <8 x i16> %b8 to <8 x i64>812; AVX512BW-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>813; AVX512BW-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = sext <16 x i16> %b16 to <16 x i64>814; AVX512BW-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>815; AVX512BW-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = sext <32 x i16> %b32 to <32 x i64>816; AVX512BW-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>817; AVX512BW-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = sext <64 x i16> %b64 to <64 x i64>818; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb2819; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb4820; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:9 SizeLat:8 for: %res8 = mul <8 x i64> %xa8, %xb8821; AVX512BW-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:18 SizeLat:16 for: %res16 = mul <16 x i64> %xa16, %xb16822; AVX512BW-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:36 SizeLat:32 for: %res32 = mul <32 x i64> %xa32, %xb32823; AVX512BW-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:72 SizeLat:64 for: %res64 = mul <64 x i64> %xa64, %xb64824; AVX512BW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void825;826; AVX512DQ-LABEL: 'mul_sext_vXi16'827; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>828; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i16> %b2 to <2 x i64>829; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>830; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb4 = sext <4 x i16> %b4 to <4 x i64>831; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>832; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb8 = sext <8 x i16> %b8 to <8 x i64>833; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>834; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = sext <16 x i16> %b16 to <16 x i64>835; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>836; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = sext <32 x i16> %b32 to <32 x i64>837; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>838; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = sext <64 x i16> %b64 to <64 x i64>839; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:15 SizeLat:3 for: %res2 = mul <2 x i64> %xa2, %xb2840; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:15 SizeLat:3 for: %res4 = mul <4 x i64> %xa4, %xb4841; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:15 SizeLat:3 for: %res8 = mul <8 x i64> %xa8, %xb8842; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:30 SizeLat:6 for: %res16 = mul <16 x i64> %xa16, %xb16843; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:60 SizeLat:12 for: %res32 = mul <32 x i64> %xa32, %xb32844; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:8 Lat:120 SizeLat:24 for: %res64 = mul <64 x i64> %xa64, %xb64845; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void846;847; SLM-LABEL: 'mul_sext_vXi16'848; SLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>849; SLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i16> %b2 to <2 x i64>850; SLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>851; SLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = sext <4 x i16> %b4 to <4 x i64>852; SLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>853; SLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = sext <8 x i16> %b8 to <8 x i64>854; SLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>855; SLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = sext <16 x i16> %b16 to <16 x i64>856; SLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>857; SLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = sext <32 x i16> %b32 to <32 x i64>858; SLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>859; SLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = sext <64 x i16> %b64 to <64 x i64>860; SLM-NEXT:  Cost Model: Found costs of RThru:17 CodeSize:9 Lat:22 SizeLat:9 for: %res2 = mul <2 x i64> %xa2, %xb2861; SLM-NEXT:  Cost Model: Found costs of RThru:34 CodeSize:18 Lat:44 SizeLat:18 for: %res4 = mul <4 x i64> %xa4, %xb4862; SLM-NEXT:  Cost Model: Found costs of RThru:68 CodeSize:36 Lat:88 SizeLat:36 for: %res8 = mul <8 x i64> %xa8, %xb8863; SLM-NEXT:  Cost Model: Found costs of RThru:136 CodeSize:72 Lat:176 SizeLat:72 for: %res16 = mul <16 x i64> %xa16, %xb16864; SLM-NEXT:  Cost Model: Found costs of RThru:272 CodeSize:144 Lat:352 SizeLat:144 for: %res32 = mul <32 x i64> %xa32, %xb32865; SLM-NEXT:  Cost Model: Found costs of RThru:544 CodeSize:288 Lat:704 SizeLat:288 for: %res64 = mul <64 x i64> %xa64, %xb64866; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void867;868; GLM-LABEL: 'mul_sext_vXi16'869; GLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>870; GLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i16> %b2 to <2 x i64>871; GLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>872; GLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = sext <4 x i16> %b4 to <4 x i64>873; GLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>874; GLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = sext <8 x i16> %b8 to <8 x i64>875; GLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>876; GLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = sext <16 x i16> %b16 to <16 x i64>877; GLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>878; GLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = sext <32 x i16> %b32 to <32 x i64>879; GLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>880; GLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = sext <64 x i16> %b64 to <64 x i64>881; GLM-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb2882; GLM-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb4883; GLM-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb8884; GLM-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb16885; GLM-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb32886; GLM-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb64887; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void888;889  %xa2 = sext <2 x i16> %a2 to <2 x i64>890  %xb2 = sext <2 x i16> %b2 to <2 x i64>891  %xa4 = sext <4 x i16> %a4 to <4 x i64>892  %xb4 = sext <4 x i16> %b4 to <4 x i64>893  %xa8 = sext <8 x i16> %a8 to <8 x i64>894  %xb8 = sext <8 x i16> %b8 to <8 x i64>895  %xa16 = sext <16 x i16> %a16 to <16 x i64>896  %xb16 = sext <16 x i16> %b16 to <16 x i64>897  %xa32 = sext <32 x i16> %a32 to <32 x i64>898  %xb32 = sext <32 x i16> %b32 to <32 x i64>899  %xa64 = sext <64 x i16> %a64 to <64 x i64>900  %xb64 = sext <64 x i16> %b64 to <64 x i64>901  %res2 = mul <2 x i64> %xa2, %xb2902  %res4 = mul <4 x i64> %xa4, %xb4903  %res8 = mul <8 x i64> %xa8, %xb8904  %res16 = mul <16 x i64> %xa16, %xb16905  %res32 = mul <32 x i64> %xa32, %xb32906  %res64 = mul <64 x i64> %xa64, %xb64907  ret void908}909 910define void @mul_zext_vXi16(<2 x i16> %a2, <2 x i16> %b2, <4 x i16> %a4, <4 x i16> %b4, <8 x i16> %a8, <8 x i16> %b8, <16 x i16> %a16, <16 x i16> %b16, <32 x i16> %a32, <32 x i16> %b32, <64 x i16> %a64, <64 x i16> %b64)  {911; SSE2-LABEL: 'mul_zext_vXi16'912; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = zext <2 x i16> %a2 to <2 x i64>913; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>914; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = zext <4 x i16> %a4 to <4 x i64>915; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>916; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = zext <8 x i16> %a8 to <8 x i64>917; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>918; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = zext <16 x i16> %a16 to <16 x i64>919; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:8 SizeLat:8 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>920; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = zext <32 x i16> %a32 to <32 x i64>921; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:16 Lat:16 SizeLat:16 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>922; SSE2-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = zext <64 x i16> %a64 to <64 x i64>923; SSE2-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:32 Lat:32 SizeLat:32 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>924; SSE2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb2925; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res4 = mul <4 x i64> %xa4, %xb4926; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res8 = mul <8 x i64> %xa8, %xb8927; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res16 = mul <16 x i64> %xa16, %xb16928; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res32 = mul <32 x i64> %xa32, %xb32929; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:160 SizeLat:32 for: %res64 = mul <64 x i64> %xa64, %xb64930; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void931;932; SSSE3-LABEL: 'mul_zext_vXi16'933; SSSE3-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = zext <2 x i16> %a2 to <2 x i64>934; SSSE3-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>935; SSSE3-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = zext <4 x i16> %a4 to <4 x i64>936; SSSE3-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>937; SSSE3-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = zext <8 x i16> %a8 to <8 x i64>938; SSSE3-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>939; SSSE3-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = zext <16 x i16> %a16 to <16 x i64>940; SSSE3-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:8 SizeLat:8 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>941; SSSE3-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = zext <32 x i16> %a32 to <32 x i64>942; SSSE3-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:16 Lat:16 SizeLat:16 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>943; SSSE3-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = zext <64 x i16> %a64 to <64 x i64>944; SSSE3-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:32 Lat:32 SizeLat:32 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>945; SSSE3-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb2946; SSSE3-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res4 = mul <4 x i64> %xa4, %xb4947; SSSE3-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res8 = mul <8 x i64> %xa8, %xb8948; SSSE3-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res16 = mul <16 x i64> %xa16, %xb16949; SSSE3-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res32 = mul <32 x i64> %xa32, %xb32950; SSSE3-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:160 SizeLat:32 for: %res64 = mul <64 x i64> %xa64, %xb64951; SSSE3-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void952;953; SSE42-LABEL: 'mul_zext_vXi16'954; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i16> %a2 to <2 x i64>955; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>956; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xa4 = zext <4 x i16> %a4 to <4 x i64>957; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>958; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xa8 = zext <8 x i16> %a8 to <8 x i64>959; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>960; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xa16 = zext <16 x i16> %a16 to <16 x i64>961; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>962; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xa32 = zext <32 x i16> %a32 to <32 x i64>963; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>964; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xa64 = zext <64 x i16> %a64 to <64 x i64>965; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>966; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb2967; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res4 = mul <4 x i64> %xa4, %xb4968; SSE42-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res8 = mul <8 x i64> %xa8, %xb8969; SSE42-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res16 = mul <16 x i64> %xa16, %xb16970; SSE42-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res32 = mul <32 x i64> %xa32, %xb32971; SSE42-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:160 SizeLat:32 for: %res64 = mul <64 x i64> %xa64, %xb64972; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void973;974; AVX1-LABEL: 'mul_zext_vXi16'975; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i16> %a2 to <2 x i64>976; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>977; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = zext <4 x i16> %a4 to <4 x i64>978; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>979; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xa8 = zext <8 x i16> %a8 to <8 x i64>980; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>981; AVX1-NEXT:  Cost Model: Found costs of RThru:13 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = zext <16 x i16> %a16 to <16 x i64>982; AVX1-NEXT:  Cost Model: Found costs of RThru:13 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>983; AVX1-NEXT:  Cost Model: Found costs of RThru:26 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = zext <32 x i16> %a32 to <32 x i64>984; AVX1-NEXT:  Cost Model: Found costs of RThru:26 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>985; AVX1-NEXT:  Cost Model: Found costs of RThru:52 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = zext <64 x i16> %a64 to <64 x i64>986; AVX1-NEXT:  Cost Model: Found costs of RThru:52 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>987; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb2988; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:5 Lat:5 SizeLat:6 for: %res4 = mul <4 x i64> %xa4, %xb4989; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:12 for: %res8 = mul <8 x i64> %xa8, %xb8990; AVX1-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:24 for: %res16 = mul <16 x i64> %xa16, %xb16991; AVX1-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:48 for: %res32 = mul <32 x i64> %xa32, %xb32992; AVX1-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:80 Lat:80 SizeLat:96 for: %res64 = mul <64 x i64> %xa64, %xb64993; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void994;995; AVX2-LABEL: 'mul_zext_vXi16'996; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i16> %a2 to <2 x i64>997; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>998; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = zext <4 x i16> %a4 to <4 x i64>999; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>1000; AVX2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xa8 = zext <8 x i16> %a8 to <8 x i64>1001; AVX2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>1002; AVX2-NEXT:  Cost Model: Found costs of RThru:9 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = zext <16 x i16> %a16 to <16 x i64>1003; AVX2-NEXT:  Cost Model: Found costs of RThru:9 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>1004; AVX2-NEXT:  Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = zext <32 x i16> %a32 to <32 x i64>1005; AVX2-NEXT:  Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>1006; AVX2-NEXT:  Cost Model: Found costs of RThru:36 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = zext <64 x i16> %a64 to <64 x i64>1007; AVX2-NEXT:  Cost Model: Found costs of RThru:36 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>1008; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb21009; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res4 = mul <4 x i64> %xa4, %xb41010; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res8 = mul <8 x i64> %xa8, %xb81011; AVX2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res16 = mul <16 x i64> %xa16, %xb161012; AVX2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res32 = mul <32 x i64> %xa32, %xb321013; AVX2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res64 = mul <64 x i64> %xa64, %xb641014; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1015;1016; AVX512-LABEL: 'mul_zext_vXi16'1017; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i16> %a2 to <2 x i64>1018; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>1019; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xa4 = zext <4 x i16> %a4 to <4 x i64>1020; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>1021; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xa8 = zext <8 x i16> %a8 to <8 x i64>1022; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>1023; AVX512-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = zext <16 x i16> %a16 to <16 x i64>1024; AVX512-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>1025; AVX512-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = zext <32 x i16> %a32 to <32 x i64>1026; AVX512-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>1027; AVX512-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = zext <64 x i16> %a64 to <64 x i64>1028; AVX512-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>1029; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb21030; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res4 = mul <4 x i64> %xa4, %xb41031; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res8 = mul <8 x i64> %xa8, %xb81032; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res16 = mul <16 x i64> %xa16, %xb161033; AVX512-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res32 = mul <32 x i64> %xa32, %xb321034; AVX512-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res64 = mul <64 x i64> %xa64, %xb641035; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1036;1037; SLM-LABEL: 'mul_zext_vXi16'1038; SLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i16> %a2 to <2 x i64>1039; SLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>1040; SLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = zext <4 x i16> %a4 to <4 x i64>1041; SLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>1042; SLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = zext <8 x i16> %a8 to <8 x i64>1043; SLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>1044; SLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = zext <16 x i16> %a16 to <16 x i64>1045; SLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>1046; SLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = zext <32 x i16> %a32 to <32 x i64>1047; SLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>1048; SLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = zext <64 x i16> %a64 to <64 x i64>1049; SLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>1050; SLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb21051; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res4 = mul <4 x i64> %xa4, %xb41052; SLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res8 = mul <8 x i64> %xa8, %xb81053; SLM-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res16 = mul <16 x i64> %xa16, %xb161054; SLM-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res32 = mul <32 x i64> %xa32, %xb321055; SLM-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:160 SizeLat:32 for: %res64 = mul <64 x i64> %xa64, %xb641056; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1057;1058; GLM-LABEL: 'mul_zext_vXi16'1059; GLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i16> %a2 to <2 x i64>1060; GLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>1061; GLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = zext <4 x i16> %a4 to <4 x i64>1062; GLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>1063; GLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = zext <8 x i16> %a8 to <8 x i64>1064; GLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>1065; GLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = zext <16 x i16> %a16 to <16 x i64>1066; GLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>1067; GLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = zext <32 x i16> %a32 to <32 x i64>1068; GLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>1069; GLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = zext <64 x i16> %a64 to <64 x i64>1070; GLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>1071; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb21072; GLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res4 = mul <4 x i64> %xa4, %xb41073; GLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res8 = mul <8 x i64> %xa8, %xb81074; GLM-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res16 = mul <16 x i64> %xa16, %xb161075; GLM-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res32 = mul <32 x i64> %xa32, %xb321076; GLM-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:160 SizeLat:32 for: %res64 = mul <64 x i64> %xa64, %xb641077; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1078;1079  %xa2 = zext <2 x i16> %a2 to <2 x i64>1080  %xb2 = zext <2 x i16> %b2 to <2 x i64>1081  %xa4 = zext <4 x i16> %a4 to <4 x i64>1082  %xb4 = zext <4 x i16> %b4 to <4 x i64>1083  %xa8 = zext <8 x i16> %a8 to <8 x i64>1084  %xb8 = zext <8 x i16> %b8 to <8 x i64>1085  %xa16 = zext <16 x i16> %a16 to <16 x i64>1086  %xb16 = zext <16 x i16> %b16 to <16 x i64>1087  %xa32 = zext <32 x i16> %a32 to <32 x i64>1088  %xb32 = zext <32 x i16> %b32 to <32 x i64>1089  %xa64 = zext <64 x i16> %a64 to <64 x i64>1090  %xb64 = zext <64 x i16> %b64 to <64 x i64>1091  %res2 = mul <2 x i64> %xa2, %xb21092  %res4 = mul <4 x i64> %xa4, %xb41093  %res8 = mul <8 x i64> %xa8, %xb81094  %res16 = mul <16 x i64> %xa16, %xb161095  %res32 = mul <32 x i64> %xa32, %xb321096  %res64 = mul <64 x i64> %xa64, %xb641097  ret void1098}1099 1100define void @mul_sext_zext_vXi16(<2 x i16> %a2, <2 x i16> %b2, <4 x i16> %a4, <4 x i16> %b4, <8 x i16> %a8, <8 x i16> %b8, <16 x i16> %a16, <16 x i16> %b16, <32 x i16> %a32, <32 x i16> %b32, <64 x i16> %a64, <64 x i16> %b64)  {1101; SSE2-LABEL: 'mul_sext_zext_vXi16'1102; SSE2-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>1103; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>1104; SSE2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>1105; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>1106; SSE2-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>1107; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>1108; SSE2-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>1109; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:8 SizeLat:8 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>1110; SSE2-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>1111; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:16 Lat:16 SizeLat:16 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>1112; SSE2-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>1113; SSE2-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:32 Lat:32 SizeLat:32 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>1114; SSE2-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb21115; SSE2-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb41116; SSE2-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb81117; SSE2-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb161118; SSE2-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb321119; SSE2-NEXT:  Cost Model: Found costs of RThru:224 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb641120; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1121;1122; SSSE3-LABEL: 'mul_sext_zext_vXi16'1123; SSSE3-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>1124; SSSE3-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>1125; SSSE3-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>1126; SSSE3-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>1127; SSSE3-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>1128; SSSE3-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>1129; SSSE3-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>1130; SSSE3-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:8 SizeLat:8 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>1131; SSSE3-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>1132; SSSE3-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:16 Lat:16 SizeLat:16 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>1133; SSSE3-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>1134; SSSE3-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:32 Lat:32 SizeLat:32 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>1135; SSSE3-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb21136; SSSE3-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb41137; SSSE3-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb81138; SSSE3-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb161139; SSSE3-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb321140; SSSE3-NEXT:  Cost Model: Found costs of RThru:224 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb641141; SSSE3-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1142;1143; SSE42-LABEL: 'mul_sext_zext_vXi16'1144; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>1145; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>1146; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>1147; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>1148; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>1149; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>1150; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>1151; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>1152; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>1153; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>1154; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>1155; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>1156; SSE42-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb21157; SSE42-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb41158; SSE42-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb81159; SSE42-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb161160; SSE42-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb321161; SSE42-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb641162; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1163;1164; AVX1-LABEL: 'mul_sext_zext_vXi16'1165; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>1166; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>1167; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>1168; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>1169; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>1170; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:2 SizeLat:2 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>1171; AVX1-NEXT:  Cost Model: Found costs of RThru:13 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>1172; AVX1-NEXT:  Cost Model: Found costs of RThru:13 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>1173; AVX1-NEXT:  Cost Model: Found costs of RThru:26 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>1174; AVX1-NEXT:  Cost Model: Found costs of RThru:26 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>1175; AVX1-NEXT:  Cost Model: Found costs of RThru:52 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>1176; AVX1-NEXT:  Cost Model: Found costs of RThru:52 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>1177; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb21178; AVX1-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:19 Lat:15 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb41179; AVX1-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:38 Lat:30 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb81180; AVX1-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:76 Lat:60 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb161181; AVX1-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:152 Lat:120 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb321182; AVX1-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:304 Lat:240 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb641183; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1184;1185; AVX2-LABEL: 'mul_sext_zext_vXi16'1186; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>1187; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>1188; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>1189; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>1190; AVX2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>1191; AVX2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>1192; AVX2-NEXT:  Cost Model: Found costs of RThru:9 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>1193; AVX2-NEXT:  Cost Model: Found costs of RThru:9 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>1194; AVX2-NEXT:  Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>1195; AVX2-NEXT:  Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>1196; AVX2-NEXT:  Cost Model: Found costs of RThru:36 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>1197; AVX2-NEXT:  Cost Model: Found costs of RThru:36 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>1198; AVX2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb21199; AVX2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb41200; AVX2-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:20 SizeLat:26 for: %res8 = mul <8 x i64> %xa8, %xb81201; AVX2-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:40 SizeLat:52 for: %res16 = mul <16 x i64> %xa16, %xb161202; AVX2-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:80 SizeLat:104 for: %res32 = mul <32 x i64> %xa32, %xb321203; AVX2-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:128 Lat:160 SizeLat:208 for: %res64 = mul <64 x i64> %xa64, %xb641204; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1205;1206; AVX512F-LABEL: 'mul_sext_zext_vXi16'1207; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>1208; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>1209; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>1210; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>1211; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>1212; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>1213; AVX512F-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>1214; AVX512F-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>1215; AVX512F-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>1216; AVX512F-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>1217; AVX512F-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>1218; AVX512F-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>1219; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb21220; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb41221; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:9 SizeLat:8 for: %res8 = mul <8 x i64> %xa8, %xb81222; AVX512F-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:18 SizeLat:16 for: %res16 = mul <16 x i64> %xa16, %xb161223; AVX512F-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:36 SizeLat:32 for: %res32 = mul <32 x i64> %xa32, %xb321224; AVX512F-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:72 SizeLat:64 for: %res64 = mul <64 x i64> %xa64, %xb641225; AVX512F-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1226;1227; AVX512BW-LABEL: 'mul_sext_zext_vXi16'1228; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>1229; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>1230; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>1231; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>1232; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>1233; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>1234; AVX512BW-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>1235; AVX512BW-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>1236; AVX512BW-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>1237; AVX512BW-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>1238; AVX512BW-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>1239; AVX512BW-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>1240; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb21241; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb41242; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:9 SizeLat:8 for: %res8 = mul <8 x i64> %xa8, %xb81243; AVX512BW-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:18 SizeLat:16 for: %res16 = mul <16 x i64> %xa16, %xb161244; AVX512BW-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:36 SizeLat:32 for: %res32 = mul <32 x i64> %xa32, %xb321245; AVX512BW-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:72 SizeLat:64 for: %res64 = mul <64 x i64> %xa64, %xb641246; AVX512BW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1247;1248; AVX512DQ-LABEL: 'mul_sext_zext_vXi16'1249; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>1250; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>1251; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>1252; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>1253; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>1254; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>1255; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>1256; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>1257; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>1258; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>1259; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>1260; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>1261; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:15 SizeLat:3 for: %res2 = mul <2 x i64> %xa2, %xb21262; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:15 SizeLat:3 for: %res4 = mul <4 x i64> %xa4, %xb41263; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:15 SizeLat:3 for: %res8 = mul <8 x i64> %xa8, %xb81264; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:30 SizeLat:6 for: %res16 = mul <16 x i64> %xa16, %xb161265; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:60 SizeLat:12 for: %res32 = mul <32 x i64> %xa32, %xb321266; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:8 Lat:120 SizeLat:24 for: %res64 = mul <64 x i64> %xa64, %xb641267; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1268;1269; SLM-LABEL: 'mul_sext_zext_vXi16'1270; SLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>1271; SLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>1272; SLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>1273; SLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>1274; SLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>1275; SLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>1276; SLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>1277; SLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>1278; SLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>1279; SLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>1280; SLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>1281; SLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>1282; SLM-NEXT:  Cost Model: Found costs of RThru:17 CodeSize:9 Lat:22 SizeLat:9 for: %res2 = mul <2 x i64> %xa2, %xb21283; SLM-NEXT:  Cost Model: Found costs of RThru:34 CodeSize:18 Lat:44 SizeLat:18 for: %res4 = mul <4 x i64> %xa4, %xb41284; SLM-NEXT:  Cost Model: Found costs of RThru:68 CodeSize:36 Lat:88 SizeLat:36 for: %res8 = mul <8 x i64> %xa8, %xb81285; SLM-NEXT:  Cost Model: Found costs of RThru:136 CodeSize:72 Lat:176 SizeLat:72 for: %res16 = mul <16 x i64> %xa16, %xb161286; SLM-NEXT:  Cost Model: Found costs of RThru:272 CodeSize:144 Lat:352 SizeLat:144 for: %res32 = mul <32 x i64> %xa32, %xb321287; SLM-NEXT:  Cost Model: Found costs of RThru:544 CodeSize:288 Lat:704 SizeLat:288 for: %res64 = mul <64 x i64> %xa64, %xb641288; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1289;1290; GLM-LABEL: 'mul_sext_zext_vXi16'1291; GLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i16> %a2 to <2 x i64>1292; GLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i16> %b2 to <2 x i64>1293; GLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i16> %a4 to <4 x i64>1294; GLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i16> %b4 to <4 x i64>1295; GLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i16> %a8 to <8 x i64>1296; GLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i16> %b8 to <8 x i64>1297; GLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i16> %a16 to <16 x i64>1298; GLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i16> %b16 to <16 x i64>1299; GLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i16> %a32 to <32 x i64>1300; GLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i16> %b32 to <32 x i64>1301; GLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i16> %a64 to <64 x i64>1302; GLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i16> %b64 to <64 x i64>1303; GLM-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb21304; GLM-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb41305; GLM-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb81306; GLM-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb161307; GLM-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb321308; GLM-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb641309; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1310;1311  %xa2 = sext <2 x i16> %a2 to <2 x i64>1312  %xb2 = zext <2 x i16> %b2 to <2 x i64>1313  %xa4 = sext <4 x i16> %a4 to <4 x i64>1314  %xb4 = zext <4 x i16> %b4 to <4 x i64>1315  %xa8 = sext <8 x i16> %a8 to <8 x i64>1316  %xb8 = zext <8 x i16> %b8 to <8 x i64>1317  %xa16 = sext <16 x i16> %a16 to <16 x i64>1318  %xb16 = zext <16 x i16> %b16 to <16 x i64>1319  %xa32 = sext <32 x i16> %a32 to <32 x i64>1320  %xb32 = zext <32 x i16> %b32 to <32 x i64>1321  %xa64 = sext <64 x i16> %a64 to <64 x i64>1322  %xb64 = zext <64 x i16> %b64 to <64 x i64>1323  %res2 = mul <2 x i64> %xa2, %xb21324  %res4 = mul <4 x i64> %xa4, %xb41325  %res8 = mul <8 x i64> %xa8, %xb81326  %res16 = mul <16 x i64> %xa16, %xb161327  %res32 = mul <32 x i64> %xa32, %xb321328  %res64 = mul <64 x i64> %xa64, %xb641329  ret void1330}1331 1332;1333; mul vXi32 -> mXi641334;1335 1336define void @mul_sext_vXi32(<2 x i32> %a2, <2 x i32> %b2, <4 x i32> %a4, <4 x i32> %b4, <8 x i32> %a8, <8 x i32> %b8, <16 x i32> %a16, <16 x i32> %b16, <32 x i32> %a32, <32 x i32> %b32, <64 x i32> %a64, <64 x i32> %b64)  {1337; SSE2-LABEL: 'mul_sext_vXi32'1338; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1339; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xb2 = sext <2 x i32> %b2 to <2 x i64>1340; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1341; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xb4 = sext <4 x i32> %b4 to <4 x i64>1342; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1343; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xb8 = sext <8 x i32> %b8 to <8 x i64>1344; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1345; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:8 SizeLat:8 for: %xb16 = sext <16 x i32> %b16 to <16 x i64>1346; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1347; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:16 Lat:16 SizeLat:16 for: %xb32 = sext <32 x i32> %b32 to <32 x i64>1348; SSE2-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1349; SSE2-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:32 Lat:32 SizeLat:32 for: %xb64 = sext <64 x i32> %b64 to <64 x i64>1350; SSE2-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb21351; SSE2-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb41352; SSE2-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb81353; SSE2-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb161354; SSE2-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb321355; SSE2-NEXT:  Cost Model: Found costs of RThru:224 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb641356; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1357;1358; SSSE3-LABEL: 'mul_sext_vXi32'1359; SSSE3-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1360; SSSE3-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xb2 = sext <2 x i32> %b2 to <2 x i64>1361; SSSE3-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1362; SSSE3-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xb4 = sext <4 x i32> %b4 to <4 x i64>1363; SSSE3-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1364; SSSE3-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xb8 = sext <8 x i32> %b8 to <8 x i64>1365; SSSE3-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1366; SSSE3-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:8 SizeLat:8 for: %xb16 = sext <16 x i32> %b16 to <16 x i64>1367; SSSE3-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1368; SSSE3-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:16 Lat:16 SizeLat:16 for: %xb32 = sext <32 x i32> %b32 to <32 x i64>1369; SSSE3-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1370; SSSE3-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:32 Lat:32 SizeLat:32 for: %xb64 = sext <64 x i32> %b64 to <64 x i64>1371; SSSE3-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb21372; SSSE3-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb41373; SSSE3-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb81374; SSSE3-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb161375; SSSE3-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb321376; SSSE3-NEXT:  Cost Model: Found costs of RThru:224 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb641377; SSSE3-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1378;1379; SSE42-LABEL: 'mul_sext_vXi32'1380; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1381; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i32> %b2 to <2 x i64>1382; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1383; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xb4 = sext <4 x i32> %b4 to <4 x i64>1384; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1385; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xb8 = sext <8 x i32> %b8 to <8 x i64>1386; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1387; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xb16 = sext <16 x i32> %b16 to <16 x i64>1388; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1389; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xb32 = sext <32 x i32> %b32 to <32 x i64>1390; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1391; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xb64 = sext <64 x i32> %b64 to <64 x i64>1392; SSE42-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb21393; SSE42-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb41394; SSE42-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb81395; SSE42-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb161396; SSE42-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb321397; SSE42-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb641398; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1399;1400; AVX1-LABEL: 'mul_sext_vXi32'1401; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1402; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i32> %b2 to <2 x i64>1403; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1404; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = sext <4 x i32> %b4 to <4 x i64>1405; AVX1-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1406; AVX1-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb8 = sext <8 x i32> %b8 to <8 x i64>1407; AVX1-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1408; AVX1-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = sext <16 x i32> %b16 to <16 x i64>1409; AVX1-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1410; AVX1-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = sext <32 x i32> %b32 to <32 x i64>1411; AVX1-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1412; AVX1-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = sext <64 x i32> %b64 to <64 x i64>1413; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb21414; AVX1-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:19 Lat:15 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb41415; AVX1-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:38 Lat:30 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb81416; AVX1-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:76 Lat:60 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb161417; AVX1-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:152 Lat:120 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb321418; AVX1-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:304 Lat:240 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb641419; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1420;1421; AVX2-LABEL: 'mul_sext_vXi32'1422; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1423; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i32> %b2 to <2 x i64>1424; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1425; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = sext <4 x i32> %b4 to <4 x i64>1426; AVX2-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1427; AVX2-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %xb8 = sext <8 x i32> %b8 to <8 x i64>1428; AVX2-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1429; AVX2-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = sext <16 x i32> %b16 to <16 x i64>1430; AVX2-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1431; AVX2-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = sext <32 x i32> %b32 to <32 x i64>1432; AVX2-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1433; AVX2-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = sext <64 x i32> %b64 to <64 x i64>1434; AVX2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb21435; AVX2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb41436; AVX2-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:20 SizeLat:26 for: %res8 = mul <8 x i64> %xa8, %xb81437; AVX2-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:40 SizeLat:52 for: %res16 = mul <16 x i64> %xa16, %xb161438; AVX2-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:80 SizeLat:104 for: %res32 = mul <32 x i64> %xa32, %xb321439; AVX2-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:128 Lat:160 SizeLat:208 for: %res64 = mul <64 x i64> %xa64, %xb641440; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1441;1442; AVX512F-LABEL: 'mul_sext_vXi32'1443; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1444; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i32> %b2 to <2 x i64>1445; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1446; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb4 = sext <4 x i32> %b4 to <4 x i64>1447; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1448; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb8 = sext <8 x i32> %b8 to <8 x i64>1449; AVX512F-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1450; AVX512F-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = sext <16 x i32> %b16 to <16 x i64>1451; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1452; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = sext <32 x i32> %b32 to <32 x i64>1453; AVX512F-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1454; AVX512F-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = sext <64 x i32> %b64 to <64 x i64>1455; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb21456; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb41457; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:9 SizeLat:8 for: %res8 = mul <8 x i64> %xa8, %xb81458; AVX512F-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:18 SizeLat:16 for: %res16 = mul <16 x i64> %xa16, %xb161459; AVX512F-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:36 SizeLat:32 for: %res32 = mul <32 x i64> %xa32, %xb321460; AVX512F-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:72 SizeLat:64 for: %res64 = mul <64 x i64> %xa64, %xb641461; AVX512F-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1462;1463; AVX512BW-LABEL: 'mul_sext_vXi32'1464; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1465; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i32> %b2 to <2 x i64>1466; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1467; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb4 = sext <4 x i32> %b4 to <4 x i64>1468; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1469; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb8 = sext <8 x i32> %b8 to <8 x i64>1470; AVX512BW-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1471; AVX512BW-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = sext <16 x i32> %b16 to <16 x i64>1472; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1473; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = sext <32 x i32> %b32 to <32 x i64>1474; AVX512BW-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1475; AVX512BW-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = sext <64 x i32> %b64 to <64 x i64>1476; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb21477; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb41478; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:9 SizeLat:8 for: %res8 = mul <8 x i64> %xa8, %xb81479; AVX512BW-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:18 SizeLat:16 for: %res16 = mul <16 x i64> %xa16, %xb161480; AVX512BW-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:36 SizeLat:32 for: %res32 = mul <32 x i64> %xa32, %xb321481; AVX512BW-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:72 SizeLat:64 for: %res64 = mul <64 x i64> %xa64, %xb641482; AVX512BW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1483;1484; AVX512DQ-LABEL: 'mul_sext_vXi32'1485; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1486; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i32> %b2 to <2 x i64>1487; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1488; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb4 = sext <4 x i32> %b4 to <4 x i64>1489; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1490; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb8 = sext <8 x i32> %b8 to <8 x i64>1491; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1492; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = sext <16 x i32> %b16 to <16 x i64>1493; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1494; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = sext <32 x i32> %b32 to <32 x i64>1495; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1496; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = sext <64 x i32> %b64 to <64 x i64>1497; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:15 SizeLat:3 for: %res2 = mul <2 x i64> %xa2, %xb21498; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:15 SizeLat:3 for: %res4 = mul <4 x i64> %xa4, %xb41499; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:15 SizeLat:3 for: %res8 = mul <8 x i64> %xa8, %xb81500; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:30 SizeLat:6 for: %res16 = mul <16 x i64> %xa16, %xb161501; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:60 SizeLat:12 for: %res32 = mul <32 x i64> %xa32, %xb321502; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:8 Lat:120 SizeLat:24 for: %res64 = mul <64 x i64> %xa64, %xb641503; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1504;1505; SLM-LABEL: 'mul_sext_vXi32'1506; SLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1507; SLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i32> %b2 to <2 x i64>1508; SLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1509; SLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = sext <4 x i32> %b4 to <4 x i64>1510; SLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1511; SLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = sext <8 x i32> %b8 to <8 x i64>1512; SLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1513; SLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = sext <16 x i32> %b16 to <16 x i64>1514; SLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1515; SLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = sext <32 x i32> %b32 to <32 x i64>1516; SLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1517; SLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = sext <64 x i32> %b64 to <64 x i64>1518; SLM-NEXT:  Cost Model: Found costs of RThru:17 CodeSize:9 Lat:22 SizeLat:9 for: %res2 = mul <2 x i64> %xa2, %xb21519; SLM-NEXT:  Cost Model: Found costs of RThru:34 CodeSize:18 Lat:44 SizeLat:18 for: %res4 = mul <4 x i64> %xa4, %xb41520; SLM-NEXT:  Cost Model: Found costs of RThru:68 CodeSize:36 Lat:88 SizeLat:36 for: %res8 = mul <8 x i64> %xa8, %xb81521; SLM-NEXT:  Cost Model: Found costs of RThru:136 CodeSize:72 Lat:176 SizeLat:72 for: %res16 = mul <16 x i64> %xa16, %xb161522; SLM-NEXT:  Cost Model: Found costs of RThru:272 CodeSize:144 Lat:352 SizeLat:144 for: %res32 = mul <32 x i64> %xa32, %xb321523; SLM-NEXT:  Cost Model: Found costs of RThru:544 CodeSize:288 Lat:704 SizeLat:288 for: %res64 = mul <64 x i64> %xa64, %xb641524; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1525;1526; GLM-LABEL: 'mul_sext_vXi32'1527; GLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1528; GLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = sext <2 x i32> %b2 to <2 x i64>1529; GLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1530; GLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = sext <4 x i32> %b4 to <4 x i64>1531; GLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1532; GLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = sext <8 x i32> %b8 to <8 x i64>1533; GLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1534; GLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = sext <16 x i32> %b16 to <16 x i64>1535; GLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1536; GLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = sext <32 x i32> %b32 to <32 x i64>1537; GLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1538; GLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = sext <64 x i32> %b64 to <64 x i64>1539; GLM-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb21540; GLM-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb41541; GLM-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb81542; GLM-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb161543; GLM-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb321544; GLM-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb641545; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1546;1547  %xa2 = sext <2 x i32> %a2 to <2 x i64>1548  %xb2 = sext <2 x i32> %b2 to <2 x i64>1549  %xa4 = sext <4 x i32> %a4 to <4 x i64>1550  %xb4 = sext <4 x i32> %b4 to <4 x i64>1551  %xa8 = sext <8 x i32> %a8 to <8 x i64>1552  %xb8 = sext <8 x i32> %b8 to <8 x i64>1553  %xa16 = sext <16 x i32> %a16 to <16 x i64>1554  %xb16 = sext <16 x i32> %b16 to <16 x i64>1555  %xa32 = sext <32 x i32> %a32 to <32 x i64>1556  %xb32 = sext <32 x i32> %b32 to <32 x i64>1557  %xa64 = sext <64 x i32> %a64 to <64 x i64>1558  %xb64 = sext <64 x i32> %b64 to <64 x i64>1559  %res2 = mul <2 x i64> %xa2, %xb21560  %res4 = mul <4 x i64> %xa4, %xb41561  %res8 = mul <8 x i64> %xa8, %xb81562  %res16 = mul <16 x i64> %xa16, %xb161563  %res32 = mul <32 x i64> %xa32, %xb321564  %res64 = mul <64 x i64> %xa64, %xb641565  ret void1566}1567 1568define void @mul_zext_vXi32(<2 x i32> %a2, <2 x i32> %b2, <4 x i32> %a4, <4 x i32> %b4, <8 x i32> %a8, <8 x i32> %b8, <16 x i32> %a16, <16 x i32> %b16, <32 x i32> %a32, <32 x i32> %b32, <64 x i32> %a64, <64 x i32> %b64)  {1569; SSE2-LABEL: 'mul_zext_vXi32'1570; SSE2-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i32> %a2 to <2 x i64>1571; SSE2-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1572; SSE2-NEXT:  Cost Model: Found costs of 2 for: %xa4 = zext <4 x i32> %a4 to <4 x i64>1573; SSE2-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1574; SSE2-NEXT:  Cost Model: Found costs of 4 for: %xa8 = zext <8 x i32> %a8 to <8 x i64>1575; SSE2-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1576; SSE2-NEXT:  Cost Model: Found costs of 8 for: %xa16 = zext <16 x i32> %a16 to <16 x i64>1577; SSE2-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1578; SSE2-NEXT:  Cost Model: Found costs of 16 for: %xa32 = zext <32 x i32> %a32 to <32 x i64>1579; SSE2-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1580; SSE2-NEXT:  Cost Model: Found costs of 32 for: %xa64 = zext <64 x i32> %a64 to <64 x i64>1581; SSE2-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1582; SSE2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb21583; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res4 = mul <4 x i64> %xa4, %xb41584; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res8 = mul <8 x i64> %xa8, %xb81585; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res16 = mul <16 x i64> %xa16, %xb161586; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res32 = mul <32 x i64> %xa32, %xb321587; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:160 SizeLat:32 for: %res64 = mul <64 x i64> %xa64, %xb641588; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1589;1590; SSSE3-LABEL: 'mul_zext_vXi32'1591; SSSE3-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i32> %a2 to <2 x i64>1592; SSSE3-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1593; SSSE3-NEXT:  Cost Model: Found costs of 2 for: %xa4 = zext <4 x i32> %a4 to <4 x i64>1594; SSSE3-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1595; SSSE3-NEXT:  Cost Model: Found costs of 4 for: %xa8 = zext <8 x i32> %a8 to <8 x i64>1596; SSSE3-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1597; SSSE3-NEXT:  Cost Model: Found costs of 8 for: %xa16 = zext <16 x i32> %a16 to <16 x i64>1598; SSSE3-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1599; SSSE3-NEXT:  Cost Model: Found costs of 16 for: %xa32 = zext <32 x i32> %a32 to <32 x i64>1600; SSSE3-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1601; SSSE3-NEXT:  Cost Model: Found costs of 32 for: %xa64 = zext <64 x i32> %a64 to <64 x i64>1602; SSSE3-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1603; SSSE3-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb21604; SSSE3-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res4 = mul <4 x i64> %xa4, %xb41605; SSSE3-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res8 = mul <8 x i64> %xa8, %xb81606; SSSE3-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res16 = mul <16 x i64> %xa16, %xb161607; SSSE3-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res32 = mul <32 x i64> %xa32, %xb321608; SSSE3-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:160 SizeLat:32 for: %res64 = mul <64 x i64> %xa64, %xb641609; SSSE3-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1610;1611; SSE42-LABEL: 'mul_zext_vXi32'1612; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i32> %a2 to <2 x i64>1613; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1614; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xa4 = zext <4 x i32> %a4 to <4 x i64>1615; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1616; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xa8 = zext <8 x i32> %a8 to <8 x i64>1617; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1618; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xa16 = zext <16 x i32> %a16 to <16 x i64>1619; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1620; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xa32 = zext <32 x i32> %a32 to <32 x i64>1621; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1622; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xa64 = zext <64 x i32> %a64 to <64 x i64>1623; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1624; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb21625; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res4 = mul <4 x i64> %xa4, %xb41626; SSE42-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res8 = mul <8 x i64> %xa8, %xb81627; SSE42-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res16 = mul <16 x i64> %xa16, %xb161628; SSE42-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res32 = mul <32 x i64> %xa32, %xb321629; SSE42-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:160 SizeLat:32 for: %res64 = mul <64 x i64> %xa64, %xb641630; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1631;1632; AVX1-LABEL: 'mul_zext_vXi32'1633; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i32> %a2 to <2 x i64>1634; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1635; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = zext <4 x i32> %a4 to <4 x i64>1636; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1637; AVX1-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa8 = zext <8 x i32> %a8 to <8 x i64>1638; AVX1-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1639; AVX1-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = zext <16 x i32> %a16 to <16 x i64>1640; AVX1-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1641; AVX1-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = zext <32 x i32> %a32 to <32 x i64>1642; AVX1-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1643; AVX1-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = zext <64 x i32> %a64 to <64 x i64>1644; AVX1-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1645; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb21646; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:5 Lat:5 SizeLat:6 for: %res4 = mul <4 x i64> %xa4, %xb41647; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:12 for: %res8 = mul <8 x i64> %xa8, %xb81648; AVX1-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:24 for: %res16 = mul <16 x i64> %xa16, %xb161649; AVX1-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:48 for: %res32 = mul <32 x i64> %xa32, %xb321650; AVX1-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:80 Lat:80 SizeLat:96 for: %res64 = mul <64 x i64> %xa64, %xb641651; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1652;1653; AVX2-LABEL: 'mul_zext_vXi32'1654; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i32> %a2 to <2 x i64>1655; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1656; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = zext <4 x i32> %a4 to <4 x i64>1657; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1658; AVX2-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %xa8 = zext <8 x i32> %a8 to <8 x i64>1659; AVX2-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1660; AVX2-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = zext <16 x i32> %a16 to <16 x i64>1661; AVX2-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1662; AVX2-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = zext <32 x i32> %a32 to <32 x i64>1663; AVX2-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1664; AVX2-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = zext <64 x i32> %a64 to <64 x i64>1665; AVX2-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1666; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb21667; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res4 = mul <4 x i64> %xa4, %xb41668; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res8 = mul <8 x i64> %xa8, %xb81669; AVX2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res16 = mul <16 x i64> %xa16, %xb161670; AVX2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res32 = mul <32 x i64> %xa32, %xb321671; AVX2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res64 = mul <64 x i64> %xa64, %xb641672; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1673;1674; AVX512-LABEL: 'mul_zext_vXi32'1675; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i32> %a2 to <2 x i64>1676; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1677; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xa4 = zext <4 x i32> %a4 to <4 x i64>1678; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1679; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xa8 = zext <8 x i32> %a8 to <8 x i64>1680; AVX512-NEXT:  Cost Model: Found costs of 1 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1681; AVX512-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = zext <16 x i32> %a16 to <16 x i64>1682; AVX512-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1683; AVX512-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = zext <32 x i32> %a32 to <32 x i64>1684; AVX512-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1685; AVX512-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = zext <64 x i32> %a64 to <64 x i64>1686; AVX512-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1687; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb21688; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res4 = mul <4 x i64> %xa4, %xb41689; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res8 = mul <8 x i64> %xa8, %xb81690; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res16 = mul <16 x i64> %xa16, %xb161691; AVX512-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res32 = mul <32 x i64> %xa32, %xb321692; AVX512-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res64 = mul <64 x i64> %xa64, %xb641693; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1694;1695; SLM-LABEL: 'mul_zext_vXi32'1696; SLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i32> %a2 to <2 x i64>1697; SLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1698; SLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = zext <4 x i32> %a4 to <4 x i64>1699; SLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1700; SLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = zext <8 x i32> %a8 to <8 x i64>1701; SLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1702; SLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = zext <16 x i32> %a16 to <16 x i64>1703; SLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1704; SLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = zext <32 x i32> %a32 to <32 x i64>1705; SLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1706; SLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = zext <64 x i32> %a64 to <64 x i64>1707; SLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1708; SLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb21709; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res4 = mul <4 x i64> %xa4, %xb41710; SLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res8 = mul <8 x i64> %xa8, %xb81711; SLM-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res16 = mul <16 x i64> %xa16, %xb161712; SLM-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res32 = mul <32 x i64> %xa32, %xb321713; SLM-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:160 SizeLat:32 for: %res64 = mul <64 x i64> %xa64, %xb641714; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1715;1716; GLM-LABEL: 'mul_zext_vXi32'1717; GLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = zext <2 x i32> %a2 to <2 x i64>1718; GLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1719; GLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = zext <4 x i32> %a4 to <4 x i64>1720; GLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1721; GLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = zext <8 x i32> %a8 to <8 x i64>1722; GLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1723; GLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = zext <16 x i32> %a16 to <16 x i64>1724; GLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1725; GLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = zext <32 x i32> %a32 to <32 x i64>1726; GLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1727; GLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = zext <64 x i32> %a64 to <64 x i64>1728; GLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1729; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %res2 = mul <2 x i64> %xa2, %xb21730; GLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %res4 = mul <4 x i64> %xa4, %xb41731; GLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %res8 = mul <8 x i64> %xa8, %xb81732; GLM-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:40 SizeLat:8 for: %res16 = mul <16 x i64> %xa16, %xb161733; GLM-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:80 SizeLat:16 for: %res32 = mul <32 x i64> %xa32, %xb321734; GLM-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:160 SizeLat:32 for: %res64 = mul <64 x i64> %xa64, %xb641735; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1736;1737  %xa2 = zext <2 x i32> %a2 to <2 x i64>1738  %xb2 = zext <2 x i32> %b2 to <2 x i64>1739  %xa4 = zext <4 x i32> %a4 to <4 x i64>1740  %xb4 = zext <4 x i32> %b4 to <4 x i64>1741  %xa8 = zext <8 x i32> %a8 to <8 x i64>1742  %xb8 = zext <8 x i32> %b8 to <8 x i64>1743  %xa16 = zext <16 x i32> %a16 to <16 x i64>1744  %xb16 = zext <16 x i32> %b16 to <16 x i64>1745  %xa32 = zext <32 x i32> %a32 to <32 x i64>1746  %xb32 = zext <32 x i32> %b32 to <32 x i64>1747  %xa64 = zext <64 x i32> %a64 to <64 x i64>1748  %xb64 = zext <64 x i32> %b64 to <64 x i64>1749  %res2 = mul <2 x i64> %xa2, %xb21750  %res4 = mul <4 x i64> %xa4, %xb41751  %res8 = mul <8 x i64> %xa8, %xb81752  %res16 = mul <16 x i64> %xa16, %xb161753  %res32 = mul <32 x i64> %xa32, %xb321754  %res64 = mul <64 x i64> %xa64, %xb641755  ret void1756}1757 1758define void @mul_sext_zext_vXi32(<2 x i32> %a2, <2 x i32> %b2, <4 x i32> %a4, <4 x i32> %b4, <8 x i32> %a8, <8 x i32> %b8, <16 x i32> %a16, <16 x i32> %b16, <32 x i32> %a32, <32 x i32> %b32, <64 x i32> %a64, <64 x i32> %b64)  {1759; SSE2-LABEL: 'mul_sext_zext_vXi32'1760; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1761; SSE2-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1762; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1763; SSE2-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1764; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1765; SSE2-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1766; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1767; SSE2-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1768; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1769; SSE2-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1770; SSE2-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1771; SSE2-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1772; SSE2-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb21773; SSE2-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb41774; SSE2-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb81775; SSE2-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb161776; SSE2-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb321777; SSE2-NEXT:  Cost Model: Found costs of RThru:224 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb641778; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1779;1780; SSSE3-LABEL: 'mul_sext_zext_vXi32'1781; SSSE3-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1782; SSSE3-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1783; SSSE3-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1784; SSSE3-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1785; SSSE3-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1786; SSSE3-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1787; SSSE3-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:8 SizeLat:8 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1788; SSSE3-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1789; SSSE3-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:16 Lat:16 SizeLat:16 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1790; SSSE3-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1791; SSSE3-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:32 Lat:32 SizeLat:32 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1792; SSSE3-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1793; SSSE3-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb21794; SSSE3-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb41795; SSSE3-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb81796; SSSE3-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb161797; SSSE3-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb321798; SSSE3-NEXT:  Cost Model: Found costs of RThru:224 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb641799; SSSE3-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1800;1801; SSE42-LABEL: 'mul_sext_zext_vXi32'1802; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1803; SSE42-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1804; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1805; SSE42-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1806; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1807; SSE42-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1808; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1809; SSE42-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1810; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1811; SSE42-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1812; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1813; SSE42-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1814; SSE42-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb21815; SSE42-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb41816; SSE42-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb81817; SSE42-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb161818; SSE42-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb321819; SSE42-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb641820; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1821;1822; AVX1-LABEL: 'mul_sext_zext_vXi32'1823; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1824; AVX1-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1825; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1826; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1827; AVX1-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1828; AVX1-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1829; AVX1-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1830; AVX1-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1831; AVX1-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1832; AVX1-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1833; AVX1-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1834; AVX1-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1835; AVX1-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb21836; AVX1-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:19 Lat:15 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb41837; AVX1-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:38 Lat:30 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb81838; AVX1-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:76 Lat:60 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb161839; AVX1-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:152 Lat:120 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb321840; AVX1-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:304 Lat:240 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb641841; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1842;1843; AVX2-LABEL: 'mul_sext_zext_vXi32'1844; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1845; AVX2-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1846; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1847; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1848; AVX2-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1849; AVX2-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1850; AVX2-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1851; AVX2-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1852; AVX2-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1853; AVX2-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1854; AVX2-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1855; AVX2-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1856; AVX2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb21857; AVX2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb41858; AVX2-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:20 SizeLat:26 for: %res8 = mul <8 x i64> %xa8, %xb81859; AVX2-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:40 SizeLat:52 for: %res16 = mul <16 x i64> %xa16, %xb161860; AVX2-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:80 SizeLat:104 for: %res32 = mul <32 x i64> %xa32, %xb321861; AVX2-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:128 Lat:160 SizeLat:208 for: %res64 = mul <64 x i64> %xa64, %xb641862; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1863;1864; AVX512F-LABEL: 'mul_sext_zext_vXi32'1865; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1866; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1867; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1868; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1869; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1870; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1871; AVX512F-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1872; AVX512F-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1873; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1874; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1875; AVX512F-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1876; AVX512F-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1877; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb21878; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb41879; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:9 SizeLat:8 for: %res8 = mul <8 x i64> %xa8, %xb81880; AVX512F-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:18 SizeLat:16 for: %res16 = mul <16 x i64> %xa16, %xb161881; AVX512F-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:36 SizeLat:32 for: %res32 = mul <32 x i64> %xa32, %xb321882; AVX512F-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:72 SizeLat:64 for: %res64 = mul <64 x i64> %xa64, %xb641883; AVX512F-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1884;1885; AVX512BW-LABEL: 'mul_sext_zext_vXi32'1886; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1887; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1888; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1889; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1890; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1891; AVX512BW-NEXT:  Cost Model: Found costs of 1 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1892; AVX512BW-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1893; AVX512BW-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1894; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1895; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1896; AVX512BW-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1897; AVX512BW-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1898; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %res2 = mul <2 x i64> %xa2, %xb21899; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %res4 = mul <4 x i64> %xa4, %xb41900; AVX512BW-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:8 Lat:9 SizeLat:8 for: %res8 = mul <8 x i64> %xa8, %xb81901; AVX512BW-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:16 Lat:18 SizeLat:16 for: %res16 = mul <16 x i64> %xa16, %xb161902; AVX512BW-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:32 Lat:36 SizeLat:32 for: %res32 = mul <32 x i64> %xa32, %xb321903; AVX512BW-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:64 Lat:72 SizeLat:64 for: %res64 = mul <64 x i64> %xa64, %xb641904; AVX512BW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1905;1906; AVX512DQ-LABEL: 'mul_sext_zext_vXi32'1907; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1908; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1909; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1910; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1911; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1912; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1913; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1914; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1915; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1916; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1917; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1918; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1919; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:15 SizeLat:3 for: %res2 = mul <2 x i64> %xa2, %xb21920; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:15 SizeLat:3 for: %res4 = mul <4 x i64> %xa4, %xb41921; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:15 SizeLat:3 for: %res8 = mul <8 x i64> %xa8, %xb81922; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:2 Lat:30 SizeLat:6 for: %res16 = mul <16 x i64> %xa16, %xb161923; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:60 SizeLat:12 for: %res32 = mul <32 x i64> %xa32, %xb321924; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:8 Lat:120 SizeLat:24 for: %res64 = mul <64 x i64> %xa64, %xb641925; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1926;1927; SLM-LABEL: 'mul_sext_zext_vXi32'1928; SLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1929; SLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1930; SLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1931; SLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1932; SLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1933; SLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1934; SLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1935; SLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1936; SLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1937; SLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1938; SLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1939; SLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1940; SLM-NEXT:  Cost Model: Found costs of RThru:17 CodeSize:9 Lat:22 SizeLat:9 for: %res2 = mul <2 x i64> %xa2, %xb21941; SLM-NEXT:  Cost Model: Found costs of RThru:34 CodeSize:18 Lat:44 SizeLat:18 for: %res4 = mul <4 x i64> %xa4, %xb41942; SLM-NEXT:  Cost Model: Found costs of RThru:68 CodeSize:36 Lat:88 SizeLat:36 for: %res8 = mul <8 x i64> %xa8, %xb81943; SLM-NEXT:  Cost Model: Found costs of RThru:136 CodeSize:72 Lat:176 SizeLat:72 for: %res16 = mul <16 x i64> %xa16, %xb161944; SLM-NEXT:  Cost Model: Found costs of RThru:272 CodeSize:144 Lat:352 SizeLat:144 for: %res32 = mul <32 x i64> %xa32, %xb321945; SLM-NEXT:  Cost Model: Found costs of RThru:544 CodeSize:288 Lat:704 SizeLat:288 for: %res64 = mul <64 x i64> %xa64, %xb641946; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1947;1948; GLM-LABEL: 'mul_sext_zext_vXi32'1949; GLM-NEXT:  Cost Model: Found costs of 1 for: %xa2 = sext <2 x i32> %a2 to <2 x i64>1950; GLM-NEXT:  Cost Model: Found costs of 1 for: %xb2 = zext <2 x i32> %b2 to <2 x i64>1951; GLM-NEXT:  Cost Model: Found costs of 2 for: %xa4 = sext <4 x i32> %a4 to <4 x i64>1952; GLM-NEXT:  Cost Model: Found costs of 2 for: %xb4 = zext <4 x i32> %b4 to <4 x i64>1953; GLM-NEXT:  Cost Model: Found costs of 4 for: %xa8 = sext <8 x i32> %a8 to <8 x i64>1954; GLM-NEXT:  Cost Model: Found costs of 4 for: %xb8 = zext <8 x i32> %b8 to <8 x i64>1955; GLM-NEXT:  Cost Model: Found costs of 8 for: %xa16 = sext <16 x i32> %a16 to <16 x i64>1956; GLM-NEXT:  Cost Model: Found costs of 8 for: %xb16 = zext <16 x i32> %b16 to <16 x i64>1957; GLM-NEXT:  Cost Model: Found costs of 16 for: %xa32 = sext <32 x i32> %a32 to <32 x i64>1958; GLM-NEXT:  Cost Model: Found costs of 16 for: %xb32 = zext <32 x i32> %b32 to <32 x i64>1959; GLM-NEXT:  Cost Model: Found costs of 32 for: %xa64 = sext <64 x i32> %a64 to <64 x i64>1960; GLM-NEXT:  Cost Model: Found costs of 32 for: %xb64 = zext <64 x i32> %b64 to <64 x i64>1961; GLM-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %res2 = mul <2 x i64> %xa2, %xb21962; GLM-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:20 for: %res4 = mul <4 x i64> %xa4, %xb41963; GLM-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:40 for: %res8 = mul <8 x i64> %xa8, %xb81964; GLM-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:80 Lat:80 SizeLat:80 for: %res16 = mul <16 x i64> %xa16, %xb161965; GLM-NEXT:  Cost Model: Found costs of RThru:96 CodeSize:160 Lat:160 SizeLat:160 for: %res32 = mul <32 x i64> %xa32, %xb321966; GLM-NEXT:  Cost Model: Found costs of RThru:192 CodeSize:320 Lat:320 SizeLat:320 for: %res64 = mul <64 x i64> %xa64, %xb641967; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1968;1969  %xa2 = sext <2 x i32> %a2 to <2 x i64>1970  %xb2 = zext <2 x i32> %b2 to <2 x i64>1971  %xa4 = sext <4 x i32> %a4 to <4 x i64>1972  %xb4 = zext <4 x i32> %b4 to <4 x i64>1973  %xa8 = sext <8 x i32> %a8 to <8 x i64>1974  %xb8 = zext <8 x i32> %b8 to <8 x i64>1975  %xa16 = sext <16 x i32> %a16 to <16 x i64>1976  %xb16 = zext <16 x i32> %b16 to <16 x i64>1977  %xa32 = sext <32 x i32> %a32 to <32 x i64>1978  %xb32 = zext <32 x i32> %b32 to <32 x i64>1979  %xa64 = sext <64 x i32> %a64 to <64 x i64>1980  %xb64 = zext <64 x i32> %b64 to <64 x i64>1981  %res2 = mul <2 x i64> %xa2, %xb21982  %res4 = mul <4 x i64> %xa4, %xb41983  %res8 = mul <8 x i64> %xa8, %xb81984  %res16 = mul <16 x i64> %xa16, %xb161985  %res32 = mul <32 x i64> %xa32, %xb321986  %res64 = mul <64 x i64> %xa64, %xb641987  ret void1988}1989