brintos

brintos / llvm-project-archived public Read only

0
0
Text · 31.3 KiB · 30e4c10 Raw
418 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py2; RUN: opt < %s -mtriple=x86_64-apple-darwin -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mattr=+sse2 | FileCheck %s --check-prefixes=SSE23; RUN: opt < %s -mtriple=x86_64-apple-darwin -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mattr=+sse4.2 | FileCheck %s --check-prefixes=SSE424; RUN: opt < %s -mtriple=x86_64-apple-darwin -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mattr=+avx  | FileCheck %s --check-prefixes=AVX,AVX15; RUN: opt < %s -mtriple=x86_64-apple-darwin -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mattr=+avx2 | FileCheck %s --check-prefixes=AVX,AVX26; RUN: opt < %s -mtriple=x86_64-apple-darwin -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mattr=+avx512f | FileCheck %s --check-prefixes=AVX512,AVX512F7; RUN: opt < %s -mtriple=x86_64-apple-darwin -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mattr=+avx512f,+avx512dq | FileCheck %s --check-prefixes=AVX512,AVX512DQ8;9; RUN: opt < %s -mtriple=x86_64-apple-darwin -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mcpu=slm | FileCheck %s --check-prefixes=SLM10; RUN: opt < %s -mtriple=x86_64-apple-darwin -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mcpu=goldmont | FileCheck %s --check-prefixes=SSE4211; RUN: opt < %s -mtriple=x86_64-apple-darwin -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mcpu=btver2 | FileCheck %s --check-prefixes=AVX,AVX112 13define i32 @fptosi_double_i64(i32 %arg) {14; SSE2-LABEL: 'fptosi_double_i64'15; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %I64 = fptosi double undef to i6416; SSE2-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %V2I64 = fptosi <2 x double> undef to <2 x i64>17; SSE2-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %V4I64 = fptosi <4 x double> undef to <4 x i64>18; SSE2-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:1 SizeLat:1 for: %V8I64 = fptosi <8 x double> undef to <8 x i64>19; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef20;21; SSE42-LABEL: 'fptosi_double_i64'22; SSE42-NEXT:  Cost Model: Found costs of 1 for: %I64 = fptosi double undef to i6423; SSE42-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %V2I64 = fptosi <2 x double> undef to <2 x i64>24; SSE42-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %V4I64 = fptosi <4 x double> undef to <4 x i64>25; SSE42-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:1 Lat:1 SizeLat:1 for: %V8I64 = fptosi <8 x double> undef to <8 x i64>26; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef27;28; AVX-LABEL: 'fptosi_double_i64'29; AVX-NEXT:  Cost Model: Found costs of 1 for: %I64 = fptosi double undef to i6430; AVX-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %V2I64 = fptosi <2 x double> undef to <2 x i64>31; AVX-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %V4I64 = fptosi <4 x double> undef to <4 x i64>32; AVX-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %V8I64 = fptosi <8 x double> undef to <8 x i64>33; AVX-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef34;35; AVX512F-LABEL: 'fptosi_double_i64'36; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %I64 = fptosi double undef to i6437; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %V2I64 = fptosi <2 x double> undef to <2 x i64>38; AVX512F-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %V4I64 = fptosi <4 x double> undef to <4 x i64>39; AVX512F-NEXT:  Cost Model: Found costs of RThru:30 CodeSize:1 Lat:1 SizeLat:1 for: %V8I64 = fptosi <8 x double> undef to <8 x i64>40; AVX512F-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef41;42; AVX512DQ-LABEL: 'fptosi_double_i64'43; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %I64 = fptosi double undef to i6444; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %V2I64 = fptosi <2 x double> undef to <2 x i64>45; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %V4I64 = fptosi <4 x double> undef to <4 x i64>46; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %V8I64 = fptosi <8 x double> undef to <8 x i64>47; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef48;49; SLM-LABEL: 'fptosi_double_i64'50; SLM-NEXT:  Cost Model: Found costs of 1 for: %I64 = fptosi double undef to i6451; SLM-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %V2I64 = fptosi <2 x double> undef to <2 x i64>52; SLM-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:1 Lat:1 SizeLat:1 for: %V4I64 = fptosi <4 x double> undef to <4 x i64>53; SLM-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:1 Lat:1 SizeLat:1 for: %V8I64 = fptosi <8 x double> undef to <8 x i64>54; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef55;56  %I64 = fptosi double undef to i6457  %V2I64 = fptosi <2 x double> undef to <2 x i64>58  %V4I64 = fptosi <4 x double> undef to <4 x i64>59  %V8I64 = fptosi <8 x double> undef to <8 x i64>60  ret i32 undef61}62 63define i32 @fptosi_double_i32(i32 %arg) {64; SSE2-LABEL: 'fptosi_double_i32'65; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %I32 = fptosi double undef to i3266; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V2I32 = fptosi <2 x double> undef to <2 x i32>67; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %V4I32 = fptosi <4 x double> undef to <4 x i32>68; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %V8I32 = fptosi <8 x double> undef to <8 x i32>69; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef70;71; SSE42-LABEL: 'fptosi_double_i32'72; SSE42-NEXT:  Cost Model: Found costs of 1 for: %I32 = fptosi double undef to i3273; SSE42-NEXT:  Cost Model: Found costs of 1 for: %V2I32 = fptosi <2 x double> undef to <2 x i32>74; SSE42-NEXT:  Cost Model: Found costs of 2 for: %V4I32 = fptosi <4 x double> undef to <4 x i32>75; SSE42-NEXT:  Cost Model: Found costs of 4 for: %V8I32 = fptosi <8 x double> undef to <8 x i32>76; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef77;78; AVX1-LABEL: 'fptosi_double_i32'79; AVX1-NEXT:  Cost Model: Found costs of 1 for: %I32 = fptosi double undef to i3280; AVX1-NEXT:  Cost Model: Found costs of 1 for: %V2I32 = fptosi <2 x double> undef to <2 x i32>81; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V4I32 = fptosi <4 x double> undef to <4 x i32>82; AVX1-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %V8I32 = fptosi <8 x double> undef to <8 x i32>83; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef84;85; AVX2-LABEL: 'fptosi_double_i32'86; AVX2-NEXT:  Cost Model: Found costs of 1 for: %I32 = fptosi double undef to i3287; AVX2-NEXT:  Cost Model: Found costs of 1 for: %V2I32 = fptosi <2 x double> undef to <2 x i32>88; AVX2-NEXT:  Cost Model: Found costs of 1 for: %V4I32 = fptosi <4 x double> undef to <4 x i32>89; AVX2-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %V8I32 = fptosi <8 x double> undef to <8 x i32>90; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef91;92; AVX512-LABEL: 'fptosi_double_i32'93; AVX512-NEXT:  Cost Model: Found costs of 1 for: %I32 = fptosi double undef to i3294; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V2I32 = fptosi <2 x double> undef to <2 x i32>95; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V4I32 = fptosi <4 x double> undef to <4 x i32>96; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V8I32 = fptosi <8 x double> undef to <8 x i32>97; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef98;99; SLM-LABEL: 'fptosi_double_i32'100; SLM-NEXT:  Cost Model: Found costs of 1 for: %I32 = fptosi double undef to i32101; SLM-NEXT:  Cost Model: Found costs of 1 for: %V2I32 = fptosi <2 x double> undef to <2 x i32>102; SLM-NEXT:  Cost Model: Found costs of 2 for: %V4I32 = fptosi <4 x double> undef to <4 x i32>103; SLM-NEXT:  Cost Model: Found costs of 4 for: %V8I32 = fptosi <8 x double> undef to <8 x i32>104; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef105;106  %I32 = fptosi double undef to i32107  %V2I32 = fptosi <2 x double> undef to <2 x i32>108  %V4I32 = fptosi <4 x double> undef to <4 x i32>109  %V8I32 = fptosi <8 x double> undef to <8 x i32>110  ret i32 undef111}112 113define i32 @fptosi_double_i16(i32 %arg) {114; SSE2-LABEL: 'fptosi_double_i16'115; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %I16 = fptosi double undef to i16116; SSE2-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %V2I16 = fptosi <2 x double> undef to <2 x i16>117; SSE2-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:2 Lat:2 SizeLat:2 for: %V4I16 = fptosi <4 x double> undef to <4 x i16>118; SSE2-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:4 Lat:4 SizeLat:4 for: %V8I16 = fptosi <8 x double> undef to <8 x i16>119; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef120;121; SSE42-LABEL: 'fptosi_double_i16'122; SSE42-NEXT:  Cost Model: Found costs of 1 for: %I16 = fptosi double undef to i16123; SSE42-NEXT:  Cost Model: Found costs of 1 for: %V2I16 = fptosi <2 x double> undef to <2 x i16>124; SSE42-NEXT:  Cost Model: Found costs of 2 for: %V4I16 = fptosi <4 x double> undef to <4 x i16>125; SSE42-NEXT:  Cost Model: Found costs of 4 for: %V8I16 = fptosi <8 x double> undef to <8 x i16>126; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef127;128; AVX-LABEL: 'fptosi_double_i16'129; AVX-NEXT:  Cost Model: Found costs of 1 for: %I16 = fptosi double undef to i16130; AVX-NEXT:  Cost Model: Found costs of 1 for: %V2I16 = fptosi <2 x double> undef to <2 x i16>131; AVX-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V4I16 = fptosi <4 x double> undef to <4 x i16>132; AVX-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %V8I16 = fptosi <8 x double> undef to <8 x i16>133; AVX-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef134;135; AVX512-LABEL: 'fptosi_double_i16'136; AVX512-NEXT:  Cost Model: Found costs of 1 for: %I16 = fptosi double undef to i16137; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V2I16 = fptosi <2 x double> undef to <2 x i16>138; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V4I16 = fptosi <4 x double> undef to <4 x i16>139; AVX512-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %V8I16 = fptosi <8 x double> undef to <8 x i16>140; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef141;142; SLM-LABEL: 'fptosi_double_i16'143; SLM-NEXT:  Cost Model: Found costs of 1 for: %I16 = fptosi double undef to i16144; SLM-NEXT:  Cost Model: Found costs of 1 for: %V2I16 = fptosi <2 x double> undef to <2 x i16>145; SLM-NEXT:  Cost Model: Found costs of 2 for: %V4I16 = fptosi <4 x double> undef to <4 x i16>146; SLM-NEXT:  Cost Model: Found costs of 4 for: %V8I16 = fptosi <8 x double> undef to <8 x i16>147; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef148;149  %I16 = fptosi double undef to i16150  %V2I16 = fptosi <2 x double> undef to <2 x i16>151  %V4I16 = fptosi <4 x double> undef to <4 x i16>152  %V8I16 = fptosi <8 x double> undef to <8 x i16>153  ret i32 undef154}155 156define i32 @fptosi_double_i8(i32 %arg) {157; SSE2-LABEL: 'fptosi_double_i8'158; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %I8 = fptosi double undef to i8159; SSE2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %V2I8 = fptosi <2 x double> undef to <2 x i8>160; SSE2-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:2 Lat:2 SizeLat:2 for: %V4I8 = fptosi <4 x double> undef to <4 x i8>161; SSE2-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %V8I8 = fptosi <8 x double> undef to <8 x i8>162; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef163;164; SSE42-LABEL: 'fptosi_double_i8'165; SSE42-NEXT:  Cost Model: Found costs of 1 for: %I8 = fptosi double undef to i8166; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V2I8 = fptosi <2 x double> undef to <2 x i8>167; SSE42-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %V4I8 = fptosi <4 x double> undef to <4 x i8>168; SSE42-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %V8I8 = fptosi <8 x double> undef to <8 x i8>169; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef170;171; AVX-LABEL: 'fptosi_double_i8'172; AVX-NEXT:  Cost Model: Found costs of 1 for: %I8 = fptosi double undef to i8173; AVX-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V2I8 = fptosi <2 x double> undef to <2 x i8>174; AVX-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V4I8 = fptosi <4 x double> undef to <4 x i8>175; AVX-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %V8I8 = fptosi <8 x double> undef to <8 x i8>176; AVX-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef177;178; AVX512-LABEL: 'fptosi_double_i8'179; AVX512-NEXT:  Cost Model: Found costs of 1 for: %I8 = fptosi double undef to i8180; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V2I8 = fptosi <2 x double> undef to <2 x i8>181; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V4I8 = fptosi <4 x double> undef to <4 x i8>182; AVX512-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:2 Lat:2 SizeLat:2 for: %V8I8 = fptosi <8 x double> undef to <8 x i8>183; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef184;185; SLM-LABEL: 'fptosi_double_i8'186; SLM-NEXT:  Cost Model: Found costs of 1 for: %I8 = fptosi double undef to i8187; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V2I8 = fptosi <2 x double> undef to <2 x i8>188; SLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %V4I8 = fptosi <4 x double> undef to <4 x i8>189; SLM-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %V8I8 = fptosi <8 x double> undef to <8 x i8>190; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef191;192  %I8 = fptosi double undef to i8193  %V2I8 = fptosi <2 x double> undef to <2 x i8>194  %V4I8 = fptosi <4 x double> undef to <4 x i8>195  %V8I8 = fptosi <8 x double> undef to <8 x i8>196  ret i32 undef197}198 199define i32 @fptosi_float_i64(i32 %arg) {200; SSE2-LABEL: 'fptosi_float_i64'201; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %I64 = fptosi float undef to i64202; SSE2-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %V2I64 = fptosi <2 x float> undef to <2 x i64>203; SSE2-NEXT:  Cost Model: Found costs of RThru:29 CodeSize:1 Lat:1 SizeLat:1 for: %V4I64 = fptosi <4 x float> undef to <4 x i64>204; SSE2-NEXT:  Cost Model: Found costs of RThru:58 CodeSize:1 Lat:1 SizeLat:1 for: %V8I64 = fptosi <8 x float> undef to <8 x i64>205; SSE2-NEXT:  Cost Model: Found costs of RThru:116 CodeSize:1 Lat:1 SizeLat:1 for: %V16I64 = fptosi <16 x float> undef to <16 x i64>206; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef207;208; SSE42-LABEL: 'fptosi_float_i64'209; SSE42-NEXT:  Cost Model: Found costs of 1 for: %I64 = fptosi float undef to i64210; SSE42-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %V2I64 = fptosi <2 x float> undef to <2 x i64>211; SSE42-NEXT:  Cost Model: Found costs of RThru:13 CodeSize:1 Lat:1 SizeLat:1 for: %V4I64 = fptosi <4 x float> undef to <4 x i64>212; SSE42-NEXT:  Cost Model: Found costs of RThru:26 CodeSize:1 Lat:1 SizeLat:1 for: %V8I64 = fptosi <8 x float> undef to <8 x i64>213; SSE42-NEXT:  Cost Model: Found costs of RThru:52 CodeSize:1 Lat:1 SizeLat:1 for: %V16I64 = fptosi <16 x float> undef to <16 x i64>214; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef215;216; AVX-LABEL: 'fptosi_float_i64'217; AVX-NEXT:  Cost Model: Found costs of 1 for: %I64 = fptosi float undef to i64218; AVX-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %V2I64 = fptosi <2 x float> undef to <2 x i64>219; AVX-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %V4I64 = fptosi <4 x float> undef to <4 x i64>220; AVX-NEXT:  Cost Model: Found costs of RThru:29 CodeSize:1 Lat:1 SizeLat:1 for: %V8I64 = fptosi <8 x float> undef to <8 x i64>221; AVX-NEXT:  Cost Model: Found costs of RThru:58 CodeSize:1 Lat:1 SizeLat:1 for: %V16I64 = fptosi <16 x float> undef to <16 x i64>222; AVX-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef223;224; AVX512F-LABEL: 'fptosi_float_i64'225; AVX512F-NEXT:  Cost Model: Found costs of 1 for: %I64 = fptosi float undef to i64226; AVX512F-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %V2I64 = fptosi <2 x float> undef to <2 x i64>227; AVX512F-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %V4I64 = fptosi <4 x float> undef to <4 x i64>228; AVX512F-NEXT:  Cost Model: Found costs of RThru:30 CodeSize:1 Lat:1 SizeLat:1 for: %V8I64 = fptosi <8 x float> undef to <8 x i64>229; AVX512F-NEXT:  Cost Model: Found costs of RThru:61 CodeSize:1 Lat:1 SizeLat:1 for: %V16I64 = fptosi <16 x float> undef to <16 x i64>230; AVX512F-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef231;232; AVX512DQ-LABEL: 'fptosi_float_i64'233; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %I64 = fptosi float undef to i64234; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %V2I64 = fptosi <2 x float> undef to <2 x i64>235; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %V4I64 = fptosi <4 x float> undef to <4 x i64>236; AVX512DQ-NEXT:  Cost Model: Found costs of 1 for: %V8I64 = fptosi <8 x float> undef to <8 x i64>237; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %V16I64 = fptosi <16 x float> undef to <16 x i64>238; AVX512DQ-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef239;240; SLM-LABEL: 'fptosi_float_i64'241; SLM-NEXT:  Cost Model: Found costs of 1 for: %I64 = fptosi float undef to i64242; SLM-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %V2I64 = fptosi <2 x float> undef to <2 x i64>243; SLM-NEXT:  Cost Model: Found costs of RThru:25 CodeSize:1 Lat:1 SizeLat:1 for: %V4I64 = fptosi <4 x float> undef to <4 x i64>244; SLM-NEXT:  Cost Model: Found costs of RThru:50 CodeSize:1 Lat:1 SizeLat:1 for: %V8I64 = fptosi <8 x float> undef to <8 x i64>245; SLM-NEXT:  Cost Model: Found costs of RThru:100 CodeSize:1 Lat:1 SizeLat:1 for: %V16I64 = fptosi <16 x float> undef to <16 x i64>246; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef247;248  %I64 = fptosi float undef to i64249  %V2I64 = fptosi <2 x float> undef to <2 x i64>250  %V4I64 = fptosi <4 x float> undef to <4 x i64>251  %V8I64 = fptosi <8 x float> undef to <8 x i64>252  %V16I64 = fptosi <16 x float> undef to <16 x i64>253  ret i32 undef254}255 256define i32 @fptosi_float_i32(i32 %arg) {257; SSE2-LABEL: 'fptosi_float_i32'258; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %I32 = fptosi float undef to i32259; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V2I32 = fptosi <2 x float> undef to <2 x i32>260; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V4I32 = fptosi <4 x float> undef to <4 x i32>261; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %V8I32 = fptosi <8 x float> undef to <8 x i32>262; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %V16I32 = fptosi <16 x float> undef to <16 x i32>263; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef264;265; SSE42-LABEL: 'fptosi_float_i32'266; SSE42-NEXT:  Cost Model: Found costs of 1 for: %I32 = fptosi float undef to i32267; SSE42-NEXT:  Cost Model: Found costs of 1 for: %V2I32 = fptosi <2 x float> undef to <2 x i32>268; SSE42-NEXT:  Cost Model: Found costs of 1 for: %V4I32 = fptosi <4 x float> undef to <4 x i32>269; SSE42-NEXT:  Cost Model: Found costs of 2 for: %V8I32 = fptosi <8 x float> undef to <8 x i32>270; SSE42-NEXT:  Cost Model: Found costs of 4 for: %V16I32 = fptosi <16 x float> undef to <16 x i32>271; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef272;273; AVX1-LABEL: 'fptosi_float_i32'274; AVX1-NEXT:  Cost Model: Found costs of 1 for: %I32 = fptosi float undef to i32275; AVX1-NEXT:  Cost Model: Found costs of 1 for: %V2I32 = fptosi <2 x float> undef to <2 x i32>276; AVX1-NEXT:  Cost Model: Found costs of 1 for: %V4I32 = fptosi <4 x float> undef to <4 x i32>277; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V8I32 = fptosi <8 x float> undef to <8 x i32>278; AVX1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %V16I32 = fptosi <16 x float> undef to <16 x i32>279; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef280;281; AVX2-LABEL: 'fptosi_float_i32'282; AVX2-NEXT:  Cost Model: Found costs of 1 for: %I32 = fptosi float undef to i32283; AVX2-NEXT:  Cost Model: Found costs of 1 for: %V2I32 = fptosi <2 x float> undef to <2 x i32>284; AVX2-NEXT:  Cost Model: Found costs of 1 for: %V4I32 = fptosi <4 x float> undef to <4 x i32>285; AVX2-NEXT:  Cost Model: Found costs of 1 for: %V8I32 = fptosi <8 x float> undef to <8 x i32>286; AVX2-NEXT:  Cost Model: Found costs of 2 for: %V16I32 = fptosi <16 x float> undef to <16 x i32>287; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef288;289; AVX512-LABEL: 'fptosi_float_i32'290; AVX512-NEXT:  Cost Model: Found costs of 1 for: %I32 = fptosi float undef to i32291; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V2I32 = fptosi <2 x float> undef to <2 x i32>292; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V4I32 = fptosi <4 x float> undef to <4 x i32>293; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V8I32 = fptosi <8 x float> undef to <8 x i32>294; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V16I32 = fptosi <16 x float> undef to <16 x i32>295; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef296;297; SLM-LABEL: 'fptosi_float_i32'298; SLM-NEXT:  Cost Model: Found costs of 1 for: %I32 = fptosi float undef to i32299; SLM-NEXT:  Cost Model: Found costs of 1 for: %V2I32 = fptosi <2 x float> undef to <2 x i32>300; SLM-NEXT:  Cost Model: Found costs of 1 for: %V4I32 = fptosi <4 x float> undef to <4 x i32>301; SLM-NEXT:  Cost Model: Found costs of 2 for: %V8I32 = fptosi <8 x float> undef to <8 x i32>302; SLM-NEXT:  Cost Model: Found costs of 4 for: %V16I32 = fptosi <16 x float> undef to <16 x i32>303; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef304;305  %I32 = fptosi float undef to i32306  %V2I32 = fptosi <2 x float> undef to <2 x i32>307  %V4I32 = fptosi <4 x float> undef to <4 x i32>308  %V8I32 = fptosi <8 x float> undef to <8 x i32>309  %V16I32 = fptosi <16 x float> undef to <16 x i32>310  ret i32 undef311}312 313define i32 @fptosi_float_i16(i32 %arg) {314; SSE2-LABEL: 'fptosi_float_i16'315; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %I16 = fptosi float undef to i16316; SSE2-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %V2I16 = fptosi <2 x float> undef to <2 x i16>317; SSE2-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %V4I16 = fptosi <4 x float> undef to <4 x i16>318; SSE2-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:2 Lat:2 SizeLat:2 for: %V8I16 = fptosi <8 x float> undef to <8 x i16>319; SSE2-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:4 Lat:4 SizeLat:4 for: %V16I16 = fptosi <16 x float> undef to <16 x i16>320; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef321;322; SSE42-LABEL: 'fptosi_float_i16'323; SSE42-NEXT:  Cost Model: Found costs of 1 for: %I16 = fptosi float undef to i16324; SSE42-NEXT:  Cost Model: Found costs of 1 for: %V2I16 = fptosi <2 x float> undef to <2 x i16>325; SSE42-NEXT:  Cost Model: Found costs of 1 for: %V4I16 = fptosi <4 x float> undef to <4 x i16>326; SSE42-NEXT:  Cost Model: Found costs of 2 for: %V8I16 = fptosi <8 x float> undef to <8 x i16>327; SSE42-NEXT:  Cost Model: Found costs of 4 for: %V16I16 = fptosi <16 x float> undef to <16 x i16>328; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef329;330; AVX1-LABEL: 'fptosi_float_i16'331; AVX1-NEXT:  Cost Model: Found costs of 1 for: %I16 = fptosi float undef to i16332; AVX1-NEXT:  Cost Model: Found costs of 1 for: %V2I16 = fptosi <2 x float> undef to <2 x i16>333; AVX1-NEXT:  Cost Model: Found costs of 1 for: %V4I16 = fptosi <4 x float> undef to <4 x i16>334; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V8I16 = fptosi <8 x float> undef to <8 x i16>335; AVX1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %V16I16 = fptosi <16 x float> undef to <16 x i16>336; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef337;338; AVX2-LABEL: 'fptosi_float_i16'339; AVX2-NEXT:  Cost Model: Found costs of 1 for: %I16 = fptosi float undef to i16340; AVX2-NEXT:  Cost Model: Found costs of 1 for: %V2I16 = fptosi <2 x float> undef to <2 x i16>341; AVX2-NEXT:  Cost Model: Found costs of 1 for: %V4I16 = fptosi <4 x float> undef to <4 x i16>342; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V8I16 = fptosi <8 x float> undef to <8 x i16>343; AVX2-NEXT:  Cost Model: Found costs of 2 for: %V16I16 = fptosi <16 x float> undef to <16 x i16>344; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef345;346; AVX512-LABEL: 'fptosi_float_i16'347; AVX512-NEXT:  Cost Model: Found costs of 1 for: %I16 = fptosi float undef to i16348; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V2I16 = fptosi <2 x float> undef to <2 x i16>349; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V4I16 = fptosi <4 x float> undef to <4 x i16>350; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V8I16 = fptosi <8 x float> undef to <8 x i16>351; AVX512-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:2 Lat:2 SizeLat:2 for: %V16I16 = fptosi <16 x float> undef to <16 x i16>352; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef353;354; SLM-LABEL: 'fptosi_float_i16'355; SLM-NEXT:  Cost Model: Found costs of 1 for: %I16 = fptosi float undef to i16356; SLM-NEXT:  Cost Model: Found costs of 1 for: %V2I16 = fptosi <2 x float> undef to <2 x i16>357; SLM-NEXT:  Cost Model: Found costs of 1 for: %V4I16 = fptosi <4 x float> undef to <4 x i16>358; SLM-NEXT:  Cost Model: Found costs of 2 for: %V8I16 = fptosi <8 x float> undef to <8 x i16>359; SLM-NEXT:  Cost Model: Found costs of 4 for: %V16I16 = fptosi <16 x float> undef to <16 x i16>360; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef361;362  %I16 = fptosi float undef to i16363  %V2I16 = fptosi <2 x float> undef to <2 x i16>364  %V4I16 = fptosi <4 x float> undef to <4 x i16>365  %V8I16 = fptosi <8 x float> undef to <8 x i16>366  %V16I16 = fptosi <16 x float> undef to <16 x i16>367  ret i32 undef368}369 370define i32 @fptosi_float_i8(i32 %arg) {371; SSE2-LABEL: 'fptosi_float_i8'372; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %I8 = fptosi float undef to i8373; SSE2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %V2I8 = fptosi <2 x float> undef to <2 x i8>374; SSE2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %V4I8 = fptosi <4 x float> undef to <4 x i8>375; SSE2-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:2 Lat:2 SizeLat:2 for: %V8I8 = fptosi <8 x float> undef to <8 x i8>376; SSE2-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %V16I8 = fptosi <16 x float> undef to <16 x i8>377; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef378;379; SSE42-LABEL: 'fptosi_float_i8'380; SSE42-NEXT:  Cost Model: Found costs of 1 for: %I8 = fptosi float undef to i8381; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V2I8 = fptosi <2 x float> undef to <2 x i8>382; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V4I8 = fptosi <4 x float> undef to <4 x i8>383; SSE42-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %V8I8 = fptosi <8 x float> undef to <8 x i8>384; SSE42-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %V16I8 = fptosi <16 x float> undef to <16 x i8>385; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef386;387; AVX-LABEL: 'fptosi_float_i8'388; AVX-NEXT:  Cost Model: Found costs of 1 for: %I8 = fptosi float undef to i8389; AVX-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V2I8 = fptosi <2 x float> undef to <2 x i8>390; AVX-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V4I8 = fptosi <4 x float> undef to <4 x i8>391; AVX-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V8I8 = fptosi <8 x float> undef to <8 x i8>392; AVX-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %V16I8 = fptosi <16 x float> undef to <16 x i8>393; AVX-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef394;395; AVX512-LABEL: 'fptosi_float_i8'396; AVX512-NEXT:  Cost Model: Found costs of 1 for: %I8 = fptosi float undef to i8397; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V2I8 = fptosi <2 x float> undef to <2 x i8>398; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V4I8 = fptosi <4 x float> undef to <4 x i8>399; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V8I8 = fptosi <8 x float> undef to <8 x i8>400; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V16I8 = fptosi <16 x float> undef to <16 x i8>401; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef402;403; SLM-LABEL: 'fptosi_float_i8'404; SLM-NEXT:  Cost Model: Found costs of 1 for: %I8 = fptosi float undef to i8405; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V2I8 = fptosi <2 x float> undef to <2 x i8>406; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V4I8 = fptosi <4 x float> undef to <4 x i8>407; SLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %V8I8 = fptosi <8 x float> undef to <8 x i8>408; SLM-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %V16I8 = fptosi <16 x float> undef to <16 x i8>409; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef410;411  %I8 = fptosi float undef to i8412  %V2I8 = fptosi <2 x float> undef to <2 x i8>413  %V4I8 = fptosi <4 x float> undef to <4 x i8>414  %V8I8 = fptosi <8 x float> undef to <8 x i8>415  %V16I8 = fptosi <16 x float> undef to <16 x i8>416  ret i32 undef417}418