brintos

brintos / llvm-project-archived public Read only

0
0
Text · 17.6 KiB · 8b775d6 Raw
188 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py2; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+sse2 | FileCheck %s --check-prefixes=SSE,SSE23; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+sse4.2 | FileCheck %s --check-prefixes=SSE,SSE44; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+avx | FileCheck %s --check-prefixes=AVX,AVX15; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+avx2 | FileCheck %s --check-prefixes=AVX,AVX26; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+avx512f | FileCheck %s --check-prefixes=AVX5127; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefixes=AVX5128;9; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mcpu=slm | FileCheck %s --check-prefixes=SSE,SSE410; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mcpu=goldmont | FileCheck %s --check-prefixes=SSE,SSE411; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mcpu=btver2 | FileCheck %s --check-prefixes=AVX,AVX112 13define i32 @f32(i32 %arg) {14; SSE2-LABEL: 'f32'15; SSE2-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:7 Lat:5 SizeLat:7 for: %F32 = call float @llvm.maxnum.f32(float undef, float undef)16; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:6 Lat:6 SizeLat:6 for: %V2F32 = call <2 x float> @llvm.maxnum.v2f32(<2 x float> undef, <2 x float> undef)17; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:6 Lat:6 SizeLat:6 for: %V4F32 = call <4 x float> @llvm.maxnum.v4f32(<4 x float> undef, <4 x float> undef)18; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:12 Lat:12 SizeLat:12 for: %V8F32 = call <8 x float> @llvm.maxnum.v8f32(<8 x float> undef, <8 x float> undef)19; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:24 Lat:24 SizeLat:24 for: %V16F32 = call <16 x float> @llvm.maxnum.v16f32(<16 x float> undef, <16 x float> undef)20; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef21;22; SSE4-LABEL: 'f32'23; SSE4-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:7 Lat:5 SizeLat:7 for: %F32 = call float @llvm.maxnum.f32(float undef, float undef)24; SSE4-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:4 SizeLat:5 for: %V2F32 = call <2 x float> @llvm.maxnum.v2f32(<2 x float> undef, <2 x float> undef)25; SSE4-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:4 SizeLat:5 for: %V4F32 = call <4 x float> @llvm.maxnum.v4f32(<4 x float> undef, <4 x float> undef)26; SSE4-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:8 SizeLat:10 for: %V8F32 = call <8 x float> @llvm.maxnum.v8f32(<8 x float> undef, <8 x float> undef)27; SSE4-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:16 SizeLat:20 for: %V16F32 = call <16 x float> @llvm.maxnum.v16f32(<16 x float> undef, <16 x float> undef)28; SSE4-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef29;30; AVX1-LABEL: 'f32'31; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:3 Lat:6 SizeLat:5 for: %F32 = call float @llvm.maxnum.f32(float undef, float undef)32; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:3 Lat:6 SizeLat:5 for: %V2F32 = call <2 x float> @llvm.maxnum.v2f32(<2 x float> undef, <2 x float> undef)33; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:3 Lat:6 SizeLat:5 for: %V4F32 = call <4 x float> @llvm.maxnum.v4f32(<4 x float> undef, <4 x float> undef)34; AVX1-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:3 Lat:7 SizeLat:10 for: %V8F32 = call <8 x float> @llvm.maxnum.v8f32(<8 x float> undef, <8 x float> undef)35; AVX1-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:6 Lat:14 SizeLat:20 for: %V16F32 = call <16 x float> @llvm.maxnum.v16f32(<16 x float> undef, <16 x float> undef)36; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef37;38; AVX2-LABEL: 'f32'39; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:3 Lat:7 SizeLat:5 for: %F32 = call float @llvm.maxnum.f32(float undef, float undef)40; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:3 Lat:7 SizeLat:5 for: %V2F32 = call <2 x float> @llvm.maxnum.v2f32(<2 x float> undef, <2 x float> undef)41; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:3 Lat:7 SizeLat:5 for: %V4F32 = call <4 x float> @llvm.maxnum.v4f32(<4 x float> undef, <4 x float> undef)42; AVX2-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:3 Lat:7 SizeLat:6 for: %V8F32 = call <8 x float> @llvm.maxnum.v8f32(<8 x float> undef, <8 x float> undef)43; AVX2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:6 Lat:14 SizeLat:12 for: %V16F32 = call <16 x float> @llvm.maxnum.v16f32(<16 x float> undef, <16 x float> undef)44; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef45;46; AVX512-LABEL: 'f32'47; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:3 Lat:2 SizeLat:3 for: %F32 = call float @llvm.maxnum.f32(float undef, float undef)48; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:3 Lat:1 SizeLat:3 for: %V2F32 = call <2 x float> @llvm.maxnum.v2f32(<2 x float> undef, <2 x float> undef)49; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:3 Lat:1 SizeLat:3 for: %V4F32 = call <4 x float> @llvm.maxnum.v4f32(<4 x float> undef, <4 x float> undef)50; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:3 Lat:2 SizeLat:3 for: %V8F32 = call <8 x float> @llvm.maxnum.v8f32(<8 x float> undef, <8 x float> undef)51; AVX512-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:3 Lat:4 SizeLat:3 for: %V16F32 = call <16 x float> @llvm.maxnum.v16f32(<16 x float> undef, <16 x float> undef)52; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef53;54  %F32 = call float @llvm.maxnum.f32(float undef, float undef)55  %V2F32 = call <2 x float> @llvm.maxnum.v2f32(<2 x float> undef, <2 x float> undef)56  %V4F32 = call <4 x float> @llvm.maxnum.v4f32(<4 x float> undef, <4 x float> undef)57  %V8F32 = call <8 x float> @llvm.maxnum.v8f32(<8 x float> undef, <8 x float> undef)58  %V16F32 = call <16 x float> @llvm.maxnum.v16f32(<16 x float> undef, <16 x float> undef)59  ret i32 undef60}61 62define i32 @f64(i32 %arg) {63; SSE2-LABEL: 'f64'64; SSE2-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:7 Lat:5 SizeLat:7 for: %f64 = call double @llvm.maxnum.f64(double undef, double undef)65; SSE2-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:6 Lat:6 SizeLat:6 for: %V2f64 = call <2 x double> @llvm.maxnum.v2f64(<2 x double> undef, <2 x double> undef)66; SSE2-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:12 Lat:12 SizeLat:12 for: %V4f64 = call <4 x double> @llvm.maxnum.v4f64(<4 x double> undef, <4 x double> undef)67; SSE2-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:24 Lat:24 SizeLat:24 for: %V8f64 = call <8 x double> @llvm.maxnum.v8f64(<8 x double> undef, <8 x double> undef)68; SSE2-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:48 Lat:48 SizeLat:48 for: %V16f64 = call <16 x double> @llvm.maxnum.v16f64(<16 x double> undef, <16 x double> undef)69; SSE2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef70;71; SSE4-LABEL: 'f64'72; SSE4-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:7 Lat:5 SizeLat:7 for: %f64 = call double @llvm.maxnum.f64(double undef, double undef)73; SSE4-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:4 Lat:4 SizeLat:5 for: %V2f64 = call <2 x double> @llvm.maxnum.v2f64(<2 x double> undef, <2 x double> undef)74; SSE4-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:8 Lat:8 SizeLat:10 for: %V4f64 = call <4 x double> @llvm.maxnum.v4f64(<4 x double> undef, <4 x double> undef)75; SSE4-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:16 Lat:16 SizeLat:20 for: %V8f64 = call <8 x double> @llvm.maxnum.v8f64(<8 x double> undef, <8 x double> undef)76; SSE4-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:32 Lat:32 SizeLat:40 for: %V16f64 = call <16 x double> @llvm.maxnum.v16f64(<16 x double> undef, <16 x double> undef)77; SSE4-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef78;79; AVX1-LABEL: 'f64'80; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:3 Lat:6 SizeLat:5 for: %f64 = call double @llvm.maxnum.f64(double undef, double undef)81; AVX1-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:3 Lat:6 SizeLat:5 for: %V2f64 = call <2 x double> @llvm.maxnum.v2f64(<2 x double> undef, <2 x double> undef)82; AVX1-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:3 Lat:7 SizeLat:10 for: %V4f64 = call <4 x double> @llvm.maxnum.v4f64(<4 x double> undef, <4 x double> undef)83; AVX1-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:6 Lat:14 SizeLat:20 for: %V8f64 = call <8 x double> @llvm.maxnum.v8f64(<8 x double> undef, <8 x double> undef)84; AVX1-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:12 Lat:28 SizeLat:40 for: %V16f64 = call <16 x double> @llvm.maxnum.v16f64(<16 x double> undef, <16 x double> undef)85; AVX1-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef86;87; AVX2-LABEL: 'f64'88; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:3 Lat:7 SizeLat:5 for: %f64 = call double @llvm.maxnum.f64(double undef, double undef)89; AVX2-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:3 Lat:7 SizeLat:5 for: %V2f64 = call <2 x double> @llvm.maxnum.v2f64(<2 x double> undef, <2 x double> undef)90; AVX2-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:3 Lat:7 SizeLat:6 for: %V4f64 = call <4 x double> @llvm.maxnum.v4f64(<4 x double> undef, <4 x double> undef)91; AVX2-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:6 Lat:14 SizeLat:12 for: %V8f64 = call <8 x double> @llvm.maxnum.v8f64(<8 x double> undef, <8 x double> undef)92; AVX2-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:12 Lat:28 SizeLat:24 for: %V16f64 = call <16 x double> @llvm.maxnum.v16f64(<16 x double> undef, <16 x double> undef)93; AVX2-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef94;95; AVX512-LABEL: 'f64'96; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:3 Lat:2 SizeLat:3 for: %f64 = call double @llvm.maxnum.f64(double undef, double undef)97; AVX512-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:3 Lat:1 SizeLat:3 for: %V2f64 = call <2 x double> @llvm.maxnum.v2f64(<2 x double> undef, <2 x double> undef)98; AVX512-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:3 Lat:2 SizeLat:3 for: %V4f64 = call <4 x double> @llvm.maxnum.v4f64(<4 x double> undef, <4 x double> undef)99; AVX512-NEXT:  Cost Model: Found costs of 3 for: %V8f64 = call <8 x double> @llvm.maxnum.v8f64(<8 x double> undef, <8 x double> undef)100; AVX512-NEXT:  Cost Model: Found costs of 6 for: %V16f64 = call <16 x double> @llvm.maxnum.v16f64(<16 x double> undef, <16 x double> undef)101; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef102;103  %f64 = call double @llvm.maxnum.f64(double undef, double undef)104  %V2f64 = call <2 x double> @llvm.maxnum.v2f64(<2 x double> undef, <2 x double> undef)105  %V4f64 = call <4 x double> @llvm.maxnum.v4f64(<4 x double> undef, <4 x double> undef)106  %V8f64 = call <8 x double> @llvm.maxnum.v8f64(<8 x double> undef, <8 x double> undef)107  %V16f64 = call <16 x double> @llvm.maxnum.v16f64(<16 x double> undef, <16 x double> undef)108  ret i32 undef109}110 111define i32 @f32_nnan(i32 %arg) {112; SSE-LABEL: 'f32_nnan'113; SSE-NEXT:  Cost Model: Found costs of 1 for: %F32 = call nnan float @llvm.maxnum.f32(float undef, float undef)114; SSE-NEXT:  Cost Model: Found costs of 1 for: %V2F32 = call nnan <2 x float> @llvm.maxnum.v2f32(<2 x float> undef, <2 x float> undef)115; SSE-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = call nnan <4 x float> @llvm.maxnum.v4f32(<4 x float> undef, <4 x float> undef)116; SSE-NEXT:  Cost Model: Found costs of 2 for: %V8F32 = call nnan <8 x float> @llvm.maxnum.v8f32(<8 x float> undef, <8 x float> undef)117; SSE-NEXT:  Cost Model: Found costs of 4 for: %V16F32 = call nnan <16 x float> @llvm.maxnum.v16f32(<16 x float> undef, <16 x float> undef)118; SSE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef119;120; AVX-LABEL: 'f32_nnan'121; AVX-NEXT:  Cost Model: Found costs of 1 for: %F32 = call nnan float @llvm.maxnum.f32(float undef, float undef)122; AVX-NEXT:  Cost Model: Found costs of 1 for: %V2F32 = call nnan <2 x float> @llvm.maxnum.v2f32(<2 x float> undef, <2 x float> undef)123; AVX-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = call nnan <4 x float> @llvm.maxnum.v4f32(<4 x float> undef, <4 x float> undef)124; AVX-NEXT:  Cost Model: Found costs of 1 for: %V8F32 = call nnan <8 x float> @llvm.maxnum.v8f32(<8 x float> undef, <8 x float> undef)125; AVX-NEXT:  Cost Model: Found costs of 2 for: %V16F32 = call nnan <16 x float> @llvm.maxnum.v16f32(<16 x float> undef, <16 x float> undef)126; AVX-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef127;128; AVX512-LABEL: 'f32_nnan'129; AVX512-NEXT:  Cost Model: Found costs of 1 for: %F32 = call nnan float @llvm.maxnum.f32(float undef, float undef)130; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V2F32 = call nnan <2 x float> @llvm.maxnum.v2f32(<2 x float> undef, <2 x float> undef)131; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V4F32 = call nnan <4 x float> @llvm.maxnum.v4f32(<4 x float> undef, <4 x float> undef)132; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V8F32 = call nnan <8 x float> @llvm.maxnum.v8f32(<8 x float> undef, <8 x float> undef)133; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V16F32 = call nnan <16 x float> @llvm.maxnum.v16f32(<16 x float> undef, <16 x float> undef)134; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef135;136  %F32 = call nnan float @llvm.maxnum.f32(float undef, float undef)137  %V2F32 = call nnan <2 x float> @llvm.maxnum.v2f32(<2 x float> undef, <2 x float> undef)138  %V4F32 = call nnan <4 x float> @llvm.maxnum.v4f32(<4 x float> undef, <4 x float> undef)139  %V8F32 = call nnan <8 x float> @llvm.maxnum.v8f32(<8 x float> undef, <8 x float> undef)140  %V16F32 = call nnan <16 x float> @llvm.maxnum.v16f32(<16 x float> undef, <16 x float> undef)141  ret i32 undef142}143 144define i32 @f64_nnan(i32 %arg) {145; SSE-LABEL: 'f64_nnan'146; SSE-NEXT:  Cost Model: Found costs of 1 for: %f64 = call nnan double @llvm.maxnum.f64(double undef, double undef)147; SSE-NEXT:  Cost Model: Found costs of 1 for: %V2f64 = call nnan <2 x double> @llvm.maxnum.v2f64(<2 x double> undef, <2 x double> undef)148; SSE-NEXT:  Cost Model: Found costs of 2 for: %V4f64 = call nnan <4 x double> @llvm.maxnum.v4f64(<4 x double> undef, <4 x double> undef)149; SSE-NEXT:  Cost Model: Found costs of 4 for: %V8f64 = call nnan <8 x double> @llvm.maxnum.v8f64(<8 x double> undef, <8 x double> undef)150; SSE-NEXT:  Cost Model: Found costs of 8 for: %V16f64 = call nnan <16 x double> @llvm.maxnum.v16f64(<16 x double> undef, <16 x double> undef)151; SSE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef152;153; AVX-LABEL: 'f64_nnan'154; AVX-NEXT:  Cost Model: Found costs of 1 for: %f64 = call nnan double @llvm.maxnum.f64(double undef, double undef)155; AVX-NEXT:  Cost Model: Found costs of 1 for: %V2f64 = call nnan <2 x double> @llvm.maxnum.v2f64(<2 x double> undef, <2 x double> undef)156; AVX-NEXT:  Cost Model: Found costs of 1 for: %V4f64 = call nnan <4 x double> @llvm.maxnum.v4f64(<4 x double> undef, <4 x double> undef)157; AVX-NEXT:  Cost Model: Found costs of 2 for: %V8f64 = call nnan <8 x double> @llvm.maxnum.v8f64(<8 x double> undef, <8 x double> undef)158; AVX-NEXT:  Cost Model: Found costs of 4 for: %V16f64 = call nnan <16 x double> @llvm.maxnum.v16f64(<16 x double> undef, <16 x double> undef)159; AVX-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef160;161; AVX512-LABEL: 'f64_nnan'162; AVX512-NEXT:  Cost Model: Found costs of 1 for: %f64 = call nnan double @llvm.maxnum.f64(double undef, double undef)163; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V2f64 = call nnan <2 x double> @llvm.maxnum.v2f64(<2 x double> undef, <2 x double> undef)164; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V4f64 = call nnan <4 x double> @llvm.maxnum.v4f64(<4 x double> undef, <4 x double> undef)165; AVX512-NEXT:  Cost Model: Found costs of 1 for: %V8f64 = call nnan <8 x double> @llvm.maxnum.v8f64(<8 x double> undef, <8 x double> undef)166; AVX512-NEXT:  Cost Model: Found costs of 2 for: %V16f64 = call nnan <16 x double> @llvm.maxnum.v16f64(<16 x double> undef, <16 x double> undef)167; AVX512-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef168;169  %f64 = call nnan double @llvm.maxnum.f64(double undef, double undef)170  %V2f64 = call nnan <2 x double> @llvm.maxnum.v2f64(<2 x double> undef, <2 x double> undef)171  %V4f64 = call nnan <4 x double> @llvm.maxnum.v4f64(<4 x double> undef, <4 x double> undef)172  %V8f64 = call nnan <8 x double> @llvm.maxnum.v8f64(<8 x double> undef, <8 x double> undef)173  %V16f64 = call nnan <16 x double> @llvm.maxnum.v16f64(<16 x double> undef, <16 x double> undef)174  ret i32 undef175}176 177declare float @llvm.maxnum.f32(float, float)178declare <2 x float> @llvm.maxnum.v2f32(<2 x float>, <2 x float>)179declare <4 x float> @llvm.maxnum.v4f32(<4 x float>, <4 x float>)180declare <8 x float> @llvm.maxnum.v8f32(<8 x float>, <8 x float>)181declare <16 x float> @llvm.maxnum.v16f32(<16 x float>, <16 x float>)182 183declare double @llvm.maxnum.f64(double, double)184declare <2 x double> @llvm.maxnum.v2f64(<2 x double>, <2 x double>)185declare <4 x double> @llvm.maxnum.v4f64(<4 x double>, <4 x double>)186declare <8 x double> @llvm.maxnum.v8f64(<8 x double>, <8 x double>)187declare <16 x double> @llvm.maxnum.v16f64(<16 x double>, <16 x double>)188