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