; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 4 ; RUN: opt -passes="print" 2>&1 -disable-output -mtriple=riscv64 -mattr=+v,+f,+d,+zfh -riscv-v-vector-bits-min=-1 < %s | FileCheck %s --check-prefix=NOF16 ; RUN: opt -passes="print" 2>&1 -disable-output -mtriple=riscv64 -mattr=+v,+f,+d,+zfh,+zvfh -riscv-v-vector-bits-min=-1 < %s | FileCheck %s --check-prefix=VFH ; RUN: opt -passes="print" 2>&1 -disable-output -mtriple=riscv64 -mattr=+v,+f,+d,+zfh,+zvfhmin -riscv-v-vector-bits-min=-1 < %s | FileCheck %s --check-prefix=VFHMIN define void @fcmp_oeq() { ; NOF16-LABEL: 'fcmp_oeq' ; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp oeq <2 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp oeq <4 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp oeq <8 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp oeq <16 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp oeq undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp oeq undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp oeq undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp oeq undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp oeq undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFH-LABEL: 'fcmp_oeq' ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp oeq <2 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp oeq <4 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp oeq <8 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp oeq <16 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp oeq undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp oeq undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp oeq undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp oeq undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp oeq undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFHMIN-LABEL: 'fcmp_oeq' ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp oeq <2 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp oeq <4 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp oeq <8 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp oeq <16 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp oeq undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp oeq undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp oeq undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp oeq undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp oeq undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; %v2f16 = fcmp oeq <2 x half> undef, undef %v4f16 = fcmp oeq <4 x half> undef, undef %v8f16 = fcmp oeq <8 x half> undef, undef %v16f16 = fcmp oeq <16 x half> undef, undef %nxv1f16 = fcmp oeq undef, undef %nxv2f16 = fcmp oeq undef, undef %nxv4f16 = fcmp oeq undef, undef %nxv8f16 = fcmp oeq undef, undef %nxv16f16 = fcmp oeq undef, undef ret void } define void @fcmp_one() { ; NOF16-LABEL: 'fcmp_one' ; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp one <2 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp one <4 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp one <8 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp one <16 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp one undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp one undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp one undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp one undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp one undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFH-LABEL: 'fcmp_one' ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v2f16 = fcmp one <2 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v4f16 = fcmp one <4 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v8f16 = fcmp one <8 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %v16f16 = fcmp one <16 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv1f16 = fcmp one undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv2f16 = fcmp one undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv4f16 = fcmp one undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %nxv8f16 = fcmp one undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %nxv16f16 = fcmp one undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFHMIN-LABEL: 'fcmp_one' ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp one <2 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp one <4 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp one <8 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp one <16 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp one undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp one undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp one undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp one undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp one undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; %v2f16 = fcmp one <2 x half> undef, undef %v4f16 = fcmp one <4 x half> undef, undef %v8f16 = fcmp one <8 x half> undef, undef %v16f16 = fcmp one <16 x half> undef, undef %nxv1f16 = fcmp one undef, undef %nxv2f16 = fcmp one undef, undef %nxv4f16 = fcmp one undef, undef %nxv8f16 = fcmp one undef, undef %nxv16f16 = fcmp one undef, undef ret void } define void @fcmp_olt() { ; NOF16-LABEL: 'fcmp_olt' ; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp olt <2 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp olt <4 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp olt <8 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp olt <16 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp olt undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp olt undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp olt undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp olt undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp olt undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFH-LABEL: 'fcmp_olt' ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp olt <2 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp olt <4 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp olt <8 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp olt <16 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp olt undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp olt undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp olt undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp olt undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp olt undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFHMIN-LABEL: 'fcmp_olt' ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp olt <2 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp olt <4 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp olt <8 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp olt <16 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp olt undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp olt undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp olt undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp olt undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp olt undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; %v2f16 = fcmp olt <2 x half> undef, undef %v4f16 = fcmp olt <4 x half> undef, undef %v8f16 = fcmp olt <8 x half> undef, undef %v16f16 = fcmp olt <16 x half> undef, undef %nxv1f16 = fcmp olt undef, undef %nxv2f16 = fcmp olt undef, undef %nxv4f16 = fcmp olt undef, undef %nxv8f16 = fcmp olt undef, undef %nxv16f16 = fcmp olt undef, undef ret void } define void @fcmp_ole() { ; NOF16-LABEL: 'fcmp_ole' ; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ole <2 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ole <4 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ole <8 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ole <16 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ole undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ole undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ole undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ole undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ole undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFH-LABEL: 'fcmp_ole' ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ole <2 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ole <4 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ole <8 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp ole <16 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ole undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ole undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ole undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp ole undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp ole undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFHMIN-LABEL: 'fcmp_ole' ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ole <2 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ole <4 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ole <8 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ole <16 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ole undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ole undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ole undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ole undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ole undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; %v2f16 = fcmp ole <2 x half> undef, undef %v4f16 = fcmp ole <4 x half> undef, undef %v8f16 = fcmp ole <8 x half> undef, undef %v16f16 = fcmp ole <16 x half> undef, undef %nxv1f16 = fcmp ole undef, undef %nxv2f16 = fcmp ole undef, undef %nxv4f16 = fcmp ole undef, undef %nxv8f16 = fcmp ole undef, undef %nxv16f16 = fcmp ole undef, undef ret void } define void @fcmp_ogt() { ; NOF16-LABEL: 'fcmp_ogt' ; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ogt <2 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ogt <4 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ogt <8 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ogt <16 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ogt undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ogt undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ogt undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ogt undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ogt undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFH-LABEL: 'fcmp_ogt' ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ogt <2 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ogt <4 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ogt <8 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp ogt <16 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ogt undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ogt undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ogt undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp ogt undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp ogt undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFHMIN-LABEL: 'fcmp_ogt' ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ogt <2 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ogt <4 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ogt <8 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ogt <16 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ogt undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ogt undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ogt undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ogt undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ogt undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; %v2f16 = fcmp ogt <2 x half> undef, undef %v4f16 = fcmp ogt <4 x half> undef, undef %v8f16 = fcmp ogt <8 x half> undef, undef %v16f16 = fcmp ogt <16 x half> undef, undef %nxv1f16 = fcmp ogt undef, undef %nxv2f16 = fcmp ogt undef, undef %nxv4f16 = fcmp ogt undef, undef %nxv8f16 = fcmp ogt undef, undef %nxv16f16 = fcmp ogt undef, undef ret void } define void @fcmp_oge() { ; NOF16-LABEL: 'fcmp_oge' ; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp oge <2 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp oge <4 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp oge <8 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp oge <16 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp oge undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp oge undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp oge undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp oge undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp oge undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFH-LABEL: 'fcmp_oge' ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp oge <2 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp oge <4 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp oge <8 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp oge <16 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp oge undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp oge undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp oge undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp oge undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp oge undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFHMIN-LABEL: 'fcmp_oge' ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp oge <2 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp oge <4 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp oge <8 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp oge <16 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp oge undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp oge undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp oge undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp oge undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp oge undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; %v2f16 = fcmp oge <2 x half> undef, undef %v4f16 = fcmp oge <4 x half> undef, undef %v8f16 = fcmp oge <8 x half> undef, undef %v16f16 = fcmp oge <16 x half> undef, undef %nxv1f16 = fcmp oge undef, undef %nxv2f16 = fcmp oge undef, undef %nxv4f16 = fcmp oge undef, undef %nxv8f16 = fcmp oge undef, undef %nxv16f16 = fcmp oge undef, undef ret void } define void @fcmp_ueq() { ; NOF16-LABEL: 'fcmp_ueq' ; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ueq <2 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ueq <4 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ueq <8 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ueq <16 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ueq undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ueq undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ueq undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ueq undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ueq undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFH-LABEL: 'fcmp_ueq' ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v2f16 = fcmp ueq <2 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v4f16 = fcmp ueq <4 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v8f16 = fcmp ueq <8 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %v16f16 = fcmp ueq <16 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv1f16 = fcmp ueq undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv2f16 = fcmp ueq undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv4f16 = fcmp ueq undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %nxv8f16 = fcmp ueq undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %nxv16f16 = fcmp ueq undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFHMIN-LABEL: 'fcmp_ueq' ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ueq <2 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ueq <4 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ueq <8 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ueq <16 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ueq undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ueq undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ueq undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ueq undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ueq undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; %v2f16 = fcmp ueq <2 x half> undef, undef %v4f16 = fcmp ueq <4 x half> undef, undef %v8f16 = fcmp ueq <8 x half> undef, undef %v16f16 = fcmp ueq <16 x half> undef, undef %nxv1f16 = fcmp ueq undef, undef %nxv2f16 = fcmp ueq undef, undef %nxv4f16 = fcmp ueq undef, undef %nxv8f16 = fcmp ueq undef, undef %nxv16f16 = fcmp ueq undef, undef ret void } define void @fcmp_une() { ; NOF16-LABEL: 'fcmp_une' ; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp une <2 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp une <4 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp une <8 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp une <16 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp une undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp une undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp une undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp une undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp une undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFH-LABEL: 'fcmp_une' ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp une <2 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp une <4 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp une <8 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp une <16 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp une undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp une undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp une undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp une undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp une undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFHMIN-LABEL: 'fcmp_une' ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp une <2 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp une <4 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp une <8 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp une <16 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp une undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp une undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp une undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp une undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp une undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; %v2f16 = fcmp une <2 x half> undef, undef %v4f16 = fcmp une <4 x half> undef, undef %v8f16 = fcmp une <8 x half> undef, undef %v16f16 = fcmp une <16 x half> undef, undef %nxv1f16 = fcmp une undef, undef %nxv2f16 = fcmp une undef, undef %nxv4f16 = fcmp une undef, undef %nxv8f16 = fcmp une undef, undef %nxv16f16 = fcmp une undef, undef ret void } define void @fcmp_ult() { ; NOF16-LABEL: 'fcmp_ult' ; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ult <2 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ult <4 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ult <8 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ult <16 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ult undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ult undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ult undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ult undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ult undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFH-LABEL: 'fcmp_ult' ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ult <2 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v4f16 = fcmp ult <4 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v8f16 = fcmp ult <8 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v16f16 = fcmp ult <16 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv1f16 = fcmp ult undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv2f16 = fcmp ult undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv4f16 = fcmp ult undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv8f16 = fcmp ult undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %nxv16f16 = fcmp ult undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFHMIN-LABEL: 'fcmp_ult' ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ult <2 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ult <4 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ult <8 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ult <16 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ult undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ult undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ult undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ult undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ult undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; %v2f16 = fcmp ult <2 x half> undef, undef %v4f16 = fcmp ult <4 x half> undef, undef %v8f16 = fcmp ult <8 x half> undef, undef %v16f16 = fcmp ult <16 x half> undef, undef %nxv1f16 = fcmp ult undef, undef %nxv2f16 = fcmp ult undef, undef %nxv4f16 = fcmp ult undef, undef %nxv8f16 = fcmp ult undef, undef %nxv16f16 = fcmp ult undef, undef ret void } define void @fcmp_ule() { ; NOF16-LABEL: 'fcmp_ule' ; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ule <2 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ule <4 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ule <8 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ule <16 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ule undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ule undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ule undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ule undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ule undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFH-LABEL: 'fcmp_ule' ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ule <2 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v4f16 = fcmp ule <4 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v8f16 = fcmp ule <8 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v16f16 = fcmp ule <16 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv1f16 = fcmp ule undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv2f16 = fcmp ule undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv4f16 = fcmp ule undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv8f16 = fcmp ule undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %nxv16f16 = fcmp ule undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFHMIN-LABEL: 'fcmp_ule' ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ule <2 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ule <4 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ule <8 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ule <16 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ule undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ule undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ule undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ule undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ule undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; %v2f16 = fcmp ule <2 x half> undef, undef %v4f16 = fcmp ule <4 x half> undef, undef %v8f16 = fcmp ule <8 x half> undef, undef %v16f16 = fcmp ule <16 x half> undef, undef %nxv1f16 = fcmp ule undef, undef %nxv2f16 = fcmp ule undef, undef %nxv4f16 = fcmp ule undef, undef %nxv8f16 = fcmp ule undef, undef %nxv16f16 = fcmp ule undef, undef ret void } define void @fcmp_ugt() { ; NOF16-LABEL: 'fcmp_ugt' ; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ugt <2 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ugt <4 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ugt <8 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ugt <16 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ugt undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ugt undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ugt undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ugt undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ugt undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFH-LABEL: 'fcmp_ugt' ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ugt <2 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v4f16 = fcmp ugt <4 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v8f16 = fcmp ugt <8 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v16f16 = fcmp ugt <16 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv1f16 = fcmp ugt undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv2f16 = fcmp ugt undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv4f16 = fcmp ugt undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv8f16 = fcmp ugt undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %nxv16f16 = fcmp ugt undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFHMIN-LABEL: 'fcmp_ugt' ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ugt <2 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ugt <4 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ugt <8 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ugt <16 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ugt undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ugt undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ugt undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ugt undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ugt undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; %v2f16 = fcmp ugt <2 x half> undef, undef %v4f16 = fcmp ugt <4 x half> undef, undef %v8f16 = fcmp ugt <8 x half> undef, undef %v16f16 = fcmp ugt <16 x half> undef, undef %nxv1f16 = fcmp ugt undef, undef %nxv2f16 = fcmp ugt undef, undef %nxv4f16 = fcmp ugt undef, undef %nxv8f16 = fcmp ugt undef, undef %nxv16f16 = fcmp ugt undef, undef ret void } define void @fcmp_uge() { ; NOF16-LABEL: 'fcmp_uge' ; NOF16-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp uge <2 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp uge <4 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp uge <8 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp uge <16 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp uge undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp uge undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp uge undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp uge undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp uge undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFH-LABEL: 'fcmp_uge' ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp uge <2 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v4f16 = fcmp uge <4 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v8f16 = fcmp uge <8 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v16f16 = fcmp uge <16 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv1f16 = fcmp uge undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv2f16 = fcmp uge undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %nxv4f16 = fcmp uge undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %nxv8f16 = fcmp uge undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %nxv16f16 = fcmp uge undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFHMIN-LABEL: 'fcmp_uge' ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp uge <2 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp uge <4 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp uge <8 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp uge <16 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp uge undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp uge undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp uge undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp uge undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp uge undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; %v2f16 = fcmp uge <2 x half> undef, undef %v4f16 = fcmp uge <4 x half> undef, undef %v8f16 = fcmp uge <8 x half> undef, undef %v16f16 = fcmp uge <16 x half> undef, undef %nxv1f16 = fcmp uge undef, undef %nxv2f16 = fcmp uge undef, undef %nxv4f16 = fcmp uge undef, undef %nxv8f16 = fcmp uge undef, undef %nxv16f16 = fcmp uge undef, undef ret void } define void @fcmp_true() { ; NOF16-LABEL: 'fcmp_true' ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v2f16 = fcmp true <2 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v4f16 = fcmp true <4 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v8f16 = fcmp true <8 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v16f16 = fcmp true <16 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp true undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp true undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp true undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp true undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp true undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFH-LABEL: 'fcmp_true' ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp true <2 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp true <4 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp true <8 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp true <16 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp true undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp true undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp true undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp true undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp true undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFHMIN-LABEL: 'fcmp_true' ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp true <2 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp true <4 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp true <8 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp true <16 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp true undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp true undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp true undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp true undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp true undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; %v2f16 = fcmp true <2 x half> undef, undef %v4f16 = fcmp true <4 x half> undef, undef %v8f16 = fcmp true <8 x half> undef, undef %v16f16 = fcmp true <16 x half> undef, undef %nxv1f16 = fcmp true undef, undef %nxv2f16 = fcmp true undef, undef %nxv4f16 = fcmp true undef, undef %nxv8f16 = fcmp true undef, undef %nxv16f16 = fcmp true undef, undef ret void } define void @fcmp_false() { ; NOF16-LABEL: 'fcmp_false' ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v2f16 = fcmp false <2 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v4f16 = fcmp false <4 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v8f16 = fcmp false <8 x half> undef, undef ; NOF16-NEXT: Cost Model: Invalid cost for instruction: %v16f16 = fcmp false <16 x half> undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp false undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp false undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp false undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp false undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp false undef, undef ; NOF16-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFH-LABEL: 'fcmp_false' ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp false <2 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp false <4 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp false <8 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp false <16 x half> undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp false undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp false undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp false undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp false undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp false undef, undef ; VFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; VFHMIN-LABEL: 'fcmp_false' ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp false <2 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp false <4 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp false <8 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp false <16 x half> undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp false undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp false undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp false undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp false undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp false undef, undef ; VFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; %v2f16 = fcmp false <2 x half> undef, undef %v4f16 = fcmp false <4 x half> undef, undef %v8f16 = fcmp false <8 x half> undef, undef %v16f16 = fcmp false <16 x half> undef, undef %nxv1f16 = fcmp false undef, undef %nxv2f16 = fcmp false undef, undef %nxv4f16 = fcmp false undef, undef %nxv8f16 = fcmp false undef, undef %nxv16f16 = fcmp false undef, undef ret void }