1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py 2; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -mattr=+sse2 | FileCheck %s --check-prefixes=SSE2 3; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -mattr=+sse3 | FileCheck %s --check-prefixes=SSE2 4; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE2 5; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -mattr=+sse4.1 | FileCheck %s --check-prefixes=SSE41 6; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -mattr=+sse4.2 | FileCheck %s --check-prefixes=SSE41 7; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -mattr=+avx | FileCheck %s --check-prefixes=AVX1 8; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -mattr=+avx2 | FileCheck %s --check-prefixes=AVX2 9; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -mattr=+avx512f | FileCheck %s --check-prefixes=AVX512 10; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefixes=AVX512 11; 12; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -mcpu=slm | FileCheck %s --check-prefixes=SSE41 13; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -mcpu=goldmont | FileCheck %s --check-prefixes=SSE41 14; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -mcpu=btver2 | FileCheck %s --check-prefixes=AVX1 15 16define i32 @cmp_float_oeq(i32 %arg) { 17; SSE2-LABEL: 'cmp_float_oeq' 18; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oeq float undef, undef 19; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F32 = fcmp oeq <2 x float> undef, undef 20; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F32 = fcmp oeq <4 x float> undef, undef 21; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F32 = fcmp oeq <8 x float> undef, undef 22; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F32 = fcmp oeq <16 x float> undef, undef 23; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oeq double undef, undef 24; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F64 = fcmp oeq <2 x double> undef, undef 25; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4F64 = fcmp oeq <4 x double> undef, undef 26; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V8F64 = fcmp oeq <8 x double> undef, undef 27; SSE2-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16F64 = fcmp oeq <16 x double> undef, undef 28; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 29; 30; SSE41-LABEL: 'cmp_float_oeq' 31; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oeq float undef, undef 32; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp oeq <2 x float> undef, undef 33; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp oeq <4 x float> undef, undef 34; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp oeq <8 x float> undef, undef 35; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp oeq <16 x float> undef, undef 36; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oeq double undef, undef 37; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp oeq <2 x double> undef, undef 38; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp oeq <4 x double> undef, undef 39; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp oeq <8 x double> undef, undef 40; SSE41-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp oeq <16 x double> undef, undef 41; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 42; 43; AVX1-LABEL: 'cmp_float_oeq' 44; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oeq float undef, undef 45; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp oeq <2 x float> undef, undef 46; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp oeq <4 x float> undef, undef 47; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp oeq <8 x float> undef, undef 48; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp oeq <16 x float> undef, undef 49; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oeq double undef, undef 50; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp oeq <2 x double> undef, undef 51; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp oeq <4 x double> undef, undef 52; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp oeq <8 x double> undef, undef 53; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp oeq <16 x double> undef, undef 54; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 55; 56; AVX2-LABEL: 'cmp_float_oeq' 57; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oeq float undef, undef 58; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp oeq <2 x float> undef, undef 59; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp oeq <4 x float> undef, undef 60; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp oeq <8 x float> undef, undef 61; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp oeq <16 x float> undef, undef 62; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oeq double undef, undef 63; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp oeq <2 x double> undef, undef 64; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp oeq <4 x double> undef, undef 65; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp oeq <8 x double> undef, undef 66; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp oeq <16 x double> undef, undef 67; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 68; 69; AVX512-LABEL: 'cmp_float_oeq' 70; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oeq float undef, undef 71; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp oeq <2 x float> undef, undef 72; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp oeq <4 x float> undef, undef 73; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp oeq <8 x float> undef, undef 74; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp oeq <16 x float> undef, undef 75; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oeq double undef, undef 76; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp oeq <2 x double> undef, undef 77; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp oeq <4 x double> undef, undef 78; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp oeq <8 x double> undef, undef 79; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp oeq <16 x double> undef, undef 80; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 81; 82 %F32 = fcmp oeq float undef, undef 83 %V2F32 = fcmp oeq <2 x float> undef, undef 84 %V4F32 = fcmp oeq <4 x float> undef, undef 85 %V8F32 = fcmp oeq <8 x float> undef, undef 86 %V16F32 = fcmp oeq <16 x float> undef, undef 87 88 %F64 = fcmp oeq double undef, undef 89 %V2F64 = fcmp oeq <2 x double> undef, undef 90 %V4F64 = fcmp oeq <4 x double> undef, undef 91 %V8F64 = fcmp oeq <8 x double> undef, undef 92 %V16F64 = fcmp oeq <16 x double> undef, undef 93 94 ret i32 undef 95} 96 97define i32 @cmp_float_one(i32 %arg) { 98; SSE2-LABEL: 'cmp_float_one' 99; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp one float undef, undef 100; SSE2-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %V2F32 = fcmp one <2 x float> undef, undef 101; SSE2-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %V4F32 = fcmp one <4 x float> undef, undef 102; SSE2-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %V8F32 = fcmp one <8 x float> undef, undef 103; SSE2-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %V16F32 = fcmp one <16 x float> undef, undef 104; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp one double undef, undef 105; SSE2-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %V2F64 = fcmp one <2 x double> undef, undef 106; SSE2-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %V4F64 = fcmp one <4 x double> undef, undef 107; SSE2-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %V8F64 = fcmp one <8 x double> undef, undef 108; SSE2-NEXT: Cost Model: Found an estimated cost of 33 for instruction: %V16F64 = fcmp one <16 x double> undef, undef 109; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 110; 111; SSE41-LABEL: 'cmp_float_one' 112; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp one float undef, undef 113; SSE41-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %V2F32 = fcmp one <2 x float> undef, undef 114; SSE41-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %V4F32 = fcmp one <4 x float> undef, undef 115; SSE41-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %V8F32 = fcmp one <8 x float> undef, undef 116; SSE41-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %V16F32 = fcmp one <16 x float> undef, undef 117; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp one double undef, undef 118; SSE41-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %V2F64 = fcmp one <2 x double> undef, undef 119; SSE41-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %V4F64 = fcmp one <4 x double> undef, undef 120; SSE41-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %V8F64 = fcmp one <8 x double> undef, undef 121; SSE41-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %V16F64 = fcmp one <16 x double> undef, undef 122; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 123; 124; AVX1-LABEL: 'cmp_float_one' 125; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp one float undef, undef 126; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp one <2 x float> undef, undef 127; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp one <4 x float> undef, undef 128; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp one <8 x float> undef, undef 129; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp one <16 x float> undef, undef 130; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp one double undef, undef 131; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp one <2 x double> undef, undef 132; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp one <4 x double> undef, undef 133; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp one <8 x double> undef, undef 134; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp one <16 x double> undef, undef 135; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 136; 137; AVX2-LABEL: 'cmp_float_one' 138; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp one float undef, undef 139; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp one <2 x float> undef, undef 140; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp one <4 x float> undef, undef 141; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp one <8 x float> undef, undef 142; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp one <16 x float> undef, undef 143; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp one double undef, undef 144; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp one <2 x double> undef, undef 145; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp one <4 x double> undef, undef 146; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp one <8 x double> undef, undef 147; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp one <16 x double> undef, undef 148; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 149; 150; AVX512-LABEL: 'cmp_float_one' 151; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp one float undef, undef 152; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp one <2 x float> undef, undef 153; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp one <4 x float> undef, undef 154; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp one <8 x float> undef, undef 155; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp one <16 x float> undef, undef 156; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp one double undef, undef 157; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp one <2 x double> undef, undef 158; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp one <4 x double> undef, undef 159; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp one <8 x double> undef, undef 160; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp one <16 x double> undef, undef 161; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 162; 163 %F32 = fcmp one float undef, undef 164 %V2F32 = fcmp one <2 x float> undef, undef 165 %V4F32 = fcmp one <4 x float> undef, undef 166 %V8F32 = fcmp one <8 x float> undef, undef 167 %V16F32 = fcmp one <16 x float> undef, undef 168 169 %F64 = fcmp one double undef, undef 170 %V2F64 = fcmp one <2 x double> undef, undef 171 %V4F64 = fcmp one <4 x double> undef, undef 172 %V8F64 = fcmp one <8 x double> undef, undef 173 %V16F64 = fcmp one <16 x double> undef, undef 174 175 ret i32 undef 176} 177 178define i32 @cmp_float_ord(i32 %arg) { 179; SSE2-LABEL: 'cmp_float_ord' 180; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ord float undef, undef 181; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F32 = fcmp ord <2 x float> undef, undef 182; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F32 = fcmp ord <4 x float> undef, undef 183; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F32 = fcmp ord <8 x float> undef, undef 184; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F32 = fcmp ord <16 x float> undef, undef 185; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ord double undef, undef 186; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F64 = fcmp ord <2 x double> undef, undef 187; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4F64 = fcmp ord <4 x double> undef, undef 188; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V8F64 = fcmp ord <8 x double> undef, undef 189; SSE2-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16F64 = fcmp ord <16 x double> undef, undef 190; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 191; 192; SSE41-LABEL: 'cmp_float_ord' 193; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ord float undef, undef 194; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ord <2 x float> undef, undef 195; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ord <4 x float> undef, undef 196; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ord <8 x float> undef, undef 197; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ord <16 x float> undef, undef 198; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ord double undef, undef 199; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ord <2 x double> undef, undef 200; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ord <4 x double> undef, undef 201; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ord <8 x double> undef, undef 202; SSE41-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ord <16 x double> undef, undef 203; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 204; 205; AVX1-LABEL: 'cmp_float_ord' 206; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ord float undef, undef 207; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ord <2 x float> undef, undef 208; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ord <4 x float> undef, undef 209; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ord <8 x float> undef, undef 210; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ord <16 x float> undef, undef 211; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ord double undef, undef 212; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ord <2 x double> undef, undef 213; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ord <4 x double> undef, undef 214; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ord <8 x double> undef, undef 215; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ord <16 x double> undef, undef 216; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 217; 218; AVX2-LABEL: 'cmp_float_ord' 219; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ord float undef, undef 220; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ord <2 x float> undef, undef 221; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ord <4 x float> undef, undef 222; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ord <8 x float> undef, undef 223; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp ord <16 x float> undef, undef 224; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ord double undef, undef 225; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ord <2 x double> undef, undef 226; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ord <4 x double> undef, undef 227; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp ord <8 x double> undef, undef 228; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp ord <16 x double> undef, undef 229; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 230; 231; AVX512-LABEL: 'cmp_float_ord' 232; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ord float undef, undef 233; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ord <2 x float> undef, undef 234; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ord <4 x float> undef, undef 235; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ord <8 x float> undef, undef 236; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp ord <16 x float> undef, undef 237; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ord double undef, undef 238; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ord <2 x double> undef, undef 239; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ord <4 x double> undef, undef 240; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp ord <8 x double> undef, undef 241; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp ord <16 x double> undef, undef 242; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 243; 244 %F32 = fcmp ord float undef, undef 245 %V2F32 = fcmp ord <2 x float> undef, undef 246 %V4F32 = fcmp ord <4 x float> undef, undef 247 %V8F32 = fcmp ord <8 x float> undef, undef 248 %V16F32 = fcmp ord <16 x float> undef, undef 249 250 %F64 = fcmp ord double undef, undef 251 %V2F64 = fcmp ord <2 x double> undef, undef 252 %V4F64 = fcmp ord <4 x double> undef, undef 253 %V8F64 = fcmp ord <8 x double> undef, undef 254 %V16F64 = fcmp ord <16 x double> undef, undef 255 256 ret i32 undef 257} 258 259define i32 @cmp_float_oge(i32 %arg) { 260; SSE2-LABEL: 'cmp_float_oge' 261; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oge float undef, undef 262; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F32 = fcmp oge <2 x float> undef, undef 263; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F32 = fcmp oge <4 x float> undef, undef 264; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F32 = fcmp oge <8 x float> undef, undef 265; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F32 = fcmp oge <16 x float> undef, undef 266; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oge double undef, undef 267; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F64 = fcmp oge <2 x double> undef, undef 268; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4F64 = fcmp oge <4 x double> undef, undef 269; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V8F64 = fcmp oge <8 x double> undef, undef 270; SSE2-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16F64 = fcmp oge <16 x double> undef, undef 271; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 272; 273; SSE41-LABEL: 'cmp_float_oge' 274; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oge float undef, undef 275; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp oge <2 x float> undef, undef 276; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp oge <4 x float> undef, undef 277; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp oge <8 x float> undef, undef 278; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp oge <16 x float> undef, undef 279; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oge double undef, undef 280; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp oge <2 x double> undef, undef 281; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp oge <4 x double> undef, undef 282; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp oge <8 x double> undef, undef 283; SSE41-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp oge <16 x double> undef, undef 284; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 285; 286; AVX1-LABEL: 'cmp_float_oge' 287; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oge float undef, undef 288; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp oge <2 x float> undef, undef 289; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp oge <4 x float> undef, undef 290; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp oge <8 x float> undef, undef 291; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp oge <16 x float> undef, undef 292; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oge double undef, undef 293; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp oge <2 x double> undef, undef 294; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp oge <4 x double> undef, undef 295; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp oge <8 x double> undef, undef 296; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp oge <16 x double> undef, undef 297; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 298; 299; AVX2-LABEL: 'cmp_float_oge' 300; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oge float undef, undef 301; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp oge <2 x float> undef, undef 302; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp oge <4 x float> undef, undef 303; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp oge <8 x float> undef, undef 304; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp oge <16 x float> undef, undef 305; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oge double undef, undef 306; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp oge <2 x double> undef, undef 307; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp oge <4 x double> undef, undef 308; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp oge <8 x double> undef, undef 309; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp oge <16 x double> undef, undef 310; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 311; 312; AVX512-LABEL: 'cmp_float_oge' 313; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oge float undef, undef 314; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp oge <2 x float> undef, undef 315; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp oge <4 x float> undef, undef 316; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp oge <8 x float> undef, undef 317; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp oge <16 x float> undef, undef 318; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oge double undef, undef 319; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp oge <2 x double> undef, undef 320; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp oge <4 x double> undef, undef 321; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp oge <8 x double> undef, undef 322; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp oge <16 x double> undef, undef 323; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 324; 325 %F32 = fcmp oge float undef, undef 326 %V2F32 = fcmp oge <2 x float> undef, undef 327 %V4F32 = fcmp oge <4 x float> undef, undef 328 %V8F32 = fcmp oge <8 x float> undef, undef 329 %V16F32 = fcmp oge <16 x float> undef, undef 330 331 %F64 = fcmp oge double undef, undef 332 %V2F64 = fcmp oge <2 x double> undef, undef 333 %V4F64 = fcmp oge <4 x double> undef, undef 334 %V8F64 = fcmp oge <8 x double> undef, undef 335 %V16F64 = fcmp oge <16 x double> undef, undef 336 337 ret i32 undef 338} 339 340define i32 @cmp_float_ogt(i32 %arg) { 341; SSE2-LABEL: 'cmp_float_ogt' 342; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ogt float undef, undef 343; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F32 = fcmp ogt <2 x float> undef, undef 344; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F32 = fcmp ogt <4 x float> undef, undef 345; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F32 = fcmp ogt <8 x float> undef, undef 346; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F32 = fcmp ogt <16 x float> undef, undef 347; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ogt double undef, undef 348; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F64 = fcmp ogt <2 x double> undef, undef 349; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4F64 = fcmp ogt <4 x double> undef, undef 350; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V8F64 = fcmp ogt <8 x double> undef, undef 351; SSE2-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16F64 = fcmp ogt <16 x double> undef, undef 352; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 353; 354; SSE41-LABEL: 'cmp_float_ogt' 355; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ogt float undef, undef 356; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ogt <2 x float> undef, undef 357; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ogt <4 x float> undef, undef 358; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ogt <8 x float> undef, undef 359; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ogt <16 x float> undef, undef 360; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ogt double undef, undef 361; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ogt <2 x double> undef, undef 362; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ogt <4 x double> undef, undef 363; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ogt <8 x double> undef, undef 364; SSE41-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ogt <16 x double> undef, undef 365; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 366; 367; AVX1-LABEL: 'cmp_float_ogt' 368; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ogt float undef, undef 369; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ogt <2 x float> undef, undef 370; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ogt <4 x float> undef, undef 371; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ogt <8 x float> undef, undef 372; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ogt <16 x float> undef, undef 373; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ogt double undef, undef 374; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ogt <2 x double> undef, undef 375; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ogt <4 x double> undef, undef 376; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ogt <8 x double> undef, undef 377; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ogt <16 x double> undef, undef 378; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 379; 380; AVX2-LABEL: 'cmp_float_ogt' 381; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ogt float undef, undef 382; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ogt <2 x float> undef, undef 383; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ogt <4 x float> undef, undef 384; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ogt <8 x float> undef, undef 385; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp ogt <16 x float> undef, undef 386; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ogt double undef, undef 387; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ogt <2 x double> undef, undef 388; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ogt <4 x double> undef, undef 389; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp ogt <8 x double> undef, undef 390; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp ogt <16 x double> undef, undef 391; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 392; 393; AVX512-LABEL: 'cmp_float_ogt' 394; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ogt float undef, undef 395; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ogt <2 x float> undef, undef 396; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ogt <4 x float> undef, undef 397; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ogt <8 x float> undef, undef 398; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp ogt <16 x float> undef, undef 399; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ogt double undef, undef 400; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ogt <2 x double> undef, undef 401; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ogt <4 x double> undef, undef 402; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp ogt <8 x double> undef, undef 403; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp ogt <16 x double> undef, undef 404; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 405; 406 %F32 = fcmp ogt float undef, undef 407 %V2F32 = fcmp ogt <2 x float> undef, undef 408 %V4F32 = fcmp ogt <4 x float> undef, undef 409 %V8F32 = fcmp ogt <8 x float> undef, undef 410 %V16F32 = fcmp ogt <16 x float> undef, undef 411 412 %F64 = fcmp ogt double undef, undef 413 %V2F64 = fcmp ogt <2 x double> undef, undef 414 %V4F64 = fcmp ogt <4 x double> undef, undef 415 %V8F64 = fcmp ogt <8 x double> undef, undef 416 %V16F64 = fcmp ogt <16 x double> undef, undef 417 418 ret i32 undef 419} 420 421define i32 @cmp_float_ole(i32 %arg) { 422; SSE2-LABEL: 'cmp_float_ole' 423; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ole float undef, undef 424; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F32 = fcmp ole <2 x float> undef, undef 425; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F32 = fcmp ole <4 x float> undef, undef 426; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F32 = fcmp ole <8 x float> undef, undef 427; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F32 = fcmp ole <16 x float> undef, undef 428; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ole double undef, undef 429; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F64 = fcmp ole <2 x double> undef, undef 430; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4F64 = fcmp ole <4 x double> undef, undef 431; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V8F64 = fcmp ole <8 x double> undef, undef 432; SSE2-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16F64 = fcmp ole <16 x double> undef, undef 433; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 434; 435; SSE41-LABEL: 'cmp_float_ole' 436; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ole float undef, undef 437; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ole <2 x float> undef, undef 438; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ole <4 x float> undef, undef 439; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ole <8 x float> undef, undef 440; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ole <16 x float> undef, undef 441; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ole double undef, undef 442; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ole <2 x double> undef, undef 443; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ole <4 x double> undef, undef 444; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ole <8 x double> undef, undef 445; SSE41-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ole <16 x double> undef, undef 446; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 447; 448; AVX1-LABEL: 'cmp_float_ole' 449; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ole float undef, undef 450; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ole <2 x float> undef, undef 451; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ole <4 x float> undef, undef 452; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ole <8 x float> undef, undef 453; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ole <16 x float> undef, undef 454; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ole double undef, undef 455; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ole <2 x double> undef, undef 456; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ole <4 x double> undef, undef 457; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ole <8 x double> undef, undef 458; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ole <16 x double> undef, undef 459; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 460; 461; AVX2-LABEL: 'cmp_float_ole' 462; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ole float undef, undef 463; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ole <2 x float> undef, undef 464; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ole <4 x float> undef, undef 465; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ole <8 x float> undef, undef 466; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp ole <16 x float> undef, undef 467; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ole double undef, undef 468; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ole <2 x double> undef, undef 469; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ole <4 x double> undef, undef 470; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp ole <8 x double> undef, undef 471; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp ole <16 x double> undef, undef 472; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 473; 474; AVX512-LABEL: 'cmp_float_ole' 475; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ole float undef, undef 476; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ole <2 x float> undef, undef 477; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ole <4 x float> undef, undef 478; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ole <8 x float> undef, undef 479; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp ole <16 x float> undef, undef 480; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ole double undef, undef 481; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ole <2 x double> undef, undef 482; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ole <4 x double> undef, undef 483; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp ole <8 x double> undef, undef 484; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp ole <16 x double> undef, undef 485; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 486; 487 %F32 = fcmp ole float undef, undef 488 %V2F32 = fcmp ole <2 x float> undef, undef 489 %V4F32 = fcmp ole <4 x float> undef, undef 490 %V8F32 = fcmp ole <8 x float> undef, undef 491 %V16F32 = fcmp ole <16 x float> undef, undef 492 493 %F64 = fcmp ole double undef, undef 494 %V2F64 = fcmp ole <2 x double> undef, undef 495 %V4F64 = fcmp ole <4 x double> undef, undef 496 %V8F64 = fcmp ole <8 x double> undef, undef 497 %V16F64 = fcmp ole <16 x double> undef, undef 498 499 ret i32 undef 500} 501 502define i32 @cmp_float_olt(i32 %arg) { 503; SSE2-LABEL: 'cmp_float_olt' 504; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp olt float undef, undef 505; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F32 = fcmp olt <2 x float> undef, undef 506; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F32 = fcmp olt <4 x float> undef, undef 507; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F32 = fcmp olt <8 x float> undef, undef 508; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F32 = fcmp olt <16 x float> undef, undef 509; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp olt double undef, undef 510; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F64 = fcmp olt <2 x double> undef, undef 511; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4F64 = fcmp olt <4 x double> undef, undef 512; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V8F64 = fcmp olt <8 x double> undef, undef 513; SSE2-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16F64 = fcmp olt <16 x double> undef, undef 514; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 515; 516; SSE41-LABEL: 'cmp_float_olt' 517; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp olt float undef, undef 518; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp olt <2 x float> undef, undef 519; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp olt <4 x float> undef, undef 520; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp olt <8 x float> undef, undef 521; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp olt <16 x float> undef, undef 522; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp olt double undef, undef 523; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp olt <2 x double> undef, undef 524; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp olt <4 x double> undef, undef 525; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp olt <8 x double> undef, undef 526; SSE41-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp olt <16 x double> undef, undef 527; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 528; 529; AVX1-LABEL: 'cmp_float_olt' 530; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp olt float undef, undef 531; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp olt <2 x float> undef, undef 532; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp olt <4 x float> undef, undef 533; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp olt <8 x float> undef, undef 534; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp olt <16 x float> undef, undef 535; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp olt double undef, undef 536; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp olt <2 x double> undef, undef 537; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp olt <4 x double> undef, undef 538; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp olt <8 x double> undef, undef 539; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp olt <16 x double> undef, undef 540; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 541; 542; AVX2-LABEL: 'cmp_float_olt' 543; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp olt float undef, undef 544; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp olt <2 x float> undef, undef 545; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp olt <4 x float> undef, undef 546; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp olt <8 x float> undef, undef 547; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp olt <16 x float> undef, undef 548; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp olt double undef, undef 549; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp olt <2 x double> undef, undef 550; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp olt <4 x double> undef, undef 551; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp olt <8 x double> undef, undef 552; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp olt <16 x double> undef, undef 553; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 554; 555; AVX512-LABEL: 'cmp_float_olt' 556; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp olt float undef, undef 557; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp olt <2 x float> undef, undef 558; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp olt <4 x float> undef, undef 559; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp olt <8 x float> undef, undef 560; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp olt <16 x float> undef, undef 561; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp olt double undef, undef 562; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp olt <2 x double> undef, undef 563; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp olt <4 x double> undef, undef 564; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp olt <8 x double> undef, undef 565; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp olt <16 x double> undef, undef 566; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 567; 568 %F32 = fcmp olt float undef, undef 569 %V2F32 = fcmp olt <2 x float> undef, undef 570 %V4F32 = fcmp olt <4 x float> undef, undef 571 %V8F32 = fcmp olt <8 x float> undef, undef 572 %V16F32 = fcmp olt <16 x float> undef, undef 573 574 %F64 = fcmp olt double undef, undef 575 %V2F64 = fcmp olt <2 x double> undef, undef 576 %V4F64 = fcmp olt <4 x double> undef, undef 577 %V8F64 = fcmp olt <8 x double> undef, undef 578 %V16F64 = fcmp olt <16 x double> undef, undef 579 580 ret i32 undef 581} 582 583define i32 @cmp_float_ueq(i32 %arg) { 584; SSE2-LABEL: 'cmp_float_ueq' 585; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ueq float undef, undef 586; SSE2-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %V2F32 = fcmp ueq <2 x float> undef, undef 587; SSE2-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %V4F32 = fcmp ueq <4 x float> undef, undef 588; SSE2-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %V8F32 = fcmp ueq <8 x float> undef, undef 589; SSE2-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %V16F32 = fcmp ueq <16 x float> undef, undef 590; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ueq double undef, undef 591; SSE2-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %V2F64 = fcmp ueq <2 x double> undef, undef 592; SSE2-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %V4F64 = fcmp ueq <4 x double> undef, undef 593; SSE2-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %V8F64 = fcmp ueq <8 x double> undef, undef 594; SSE2-NEXT: Cost Model: Found an estimated cost of 33 for instruction: %V16F64 = fcmp ueq <16 x double> undef, undef 595; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 596; 597; SSE41-LABEL: 'cmp_float_ueq' 598; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ueq float undef, undef 599; SSE41-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %V2F32 = fcmp ueq <2 x float> undef, undef 600; SSE41-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %V4F32 = fcmp ueq <4 x float> undef, undef 601; SSE41-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %V8F32 = fcmp ueq <8 x float> undef, undef 602; SSE41-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %V16F32 = fcmp ueq <16 x float> undef, undef 603; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ueq double undef, undef 604; SSE41-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %V2F64 = fcmp ueq <2 x double> undef, undef 605; SSE41-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %V4F64 = fcmp ueq <4 x double> undef, undef 606; SSE41-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %V8F64 = fcmp ueq <8 x double> undef, undef 607; SSE41-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %V16F64 = fcmp ueq <16 x double> undef, undef 608; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 609; 610; AVX1-LABEL: 'cmp_float_ueq' 611; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ueq float undef, undef 612; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ueq <2 x float> undef, undef 613; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ueq <4 x float> undef, undef 614; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ueq <8 x float> undef, undef 615; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ueq <16 x float> undef, undef 616; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ueq double undef, undef 617; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ueq <2 x double> undef, undef 618; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ueq <4 x double> undef, undef 619; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ueq <8 x double> undef, undef 620; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ueq <16 x double> undef, undef 621; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 622; 623; AVX2-LABEL: 'cmp_float_ueq' 624; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ueq float undef, undef 625; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ueq <2 x float> undef, undef 626; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ueq <4 x float> undef, undef 627; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ueq <8 x float> undef, undef 628; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp ueq <16 x float> undef, undef 629; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ueq double undef, undef 630; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ueq <2 x double> undef, undef 631; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ueq <4 x double> undef, undef 632; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp ueq <8 x double> undef, undef 633; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp ueq <16 x double> undef, undef 634; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 635; 636; AVX512-LABEL: 'cmp_float_ueq' 637; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ueq float undef, undef 638; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ueq <2 x float> undef, undef 639; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ueq <4 x float> undef, undef 640; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ueq <8 x float> undef, undef 641; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp ueq <16 x float> undef, undef 642; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ueq double undef, undef 643; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ueq <2 x double> undef, undef 644; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ueq <4 x double> undef, undef 645; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp ueq <8 x double> undef, undef 646; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp ueq <16 x double> undef, undef 647; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 648; 649 %F32 = fcmp ueq float undef, undef 650 %V2F32 = fcmp ueq <2 x float> undef, undef 651 %V4F32 = fcmp ueq <4 x float> undef, undef 652 %V8F32 = fcmp ueq <8 x float> undef, undef 653 %V16F32 = fcmp ueq <16 x float> undef, undef 654 655 %F64 = fcmp ueq double undef, undef 656 %V2F64 = fcmp ueq <2 x double> undef, undef 657 %V4F64 = fcmp ueq <4 x double> undef, undef 658 %V8F64 = fcmp ueq <8 x double> undef, undef 659 %V16F64 = fcmp ueq <16 x double> undef, undef 660 661 ret i32 undef 662} 663 664define i32 @cmp_float_une(i32 %arg) { 665; SSE2-LABEL: 'cmp_float_une' 666; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp une float undef, undef 667; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F32 = fcmp une <2 x float> undef, undef 668; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F32 = fcmp une <4 x float> undef, undef 669; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F32 = fcmp une <8 x float> undef, undef 670; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F32 = fcmp une <16 x float> undef, undef 671; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp une double undef, undef 672; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F64 = fcmp une <2 x double> undef, undef 673; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4F64 = fcmp une <4 x double> undef, undef 674; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V8F64 = fcmp une <8 x double> undef, undef 675; SSE2-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16F64 = fcmp une <16 x double> undef, undef 676; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 677; 678; SSE41-LABEL: 'cmp_float_une' 679; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp une float undef, undef 680; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp une <2 x float> undef, undef 681; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp une <4 x float> undef, undef 682; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp une <8 x float> undef, undef 683; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp une <16 x float> undef, undef 684; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp une double undef, undef 685; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp une <2 x double> undef, undef 686; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp une <4 x double> undef, undef 687; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp une <8 x double> undef, undef 688; SSE41-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp une <16 x double> undef, undef 689; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 690; 691; AVX1-LABEL: 'cmp_float_une' 692; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp une float undef, undef 693; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp une <2 x float> undef, undef 694; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp une <4 x float> undef, undef 695; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp une <8 x float> undef, undef 696; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp une <16 x float> undef, undef 697; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp une double undef, undef 698; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp une <2 x double> undef, undef 699; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp une <4 x double> undef, undef 700; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp une <8 x double> undef, undef 701; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp une <16 x double> undef, undef 702; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 703; 704; AVX2-LABEL: 'cmp_float_une' 705; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp une float undef, undef 706; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp une <2 x float> undef, undef 707; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp une <4 x float> undef, undef 708; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp une <8 x float> undef, undef 709; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp une <16 x float> undef, undef 710; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp une double undef, undef 711; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp une <2 x double> undef, undef 712; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp une <4 x double> undef, undef 713; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp une <8 x double> undef, undef 714; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp une <16 x double> undef, undef 715; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 716; 717; AVX512-LABEL: 'cmp_float_une' 718; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp une float undef, undef 719; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp une <2 x float> undef, undef 720; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp une <4 x float> undef, undef 721; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp une <8 x float> undef, undef 722; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp une <16 x float> undef, undef 723; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp une double undef, undef 724; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp une <2 x double> undef, undef 725; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp une <4 x double> undef, undef 726; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp une <8 x double> undef, undef 727; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp une <16 x double> undef, undef 728; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 729; 730 %F32 = fcmp une float undef, undef 731 %V2F32 = fcmp une <2 x float> undef, undef 732 %V4F32 = fcmp une <4 x float> undef, undef 733 %V8F32 = fcmp une <8 x float> undef, undef 734 %V16F32 = fcmp une <16 x float> undef, undef 735 736 %F64 = fcmp une double undef, undef 737 %V2F64 = fcmp une <2 x double> undef, undef 738 %V4F64 = fcmp une <4 x double> undef, undef 739 %V8F64 = fcmp une <8 x double> undef, undef 740 %V16F64 = fcmp une <16 x double> undef, undef 741 742 ret i32 undef 743} 744 745define i32 @cmp_float_uno(i32 %arg) { 746; SSE2-LABEL: 'cmp_float_uno' 747; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uno float undef, undef 748; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F32 = fcmp uno <2 x float> undef, undef 749; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F32 = fcmp uno <4 x float> undef, undef 750; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F32 = fcmp uno <8 x float> undef, undef 751; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F32 = fcmp uno <16 x float> undef, undef 752; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uno double undef, undef 753; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F64 = fcmp uno <2 x double> undef, undef 754; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4F64 = fcmp uno <4 x double> undef, undef 755; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V8F64 = fcmp uno <8 x double> undef, undef 756; SSE2-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16F64 = fcmp uno <16 x double> undef, undef 757; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 758; 759; SSE41-LABEL: 'cmp_float_uno' 760; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uno float undef, undef 761; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp uno <2 x float> undef, undef 762; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp uno <4 x float> undef, undef 763; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp uno <8 x float> undef, undef 764; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp uno <16 x float> undef, undef 765; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uno double undef, undef 766; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp uno <2 x double> undef, undef 767; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp uno <4 x double> undef, undef 768; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp uno <8 x double> undef, undef 769; SSE41-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp uno <16 x double> undef, undef 770; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 771; 772; AVX1-LABEL: 'cmp_float_uno' 773; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uno float undef, undef 774; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp uno <2 x float> undef, undef 775; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp uno <4 x float> undef, undef 776; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp uno <8 x float> undef, undef 777; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp uno <16 x float> undef, undef 778; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uno double undef, undef 779; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp uno <2 x double> undef, undef 780; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp uno <4 x double> undef, undef 781; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp uno <8 x double> undef, undef 782; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp uno <16 x double> undef, undef 783; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 784; 785; AVX2-LABEL: 'cmp_float_uno' 786; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uno float undef, undef 787; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp uno <2 x float> undef, undef 788; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp uno <4 x float> undef, undef 789; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp uno <8 x float> undef, undef 790; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp uno <16 x float> undef, undef 791; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uno double undef, undef 792; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp uno <2 x double> undef, undef 793; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp uno <4 x double> undef, undef 794; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp uno <8 x double> undef, undef 795; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp uno <16 x double> undef, undef 796; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 797; 798; AVX512-LABEL: 'cmp_float_uno' 799; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uno float undef, undef 800; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp uno <2 x float> undef, undef 801; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp uno <4 x float> undef, undef 802; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp uno <8 x float> undef, undef 803; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp uno <16 x float> undef, undef 804; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uno double undef, undef 805; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp uno <2 x double> undef, undef 806; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp uno <4 x double> undef, undef 807; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp uno <8 x double> undef, undef 808; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp uno <16 x double> undef, undef 809; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 810; 811 %F32 = fcmp uno float undef, undef 812 %V2F32 = fcmp uno <2 x float> undef, undef 813 %V4F32 = fcmp uno <4 x float> undef, undef 814 %V8F32 = fcmp uno <8 x float> undef, undef 815 %V16F32 = fcmp uno <16 x float> undef, undef 816 817 %F64 = fcmp uno double undef, undef 818 %V2F64 = fcmp uno <2 x double> undef, undef 819 %V4F64 = fcmp uno <4 x double> undef, undef 820 %V8F64 = fcmp uno <8 x double> undef, undef 821 %V16F64 = fcmp uno <16 x double> undef, undef 822 823 ret i32 undef 824} 825 826define i32 @cmp_float_uge(i32 %arg) { 827; SSE2-LABEL: 'cmp_float_uge' 828; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uge float undef, undef 829; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F32 = fcmp uge <2 x float> undef, undef 830; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F32 = fcmp uge <4 x float> undef, undef 831; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F32 = fcmp uge <8 x float> undef, undef 832; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F32 = fcmp uge <16 x float> undef, undef 833; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uge double undef, undef 834; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F64 = fcmp uge <2 x double> undef, undef 835; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4F64 = fcmp uge <4 x double> undef, undef 836; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V8F64 = fcmp uge <8 x double> undef, undef 837; SSE2-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16F64 = fcmp uge <16 x double> undef, undef 838; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 839; 840; SSE41-LABEL: 'cmp_float_uge' 841; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uge float undef, undef 842; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp uge <2 x float> undef, undef 843; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp uge <4 x float> undef, undef 844; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp uge <8 x float> undef, undef 845; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp uge <16 x float> undef, undef 846; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uge double undef, undef 847; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp uge <2 x double> undef, undef 848; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp uge <4 x double> undef, undef 849; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp uge <8 x double> undef, undef 850; SSE41-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp uge <16 x double> undef, undef 851; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 852; 853; AVX1-LABEL: 'cmp_float_uge' 854; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uge float undef, undef 855; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp uge <2 x float> undef, undef 856; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp uge <4 x float> undef, undef 857; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp uge <8 x float> undef, undef 858; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp uge <16 x float> undef, undef 859; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uge double undef, undef 860; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp uge <2 x double> undef, undef 861; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp uge <4 x double> undef, undef 862; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp uge <8 x double> undef, undef 863; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp uge <16 x double> undef, undef 864; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 865; 866; AVX2-LABEL: 'cmp_float_uge' 867; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uge float undef, undef 868; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp uge <2 x float> undef, undef 869; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp uge <4 x float> undef, undef 870; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp uge <8 x float> undef, undef 871; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp uge <16 x float> undef, undef 872; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uge double undef, undef 873; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp uge <2 x double> undef, undef 874; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp uge <4 x double> undef, undef 875; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp uge <8 x double> undef, undef 876; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp uge <16 x double> undef, undef 877; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 878; 879; AVX512-LABEL: 'cmp_float_uge' 880; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uge float undef, undef 881; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp uge <2 x float> undef, undef 882; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp uge <4 x float> undef, undef 883; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp uge <8 x float> undef, undef 884; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp uge <16 x float> undef, undef 885; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uge double undef, undef 886; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp uge <2 x double> undef, undef 887; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp uge <4 x double> undef, undef 888; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp uge <8 x double> undef, undef 889; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp uge <16 x double> undef, undef 890; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 891; 892 %F32 = fcmp uge float undef, undef 893 %V2F32 = fcmp uge <2 x float> undef, undef 894 %V4F32 = fcmp uge <4 x float> undef, undef 895 %V8F32 = fcmp uge <8 x float> undef, undef 896 %V16F32 = fcmp uge <16 x float> undef, undef 897 898 %F64 = fcmp uge double undef, undef 899 %V2F64 = fcmp uge <2 x double> undef, undef 900 %V4F64 = fcmp uge <4 x double> undef, undef 901 %V8F64 = fcmp uge <8 x double> undef, undef 902 %V16F64 = fcmp uge <16 x double> undef, undef 903 904 ret i32 undef 905} 906 907define i32 @cmp_float_ugt(i32 %arg) { 908; SSE2-LABEL: 'cmp_float_ugt' 909; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ugt float undef, undef 910; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F32 = fcmp ugt <2 x float> undef, undef 911; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F32 = fcmp ugt <4 x float> undef, undef 912; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F32 = fcmp ugt <8 x float> undef, undef 913; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F32 = fcmp ugt <16 x float> undef, undef 914; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ugt double undef, undef 915; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F64 = fcmp ugt <2 x double> undef, undef 916; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4F64 = fcmp ugt <4 x double> undef, undef 917; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V8F64 = fcmp ugt <8 x double> undef, undef 918; SSE2-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16F64 = fcmp ugt <16 x double> undef, undef 919; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 920; 921; SSE41-LABEL: 'cmp_float_ugt' 922; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ugt float undef, undef 923; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ugt <2 x float> undef, undef 924; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ugt <4 x float> undef, undef 925; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ugt <8 x float> undef, undef 926; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ugt <16 x float> undef, undef 927; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ugt double undef, undef 928; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ugt <2 x double> undef, undef 929; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ugt <4 x double> undef, undef 930; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ugt <8 x double> undef, undef 931; SSE41-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ugt <16 x double> undef, undef 932; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 933; 934; AVX1-LABEL: 'cmp_float_ugt' 935; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ugt float undef, undef 936; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ugt <2 x float> undef, undef 937; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ugt <4 x float> undef, undef 938; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ugt <8 x float> undef, undef 939; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ugt <16 x float> undef, undef 940; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ugt double undef, undef 941; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ugt <2 x double> undef, undef 942; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ugt <4 x double> undef, undef 943; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ugt <8 x double> undef, undef 944; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ugt <16 x double> undef, undef 945; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 946; 947; AVX2-LABEL: 'cmp_float_ugt' 948; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ugt float undef, undef 949; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ugt <2 x float> undef, undef 950; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ugt <4 x float> undef, undef 951; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ugt <8 x float> undef, undef 952; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp ugt <16 x float> undef, undef 953; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ugt double undef, undef 954; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ugt <2 x double> undef, undef 955; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ugt <4 x double> undef, undef 956; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp ugt <8 x double> undef, undef 957; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp ugt <16 x double> undef, undef 958; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 959; 960; AVX512-LABEL: 'cmp_float_ugt' 961; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ugt float undef, undef 962; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ugt <2 x float> undef, undef 963; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ugt <4 x float> undef, undef 964; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ugt <8 x float> undef, undef 965; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp ugt <16 x float> undef, undef 966; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ugt double undef, undef 967; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ugt <2 x double> undef, undef 968; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ugt <4 x double> undef, undef 969; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp ugt <8 x double> undef, undef 970; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp ugt <16 x double> undef, undef 971; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 972; 973 %F32 = fcmp ugt float undef, undef 974 %V2F32 = fcmp ugt <2 x float> undef, undef 975 %V4F32 = fcmp ugt <4 x float> undef, undef 976 %V8F32 = fcmp ugt <8 x float> undef, undef 977 %V16F32 = fcmp ugt <16 x float> undef, undef 978 979 %F64 = fcmp ugt double undef, undef 980 %V2F64 = fcmp ugt <2 x double> undef, undef 981 %V4F64 = fcmp ugt <4 x double> undef, undef 982 %V8F64 = fcmp ugt <8 x double> undef, undef 983 %V16F64 = fcmp ugt <16 x double> undef, undef 984 985 ret i32 undef 986} 987 988define i32 @cmp_float_ule(i32 %arg) { 989; SSE2-LABEL: 'cmp_float_ule' 990; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ule float undef, undef 991; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F32 = fcmp ule <2 x float> undef, undef 992; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F32 = fcmp ule <4 x float> undef, undef 993; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F32 = fcmp ule <8 x float> undef, undef 994; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F32 = fcmp ule <16 x float> undef, undef 995; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ule double undef, undef 996; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F64 = fcmp ule <2 x double> undef, undef 997; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4F64 = fcmp ule <4 x double> undef, undef 998; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V8F64 = fcmp ule <8 x double> undef, undef 999; SSE2-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16F64 = fcmp ule <16 x double> undef, undef 1000; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1001; 1002; SSE41-LABEL: 'cmp_float_ule' 1003; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ule float undef, undef 1004; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ule <2 x float> undef, undef 1005; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ule <4 x float> undef, undef 1006; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ule <8 x float> undef, undef 1007; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ule <16 x float> undef, undef 1008; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ule double undef, undef 1009; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ule <2 x double> undef, undef 1010; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ule <4 x double> undef, undef 1011; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ule <8 x double> undef, undef 1012; SSE41-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ule <16 x double> undef, undef 1013; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1014; 1015; AVX1-LABEL: 'cmp_float_ule' 1016; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ule float undef, undef 1017; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ule <2 x float> undef, undef 1018; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ule <4 x float> undef, undef 1019; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ule <8 x float> undef, undef 1020; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ule <16 x float> undef, undef 1021; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ule double undef, undef 1022; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ule <2 x double> undef, undef 1023; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ule <4 x double> undef, undef 1024; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ule <8 x double> undef, undef 1025; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ule <16 x double> undef, undef 1026; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1027; 1028; AVX2-LABEL: 'cmp_float_ule' 1029; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ule float undef, undef 1030; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ule <2 x float> undef, undef 1031; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ule <4 x float> undef, undef 1032; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ule <8 x float> undef, undef 1033; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp ule <16 x float> undef, undef 1034; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ule double undef, undef 1035; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ule <2 x double> undef, undef 1036; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ule <4 x double> undef, undef 1037; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp ule <8 x double> undef, undef 1038; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp ule <16 x double> undef, undef 1039; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1040; 1041; AVX512-LABEL: 'cmp_float_ule' 1042; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ule float undef, undef 1043; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ule <2 x float> undef, undef 1044; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ule <4 x float> undef, undef 1045; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ule <8 x float> undef, undef 1046; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp ule <16 x float> undef, undef 1047; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ule double undef, undef 1048; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ule <2 x double> undef, undef 1049; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ule <4 x double> undef, undef 1050; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp ule <8 x double> undef, undef 1051; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp ule <16 x double> undef, undef 1052; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1053; 1054 %F32 = fcmp ule float undef, undef 1055 %V2F32 = fcmp ule <2 x float> undef, undef 1056 %V4F32 = fcmp ule <4 x float> undef, undef 1057 %V8F32 = fcmp ule <8 x float> undef, undef 1058 %V16F32 = fcmp ule <16 x float> undef, undef 1059 1060 %F64 = fcmp ule double undef, undef 1061 %V2F64 = fcmp ule <2 x double> undef, undef 1062 %V4F64 = fcmp ule <4 x double> undef, undef 1063 %V8F64 = fcmp ule <8 x double> undef, undef 1064 %V16F64 = fcmp ule <16 x double> undef, undef 1065 1066 ret i32 undef 1067} 1068 1069define i32 @cmp_float_ult(i32 %arg) { 1070; SSE2-LABEL: 'cmp_float_ult' 1071; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ult float undef, undef 1072; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F32 = fcmp ult <2 x float> undef, undef 1073; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F32 = fcmp ult <4 x float> undef, undef 1074; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F32 = fcmp ult <8 x float> undef, undef 1075; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F32 = fcmp ult <16 x float> undef, undef 1076; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ult double undef, undef 1077; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F64 = fcmp ult <2 x double> undef, undef 1078; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4F64 = fcmp ult <4 x double> undef, undef 1079; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V8F64 = fcmp ult <8 x double> undef, undef 1080; SSE2-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16F64 = fcmp ult <16 x double> undef, undef 1081; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1082; 1083; SSE41-LABEL: 'cmp_float_ult' 1084; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ult float undef, undef 1085; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ult <2 x float> undef, undef 1086; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ult <4 x float> undef, undef 1087; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ult <8 x float> undef, undef 1088; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ult <16 x float> undef, undef 1089; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ult double undef, undef 1090; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ult <2 x double> undef, undef 1091; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ult <4 x double> undef, undef 1092; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ult <8 x double> undef, undef 1093; SSE41-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ult <16 x double> undef, undef 1094; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1095; 1096; AVX1-LABEL: 'cmp_float_ult' 1097; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ult float undef, undef 1098; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ult <2 x float> undef, undef 1099; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ult <4 x float> undef, undef 1100; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ult <8 x float> undef, undef 1101; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ult <16 x float> undef, undef 1102; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ult double undef, undef 1103; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ult <2 x double> undef, undef 1104; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ult <4 x double> undef, undef 1105; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ult <8 x double> undef, undef 1106; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ult <16 x double> undef, undef 1107; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1108; 1109; AVX2-LABEL: 'cmp_float_ult' 1110; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ult float undef, undef 1111; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ult <2 x float> undef, undef 1112; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ult <4 x float> undef, undef 1113; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ult <8 x float> undef, undef 1114; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp ult <16 x float> undef, undef 1115; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ult double undef, undef 1116; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ult <2 x double> undef, undef 1117; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ult <4 x double> undef, undef 1118; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp ult <8 x double> undef, undef 1119; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp ult <16 x double> undef, undef 1120; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1121; 1122; AVX512-LABEL: 'cmp_float_ult' 1123; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ult float undef, undef 1124; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ult <2 x float> undef, undef 1125; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ult <4 x float> undef, undef 1126; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ult <8 x float> undef, undef 1127; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp ult <16 x float> undef, undef 1128; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ult double undef, undef 1129; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ult <2 x double> undef, undef 1130; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ult <4 x double> undef, undef 1131; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp ult <8 x double> undef, undef 1132; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp ult <16 x double> undef, undef 1133; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1134; 1135 %F32 = fcmp ult float undef, undef 1136 %V2F32 = fcmp ult <2 x float> undef, undef 1137 %V4F32 = fcmp ult <4 x float> undef, undef 1138 %V8F32 = fcmp ult <8 x float> undef, undef 1139 %V16F32 = fcmp ult <16 x float> undef, undef 1140 1141 %F64 = fcmp ult double undef, undef 1142 %V2F64 = fcmp ult <2 x double> undef, undef 1143 %V4F64 = fcmp ult <4 x double> undef, undef 1144 %V8F64 = fcmp ult <8 x double> undef, undef 1145 %V16F64 = fcmp ult <16 x double> undef, undef 1146 1147 ret i32 undef 1148} 1149 1150define i32 @cmp_float_false(i32 %arg) { 1151; SSE2-LABEL: 'cmp_float_false' 1152; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp false float undef, undef 1153; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F32 = fcmp false <2 x float> undef, undef 1154; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F32 = fcmp false <4 x float> undef, undef 1155; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F32 = fcmp false <8 x float> undef, undef 1156; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F32 = fcmp false <16 x float> undef, undef 1157; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp false double undef, undef 1158; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F64 = fcmp false <2 x double> undef, undef 1159; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4F64 = fcmp false <4 x double> undef, undef 1160; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V8F64 = fcmp false <8 x double> undef, undef 1161; SSE2-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16F64 = fcmp false <16 x double> undef, undef 1162; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1163; 1164; SSE41-LABEL: 'cmp_float_false' 1165; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp false float undef, undef 1166; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp false <2 x float> undef, undef 1167; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp false <4 x float> undef, undef 1168; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp false <8 x float> undef, undef 1169; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp false <16 x float> undef, undef 1170; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp false double undef, undef 1171; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp false <2 x double> undef, undef 1172; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp false <4 x double> undef, undef 1173; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp false <8 x double> undef, undef 1174; SSE41-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp false <16 x double> undef, undef 1175; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1176; 1177; AVX1-LABEL: 'cmp_float_false' 1178; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp false float undef, undef 1179; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp false <2 x float> undef, undef 1180; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp false <4 x float> undef, undef 1181; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp false <8 x float> undef, undef 1182; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp false <16 x float> undef, undef 1183; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp false double undef, undef 1184; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp false <2 x double> undef, undef 1185; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp false <4 x double> undef, undef 1186; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp false <8 x double> undef, undef 1187; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp false <16 x double> undef, undef 1188; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1189; 1190; AVX2-LABEL: 'cmp_float_false' 1191; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp false float undef, undef 1192; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp false <2 x float> undef, undef 1193; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp false <4 x float> undef, undef 1194; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp false <8 x float> undef, undef 1195; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp false <16 x float> undef, undef 1196; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp false double undef, undef 1197; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp false <2 x double> undef, undef 1198; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp false <4 x double> undef, undef 1199; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp false <8 x double> undef, undef 1200; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp false <16 x double> undef, undef 1201; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1202; 1203; AVX512-LABEL: 'cmp_float_false' 1204; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp false float undef, undef 1205; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp false <2 x float> undef, undef 1206; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp false <4 x float> undef, undef 1207; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp false <8 x float> undef, undef 1208; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp false <16 x float> undef, undef 1209; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp false double undef, undef 1210; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp false <2 x double> undef, undef 1211; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp false <4 x double> undef, undef 1212; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp false <8 x double> undef, undef 1213; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp false <16 x double> undef, undef 1214; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1215; 1216 %F32 = fcmp false float undef, undef 1217 %V2F32 = fcmp false <2 x float> undef, undef 1218 %V4F32 = fcmp false <4 x float> undef, undef 1219 %V8F32 = fcmp false <8 x float> undef, undef 1220 %V16F32 = fcmp false <16 x float> undef, undef 1221 1222 %F64 = fcmp false double undef, undef 1223 %V2F64 = fcmp false <2 x double> undef, undef 1224 %V4F64 = fcmp false <4 x double> undef, undef 1225 %V8F64 = fcmp false <8 x double> undef, undef 1226 %V16F64 = fcmp false <16 x double> undef, undef 1227 1228 ret i32 undef 1229} 1230 1231define i32 @cmp_float_true(i32 %arg) { 1232; SSE2-LABEL: 'cmp_float_true' 1233; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp true float undef, undef 1234; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F32 = fcmp true <2 x float> undef, undef 1235; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F32 = fcmp true <4 x float> undef, undef 1236; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F32 = fcmp true <8 x float> undef, undef 1237; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F32 = fcmp true <16 x float> undef, undef 1238; SSE2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp true double undef, undef 1239; SSE2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V2F64 = fcmp true <2 x double> undef, undef 1240; SSE2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4F64 = fcmp true <4 x double> undef, undef 1241; SSE2-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V8F64 = fcmp true <8 x double> undef, undef 1242; SSE2-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16F64 = fcmp true <16 x double> undef, undef 1243; SSE2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1244; 1245; SSE41-LABEL: 'cmp_float_true' 1246; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp true float undef, undef 1247; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp true <2 x float> undef, undef 1248; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp true <4 x float> undef, undef 1249; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp true <8 x float> undef, undef 1250; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp true <16 x float> undef, undef 1251; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp true double undef, undef 1252; SSE41-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp true <2 x double> undef, undef 1253; SSE41-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp true <4 x double> undef, undef 1254; SSE41-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp true <8 x double> undef, undef 1255; SSE41-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp true <16 x double> undef, undef 1256; SSE41-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1257; 1258; AVX1-LABEL: 'cmp_float_true' 1259; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp true float undef, undef 1260; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp true <2 x float> undef, undef 1261; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp true <4 x float> undef, undef 1262; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp true <8 x float> undef, undef 1263; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp true <16 x float> undef, undef 1264; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp true double undef, undef 1265; AVX1-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp true <2 x double> undef, undef 1266; AVX1-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp true <4 x double> undef, undef 1267; AVX1-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp true <8 x double> undef, undef 1268; AVX1-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp true <16 x double> undef, undef 1269; AVX1-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1270; 1271; AVX2-LABEL: 'cmp_float_true' 1272; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp true float undef, undef 1273; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp true <2 x float> undef, undef 1274; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp true <4 x float> undef, undef 1275; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp true <8 x float> undef, undef 1276; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp true <16 x float> undef, undef 1277; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp true double undef, undef 1278; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp true <2 x double> undef, undef 1279; AVX2-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp true <4 x double> undef, undef 1280; AVX2-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp true <8 x double> undef, undef 1281; AVX2-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp true <16 x double> undef, undef 1282; AVX2-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1283; 1284; AVX512-LABEL: 'cmp_float_true' 1285; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp true float undef, undef 1286; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp true <2 x float> undef, undef 1287; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp true <4 x float> undef, undef 1288; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp true <8 x float> undef, undef 1289; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp true <16 x float> undef, undef 1290; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp true double undef, undef 1291; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp true <2 x double> undef, undef 1292; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp true <4 x double> undef, undef 1293; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp true <8 x double> undef, undef 1294; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp true <16 x double> undef, undef 1295; AVX512-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1296; 1297 %F32 = fcmp true float undef, undef 1298 %V2F32 = fcmp true <2 x float> undef, undef 1299 %V4F32 = fcmp true <4 x float> undef, undef 1300 %V8F32 = fcmp true <8 x float> undef, undef 1301 %V16F32 = fcmp true <16 x float> undef, undef 1302 1303 %F64 = fcmp true double undef, undef 1304 %V2F64 = fcmp true <2 x double> undef, undef 1305 %V4F64 = fcmp true <4 x double> undef, undef 1306 %V8F64 = fcmp true <8 x double> undef, undef 1307 %V16F64 = fcmp true <16 x double> undef, undef 1308 1309 ret i32 undef 1310} 1311