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 -cost-kind=code-size -mattr=+sse2 | FileCheck %s --check-prefixes=SSE 3; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=code-size -mattr=+sse3 | FileCheck %s --check-prefixes=SSE 4; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=code-size -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE 5; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=code-size -mattr=+sse4.1 | FileCheck %s --check-prefixes=SSE 6; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=code-size -mattr=+sse4.2 | FileCheck %s --check-prefixes=SSE 7; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=code-size -mattr=+avx | FileCheck %s --check-prefixes=AVX 8; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=code-size -mattr=+avx2 | FileCheck %s --check-prefixes=AVX 9; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=code-size -mattr=+avx512f | FileCheck %s --check-prefixes=AVX512 10; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=code-size -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefixes=AVX512 11; 12; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=code-size -mcpu=slm | FileCheck %s --check-prefixes=SSE 13; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=code-size -mcpu=goldmont | FileCheck %s --check-prefixes=SSE 14; RUN: opt < %s -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=code-size -mcpu=btver2 | FileCheck %s --check-prefixes=AVX 15 16define i32 @cmp_float_oeq(i32 %arg) { 17; SSE-LABEL: 'cmp_float_oeq' 18; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oeq float undef, undef 19; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp oeq <2 x float> undef, undef 20; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp oeq <4 x float> undef, undef 21; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp oeq <8 x float> undef, undef 22; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp oeq <16 x float> undef, undef 23; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oeq double undef, undef 24; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp oeq <2 x double> undef, undef 25; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp oeq <4 x double> undef, undef 26; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp oeq <8 x double> undef, undef 27; SSE-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp oeq <16 x double> undef, undef 28; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 29; 30; AVX-LABEL: 'cmp_float_oeq' 31; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oeq float undef, undef 32; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp oeq <2 x float> undef, undef 33; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp oeq <4 x float> undef, undef 34; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp oeq <8 x float> undef, undef 35; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp oeq <16 x float> undef, undef 36; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oeq double undef, undef 37; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp oeq <2 x double> undef, undef 38; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp oeq <4 x double> undef, undef 39; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp oeq <8 x double> undef, undef 40; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp oeq <16 x double> undef, undef 41; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 42; 43; AVX512-LABEL: 'cmp_float_oeq' 44; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oeq float undef, undef 45; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp oeq <2 x float> undef, undef 46; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp oeq <4 x float> undef, undef 47; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp oeq <8 x float> undef, undef 48; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp oeq <16 x float> undef, undef 49; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oeq double undef, undef 50; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp oeq <2 x double> undef, undef 51; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp oeq <4 x double> undef, undef 52; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp oeq <8 x double> undef, undef 53; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp oeq <16 x double> undef, undef 54; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 55; 56 %F32 = fcmp oeq float undef, undef 57 %V2F32 = fcmp oeq <2 x float> undef, undef 58 %V4F32 = fcmp oeq <4 x float> undef, undef 59 %V8F32 = fcmp oeq <8 x float> undef, undef 60 %V16F32 = fcmp oeq <16 x float> undef, undef 61 62 %F64 = fcmp oeq double undef, undef 63 %V2F64 = fcmp oeq <2 x double> undef, undef 64 %V4F64 = fcmp oeq <4 x double> undef, undef 65 %V8F64 = fcmp oeq <8 x double> undef, undef 66 %V16F64 = fcmp oeq <16 x double> undef, undef 67 68 ret i32 undef 69} 70 71define i32 @cmp_float_one(i32 %arg) { 72; SSE-LABEL: 'cmp_float_one' 73; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp one float undef, undef 74; SSE-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %V2F32 = fcmp one <2 x float> undef, undef 75; SSE-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %V4F32 = fcmp one <4 x float> undef, undef 76; SSE-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %V8F32 = fcmp one <8 x float> undef, undef 77; SSE-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %V16F32 = fcmp one <16 x float> undef, undef 78; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp one double undef, undef 79; SSE-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %V2F64 = fcmp one <2 x double> undef, undef 80; SSE-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %V4F64 = fcmp one <4 x double> undef, undef 81; SSE-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %V8F64 = fcmp one <8 x double> undef, undef 82; SSE-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %V16F64 = fcmp one <16 x double> undef, undef 83; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 84; 85; AVX-LABEL: 'cmp_float_one' 86; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp one float undef, undef 87; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp one <2 x float> undef, undef 88; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp one <4 x float> undef, undef 89; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp one <8 x float> undef, undef 90; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp one <16 x float> undef, undef 91; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp one double undef, undef 92; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp one <2 x double> undef, undef 93; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp one <4 x double> undef, undef 94; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp one <8 x double> undef, undef 95; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp one <16 x double> undef, undef 96; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 97; 98; AVX512-LABEL: 'cmp_float_one' 99; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp one float undef, undef 100; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp one <2 x float> undef, undef 101; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp one <4 x float> undef, undef 102; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp one <8 x float> undef, undef 103; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp one <16 x float> undef, undef 104; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp one double undef, undef 105; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp one <2 x double> undef, undef 106; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp one <4 x double> undef, undef 107; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp one <8 x double> undef, undef 108; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp one <16 x double> undef, undef 109; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 110; 111 %F32 = fcmp one float undef, undef 112 %V2F32 = fcmp one <2 x float> undef, undef 113 %V4F32 = fcmp one <4 x float> undef, undef 114 %V8F32 = fcmp one <8 x float> undef, undef 115 %V16F32 = fcmp one <16 x float> undef, undef 116 117 %F64 = fcmp one double undef, undef 118 %V2F64 = fcmp one <2 x double> undef, undef 119 %V4F64 = fcmp one <4 x double> undef, undef 120 %V8F64 = fcmp one <8 x double> undef, undef 121 %V16F64 = fcmp one <16 x double> undef, undef 122 123 ret i32 undef 124} 125 126define i32 @cmp_float_ord(i32 %arg) { 127; SSE-LABEL: 'cmp_float_ord' 128; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ord float undef, undef 129; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ord <2 x float> undef, undef 130; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ord <4 x float> undef, undef 131; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ord <8 x float> undef, undef 132; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ord <16 x float> undef, undef 133; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ord double undef, undef 134; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ord <2 x double> undef, undef 135; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ord <4 x double> undef, undef 136; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ord <8 x double> undef, undef 137; SSE-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ord <16 x double> undef, undef 138; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 139; 140; AVX-LABEL: 'cmp_float_ord' 141; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ord float undef, undef 142; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ord <2 x float> undef, undef 143; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ord <4 x float> undef, undef 144; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ord <8 x float> undef, undef 145; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp ord <16 x float> undef, undef 146; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ord double undef, undef 147; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ord <2 x double> undef, undef 148; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ord <4 x double> undef, undef 149; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp ord <8 x double> undef, undef 150; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp ord <16 x double> undef, undef 151; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 152; 153; AVX512-LABEL: 'cmp_float_ord' 154; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ord float undef, undef 155; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ord <2 x float> undef, undef 156; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ord <4 x float> undef, undef 157; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ord <8 x float> undef, undef 158; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp ord <16 x float> undef, undef 159; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ord double undef, undef 160; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ord <2 x double> undef, undef 161; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ord <4 x double> undef, undef 162; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp ord <8 x double> undef, undef 163; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp ord <16 x double> undef, undef 164; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 165; 166 %F32 = fcmp ord float undef, undef 167 %V2F32 = fcmp ord <2 x float> undef, undef 168 %V4F32 = fcmp ord <4 x float> undef, undef 169 %V8F32 = fcmp ord <8 x float> undef, undef 170 %V16F32 = fcmp ord <16 x float> undef, undef 171 172 %F64 = fcmp ord double undef, undef 173 %V2F64 = fcmp ord <2 x double> undef, undef 174 %V4F64 = fcmp ord <4 x double> undef, undef 175 %V8F64 = fcmp ord <8 x double> undef, undef 176 %V16F64 = fcmp ord <16 x double> undef, undef 177 178 ret i32 undef 179} 180 181define i32 @cmp_float_oge(i32 %arg) { 182; SSE-LABEL: 'cmp_float_oge' 183; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oge float undef, undef 184; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp oge <2 x float> undef, undef 185; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp oge <4 x float> undef, undef 186; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp oge <8 x float> undef, undef 187; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp oge <16 x float> undef, undef 188; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oge double undef, undef 189; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp oge <2 x double> undef, undef 190; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp oge <4 x double> undef, undef 191; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp oge <8 x double> undef, undef 192; SSE-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp oge <16 x double> undef, undef 193; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 194; 195; AVX-LABEL: 'cmp_float_oge' 196; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oge float undef, undef 197; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp oge <2 x float> undef, undef 198; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp oge <4 x float> undef, undef 199; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp oge <8 x float> undef, undef 200; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp oge <16 x float> undef, undef 201; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oge double undef, undef 202; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp oge <2 x double> undef, undef 203; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp oge <4 x double> undef, undef 204; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp oge <8 x double> undef, undef 205; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp oge <16 x double> undef, undef 206; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 207; 208; AVX512-LABEL: 'cmp_float_oge' 209; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp oge float undef, undef 210; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp oge <2 x float> undef, undef 211; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp oge <4 x float> undef, undef 212; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp oge <8 x float> undef, undef 213; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp oge <16 x float> undef, undef 214; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp oge double undef, undef 215; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp oge <2 x double> undef, undef 216; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp oge <4 x double> undef, undef 217; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp oge <8 x double> undef, undef 218; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp oge <16 x double> undef, undef 219; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 220; 221 %F32 = fcmp oge float undef, undef 222 %V2F32 = fcmp oge <2 x float> undef, undef 223 %V4F32 = fcmp oge <4 x float> undef, undef 224 %V8F32 = fcmp oge <8 x float> undef, undef 225 %V16F32 = fcmp oge <16 x float> undef, undef 226 227 %F64 = fcmp oge double undef, undef 228 %V2F64 = fcmp oge <2 x double> undef, undef 229 %V4F64 = fcmp oge <4 x double> undef, undef 230 %V8F64 = fcmp oge <8 x double> undef, undef 231 %V16F64 = fcmp oge <16 x double> undef, undef 232 233 ret i32 undef 234} 235 236define i32 @cmp_float_ogt(i32 %arg) { 237; SSE-LABEL: 'cmp_float_ogt' 238; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ogt float undef, undef 239; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ogt <2 x float> undef, undef 240; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ogt <4 x float> undef, undef 241; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ogt <8 x float> undef, undef 242; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ogt <16 x float> undef, undef 243; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ogt double undef, undef 244; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ogt <2 x double> undef, undef 245; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ogt <4 x double> undef, undef 246; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ogt <8 x double> undef, undef 247; SSE-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ogt <16 x double> undef, undef 248; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 249; 250; AVX-LABEL: 'cmp_float_ogt' 251; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ogt float undef, undef 252; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ogt <2 x float> undef, undef 253; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ogt <4 x float> undef, undef 254; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ogt <8 x float> undef, undef 255; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp ogt <16 x float> undef, undef 256; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ogt double undef, undef 257; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ogt <2 x double> undef, undef 258; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ogt <4 x double> undef, undef 259; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp ogt <8 x double> undef, undef 260; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp ogt <16 x double> undef, undef 261; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 262; 263; AVX512-LABEL: 'cmp_float_ogt' 264; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ogt float undef, undef 265; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ogt <2 x float> undef, undef 266; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ogt <4 x float> undef, undef 267; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ogt <8 x float> undef, undef 268; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp ogt <16 x float> undef, undef 269; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ogt double undef, undef 270; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ogt <2 x double> undef, undef 271; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ogt <4 x double> undef, undef 272; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp ogt <8 x double> undef, undef 273; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp ogt <16 x double> undef, undef 274; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 275; 276 %F32 = fcmp ogt float undef, undef 277 %V2F32 = fcmp ogt <2 x float> undef, undef 278 %V4F32 = fcmp ogt <4 x float> undef, undef 279 %V8F32 = fcmp ogt <8 x float> undef, undef 280 %V16F32 = fcmp ogt <16 x float> undef, undef 281 282 %F64 = fcmp ogt double undef, undef 283 %V2F64 = fcmp ogt <2 x double> undef, undef 284 %V4F64 = fcmp ogt <4 x double> undef, undef 285 %V8F64 = fcmp ogt <8 x double> undef, undef 286 %V16F64 = fcmp ogt <16 x double> undef, undef 287 288 ret i32 undef 289} 290 291define i32 @cmp_float_ole(i32 %arg) { 292; SSE-LABEL: 'cmp_float_ole' 293; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ole float undef, undef 294; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ole <2 x float> undef, undef 295; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ole <4 x float> undef, undef 296; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ole <8 x float> undef, undef 297; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ole <16 x float> undef, undef 298; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ole double undef, undef 299; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ole <2 x double> undef, undef 300; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ole <4 x double> undef, undef 301; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ole <8 x double> undef, undef 302; SSE-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ole <16 x double> undef, undef 303; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 304; 305; AVX-LABEL: 'cmp_float_ole' 306; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ole float undef, undef 307; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ole <2 x float> undef, undef 308; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ole <4 x float> undef, undef 309; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ole <8 x float> undef, undef 310; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp ole <16 x float> undef, undef 311; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ole double undef, undef 312; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ole <2 x double> undef, undef 313; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ole <4 x double> undef, undef 314; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp ole <8 x double> undef, undef 315; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp ole <16 x double> undef, undef 316; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 317; 318; AVX512-LABEL: 'cmp_float_ole' 319; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ole float undef, undef 320; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ole <2 x float> undef, undef 321; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ole <4 x float> undef, undef 322; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ole <8 x float> undef, undef 323; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp ole <16 x float> undef, undef 324; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ole double undef, undef 325; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ole <2 x double> undef, undef 326; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ole <4 x double> undef, undef 327; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp ole <8 x double> undef, undef 328; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp ole <16 x double> undef, undef 329; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 330; 331 %F32 = fcmp ole float undef, undef 332 %V2F32 = fcmp ole <2 x float> undef, undef 333 %V4F32 = fcmp ole <4 x float> undef, undef 334 %V8F32 = fcmp ole <8 x float> undef, undef 335 %V16F32 = fcmp ole <16 x float> undef, undef 336 337 %F64 = fcmp ole double undef, undef 338 %V2F64 = fcmp ole <2 x double> undef, undef 339 %V4F64 = fcmp ole <4 x double> undef, undef 340 %V8F64 = fcmp ole <8 x double> undef, undef 341 %V16F64 = fcmp ole <16 x double> undef, undef 342 343 ret i32 undef 344} 345 346define i32 @cmp_float_olt(i32 %arg) { 347; SSE-LABEL: 'cmp_float_olt' 348; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp olt float undef, undef 349; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp olt <2 x float> undef, undef 350; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp olt <4 x float> undef, undef 351; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp olt <8 x float> undef, undef 352; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp olt <16 x float> undef, undef 353; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp olt double undef, undef 354; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp olt <2 x double> undef, undef 355; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp olt <4 x double> undef, undef 356; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp olt <8 x double> undef, undef 357; SSE-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp olt <16 x double> undef, undef 358; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 359; 360; AVX-LABEL: 'cmp_float_olt' 361; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp olt float undef, undef 362; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp olt <2 x float> undef, undef 363; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp olt <4 x float> undef, undef 364; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp olt <8 x float> undef, undef 365; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp olt <16 x float> undef, undef 366; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp olt double undef, undef 367; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp olt <2 x double> undef, undef 368; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp olt <4 x double> undef, undef 369; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp olt <8 x double> undef, undef 370; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp olt <16 x double> undef, undef 371; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 372; 373; AVX512-LABEL: 'cmp_float_olt' 374; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp olt float undef, undef 375; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp olt <2 x float> undef, undef 376; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp olt <4 x float> undef, undef 377; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp olt <8 x float> undef, undef 378; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp olt <16 x float> undef, undef 379; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp olt double undef, undef 380; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp olt <2 x double> undef, undef 381; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp olt <4 x double> undef, undef 382; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp olt <8 x double> undef, undef 383; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp olt <16 x double> undef, undef 384; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 385; 386 %F32 = fcmp olt float undef, undef 387 %V2F32 = fcmp olt <2 x float> undef, undef 388 %V4F32 = fcmp olt <4 x float> undef, undef 389 %V8F32 = fcmp olt <8 x float> undef, undef 390 %V16F32 = fcmp olt <16 x float> undef, undef 391 392 %F64 = fcmp olt double undef, undef 393 %V2F64 = fcmp olt <2 x double> undef, undef 394 %V4F64 = fcmp olt <4 x double> undef, undef 395 %V8F64 = fcmp olt <8 x double> undef, undef 396 %V16F64 = fcmp olt <16 x double> undef, undef 397 398 ret i32 undef 399} 400 401define i32 @cmp_float_ueq(i32 %arg) { 402; SSE-LABEL: 'cmp_float_ueq' 403; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ueq float undef, undef 404; SSE-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %V2F32 = fcmp ueq <2 x float> undef, undef 405; SSE-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %V4F32 = fcmp ueq <4 x float> undef, undef 406; SSE-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %V8F32 = fcmp ueq <8 x float> undef, undef 407; SSE-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %V16F32 = fcmp ueq <16 x float> undef, undef 408; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ueq double undef, undef 409; SSE-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %V2F64 = fcmp ueq <2 x double> undef, undef 410; SSE-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %V4F64 = fcmp ueq <4 x double> undef, undef 411; SSE-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %V8F64 = fcmp ueq <8 x double> undef, undef 412; SSE-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %V16F64 = fcmp ueq <16 x double> undef, undef 413; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 414; 415; AVX-LABEL: 'cmp_float_ueq' 416; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ueq float undef, undef 417; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ueq <2 x float> undef, undef 418; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ueq <4 x float> undef, undef 419; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ueq <8 x float> undef, undef 420; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp ueq <16 x float> undef, undef 421; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ueq double undef, undef 422; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ueq <2 x double> undef, undef 423; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ueq <4 x double> undef, undef 424; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp ueq <8 x double> undef, undef 425; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp ueq <16 x double> undef, undef 426; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 427; 428; AVX512-LABEL: 'cmp_float_ueq' 429; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ueq float undef, undef 430; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ueq <2 x float> undef, undef 431; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ueq <4 x float> undef, undef 432; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ueq <8 x float> undef, undef 433; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp ueq <16 x float> undef, undef 434; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ueq double undef, undef 435; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ueq <2 x double> undef, undef 436; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ueq <4 x double> undef, undef 437; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp ueq <8 x double> undef, undef 438; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp ueq <16 x double> undef, undef 439; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 440; 441 %F32 = fcmp ueq float undef, undef 442 %V2F32 = fcmp ueq <2 x float> undef, undef 443 %V4F32 = fcmp ueq <4 x float> undef, undef 444 %V8F32 = fcmp ueq <8 x float> undef, undef 445 %V16F32 = fcmp ueq <16 x float> undef, undef 446 447 %F64 = fcmp ueq double undef, undef 448 %V2F64 = fcmp ueq <2 x double> undef, undef 449 %V4F64 = fcmp ueq <4 x double> undef, undef 450 %V8F64 = fcmp ueq <8 x double> undef, undef 451 %V16F64 = fcmp ueq <16 x double> undef, undef 452 453 ret i32 undef 454} 455 456define i32 @cmp_float_une(i32 %arg) { 457; SSE-LABEL: 'cmp_float_une' 458; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp une float undef, undef 459; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp une <2 x float> undef, undef 460; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp une <4 x float> undef, undef 461; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp une <8 x float> undef, undef 462; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp une <16 x float> undef, undef 463; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp une double undef, undef 464; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp une <2 x double> undef, undef 465; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp une <4 x double> undef, undef 466; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp une <8 x double> undef, undef 467; SSE-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp une <16 x double> undef, undef 468; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 469; 470; AVX-LABEL: 'cmp_float_une' 471; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp une float undef, undef 472; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp une <2 x float> undef, undef 473; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp une <4 x float> undef, undef 474; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp une <8 x float> undef, undef 475; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp une <16 x float> undef, undef 476; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp une double undef, undef 477; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp une <2 x double> undef, undef 478; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp une <4 x double> undef, undef 479; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp une <8 x double> undef, undef 480; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp une <16 x double> undef, undef 481; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 482; 483; AVX512-LABEL: 'cmp_float_une' 484; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp une float undef, undef 485; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp une <2 x float> undef, undef 486; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp une <4 x float> undef, undef 487; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp une <8 x float> undef, undef 488; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp une <16 x float> undef, undef 489; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp une double undef, undef 490; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp une <2 x double> undef, undef 491; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp une <4 x double> undef, undef 492; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp une <8 x double> undef, undef 493; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp une <16 x double> undef, undef 494; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 495; 496 %F32 = fcmp une float undef, undef 497 %V2F32 = fcmp une <2 x float> undef, undef 498 %V4F32 = fcmp une <4 x float> undef, undef 499 %V8F32 = fcmp une <8 x float> undef, undef 500 %V16F32 = fcmp une <16 x float> undef, undef 501 502 %F64 = fcmp une double undef, undef 503 %V2F64 = fcmp une <2 x double> undef, undef 504 %V4F64 = fcmp une <4 x double> undef, undef 505 %V8F64 = fcmp une <8 x double> undef, undef 506 %V16F64 = fcmp une <16 x double> undef, undef 507 508 ret i32 undef 509} 510 511define i32 @cmp_float_uno(i32 %arg) { 512; SSE-LABEL: 'cmp_float_uno' 513; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uno float undef, undef 514; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp uno <2 x float> undef, undef 515; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp uno <4 x float> undef, undef 516; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp uno <8 x float> undef, undef 517; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp uno <16 x float> undef, undef 518; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uno double undef, undef 519; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp uno <2 x double> undef, undef 520; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp uno <4 x double> undef, undef 521; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp uno <8 x double> undef, undef 522; SSE-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp uno <16 x double> undef, undef 523; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 524; 525; AVX-LABEL: 'cmp_float_uno' 526; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uno float undef, undef 527; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp uno <2 x float> undef, undef 528; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp uno <4 x float> undef, undef 529; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp uno <8 x float> undef, undef 530; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp uno <16 x float> undef, undef 531; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uno double undef, undef 532; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp uno <2 x double> undef, undef 533; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp uno <4 x double> undef, undef 534; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp uno <8 x double> undef, undef 535; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp uno <16 x double> undef, undef 536; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 537; 538; AVX512-LABEL: 'cmp_float_uno' 539; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uno float undef, undef 540; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp uno <2 x float> undef, undef 541; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp uno <4 x float> undef, undef 542; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp uno <8 x float> undef, undef 543; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp uno <16 x float> undef, undef 544; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uno double undef, undef 545; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp uno <2 x double> undef, undef 546; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp uno <4 x double> undef, undef 547; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp uno <8 x double> undef, undef 548; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp uno <16 x double> undef, undef 549; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 550; 551 %F32 = fcmp uno float undef, undef 552 %V2F32 = fcmp uno <2 x float> undef, undef 553 %V4F32 = fcmp uno <4 x float> undef, undef 554 %V8F32 = fcmp uno <8 x float> undef, undef 555 %V16F32 = fcmp uno <16 x float> undef, undef 556 557 %F64 = fcmp uno double undef, undef 558 %V2F64 = fcmp uno <2 x double> undef, undef 559 %V4F64 = fcmp uno <4 x double> undef, undef 560 %V8F64 = fcmp uno <8 x double> undef, undef 561 %V16F64 = fcmp uno <16 x double> undef, undef 562 563 ret i32 undef 564} 565 566define i32 @cmp_float_uge(i32 %arg) { 567; SSE-LABEL: 'cmp_float_uge' 568; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uge float undef, undef 569; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp uge <2 x float> undef, undef 570; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp uge <4 x float> undef, undef 571; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp uge <8 x float> undef, undef 572; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp uge <16 x float> undef, undef 573; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uge double undef, undef 574; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp uge <2 x double> undef, undef 575; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp uge <4 x double> undef, undef 576; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp uge <8 x double> undef, undef 577; SSE-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp uge <16 x double> undef, undef 578; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 579; 580; AVX-LABEL: 'cmp_float_uge' 581; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uge float undef, undef 582; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp uge <2 x float> undef, undef 583; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp uge <4 x float> undef, undef 584; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp uge <8 x float> undef, undef 585; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp uge <16 x float> undef, undef 586; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uge double undef, undef 587; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp uge <2 x double> undef, undef 588; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp uge <4 x double> undef, undef 589; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp uge <8 x double> undef, undef 590; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp uge <16 x double> undef, undef 591; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 592; 593; AVX512-LABEL: 'cmp_float_uge' 594; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp uge float undef, undef 595; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp uge <2 x float> undef, undef 596; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp uge <4 x float> undef, undef 597; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp uge <8 x float> undef, undef 598; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp uge <16 x float> undef, undef 599; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp uge double undef, undef 600; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp uge <2 x double> undef, undef 601; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp uge <4 x double> undef, undef 602; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp uge <8 x double> undef, undef 603; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp uge <16 x double> undef, undef 604; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 605; 606 %F32 = fcmp uge float undef, undef 607 %V2F32 = fcmp uge <2 x float> undef, undef 608 %V4F32 = fcmp uge <4 x float> undef, undef 609 %V8F32 = fcmp uge <8 x float> undef, undef 610 %V16F32 = fcmp uge <16 x float> undef, undef 611 612 %F64 = fcmp uge double undef, undef 613 %V2F64 = fcmp uge <2 x double> undef, undef 614 %V4F64 = fcmp uge <4 x double> undef, undef 615 %V8F64 = fcmp uge <8 x double> undef, undef 616 %V16F64 = fcmp uge <16 x double> undef, undef 617 618 ret i32 undef 619} 620 621define i32 @cmp_float_ugt(i32 %arg) { 622; SSE-LABEL: 'cmp_float_ugt' 623; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ugt float undef, undef 624; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ugt <2 x float> undef, undef 625; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ugt <4 x float> undef, undef 626; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ugt <8 x float> undef, undef 627; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ugt <16 x float> undef, undef 628; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ugt double undef, undef 629; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ugt <2 x double> undef, undef 630; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ugt <4 x double> undef, undef 631; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ugt <8 x double> undef, undef 632; SSE-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ugt <16 x double> undef, undef 633; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 634; 635; AVX-LABEL: 'cmp_float_ugt' 636; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ugt float undef, undef 637; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ugt <2 x float> undef, undef 638; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ugt <4 x float> undef, undef 639; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ugt <8 x float> undef, undef 640; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp ugt <16 x float> undef, undef 641; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ugt double undef, undef 642; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ugt <2 x double> undef, undef 643; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ugt <4 x double> undef, undef 644; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp ugt <8 x double> undef, undef 645; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp ugt <16 x double> undef, undef 646; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 647; 648; AVX512-LABEL: 'cmp_float_ugt' 649; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ugt float undef, undef 650; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ugt <2 x float> undef, undef 651; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ugt <4 x float> undef, undef 652; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ugt <8 x float> undef, undef 653; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp ugt <16 x float> undef, undef 654; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ugt double undef, undef 655; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ugt <2 x double> undef, undef 656; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ugt <4 x double> undef, undef 657; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp ugt <8 x double> undef, undef 658; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp ugt <16 x double> undef, undef 659; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 660; 661 %F32 = fcmp ugt float undef, undef 662 %V2F32 = fcmp ugt <2 x float> undef, undef 663 %V4F32 = fcmp ugt <4 x float> undef, undef 664 %V8F32 = fcmp ugt <8 x float> undef, undef 665 %V16F32 = fcmp ugt <16 x float> undef, undef 666 667 %F64 = fcmp ugt double undef, undef 668 %V2F64 = fcmp ugt <2 x double> undef, undef 669 %V4F64 = fcmp ugt <4 x double> undef, undef 670 %V8F64 = fcmp ugt <8 x double> undef, undef 671 %V16F64 = fcmp ugt <16 x double> undef, undef 672 673 ret i32 undef 674} 675 676define i32 @cmp_float_ule(i32 %arg) { 677; SSE-LABEL: 'cmp_float_ule' 678; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ule float undef, undef 679; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ule <2 x float> undef, undef 680; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ule <4 x float> undef, undef 681; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ule <8 x float> undef, undef 682; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ule <16 x float> undef, undef 683; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ule double undef, undef 684; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ule <2 x double> undef, undef 685; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ule <4 x double> undef, undef 686; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ule <8 x double> undef, undef 687; SSE-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ule <16 x double> undef, undef 688; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 689; 690; AVX-LABEL: 'cmp_float_ule' 691; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ule float undef, undef 692; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ule <2 x float> undef, undef 693; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ule <4 x float> undef, undef 694; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ule <8 x float> undef, undef 695; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp ule <16 x float> undef, undef 696; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ule double undef, undef 697; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ule <2 x double> undef, undef 698; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ule <4 x double> undef, undef 699; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp ule <8 x double> undef, undef 700; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp ule <16 x double> undef, undef 701; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 702; 703; AVX512-LABEL: 'cmp_float_ule' 704; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ule float undef, undef 705; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ule <2 x float> undef, undef 706; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ule <4 x float> undef, undef 707; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ule <8 x float> undef, undef 708; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp ule <16 x float> undef, undef 709; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ule double undef, undef 710; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ule <2 x double> undef, undef 711; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ule <4 x double> undef, undef 712; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp ule <8 x double> undef, undef 713; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp ule <16 x double> undef, undef 714; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 715; 716 %F32 = fcmp ule float undef, undef 717 %V2F32 = fcmp ule <2 x float> undef, undef 718 %V4F32 = fcmp ule <4 x float> undef, undef 719 %V8F32 = fcmp ule <8 x float> undef, undef 720 %V16F32 = fcmp ule <16 x float> undef, undef 721 722 %F64 = fcmp ule double undef, undef 723 %V2F64 = fcmp ule <2 x double> undef, undef 724 %V4F64 = fcmp ule <4 x double> undef, undef 725 %V8F64 = fcmp ule <8 x double> undef, undef 726 %V16F64 = fcmp ule <16 x double> undef, undef 727 728 ret i32 undef 729} 730 731define i32 @cmp_float_ult(i32 %arg) { 732; SSE-LABEL: 'cmp_float_ult' 733; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ult float undef, undef 734; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ult <2 x float> undef, undef 735; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ult <4 x float> undef, undef 736; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp ult <8 x float> undef, undef 737; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp ult <16 x float> undef, undef 738; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ult double undef, undef 739; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ult <2 x double> undef, undef 740; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp ult <4 x double> undef, undef 741; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp ult <8 x double> undef, undef 742; SSE-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp ult <16 x double> undef, undef 743; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 744; 745; AVX-LABEL: 'cmp_float_ult' 746; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ult float undef, undef 747; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ult <2 x float> undef, undef 748; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ult <4 x float> undef, undef 749; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ult <8 x float> undef, undef 750; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp ult <16 x float> undef, undef 751; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ult double undef, undef 752; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ult <2 x double> undef, undef 753; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ult <4 x double> undef, undef 754; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp ult <8 x double> undef, undef 755; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp ult <16 x double> undef, undef 756; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 757; 758; AVX512-LABEL: 'cmp_float_ult' 759; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp ult float undef, undef 760; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp ult <2 x float> undef, undef 761; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp ult <4 x float> undef, undef 762; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp ult <8 x float> undef, undef 763; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp ult <16 x float> undef, undef 764; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp ult double undef, undef 765; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp ult <2 x double> undef, undef 766; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp ult <4 x double> undef, undef 767; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp ult <8 x double> undef, undef 768; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp ult <16 x double> undef, undef 769; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 770; 771 %F32 = fcmp ult float undef, undef 772 %V2F32 = fcmp ult <2 x float> undef, undef 773 %V4F32 = fcmp ult <4 x float> undef, undef 774 %V8F32 = fcmp ult <8 x float> undef, undef 775 %V16F32 = fcmp ult <16 x float> undef, undef 776 777 %F64 = fcmp ult double undef, undef 778 %V2F64 = fcmp ult <2 x double> undef, undef 779 %V4F64 = fcmp ult <4 x double> undef, undef 780 %V8F64 = fcmp ult <8 x double> undef, undef 781 %V16F64 = fcmp ult <16 x double> undef, undef 782 783 ret i32 undef 784} 785 786define i32 @cmp_float_false(i32 %arg) { 787; SSE-LABEL: 'cmp_float_false' 788; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp false float undef, undef 789; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp false <2 x float> undef, undef 790; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp false <4 x float> undef, undef 791; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp false <8 x float> undef, undef 792; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp false <16 x float> undef, undef 793; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp false double undef, undef 794; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp false <2 x double> undef, undef 795; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp false <4 x double> undef, undef 796; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp false <8 x double> undef, undef 797; SSE-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp false <16 x double> undef, undef 798; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 799; 800; AVX-LABEL: 'cmp_float_false' 801; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp false float undef, undef 802; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp false <2 x float> undef, undef 803; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp false <4 x float> undef, undef 804; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp false <8 x float> undef, undef 805; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp false <16 x float> undef, undef 806; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp false double undef, undef 807; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp false <2 x double> undef, undef 808; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp false <4 x double> undef, undef 809; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp false <8 x double> undef, undef 810; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp false <16 x double> undef, undef 811; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 812; 813; AVX512-LABEL: 'cmp_float_false' 814; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp false float undef, undef 815; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp false <2 x float> undef, undef 816; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp false <4 x float> undef, undef 817; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp false <8 x float> undef, undef 818; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp false <16 x float> undef, undef 819; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp false double undef, undef 820; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp false <2 x double> undef, undef 821; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp false <4 x double> undef, undef 822; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp false <8 x double> undef, undef 823; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp false <16 x double> undef, undef 824; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 825; 826 %F32 = fcmp false float undef, undef 827 %V2F32 = fcmp false <2 x float> undef, undef 828 %V4F32 = fcmp false <4 x float> undef, undef 829 %V8F32 = fcmp false <8 x float> undef, undef 830 %V16F32 = fcmp false <16 x float> undef, undef 831 832 %F64 = fcmp false double undef, undef 833 %V2F64 = fcmp false <2 x double> undef, undef 834 %V4F64 = fcmp false <4 x double> undef, undef 835 %V8F64 = fcmp false <8 x double> undef, undef 836 %V16F64 = fcmp false <16 x double> undef, undef 837 838 ret i32 undef 839} 840 841define i32 @cmp_float_true(i32 %arg) { 842; SSE-LABEL: 'cmp_float_true' 843; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp true float undef, undef 844; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp true <2 x float> undef, undef 845; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp true <4 x float> undef, undef 846; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F32 = fcmp true <8 x float> undef, undef 847; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F32 = fcmp true <16 x float> undef, undef 848; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp true double undef, undef 849; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp true <2 x double> undef, undef 850; SSE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4F64 = fcmp true <4 x double> undef, undef 851; SSE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8F64 = fcmp true <8 x double> undef, undef 852; SSE-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16F64 = fcmp true <16 x double> undef, undef 853; SSE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 854; 855; AVX-LABEL: 'cmp_float_true' 856; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp true float undef, undef 857; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp true <2 x float> undef, undef 858; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp true <4 x float> undef, undef 859; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp true <8 x float> undef, undef 860; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F32 = fcmp true <16 x float> undef, undef 861; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp true double undef, undef 862; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp true <2 x double> undef, undef 863; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp true <4 x double> undef, undef 864; AVX-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8F64 = fcmp true <8 x double> undef, undef 865; AVX-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16F64 = fcmp true <16 x double> undef, undef 866; AVX-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 867; 868; AVX512-LABEL: 'cmp_float_true' 869; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F32 = fcmp true float undef, undef 870; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F32 = fcmp true <2 x float> undef, undef 871; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F32 = fcmp true <4 x float> undef, undef 872; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F32 = fcmp true <8 x float> undef, undef 873; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16F32 = fcmp true <16 x float> undef, undef 874; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %F64 = fcmp true double undef, undef 875; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2F64 = fcmp true <2 x double> undef, undef 876; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4F64 = fcmp true <4 x double> undef, undef 877; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8F64 = fcmp true <8 x double> undef, undef 878; AVX512-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16F64 = fcmp true <16 x double> undef, undef 879; AVX512-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef 880; 881 %F32 = fcmp true float undef, undef 882 %V2F32 = fcmp true <2 x float> undef, undef 883 %V4F32 = fcmp true <4 x float> undef, undef 884 %V8F32 = fcmp true <8 x float> undef, undef 885 %V16F32 = fcmp true <16 x float> undef, undef 886 887 %F64 = fcmp true double undef, undef 888 %V2F64 = fcmp true <2 x double> undef, undef 889 %V4F64 = fcmp true <4 x double> undef, undef 890 %V8F64 = fcmp true <8 x double> undef, undef 891 %V16F64 = fcmp true <16 x double> undef, undef 892 893 ret i32 undef 894} 895