brintos

brintos / llvm-project-archived public Read only

0
0
Text · 127.0 KiB · a7a88b8 Raw
1415 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py2; RUN: opt < %s -enable-no-nans-fp-math  -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=-sse2 | FileCheck %s --check-prefixes=SSE13; RUN: opt < %s -enable-no-nans-fp-math  -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+sse2 | FileCheck %s --check-prefixes=SSE24; RUN: opt < %s -enable-no-nans-fp-math  -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+sse4.2 | FileCheck %s --check-prefixes=SSE425; RUN: opt < %s -enable-no-nans-fp-math  -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+avx | FileCheck %s --check-prefixes=AVX,AVX16; RUN: opt < %s -enable-no-nans-fp-math  -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+avx2 | FileCheck %s --check-prefixes=AVX,AVX27; RUN: opt < %s -enable-no-nans-fp-math  -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+avx512f | FileCheck %s --check-prefixes=AVX5128; RUN: opt < %s -enable-no-nans-fp-math  -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefixes=AVX5129;10; RUN: opt < %s -enable-no-nans-fp-math  -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mcpu=slm | FileCheck %s --check-prefixes=SLM11; RUN: opt < %s -enable-no-nans-fp-math  -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mcpu=goldmont | FileCheck %s --check-prefixes=GLM12; RUN: opt < %s -enable-no-nans-fp-math  -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mcpu=btver2 | FileCheck %s --check-prefixes=AVX,AVX113 14define i32 @fadd(i32 %arg) {15; SSE1-LABEL: 'fadd'16; SSE1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F32 = fadd float undef, undef17; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %V4F32 = fadd <4 x float> undef, undef18; SSE1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:6 SizeLat:2 for: %V8F32 = fadd <8 x float> undef, undef19; SSE1-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:12 SizeLat:4 for: %V16F32 = fadd <16 x float> undef, undef20; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %F64 = fadd double undef, undef21; SSE1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:6 SizeLat:2 for: %V2F64 = fadd <2 x double> undef, undef22; SSE1-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:12 SizeLat:4 for: %V4F64 = fadd <4 x double> undef, undef23; SSE1-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:24 SizeLat:8 for: %V8F64 = fadd <8 x double> undef, undef24; SSE1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef25;26; SSE2-LABEL: 'fadd'27; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %F32 = fadd float undef, undef28; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %V4F32 = fadd <4 x float> undef, undef29; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:6 SizeLat:2 for: %V8F32 = fadd <8 x float> undef, undef30; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:12 SizeLat:4 for: %V16F32 = fadd <16 x float> undef, undef31; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %F64 = fadd double undef, undef32; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %V2F64 = fadd <2 x double> undef, undef33; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:6 SizeLat:2 for: %V4F64 = fadd <4 x double> undef, undef34; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:12 SizeLat:4 for: %V8F64 = fadd <8 x double> undef, undef35; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef36;37; SSE42-LABEL: 'fadd'38; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F32 = fadd float undef, undef39; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %V4F32 = fadd <4 x float> undef, undef40; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:6 SizeLat:2 for: %V8F32 = fadd <8 x float> undef, undef41; SSE42-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:4 for: %V16F32 = fadd <16 x float> undef, undef42; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F64 = fadd double undef, undef43; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %V2F64 = fadd <2 x double> undef, undef44; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:6 SizeLat:2 for: %V4F64 = fadd <4 x double> undef, undef45; SSE42-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:4 for: %V8F64 = fadd <8 x double> undef, undef46; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef47;48; AVX1-LABEL: 'fadd'49; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %F32 = fadd float undef, undef50; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V4F32 = fadd <4 x float> undef, undef51; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:2 for: %V8F32 = fadd <8 x float> undef, undef52; AVX1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:10 SizeLat:4 for: %V16F32 = fadd <16 x float> undef, undef53; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %F64 = fadd double undef, undef54; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V2F64 = fadd <2 x double> undef, undef55; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:2 for: %V4F64 = fadd <4 x double> undef, undef56; AVX1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:10 SizeLat:4 for: %V8F64 = fadd <8 x double> undef, undef57; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef58;59; AVX2-LABEL: 'fadd'60; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %F32 = fadd float undef, undef61; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V4F32 = fadd <4 x float> undef, undef62; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:2 for: %V8F32 = fadd <8 x float> undef, undef63; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:8 SizeLat:4 for: %V16F32 = fadd <16 x float> undef, undef64; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %F64 = fadd double undef, undef65; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V2F64 = fadd <2 x double> undef, undef66; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:2 for: %V4F64 = fadd <4 x double> undef, undef67; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:8 SizeLat:4 for: %V8F64 = fadd <8 x double> undef, undef68; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef69;70; AVX512-LABEL: 'fadd'71; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %F32 = fadd float undef, undef72; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V4F32 = fadd <4 x float> undef, undef73; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V8F32 = fadd <8 x float> undef, undef74; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V16F32 = fadd <16 x float> undef, undef75; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %F64 = fadd double undef, undef76; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V2F64 = fadd <2 x double> undef, undef77; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V4F64 = fadd <4 x double> undef, undef78; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V8F64 = fadd <8 x double> undef, undef79; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef80;81; SLM-LABEL: 'fadd'82; SLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F32 = fadd float undef, undef83; SLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %V4F32 = fadd <4 x float> undef, undef84; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:6 SizeLat:2 for: %V8F32 = fadd <8 x float> undef, undef85; SLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:4 for: %V16F32 = fadd <16 x float> undef, undef86; SLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F64 = fadd double undef, undef87; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %V2F64 = fadd <2 x double> undef, undef88; SLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:8 SizeLat:2 for: %V4F64 = fadd <4 x double> undef, undef89; SLM-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:16 SizeLat:4 for: %V8F64 = fadd <8 x double> undef, undef90; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef91;92; GLM-LABEL: 'fadd'93; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F32 = fadd float undef, undef94; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %V4F32 = fadd <4 x float> undef, undef95; GLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:6 SizeLat:2 for: %V8F32 = fadd <8 x float> undef, undef96; GLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:4 for: %V16F32 = fadd <16 x float> undef, undef97; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F64 = fadd double undef, undef98; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %V2F64 = fadd <2 x double> undef, undef99; GLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:6 SizeLat:2 for: %V4F64 = fadd <4 x double> undef, undef100; GLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:4 for: %V8F64 = fadd <8 x double> undef, undef101; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef102;103  %F32 = fadd float undef, undef104  %V4F32 = fadd <4 x float> undef, undef105  %V8F32 = fadd <8 x float> undef, undef106  %V16F32 = fadd <16 x float> undef, undef107 108  %F64 = fadd double undef, undef109  %V2F64 = fadd <2 x double> undef, undef110  %V4F64 = fadd <4 x double> undef, undef111  %V8F64 = fadd <8 x double> undef, undef112 113  ret i32 undef114}115 116define i32 @fsub(i32 %arg) {117; SSE1-LABEL: 'fsub'118; SSE1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F32 = fsub float undef, undef119; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %V4F32 = fsub <4 x float> undef, undef120; SSE1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:6 SizeLat:2 for: %V8F32 = fsub <8 x float> undef, undef121; SSE1-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:12 SizeLat:4 for: %V16F32 = fsub <16 x float> undef, undef122; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %F64 = fsub double undef, undef123; SSE1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:6 SizeLat:2 for: %V2F64 = fsub <2 x double> undef, undef124; SSE1-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:12 SizeLat:4 for: %V4F64 = fsub <4 x double> undef, undef125; SSE1-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:24 SizeLat:8 for: %V8F64 = fsub <8 x double> undef, undef126; SSE1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef127;128; SSE2-LABEL: 'fsub'129; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %F32 = fsub float undef, undef130; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %V4F32 = fsub <4 x float> undef, undef131; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:6 SizeLat:2 for: %V8F32 = fsub <8 x float> undef, undef132; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:12 SizeLat:4 for: %V16F32 = fsub <16 x float> undef, undef133; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %F64 = fsub double undef, undef134; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %V2F64 = fsub <2 x double> undef, undef135; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:6 SizeLat:2 for: %V4F64 = fsub <4 x double> undef, undef136; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:12 SizeLat:4 for: %V8F64 = fsub <8 x double> undef, undef137; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef138;139; SSE42-LABEL: 'fsub'140; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F32 = fsub float undef, undef141; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %V4F32 = fsub <4 x float> undef, undef142; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:6 SizeLat:2 for: %V8F32 = fsub <8 x float> undef, undef143; SSE42-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:4 for: %V16F32 = fsub <16 x float> undef, undef144; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F64 = fsub double undef, undef145; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %V2F64 = fsub <2 x double> undef, undef146; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:6 SizeLat:2 for: %V4F64 = fsub <4 x double> undef, undef147; SSE42-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:4 for: %V8F64 = fsub <8 x double> undef, undef148; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef149;150; AVX1-LABEL: 'fsub'151; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %F32 = fsub float undef, undef152; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V4F32 = fsub <4 x float> undef, undef153; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:2 for: %V8F32 = fsub <8 x float> undef, undef154; AVX1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:10 SizeLat:4 for: %V16F32 = fsub <16 x float> undef, undef155; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %F64 = fsub double undef, undef156; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V2F64 = fsub <2 x double> undef, undef157; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:2 for: %V4F64 = fsub <4 x double> undef, undef158; AVX1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:10 SizeLat:4 for: %V8F64 = fsub <8 x double> undef, undef159; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef160;161; AVX2-LABEL: 'fsub'162; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %F32 = fsub float undef, undef163; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V4F32 = fsub <4 x float> undef, undef164; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:2 for: %V8F32 = fsub <8 x float> undef, undef165; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:8 SizeLat:4 for: %V16F32 = fsub <16 x float> undef, undef166; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %F64 = fsub double undef, undef167; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V2F64 = fsub <2 x double> undef, undef168; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:2 for: %V4F64 = fsub <4 x double> undef, undef169; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:8 SizeLat:4 for: %V8F64 = fsub <8 x double> undef, undef170; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef171;172; AVX512-LABEL: 'fsub'173; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %F32 = fsub float undef, undef174; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V4F32 = fsub <4 x float> undef, undef175; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V8F32 = fsub <8 x float> undef, undef176; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V16F32 = fsub <16 x float> undef, undef177; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %F64 = fsub double undef, undef178; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V2F64 = fsub <2 x double> undef, undef179; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V4F64 = fsub <4 x double> undef, undef180; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V8F64 = fsub <8 x double> undef, undef181; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef182;183; SLM-LABEL: 'fsub'184; SLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F32 = fsub float undef, undef185; SLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %V4F32 = fsub <4 x float> undef, undef186; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:6 SizeLat:2 for: %V8F32 = fsub <8 x float> undef, undef187; SLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:4 for: %V16F32 = fsub <16 x float> undef, undef188; SLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F64 = fsub double undef, undef189; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %V2F64 = fsub <2 x double> undef, undef190; SLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:8 SizeLat:2 for: %V4F64 = fsub <4 x double> undef, undef191; SLM-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:16 SizeLat:4 for: %V8F64 = fsub <8 x double> undef, undef192; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef193;194; GLM-LABEL: 'fsub'195; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F32 = fsub float undef, undef196; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %V4F32 = fsub <4 x float> undef, undef197; GLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:6 SizeLat:2 for: %V8F32 = fsub <8 x float> undef, undef198; GLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:4 for: %V16F32 = fsub <16 x float> undef, undef199; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F64 = fsub double undef, undef200; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %V2F64 = fsub <2 x double> undef, undef201; GLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:6 SizeLat:2 for: %V4F64 = fsub <4 x double> undef, undef202; GLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:4 for: %V8F64 = fsub <8 x double> undef, undef203; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef204;205  %F32 = fsub float undef, undef206  %V4F32 = fsub <4 x float> undef, undef207  %V8F32 = fsub <8 x float> undef, undef208  %V16F32 = fsub <16 x float> undef, undef209 210  %F64 = fsub double undef, undef211  %V2F64 = fsub <2 x double> undef, undef212  %V4F64 = fsub <4 x double> undef, undef213  %V8F64 = fsub <8 x double> undef, undef214 215  ret i32 undef216}217 218define i32 @fneg_idiom(i32 %arg) {219; SSE1-LABEL: 'fneg_idiom'220; SSE1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F32 = fsub float -0.000000e+00, undef221; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %V4F32 = fsub <4 x float> splat (float -0.000000e+00), undef222; SSE1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:6 SizeLat:2 for: %V8F32 = fsub <8 x float> splat (float -0.000000e+00), undef223; SSE1-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:12 SizeLat:4 for: %V16F32 = fsub <16 x float> splat (float -0.000000e+00), undef224; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %F64 = fsub double -0.000000e+00, undef225; SSE1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:6 SizeLat:2 for: %V2F64 = fsub <2 x double> splat (double -0.000000e+00), undef226; SSE1-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:12 SizeLat:4 for: %V4F64 = fsub <4 x double> splat (double -0.000000e+00), undef227; SSE1-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:24 SizeLat:8 for: %V8F64 = fsub <8 x double> splat (double -0.000000e+00), undef228; SSE1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef229;230; SSE2-LABEL: 'fneg_idiom'231; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %F32 = fsub float -0.000000e+00, undef232; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %V4F32 = fsub <4 x float> splat (float -0.000000e+00), undef233; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:6 SizeLat:2 for: %V8F32 = fsub <8 x float> splat (float -0.000000e+00), undef234; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:12 SizeLat:4 for: %V16F32 = fsub <16 x float> splat (float -0.000000e+00), undef235; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %F64 = fsub double -0.000000e+00, undef236; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:3 SizeLat:1 for: %V2F64 = fsub <2 x double> splat (double -0.000000e+00), undef237; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:6 SizeLat:2 for: %V4F64 = fsub <4 x double> splat (double -0.000000e+00), undef238; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:12 SizeLat:4 for: %V8F64 = fsub <8 x double> splat (double -0.000000e+00), undef239; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef240;241; SSE42-LABEL: 'fneg_idiom'242; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F32 = fsub float -0.000000e+00, undef243; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %V4F32 = fsub <4 x float> splat (float -0.000000e+00), undef244; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:6 SizeLat:2 for: %V8F32 = fsub <8 x float> splat (float -0.000000e+00), undef245; SSE42-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:4 for: %V16F32 = fsub <16 x float> splat (float -0.000000e+00), undef246; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F64 = fsub double -0.000000e+00, undef247; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %V2F64 = fsub <2 x double> splat (double -0.000000e+00), undef248; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:6 SizeLat:2 for: %V4F64 = fsub <4 x double> splat (double -0.000000e+00), undef249; SSE42-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:4 for: %V8F64 = fsub <8 x double> splat (double -0.000000e+00), undef250; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef251;252; AVX1-LABEL: 'fneg_idiom'253; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %F32 = fsub float -0.000000e+00, undef254; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V4F32 = fsub <4 x float> splat (float -0.000000e+00), undef255; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:2 for: %V8F32 = fsub <8 x float> splat (float -0.000000e+00), undef256; AVX1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:10 SizeLat:4 for: %V16F32 = fsub <16 x float> splat (float -0.000000e+00), undef257; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %F64 = fsub double -0.000000e+00, undef258; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V2F64 = fsub <2 x double> splat (double -0.000000e+00), undef259; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:2 for: %V4F64 = fsub <4 x double> splat (double -0.000000e+00), undef260; AVX1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:10 SizeLat:4 for: %V8F64 = fsub <8 x double> splat (double -0.000000e+00), undef261; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef262;263; AVX2-LABEL: 'fneg_idiom'264; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %F32 = fsub float -0.000000e+00, undef265; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V4F32 = fsub <4 x float> splat (float -0.000000e+00), undef266; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:2 for: %V8F32 = fsub <8 x float> splat (float -0.000000e+00), undef267; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:8 SizeLat:4 for: %V16F32 = fsub <16 x float> splat (float -0.000000e+00), undef268; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %F64 = fsub double -0.000000e+00, undef269; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V2F64 = fsub <2 x double> splat (double -0.000000e+00), undef270; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:2 for: %V4F64 = fsub <4 x double> splat (double -0.000000e+00), undef271; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:8 SizeLat:4 for: %V8F64 = fsub <8 x double> splat (double -0.000000e+00), undef272; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef273;274; AVX512-LABEL: 'fneg_idiom'275; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %F32 = fsub float -0.000000e+00, undef276; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V4F32 = fsub <4 x float> splat (float -0.000000e+00), undef277; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V8F32 = fsub <8 x float> splat (float -0.000000e+00), undef278; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V16F32 = fsub <16 x float> splat (float -0.000000e+00), undef279; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %F64 = fsub double -0.000000e+00, undef280; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V2F64 = fsub <2 x double> splat (double -0.000000e+00), undef281; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V4F64 = fsub <4 x double> splat (double -0.000000e+00), undef282; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V8F64 = fsub <8 x double> splat (double -0.000000e+00), undef283; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef284;285; SLM-LABEL: 'fneg_idiom'286; SLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F32 = fsub float -0.000000e+00, undef287; SLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %V4F32 = fsub <4 x float> splat (float -0.000000e+00), undef288; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:6 SizeLat:2 for: %V8F32 = fsub <8 x float> splat (float -0.000000e+00), undef289; SLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:4 for: %V16F32 = fsub <16 x float> splat (float -0.000000e+00), undef290; SLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F64 = fsub double -0.000000e+00, undef291; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %V2F64 = fsub <2 x double> splat (double -0.000000e+00), undef292; SLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:8 SizeLat:2 for: %V4F64 = fsub <4 x double> splat (double -0.000000e+00), undef293; SLM-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:16 SizeLat:4 for: %V8F64 = fsub <8 x double> splat (double -0.000000e+00), undef294; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef295;296; GLM-LABEL: 'fneg_idiom'297; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F32 = fsub float -0.000000e+00, undef298; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %V4F32 = fsub <4 x float> splat (float -0.000000e+00), undef299; GLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:6 SizeLat:2 for: %V8F32 = fsub <8 x float> splat (float -0.000000e+00), undef300; GLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:4 for: %V16F32 = fsub <16 x float> splat (float -0.000000e+00), undef301; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F64 = fsub double -0.000000e+00, undef302; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %V2F64 = fsub <2 x double> splat (double -0.000000e+00), undef303; GLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:6 SizeLat:2 for: %V4F64 = fsub <4 x double> splat (double -0.000000e+00), undef304; GLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:4 for: %V8F64 = fsub <8 x double> splat (double -0.000000e+00), undef305; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef306;307  %F32 = fsub float -0.0, undef308  %V4F32 = fsub <4 x float> <float -0.0, float -0.0, float -0.0, float -0.0>, undef309  %V8F32 = fsub <8 x float> <float -0.0, float -0.0, float -0.0, float -0.0, float -0.0, float -0.0, float -0.0, float -0.0>, undef310  %V16F32 = fsub <16 x float> <float -0.0, float -0.0, float -0.0, float -0.0, float -0.0, float -0.0, float -0.0, float -0.0, float -0.0, float -0.0, float -0.0, float -0.0, float -0.0, float -0.0, float -0.0, float -0.0>, undef311 312  %F64 = fsub double -0.0, undef313  %V2F64 = fsub <2 x double> <double -0.0, double -0.0>, undef314  %V4F64 = fsub <4 x double> <double -0.0, double -0.0, double -0.0, double -0.0>, undef315  %V8F64 = fsub <8 x double> <double -0.0, double -0.0, double -0.0, double -0.0, double -0.0, double -0.0, double -0.0, double -0.0>, undef316 317  ret i32 undef318}319 320define i32 @fneg(i32 %arg) {321; SSE1-LABEL: 'fneg'322; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %F32 = fneg float undef323; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %V4F32 = fneg <4 x float> undef324; SSE1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:4 SizeLat:4 for: %V8F32 = fneg <8 x float> undef325; SSE1-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:8 SizeLat:8 for: %V16F32 = fneg <16 x float> undef326; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:3 for: %F64 = fneg double undef327; SSE1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:4 SizeLat:6 for: %V2F64 = fneg <2 x double> undef328; SSE1-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:8 SizeLat:12 for: %V4F64 = fneg <4 x double> undef329; SSE1-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:16 SizeLat:24 for: %V8F64 = fneg <8 x double> undef330; SSE1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef331;332; SSE2-LABEL: 'fneg'333; SSE2-NEXT:  Cost Model: Found costs of 1 for: %F32 = fneg float undef334; SSE2-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = fneg <4 x float> undef335; SSE2-NEXT:  Cost Model: Found costs of 2 for: %V8F32 = fneg <8 x float> undef336; SSE2-NEXT:  Cost Model: Found costs of 4 for: %V16F32 = fneg <16 x float> undef337; SSE2-NEXT:  Cost Model: Found costs of 1 for: %F64 = fneg double undef338; SSE2-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = fneg <2 x double> undef339; SSE2-NEXT:  Cost Model: Found costs of 2 for: %V4F64 = fneg <4 x double> undef340; SSE2-NEXT:  Cost Model: Found costs of 4 for: %V8F64 = fneg <8 x double> undef341; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef342;343; SSE42-LABEL: 'fneg'344; SSE42-NEXT:  Cost Model: Found costs of 1 for: %F32 = fneg float undef345; SSE42-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = fneg <4 x float> undef346; SSE42-NEXT:  Cost Model: Found costs of 2 for: %V8F32 = fneg <8 x float> undef347; SSE42-NEXT:  Cost Model: Found costs of 4 for: %V16F32 = fneg <16 x float> undef348; SSE42-NEXT:  Cost Model: Found costs of 1 for: %F64 = fneg double undef349; SSE42-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = fneg <2 x double> undef350; SSE42-NEXT:  Cost Model: Found costs of 2 for: %V4F64 = fneg <4 x double> undef351; SSE42-NEXT:  Cost Model: Found costs of 4 for: %V8F64 = fneg <8 x double> undef352; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef353;354; AVX1-LABEL: 'fneg'355; AVX1-NEXT:  Cost Model: Found costs of 1 for: %F32 = fneg float undef356; AVX1-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = fneg <4 x float> undef357; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %V8F32 = fneg <8 x float> undef358; AVX1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:4 SizeLat:4 for: %V16F32 = fneg <16 x float> undef359; AVX1-NEXT:  Cost Model: Found costs of 1 for: %F64 = fneg double undef360; AVX1-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = fneg <2 x double> undef361; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %V4F64 = fneg <4 x double> undef362; AVX1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:4 SizeLat:4 for: %V8F64 = fneg <8 x double> undef363; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef364;365; AVX2-LABEL: 'fneg'366; AVX2-NEXT:  Cost Model: Found costs of 1 for: %F32 = fneg float undef367; AVX2-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = fneg <4 x float> undef368; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V8F32 = fneg <8 x float> undef369; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V16F32 = fneg <16 x float> undef370; AVX2-NEXT:  Cost Model: Found costs of 1 for: %F64 = fneg double undef371; AVX2-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = fneg <2 x double> undef372; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V4F64 = fneg <4 x double> undef373; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V8F64 = fneg <8 x double> undef374; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef375;376; AVX512-LABEL: 'fneg'377; AVX512-NEXT:  Cost Model: Found costs of 1 for: %F32 = fneg float undef378; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = fneg <4 x float> undef379; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V8F32 = fneg <8 x float> undef380; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V16F32 = fneg <16 x float> undef381; AVX512-NEXT:  Cost Model: Found costs of 1 for: %F64 = fneg double undef382; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = fneg <2 x double> undef383; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V4F64 = fneg <4 x double> undef384; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V8F64 = fneg <8 x double> undef385; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef386;387; SLM-LABEL: 'fneg'388; SLM-NEXT:  Cost Model: Found costs of 1 for: %F32 = fneg float undef389; SLM-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = fneg <4 x float> undef390; SLM-NEXT:  Cost Model: Found costs of 2 for: %V8F32 = fneg <8 x float> undef391; SLM-NEXT:  Cost Model: Found costs of 4 for: %V16F32 = fneg <16 x float> undef392; SLM-NEXT:  Cost Model: Found costs of 1 for: %F64 = fneg double undef393; SLM-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = fneg <2 x double> undef394; SLM-NEXT:  Cost Model: Found costs of 2 for: %V4F64 = fneg <4 x double> undef395; SLM-NEXT:  Cost Model: Found costs of 4 for: %V8F64 = fneg <8 x double> undef396; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef397;398; GLM-LABEL: 'fneg'399; GLM-NEXT:  Cost Model: Found costs of 1 for: %F32 = fneg float undef400; GLM-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = fneg <4 x float> undef401; GLM-NEXT:  Cost Model: Found costs of 2 for: %V8F32 = fneg <8 x float> undef402; GLM-NEXT:  Cost Model: Found costs of 4 for: %V16F32 = fneg <16 x float> undef403; GLM-NEXT:  Cost Model: Found costs of 1 for: %F64 = fneg double undef404; GLM-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = fneg <2 x double> undef405; GLM-NEXT:  Cost Model: Found costs of 2 for: %V4F64 = fneg <4 x double> undef406; GLM-NEXT:  Cost Model: Found costs of 4 for: %V8F64 = fneg <8 x double> undef407; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef408;409  %F32 = fneg float undef410  %V4F32 = fneg <4 x float> undef411  %V8F32 = fneg <8 x float> undef412  %V16F32 = fneg <16 x float> undef413 414  %F64 = fneg double undef415  %V2F64 = fneg <2 x double> undef416  %V4F64 = fneg <4 x double> undef417  %V8F64 = fneg <8 x double> undef418 419  ret i32 undef420}421 422define i32 @fmul(i32 %arg) {423; SSE1-LABEL: 'fmul'424; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:1 for: %F32 = fmul float undef, undef425; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:1 for: %V4F32 = fmul <4 x float> undef, undef426; SSE1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:10 SizeLat:2 for: %V8F32 = fmul <8 x float> undef, undef427; SSE1-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:20 SizeLat:4 for: %V16F32 = fmul <16 x float> undef, undef428; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:1 for: %F64 = fmul double undef, undef429; SSE1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:10 SizeLat:2 for: %V2F64 = fmul <2 x double> undef, undef430; SSE1-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:20 SizeLat:4 for: %V4F64 = fmul <4 x double> undef, undef431; SSE1-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:40 SizeLat:8 for: %V8F64 = fmul <8 x double> undef, undef432; SSE1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef433;434; SSE2-LABEL: 'fmul'435; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:1 for: %F32 = fmul float undef, undef436; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:1 for: %V4F32 = fmul <4 x float> undef, undef437; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:10 SizeLat:2 for: %V8F32 = fmul <8 x float> undef, undef438; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:20 SizeLat:4 for: %V16F32 = fmul <16 x float> undef, undef439; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:1 for: %F64 = fmul double undef, undef440; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:1 for: %V2F64 = fmul <2 x double> undef, undef441; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:10 SizeLat:2 for: %V4F64 = fmul <4 x double> undef, undef442; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:20 SizeLat:4 for: %V8F64 = fmul <8 x double> undef, undef443; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef444;445; SSE42-LABEL: 'fmul'446; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %F32 = fmul float undef, undef447; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V4F32 = fmul <4 x float> undef, undef448; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %V8F32 = fmul <8 x float> undef, undef449; SSE42-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %V16F32 = fmul <16 x float> undef, undef450; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %F64 = fmul double undef, undef451; SSE42-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V2F64 = fmul <2 x double> undef, undef452; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %V4F64 = fmul <4 x double> undef, undef453; SSE42-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %V8F64 = fmul <8 x double> undef, undef454; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef455;456; AVX1-LABEL: 'fmul'457; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %F32 = fmul float undef, undef458; AVX1-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V4F32 = fmul <4 x float> undef, undef459; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:2 for: %V8F32 = fmul <8 x float> undef, undef460; AVX1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:10 SizeLat:4 for: %V16F32 = fmul <16 x float> undef, undef461; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:1 for: %F64 = fmul double undef, undef462; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:1 for: %V2F64 = fmul <2 x double> undef, undef463; AVX1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:5 SizeLat:2 for: %V4F64 = fmul <4 x double> undef, undef464; AVX1-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:10 SizeLat:4 for: %V8F64 = fmul <8 x double> undef, undef465; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef466;467; AVX2-LABEL: 'fmul'468; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %F32 = fmul float undef, undef469; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V4F32 = fmul <4 x float> undef, undef470; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:2 for: %V8F32 = fmul <8 x float> undef, undef471; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:4 for: %V16F32 = fmul <16 x float> undef, undef472; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %F64 = fmul double undef, undef473; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V2F64 = fmul <2 x double> undef, undef474; AVX2-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:2 for: %V4F64 = fmul <4 x double> undef, undef475; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:4 for: %V8F64 = fmul <8 x double> undef, undef476; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef477;478; AVX512-LABEL: 'fmul'479; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %F32 = fmul float undef, undef480; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V4F32 = fmul <4 x float> undef, undef481; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V8F32 = fmul <8 x float> undef, undef482; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V16F32 = fmul <16 x float> undef, undef483; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %F64 = fmul double undef, undef484; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V2F64 = fmul <2 x double> undef, undef485; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V4F64 = fmul <4 x double> undef, undef486; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %V8F64 = fmul <8 x double> undef, undef487; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef488;489; SLM-LABEL: 'fmul'490; SLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %F32 = fmul float undef, undef491; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:1 for: %V4F32 = fmul <4 x float> undef, undef492; SLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:10 SizeLat:2 for: %V8F32 = fmul <8 x float> undef, undef493; SLM-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:20 SizeLat:4 for: %V16F32 = fmul <16 x float> undef, undef494; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:1 for: %F64 = fmul double undef, undef495; SLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:7 SizeLat:1 for: %V2F64 = fmul <2 x double> undef, undef496; SLM-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:14 SizeLat:2 for: %V4F64 = fmul <4 x double> undef, undef497; SLM-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:28 SizeLat:4 for: %V8F64 = fmul <8 x double> undef, undef498; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef499;500; GLM-LABEL: 'fmul'501; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %F32 = fmul float undef, undef502; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V4F32 = fmul <4 x float> undef, undef503; GLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %V8F32 = fmul <8 x float> undef, undef504; GLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %V16F32 = fmul <16 x float> undef, undef505; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %F64 = fmul double undef, undef506; GLM-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V2F64 = fmul <2 x double> undef, undef507; GLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %V4F64 = fmul <4 x double> undef, undef508; GLM-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %V8F64 = fmul <8 x double> undef, undef509; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef510;511  %F32 = fmul float undef, undef512  %V4F32 = fmul <4 x float> undef, undef513  %V8F32 = fmul <8 x float> undef, undef514  %V16F32 = fmul <16 x float> undef, undef515 516  %F64 = fmul double undef, undef517  %V2F64 = fmul <2 x double> undef, undef518  %V4F64 = fmul <4 x double> undef, undef519  %V8F64 = fmul <8 x double> undef, undef520 521  ret i32 undef522}523 524define i32 @fdiv(i32 %arg) {525; SSE1-LABEL: 'fdiv'526; SSE1-NEXT:  Cost Model: Found costs of RThru:17 CodeSize:1 Lat:18 SizeLat:1 for: %F32 = fdiv float undef, undef527; SSE1-NEXT:  Cost Model: Found costs of RThru:34 CodeSize:1 Lat:48 SizeLat:1 for: %V4F32 = fdiv <4 x float> undef, undef528; SSE1-NEXT:  Cost Model: Found costs of RThru:68 CodeSize:2 Lat:96 SizeLat:2 for: %V8F32 = fdiv <8 x float> undef, undef529; SSE1-NEXT:  Cost Model: Found costs of RThru:136 CodeSize:4 Lat:192 SizeLat:4 for: %V16F32 = fdiv <16 x float> undef, undef530; SSE1-NEXT:  Cost Model: Found costs of RThru:38 CodeSize:1 Lat:38 SizeLat:1 for: %F64 = fdiv double undef, undef531; SSE1-NEXT:  Cost Model: Found costs of RThru:76 CodeSize:2 Lat:76 SizeLat:2 for: %V2F64 = fdiv <2 x double> undef, undef532; SSE1-NEXT:  Cost Model: Found costs of RThru:152 CodeSize:4 Lat:152 SizeLat:4 for: %V4F64 = fdiv <4 x double> undef, undef533; SSE1-NEXT:  Cost Model: Found costs of RThru:304 CodeSize:8 Lat:304 SizeLat:8 for: %V8F64 = fdiv <8 x double> undef, undef534; SSE1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef535;536; SSE2-LABEL: 'fdiv'537; SSE2-NEXT:  Cost Model: Found costs of RThru:23 CodeSize:1 Lat:23 SizeLat:1 for: %F32 = fdiv float undef, undef538; SSE2-NEXT:  Cost Model: Found costs of RThru:39 CodeSize:1 Lat:39 SizeLat:1 for: %V4F32 = fdiv <4 x float> undef, undef539; SSE2-NEXT:  Cost Model: Found costs of RThru:78 CodeSize:2 Lat:78 SizeLat:2 for: %V8F32 = fdiv <8 x float> undef, undef540; SSE2-NEXT:  Cost Model: Found costs of RThru:156 CodeSize:4 Lat:156 SizeLat:4 for: %V16F32 = fdiv <16 x float> undef, undef541; SSE2-NEXT:  Cost Model: Found costs of RThru:38 CodeSize:1 Lat:38 SizeLat:1 for: %F64 = fdiv double undef, undef542; SSE2-NEXT:  Cost Model: Found costs of RThru:69 CodeSize:1 Lat:69 SizeLat:1 for: %V2F64 = fdiv <2 x double> undef, undef543; SSE2-NEXT:  Cost Model: Found costs of RThru:138 CodeSize:2 Lat:138 SizeLat:2 for: %V4F64 = fdiv <4 x double> undef, undef544; SSE2-NEXT:  Cost Model: Found costs of RThru:276 CodeSize:4 Lat:276 SizeLat:4 for: %V8F64 = fdiv <8 x double> undef, undef545; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef546;547; SSE42-LABEL: 'fdiv'548; SSE42-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:14 SizeLat:1 for: %F32 = fdiv float undef, undef549; SSE42-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:14 SizeLat:1 for: %V4F32 = fdiv <4 x float> undef, undef550; SSE42-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:2 Lat:28 SizeLat:2 for: %V8F32 = fdiv <8 x float> undef, undef551; SSE42-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:4 Lat:56 SizeLat:4 for: %V16F32 = fdiv <16 x float> undef, undef552; SSE42-NEXT:  Cost Model: Found costs of RThru:22 CodeSize:1 Lat:22 SizeLat:1 for: %F64 = fdiv double undef, undef553; SSE42-NEXT:  Cost Model: Found costs of RThru:22 CodeSize:1 Lat:22 SizeLat:1 for: %V2F64 = fdiv <2 x double> undef, undef554; SSE42-NEXT:  Cost Model: Found costs of RThru:44 CodeSize:2 Lat:44 SizeLat:2 for: %V4F64 = fdiv <4 x double> undef, undef555; SSE42-NEXT:  Cost Model: Found costs of RThru:88 CodeSize:4 Lat:88 SizeLat:4 for: %V8F64 = fdiv <8 x double> undef, undef556; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef557;558; AVX1-LABEL: 'fdiv'559; AVX1-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:14 SizeLat:1 for: %F32 = fdiv float undef, undef560; AVX1-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:14 SizeLat:1 for: %V4F32 = fdiv <4 x float> undef, undef561; AVX1-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:29 SizeLat:3 for: %V8F32 = fdiv <8 x float> undef, undef562; AVX1-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:2 Lat:58 SizeLat:6 for: %V16F32 = fdiv <16 x float> undef, undef563; AVX1-NEXT:  Cost Model: Found costs of RThru:22 CodeSize:1 Lat:22 SizeLat:1 for: %F64 = fdiv double undef, undef564; AVX1-NEXT:  Cost Model: Found costs of RThru:22 CodeSize:1 Lat:22 SizeLat:1 for: %V2F64 = fdiv <2 x double> undef, undef565; AVX1-NEXT:  Cost Model: Found costs of RThru:44 CodeSize:1 Lat:45 SizeLat:3 for: %V4F64 = fdiv <4 x double> undef, undef566; AVX1-NEXT:  Cost Model: Found costs of RThru:88 CodeSize:2 Lat:90 SizeLat:6 for: %V8F64 = fdiv <8 x double> undef, undef567; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef568;569; AVX2-LABEL: 'fdiv'570; AVX2-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:13 SizeLat:1 for: %F32 = fdiv float undef, undef571; AVX2-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:13 SizeLat:1 for: %V4F32 = fdiv <4 x float> undef, undef572; AVX2-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:21 SizeLat:3 for: %V8F32 = fdiv <8 x float> undef, undef573; AVX2-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:2 Lat:42 SizeLat:6 for: %V16F32 = fdiv <16 x float> undef, undef574; AVX2-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:20 SizeLat:1 for: %F64 = fdiv double undef, undef575; AVX2-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:20 SizeLat:1 for: %V2F64 = fdiv <2 x double> undef, undef576; AVX2-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:35 SizeLat:3 for: %V4F64 = fdiv <4 x double> undef, undef577; AVX2-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:2 Lat:70 SizeLat:6 for: %V8F64 = fdiv <8 x double> undef, undef578; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef579;580; AVX512-LABEL: 'fdiv'581; AVX512-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:11 SizeLat:1 for: %F32 = fdiv float undef, undef582; AVX512-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:11 SizeLat:1 for: %V4F32 = fdiv <4 x float> undef, undef583; AVX512-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:11 SizeLat:1 for: %V8F32 = fdiv <8 x float> undef, undef584; AVX512-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:18 SizeLat:3 for: %V16F32 = fdiv <16 x float> undef, undef585; AVX512-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:14 SizeLat:1 for: %F64 = fdiv double undef, undef586; AVX512-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:14 SizeLat:1 for: %V2F64 = fdiv <2 x double> undef, undef587; AVX512-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:14 SizeLat:1 for: %V4F64 = fdiv <4 x double> undef, undef588; AVX512-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:1 Lat:23 SizeLat:3 for: %V8F64 = fdiv <8 x double> undef, undef589; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef590;591; SLM-LABEL: 'fdiv'592; SLM-NEXT:  Cost Model: Found costs of RThru:17 CodeSize:1 Lat:19 SizeLat:1 for: %F32 = fdiv float undef, undef593; SLM-NEXT:  Cost Model: Found costs of RThru:39 CodeSize:1 Lat:39 SizeLat:6 for: %V4F32 = fdiv <4 x float> undef, undef594; SLM-NEXT:  Cost Model: Found costs of RThru:78 CodeSize:2 Lat:78 SizeLat:12 for: %V8F32 = fdiv <8 x float> undef, undef595; SLM-NEXT:  Cost Model: Found costs of RThru:156 CodeSize:4 Lat:156 SizeLat:24 for: %V16F32 = fdiv <16 x float> undef, undef596; SLM-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:1 Lat:34 SizeLat:1 for: %F64 = fdiv double undef, undef597; SLM-NEXT:  Cost Model: Found costs of RThru:69 CodeSize:1 Lat:69 SizeLat:6 for: %V2F64 = fdiv <2 x double> undef, undef598; SLM-NEXT:  Cost Model: Found costs of RThru:138 CodeSize:2 Lat:138 SizeLat:12 for: %V4F64 = fdiv <4 x double> undef, undef599; SLM-NEXT:  Cost Model: Found costs of RThru:276 CodeSize:4 Lat:276 SizeLat:24 for: %V8F64 = fdiv <8 x double> undef, undef600; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef601;602; GLM-LABEL: 'fdiv'603; GLM-NEXT:  Cost Model: Found costs of RThru:18 CodeSize:1 Lat:19 SizeLat:1 for: %F32 = fdiv float undef, undef604; GLM-NEXT:  Cost Model: Found costs of RThru:35 CodeSize:1 Lat:36 SizeLat:1 for: %V4F32 = fdiv <4 x float> undef, undef605; GLM-NEXT:  Cost Model: Found costs of RThru:70 CodeSize:2 Lat:72 SizeLat:2 for: %V8F32 = fdiv <8 x float> undef, undef606; GLM-NEXT:  Cost Model: Found costs of RThru:140 CodeSize:4 Lat:144 SizeLat:4 for: %V16F32 = fdiv <16 x float> undef, undef607; GLM-NEXT:  Cost Model: Found costs of RThru:33 CodeSize:1 Lat:34 SizeLat:1 for: %F64 = fdiv double undef, undef608; GLM-NEXT:  Cost Model: Found costs of RThru:65 CodeSize:1 Lat:66 SizeLat:1 for: %V2F64 = fdiv <2 x double> undef, undef609; GLM-NEXT:  Cost Model: Found costs of RThru:130 CodeSize:2 Lat:132 SizeLat:2 for: %V4F64 = fdiv <4 x double> undef, undef610; GLM-NEXT:  Cost Model: Found costs of RThru:260 CodeSize:4 Lat:264 SizeLat:4 for: %V8F64 = fdiv <8 x double> undef, undef611; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef612;613  %F32 = fdiv float undef, undef614  %V4F32 = fdiv <4 x float> undef, undef615  %V8F32 = fdiv <8 x float> undef, undef616  %V16F32 = fdiv <16 x float> undef, undef617 618  %F64 = fdiv double undef, undef619  %V2F64 = fdiv <2 x double> undef, undef620  %V4F64 = fdiv <4 x double> undef, undef621  %V8F64 = fdiv <8 x double> undef, undef622 623  ret i32 undef624}625 626define i32 @frem(i32 %arg) {627; SSE1-LABEL: 'frem'628; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %F32 = frem float undef, undef629; SSE1-NEXT:  Cost Model: Found costs of RThru:11 CodeSize:4 Lat:4 SizeLat:4 for: %V4F32 = frem <4 x float> undef, undef630; SSE1-NEXT:  Cost Model: Found costs of RThru:22 CodeSize:4 Lat:4 SizeLat:4 for: %V8F32 = frem <8 x float> undef, undef631; SSE1-NEXT:  Cost Model: Found costs of RThru:44 CodeSize:4 Lat:4 SizeLat:4 for: %V16F32 = frem <16 x float> undef, undef632; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %F64 = frem double undef, undef633; SSE1-NEXT:  Cost Model: Found costs of 4 for: %V2F64 = frem <2 x double> undef, undef634; SSE1-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %V4F64 = frem <4 x double> undef, undef635; SSE1-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %V8F64 = frem <8 x double> undef, undef636; SSE1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef637;638; SSE2-LABEL: 'frem'639; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %F32 = frem float undef, undef640; SSE2-NEXT:  Cost Model: Found costs of RThru:11 CodeSize:4 Lat:4 SizeLat:4 for: %V4F32 = frem <4 x float> undef, undef641; SSE2-NEXT:  Cost Model: Found costs of RThru:22 CodeSize:4 Lat:4 SizeLat:4 for: %V8F32 = frem <8 x float> undef, undef642; SSE2-NEXT:  Cost Model: Found costs of RThru:44 CodeSize:4 Lat:4 SizeLat:4 for: %V16F32 = frem <16 x float> undef, undef643; SSE2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %F64 = frem double undef, undef644; SSE2-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %V2F64 = frem <2 x double> undef, undef645; SSE2-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:4 Lat:4 SizeLat:4 for: %V4F64 = frem <4 x double> undef, undef646; SSE2-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:4 Lat:4 SizeLat:4 for: %V8F64 = frem <8 x double> undef, undef647; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef648;649; SSE42-LABEL: 'frem'650; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %F32 = frem float undef, undef651; SSE42-NEXT:  Cost Model: Found costs of RThru:11 CodeSize:4 Lat:4 SizeLat:4 for: %V4F32 = frem <4 x float> undef, undef652; SSE42-NEXT:  Cost Model: Found costs of RThru:22 CodeSize:4 Lat:4 SizeLat:4 for: %V8F32 = frem <8 x float> undef, undef653; SSE42-NEXT:  Cost Model: Found costs of RThru:44 CodeSize:4 Lat:4 SizeLat:4 for: %V16F32 = frem <16 x float> undef, undef654; SSE42-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %F64 = frem double undef, undef655; SSE42-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %V2F64 = frem <2 x double> undef, undef656; SSE42-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:4 Lat:4 SizeLat:4 for: %V4F64 = frem <4 x double> undef, undef657; SSE42-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:4 Lat:4 SizeLat:4 for: %V8F64 = frem <8 x double> undef, undef658; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef659;660; AVX-LABEL: 'frem'661; AVX-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %F32 = frem float undef, undef662; AVX-NEXT:  Cost Model: Found costs of RThru:11 CodeSize:4 Lat:4 SizeLat:4 for: %V4F32 = frem <4 x float> undef, undef663; AVX-NEXT:  Cost Model: Found costs of RThru:23 CodeSize:4 Lat:4 SizeLat:4 for: %V8F32 = frem <8 x float> undef, undef664; AVX-NEXT:  Cost Model: Found costs of RThru:46 CodeSize:4 Lat:4 SizeLat:4 for: %V16F32 = frem <16 x float> undef, undef665; AVX-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %F64 = frem double undef, undef666; AVX-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %V2F64 = frem <2 x double> undef, undef667; AVX-NEXT:  Cost Model: Found costs of RThru:11 CodeSize:4 Lat:4 SizeLat:4 for: %V4F64 = frem <4 x double> undef, undef668; AVX-NEXT:  Cost Model: Found costs of RThru:22 CodeSize:4 Lat:4 SizeLat:4 for: %V8F64 = frem <8 x double> undef, undef669; AVX-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef670;671; AVX512-LABEL: 'frem'672; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %F32 = frem float undef, undef673; AVX512-NEXT:  Cost Model: Found costs of RThru:11 CodeSize:4 Lat:4 SizeLat:4 for: %V4F32 = frem <4 x float> undef, undef674; AVX512-NEXT:  Cost Model: Found costs of RThru:23 CodeSize:4 Lat:4 SizeLat:4 for: %V8F32 = frem <8 x float> undef, undef675; AVX512-NEXT:  Cost Model: Found costs of RThru:47 CodeSize:4 Lat:4 SizeLat:4 for: %V16F32 = frem <16 x float> undef, undef676; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %F64 = frem double undef, undef677; AVX512-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %V2F64 = frem <2 x double> undef, undef678; AVX512-NEXT:  Cost Model: Found costs of RThru:11 CodeSize:4 Lat:4 SizeLat:4 for: %V4F64 = frem <4 x double> undef, undef679; AVX512-NEXT:  Cost Model: Found costs of RThru:23 CodeSize:4 Lat:4 SizeLat:4 for: %V8F64 = frem <8 x double> undef, undef680; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef681;682; SLM-LABEL: 'frem'683; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %F32 = frem float undef, undef684; SLM-NEXT:  Cost Model: Found costs of RThru:11 CodeSize:4 Lat:4 SizeLat:4 for: %V4F32 = frem <4 x float> undef, undef685; SLM-NEXT:  Cost Model: Found costs of RThru:22 CodeSize:4 Lat:4 SizeLat:4 for: %V8F32 = frem <8 x float> undef, undef686; SLM-NEXT:  Cost Model: Found costs of RThru:44 CodeSize:4 Lat:4 SizeLat:4 for: %V16F32 = frem <16 x float> undef, undef687; SLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %F64 = frem double undef, undef688; SLM-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %V2F64 = frem <2 x double> undef, undef689; SLM-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:4 Lat:4 SizeLat:4 for: %V4F64 = frem <4 x double> undef, undef690; SLM-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:4 Lat:4 SizeLat:4 for: %V8F64 = frem <8 x double> undef, undef691; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef692;693; GLM-LABEL: 'frem'694; GLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %F32 = frem float undef, undef695; GLM-NEXT:  Cost Model: Found costs of RThru:11 CodeSize:4 Lat:4 SizeLat:4 for: %V4F32 = frem <4 x float> undef, undef696; GLM-NEXT:  Cost Model: Found costs of RThru:22 CodeSize:4 Lat:4 SizeLat:4 for: %V8F32 = frem <8 x float> undef, undef697; GLM-NEXT:  Cost Model: Found costs of RThru:44 CodeSize:4 Lat:4 SizeLat:4 for: %V16F32 = frem <16 x float> undef, undef698; GLM-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %F64 = frem double undef, undef699; GLM-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %V2F64 = frem <2 x double> undef, undef700; GLM-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:4 Lat:4 SizeLat:4 for: %V4F64 = frem <4 x double> undef, undef701; GLM-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:4 Lat:4 SizeLat:4 for: %V8F64 = frem <8 x double> undef, undef702; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef703;704  %F32 = frem float undef, undef705  %V4F32 = frem <4 x float> undef, undef706  %V8F32 = frem <8 x float> undef, undef707  %V16F32 = frem <16 x float> undef, undef708 709  %F64 = frem double undef, undef710  %V2F64 = frem <2 x double> undef, undef711  %V4F64 = frem <4 x double> undef, undef712  %V8F64 = frem <8 x double> undef, undef713 714  ret i32 undef715}716 717define i32 @fsqrt(i32 %arg) {718; SSE1-LABEL: 'fsqrt'719; SSE1-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:30 SizeLat:2 for: %F32 = call float @llvm.sqrt.f32(float undef)720; SSE1-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:56 SizeLat:2 for: %V4F32 = call <4 x float> @llvm.sqrt.v4f32(<4 x float> undef)721; SSE1-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:2 Lat:112 SizeLat:4 for: %V8F32 = call <8 x float> @llvm.sqrt.v8f32(<8 x float> undef)722; SSE1-NEXT:  Cost Model: Found costs of RThru:224 CodeSize:4 Lat:224 SizeLat:8 for: %V16F32 = call <16 x float> @llvm.sqrt.v16f32(<16 x float> undef)723; SSE1-NEXT:  Cost Model: Found costs of 1 for: %F64 = call double @llvm.sqrt.f64(double undef)724; SSE1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:4 SizeLat:4 for: %V2F64 = call <2 x double> @llvm.sqrt.v2f64(<2 x double> undef)725; SSE1-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:8 SizeLat:8 for: %V4F64 = call <4 x double> @llvm.sqrt.v4f64(<4 x double> undef)726; SSE1-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:8 Lat:16 SizeLat:16 for: %V8F64 = call <8 x double> @llvm.sqrt.v8f64(<8 x double> undef)727; SSE1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef728;729; SSE2-LABEL: 'fsqrt'730; SSE2-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:30 SizeLat:2 for: %F32 = call float @llvm.sqrt.f32(float undef)731; SSE2-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:56 SizeLat:2 for: %V4F32 = call <4 x float> @llvm.sqrt.v4f32(<4 x float> undef)732; SSE2-NEXT:  Cost Model: Found costs of RThru:112 CodeSize:2 Lat:112 SizeLat:4 for: %V8F32 = call <8 x float> @llvm.sqrt.v8f32(<8 x float> undef)733; SSE2-NEXT:  Cost Model: Found costs of RThru:224 CodeSize:4 Lat:224 SizeLat:8 for: %V16F32 = call <16 x float> @llvm.sqrt.v16f32(<16 x float> undef)734; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:1 Lat:32 SizeLat:1 for: %F64 = call double @llvm.sqrt.f64(double undef)735; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:1 Lat:32 SizeLat:1 for: %V2F64 = call <2 x double> @llvm.sqrt.v2f64(<2 x double> undef)736; SSE2-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:2 Lat:64 SizeLat:2 for: %V4F64 = call <4 x double> @llvm.sqrt.v4f64(<4 x double> undef)737; SSE2-NEXT:  Cost Model: Found costs of RThru:128 CodeSize:4 Lat:128 SizeLat:4 for: %V8F64 = call <8 x double> @llvm.sqrt.v8f64(<8 x double> undef)738; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef739;740; SSE42-LABEL: 'fsqrt'741; SSE42-NEXT:  Cost Model: Found costs of RThru:18 CodeSize:1 Lat:18 SizeLat:1 for: %F32 = call float @llvm.sqrt.f32(float undef)742; SSE42-NEXT:  Cost Model: Found costs of RThru:18 CodeSize:1 Lat:18 SizeLat:1 for: %V4F32 = call <4 x float> @llvm.sqrt.v4f32(<4 x float> undef)743; SSE42-NEXT:  Cost Model: Found costs of RThru:36 CodeSize:2 Lat:36 SizeLat:2 for: %V8F32 = call <8 x float> @llvm.sqrt.v8f32(<8 x float> undef)744; SSE42-NEXT:  Cost Model: Found costs of RThru:72 CodeSize:4 Lat:72 SizeLat:4 for: %V16F32 = call <16 x float> @llvm.sqrt.v16f32(<16 x float> undef)745; SSE42-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:1 Lat:32 SizeLat:1 for: %F64 = call double @llvm.sqrt.f64(double undef)746; SSE42-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:1 Lat:32 SizeLat:1 for: %V2F64 = call <2 x double> @llvm.sqrt.v2f64(<2 x double> undef)747; SSE42-NEXT:  Cost Model: Found costs of RThru:64 CodeSize:2 Lat:64 SizeLat:2 for: %V4F64 = call <4 x double> @llvm.sqrt.v4f64(<4 x double> undef)748; SSE42-NEXT:  Cost Model: Found costs of RThru:128 CodeSize:4 Lat:128 SizeLat:4 for: %V8F64 = call <8 x double> @llvm.sqrt.v8f64(<8 x double> undef)749; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef750;751; AVX1-LABEL: 'fsqrt'752; AVX1-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:1 Lat:21 SizeLat:1 for: %F32 = call float @llvm.sqrt.f32(float undef)753; AVX1-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:1 Lat:21 SizeLat:1 for: %V4F32 = call <4 x float> @llvm.sqrt.v4f32(<4 x float> undef)754; AVX1-NEXT:  Cost Model: Found costs of RThru:42 CodeSize:1 Lat:42 SizeLat:3 for: %V8F32 = call <8 x float> @llvm.sqrt.v8f32(<8 x float> undef)755; AVX1-NEXT:  Cost Model: Found costs of RThru:84 CodeSize:2 Lat:84 SizeLat:6 for: %V16F32 = call <16 x float> @llvm.sqrt.v16f32(<16 x float> undef)756; AVX1-NEXT:  Cost Model: Found costs of RThru:27 CodeSize:1 Lat:27 SizeLat:1 for: %F64 = call double @llvm.sqrt.f64(double undef)757; AVX1-NEXT:  Cost Model: Found costs of RThru:27 CodeSize:1 Lat:27 SizeLat:1 for: %V2F64 = call <2 x double> @llvm.sqrt.v2f64(<2 x double> undef)758; AVX1-NEXT:  Cost Model: Found costs of RThru:54 CodeSize:1 Lat:54 SizeLat:3 for: %V4F64 = call <4 x double> @llvm.sqrt.v4f64(<4 x double> undef)759; AVX1-NEXT:  Cost Model: Found costs of RThru:108 CodeSize:2 Lat:108 SizeLat:6 for: %V8F64 = call <8 x double> @llvm.sqrt.v8f64(<8 x double> undef)760; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef761;762; AVX2-LABEL: 'fsqrt'763; AVX2-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:15 SizeLat:1 for: %F32 = call float @llvm.sqrt.f32(float undef)764; AVX2-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:15 SizeLat:1 for: %V4F32 = call <4 x float> @llvm.sqrt.v4f32(<4 x float> undef)765; AVX2-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:21 SizeLat:3 for: %V8F32 = call <8 x float> @llvm.sqrt.v8f32(<8 x float> undef)766; AVX2-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:2 Lat:42 SizeLat:6 for: %V16F32 = call <16 x float> @llvm.sqrt.v16f32(<16 x float> undef)767; AVX2-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:21 SizeLat:1 for: %F64 = call double @llvm.sqrt.f64(double undef)768; AVX2-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:21 SizeLat:1 for: %V2F64 = call <2 x double> @llvm.sqrt.v2f64(<2 x double> undef)769; AVX2-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:35 SizeLat:3 for: %V4F64 = call <4 x double> @llvm.sqrt.v4f64(<4 x double> undef)770; AVX2-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:2 Lat:70 SizeLat:6 for: %V8F64 = call <8 x double> @llvm.sqrt.v8f64(<8 x double> undef)771; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef772;773; AVX512-LABEL: 'fsqrt'774; AVX512-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:12 SizeLat:1 for: %F32 = call float @llvm.sqrt.f32(float undef)775; AVX512-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:12 SizeLat:1 for: %V4F32 = call <4 x float> @llvm.sqrt.v4f32(<4 x float> undef)776; AVX512-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:12 SizeLat:1 for: %V8F32 = call <8 x float> @llvm.sqrt.v8f32(<8 x float> undef)777; AVX512-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:20 SizeLat:3 for: %V16F32 = call <16 x float> @llvm.sqrt.v16f32(<16 x float> undef)778; AVX512-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:18 SizeLat:1 for: %F64 = call double @llvm.sqrt.f64(double undef)779; AVX512-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:18 SizeLat:1 for: %V2F64 = call <2 x double> @llvm.sqrt.v2f64(<2 x double> undef)780; AVX512-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:18 SizeLat:1 for: %V4F64 = call <4 x double> @llvm.sqrt.v4f64(<4 x double> undef)781; AVX512-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:1 Lat:32 SizeLat:3 for: %V8F64 = call <8 x double> @llvm.sqrt.v8f64(<8 x double> undef)782; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef783;784; SLM-LABEL: 'fsqrt'785; SLM-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:1 Lat:20 SizeLat:1 for: %F32 = call float @llvm.sqrt.f32(float undef)786; SLM-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:1 Lat:41 SizeLat:5 for: %V4F32 = call <4 x float> @llvm.sqrt.v4f32(<4 x float> undef)787; SLM-NEXT:  Cost Model: Found costs of RThru:80 CodeSize:2 Lat:82 SizeLat:10 for: %V8F32 = call <8 x float> @llvm.sqrt.v8f32(<8 x float> undef)788; SLM-NEXT:  Cost Model: Found costs of RThru:160 CodeSize:4 Lat:164 SizeLat:20 for: %V16F32 = call <16 x float> @llvm.sqrt.v16f32(<16 x float> undef)789; SLM-NEXT:  Cost Model: Found costs of RThru:35 CodeSize:1 Lat:35 SizeLat:1 for: %F64 = call double @llvm.sqrt.f64(double undef)790; SLM-NEXT:  Cost Model: Found costs of RThru:70 CodeSize:1 Lat:71 SizeLat:5 for: %V2F64 = call <2 x double> @llvm.sqrt.v2f64(<2 x double> undef)791; SLM-NEXT:  Cost Model: Found costs of RThru:140 CodeSize:2 Lat:142 SizeLat:10 for: %V4F64 = call <4 x double> @llvm.sqrt.v4f64(<4 x double> undef)792; SLM-NEXT:  Cost Model: Found costs of RThru:280 CodeSize:4 Lat:284 SizeLat:20 for: %V8F64 = call <8 x double> @llvm.sqrt.v8f64(<8 x double> undef)793; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef794;795; GLM-LABEL: 'fsqrt'796; GLM-NEXT:  Cost Model: Found costs of RThru:19 CodeSize:1 Lat:20 SizeLat:1 for: %F32 = call float @llvm.sqrt.f32(float undef)797; GLM-NEXT:  Cost Model: Found costs of RThru:37 CodeSize:1 Lat:41 SizeLat:5 for: %V4F32 = call <4 x float> @llvm.sqrt.v4f32(<4 x float> undef)798; GLM-NEXT:  Cost Model: Found costs of RThru:74 CodeSize:2 Lat:82 SizeLat:10 for: %V8F32 = call <8 x float> @llvm.sqrt.v8f32(<8 x float> undef)799; GLM-NEXT:  Cost Model: Found costs of RThru:148 CodeSize:4 Lat:164 SizeLat:20 for: %V16F32 = call <16 x float> @llvm.sqrt.v16f32(<16 x float> undef)800; GLM-NEXT:  Cost Model: Found costs of RThru:34 CodeSize:1 Lat:35 SizeLat:1 for: %F64 = call double @llvm.sqrt.f64(double undef)801; GLM-NEXT:  Cost Model: Found costs of RThru:67 CodeSize:1 Lat:71 SizeLat:5 for: %V2F64 = call <2 x double> @llvm.sqrt.v2f64(<2 x double> undef)802; GLM-NEXT:  Cost Model: Found costs of RThru:134 CodeSize:2 Lat:142 SizeLat:10 for: %V4F64 = call <4 x double> @llvm.sqrt.v4f64(<4 x double> undef)803; GLM-NEXT:  Cost Model: Found costs of RThru:268 CodeSize:4 Lat:284 SizeLat:20 for: %V8F64 = call <8 x double> @llvm.sqrt.v8f64(<8 x double> undef)804; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef805;806  %F32 = call float @llvm.sqrt.f32(float undef)807  %V4F32 = call <4 x float> @llvm.sqrt.v4f32(<4 x float> undef)808  %V8F32 = call <8 x float> @llvm.sqrt.v8f32(<8 x float> undef)809  %V16F32 = call <16 x float> @llvm.sqrt.v16f32(<16 x float> undef)810 811  %F64 = call double @llvm.sqrt.f64(double undef)812  %V2F64 = call <2 x double> @llvm.sqrt.v2f64(<2 x double> undef)813  %V4F64 = call <4 x double> @llvm.sqrt.v4f64(<4 x double> undef)814  %V8F64 = call <8 x double> @llvm.sqrt.v8f64(<8 x double> undef)815 816  ret i32 undef817}818 819define i32 @fabs(i32 %arg) {820; SSE1-LABEL: 'fabs'821; SSE1-NEXT:  Cost Model: Found costs of 2 for: %F32 = call float @llvm.fabs.f32(float undef)822; SSE1-NEXT:  Cost Model: Found costs of 2 for: %V4F32 = call <4 x float> @llvm.fabs.v4f32(<4 x float> undef)823; SSE1-NEXT:  Cost Model: Found costs of 4 for: %V8F32 = call <8 x float> @llvm.fabs.v8f32(<8 x float> undef)824; SSE1-NEXT:  Cost Model: Found costs of 8 for: %V16F32 = call <16 x float> @llvm.fabs.v16f32(<16 x float> undef)825; SSE1-NEXT:  Cost Model: Found costs of 1 for: %F64 = call double @llvm.fabs.f64(double undef)826; SSE1-NEXT:  Cost Model: Found costs of 4 for: %V2F64 = call <2 x double> @llvm.fabs.v2f64(<2 x double> undef)827; SSE1-NEXT:  Cost Model: Found costs of 8 for: %V4F64 = call <4 x double> @llvm.fabs.v4f64(<4 x double> undef)828; SSE1-NEXT:  Cost Model: Found costs of 16 for: %V8F64 = call <8 x double> @llvm.fabs.v8f64(<8 x double> undef)829; SSE1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef830;831; SSE2-LABEL: 'fabs'832; SSE2-NEXT:  Cost Model: Found costs of 2 for: %F32 = call float @llvm.fabs.f32(float undef)833; SSE2-NEXT:  Cost Model: Found costs of 2 for: %V4F32 = call <4 x float> @llvm.fabs.v4f32(<4 x float> undef)834; SSE2-NEXT:  Cost Model: Found costs of 4 for: %V8F32 = call <8 x float> @llvm.fabs.v8f32(<8 x float> undef)835; SSE2-NEXT:  Cost Model: Found costs of 8 for: %V16F32 = call <16 x float> @llvm.fabs.v16f32(<16 x float> undef)836; SSE2-NEXT:  Cost Model: Found costs of 2 for: %F64 = call double @llvm.fabs.f64(double undef)837; SSE2-NEXT:  Cost Model: Found costs of 2 for: %V2F64 = call <2 x double> @llvm.fabs.v2f64(<2 x double> undef)838; SSE2-NEXT:  Cost Model: Found costs of 4 for: %V4F64 = call <4 x double> @llvm.fabs.v4f64(<4 x double> undef)839; SSE2-NEXT:  Cost Model: Found costs of 8 for: %V8F64 = call <8 x double> @llvm.fabs.v8f64(<8 x double> undef)840; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef841;842; SSE42-LABEL: 'fabs'843; SSE42-NEXT:  Cost Model: Found costs of 2 for: %F32 = call float @llvm.fabs.f32(float undef)844; SSE42-NEXT:  Cost Model: Found costs of 2 for: %V4F32 = call <4 x float> @llvm.fabs.v4f32(<4 x float> undef)845; SSE42-NEXT:  Cost Model: Found costs of 4 for: %V8F32 = call <8 x float> @llvm.fabs.v8f32(<8 x float> undef)846; SSE42-NEXT:  Cost Model: Found costs of 8 for: %V16F32 = call <16 x float> @llvm.fabs.v16f32(<16 x float> undef)847; SSE42-NEXT:  Cost Model: Found costs of 2 for: %F64 = call double @llvm.fabs.f64(double undef)848; SSE42-NEXT:  Cost Model: Found costs of 2 for: %V2F64 = call <2 x double> @llvm.fabs.v2f64(<2 x double> undef)849; SSE42-NEXT:  Cost Model: Found costs of 4 for: %V4F64 = call <4 x double> @llvm.fabs.v4f64(<4 x double> undef)850; SSE42-NEXT:  Cost Model: Found costs of 8 for: %V8F64 = call <8 x double> @llvm.fabs.v8f64(<8 x double> undef)851; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef852;853; AVX-LABEL: 'fabs'854; AVX-NEXT:  Cost Model: Found costs of 2 for: %F32 = call float @llvm.fabs.f32(float undef)855; AVX-NEXT:  Cost Model: Found costs of 2 for: %V4F32 = call <4 x float> @llvm.fabs.v4f32(<4 x float> undef)856; AVX-NEXT:  Cost Model: Found costs of 2 for: %V8F32 = call <8 x float> @llvm.fabs.v8f32(<8 x float> undef)857; AVX-NEXT:  Cost Model: Found costs of 4 for: %V16F32 = call <16 x float> @llvm.fabs.v16f32(<16 x float> undef)858; AVX-NEXT:  Cost Model: Found costs of 2 for: %F64 = call double @llvm.fabs.f64(double undef)859; AVX-NEXT:  Cost Model: Found costs of 2 for: %V2F64 = call <2 x double> @llvm.fabs.v2f64(<2 x double> undef)860; AVX-NEXT:  Cost Model: Found costs of 2 for: %V4F64 = call <4 x double> @llvm.fabs.v4f64(<4 x double> undef)861; AVX-NEXT:  Cost Model: Found costs of 4 for: %V8F64 = call <8 x double> @llvm.fabs.v8f64(<8 x double> undef)862; AVX-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef863;864; AVX512-LABEL: 'fabs'865; AVX512-NEXT:  Cost Model: Found costs of 2 for: %F32 = call float @llvm.fabs.f32(float undef)866; AVX512-NEXT:  Cost Model: Found costs of 2 for: %V4F32 = call <4 x float> @llvm.fabs.v4f32(<4 x float> undef)867; AVX512-NEXT:  Cost Model: Found costs of 2 for: %V8F32 = call <8 x float> @llvm.fabs.v8f32(<8 x float> undef)868; AVX512-NEXT:  Cost Model: Found costs of 2 for: %V16F32 = call <16 x float> @llvm.fabs.v16f32(<16 x float> undef)869; AVX512-NEXT:  Cost Model: Found costs of 2 for: %F64 = call double @llvm.fabs.f64(double undef)870; AVX512-NEXT:  Cost Model: Found costs of 2 for: %V2F64 = call <2 x double> @llvm.fabs.v2f64(<2 x double> undef)871; AVX512-NEXT:  Cost Model: Found costs of 2 for: %V4F64 = call <4 x double> @llvm.fabs.v4f64(<4 x double> undef)872; AVX512-NEXT:  Cost Model: Found costs of 2 for: %V8F64 = call <8 x double> @llvm.fabs.v8f64(<8 x double> undef)873; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef874;875; SLM-LABEL: 'fabs'876; SLM-NEXT:  Cost Model: Found costs of 2 for: %F32 = call float @llvm.fabs.f32(float undef)877; SLM-NEXT:  Cost Model: Found costs of 2 for: %V4F32 = call <4 x float> @llvm.fabs.v4f32(<4 x float> undef)878; SLM-NEXT:  Cost Model: Found costs of 4 for: %V8F32 = call <8 x float> @llvm.fabs.v8f32(<8 x float> undef)879; SLM-NEXT:  Cost Model: Found costs of 8 for: %V16F32 = call <16 x float> @llvm.fabs.v16f32(<16 x float> undef)880; SLM-NEXT:  Cost Model: Found costs of 2 for: %F64 = call double @llvm.fabs.f64(double undef)881; SLM-NEXT:  Cost Model: Found costs of 2 for: %V2F64 = call <2 x double> @llvm.fabs.v2f64(<2 x double> undef)882; SLM-NEXT:  Cost Model: Found costs of 4 for: %V4F64 = call <4 x double> @llvm.fabs.v4f64(<4 x double> undef)883; SLM-NEXT:  Cost Model: Found costs of 8 for: %V8F64 = call <8 x double> @llvm.fabs.v8f64(<8 x double> undef)884; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef885;886; GLM-LABEL: 'fabs'887; GLM-NEXT:  Cost Model: Found costs of 2 for: %F32 = call float @llvm.fabs.f32(float undef)888; GLM-NEXT:  Cost Model: Found costs of 2 for: %V4F32 = call <4 x float> @llvm.fabs.v4f32(<4 x float> undef)889; GLM-NEXT:  Cost Model: Found costs of 4 for: %V8F32 = call <8 x float> @llvm.fabs.v8f32(<8 x float> undef)890; GLM-NEXT:  Cost Model: Found costs of 8 for: %V16F32 = call <16 x float> @llvm.fabs.v16f32(<16 x float> undef)891; GLM-NEXT:  Cost Model: Found costs of 2 for: %F64 = call double @llvm.fabs.f64(double undef)892; GLM-NEXT:  Cost Model: Found costs of 2 for: %V2F64 = call <2 x double> @llvm.fabs.v2f64(<2 x double> undef)893; GLM-NEXT:  Cost Model: Found costs of 4 for: %V4F64 = call <4 x double> @llvm.fabs.v4f64(<4 x double> undef)894; GLM-NEXT:  Cost Model: Found costs of 8 for: %V8F64 = call <8 x double> @llvm.fabs.v8f64(<8 x double> undef)895; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef896;897  %F32 = call float @llvm.fabs.f32(float undef)898  %V4F32 = call <4 x float> @llvm.fabs.v4f32(<4 x float> undef)899  %V8F32 = call <8 x float> @llvm.fabs.v8f32(<8 x float> undef)900  %V16F32 = call <16 x float> @llvm.fabs.v16f32(<16 x float> undef)901 902  %F64 = call double @llvm.fabs.f64(double undef)903  %V2F64 = call <2 x double> @llvm.fabs.v2f64(<2 x double> undef)904  %V4F64 = call <4 x double> @llvm.fabs.v4f64(<4 x double> undef)905  %V8F64 = call <8 x double> @llvm.fabs.v8f64(<8 x double> undef)906 907  ret i32 undef908}909 910define i32 @fcopysign(i32 %arg) {911; SSE1-LABEL: 'fcopysign'912; SSE1-NEXT:  Cost Model: Found costs of 2 for: %F32 = call float @llvm.copysign.f32(float undef, float undef)913; SSE1-NEXT:  Cost Model: Found costs of 2 for: %V4F32 = call <4 x float> @llvm.copysign.v4f32(<4 x float> undef, <4 x float> undef)914; SSE1-NEXT:  Cost Model: Found costs of 4 for: %V8F32 = call <8 x float> @llvm.copysign.v8f32(<8 x float> undef, <8 x float> undef)915; SSE1-NEXT:  Cost Model: Found costs of 8 for: %V16F32 = call <16 x float> @llvm.copysign.v16f32(<16 x float> undef, <16 x float> undef)916; SSE1-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F64 = call double @llvm.copysign.f64(double undef, double undef)917; SSE1-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:2 Lat:20 SizeLat:20 for: %V2F64 = call <2 x double> @llvm.copysign.v2f64(<2 x double> undef, <2 x double> undef)918; SSE1-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:4 Lat:40 SizeLat:40 for: %V4F64 = call <4 x double> @llvm.copysign.v4f64(<4 x double> undef, <4 x double> undef)919; SSE1-NEXT:  Cost Model: Found costs of RThru:80 CodeSize:8 Lat:80 SizeLat:80 for: %V8F64 = call <8 x double> @llvm.copysign.v8f64(<8 x double> undef, <8 x double> undef)920; SSE1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef921;922; SSE2-LABEL: 'fcopysign'923; SSE2-NEXT:  Cost Model: Found costs of 2 for: %F32 = call float @llvm.copysign.f32(float undef, float undef)924; SSE2-NEXT:  Cost Model: Found costs of 2 for: %V4F32 = call <4 x float> @llvm.copysign.v4f32(<4 x float> undef, <4 x float> undef)925; SSE2-NEXT:  Cost Model: Found costs of 4 for: %V8F32 = call <8 x float> @llvm.copysign.v8f32(<8 x float> undef, <8 x float> undef)926; SSE2-NEXT:  Cost Model: Found costs of 8 for: %V16F32 = call <16 x float> @llvm.copysign.v16f32(<16 x float> undef, <16 x float> undef)927; SSE2-NEXT:  Cost Model: Found costs of 2 for: %F64 = call double @llvm.copysign.f64(double undef, double undef)928; SSE2-NEXT:  Cost Model: Found costs of 2 for: %V2F64 = call <2 x double> @llvm.copysign.v2f64(<2 x double> undef, <2 x double> undef)929; SSE2-NEXT:  Cost Model: Found costs of 4 for: %V4F64 = call <4 x double> @llvm.copysign.v4f64(<4 x double> undef, <4 x double> undef)930; SSE2-NEXT:  Cost Model: Found costs of 8 for: %V8F64 = call <8 x double> @llvm.copysign.v8f64(<8 x double> undef, <8 x double> undef)931; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef932;933; SSE42-LABEL: 'fcopysign'934; SSE42-NEXT:  Cost Model: Found costs of 2 for: %F32 = call float @llvm.copysign.f32(float undef, float undef)935; SSE42-NEXT:  Cost Model: Found costs of 2 for: %V4F32 = call <4 x float> @llvm.copysign.v4f32(<4 x float> undef, <4 x float> undef)936; SSE42-NEXT:  Cost Model: Found costs of 4 for: %V8F32 = call <8 x float> @llvm.copysign.v8f32(<8 x float> undef, <8 x float> undef)937; SSE42-NEXT:  Cost Model: Found costs of 8 for: %V16F32 = call <16 x float> @llvm.copysign.v16f32(<16 x float> undef, <16 x float> undef)938; SSE42-NEXT:  Cost Model: Found costs of 2 for: %F64 = call double @llvm.copysign.f64(double undef, double undef)939; SSE42-NEXT:  Cost Model: Found costs of 2 for: %V2F64 = call <2 x double> @llvm.copysign.v2f64(<2 x double> undef, <2 x double> undef)940; SSE42-NEXT:  Cost Model: Found costs of 4 for: %V4F64 = call <4 x double> @llvm.copysign.v4f64(<4 x double> undef, <4 x double> undef)941; SSE42-NEXT:  Cost Model: Found costs of 8 for: %V8F64 = call <8 x double> @llvm.copysign.v8f64(<8 x double> undef, <8 x double> undef)942; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef943;944; AVX-LABEL: 'fcopysign'945; AVX-NEXT:  Cost Model: Found costs of 2 for: %F32 = call float @llvm.copysign.f32(float undef, float undef)946; AVX-NEXT:  Cost Model: Found costs of 2 for: %V4F32 = call <4 x float> @llvm.copysign.v4f32(<4 x float> undef, <4 x float> undef)947; AVX-NEXT:  Cost Model: Found costs of 2 for: %V8F32 = call <8 x float> @llvm.copysign.v8f32(<8 x float> undef, <8 x float> undef)948; AVX-NEXT:  Cost Model: Found costs of 4 for: %V16F32 = call <16 x float> @llvm.copysign.v16f32(<16 x float> undef, <16 x float> undef)949; AVX-NEXT:  Cost Model: Found costs of 2 for: %F64 = call double @llvm.copysign.f64(double undef, double undef)950; AVX-NEXT:  Cost Model: Found costs of 2 for: %V2F64 = call <2 x double> @llvm.copysign.v2f64(<2 x double> undef, <2 x double> undef)951; AVX-NEXT:  Cost Model: Found costs of 2 for: %V4F64 = call <4 x double> @llvm.copysign.v4f64(<4 x double> undef, <4 x double> undef)952; AVX-NEXT:  Cost Model: Found costs of 4 for: %V8F64 = call <8 x double> @llvm.copysign.v8f64(<8 x double> undef, <8 x double> undef)953; AVX-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef954;955; AVX512-LABEL: 'fcopysign'956; AVX512-NEXT:  Cost Model: Found costs of 2 for: %F32 = call float @llvm.copysign.f32(float undef, float undef)957; AVX512-NEXT:  Cost Model: Found costs of 2 for: %V4F32 = call <4 x float> @llvm.copysign.v4f32(<4 x float> undef, <4 x float> undef)958; AVX512-NEXT:  Cost Model: Found costs of 2 for: %V8F32 = call <8 x float> @llvm.copysign.v8f32(<8 x float> undef, <8 x float> undef)959; AVX512-NEXT:  Cost Model: Found costs of 2 for: %V16F32 = call <16 x float> @llvm.copysign.v16f32(<16 x float> undef, <16 x float> undef)960; AVX512-NEXT:  Cost Model: Found costs of 2 for: %F64 = call double @llvm.copysign.f64(double undef, double undef)961; AVX512-NEXT:  Cost Model: Found costs of 2 for: %V2F64 = call <2 x double> @llvm.copysign.v2f64(<2 x double> undef, <2 x double> undef)962; AVX512-NEXT:  Cost Model: Found costs of 2 for: %V4F64 = call <4 x double> @llvm.copysign.v4f64(<4 x double> undef, <4 x double> undef)963; AVX512-NEXT:  Cost Model: Found costs of 2 for: %V8F64 = call <8 x double> @llvm.copysign.v8f64(<8 x double> undef, <8 x double> undef)964; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef965;966; SLM-LABEL: 'fcopysign'967; SLM-NEXT:  Cost Model: Found costs of 2 for: %F32 = call float @llvm.copysign.f32(float undef, float undef)968; SLM-NEXT:  Cost Model: Found costs of 2 for: %V4F32 = call <4 x float> @llvm.copysign.v4f32(<4 x float> undef, <4 x float> undef)969; SLM-NEXT:  Cost Model: Found costs of 4 for: %V8F32 = call <8 x float> @llvm.copysign.v8f32(<8 x float> undef, <8 x float> undef)970; SLM-NEXT:  Cost Model: Found costs of 8 for: %V16F32 = call <16 x float> @llvm.copysign.v16f32(<16 x float> undef, <16 x float> undef)971; SLM-NEXT:  Cost Model: Found costs of 2 for: %F64 = call double @llvm.copysign.f64(double undef, double undef)972; SLM-NEXT:  Cost Model: Found costs of 2 for: %V2F64 = call <2 x double> @llvm.copysign.v2f64(<2 x double> undef, <2 x double> undef)973; SLM-NEXT:  Cost Model: Found costs of 4 for: %V4F64 = call <4 x double> @llvm.copysign.v4f64(<4 x double> undef, <4 x double> undef)974; SLM-NEXT:  Cost Model: Found costs of 8 for: %V8F64 = call <8 x double> @llvm.copysign.v8f64(<8 x double> undef, <8 x double> undef)975; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef976;977; GLM-LABEL: 'fcopysign'978; GLM-NEXT:  Cost Model: Found costs of 2 for: %F32 = call float @llvm.copysign.f32(float undef, float undef)979; GLM-NEXT:  Cost Model: Found costs of 2 for: %V4F32 = call <4 x float> @llvm.copysign.v4f32(<4 x float> undef, <4 x float> undef)980; GLM-NEXT:  Cost Model: Found costs of 4 for: %V8F32 = call <8 x float> @llvm.copysign.v8f32(<8 x float> undef, <8 x float> undef)981; GLM-NEXT:  Cost Model: Found costs of 8 for: %V16F32 = call <16 x float> @llvm.copysign.v16f32(<16 x float> undef, <16 x float> undef)982; GLM-NEXT:  Cost Model: Found costs of 2 for: %F64 = call double @llvm.copysign.f64(double undef, double undef)983; GLM-NEXT:  Cost Model: Found costs of 2 for: %V2F64 = call <2 x double> @llvm.copysign.v2f64(<2 x double> undef, <2 x double> undef)984; GLM-NEXT:  Cost Model: Found costs of 4 for: %V4F64 = call <4 x double> @llvm.copysign.v4f64(<4 x double> undef, <4 x double> undef)985; GLM-NEXT:  Cost Model: Found costs of 8 for: %V8F64 = call <8 x double> @llvm.copysign.v8f64(<8 x double> undef, <8 x double> undef)986; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef987;988  %F32 = call float @llvm.copysign.f32(float undef, float undef)989  %V4F32 = call <4 x float> @llvm.copysign.v4f32(<4 x float> undef, <4 x float> undef)990  %V8F32 = call <8 x float> @llvm.copysign.v8f32(<8 x float> undef, <8 x float> undef)991  %V16F32 = call <16 x float> @llvm.copysign.v16f32(<16 x float> undef, <16 x float> undef)992 993  %F64 = call double @llvm.copysign.f64(double undef, double undef)994  %V2F64 = call <2 x double> @llvm.copysign.v2f64(<2 x double> undef, <2 x double> undef)995  %V4F64 = call <4 x double> @llvm.copysign.v4f64(<4 x double> undef, <4 x double> undef)996  %V8F64 = call <8 x double> @llvm.copysign.v8f64(<8 x double> undef, <8 x double> undef)997 998  ret i32 undef999}1000 1001define i32 @fma(i32 %arg) {1002; SSE1-LABEL: 'fma'1003; SSE1-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F32 = call float @llvm.fma.f32(float undef, float undef, float undef)1004; SSE1-NEXT:  Cost Model: Found costs of RThru:43 CodeSize:7 Lat:43 SizeLat:43 for: %V4F32 = call <4 x float> @llvm.fma.v4f32(<4 x float> undef, <4 x float> undef, <4 x float> undef)1005; SSE1-NEXT:  Cost Model: Found costs of RThru:86 CodeSize:14 Lat:86 SizeLat:86 for: %V8F32 = call <8 x float> @llvm.fma.v8f32(<8 x float> undef, <8 x float> undef, <8 x float> undef)1006; SSE1-NEXT:  Cost Model: Found costs of RThru:172 CodeSize:28 Lat:172 SizeLat:172 for: %V16F32 = call <16 x float> @llvm.fma.v16f32(<16 x float> undef, <16 x float> undef, <16 x float> undef)1007; SSE1-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F64 = call double @llvm.fma.f64(double undef, double undef, double undef)1008; SSE1-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:2 Lat:20 SizeLat:20 for: %V2F64 = call <2 x double> @llvm.fma.v2f64(<2 x double> undef, <2 x double> undef, <2 x double> undef)1009; SSE1-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:4 Lat:40 SizeLat:40 for: %V4F64 = call <4 x double> @llvm.fma.v4f64(<4 x double> undef, <4 x double> undef, <4 x double> undef)1010; SSE1-NEXT:  Cost Model: Found costs of RThru:80 CodeSize:8 Lat:80 SizeLat:80 for: %V8F64 = call <8 x double> @llvm.fma.v8f64(<8 x double> undef, <8 x double> undef, <8 x double> undef)1011; SSE1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1012;1013; SSE2-LABEL: 'fma'1014; SSE2-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F32 = call float @llvm.fma.f32(float undef, float undef, float undef)1015; SSE2-NEXT:  Cost Model: Found costs of RThru:43 CodeSize:7 Lat:43 SizeLat:43 for: %V4F32 = call <4 x float> @llvm.fma.v4f32(<4 x float> undef, <4 x float> undef, <4 x float> undef)1016; SSE2-NEXT:  Cost Model: Found costs of RThru:86 CodeSize:14 Lat:86 SizeLat:86 for: %V8F32 = call <8 x float> @llvm.fma.v8f32(<8 x float> undef, <8 x float> undef, <8 x float> undef)1017; SSE2-NEXT:  Cost Model: Found costs of RThru:172 CodeSize:28 Lat:172 SizeLat:172 for: %V16F32 = call <16 x float> @llvm.fma.v16f32(<16 x float> undef, <16 x float> undef, <16 x float> undef)1018; SSE2-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F64 = call double @llvm.fma.f64(double undef, double undef, double undef)1019; SSE2-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:3 Lat:21 SizeLat:21 for: %V2F64 = call <2 x double> @llvm.fma.v2f64(<2 x double> undef, <2 x double> undef, <2 x double> undef)1020; SSE2-NEXT:  Cost Model: Found costs of RThru:42 CodeSize:6 Lat:42 SizeLat:42 for: %V4F64 = call <4 x double> @llvm.fma.v4f64(<4 x double> undef, <4 x double> undef, <4 x double> undef)1021; SSE2-NEXT:  Cost Model: Found costs of RThru:84 CodeSize:12 Lat:84 SizeLat:84 for: %V8F64 = call <8 x double> @llvm.fma.v8f64(<8 x double> undef, <8 x double> undef, <8 x double> undef)1022; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1023;1024; SSE42-LABEL: 'fma'1025; SSE42-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F32 = call float @llvm.fma.f32(float undef, float undef, float undef)1026; SSE42-NEXT:  Cost Model: Found costs of RThru:43 CodeSize:7 Lat:43 SizeLat:43 for: %V4F32 = call <4 x float> @llvm.fma.v4f32(<4 x float> undef, <4 x float> undef, <4 x float> undef)1027; SSE42-NEXT:  Cost Model: Found costs of RThru:86 CodeSize:14 Lat:86 SizeLat:86 for: %V8F32 = call <8 x float> @llvm.fma.v8f32(<8 x float> undef, <8 x float> undef, <8 x float> undef)1028; SSE42-NEXT:  Cost Model: Found costs of RThru:172 CodeSize:28 Lat:172 SizeLat:172 for: %V16F32 = call <16 x float> @llvm.fma.v16f32(<16 x float> undef, <16 x float> undef, <16 x float> undef)1029; SSE42-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F64 = call double @llvm.fma.f64(double undef, double undef, double undef)1030; SSE42-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:3 Lat:21 SizeLat:21 for: %V2F64 = call <2 x double> @llvm.fma.v2f64(<2 x double> undef, <2 x double> undef, <2 x double> undef)1031; SSE42-NEXT:  Cost Model: Found costs of RThru:42 CodeSize:6 Lat:42 SizeLat:42 for: %V4F64 = call <4 x double> @llvm.fma.v4f64(<4 x double> undef, <4 x double> undef, <4 x double> undef)1032; SSE42-NEXT:  Cost Model: Found costs of RThru:84 CodeSize:12 Lat:84 SizeLat:84 for: %V8F64 = call <8 x double> @llvm.fma.v8f64(<8 x double> undef, <8 x double> undef, <8 x double> undef)1033; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1034;1035; AVX-LABEL: 'fma'1036; AVX-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F32 = call float @llvm.fma.f32(float undef, float undef, float undef)1037; AVX-NEXT:  Cost Model: Found costs of RThru:43 CodeSize:7 Lat:43 SizeLat:43 for: %V4F32 = call <4 x float> @llvm.fma.v4f32(<4 x float> undef, <4 x float> undef, <4 x float> undef)1038; AVX-NEXT:  Cost Model: Found costs of RThru:87 CodeSize:15 Lat:87 SizeLat:87 for: %V8F32 = call <8 x float> @llvm.fma.v8f32(<8 x float> undef, <8 x float> undef, <8 x float> undef)1039; AVX-NEXT:  Cost Model: Found costs of RThru:174 CodeSize:30 Lat:174 SizeLat:174 for: %V16F32 = call <16 x float> @llvm.fma.v16f32(<16 x float> undef, <16 x float> undef, <16 x float> undef)1040; AVX-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F64 = call double @llvm.fma.f64(double undef, double undef, double undef)1041; AVX-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:3 Lat:21 SizeLat:21 for: %V2F64 = call <2 x double> @llvm.fma.v2f64(<2 x double> undef, <2 x double> undef, <2 x double> undef)1042; AVX-NEXT:  Cost Model: Found costs of RThru:43 CodeSize:7 Lat:43 SizeLat:43 for: %V4F64 = call <4 x double> @llvm.fma.v4f64(<4 x double> undef, <4 x double> undef, <4 x double> undef)1043; AVX-NEXT:  Cost Model: Found costs of RThru:86 CodeSize:14 Lat:86 SizeLat:86 for: %V8F64 = call <8 x double> @llvm.fma.v8f64(<8 x double> undef, <8 x double> undef, <8 x double> undef)1044; AVX-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1045;1046; AVX512-LABEL: 'fma'1047; AVX512-NEXT:  Cost Model: Found costs of 1 for: %F32 = call float @llvm.fma.f32(float undef, float undef, float undef)1048; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = call <4 x float> @llvm.fma.v4f32(<4 x float> undef, <4 x float> undef, <4 x float> undef)1049; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V8F32 = call <8 x float> @llvm.fma.v8f32(<8 x float> undef, <8 x float> undef, <8 x float> undef)1050; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V16F32 = call <16 x float> @llvm.fma.v16f32(<16 x float> undef, <16 x float> undef, <16 x float> undef)1051; AVX512-NEXT:  Cost Model: Found costs of 1 for: %F64 = call double @llvm.fma.f64(double undef, double undef, double undef)1052; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = call <2 x double> @llvm.fma.v2f64(<2 x double> undef, <2 x double> undef, <2 x double> undef)1053; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V4F64 = call <4 x double> @llvm.fma.v4f64(<4 x double> undef, <4 x double> undef, <4 x double> undef)1054; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V8F64 = call <8 x double> @llvm.fma.v8f64(<8 x double> undef, <8 x double> undef, <8 x double> undef)1055; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1056;1057; SLM-LABEL: 'fma'1058; SLM-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F32 = call float @llvm.fma.f32(float undef, float undef, float undef)1059; SLM-NEXT:  Cost Model: Found costs of RThru:43 CodeSize:7 Lat:43 SizeLat:43 for: %V4F32 = call <4 x float> @llvm.fma.v4f32(<4 x float> undef, <4 x float> undef, <4 x float> undef)1060; SLM-NEXT:  Cost Model: Found costs of RThru:86 CodeSize:14 Lat:86 SizeLat:86 for: %V8F32 = call <8 x float> @llvm.fma.v8f32(<8 x float> undef, <8 x float> undef, <8 x float> undef)1061; SLM-NEXT:  Cost Model: Found costs of RThru:172 CodeSize:28 Lat:172 SizeLat:172 for: %V16F32 = call <16 x float> @llvm.fma.v16f32(<16 x float> undef, <16 x float> undef, <16 x float> undef)1062; SLM-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F64 = call double @llvm.fma.f64(double undef, double undef, double undef)1063; SLM-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:3 Lat:21 SizeLat:21 for: %V2F64 = call <2 x double> @llvm.fma.v2f64(<2 x double> undef, <2 x double> undef, <2 x double> undef)1064; SLM-NEXT:  Cost Model: Found costs of RThru:42 CodeSize:6 Lat:42 SizeLat:42 for: %V4F64 = call <4 x double> @llvm.fma.v4f64(<4 x double> undef, <4 x double> undef, <4 x double> undef)1065; SLM-NEXT:  Cost Model: Found costs of RThru:84 CodeSize:12 Lat:84 SizeLat:84 for: %V8F64 = call <8 x double> @llvm.fma.v8f64(<8 x double> undef, <8 x double> undef, <8 x double> undef)1066; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1067;1068; GLM-LABEL: 'fma'1069; GLM-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F32 = call float @llvm.fma.f32(float undef, float undef, float undef)1070; GLM-NEXT:  Cost Model: Found costs of RThru:43 CodeSize:7 Lat:43 SizeLat:43 for: %V4F32 = call <4 x float> @llvm.fma.v4f32(<4 x float> undef, <4 x float> undef, <4 x float> undef)1071; GLM-NEXT:  Cost Model: Found costs of RThru:86 CodeSize:14 Lat:86 SizeLat:86 for: %V8F32 = call <8 x float> @llvm.fma.v8f32(<8 x float> undef, <8 x float> undef, <8 x float> undef)1072; GLM-NEXT:  Cost Model: Found costs of RThru:172 CodeSize:28 Lat:172 SizeLat:172 for: %V16F32 = call <16 x float> @llvm.fma.v16f32(<16 x float> undef, <16 x float> undef, <16 x float> undef)1073; GLM-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F64 = call double @llvm.fma.f64(double undef, double undef, double undef)1074; GLM-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:3 Lat:21 SizeLat:21 for: %V2F64 = call <2 x double> @llvm.fma.v2f64(<2 x double> undef, <2 x double> undef, <2 x double> undef)1075; GLM-NEXT:  Cost Model: Found costs of RThru:42 CodeSize:6 Lat:42 SizeLat:42 for: %V4F64 = call <4 x double> @llvm.fma.v4f64(<4 x double> undef, <4 x double> undef, <4 x double> undef)1076; GLM-NEXT:  Cost Model: Found costs of RThru:84 CodeSize:12 Lat:84 SizeLat:84 for: %V8F64 = call <8 x double> @llvm.fma.v8f64(<8 x double> undef, <8 x double> undef, <8 x double> undef)1077; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1078;1079  %F32 = call float @llvm.fma.f32(float undef, float undef, float undef)1080  %V4F32 = call <4 x float> @llvm.fma.v4f32(<4 x float> undef, <4 x float> undef, <4 x float> undef)1081  %V8F32 = call <8 x float> @llvm.fma.v8f32(<8 x float> undef, <8 x float> undef, <8 x float> undef)1082  %V16F32 = call <16 x float> @llvm.fma.v16f32(<16 x float> undef, <16 x float> undef, <16 x float> undef)1083 1084  %F64 = call double @llvm.fma.f64(double undef, double undef, double undef)1085  %V2F64 = call <2 x double> @llvm.fma.v2f64(<2 x double> undef, <2 x double> undef, <2 x double> undef)1086  %V4F64 = call <4 x double> @llvm.fma.v4f64(<4 x double> undef, <4 x double> undef, <4 x double> undef)1087  %V8F64 = call <8 x double> @llvm.fma.v8f64(<8 x double> undef, <8 x double> undef, <8 x double> undef)1088 1089  ret i32 undef1090}1091 1092define i32 @rint(i32 %arg) {1093; SSE1-LABEL: 'rint'1094; SSE1-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F32 = call float @llvm.rint.f32(float undef)1095; SSE1-NEXT:  Cost Model: Found costs of RThru:43 CodeSize:7 Lat:43 SizeLat:43 for: %V4F32 = call <4 x float> @llvm.rint.v4f32(<4 x float> undef)1096; SSE1-NEXT:  Cost Model: Found costs of RThru:86 CodeSize:14 Lat:86 SizeLat:86 for: %V8F32 = call <8 x float> @llvm.rint.v8f32(<8 x float> undef)1097; SSE1-NEXT:  Cost Model: Found costs of RThru:172 CodeSize:28 Lat:172 SizeLat:172 for: %V16F32 = call <16 x float> @llvm.rint.v16f32(<16 x float> undef)1098; SSE1-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F64 = call double @llvm.rint.f64(double undef)1099; SSE1-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:2 Lat:20 SizeLat:20 for: %V2F64 = call <2 x double> @llvm.rint.v2f64(<2 x double> undef)1100; SSE1-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:4 Lat:40 SizeLat:40 for: %V4F64 = call <4 x double> @llvm.rint.v4f64(<4 x double> undef)1101; SSE1-NEXT:  Cost Model: Found costs of RThru:80 CodeSize:8 Lat:80 SizeLat:80 for: %V8F64 = call <8 x double> @llvm.rint.v8f64(<8 x double> undef)1102; SSE1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1103;1104; SSE2-LABEL: 'rint'1105; SSE2-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F32 = call float @llvm.rint.f32(float undef)1106; SSE2-NEXT:  Cost Model: Found costs of RThru:43 CodeSize:7 Lat:43 SizeLat:43 for: %V4F32 = call <4 x float> @llvm.rint.v4f32(<4 x float> undef)1107; SSE2-NEXT:  Cost Model: Found costs of RThru:86 CodeSize:14 Lat:86 SizeLat:86 for: %V8F32 = call <8 x float> @llvm.rint.v8f32(<8 x float> undef)1108; SSE2-NEXT:  Cost Model: Found costs of RThru:172 CodeSize:28 Lat:172 SizeLat:172 for: %V16F32 = call <16 x float> @llvm.rint.v16f32(<16 x float> undef)1109; SSE2-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:10 SizeLat:10 for: %F64 = call double @llvm.rint.f64(double undef)1110; SSE2-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:3 Lat:21 SizeLat:21 for: %V2F64 = call <2 x double> @llvm.rint.v2f64(<2 x double> undef)1111; SSE2-NEXT:  Cost Model: Found costs of RThru:42 CodeSize:6 Lat:42 SizeLat:42 for: %V4F64 = call <4 x double> @llvm.rint.v4f64(<4 x double> undef)1112; SSE2-NEXT:  Cost Model: Found costs of RThru:84 CodeSize:12 Lat:84 SizeLat:84 for: %V8F64 = call <8 x double> @llvm.rint.v8f64(<8 x double> undef)1113; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1114;1115; SSE42-LABEL: 'rint'1116; SSE42-NEXT:  Cost Model: Found costs of 1 for: %F32 = call float @llvm.rint.f32(float undef)1117; SSE42-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = call <4 x float> @llvm.rint.v4f32(<4 x float> undef)1118; SSE42-NEXT:  Cost Model: Found costs of 4 for: %V8F32 = call <8 x float> @llvm.rint.v8f32(<8 x float> undef)1119; SSE42-NEXT:  Cost Model: Found costs of 8 for: %V16F32 = call <16 x float> @llvm.rint.v16f32(<16 x float> undef)1120; SSE42-NEXT:  Cost Model: Found costs of 1 for: %F64 = call double @llvm.rint.f64(double undef)1121; SSE42-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = call <2 x double> @llvm.rint.v2f64(<2 x double> undef)1122; SSE42-NEXT:  Cost Model: Found costs of 4 for: %V4F64 = call <4 x double> @llvm.rint.v4f64(<4 x double> undef)1123; SSE42-NEXT:  Cost Model: Found costs of 8 for: %V8F64 = call <8 x double> @llvm.rint.v8f64(<8 x double> undef)1124; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1125;1126; AVX-LABEL: 'rint'1127; AVX-NEXT:  Cost Model: Found costs of 1 for: %F32 = call float @llvm.rint.f32(float undef)1128; AVX-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = call <4 x float> @llvm.rint.v4f32(<4 x float> undef)1129; AVX-NEXT:  Cost Model: Found costs of 1 for: %V8F32 = call <8 x float> @llvm.rint.v8f32(<8 x float> undef)1130; AVX-NEXT:  Cost Model: Found costs of 4 for: %V16F32 = call <16 x float> @llvm.rint.v16f32(<16 x float> undef)1131; AVX-NEXT:  Cost Model: Found costs of 1 for: %F64 = call double @llvm.rint.f64(double undef)1132; AVX-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = call <2 x double> @llvm.rint.v2f64(<2 x double> undef)1133; AVX-NEXT:  Cost Model: Found costs of 1 for: %V4F64 = call <4 x double> @llvm.rint.v4f64(<4 x double> undef)1134; AVX-NEXT:  Cost Model: Found costs of 4 for: %V8F64 = call <8 x double> @llvm.rint.v8f64(<8 x double> undef)1135; AVX-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1136;1137; AVX512-LABEL: 'rint'1138; AVX512-NEXT:  Cost Model: Found costs of 1 for: %F32 = call float @llvm.rint.f32(float undef)1139; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = call <4 x float> @llvm.rint.v4f32(<4 x float> undef)1140; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V8F32 = call <8 x float> @llvm.rint.v8f32(<8 x float> undef)1141; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V16F32 = call <16 x float> @llvm.rint.v16f32(<16 x float> undef)1142; AVX512-NEXT:  Cost Model: Found costs of 1 for: %F64 = call double @llvm.rint.f64(double undef)1143; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = call <2 x double> @llvm.rint.v2f64(<2 x double> undef)1144; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V4F64 = call <4 x double> @llvm.rint.v4f64(<4 x double> undef)1145; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V8F64 = call <8 x double> @llvm.rint.v8f64(<8 x double> undef)1146; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1147;1148; SLM-LABEL: 'rint'1149; SLM-NEXT:  Cost Model: Found costs of 1 for: %F32 = call float @llvm.rint.f32(float undef)1150; SLM-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = call <4 x float> @llvm.rint.v4f32(<4 x float> undef)1151; SLM-NEXT:  Cost Model: Found costs of 4 for: %V8F32 = call <8 x float> @llvm.rint.v8f32(<8 x float> undef)1152; SLM-NEXT:  Cost Model: Found costs of 8 for: %V16F32 = call <16 x float> @llvm.rint.v16f32(<16 x float> undef)1153; SLM-NEXT:  Cost Model: Found costs of 1 for: %F64 = call double @llvm.rint.f64(double undef)1154; SLM-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = call <2 x double> @llvm.rint.v2f64(<2 x double> undef)1155; SLM-NEXT:  Cost Model: Found costs of 4 for: %V4F64 = call <4 x double> @llvm.rint.v4f64(<4 x double> undef)1156; SLM-NEXT:  Cost Model: Found costs of 8 for: %V8F64 = call <8 x double> @llvm.rint.v8f64(<8 x double> undef)1157; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1158;1159; GLM-LABEL: 'rint'1160; GLM-NEXT:  Cost Model: Found costs of 1 for: %F32 = call float @llvm.rint.f32(float undef)1161; GLM-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = call <4 x float> @llvm.rint.v4f32(<4 x float> undef)1162; GLM-NEXT:  Cost Model: Found costs of 4 for: %V8F32 = call <8 x float> @llvm.rint.v8f32(<8 x float> undef)1163; GLM-NEXT:  Cost Model: Found costs of 8 for: %V16F32 = call <16 x float> @llvm.rint.v16f32(<16 x float> undef)1164; GLM-NEXT:  Cost Model: Found costs of 1 for: %F64 = call double @llvm.rint.f64(double undef)1165; GLM-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = call <2 x double> @llvm.rint.v2f64(<2 x double> undef)1166; GLM-NEXT:  Cost Model: Found costs of 4 for: %V4F64 = call <4 x double> @llvm.rint.v4f64(<4 x double> undef)1167; GLM-NEXT:  Cost Model: Found costs of 8 for: %V8F64 = call <8 x double> @llvm.rint.v8f64(<8 x double> undef)1168; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1169;1170  %F32 = call float @llvm.rint.f32.f32(float undef)1171  %V4F32 = call <4 x float> @llvm.rint.v4f32.v4f32(<4 x float> undef)1172  %V8F32 = call <8 x float> @llvm.rint.v8f32.v8f32(<8 x float> undef)1173  %V16F32 = call <16 x float> @llvm.rint.v16f32.v16f32(<16 x float> undef)1174 1175  %F64 = call double @llvm.rint.f64.f64(double undef)1176  %V2F64 = call <2 x double> @llvm.rint.v2f64.v2f64(<2 x double> undef)1177  %V4F64 = call <4 x double> @llvm.rint.v4f64.v4f64(<4 x double> undef)1178  %V8F64 = call <8 x double> @llvm.rint.v8f64.v8f64(<8 x double> undef)1179 1180  ret i32 undef1181}1182 1183define i32 @lrint(i32 %arg) {1184; SSE1-LABEL: 'lrint'1185; SSE1-NEXT:  Cost Model: Found costs of 1 for: %F32 = call i32 @llvm.lrint.i32.f32(float undef)1186; SSE1-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %V4F32 = call <4 x i32> @llvm.lrint.v4i32.v4f32(<4 x float> undef)1187; SSE1-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %V8F32 = call <8 x i32> @llvm.lrint.v8i32.v8f32(<8 x float> undef)1188; SSE1-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %V16F32 = call <16 x i32> @llvm.lrint.v16i32.v16f32(<16 x float> undef)1189; SSE1-NEXT:  Cost Model: Found costs of 1 for: %F64 = call i32 @llvm.lrint.i32.f64(double undef)1190; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V2F64 = call <2 x i32> @llvm.lrint.v2i32.v2f64(<2 x double> undef)1191; SSE1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V4F64 = call <4 x i32> @llvm.lrint.v4i32.v4f64(<4 x double> undef)1192; SSE1-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %V8F64 = call <8 x i32> @llvm.lrint.v8i32.v8f64(<8 x double> undef)1193; SSE1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1194;1195; SSE2-LABEL: 'lrint'1196; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %F32 = call i32 @llvm.lrint.i32.f32(float undef)1197; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V4F32 = call <4 x i32> @llvm.lrint.v4i32.v4f32(<4 x float> undef)1198; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %V8F32 = call <8 x i32> @llvm.lrint.v8i32.v8f32(<8 x float> undef)1199; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %V16F32 = call <16 x i32> @llvm.lrint.v16i32.v16f32(<16 x float> undef)1200; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %F64 = call i32 @llvm.lrint.i32.f64(double undef)1201; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V2F64 = call <2 x i32> @llvm.lrint.v2i32.v2f64(<2 x double> undef)1202; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:2 Lat:2 SizeLat:2 for: %V4F64 = call <4 x i32> @llvm.lrint.v4i32.v4f64(<4 x double> undef)1203; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %V8F64 = call <8 x i32> @llvm.lrint.v8i32.v8f64(<8 x double> undef)1204; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1205;1206; SSE42-LABEL: 'lrint'1207; SSE42-NEXT:  Cost Model: Found costs of 1 for: %F32 = call i32 @llvm.lrint.i32.f32(float undef)1208; SSE42-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = call <4 x i32> @llvm.lrint.v4i32.v4f32(<4 x float> undef)1209; SSE42-NEXT:  Cost Model: Found costs of 2 for: %V8F32 = call <8 x i32> @llvm.lrint.v8i32.v8f32(<8 x float> undef)1210; SSE42-NEXT:  Cost Model: Found costs of 4 for: %V16F32 = call <16 x i32> @llvm.lrint.v16i32.v16f32(<16 x float> undef)1211; SSE42-NEXT:  Cost Model: Found costs of 1 for: %F64 = call i32 @llvm.lrint.i32.f64(double undef)1212; SSE42-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = call <2 x i32> @llvm.lrint.v2i32.v2f64(<2 x double> undef)1213; SSE42-NEXT:  Cost Model: Found costs of 2 for: %V4F64 = call <4 x i32> @llvm.lrint.v4i32.v4f64(<4 x double> undef)1214; SSE42-NEXT:  Cost Model: Found costs of 4 for: %V8F64 = call <8 x i32> @llvm.lrint.v8i32.v8f64(<8 x double> undef)1215; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1216;1217; AVX1-LABEL: 'lrint'1218; AVX1-NEXT:  Cost Model: Found costs of 1 for: %F32 = call i32 @llvm.lrint.i32.f32(float undef)1219; AVX1-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = call <4 x i32> @llvm.lrint.v4i32.v4f32(<4 x float> undef)1220; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V8F32 = call <8 x i32> @llvm.lrint.v8i32.v8f32(<8 x float> undef)1221; AVX1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:2 Lat:2 SizeLat:2 for: %V16F32 = call <16 x i32> @llvm.lrint.v16i32.v16f32(<16 x float> undef)1222; AVX1-NEXT:  Cost Model: Found costs of 1 for: %F64 = call i32 @llvm.lrint.i32.f64(double undef)1223; AVX1-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = call <2 x i32> @llvm.lrint.v2i32.v2f64(<2 x double> undef)1224; AVX1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V4F64 = call <4 x i32> @llvm.lrint.v4i32.v4f64(<4 x double> undef)1225; AVX1-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %V8F64 = call <8 x i32> @llvm.lrint.v8i32.v8f64(<8 x double> undef)1226; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1227;1228; AVX2-LABEL: 'lrint'1229; AVX2-NEXT:  Cost Model: Found costs of 1 for: %F32 = call i32 @llvm.lrint.i32.f32(float undef)1230; AVX2-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = call <4 x i32> @llvm.lrint.v4i32.v4f32(<4 x float> undef)1231; AVX2-NEXT:  Cost Model: Found costs of 1 for: %V8F32 = call <8 x i32> @llvm.lrint.v8i32.v8f32(<8 x float> undef)1232; AVX2-NEXT:  Cost Model: Found costs of 2 for: %V16F32 = call <16 x i32> @llvm.lrint.v16i32.v16f32(<16 x float> undef)1233; AVX2-NEXT:  Cost Model: Found costs of 1 for: %F64 = call i32 @llvm.lrint.i32.f64(double undef)1234; AVX2-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = call <2 x i32> @llvm.lrint.v2i32.v2f64(<2 x double> undef)1235; AVX2-NEXT:  Cost Model: Found costs of 1 for: %V4F64 = call <4 x i32> @llvm.lrint.v4i32.v4f64(<4 x double> undef)1236; AVX2-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %V8F64 = call <8 x i32> @llvm.lrint.v8i32.v8f64(<8 x double> undef)1237; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1238;1239; AVX512-LABEL: 'lrint'1240; AVX512-NEXT:  Cost Model: Found costs of 1 for: %F32 = call i32 @llvm.lrint.i32.f32(float undef)1241; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = call <4 x i32> @llvm.lrint.v4i32.v4f32(<4 x float> undef)1242; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V8F32 = call <8 x i32> @llvm.lrint.v8i32.v8f32(<8 x float> undef)1243; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V16F32 = call <16 x i32> @llvm.lrint.v16i32.v16f32(<16 x float> undef)1244; AVX512-NEXT:  Cost Model: Found costs of 1 for: %F64 = call i32 @llvm.lrint.i32.f64(double undef)1245; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = call <2 x i32> @llvm.lrint.v2i32.v2f64(<2 x double> undef)1246; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V4F64 = call <4 x i32> @llvm.lrint.v4i32.v4f64(<4 x double> undef)1247; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V8F64 = call <8 x i32> @llvm.lrint.v8i32.v8f64(<8 x double> undef)1248; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1249;1250; SLM-LABEL: 'lrint'1251; SLM-NEXT:  Cost Model: Found costs of 1 for: %F32 = call i32 @llvm.lrint.i32.f32(float undef)1252; SLM-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = call <4 x i32> @llvm.lrint.v4i32.v4f32(<4 x float> undef)1253; SLM-NEXT:  Cost Model: Found costs of 2 for: %V8F32 = call <8 x i32> @llvm.lrint.v8i32.v8f32(<8 x float> undef)1254; SLM-NEXT:  Cost Model: Found costs of 4 for: %V16F32 = call <16 x i32> @llvm.lrint.v16i32.v16f32(<16 x float> undef)1255; SLM-NEXT:  Cost Model: Found costs of 1 for: %F64 = call i32 @llvm.lrint.i32.f64(double undef)1256; SLM-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = call <2 x i32> @llvm.lrint.v2i32.v2f64(<2 x double> undef)1257; SLM-NEXT:  Cost Model: Found costs of 2 for: %V4F64 = call <4 x i32> @llvm.lrint.v4i32.v4f64(<4 x double> undef)1258; SLM-NEXT:  Cost Model: Found costs of 4 for: %V8F64 = call <8 x i32> @llvm.lrint.v8i32.v8f64(<8 x double> undef)1259; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1260;1261; GLM-LABEL: 'lrint'1262; GLM-NEXT:  Cost Model: Found costs of 1 for: %F32 = call i32 @llvm.lrint.i32.f32(float undef)1263; GLM-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = call <4 x i32> @llvm.lrint.v4i32.v4f32(<4 x float> undef)1264; GLM-NEXT:  Cost Model: Found costs of 2 for: %V8F32 = call <8 x i32> @llvm.lrint.v8i32.v8f32(<8 x float> undef)1265; GLM-NEXT:  Cost Model: Found costs of 4 for: %V16F32 = call <16 x i32> @llvm.lrint.v16i32.v16f32(<16 x float> undef)1266; GLM-NEXT:  Cost Model: Found costs of 1 for: %F64 = call i32 @llvm.lrint.i32.f64(double undef)1267; GLM-NEXT:  Cost Model: Found costs of 1 for: %V2F64 = call <2 x i32> @llvm.lrint.v2i32.v2f64(<2 x double> undef)1268; GLM-NEXT:  Cost Model: Found costs of 2 for: %V4F64 = call <4 x i32> @llvm.lrint.v4i32.v4f64(<4 x double> undef)1269; GLM-NEXT:  Cost Model: Found costs of 4 for: %V8F64 = call <8 x i32> @llvm.lrint.v8i32.v8f64(<8 x double> undef)1270; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1271;1272  %F32 = call i32 @llvm.lrint.i32.f32(float undef)1273  %V4F32 = call <4 x i32> @llvm.lrint.v4i32.v4f32(<4 x float> undef)1274  %V8F32 = call <8 x i32> @llvm.lrint.v8i32.v8f32(<8 x float> undef)1275  %V16F32 = call <16 x i32> @llvm.lrint.v16i32.v16f32(<16 x float> undef)1276 1277  %F64 = call i32 @llvm.lrint.i32.f64(double undef)1278  %V2F64 = call <2 x i32> @llvm.lrint.v2i32.v2f64(<2 x double> undef)1279  %V4F64 = call <4 x i32> @llvm.lrint.v4i32.v4f64(<4 x double> undef)1280  %V8F64 = call <8 x i32> @llvm.lrint.v8i32.v8f64(<8 x double> undef)1281 1282  ret i32 undef1283}1284 1285define i32 @llrint(i32 %arg) {1286; SSE1-LABEL: 'llrint'1287; SSE1-NEXT:  Cost Model: Found costs of 1 for: %F32 = call i64 @llvm.llrint.i64.f32(float undef)1288; SSE1-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %V4F32 = call <4 x i64> @llvm.llrint.v4i64.v4f32(<4 x float> undef)1289; SSE1-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %V8F32 = call <8 x i64> @llvm.llrint.v8i64.v8f32(<8 x float> undef)1290; SSE1-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %V16F32 = call <16 x i64> @llvm.llrint.v16i64.v16f32(<16 x float> undef)1291; SSE1-NEXT:  Cost Model: Found costs of 1 for: %F64 = call i64 @llvm.llrint.i64.f64(double undef)1292; SSE1-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V2F64 = call <2 x i64> @llvm.llrint.v2i64.v2f64(<2 x double> undef)1293; SSE1-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V4F64 = call <4 x i64> @llvm.llrint.v4i64.v4f64(<4 x double> undef)1294; SSE1-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %V8F64 = call <8 x i64> @llvm.llrint.v8i64.v8f64(<8 x double> undef)1295; SSE1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1296;1297; SSE2-LABEL: 'llrint'1298; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %F32 = call i64 @llvm.llrint.i64.f32(float undef)1299; SSE2-NEXT:  Cost Model: Found costs of RThru:29 CodeSize:1 Lat:1 SizeLat:1 for: %V4F32 = call <4 x i64> @llvm.llrint.v4i64.v4f32(<4 x float> undef)1300; SSE2-NEXT:  Cost Model: Found costs of RThru:58 CodeSize:1 Lat:1 SizeLat:1 for: %V8F32 = call <8 x i64> @llvm.llrint.v8i64.v8f32(<8 x float> undef)1301; SSE2-NEXT:  Cost Model: Found costs of RThru:116 CodeSize:1 Lat:1 SizeLat:1 for: %V16F32 = call <16 x i64> @llvm.llrint.v16i64.v16f32(<16 x float> undef)1302; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %F64 = call i64 @llvm.llrint.i64.f64(double undef)1303; SSE2-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %V2F64 = call <2 x i64> @llvm.llrint.v2i64.v2f64(<2 x double> undef)1304; SSE2-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %V4F64 = call <4 x i64> @llvm.llrint.v4i64.v4f64(<4 x double> undef)1305; SSE2-NEXT:  Cost Model: Found costs of RThru:56 CodeSize:1 Lat:1 SizeLat:1 for: %V8F64 = call <8 x i64> @llvm.llrint.v8i64.v8f64(<8 x double> undef)1306; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1307;1308; SSE42-LABEL: 'llrint'1309; SSE42-NEXT:  Cost Model: Found costs of 1 for: %F32 = call i64 @llvm.llrint.i64.f32(float undef)1310; SSE42-NEXT:  Cost Model: Found costs of RThru:13 CodeSize:1 Lat:1 SizeLat:1 for: %V4F32 = call <4 x i64> @llvm.llrint.v4i64.v4f32(<4 x float> undef)1311; SSE42-NEXT:  Cost Model: Found costs of RThru:26 CodeSize:1 Lat:1 SizeLat:1 for: %V8F32 = call <8 x i64> @llvm.llrint.v8i64.v8f32(<8 x float> undef)1312; SSE42-NEXT:  Cost Model: Found costs of RThru:52 CodeSize:1 Lat:1 SizeLat:1 for: %V16F32 = call <16 x i64> @llvm.llrint.v16i64.v16f32(<16 x float> undef)1313; SSE42-NEXT:  Cost Model: Found costs of 1 for: %F64 = call i64 @llvm.llrint.i64.f64(double undef)1314; SSE42-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %V2F64 = call <2 x i64> @llvm.llrint.v2i64.v2f64(<2 x double> undef)1315; SSE42-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %V4F64 = call <4 x i64> @llvm.llrint.v4i64.v4f64(<4 x double> undef)1316; SSE42-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:1 Lat:1 SizeLat:1 for: %V8F64 = call <8 x i64> @llvm.llrint.v8i64.v8f64(<8 x double> undef)1317; SSE42-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1318;1319; AVX-LABEL: 'llrint'1320; AVX-NEXT:  Cost Model: Found costs of 1 for: %F32 = call i64 @llvm.llrint.i64.f32(float undef)1321; AVX-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %V4F32 = call <4 x i64> @llvm.llrint.v4i64.v4f32(<4 x float> undef)1322; AVX-NEXT:  Cost Model: Found costs of RThru:29 CodeSize:1 Lat:1 SizeLat:1 for: %V8F32 = call <8 x i64> @llvm.llrint.v8i64.v8f32(<8 x float> undef)1323; AVX-NEXT:  Cost Model: Found costs of RThru:58 CodeSize:1 Lat:1 SizeLat:1 for: %V16F32 = call <16 x i64> @llvm.llrint.v16i64.v16f32(<16 x float> undef)1324; AVX-NEXT:  Cost Model: Found costs of 1 for: %F64 = call i64 @llvm.llrint.i64.f64(double undef)1325; AVX-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %V2F64 = call <2 x i64> @llvm.llrint.v2i64.v2f64(<2 x double> undef)1326; AVX-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %V4F64 = call <4 x i64> @llvm.llrint.v4i64.v4f64(<4 x double> undef)1327; AVX-NEXT:  Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %V8F64 = call <8 x i64> @llvm.llrint.v8i64.v8f64(<8 x double> undef)1328; AVX-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1329;1330; AVX512-LABEL: 'llrint'1331; AVX512-NEXT:  Cost Model: Found costs of 1 for: %F32 = call i64 @llvm.llrint.i64.f32(float undef)1332; AVX512-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %V4F32 = call <4 x i64> @llvm.llrint.v4i64.v4f32(<4 x float> undef)1333; AVX512-NEXT:  Cost Model: Found costs of RThru:30 CodeSize:1 Lat:1 SizeLat:1 for: %V8F32 = call <8 x i64> @llvm.llrint.v8i64.v8f32(<8 x float> undef)1334; AVX512-NEXT:  Cost Model: Found costs of RThru:61 CodeSize:1 Lat:1 SizeLat:1 for: %V16F32 = call <16 x i64> @llvm.llrint.v16i64.v16f32(<16 x float> undef)1335; AVX512-NEXT:  Cost Model: Found costs of 1 for: %F64 = call i64 @llvm.llrint.i64.f64(double undef)1336; AVX512-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %V2F64 = call <2 x i64> @llvm.llrint.v2i64.v2f64(<2 x double> undef)1337; AVX512-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %V4F64 = call <4 x i64> @llvm.llrint.v4i64.v4f64(<4 x double> undef)1338; AVX512-NEXT:  Cost Model: Found costs of RThru:30 CodeSize:1 Lat:1 SizeLat:1 for: %V8F64 = call <8 x i64> @llvm.llrint.v8i64.v8f64(<8 x double> undef)1339; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1340;1341; SLM-LABEL: 'llrint'1342; SLM-NEXT:  Cost Model: Found costs of 1 for: %F32 = call i64 @llvm.llrint.i64.f32(float undef)1343; SLM-NEXT:  Cost Model: Found costs of RThru:25 CodeSize:1 Lat:1 SizeLat:1 for: %V4F32 = call <4 x i64> @llvm.llrint.v4i64.v4f32(<4 x float> undef)1344; SLM-NEXT:  Cost Model: Found costs of RThru:50 CodeSize:1 Lat:1 SizeLat:1 for: %V8F32 = call <8 x i64> @llvm.llrint.v8i64.v8f32(<8 x float> undef)1345; SLM-NEXT:  Cost Model: Found costs of RThru:100 CodeSize:1 Lat:1 SizeLat:1 for: %V16F32 = call <16 x i64> @llvm.llrint.v16i64.v16f32(<16 x float> undef)1346; SLM-NEXT:  Cost Model: Found costs of 1 for: %F64 = call i64 @llvm.llrint.i64.f64(double undef)1347; SLM-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %V2F64 = call <2 x i64> @llvm.llrint.v2i64.v2f64(<2 x double> undef)1348; SLM-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:1 Lat:1 SizeLat:1 for: %V4F64 = call <4 x i64> @llvm.llrint.v4i64.v4f64(<4 x double> undef)1349; SLM-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:1 Lat:1 SizeLat:1 for: %V8F64 = call <8 x i64> @llvm.llrint.v8i64.v8f64(<8 x double> undef)1350; SLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1351;1352; GLM-LABEL: 'llrint'1353; GLM-NEXT:  Cost Model: Found costs of 1 for: %F32 = call i64 @llvm.llrint.i64.f32(float undef)1354; GLM-NEXT:  Cost Model: Found costs of RThru:13 CodeSize:1 Lat:1 SizeLat:1 for: %V4F32 = call <4 x i64> @llvm.llrint.v4i64.v4f32(<4 x float> undef)1355; GLM-NEXT:  Cost Model: Found costs of RThru:26 CodeSize:1 Lat:1 SizeLat:1 for: %V8F32 = call <8 x i64> @llvm.llrint.v8i64.v8f32(<8 x float> undef)1356; GLM-NEXT:  Cost Model: Found costs of RThru:52 CodeSize:1 Lat:1 SizeLat:1 for: %V16F32 = call <16 x i64> @llvm.llrint.v16i64.v16f32(<16 x float> undef)1357; GLM-NEXT:  Cost Model: Found costs of 1 for: %F64 = call i64 @llvm.llrint.i64.f64(double undef)1358; GLM-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %V2F64 = call <2 x i64> @llvm.llrint.v2i64.v2f64(<2 x double> undef)1359; GLM-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %V4F64 = call <4 x i64> @llvm.llrint.v4i64.v4f64(<4 x double> undef)1360; GLM-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:1 Lat:1 SizeLat:1 for: %V8F64 = call <8 x i64> @llvm.llrint.v8i64.v8f64(<8 x double> undef)1361; GLM-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1362;1363  %F32 = call i64 @llvm.llrint.i64.f32(float undef)1364  %V4F32 = call <4 x i64> @llvm.llrint.v4i64.v4f32(<4 x float> undef)1365  %V8F32 = call <8 x i64> @llvm.llrint.v8i64.v8f32(<8 x float> undef)1366  %V16F32 = call <16 x i64> @llvm.llrint.v16i64.v16f32(<16 x float> undef)1367 1368  %F64 = call i64 @llvm.llrint.i64.f64(double undef)1369  %V2F64 = call <2 x i64> @llvm.llrint.v2i64.v2f64(<2 x double> undef)1370  %V4F64 = call <4 x i64> @llvm.llrint.v4i64.v4f64(<4 x double> undef)1371  %V8F64 = call <8 x i64> @llvm.llrint.v8i64.v8f64(<8 x double> undef)1372 1373  ret i32 undef1374}1375 1376declare float @llvm.sqrt.f32(float)1377declare <4 x float> @llvm.sqrt.v4f32(<4 x float>)1378declare <8 x float> @llvm.sqrt.v8f32(<8 x float>)1379declare <16 x float> @llvm.sqrt.v16f32(<16 x float>)1380 1381declare double @llvm.sqrt.f64(double)1382declare <2 x double> @llvm.sqrt.v2f64(<2 x double>)1383declare <4 x double> @llvm.sqrt.v4f64(<4 x double>)1384declare <8 x double> @llvm.sqrt.v8f64(<8 x double>)1385 1386declare float @llvm.fabs.f32(float)1387declare <4 x float> @llvm.fabs.v4f32(<4 x float>)1388declare <8 x float> @llvm.fabs.v8f32(<8 x float>)1389declare <16 x float> @llvm.fabs.v16f32(<16 x float>)1390 1391declare double @llvm.fabs.f64(double)1392declare <2 x double> @llvm.fabs.v2f64(<2 x double>)1393declare <4 x double> @llvm.fabs.v4f64(<4 x double>)1394declare <8 x double> @llvm.fabs.v8f64(<8 x double>)1395 1396declare float @llvm.copysign.f32(float, float)1397declare <4 x float> @llvm.copysign.v4f32(<4 x float>, <4 x float>)1398declare <8 x float> @llvm.copysign.v8f32(<8 x float>, <8 x float>)1399declare <16 x float> @llvm.copysign.v16f32(<16 x float>, <16 x float>)1400 1401declare double @llvm.copysign.f64(double, double)1402declare <2 x double> @llvm.copysign.v2f64(<2 x double>, <2 x double>)1403declare <4 x double> @llvm.copysign.v4f64(<4 x double>, <4 x double>)1404declare <8 x double> @llvm.copysign.v8f64(<8 x double>, <8 x double>)1405 1406declare float @llvm.fma.f32(float, float, float)1407declare <4 x float> @llvm.fma.v4f32(<4 x float>, <4 x float>, <4 x float>)1408declare <8 x float> @llvm.fma.v8f32(<8 x float>, <8 x float>, <8 x float>)1409declare <16 x float> @llvm.fma.v16f32(<16 x float>, <16 x float>, <16 x float>)1410 1411declare double @llvm.fma.f64(double, double, double)1412declare <2 x double> @llvm.fma.v2f64(<2 x double>, <2 x double>, <2 x double>)1413declare <4 x double> @llvm.fma.v4f64(<4 x double>, <4 x double>, <4 x double>)1414declare <8 x double> @llvm.fma.v8f64(<8 x double>, <8 x double>, <8 x double>)1415