678 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 42; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=riscv64 -mattr=+v,+f,+d,+zfh -riscv-v-vector-bits-min=-1 < %s | FileCheck %s --check-prefix=NOF163; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=riscv64 -mattr=+v,+f,+d,+zfh,+zvfh -riscv-v-vector-bits-min=-1 < %s | FileCheck %s --check-prefix=VFH4; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=riscv64 -mattr=+v,+f,+d,+zfh,+zvfhmin -riscv-v-vector-bits-min=-1 < %s | FileCheck %s --check-prefix=VFHMIN5 6define void @fcmp_oeq() {7; NOF16-LABEL: 'fcmp_oeq'8; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp oeq <2 x half> undef, undef9; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp oeq <4 x half> undef, undef10; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp oeq <8 x half> undef, undef11; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp oeq <16 x half> undef, undef12; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp oeq <vscale x 1 x half> undef, undef13; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp oeq <vscale x 2 x half> undef, undef14; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp oeq <vscale x 4 x half> undef, undef15; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp oeq <vscale x 8 x half> undef, undef16; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp oeq <vscale x 16 x half> undef, undef17; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void18;19; VFH-LABEL: 'fcmp_oeq'20; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp oeq <2 x half> undef, undef21; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp oeq <4 x half> undef, undef22; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp oeq <8 x half> undef, undef23; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp oeq <16 x half> undef, undef24; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp oeq <vscale x 1 x half> undef, undef25; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp oeq <vscale x 2 x half> undef, undef26; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp oeq <vscale x 4 x half> undef, undef27; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp oeq <vscale x 8 x half> undef, undef28; VFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp oeq <vscale x 16 x half> undef, undef29; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void30;31; VFHMIN-LABEL: 'fcmp_oeq'32; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp oeq <2 x half> undef, undef33; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp oeq <4 x half> undef, undef34; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp oeq <8 x half> undef, undef35; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp oeq <16 x half> undef, undef36; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp oeq <vscale x 1 x half> undef, undef37; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp oeq <vscale x 2 x half> undef, undef38; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp oeq <vscale x 4 x half> undef, undef39; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp oeq <vscale x 8 x half> undef, undef40; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp oeq <vscale x 16 x half> undef, undef41; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void42;43 %v2f16 = fcmp oeq <2 x half> undef, undef44 %v4f16 = fcmp oeq <4 x half> undef, undef45 %v8f16 = fcmp oeq <8 x half> undef, undef46 %v16f16 = fcmp oeq <16 x half> undef, undef47 %nxv1f16 = fcmp oeq <vscale x 1 x half> undef, undef48 %nxv2f16 = fcmp oeq <vscale x 2 x half> undef, undef49 %nxv4f16 = fcmp oeq <vscale x 4 x half> undef, undef50 %nxv8f16 = fcmp oeq <vscale x 8 x half> undef, undef51 %nxv16f16 = fcmp oeq <vscale x 16 x half> undef, undef52 ret void53}54define void @fcmp_one() {55; NOF16-LABEL: 'fcmp_one'56; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp one <2 x half> undef, undef57; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp one <4 x half> undef, undef58; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp one <8 x half> undef, undef59; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp one <16 x half> undef, undef60; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp one <vscale x 1 x half> undef, undef61; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp one <vscale x 2 x half> undef, undef62; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp one <vscale x 4 x half> undef, undef63; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp one <vscale x 8 x half> undef, undef64; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp one <vscale x 16 x half> undef, undef65; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void66;67; VFH-LABEL: 'fcmp_one'68; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v2f16 = fcmp one <2 x half> undef, undef69; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v4f16 = fcmp one <4 x half> undef, undef70; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v8f16 = fcmp one <8 x half> undef, undef71; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %v16f16 = fcmp one <16 x half> undef, undef72; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv1f16 = fcmp one <vscale x 1 x half> undef, undef73; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv2f16 = fcmp one <vscale x 2 x half> undef, undef74; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv4f16 = fcmp one <vscale x 4 x half> undef, undef75; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %nxv8f16 = fcmp one <vscale x 8 x half> undef, undef76; VFH-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %nxv16f16 = fcmp one <vscale x 16 x half> undef, undef77; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void78;79; VFHMIN-LABEL: 'fcmp_one'80; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp one <2 x half> undef, undef81; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp one <4 x half> undef, undef82; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp one <8 x half> undef, undef83; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp one <16 x half> undef, undef84; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp one <vscale x 1 x half> undef, undef85; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp one <vscale x 2 x half> undef, undef86; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp one <vscale x 4 x half> undef, undef87; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp one <vscale x 8 x half> undef, undef88; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp one <vscale x 16 x half> undef, undef89; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void90;91 %v2f16 = fcmp one <2 x half> undef, undef92 %v4f16 = fcmp one <4 x half> undef, undef93 %v8f16 = fcmp one <8 x half> undef, undef94 %v16f16 = fcmp one <16 x half> undef, undef95 %nxv1f16 = fcmp one <vscale x 1 x half> undef, undef96 %nxv2f16 = fcmp one <vscale x 2 x half> undef, undef97 %nxv4f16 = fcmp one <vscale x 4 x half> undef, undef98 %nxv8f16 = fcmp one <vscale x 8 x half> undef, undef99 %nxv16f16 = fcmp one <vscale x 16 x half> undef, undef100 ret void101}102define void @fcmp_olt() {103; NOF16-LABEL: 'fcmp_olt'104; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp olt <2 x half> undef, undef105; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp olt <4 x half> undef, undef106; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp olt <8 x half> undef, undef107; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp olt <16 x half> undef, undef108; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp olt <vscale x 1 x half> undef, undef109; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp olt <vscale x 2 x half> undef, undef110; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp olt <vscale x 4 x half> undef, undef111; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp olt <vscale x 8 x half> undef, undef112; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp olt <vscale x 16 x half> undef, undef113; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void114;115; VFH-LABEL: 'fcmp_olt'116; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp olt <2 x half> undef, undef117; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp olt <4 x half> undef, undef118; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp olt <8 x half> undef, undef119; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp olt <16 x half> undef, undef120; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp olt <vscale x 1 x half> undef, undef121; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp olt <vscale x 2 x half> undef, undef122; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp olt <vscale x 4 x half> undef, undef123; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp olt <vscale x 8 x half> undef, undef124; VFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp olt <vscale x 16 x half> undef, undef125; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void126;127; VFHMIN-LABEL: 'fcmp_olt'128; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp olt <2 x half> undef, undef129; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp olt <4 x half> undef, undef130; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp olt <8 x half> undef, undef131; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp olt <16 x half> undef, undef132; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp olt <vscale x 1 x half> undef, undef133; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp olt <vscale x 2 x half> undef, undef134; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp olt <vscale x 4 x half> undef, undef135; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp olt <vscale x 8 x half> undef, undef136; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp olt <vscale x 16 x half> undef, undef137; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void138;139 %v2f16 = fcmp olt <2 x half> undef, undef140 %v4f16 = fcmp olt <4 x half> undef, undef141 %v8f16 = fcmp olt <8 x half> undef, undef142 %v16f16 = fcmp olt <16 x half> undef, undef143 %nxv1f16 = fcmp olt <vscale x 1 x half> undef, undef144 %nxv2f16 = fcmp olt <vscale x 2 x half> undef, undef145 %nxv4f16 = fcmp olt <vscale x 4 x half> undef, undef146 %nxv8f16 = fcmp olt <vscale x 8 x half> undef, undef147 %nxv16f16 = fcmp olt <vscale x 16 x half> undef, undef148 ret void149}150define void @fcmp_ole() {151; NOF16-LABEL: 'fcmp_ole'152; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ole <2 x half> undef, undef153; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ole <4 x half> undef, undef154; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ole <8 x half> undef, undef155; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ole <16 x half> undef, undef156; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ole <vscale x 1 x half> undef, undef157; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ole <vscale x 2 x half> undef, undef158; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ole <vscale x 4 x half> undef, undef159; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ole <vscale x 8 x half> undef, undef160; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ole <vscale x 16 x half> undef, undef161; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void162;163; VFH-LABEL: 'fcmp_ole'164; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ole <2 x half> undef, undef165; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ole <4 x half> undef, undef166; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ole <8 x half> undef, undef167; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp ole <16 x half> undef, undef168; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ole <vscale x 1 x half> undef, undef169; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ole <vscale x 2 x half> undef, undef170; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ole <vscale x 4 x half> undef, undef171; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp ole <vscale x 8 x half> undef, undef172; VFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp ole <vscale x 16 x half> undef, undef173; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void174;175; VFHMIN-LABEL: 'fcmp_ole'176; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ole <2 x half> undef, undef177; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ole <4 x half> undef, undef178; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ole <8 x half> undef, undef179; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ole <16 x half> undef, undef180; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ole <vscale x 1 x half> undef, undef181; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ole <vscale x 2 x half> undef, undef182; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ole <vscale x 4 x half> undef, undef183; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ole <vscale x 8 x half> undef, undef184; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ole <vscale x 16 x half> undef, undef185; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void186;187 %v2f16 = fcmp ole <2 x half> undef, undef188 %v4f16 = fcmp ole <4 x half> undef, undef189 %v8f16 = fcmp ole <8 x half> undef, undef190 %v16f16 = fcmp ole <16 x half> undef, undef191 %nxv1f16 = fcmp ole <vscale x 1 x half> undef, undef192 %nxv2f16 = fcmp ole <vscale x 2 x half> undef, undef193 %nxv4f16 = fcmp ole <vscale x 4 x half> undef, undef194 %nxv8f16 = fcmp ole <vscale x 8 x half> undef, undef195 %nxv16f16 = fcmp ole <vscale x 16 x half> undef, undef196 ret void197}198define void @fcmp_ogt() {199; NOF16-LABEL: 'fcmp_ogt'200; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ogt <2 x half> undef, undef201; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ogt <4 x half> undef, undef202; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ogt <8 x half> undef, undef203; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ogt <16 x half> undef, undef204; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ogt <vscale x 1 x half> undef, undef205; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ogt <vscale x 2 x half> undef, undef206; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ogt <vscale x 4 x half> undef, undef207; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ogt <vscale x 8 x half> undef, undef208; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ogt <vscale x 16 x half> undef, undef209; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void210;211; VFH-LABEL: 'fcmp_ogt'212; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ogt <2 x half> undef, undef213; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ogt <4 x half> undef, undef214; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ogt <8 x half> undef, undef215; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp ogt <16 x half> undef, undef216; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ogt <vscale x 1 x half> undef, undef217; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ogt <vscale x 2 x half> undef, undef218; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ogt <vscale x 4 x half> undef, undef219; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp ogt <vscale x 8 x half> undef, undef220; VFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp ogt <vscale x 16 x half> undef, undef221; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void222;223; VFHMIN-LABEL: 'fcmp_ogt'224; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ogt <2 x half> undef, undef225; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ogt <4 x half> undef, undef226; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ogt <8 x half> undef, undef227; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ogt <16 x half> undef, undef228; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ogt <vscale x 1 x half> undef, undef229; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ogt <vscale x 2 x half> undef, undef230; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ogt <vscale x 4 x half> undef, undef231; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ogt <vscale x 8 x half> undef, undef232; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ogt <vscale x 16 x half> undef, undef233; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void234;235 %v2f16 = fcmp ogt <2 x half> undef, undef236 %v4f16 = fcmp ogt <4 x half> undef, undef237 %v8f16 = fcmp ogt <8 x half> undef, undef238 %v16f16 = fcmp ogt <16 x half> undef, undef239 %nxv1f16 = fcmp ogt <vscale x 1 x half> undef, undef240 %nxv2f16 = fcmp ogt <vscale x 2 x half> undef, undef241 %nxv4f16 = fcmp ogt <vscale x 4 x half> undef, undef242 %nxv8f16 = fcmp ogt <vscale x 8 x half> undef, undef243 %nxv16f16 = fcmp ogt <vscale x 16 x half> undef, undef244 ret void245}246define void @fcmp_oge() {247; NOF16-LABEL: 'fcmp_oge'248; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp oge <2 x half> undef, undef249; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp oge <4 x half> undef, undef250; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp oge <8 x half> undef, undef251; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp oge <16 x half> undef, undef252; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp oge <vscale x 1 x half> undef, undef253; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp oge <vscale x 2 x half> undef, undef254; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp oge <vscale x 4 x half> undef, undef255; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp oge <vscale x 8 x half> undef, undef256; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp oge <vscale x 16 x half> undef, undef257; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void258;259; VFH-LABEL: 'fcmp_oge'260; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp oge <2 x half> undef, undef261; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp oge <4 x half> undef, undef262; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp oge <8 x half> undef, undef263; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp oge <16 x half> undef, undef264; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp oge <vscale x 1 x half> undef, undef265; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp oge <vscale x 2 x half> undef, undef266; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp oge <vscale x 4 x half> undef, undef267; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp oge <vscale x 8 x half> undef, undef268; VFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp oge <vscale x 16 x half> undef, undef269; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void270;271; VFHMIN-LABEL: 'fcmp_oge'272; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp oge <2 x half> undef, undef273; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp oge <4 x half> undef, undef274; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp oge <8 x half> undef, undef275; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp oge <16 x half> undef, undef276; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp oge <vscale x 1 x half> undef, undef277; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp oge <vscale x 2 x half> undef, undef278; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp oge <vscale x 4 x half> undef, undef279; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp oge <vscale x 8 x half> undef, undef280; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp oge <vscale x 16 x half> undef, undef281; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void282;283 %v2f16 = fcmp oge <2 x half> undef, undef284 %v4f16 = fcmp oge <4 x half> undef, undef285 %v8f16 = fcmp oge <8 x half> undef, undef286 %v16f16 = fcmp oge <16 x half> undef, undef287 %nxv1f16 = fcmp oge <vscale x 1 x half> undef, undef288 %nxv2f16 = fcmp oge <vscale x 2 x half> undef, undef289 %nxv4f16 = fcmp oge <vscale x 4 x half> undef, undef290 %nxv8f16 = fcmp oge <vscale x 8 x half> undef, undef291 %nxv16f16 = fcmp oge <vscale x 16 x half> undef, undef292 ret void293}294define void @fcmp_ueq() {295; NOF16-LABEL: 'fcmp_ueq'296; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ueq <2 x half> undef, undef297; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ueq <4 x half> undef, undef298; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ueq <8 x half> undef, undef299; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ueq <16 x half> undef, undef300; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ueq <vscale x 1 x half> undef, undef301; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ueq <vscale x 2 x half> undef, undef302; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ueq <vscale x 4 x half> undef, undef303; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ueq <vscale x 8 x half> undef, undef304; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ueq <vscale x 16 x half> undef, undef305; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void306;307; VFH-LABEL: 'fcmp_ueq'308; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v2f16 = fcmp ueq <2 x half> undef, undef309; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v4f16 = fcmp ueq <4 x half> undef, undef310; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v8f16 = fcmp ueq <8 x half> undef, undef311; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %v16f16 = fcmp ueq <16 x half> undef, undef312; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv1f16 = fcmp ueq <vscale x 1 x half> undef, undef313; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv2f16 = fcmp ueq <vscale x 2 x half> undef, undef314; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv4f16 = fcmp ueq <vscale x 4 x half> undef, undef315; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %nxv8f16 = fcmp ueq <vscale x 8 x half> undef, undef316; VFH-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %nxv16f16 = fcmp ueq <vscale x 16 x half> undef, undef317; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void318;319; VFHMIN-LABEL: 'fcmp_ueq'320; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ueq <2 x half> undef, undef321; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ueq <4 x half> undef, undef322; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ueq <8 x half> undef, undef323; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ueq <16 x half> undef, undef324; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ueq <vscale x 1 x half> undef, undef325; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ueq <vscale x 2 x half> undef, undef326; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ueq <vscale x 4 x half> undef, undef327; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ueq <vscale x 8 x half> undef, undef328; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ueq <vscale x 16 x half> undef, undef329; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void330;331 %v2f16 = fcmp ueq <2 x half> undef, undef332 %v4f16 = fcmp ueq <4 x half> undef, undef333 %v8f16 = fcmp ueq <8 x half> undef, undef334 %v16f16 = fcmp ueq <16 x half> undef, undef335 %nxv1f16 = fcmp ueq <vscale x 1 x half> undef, undef336 %nxv2f16 = fcmp ueq <vscale x 2 x half> undef, undef337 %nxv4f16 = fcmp ueq <vscale x 4 x half> undef, undef338 %nxv8f16 = fcmp ueq <vscale x 8 x half> undef, undef339 %nxv16f16 = fcmp ueq <vscale x 16 x half> undef, undef340 ret void341}342define void @fcmp_une() {343; NOF16-LABEL: 'fcmp_une'344; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp une <2 x half> undef, undef345; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp une <4 x half> undef, undef346; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp une <8 x half> undef, undef347; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp une <16 x half> undef, undef348; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp une <vscale x 1 x half> undef, undef349; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp une <vscale x 2 x half> undef, undef350; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp une <vscale x 4 x half> undef, undef351; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp une <vscale x 8 x half> undef, undef352; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp une <vscale x 16 x half> undef, undef353; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void354;355; VFH-LABEL: 'fcmp_une'356; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp une <2 x half> undef, undef357; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp une <4 x half> undef, undef358; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp une <8 x half> undef, undef359; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp une <16 x half> undef, undef360; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp une <vscale x 1 x half> undef, undef361; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp une <vscale x 2 x half> undef, undef362; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp une <vscale x 4 x half> undef, undef363; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp une <vscale x 8 x half> undef, undef364; VFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp une <vscale x 16 x half> undef, undef365; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void366;367; VFHMIN-LABEL: 'fcmp_une'368; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp une <2 x half> undef, undef369; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp une <4 x half> undef, undef370; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp une <8 x half> undef, undef371; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp une <16 x half> undef, undef372; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp une <vscale x 1 x half> undef, undef373; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp une <vscale x 2 x half> undef, undef374; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp une <vscale x 4 x half> undef, undef375; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp une <vscale x 8 x half> undef, undef376; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp une <vscale x 16 x half> undef, undef377; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void378;379 %v2f16 = fcmp une <2 x half> undef, undef380 %v4f16 = fcmp une <4 x half> undef, undef381 %v8f16 = fcmp une <8 x half> undef, undef382 %v16f16 = fcmp une <16 x half> undef, undef383 %nxv1f16 = fcmp une <vscale x 1 x half> undef, undef384 %nxv2f16 = fcmp une <vscale x 2 x half> undef, undef385 %nxv4f16 = fcmp une <vscale x 4 x half> undef, undef386 %nxv8f16 = fcmp une <vscale x 8 x half> undef, undef387 %nxv16f16 = fcmp une <vscale x 16 x half> undef, undef388 ret void389}390define void @fcmp_ult() {391; NOF16-LABEL: 'fcmp_ult'392; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ult <2 x half> undef, undef393; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ult <4 x half> undef, undef394; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ult <8 x half> undef, undef395; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ult <16 x half> undef, undef396; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ult <vscale x 1 x half> undef, undef397; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ult <vscale x 2 x half> undef, undef398; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ult <vscale x 4 x half> undef, undef399; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ult <vscale x 8 x half> undef, undef400; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ult <vscale x 16 x half> undef, undef401; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void402;403; VFH-LABEL: 'fcmp_ult'404; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ult <2 x half> undef, undef405; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v4f16 = fcmp ult <4 x half> undef, undef406; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v8f16 = fcmp ult <8 x half> undef, undef407; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v16f16 = fcmp ult <16 x half> undef, undef408; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv1f16 = fcmp ult <vscale x 1 x half> undef, undef409; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv2f16 = fcmp ult <vscale x 2 x half> undef, undef410; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv4f16 = fcmp ult <vscale x 4 x half> undef, undef411; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv8f16 = fcmp ult <vscale x 8 x half> undef, undef412; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %nxv16f16 = fcmp ult <vscale x 16 x half> undef, undef413; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void414;415; VFHMIN-LABEL: 'fcmp_ult'416; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ult <2 x half> undef, undef417; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ult <4 x half> undef, undef418; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ult <8 x half> undef, undef419; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ult <16 x half> undef, undef420; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ult <vscale x 1 x half> undef, undef421; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ult <vscale x 2 x half> undef, undef422; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ult <vscale x 4 x half> undef, undef423; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ult <vscale x 8 x half> undef, undef424; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ult <vscale x 16 x half> undef, undef425; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void426;427 %v2f16 = fcmp ult <2 x half> undef, undef428 %v4f16 = fcmp ult <4 x half> undef, undef429 %v8f16 = fcmp ult <8 x half> undef, undef430 %v16f16 = fcmp ult <16 x half> undef, undef431 %nxv1f16 = fcmp ult <vscale x 1 x half> undef, undef432 %nxv2f16 = fcmp ult <vscale x 2 x half> undef, undef433 %nxv4f16 = fcmp ult <vscale x 4 x half> undef, undef434 %nxv8f16 = fcmp ult <vscale x 8 x half> undef, undef435 %nxv16f16 = fcmp ult <vscale x 16 x half> undef, undef436 ret void437}438define void @fcmp_ule() {439; NOF16-LABEL: 'fcmp_ule'440; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ule <2 x half> undef, undef441; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ule <4 x half> undef, undef442; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ule <8 x half> undef, undef443; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ule <16 x half> undef, undef444; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ule <vscale x 1 x half> undef, undef445; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ule <vscale x 2 x half> undef, undef446; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ule <vscale x 4 x half> undef, undef447; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ule <vscale x 8 x half> undef, undef448; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ule <vscale x 16 x half> undef, undef449; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void450;451; VFH-LABEL: 'fcmp_ule'452; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ule <2 x half> undef, undef453; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v4f16 = fcmp ule <4 x half> undef, undef454; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v8f16 = fcmp ule <8 x half> undef, undef455; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v16f16 = fcmp ule <16 x half> undef, undef456; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv1f16 = fcmp ule <vscale x 1 x half> undef, undef457; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv2f16 = fcmp ule <vscale x 2 x half> undef, undef458; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv4f16 = fcmp ule <vscale x 4 x half> undef, undef459; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv8f16 = fcmp ule <vscale x 8 x half> undef, undef460; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %nxv16f16 = fcmp ule <vscale x 16 x half> undef, undef461; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void462;463; VFHMIN-LABEL: 'fcmp_ule'464; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ule <2 x half> undef, undef465; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ule <4 x half> undef, undef466; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ule <8 x half> undef, undef467; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ule <16 x half> undef, undef468; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ule <vscale x 1 x half> undef, undef469; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ule <vscale x 2 x half> undef, undef470; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ule <vscale x 4 x half> undef, undef471; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ule <vscale x 8 x half> undef, undef472; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ule <vscale x 16 x half> undef, undef473; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void474;475 %v2f16 = fcmp ule <2 x half> undef, undef476 %v4f16 = fcmp ule <4 x half> undef, undef477 %v8f16 = fcmp ule <8 x half> undef, undef478 %v16f16 = fcmp ule <16 x half> undef, undef479 %nxv1f16 = fcmp ule <vscale x 1 x half> undef, undef480 %nxv2f16 = fcmp ule <vscale x 2 x half> undef, undef481 %nxv4f16 = fcmp ule <vscale x 4 x half> undef, undef482 %nxv8f16 = fcmp ule <vscale x 8 x half> undef, undef483 %nxv16f16 = fcmp ule <vscale x 16 x half> undef, undef484 ret void485}486define void @fcmp_ugt() {487; NOF16-LABEL: 'fcmp_ugt'488; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ugt <2 x half> undef, undef489; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ugt <4 x half> undef, undef490; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ugt <8 x half> undef, undef491; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ugt <16 x half> undef, undef492; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ugt <vscale x 1 x half> undef, undef493; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ugt <vscale x 2 x half> undef, undef494; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ugt <vscale x 4 x half> undef, undef495; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ugt <vscale x 8 x half> undef, undef496; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ugt <vscale x 16 x half> undef, undef497; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void498;499; VFH-LABEL: 'fcmp_ugt'500; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ugt <2 x half> undef, undef501; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v4f16 = fcmp ugt <4 x half> undef, undef502; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v8f16 = fcmp ugt <8 x half> undef, undef503; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v16f16 = fcmp ugt <16 x half> undef, undef504; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv1f16 = fcmp ugt <vscale x 1 x half> undef, undef505; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv2f16 = fcmp ugt <vscale x 2 x half> undef, undef506; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv4f16 = fcmp ugt <vscale x 4 x half> undef, undef507; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv8f16 = fcmp ugt <vscale x 8 x half> undef, undef508; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %nxv16f16 = fcmp ugt <vscale x 16 x half> undef, undef509; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void510;511; VFHMIN-LABEL: 'fcmp_ugt'512; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ugt <2 x half> undef, undef513; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ugt <4 x half> undef, undef514; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ugt <8 x half> undef, undef515; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ugt <16 x half> undef, undef516; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ugt <vscale x 1 x half> undef, undef517; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ugt <vscale x 2 x half> undef, undef518; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ugt <vscale x 4 x half> undef, undef519; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ugt <vscale x 8 x half> undef, undef520; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ugt <vscale x 16 x half> undef, undef521; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void522;523 %v2f16 = fcmp ugt <2 x half> undef, undef524 %v4f16 = fcmp ugt <4 x half> undef, undef525 %v8f16 = fcmp ugt <8 x half> undef, undef526 %v16f16 = fcmp ugt <16 x half> undef, undef527 %nxv1f16 = fcmp ugt <vscale x 1 x half> undef, undef528 %nxv2f16 = fcmp ugt <vscale x 2 x half> undef, undef529 %nxv4f16 = fcmp ugt <vscale x 4 x half> undef, undef530 %nxv8f16 = fcmp ugt <vscale x 8 x half> undef, undef531 %nxv16f16 = fcmp ugt <vscale x 16 x half> undef, undef532 ret void533}534define void @fcmp_uge() {535; NOF16-LABEL: 'fcmp_uge'536; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp uge <2 x half> undef, undef537; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp uge <4 x half> undef, undef538; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp uge <8 x half> undef, undef539; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp uge <16 x half> undef, undef540; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp uge <vscale x 1 x half> undef, undef541; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp uge <vscale x 2 x half> undef, undef542; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp uge <vscale x 4 x half> undef, undef543; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp uge <vscale x 8 x half> undef, undef544; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp uge <vscale x 16 x half> undef, undef545; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void546;547; VFH-LABEL: 'fcmp_uge'548; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp uge <2 x half> undef, undef549; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v4f16 = fcmp uge <4 x half> undef, undef550; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v8f16 = fcmp uge <8 x half> undef, undef551; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v16f16 = fcmp uge <16 x half> undef, undef552; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv1f16 = fcmp uge <vscale x 1 x half> undef, undef553; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv2f16 = fcmp uge <vscale x 2 x half> undef, undef554; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv4f16 = fcmp uge <vscale x 4 x half> undef, undef555; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv8f16 = fcmp uge <vscale x 8 x half> undef, undef556; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %nxv16f16 = fcmp uge <vscale x 16 x half> undef, undef557; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void558;559; VFHMIN-LABEL: 'fcmp_uge'560; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp uge <2 x half> undef, undef561; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp uge <4 x half> undef, undef562; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp uge <8 x half> undef, undef563; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp uge <16 x half> undef, undef564; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp uge <vscale x 1 x half> undef, undef565; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp uge <vscale x 2 x half> undef, undef566; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp uge <vscale x 4 x half> undef, undef567; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp uge <vscale x 8 x half> undef, undef568; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp uge <vscale x 16 x half> undef, undef569; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void570;571 %v2f16 = fcmp uge <2 x half> undef, undef572 %v4f16 = fcmp uge <4 x half> undef, undef573 %v8f16 = fcmp uge <8 x half> undef, undef574 %v16f16 = fcmp uge <16 x half> undef, undef575 %nxv1f16 = fcmp uge <vscale x 1 x half> undef, undef576 %nxv2f16 = fcmp uge <vscale x 2 x half> undef, undef577 %nxv4f16 = fcmp uge <vscale x 4 x half> undef, undef578 %nxv8f16 = fcmp uge <vscale x 8 x half> undef, undef579 %nxv16f16 = fcmp uge <vscale x 16 x half> undef, undef580 ret void581}582define void @fcmp_true() {583; NOF16-LABEL: 'fcmp_true'584; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v2f16 = fcmp true <2 x half> undef, undef585; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v4f16 = fcmp true <4 x half> undef, undef586; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v8f16 = fcmp true <8 x half> undef, undef587; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v16f16 = fcmp true <16 x half> undef, undef588; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp true <vscale x 1 x half> undef, undef589; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp true <vscale x 2 x half> undef, undef590; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp true <vscale x 4 x half> undef, undef591; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp true <vscale x 8 x half> undef, undef592; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp true <vscale x 16 x half> undef, undef593; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void594;595; VFH-LABEL: 'fcmp_true'596; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp true <2 x half> undef, undef597; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp true <4 x half> undef, undef598; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp true <8 x half> undef, undef599; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp true <16 x half> undef, undef600; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp true <vscale x 1 x half> undef, undef601; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp true <vscale x 2 x half> undef, undef602; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp true <vscale x 4 x half> undef, undef603; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp true <vscale x 8 x half> undef, undef604; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp true <vscale x 16 x half> undef, undef605; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void606;607; VFHMIN-LABEL: 'fcmp_true'608; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp true <2 x half> undef, undef609; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp true <4 x half> undef, undef610; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp true <8 x half> undef, undef611; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp true <16 x half> undef, undef612; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp true <vscale x 1 x half> undef, undef613; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp true <vscale x 2 x half> undef, undef614; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp true <vscale x 4 x half> undef, undef615; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp true <vscale x 8 x half> undef, undef616; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp true <vscale x 16 x half> undef, undef617; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void618;619 %v2f16 = fcmp true <2 x half> undef, undef620 %v4f16 = fcmp true <4 x half> undef, undef621 %v8f16 = fcmp true <8 x half> undef, undef622 %v16f16 = fcmp true <16 x half> undef, undef623 %nxv1f16 = fcmp true <vscale x 1 x half> undef, undef624 %nxv2f16 = fcmp true <vscale x 2 x half> undef, undef625 %nxv4f16 = fcmp true <vscale x 4 x half> undef, undef626 %nxv8f16 = fcmp true <vscale x 8 x half> undef, undef627 %nxv16f16 = fcmp true <vscale x 16 x half> undef, undef628 ret void629}630define void @fcmp_false() {631; NOF16-LABEL: 'fcmp_false'632; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v2f16 = fcmp false <2 x half> undef, undef633; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v4f16 = fcmp false <4 x half> undef, undef634; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v8f16 = fcmp false <8 x half> undef, undef635; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v16f16 = fcmp false <16 x half> undef, undef636; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp false <vscale x 1 x half> undef, undef637; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp false <vscale x 2 x half> undef, undef638; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp false <vscale x 4 x half> undef, undef639; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp false <vscale x 8 x half> undef, undef640; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp false <vscale x 16 x half> undef, undef641; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void642;643; VFH-LABEL: 'fcmp_false'644; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp false <2 x half> undef, undef645; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp false <4 x half> undef, undef646; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp false <8 x half> undef, undef647; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp false <16 x half> undef, undef648; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp false <vscale x 1 x half> undef, undef649; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp false <vscale x 2 x half> undef, undef650; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp false <vscale x 4 x half> undef, undef651; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp false <vscale x 8 x half> undef, undef652; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp false <vscale x 16 x half> undef, undef653; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void654;655; VFHMIN-LABEL: 'fcmp_false'656; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp false <2 x half> undef, undef657; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp false <4 x half> undef, undef658; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp false <8 x half> undef, undef659; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp false <16 x half> undef, undef660; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp false <vscale x 1 x half> undef, undef661; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp false <vscale x 2 x half> undef, undef662; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp false <vscale x 4 x half> undef, undef663; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp false <vscale x 8 x half> undef, undef664; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp false <vscale x 16 x half> undef, undef665; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void666;667 %v2f16 = fcmp false <2 x half> undef, undef668 %v4f16 = fcmp false <4 x half> undef, undef669 %v8f16 = fcmp false <8 x half> undef, undef670 %v16f16 = fcmp false <16 x half> undef, undef671 %nxv1f16 = fcmp false <vscale x 1 x half> undef, undef672 %nxv2f16 = fcmp false <vscale x 2 x half> undef, undef673 %nxv4f16 = fcmp false <vscale x 4 x half> undef, undef674 %nxv8f16 = fcmp false <vscale x 8 x half> undef, undef675 %nxv16f16 = fcmp false <vscale x 16 x half> undef, undef676 ret void677}678