xref: /llvm-project/llvm/test/Analysis/CostModel/RISCV/rvv-fcmp-f16.ll (revision 366e836051adf5eb352b00828541197729e061e6)
1*366e8360SShihPo Hung; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 4
2*366e8360SShihPo Hung; 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=NOF16
3*366e8360SShihPo Hung; 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=VFH
4*366e8360SShihPo Hung; 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=VFHMIN
5*366e8360SShihPo Hung
6*366e8360SShihPo Hungdefine void @fcmp_oeq() {
7*366e8360SShihPo Hung; NOF16-LABEL: 'fcmp_oeq'
8*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp oeq <2 x half> undef, undef
9*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp oeq <4 x half> undef, undef
10*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp oeq <8 x half> undef, undef
11*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp oeq <16 x half> undef, undef
12*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp oeq <vscale x 1 x half> undef, undef
13*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp oeq <vscale x 2 x half> undef, undef
14*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp oeq <vscale x 4 x half> undef, undef
15*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp oeq <vscale x 8 x half> undef, undef
16*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp oeq <vscale x 16 x half> undef, undef
17*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
18*366e8360SShihPo Hung;
19*366e8360SShihPo Hung; VFH-LABEL: 'fcmp_oeq'
20*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp oeq <2 x half> undef, undef
21*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp oeq <4 x half> undef, undef
22*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp oeq <8 x half> undef, undef
23*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp oeq <16 x half> undef, undef
24*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp oeq <vscale x 1 x half> undef, undef
25*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp oeq <vscale x 2 x half> undef, undef
26*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp oeq <vscale x 4 x half> undef, undef
27*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp oeq <vscale x 8 x half> undef, undef
28*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp oeq <vscale x 16 x half> undef, undef
29*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
30*366e8360SShihPo Hung;
31*366e8360SShihPo Hung; VFHMIN-LABEL: 'fcmp_oeq'
32*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp oeq <2 x half> undef, undef
33*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp oeq <4 x half> undef, undef
34*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp oeq <8 x half> undef, undef
35*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp oeq <16 x half> undef, undef
36*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp oeq <vscale x 1 x half> undef, undef
37*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp oeq <vscale x 2 x half> undef, undef
38*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp oeq <vscale x 4 x half> undef, undef
39*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp oeq <vscale x 8 x half> undef, undef
40*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp oeq <vscale x 16 x half> undef, undef
41*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
42*366e8360SShihPo Hung;
43*366e8360SShihPo Hung  %v2f16 = fcmp oeq <2 x half> undef, undef
44*366e8360SShihPo Hung  %v4f16 = fcmp oeq <4 x half> undef, undef
45*366e8360SShihPo Hung  %v8f16 = fcmp oeq <8 x half> undef, undef
46*366e8360SShihPo Hung  %v16f16 = fcmp oeq <16 x half> undef, undef
47*366e8360SShihPo Hung  %nxv1f16 = fcmp oeq <vscale x 1 x half> undef, undef
48*366e8360SShihPo Hung  %nxv2f16 = fcmp oeq <vscale x 2 x half> undef, undef
49*366e8360SShihPo Hung  %nxv4f16 = fcmp oeq <vscale x 4 x half> undef, undef
50*366e8360SShihPo Hung  %nxv8f16 = fcmp oeq <vscale x 8 x half> undef, undef
51*366e8360SShihPo Hung  %nxv16f16 = fcmp oeq <vscale x 16 x half> undef, undef
52*366e8360SShihPo Hung  ret void
53*366e8360SShihPo Hung}
54*366e8360SShihPo Hungdefine void @fcmp_one() {
55*366e8360SShihPo Hung; NOF16-LABEL: 'fcmp_one'
56*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp one <2 x half> undef, undef
57*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp one <4 x half> undef, undef
58*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp one <8 x half> undef, undef
59*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp one <16 x half> undef, undef
60*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp one <vscale x 1 x half> undef, undef
61*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp one <vscale x 2 x half> undef, undef
62*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp one <vscale x 4 x half> undef, undef
63*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp one <vscale x 8 x half> undef, undef
64*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp one <vscale x 16 x half> undef, undef
65*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
66*366e8360SShihPo Hung;
67*366e8360SShihPo Hung; VFH-LABEL: 'fcmp_one'
68*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v2f16 = fcmp one <2 x half> undef, undef
69*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v4f16 = fcmp one <4 x half> undef, undef
70*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v8f16 = fcmp one <8 x half> undef, undef
71*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 5 for instruction: %v16f16 = fcmp one <16 x half> undef, undef
72*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %nxv1f16 = fcmp one <vscale x 1 x half> undef, undef
73*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %nxv2f16 = fcmp one <vscale x 2 x half> undef, undef
74*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %nxv4f16 = fcmp one <vscale x 4 x half> undef, undef
75*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 5 for instruction: %nxv8f16 = fcmp one <vscale x 8 x half> undef, undef
76*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 9 for instruction: %nxv16f16 = fcmp one <vscale x 16 x half> undef, undef
77*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
78*366e8360SShihPo Hung;
79*366e8360SShihPo Hung; VFHMIN-LABEL: 'fcmp_one'
80*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp one <2 x half> undef, undef
81*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp one <4 x half> undef, undef
82*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp one <8 x half> undef, undef
83*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp one <16 x half> undef, undef
84*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp one <vscale x 1 x half> undef, undef
85*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp one <vscale x 2 x half> undef, undef
86*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp one <vscale x 4 x half> undef, undef
87*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp one <vscale x 8 x half> undef, undef
88*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp one <vscale x 16 x half> undef, undef
89*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
90*366e8360SShihPo Hung;
91*366e8360SShihPo Hung  %v2f16 = fcmp one <2 x half> undef, undef
92*366e8360SShihPo Hung  %v4f16 = fcmp one <4 x half> undef, undef
93*366e8360SShihPo Hung  %v8f16 = fcmp one <8 x half> undef, undef
94*366e8360SShihPo Hung  %v16f16 = fcmp one <16 x half> undef, undef
95*366e8360SShihPo Hung  %nxv1f16 = fcmp one <vscale x 1 x half> undef, undef
96*366e8360SShihPo Hung  %nxv2f16 = fcmp one <vscale x 2 x half> undef, undef
97*366e8360SShihPo Hung  %nxv4f16 = fcmp one <vscale x 4 x half> undef, undef
98*366e8360SShihPo Hung  %nxv8f16 = fcmp one <vscale x 8 x half> undef, undef
99*366e8360SShihPo Hung  %nxv16f16 = fcmp one <vscale x 16 x half> undef, undef
100*366e8360SShihPo Hung  ret void
101*366e8360SShihPo Hung}
102*366e8360SShihPo Hungdefine void @fcmp_olt() {
103*366e8360SShihPo Hung; NOF16-LABEL: 'fcmp_olt'
104*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp olt <2 x half> undef, undef
105*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp olt <4 x half> undef, undef
106*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp olt <8 x half> undef, undef
107*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp olt <16 x half> undef, undef
108*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp olt <vscale x 1 x half> undef, undef
109*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp olt <vscale x 2 x half> undef, undef
110*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp olt <vscale x 4 x half> undef, undef
111*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp olt <vscale x 8 x half> undef, undef
112*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp olt <vscale x 16 x half> undef, undef
113*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
114*366e8360SShihPo Hung;
115*366e8360SShihPo Hung; VFH-LABEL: 'fcmp_olt'
116*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp olt <2 x half> undef, undef
117*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp olt <4 x half> undef, undef
118*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp olt <8 x half> undef, undef
119*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp olt <16 x half> undef, undef
120*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp olt <vscale x 1 x half> undef, undef
121*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp olt <vscale x 2 x half> undef, undef
122*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp olt <vscale x 4 x half> undef, undef
123*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp olt <vscale x 8 x half> undef, undef
124*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp olt <vscale x 16 x half> undef, undef
125*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
126*366e8360SShihPo Hung;
127*366e8360SShihPo Hung; VFHMIN-LABEL: 'fcmp_olt'
128*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp olt <2 x half> undef, undef
129*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp olt <4 x half> undef, undef
130*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp olt <8 x half> undef, undef
131*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp olt <16 x half> undef, undef
132*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp olt <vscale x 1 x half> undef, undef
133*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp olt <vscale x 2 x half> undef, undef
134*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp olt <vscale x 4 x half> undef, undef
135*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp olt <vscale x 8 x half> undef, undef
136*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp olt <vscale x 16 x half> undef, undef
137*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
138*366e8360SShihPo Hung;
139*366e8360SShihPo Hung  %v2f16 = fcmp olt <2 x half> undef, undef
140*366e8360SShihPo Hung  %v4f16 = fcmp olt <4 x half> undef, undef
141*366e8360SShihPo Hung  %v8f16 = fcmp olt <8 x half> undef, undef
142*366e8360SShihPo Hung  %v16f16 = fcmp olt <16 x half> undef, undef
143*366e8360SShihPo Hung  %nxv1f16 = fcmp olt <vscale x 1 x half> undef, undef
144*366e8360SShihPo Hung  %nxv2f16 = fcmp olt <vscale x 2 x half> undef, undef
145*366e8360SShihPo Hung  %nxv4f16 = fcmp olt <vscale x 4 x half> undef, undef
146*366e8360SShihPo Hung  %nxv8f16 = fcmp olt <vscale x 8 x half> undef, undef
147*366e8360SShihPo Hung  %nxv16f16 = fcmp olt <vscale x 16 x half> undef, undef
148*366e8360SShihPo Hung  ret void
149*366e8360SShihPo Hung}
150*366e8360SShihPo Hungdefine void @fcmp_ole() {
151*366e8360SShihPo Hung; NOF16-LABEL: 'fcmp_ole'
152*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ole <2 x half> undef, undef
153*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ole <4 x half> undef, undef
154*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ole <8 x half> undef, undef
155*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ole <16 x half> undef, undef
156*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ole <vscale x 1 x half> undef, undef
157*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ole <vscale x 2 x half> undef, undef
158*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ole <vscale x 4 x half> undef, undef
159*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ole <vscale x 8 x half> undef, undef
160*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ole <vscale x 16 x half> undef, undef
161*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
162*366e8360SShihPo Hung;
163*366e8360SShihPo Hung; VFH-LABEL: 'fcmp_ole'
164*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ole <2 x half> undef, undef
165*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ole <4 x half> undef, undef
166*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ole <8 x half> undef, undef
167*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp ole <16 x half> undef, undef
168*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ole <vscale x 1 x half> undef, undef
169*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ole <vscale x 2 x half> undef, undef
170*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ole <vscale x 4 x half> undef, undef
171*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp ole <vscale x 8 x half> undef, undef
172*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp ole <vscale x 16 x half> undef, undef
173*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
174*366e8360SShihPo Hung;
175*366e8360SShihPo Hung; VFHMIN-LABEL: 'fcmp_ole'
176*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ole <2 x half> undef, undef
177*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ole <4 x half> undef, undef
178*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ole <8 x half> undef, undef
179*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ole <16 x half> undef, undef
180*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ole <vscale x 1 x half> undef, undef
181*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ole <vscale x 2 x half> undef, undef
182*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ole <vscale x 4 x half> undef, undef
183*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ole <vscale x 8 x half> undef, undef
184*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ole <vscale x 16 x half> undef, undef
185*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
186*366e8360SShihPo Hung;
187*366e8360SShihPo Hung  %v2f16 = fcmp ole <2 x half> undef, undef
188*366e8360SShihPo Hung  %v4f16 = fcmp ole <4 x half> undef, undef
189*366e8360SShihPo Hung  %v8f16 = fcmp ole <8 x half> undef, undef
190*366e8360SShihPo Hung  %v16f16 = fcmp ole <16 x half> undef, undef
191*366e8360SShihPo Hung  %nxv1f16 = fcmp ole <vscale x 1 x half> undef, undef
192*366e8360SShihPo Hung  %nxv2f16 = fcmp ole <vscale x 2 x half> undef, undef
193*366e8360SShihPo Hung  %nxv4f16 = fcmp ole <vscale x 4 x half> undef, undef
194*366e8360SShihPo Hung  %nxv8f16 = fcmp ole <vscale x 8 x half> undef, undef
195*366e8360SShihPo Hung  %nxv16f16 = fcmp ole <vscale x 16 x half> undef, undef
196*366e8360SShihPo Hung  ret void
197*366e8360SShihPo Hung}
198*366e8360SShihPo Hungdefine void @fcmp_ogt() {
199*366e8360SShihPo Hung; NOF16-LABEL: 'fcmp_ogt'
200*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ogt <2 x half> undef, undef
201*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ogt <4 x half> undef, undef
202*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ogt <8 x half> undef, undef
203*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ogt <16 x half> undef, undef
204*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ogt <vscale x 1 x half> undef, undef
205*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ogt <vscale x 2 x half> undef, undef
206*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ogt <vscale x 4 x half> undef, undef
207*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ogt <vscale x 8 x half> undef, undef
208*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ogt <vscale x 16 x half> undef, undef
209*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
210*366e8360SShihPo Hung;
211*366e8360SShihPo Hung; VFH-LABEL: 'fcmp_ogt'
212*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ogt <2 x half> undef, undef
213*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ogt <4 x half> undef, undef
214*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ogt <8 x half> undef, undef
215*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp ogt <16 x half> undef, undef
216*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ogt <vscale x 1 x half> undef, undef
217*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ogt <vscale x 2 x half> undef, undef
218*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ogt <vscale x 4 x half> undef, undef
219*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp ogt <vscale x 8 x half> undef, undef
220*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp ogt <vscale x 16 x half> undef, undef
221*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
222*366e8360SShihPo Hung;
223*366e8360SShihPo Hung; VFHMIN-LABEL: 'fcmp_ogt'
224*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ogt <2 x half> undef, undef
225*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ogt <4 x half> undef, undef
226*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ogt <8 x half> undef, undef
227*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ogt <16 x half> undef, undef
228*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ogt <vscale x 1 x half> undef, undef
229*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ogt <vscale x 2 x half> undef, undef
230*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ogt <vscale x 4 x half> undef, undef
231*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ogt <vscale x 8 x half> undef, undef
232*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ogt <vscale x 16 x half> undef, undef
233*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
234*366e8360SShihPo Hung;
235*366e8360SShihPo Hung  %v2f16 = fcmp ogt <2 x half> undef, undef
236*366e8360SShihPo Hung  %v4f16 = fcmp ogt <4 x half> undef, undef
237*366e8360SShihPo Hung  %v8f16 = fcmp ogt <8 x half> undef, undef
238*366e8360SShihPo Hung  %v16f16 = fcmp ogt <16 x half> undef, undef
239*366e8360SShihPo Hung  %nxv1f16 = fcmp ogt <vscale x 1 x half> undef, undef
240*366e8360SShihPo Hung  %nxv2f16 = fcmp ogt <vscale x 2 x half> undef, undef
241*366e8360SShihPo Hung  %nxv4f16 = fcmp ogt <vscale x 4 x half> undef, undef
242*366e8360SShihPo Hung  %nxv8f16 = fcmp ogt <vscale x 8 x half> undef, undef
243*366e8360SShihPo Hung  %nxv16f16 = fcmp ogt <vscale x 16 x half> undef, undef
244*366e8360SShihPo Hung  ret void
245*366e8360SShihPo Hung}
246*366e8360SShihPo Hungdefine void @fcmp_oge() {
247*366e8360SShihPo Hung; NOF16-LABEL: 'fcmp_oge'
248*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp oge <2 x half> undef, undef
249*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp oge <4 x half> undef, undef
250*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp oge <8 x half> undef, undef
251*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp oge <16 x half> undef, undef
252*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp oge <vscale x 1 x half> undef, undef
253*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp oge <vscale x 2 x half> undef, undef
254*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp oge <vscale x 4 x half> undef, undef
255*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp oge <vscale x 8 x half> undef, undef
256*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp oge <vscale x 16 x half> undef, undef
257*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
258*366e8360SShihPo Hung;
259*366e8360SShihPo Hung; VFH-LABEL: 'fcmp_oge'
260*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp oge <2 x half> undef, undef
261*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp oge <4 x half> undef, undef
262*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp oge <8 x half> undef, undef
263*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp oge <16 x half> undef, undef
264*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp oge <vscale x 1 x half> undef, undef
265*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp oge <vscale x 2 x half> undef, undef
266*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp oge <vscale x 4 x half> undef, undef
267*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp oge <vscale x 8 x half> undef, undef
268*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp oge <vscale x 16 x half> undef, undef
269*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
270*366e8360SShihPo Hung;
271*366e8360SShihPo Hung; VFHMIN-LABEL: 'fcmp_oge'
272*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp oge <2 x half> undef, undef
273*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp oge <4 x half> undef, undef
274*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp oge <8 x half> undef, undef
275*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp oge <16 x half> undef, undef
276*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp oge <vscale x 1 x half> undef, undef
277*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp oge <vscale x 2 x half> undef, undef
278*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp oge <vscale x 4 x half> undef, undef
279*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp oge <vscale x 8 x half> undef, undef
280*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp oge <vscale x 16 x half> undef, undef
281*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
282*366e8360SShihPo Hung;
283*366e8360SShihPo Hung  %v2f16 = fcmp oge <2 x half> undef, undef
284*366e8360SShihPo Hung  %v4f16 = fcmp oge <4 x half> undef, undef
285*366e8360SShihPo Hung  %v8f16 = fcmp oge <8 x half> undef, undef
286*366e8360SShihPo Hung  %v16f16 = fcmp oge <16 x half> undef, undef
287*366e8360SShihPo Hung  %nxv1f16 = fcmp oge <vscale x 1 x half> undef, undef
288*366e8360SShihPo Hung  %nxv2f16 = fcmp oge <vscale x 2 x half> undef, undef
289*366e8360SShihPo Hung  %nxv4f16 = fcmp oge <vscale x 4 x half> undef, undef
290*366e8360SShihPo Hung  %nxv8f16 = fcmp oge <vscale x 8 x half> undef, undef
291*366e8360SShihPo Hung  %nxv16f16 = fcmp oge <vscale x 16 x half> undef, undef
292*366e8360SShihPo Hung  ret void
293*366e8360SShihPo Hung}
294*366e8360SShihPo Hungdefine void @fcmp_ueq() {
295*366e8360SShihPo Hung; NOF16-LABEL: 'fcmp_ueq'
296*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ueq <2 x half> undef, undef
297*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ueq <4 x half> undef, undef
298*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ueq <8 x half> undef, undef
299*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ueq <16 x half> undef, undef
300*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ueq <vscale x 1 x half> undef, undef
301*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ueq <vscale x 2 x half> undef, undef
302*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ueq <vscale x 4 x half> undef, undef
303*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ueq <vscale x 8 x half> undef, undef
304*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ueq <vscale x 16 x half> undef, undef
305*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
306*366e8360SShihPo Hung;
307*366e8360SShihPo Hung; VFH-LABEL: 'fcmp_ueq'
308*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v2f16 = fcmp ueq <2 x half> undef, undef
309*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v4f16 = fcmp ueq <4 x half> undef, undef
310*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v8f16 = fcmp ueq <8 x half> undef, undef
311*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 5 for instruction: %v16f16 = fcmp ueq <16 x half> undef, undef
312*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %nxv1f16 = fcmp ueq <vscale x 1 x half> undef, undef
313*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %nxv2f16 = fcmp ueq <vscale x 2 x half> undef, undef
314*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %nxv4f16 = fcmp ueq <vscale x 4 x half> undef, undef
315*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 5 for instruction: %nxv8f16 = fcmp ueq <vscale x 8 x half> undef, undef
316*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 9 for instruction: %nxv16f16 = fcmp ueq <vscale x 16 x half> undef, undef
317*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
318*366e8360SShihPo Hung;
319*366e8360SShihPo Hung; VFHMIN-LABEL: 'fcmp_ueq'
320*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ueq <2 x half> undef, undef
321*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ueq <4 x half> undef, undef
322*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ueq <8 x half> undef, undef
323*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ueq <16 x half> undef, undef
324*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ueq <vscale x 1 x half> undef, undef
325*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ueq <vscale x 2 x half> undef, undef
326*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ueq <vscale x 4 x half> undef, undef
327*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ueq <vscale x 8 x half> undef, undef
328*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ueq <vscale x 16 x half> undef, undef
329*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
330*366e8360SShihPo Hung;
331*366e8360SShihPo Hung  %v2f16 = fcmp ueq <2 x half> undef, undef
332*366e8360SShihPo Hung  %v4f16 = fcmp ueq <4 x half> undef, undef
333*366e8360SShihPo Hung  %v8f16 = fcmp ueq <8 x half> undef, undef
334*366e8360SShihPo Hung  %v16f16 = fcmp ueq <16 x half> undef, undef
335*366e8360SShihPo Hung  %nxv1f16 = fcmp ueq <vscale x 1 x half> undef, undef
336*366e8360SShihPo Hung  %nxv2f16 = fcmp ueq <vscale x 2 x half> undef, undef
337*366e8360SShihPo Hung  %nxv4f16 = fcmp ueq <vscale x 4 x half> undef, undef
338*366e8360SShihPo Hung  %nxv8f16 = fcmp ueq <vscale x 8 x half> undef, undef
339*366e8360SShihPo Hung  %nxv16f16 = fcmp ueq <vscale x 16 x half> undef, undef
340*366e8360SShihPo Hung  ret void
341*366e8360SShihPo Hung}
342*366e8360SShihPo Hungdefine void @fcmp_une() {
343*366e8360SShihPo Hung; NOF16-LABEL: 'fcmp_une'
344*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp une <2 x half> undef, undef
345*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp une <4 x half> undef, undef
346*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp une <8 x half> undef, undef
347*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp une <16 x half> undef, undef
348*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp une <vscale x 1 x half> undef, undef
349*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp une <vscale x 2 x half> undef, undef
350*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp une <vscale x 4 x half> undef, undef
351*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp une <vscale x 8 x half> undef, undef
352*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp une <vscale x 16 x half> undef, undef
353*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
354*366e8360SShihPo Hung;
355*366e8360SShihPo Hung; VFH-LABEL: 'fcmp_une'
356*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp une <2 x half> undef, undef
357*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp une <4 x half> undef, undef
358*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp une <8 x half> undef, undef
359*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v16f16 = fcmp une <16 x half> undef, undef
360*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp une <vscale x 1 x half> undef, undef
361*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp une <vscale x 2 x half> undef, undef
362*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp une <vscale x 4 x half> undef, undef
363*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv8f16 = fcmp une <vscale x 8 x half> undef, undef
364*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %nxv16f16 = fcmp une <vscale x 16 x half> undef, undef
365*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
366*366e8360SShihPo Hung;
367*366e8360SShihPo Hung; VFHMIN-LABEL: 'fcmp_une'
368*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp une <2 x half> undef, undef
369*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp une <4 x half> undef, undef
370*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp une <8 x half> undef, undef
371*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp une <16 x half> undef, undef
372*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp une <vscale x 1 x half> undef, undef
373*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp une <vscale x 2 x half> undef, undef
374*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp une <vscale x 4 x half> undef, undef
375*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp une <vscale x 8 x half> undef, undef
376*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp une <vscale x 16 x half> undef, undef
377*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
378*366e8360SShihPo Hung;
379*366e8360SShihPo Hung  %v2f16 = fcmp une <2 x half> undef, undef
380*366e8360SShihPo Hung  %v4f16 = fcmp une <4 x half> undef, undef
381*366e8360SShihPo Hung  %v8f16 = fcmp une <8 x half> undef, undef
382*366e8360SShihPo Hung  %v16f16 = fcmp une <16 x half> undef, undef
383*366e8360SShihPo Hung  %nxv1f16 = fcmp une <vscale x 1 x half> undef, undef
384*366e8360SShihPo Hung  %nxv2f16 = fcmp une <vscale x 2 x half> undef, undef
385*366e8360SShihPo Hung  %nxv4f16 = fcmp une <vscale x 4 x half> undef, undef
386*366e8360SShihPo Hung  %nxv8f16 = fcmp une <vscale x 8 x half> undef, undef
387*366e8360SShihPo Hung  %nxv16f16 = fcmp une <vscale x 16 x half> undef, undef
388*366e8360SShihPo Hung  ret void
389*366e8360SShihPo Hung}
390*366e8360SShihPo Hungdefine void @fcmp_ult() {
391*366e8360SShihPo Hung; NOF16-LABEL: 'fcmp_ult'
392*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ult <2 x half> undef, undef
393*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ult <4 x half> undef, undef
394*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ult <8 x half> undef, undef
395*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ult <16 x half> undef, undef
396*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ult <vscale x 1 x half> undef, undef
397*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ult <vscale x 2 x half> undef, undef
398*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ult <vscale x 4 x half> undef, undef
399*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ult <vscale x 8 x half> undef, undef
400*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ult <vscale x 16 x half> undef, undef
401*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
402*366e8360SShihPo Hung;
403*366e8360SShihPo Hung; VFH-LABEL: 'fcmp_ult'
404*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ult <2 x half> undef, undef
405*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v4f16 = fcmp ult <4 x half> undef, undef
406*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v8f16 = fcmp ult <8 x half> undef, undef
407*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v16f16 = fcmp ult <16 x half> undef, undef
408*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv1f16 = fcmp ult <vscale x 1 x half> undef, undef
409*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv2f16 = fcmp ult <vscale x 2 x half> undef, undef
410*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv4f16 = fcmp ult <vscale x 4 x half> undef, undef
411*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %nxv8f16 = fcmp ult <vscale x 8 x half> undef, undef
412*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 5 for instruction: %nxv16f16 = fcmp ult <vscale x 16 x half> undef, undef
413*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
414*366e8360SShihPo Hung;
415*366e8360SShihPo Hung; VFHMIN-LABEL: 'fcmp_ult'
416*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ult <2 x half> undef, undef
417*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ult <4 x half> undef, undef
418*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ult <8 x half> undef, undef
419*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ult <16 x half> undef, undef
420*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ult <vscale x 1 x half> undef, undef
421*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ult <vscale x 2 x half> undef, undef
422*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ult <vscale x 4 x half> undef, undef
423*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ult <vscale x 8 x half> undef, undef
424*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ult <vscale x 16 x half> undef, undef
425*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
426*366e8360SShihPo Hung;
427*366e8360SShihPo Hung  %v2f16 = fcmp ult <2 x half> undef, undef
428*366e8360SShihPo Hung  %v4f16 = fcmp ult <4 x half> undef, undef
429*366e8360SShihPo Hung  %v8f16 = fcmp ult <8 x half> undef, undef
430*366e8360SShihPo Hung  %v16f16 = fcmp ult <16 x half> undef, undef
431*366e8360SShihPo Hung  %nxv1f16 = fcmp ult <vscale x 1 x half> undef, undef
432*366e8360SShihPo Hung  %nxv2f16 = fcmp ult <vscale x 2 x half> undef, undef
433*366e8360SShihPo Hung  %nxv4f16 = fcmp ult <vscale x 4 x half> undef, undef
434*366e8360SShihPo Hung  %nxv8f16 = fcmp ult <vscale x 8 x half> undef, undef
435*366e8360SShihPo Hung  %nxv16f16 = fcmp ult <vscale x 16 x half> undef, undef
436*366e8360SShihPo Hung  ret void
437*366e8360SShihPo Hung}
438*366e8360SShihPo Hungdefine void @fcmp_ule() {
439*366e8360SShihPo Hung; NOF16-LABEL: 'fcmp_ule'
440*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ule <2 x half> undef, undef
441*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ule <4 x half> undef, undef
442*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ule <8 x half> undef, undef
443*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ule <16 x half> undef, undef
444*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ule <vscale x 1 x half> undef, undef
445*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ule <vscale x 2 x half> undef, undef
446*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ule <vscale x 4 x half> undef, undef
447*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ule <vscale x 8 x half> undef, undef
448*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ule <vscale x 16 x half> undef, undef
449*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
450*366e8360SShihPo Hung;
451*366e8360SShihPo Hung; VFH-LABEL: 'fcmp_ule'
452*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ule <2 x half> undef, undef
453*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v4f16 = fcmp ule <4 x half> undef, undef
454*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v8f16 = fcmp ule <8 x half> undef, undef
455*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v16f16 = fcmp ule <16 x half> undef, undef
456*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv1f16 = fcmp ule <vscale x 1 x half> undef, undef
457*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv2f16 = fcmp ule <vscale x 2 x half> undef, undef
458*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv4f16 = fcmp ule <vscale x 4 x half> undef, undef
459*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %nxv8f16 = fcmp ule <vscale x 8 x half> undef, undef
460*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 5 for instruction: %nxv16f16 = fcmp ule <vscale x 16 x half> undef, undef
461*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
462*366e8360SShihPo Hung;
463*366e8360SShihPo Hung; VFHMIN-LABEL: 'fcmp_ule'
464*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ule <2 x half> undef, undef
465*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ule <4 x half> undef, undef
466*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ule <8 x half> undef, undef
467*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ule <16 x half> undef, undef
468*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ule <vscale x 1 x half> undef, undef
469*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ule <vscale x 2 x half> undef, undef
470*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ule <vscale x 4 x half> undef, undef
471*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ule <vscale x 8 x half> undef, undef
472*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ule <vscale x 16 x half> undef, undef
473*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
474*366e8360SShihPo Hung;
475*366e8360SShihPo Hung  %v2f16 = fcmp ule <2 x half> undef, undef
476*366e8360SShihPo Hung  %v4f16 = fcmp ule <4 x half> undef, undef
477*366e8360SShihPo Hung  %v8f16 = fcmp ule <8 x half> undef, undef
478*366e8360SShihPo Hung  %v16f16 = fcmp ule <16 x half> undef, undef
479*366e8360SShihPo Hung  %nxv1f16 = fcmp ule <vscale x 1 x half> undef, undef
480*366e8360SShihPo Hung  %nxv2f16 = fcmp ule <vscale x 2 x half> undef, undef
481*366e8360SShihPo Hung  %nxv4f16 = fcmp ule <vscale x 4 x half> undef, undef
482*366e8360SShihPo Hung  %nxv8f16 = fcmp ule <vscale x 8 x half> undef, undef
483*366e8360SShihPo Hung  %nxv16f16 = fcmp ule <vscale x 16 x half> undef, undef
484*366e8360SShihPo Hung  ret void
485*366e8360SShihPo Hung}
486*366e8360SShihPo Hungdefine void @fcmp_ugt() {
487*366e8360SShihPo Hung; NOF16-LABEL: 'fcmp_ugt'
488*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ugt <2 x half> undef, undef
489*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp ugt <4 x half> undef, undef
490*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp ugt <8 x half> undef, undef
491*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp ugt <16 x half> undef, undef
492*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp ugt <vscale x 1 x half> undef, undef
493*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp ugt <vscale x 2 x half> undef, undef
494*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp ugt <vscale x 4 x half> undef, undef
495*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp ugt <vscale x 8 x half> undef, undef
496*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp ugt <vscale x 16 x half> undef, undef
497*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
498*366e8360SShihPo Hung;
499*366e8360SShihPo Hung; VFH-LABEL: 'fcmp_ugt'
500*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp ugt <2 x half> undef, undef
501*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v4f16 = fcmp ugt <4 x half> undef, undef
502*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v8f16 = fcmp ugt <8 x half> undef, undef
503*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v16f16 = fcmp ugt <16 x half> undef, undef
504*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv1f16 = fcmp ugt <vscale x 1 x half> undef, undef
505*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv2f16 = fcmp ugt <vscale x 2 x half> undef, undef
506*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv4f16 = fcmp ugt <vscale x 4 x half> undef, undef
507*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %nxv8f16 = fcmp ugt <vscale x 8 x half> undef, undef
508*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 5 for instruction: %nxv16f16 = fcmp ugt <vscale x 16 x half> undef, undef
509*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
510*366e8360SShihPo Hung;
511*366e8360SShihPo Hung; VFHMIN-LABEL: 'fcmp_ugt'
512*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ugt <2 x half> undef, undef
513*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ugt <4 x half> undef, undef
514*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ugt <8 x half> undef, undef
515*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ugt <16 x half> undef, undef
516*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ugt <vscale x 1 x half> undef, undef
517*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ugt <vscale x 2 x half> undef, undef
518*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ugt <vscale x 4 x half> undef, undef
519*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ugt <vscale x 8 x half> undef, undef
520*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ugt <vscale x 16 x half> undef, undef
521*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
522*366e8360SShihPo Hung;
523*366e8360SShihPo Hung  %v2f16 = fcmp ugt <2 x half> undef, undef
524*366e8360SShihPo Hung  %v4f16 = fcmp ugt <4 x half> undef, undef
525*366e8360SShihPo Hung  %v8f16 = fcmp ugt <8 x half> undef, undef
526*366e8360SShihPo Hung  %v16f16 = fcmp ugt <16 x half> undef, undef
527*366e8360SShihPo Hung  %nxv1f16 = fcmp ugt <vscale x 1 x half> undef, undef
528*366e8360SShihPo Hung  %nxv2f16 = fcmp ugt <vscale x 2 x half> undef, undef
529*366e8360SShihPo Hung  %nxv4f16 = fcmp ugt <vscale x 4 x half> undef, undef
530*366e8360SShihPo Hung  %nxv8f16 = fcmp ugt <vscale x 8 x half> undef, undef
531*366e8360SShihPo Hung  %nxv16f16 = fcmp ugt <vscale x 16 x half> undef, undef
532*366e8360SShihPo Hung  ret void
533*366e8360SShihPo Hung}
534*366e8360SShihPo Hungdefine void @fcmp_uge() {
535*366e8360SShihPo Hung; NOF16-LABEL: 'fcmp_uge'
536*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp uge <2 x half> undef, undef
537*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4f16 = fcmp uge <4 x half> undef, undef
538*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %v8f16 = fcmp uge <8 x half> undef, undef
539*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %v16f16 = fcmp uge <16 x half> undef, undef
540*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv1f16 = fcmp uge <vscale x 1 x half> undef, undef
541*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv2f16 = fcmp uge <vscale x 2 x half> undef, undef
542*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv4f16 = fcmp uge <vscale x 4 x half> undef, undef
543*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv8f16 = fcmp uge <vscale x 8 x half> undef, undef
544*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %nxv16f16 = fcmp uge <vscale x 16 x half> undef, undef
545*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
546*366e8360SShihPo Hung;
547*366e8360SShihPo Hung; VFH-LABEL: 'fcmp_uge'
548*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2f16 = fcmp uge <2 x half> undef, undef
549*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v4f16 = fcmp uge <4 x half> undef, undef
550*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v8f16 = fcmp uge <8 x half> undef, undef
551*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v16f16 = fcmp uge <16 x half> undef, undef
552*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv1f16 = fcmp uge <vscale x 1 x half> undef, undef
553*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv2f16 = fcmp uge <vscale x 2 x half> undef, undef
554*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %nxv4f16 = fcmp uge <vscale x 4 x half> undef, undef
555*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %nxv8f16 = fcmp uge <vscale x 8 x half> undef, undef
556*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 5 for instruction: %nxv16f16 = fcmp uge <vscale x 16 x half> undef, undef
557*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
558*366e8360SShihPo Hung;
559*366e8360SShihPo Hung; VFHMIN-LABEL: 'fcmp_uge'
560*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp uge <2 x half> undef, undef
561*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp uge <4 x half> undef, undef
562*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp uge <8 x half> undef, undef
563*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp uge <16 x half> undef, undef
564*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp uge <vscale x 1 x half> undef, undef
565*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp uge <vscale x 2 x half> undef, undef
566*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp uge <vscale x 4 x half> undef, undef
567*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp uge <vscale x 8 x half> undef, undef
568*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp uge <vscale x 16 x half> undef, undef
569*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
570*366e8360SShihPo Hung;
571*366e8360SShihPo Hung  %v2f16 = fcmp uge <2 x half> undef, undef
572*366e8360SShihPo Hung  %v4f16 = fcmp uge <4 x half> undef, undef
573*366e8360SShihPo Hung  %v8f16 = fcmp uge <8 x half> undef, undef
574*366e8360SShihPo Hung  %v16f16 = fcmp uge <16 x half> undef, undef
575*366e8360SShihPo Hung  %nxv1f16 = fcmp uge <vscale x 1 x half> undef, undef
576*366e8360SShihPo Hung  %nxv2f16 = fcmp uge <vscale x 2 x half> undef, undef
577*366e8360SShihPo Hung  %nxv4f16 = fcmp uge <vscale x 4 x half> undef, undef
578*366e8360SShihPo Hung  %nxv8f16 = fcmp uge <vscale x 8 x half> undef, undef
579*366e8360SShihPo Hung  %nxv16f16 = fcmp uge <vscale x 16 x half> undef, undef
580*366e8360SShihPo Hung  ret void
581*366e8360SShihPo Hung}
582*366e8360SShihPo Hungdefine void @fcmp_true() {
583*366e8360SShihPo Hung; NOF16-LABEL: 'fcmp_true'
584*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %v2f16 = fcmp true <2 x half> undef, undef
585*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %v4f16 = fcmp true <4 x half> undef, undef
586*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %v8f16 = fcmp true <8 x half> undef, undef
587*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %v16f16 = fcmp true <16 x half> undef, undef
588*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp true <vscale x 1 x half> undef, undef
589*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp true <vscale x 2 x half> undef, undef
590*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp true <vscale x 4 x half> undef, undef
591*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp true <vscale x 8 x half> undef, undef
592*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp true <vscale x 16 x half> undef, undef
593*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
594*366e8360SShihPo Hung;
595*366e8360SShihPo Hung; VFH-LABEL: 'fcmp_true'
596*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp true <2 x half> undef, undef
597*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp true <4 x half> undef, undef
598*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp true <8 x half> undef, undef
599*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp true <16 x half> undef, undef
600*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp true <vscale x 1 x half> undef, undef
601*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp true <vscale x 2 x half> undef, undef
602*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp true <vscale x 4 x half> undef, undef
603*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp true <vscale x 8 x half> undef, undef
604*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp true <vscale x 16 x half> undef, undef
605*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
606*366e8360SShihPo Hung;
607*366e8360SShihPo Hung; VFHMIN-LABEL: 'fcmp_true'
608*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp true <2 x half> undef, undef
609*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp true <4 x half> undef, undef
610*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp true <8 x half> undef, undef
611*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp true <16 x half> undef, undef
612*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp true <vscale x 1 x half> undef, undef
613*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp true <vscale x 2 x half> undef, undef
614*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp true <vscale x 4 x half> undef, undef
615*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp true <vscale x 8 x half> undef, undef
616*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp true <vscale x 16 x half> undef, undef
617*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
618*366e8360SShihPo Hung;
619*366e8360SShihPo Hung  %v2f16 = fcmp true <2 x half> undef, undef
620*366e8360SShihPo Hung  %v4f16 = fcmp true <4 x half> undef, undef
621*366e8360SShihPo Hung  %v8f16 = fcmp true <8 x half> undef, undef
622*366e8360SShihPo Hung  %v16f16 = fcmp true <16 x half> undef, undef
623*366e8360SShihPo Hung  %nxv1f16 = fcmp true <vscale x 1 x half> undef, undef
624*366e8360SShihPo Hung  %nxv2f16 = fcmp true <vscale x 2 x half> undef, undef
625*366e8360SShihPo Hung  %nxv4f16 = fcmp true <vscale x 4 x half> undef, undef
626*366e8360SShihPo Hung  %nxv8f16 = fcmp true <vscale x 8 x half> undef, undef
627*366e8360SShihPo Hung  %nxv16f16 = fcmp true <vscale x 16 x half> undef, undef
628*366e8360SShihPo Hung  ret void
629*366e8360SShihPo Hung}
630*366e8360SShihPo Hungdefine void @fcmp_false() {
631*366e8360SShihPo Hung; NOF16-LABEL: 'fcmp_false'
632*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %v2f16 = fcmp false <2 x half> undef, undef
633*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %v4f16 = fcmp false <4 x half> undef, undef
634*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %v8f16 = fcmp false <8 x half> undef, undef
635*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Invalid cost for instruction: %v16f16 = fcmp false <16 x half> undef, undef
636*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp false <vscale x 1 x half> undef, undef
637*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp false <vscale x 2 x half> undef, undef
638*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp false <vscale x 4 x half> undef, undef
639*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp false <vscale x 8 x half> undef, undef
640*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp false <vscale x 16 x half> undef, undef
641*366e8360SShihPo Hung; NOF16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
642*366e8360SShihPo Hung;
643*366e8360SShihPo Hung; VFH-LABEL: 'fcmp_false'
644*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp false <2 x half> undef, undef
645*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp false <4 x half> undef, undef
646*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp false <8 x half> undef, undef
647*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp false <16 x half> undef, undef
648*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp false <vscale x 1 x half> undef, undef
649*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp false <vscale x 2 x half> undef, undef
650*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp false <vscale x 4 x half> undef, undef
651*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp false <vscale x 8 x half> undef, undef
652*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp false <vscale x 16 x half> undef, undef
653*366e8360SShihPo Hung; VFH-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
654*366e8360SShihPo Hung;
655*366e8360SShihPo Hung; VFHMIN-LABEL: 'fcmp_false'
656*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp false <2 x half> undef, undef
657*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp false <4 x half> undef, undef
658*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp false <8 x half> undef, undef
659*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp false <16 x half> undef, undef
660*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp false <vscale x 1 x half> undef, undef
661*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp false <vscale x 2 x half> undef, undef
662*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp false <vscale x 4 x half> undef, undef
663*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp false <vscale x 8 x half> undef, undef
664*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp false <vscale x 16 x half> undef, undef
665*366e8360SShihPo Hung; VFHMIN-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
666*366e8360SShihPo Hung;
667*366e8360SShihPo Hung  %v2f16 = fcmp false <2 x half> undef, undef
668*366e8360SShihPo Hung  %v4f16 = fcmp false <4 x half> undef, undef
669*366e8360SShihPo Hung  %v8f16 = fcmp false <8 x half> undef, undef
670*366e8360SShihPo Hung  %v16f16 = fcmp false <16 x half> undef, undef
671*366e8360SShihPo Hung  %nxv1f16 = fcmp false <vscale x 1 x half> undef, undef
672*366e8360SShihPo Hung  %nxv2f16 = fcmp false <vscale x 2 x half> undef, undef
673*366e8360SShihPo Hung  %nxv4f16 = fcmp false <vscale x 4 x half> undef, undef
674*366e8360SShihPo Hung  %nxv8f16 = fcmp false <vscale x 8 x half> undef, undef
675*366e8360SShihPo Hung  %nxv16f16 = fcmp false <vscale x 16 x half> undef, undef
676*366e8360SShihPo Hung  ret void
677*366e8360SShihPo Hung}
678