[TTI] getTypeBasedIntrinsicInstrCost - add basic handling for strided load/store...
[llvm-project.git] / llvm / test / CodeGen / RISCV / rvv / fixed-vectors-setcc-fp-vp.ll
blob03d5762b4903efbc111742d2bb64f35d21f14fdc
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=riscv32 -mattr=+v,+m,+zfh,+zvfh -target-abi=ilp32d \
3 ; RUN:   -verify-machineinstrs < %s | FileCheck %s \
4 ; RUN:   --check-prefixes=CHECK,ZVFH,ZVFH32
5 ; RUN: llc -mtriple=riscv64 -mattr=+v,+m,+zfh,+zvfh -target-abi=lp64d \
6 ; RUN:   -verify-machineinstrs < %s | FileCheck %s \
7 ; RUN:   --check-prefixes=CHECK,ZVFH,ZVFH64
8 ; RUN: llc -mtriple=riscv32 -mattr=+v,+m,+zfh,+zvfhmin -target-abi=ilp32d \
9 ; RUN:   -verify-machineinstrs < %s | FileCheck %s --check-prefixes=CHECK,ZVFHMIN,ZVFHMIN32
10 ; RUN: llc -mtriple=riscv64 -mattr=+v,+m,+zfh,+zvfhmin -target-abi=lp64d \
11 ; RUN:   -verify-machineinstrs < %s | FileCheck %s \
12 ; RUN:   --check-prefixes=CHECK,ZVFHMIN,ZVFHMIN64
14 declare <7 x i1> @llvm.vp.fcmp.v7f16(<7 x half>, <7 x half>, metadata, <7 x i1>, i32)
16 define <7 x i1> @fcmp_oeq_vv_v7f16(<7 x half> %va, <7 x half> %vb, <7 x i1> %m, i32 zeroext %evl) {
17 ; ZVFH-LABEL: fcmp_oeq_vv_v7f16:
18 ; ZVFH:       # %bb.0:
19 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
20 ; ZVFH-NEXT:    vmfeq.vv v0, v8, v9, v0.t
21 ; ZVFH-NEXT:    ret
23 ; ZVFHMIN-LABEL: fcmp_oeq_vv_v7f16:
24 ; ZVFHMIN:       # %bb.0:
25 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
26 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v9
27 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v8
28 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
29 ; ZVFHMIN-NEXT:    vmfeq.vv v8, v12, v10, v0.t
30 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
31 ; ZVFHMIN-NEXT:    ret
32   %v = call <7 x i1> @llvm.vp.fcmp.v7f16(<7 x half> %va, <7 x half> %vb, metadata !"oeq", <7 x i1> %m, i32 %evl)
33   ret <7 x i1> %v
36 declare <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half>, <8 x half>, metadata, <8 x i1>, i32)
38 define <8 x i1> @fcmp_oeq_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {
39 ; ZVFH-LABEL: fcmp_oeq_vv_v8f16:
40 ; ZVFH:       # %bb.0:
41 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
42 ; ZVFH-NEXT:    vmfeq.vv v0, v8, v9, v0.t
43 ; ZVFH-NEXT:    ret
45 ; ZVFHMIN-LABEL: fcmp_oeq_vv_v8f16:
46 ; ZVFHMIN:       # %bb.0:
47 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
48 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v9
49 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v8
50 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
51 ; ZVFHMIN-NEXT:    vmfeq.vv v8, v12, v10, v0.t
52 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
53 ; ZVFHMIN-NEXT:    ret
54   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"oeq", <8 x i1> %m, i32 %evl)
55   ret <8 x i1> %v
58 define <8 x i1> @fcmp_oeq_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
59 ; ZVFH-LABEL: fcmp_oeq_vf_v8f16:
60 ; ZVFH:       # %bb.0:
61 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
62 ; ZVFH-NEXT:    vmfeq.vf v0, v8, fa0, v0.t
63 ; ZVFH-NEXT:    ret
65 ; ZVFHMIN-LABEL: fcmp_oeq_vf_v8f16:
66 ; ZVFHMIN:       # %bb.0:
67 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
68 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
69 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
70 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
71 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
72 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
73 ; ZVFHMIN-NEXT:    vmfeq.vv v8, v10, v12, v0.t
74 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
75 ; ZVFHMIN-NEXT:    ret
76   %elt.head = insertelement <8 x half> poison, half %b, i32 0
77   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
78   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"oeq", <8 x i1> %m, i32 %evl)
79   ret <8 x i1> %v
82 define <8 x i1> @fcmp_oeq_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
83 ; ZVFH-LABEL: fcmp_oeq_vf_swap_v8f16:
84 ; ZVFH:       # %bb.0:
85 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
86 ; ZVFH-NEXT:    vmfeq.vf v0, v8, fa0, v0.t
87 ; ZVFH-NEXT:    ret
89 ; ZVFHMIN-LABEL: fcmp_oeq_vf_swap_v8f16:
90 ; ZVFHMIN:       # %bb.0:
91 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
92 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
93 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
94 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
95 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
96 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
97 ; ZVFHMIN-NEXT:    vmfeq.vv v8, v12, v10, v0.t
98 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
99 ; ZVFHMIN-NEXT:    ret
100   %elt.head = insertelement <8 x half> poison, half %b, i32 0
101   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
102   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %vb, <8 x half> %va, metadata !"oeq", <8 x i1> %m, i32 %evl)
103   ret <8 x i1> %v
106 define <8 x i1> @fcmp_ogt_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {
107 ; ZVFH-LABEL: fcmp_ogt_vv_v8f16:
108 ; ZVFH:       # %bb.0:
109 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
110 ; ZVFH-NEXT:    vmflt.vv v0, v9, v8, v0.t
111 ; ZVFH-NEXT:    ret
113 ; ZVFHMIN-LABEL: fcmp_ogt_vv_v8f16:
114 ; ZVFHMIN:       # %bb.0:
115 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
116 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
117 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
118 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
119 ; ZVFHMIN-NEXT:    vmflt.vv v8, v12, v10, v0.t
120 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
121 ; ZVFHMIN-NEXT:    ret
122   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"ogt", <8 x i1> %m, i32 %evl)
123   ret <8 x i1> %v
126 define <8 x i1> @fcmp_ogt_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
127 ; ZVFH-LABEL: fcmp_ogt_vf_v8f16:
128 ; ZVFH:       # %bb.0:
129 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
130 ; ZVFH-NEXT:    vmfgt.vf v0, v8, fa0, v0.t
131 ; ZVFH-NEXT:    ret
133 ; ZVFHMIN-LABEL: fcmp_ogt_vf_v8f16:
134 ; ZVFHMIN:       # %bb.0:
135 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
136 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
137 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
138 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
139 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
140 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
141 ; ZVFHMIN-NEXT:    vmflt.vv v8, v12, v10, v0.t
142 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
143 ; ZVFHMIN-NEXT:    ret
144   %elt.head = insertelement <8 x half> poison, half %b, i32 0
145   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
146   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"ogt", <8 x i1> %m, i32 %evl)
147   ret <8 x i1> %v
150 define <8 x i1> @fcmp_ogt_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
151 ; ZVFH-LABEL: fcmp_ogt_vf_swap_v8f16:
152 ; ZVFH:       # %bb.0:
153 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
154 ; ZVFH-NEXT:    vmflt.vf v0, v8, fa0, v0.t
155 ; ZVFH-NEXT:    ret
157 ; ZVFHMIN-LABEL: fcmp_ogt_vf_swap_v8f16:
158 ; ZVFHMIN:       # %bb.0:
159 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
160 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
161 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
162 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
163 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
164 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
165 ; ZVFHMIN-NEXT:    vmflt.vv v8, v10, v12, v0.t
166 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
167 ; ZVFHMIN-NEXT:    ret
168   %elt.head = insertelement <8 x half> poison, half %b, i32 0
169   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
170   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %vb, <8 x half> %va, metadata !"ogt", <8 x i1> %m, i32 %evl)
171   ret <8 x i1> %v
174 define <8 x i1> @fcmp_oge_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {
175 ; ZVFH-LABEL: fcmp_oge_vv_v8f16:
176 ; ZVFH:       # %bb.0:
177 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
178 ; ZVFH-NEXT:    vmfle.vv v0, v9, v8, v0.t
179 ; ZVFH-NEXT:    ret
181 ; ZVFHMIN-LABEL: fcmp_oge_vv_v8f16:
182 ; ZVFHMIN:       # %bb.0:
183 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
184 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
185 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
186 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
187 ; ZVFHMIN-NEXT:    vmfle.vv v8, v12, v10, v0.t
188 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
189 ; ZVFHMIN-NEXT:    ret
190   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"oge", <8 x i1> %m, i32 %evl)
191   ret <8 x i1> %v
194 define <8 x i1> @fcmp_oge_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
195 ; ZVFH-LABEL: fcmp_oge_vf_v8f16:
196 ; ZVFH:       # %bb.0:
197 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
198 ; ZVFH-NEXT:    vmfge.vf v0, v8, fa0, v0.t
199 ; ZVFH-NEXT:    ret
201 ; ZVFHMIN-LABEL: fcmp_oge_vf_v8f16:
202 ; ZVFHMIN:       # %bb.0:
203 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
204 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
205 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
206 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
207 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
208 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
209 ; ZVFHMIN-NEXT:    vmfle.vv v8, v12, v10, v0.t
210 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
211 ; ZVFHMIN-NEXT:    ret
212   %elt.head = insertelement <8 x half> poison, half %b, i32 0
213   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
214   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"oge", <8 x i1> %m, i32 %evl)
215   ret <8 x i1> %v
218 define <8 x i1> @fcmp_oge_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
219 ; ZVFH-LABEL: fcmp_oge_vf_swap_v8f16:
220 ; ZVFH:       # %bb.0:
221 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
222 ; ZVFH-NEXT:    vmfle.vf v0, v8, fa0, v0.t
223 ; ZVFH-NEXT:    ret
225 ; ZVFHMIN-LABEL: fcmp_oge_vf_swap_v8f16:
226 ; ZVFHMIN:       # %bb.0:
227 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
228 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
229 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
230 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
231 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
232 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
233 ; ZVFHMIN-NEXT:    vmfle.vv v8, v10, v12, v0.t
234 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
235 ; ZVFHMIN-NEXT:    ret
236   %elt.head = insertelement <8 x half> poison, half %b, i32 0
237   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
238   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %vb, <8 x half> %va, metadata !"oge", <8 x i1> %m, i32 %evl)
239   ret <8 x i1> %v
242 define <8 x i1> @fcmp_olt_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {
243 ; ZVFH-LABEL: fcmp_olt_vv_v8f16:
244 ; ZVFH:       # %bb.0:
245 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
246 ; ZVFH-NEXT:    vmflt.vv v0, v8, v9, v0.t
247 ; ZVFH-NEXT:    ret
249 ; ZVFHMIN-LABEL: fcmp_olt_vv_v8f16:
250 ; ZVFHMIN:       # %bb.0:
251 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
252 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v9
253 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v8
254 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
255 ; ZVFHMIN-NEXT:    vmflt.vv v8, v12, v10, v0.t
256 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
257 ; ZVFHMIN-NEXT:    ret
258   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"olt", <8 x i1> %m, i32 %evl)
259   ret <8 x i1> %v
262 define <8 x i1> @fcmp_olt_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
263 ; ZVFH-LABEL: fcmp_olt_vf_v8f16:
264 ; ZVFH:       # %bb.0:
265 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
266 ; ZVFH-NEXT:    vmflt.vf v0, v8, fa0, v0.t
267 ; ZVFH-NEXT:    ret
269 ; ZVFHMIN-LABEL: fcmp_olt_vf_v8f16:
270 ; ZVFHMIN:       # %bb.0:
271 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
272 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
273 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
274 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
275 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
276 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
277 ; ZVFHMIN-NEXT:    vmflt.vv v8, v10, v12, v0.t
278 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
279 ; ZVFHMIN-NEXT:    ret
280   %elt.head = insertelement <8 x half> poison, half %b, i32 0
281   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
282   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"olt", <8 x i1> %m, i32 %evl)
283   ret <8 x i1> %v
286 define <8 x i1> @fcmp_olt_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
287 ; ZVFH-LABEL: fcmp_olt_vf_swap_v8f16:
288 ; ZVFH:       # %bb.0:
289 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
290 ; ZVFH-NEXT:    vmfgt.vf v0, v8, fa0, v0.t
291 ; ZVFH-NEXT:    ret
293 ; ZVFHMIN-LABEL: fcmp_olt_vf_swap_v8f16:
294 ; ZVFHMIN:       # %bb.0:
295 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
296 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
297 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
298 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
299 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
300 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
301 ; ZVFHMIN-NEXT:    vmflt.vv v8, v12, v10, v0.t
302 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
303 ; ZVFHMIN-NEXT:    ret
304   %elt.head = insertelement <8 x half> poison, half %b, i32 0
305   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
306   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %vb, <8 x half> %va, metadata !"olt", <8 x i1> %m, i32 %evl)
307   ret <8 x i1> %v
310 define <8 x i1> @fcmp_ole_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {
311 ; ZVFH-LABEL: fcmp_ole_vv_v8f16:
312 ; ZVFH:       # %bb.0:
313 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
314 ; ZVFH-NEXT:    vmfle.vv v0, v8, v9, v0.t
315 ; ZVFH-NEXT:    ret
317 ; ZVFHMIN-LABEL: fcmp_ole_vv_v8f16:
318 ; ZVFHMIN:       # %bb.0:
319 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
320 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v9
321 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v8
322 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
323 ; ZVFHMIN-NEXT:    vmfle.vv v8, v12, v10, v0.t
324 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
325 ; ZVFHMIN-NEXT:    ret
326   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"ole", <8 x i1> %m, i32 %evl)
327   ret <8 x i1> %v
330 define <8 x i1> @fcmp_ole_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
331 ; ZVFH-LABEL: fcmp_ole_vf_v8f16:
332 ; ZVFH:       # %bb.0:
333 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
334 ; ZVFH-NEXT:    vmfle.vf v0, v8, fa0, v0.t
335 ; ZVFH-NEXT:    ret
337 ; ZVFHMIN-LABEL: fcmp_ole_vf_v8f16:
338 ; ZVFHMIN:       # %bb.0:
339 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
340 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
341 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
342 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
343 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
344 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
345 ; ZVFHMIN-NEXT:    vmfle.vv v8, v10, v12, v0.t
346 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
347 ; ZVFHMIN-NEXT:    ret
348   %elt.head = insertelement <8 x half> poison, half %b, i32 0
349   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
350   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"ole", <8 x i1> %m, i32 %evl)
351   ret <8 x i1> %v
354 define <8 x i1> @fcmp_ole_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
355 ; ZVFH-LABEL: fcmp_ole_vf_swap_v8f16:
356 ; ZVFH:       # %bb.0:
357 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
358 ; ZVFH-NEXT:    vmfge.vf v0, v8, fa0, v0.t
359 ; ZVFH-NEXT:    ret
361 ; ZVFHMIN-LABEL: fcmp_ole_vf_swap_v8f16:
362 ; ZVFHMIN:       # %bb.0:
363 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
364 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
365 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
366 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
367 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
368 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
369 ; ZVFHMIN-NEXT:    vmfle.vv v8, v12, v10, v0.t
370 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
371 ; ZVFHMIN-NEXT:    ret
372   %elt.head = insertelement <8 x half> poison, half %b, i32 0
373   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
374   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %vb, <8 x half> %va, metadata !"ole", <8 x i1> %m, i32 %evl)
375   ret <8 x i1> %v
378 define <8 x i1> @fcmp_one_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {
379 ; ZVFH-LABEL: fcmp_one_vv_v8f16:
380 ; ZVFH:       # %bb.0:
381 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
382 ; ZVFH-NEXT:    vmflt.vv v10, v8, v9, v0.t
383 ; ZVFH-NEXT:    vmflt.vv v8, v9, v8, v0.t
384 ; ZVFH-NEXT:    vmor.mm v0, v8, v10
385 ; ZVFH-NEXT:    ret
387 ; ZVFHMIN-LABEL: fcmp_one_vv_v8f16:
388 ; ZVFHMIN:       # %bb.0:
389 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
390 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v9
391 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v8
392 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
393 ; ZVFHMIN-NEXT:    vmflt.vv v8, v12, v10, v0.t
394 ; ZVFHMIN-NEXT:    vmflt.vv v9, v10, v12, v0.t
395 ; ZVFHMIN-NEXT:    vmor.mm v0, v9, v8
396 ; ZVFHMIN-NEXT:    ret
397   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"one", <8 x i1> %m, i32 %evl)
398   ret <8 x i1> %v
401 define <8 x i1> @fcmp_one_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
402 ; ZVFH-LABEL: fcmp_one_vf_v8f16:
403 ; ZVFH:       # %bb.0:
404 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
405 ; ZVFH-NEXT:    vmflt.vf v9, v8, fa0, v0.t
406 ; ZVFH-NEXT:    vmfgt.vf v8, v8, fa0, v0.t
407 ; ZVFH-NEXT:    vmor.mm v0, v8, v9
408 ; ZVFH-NEXT:    ret
410 ; ZVFHMIN-LABEL: fcmp_one_vf_v8f16:
411 ; ZVFHMIN:       # %bb.0:
412 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
413 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
414 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
415 ; ZVFHMIN-NEXT:    vmv.v.x v8, a1
416 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v8
417 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
418 ; ZVFHMIN-NEXT:    vmflt.vv v8, v10, v12, v0.t
419 ; ZVFHMIN-NEXT:    vmflt.vv v9, v12, v10, v0.t
420 ; ZVFHMIN-NEXT:    vmor.mm v0, v9, v8
421 ; ZVFHMIN-NEXT:    ret
422   %elt.head = insertelement <8 x half> poison, half %b, i32 0
423   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
424   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"one", <8 x i1> %m, i32 %evl)
425   ret <8 x i1> %v
428 define <8 x i1> @fcmp_one_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
429 ; ZVFH-LABEL: fcmp_one_vf_swap_v8f16:
430 ; ZVFH:       # %bb.0:
431 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
432 ; ZVFH-NEXT:    vmfgt.vf v9, v8, fa0, v0.t
433 ; ZVFH-NEXT:    vmflt.vf v8, v8, fa0, v0.t
434 ; ZVFH-NEXT:    vmor.mm v0, v8, v9
435 ; ZVFH-NEXT:    ret
437 ; ZVFHMIN-LABEL: fcmp_one_vf_swap_v8f16:
438 ; ZVFHMIN:       # %bb.0:
439 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
440 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
441 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
442 ; ZVFHMIN-NEXT:    vmv.v.x v8, a1
443 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v8
444 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
445 ; ZVFHMIN-NEXT:    vmflt.vv v8, v12, v10, v0.t
446 ; ZVFHMIN-NEXT:    vmflt.vv v9, v10, v12, v0.t
447 ; ZVFHMIN-NEXT:    vmor.mm v0, v9, v8
448 ; ZVFHMIN-NEXT:    ret
449   %elt.head = insertelement <8 x half> poison, half %b, i32 0
450   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
451   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %vb, <8 x half> %va, metadata !"one", <8 x i1> %m, i32 %evl)
452   ret <8 x i1> %v
455 define <8 x i1> @fcmp_ord_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {
456 ; ZVFH-LABEL: fcmp_ord_vv_v8f16:
457 ; ZVFH:       # %bb.0:
458 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
459 ; ZVFH-NEXT:    vmfeq.vv v9, v9, v9, v0.t
460 ; ZVFH-NEXT:    vmfeq.vv v8, v8, v8, v0.t
461 ; ZVFH-NEXT:    vmand.mm v0, v8, v9
462 ; ZVFH-NEXT:    ret
464 ; ZVFHMIN-LABEL: fcmp_ord_vv_v8f16:
465 ; ZVFHMIN:       # %bb.0:
466 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
467 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v9
468 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
469 ; ZVFHMIN-NEXT:    vmfeq.vv v9, v10, v10, v0.t
470 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
471 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
472 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
473 ; ZVFHMIN-NEXT:    vmfeq.vv v8, v10, v10, v0.t
474 ; ZVFHMIN-NEXT:    vmand.mm v0, v8, v9
475 ; ZVFHMIN-NEXT:    ret
476   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"ord", <8 x i1> %m, i32 %evl)
477   ret <8 x i1> %v
480 define <8 x i1> @fcmp_ord_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
481 ; ZVFH-LABEL: fcmp_ord_vf_v8f16:
482 ; ZVFH:       # %bb.0:
483 ; ZVFH-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
484 ; ZVFH-NEXT:    vfmv.v.f v9, fa0
485 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
486 ; ZVFH-NEXT:    vmfeq.vf v9, v9, fa0, v0.t
487 ; ZVFH-NEXT:    vmfeq.vv v8, v8, v8, v0.t
488 ; ZVFH-NEXT:    vmand.mm v0, v8, v9
489 ; ZVFH-NEXT:    ret
491 ; ZVFHMIN-LABEL: fcmp_ord_vf_v8f16:
492 ; ZVFHMIN:       # %bb.0:
493 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
494 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
495 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
496 ; ZVFHMIN-NEXT:    vmv.v.x v8, a1
497 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
498 ; ZVFHMIN-NEXT:    vmfeq.vv v9, v10, v10, v0.t
499 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
500 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
501 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
502 ; ZVFHMIN-NEXT:    vmfeq.vv v8, v10, v10, v0.t
503 ; ZVFHMIN-NEXT:    vmand.mm v0, v9, v8
504 ; ZVFHMIN-NEXT:    ret
505   %elt.head = insertelement <8 x half> poison, half %b, i32 0
506   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
507   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"ord", <8 x i1> %m, i32 %evl)
508   ret <8 x i1> %v
511 define <8 x i1> @fcmp_ord_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
512 ; ZVFH-LABEL: fcmp_ord_vf_swap_v8f16:
513 ; ZVFH:       # %bb.0:
514 ; ZVFH-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
515 ; ZVFH-NEXT:    vfmv.v.f v9, fa0
516 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
517 ; ZVFH-NEXT:    vmfeq.vf v9, v9, fa0, v0.t
518 ; ZVFH-NEXT:    vmfeq.vv v8, v8, v8, v0.t
519 ; ZVFH-NEXT:    vmand.mm v0, v9, v8
520 ; ZVFH-NEXT:    ret
522 ; ZVFHMIN-LABEL: fcmp_ord_vf_swap_v8f16:
523 ; ZVFHMIN:       # %bb.0:
524 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
525 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
526 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
527 ; ZVFHMIN-NEXT:    vmv.v.x v8, a1
528 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
529 ; ZVFHMIN-NEXT:    vmfeq.vv v9, v10, v10, v0.t
530 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
531 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
532 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
533 ; ZVFHMIN-NEXT:    vmfeq.vv v8, v10, v10, v0.t
534 ; ZVFHMIN-NEXT:    vmand.mm v0, v8, v9
535 ; ZVFHMIN-NEXT:    ret
536   %elt.head = insertelement <8 x half> poison, half %b, i32 0
537   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
538   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %vb, <8 x half> %va, metadata !"ord", <8 x i1> %m, i32 %evl)
539   ret <8 x i1> %v
542 define <8 x i1> @fcmp_ueq_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {
543 ; ZVFH-LABEL: fcmp_ueq_vv_v8f16:
544 ; ZVFH:       # %bb.0:
545 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
546 ; ZVFH-NEXT:    vmflt.vv v10, v8, v9, v0.t
547 ; ZVFH-NEXT:    vmflt.vv v8, v9, v8, v0.t
548 ; ZVFH-NEXT:    vmnor.mm v0, v8, v10
549 ; ZVFH-NEXT:    ret
551 ; ZVFHMIN-LABEL: fcmp_ueq_vv_v8f16:
552 ; ZVFHMIN:       # %bb.0:
553 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
554 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v9
555 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v8
556 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
557 ; ZVFHMIN-NEXT:    vmflt.vv v8, v12, v10, v0.t
558 ; ZVFHMIN-NEXT:    vmflt.vv v9, v10, v12, v0.t
559 ; ZVFHMIN-NEXT:    vmnor.mm v0, v9, v8
560 ; ZVFHMIN-NEXT:    ret
561   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"ueq", <8 x i1> %m, i32 %evl)
562   ret <8 x i1> %v
565 define <8 x i1> @fcmp_ueq_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
566 ; ZVFH-LABEL: fcmp_ueq_vf_v8f16:
567 ; ZVFH:       # %bb.0:
568 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
569 ; ZVFH-NEXT:    vmflt.vf v9, v8, fa0, v0.t
570 ; ZVFH-NEXT:    vmfgt.vf v8, v8, fa0, v0.t
571 ; ZVFH-NEXT:    vmnor.mm v0, v8, v9
572 ; ZVFH-NEXT:    ret
574 ; ZVFHMIN-LABEL: fcmp_ueq_vf_v8f16:
575 ; ZVFHMIN:       # %bb.0:
576 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
577 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
578 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
579 ; ZVFHMIN-NEXT:    vmv.v.x v8, a1
580 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v8
581 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
582 ; ZVFHMIN-NEXT:    vmflt.vv v8, v10, v12, v0.t
583 ; ZVFHMIN-NEXT:    vmflt.vv v9, v12, v10, v0.t
584 ; ZVFHMIN-NEXT:    vmnor.mm v0, v9, v8
585 ; ZVFHMIN-NEXT:    ret
586   %elt.head = insertelement <8 x half> poison, half %b, i32 0
587   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
588   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"ueq", <8 x i1> %m, i32 %evl)
589   ret <8 x i1> %v
592 define <8 x i1> @fcmp_ueq_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
593 ; ZVFH-LABEL: fcmp_ueq_vf_swap_v8f16:
594 ; ZVFH:       # %bb.0:
595 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
596 ; ZVFH-NEXT:    vmfgt.vf v9, v8, fa0, v0.t
597 ; ZVFH-NEXT:    vmflt.vf v8, v8, fa0, v0.t
598 ; ZVFH-NEXT:    vmnor.mm v0, v8, v9
599 ; ZVFH-NEXT:    ret
601 ; ZVFHMIN-LABEL: fcmp_ueq_vf_swap_v8f16:
602 ; ZVFHMIN:       # %bb.0:
603 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
604 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
605 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
606 ; ZVFHMIN-NEXT:    vmv.v.x v8, a1
607 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v8
608 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
609 ; ZVFHMIN-NEXT:    vmflt.vv v8, v12, v10, v0.t
610 ; ZVFHMIN-NEXT:    vmflt.vv v9, v10, v12, v0.t
611 ; ZVFHMIN-NEXT:    vmnor.mm v0, v9, v8
612 ; ZVFHMIN-NEXT:    ret
613   %elt.head = insertelement <8 x half> poison, half %b, i32 0
614   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
615   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %vb, <8 x half> %va, metadata !"ueq", <8 x i1> %m, i32 %evl)
616   ret <8 x i1> %v
619 define <8 x i1> @fcmp_ugt_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {
620 ; ZVFH-LABEL: fcmp_ugt_vv_v8f16:
621 ; ZVFH:       # %bb.0:
622 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
623 ; ZVFH-NEXT:    vmfle.vv v8, v8, v9, v0.t
624 ; ZVFH-NEXT:    vmnot.m v0, v8
625 ; ZVFH-NEXT:    ret
627 ; ZVFHMIN-LABEL: fcmp_ugt_vv_v8f16:
628 ; ZVFHMIN:       # %bb.0:
629 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
630 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v9
631 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v8
632 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
633 ; ZVFHMIN-NEXT:    vmfle.vv v8, v12, v10, v0.t
634 ; ZVFHMIN-NEXT:    vmnot.m v0, v8
635 ; ZVFHMIN-NEXT:    ret
636   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"ugt", <8 x i1> %m, i32 %evl)
637   ret <8 x i1> %v
640 define <8 x i1> @fcmp_ugt_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
641 ; ZVFH-LABEL: fcmp_ugt_vf_v8f16:
642 ; ZVFH:       # %bb.0:
643 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
644 ; ZVFH-NEXT:    vmfle.vf v8, v8, fa0, v0.t
645 ; ZVFH-NEXT:    vmnot.m v0, v8
646 ; ZVFH-NEXT:    ret
648 ; ZVFHMIN-LABEL: fcmp_ugt_vf_v8f16:
649 ; ZVFHMIN:       # %bb.0:
650 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
651 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
652 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
653 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
654 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
655 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
656 ; ZVFHMIN-NEXT:    vmfle.vv v8, v10, v12, v0.t
657 ; ZVFHMIN-NEXT:    vmnot.m v0, v8
658 ; ZVFHMIN-NEXT:    ret
659   %elt.head = insertelement <8 x half> poison, half %b, i32 0
660   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
661   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"ugt", <8 x i1> %m, i32 %evl)
662   ret <8 x i1> %v
665 define <8 x i1> @fcmp_ugt_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
666 ; ZVFH-LABEL: fcmp_ugt_vf_swap_v8f16:
667 ; ZVFH:       # %bb.0:
668 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
669 ; ZVFH-NEXT:    vmfge.vf v8, v8, fa0, v0.t
670 ; ZVFH-NEXT:    vmnot.m v0, v8
671 ; ZVFH-NEXT:    ret
673 ; ZVFHMIN-LABEL: fcmp_ugt_vf_swap_v8f16:
674 ; ZVFHMIN:       # %bb.0:
675 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
676 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
677 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
678 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
679 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
680 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
681 ; ZVFHMIN-NEXT:    vmfle.vv v8, v12, v10, v0.t
682 ; ZVFHMIN-NEXT:    vmnot.m v0, v8
683 ; ZVFHMIN-NEXT:    ret
684   %elt.head = insertelement <8 x half> poison, half %b, i32 0
685   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
686   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %vb, <8 x half> %va, metadata !"ugt", <8 x i1> %m, i32 %evl)
687   ret <8 x i1> %v
690 define <8 x i1> @fcmp_uge_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {
691 ; ZVFH-LABEL: fcmp_uge_vv_v8f16:
692 ; ZVFH:       # %bb.0:
693 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
694 ; ZVFH-NEXT:    vmflt.vv v8, v8, v9, v0.t
695 ; ZVFH-NEXT:    vmnot.m v0, v8
696 ; ZVFH-NEXT:    ret
698 ; ZVFHMIN-LABEL: fcmp_uge_vv_v8f16:
699 ; ZVFHMIN:       # %bb.0:
700 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
701 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v9
702 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v8
703 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
704 ; ZVFHMIN-NEXT:    vmflt.vv v8, v12, v10, v0.t
705 ; ZVFHMIN-NEXT:    vmnot.m v0, v8
706 ; ZVFHMIN-NEXT:    ret
707   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"uge", <8 x i1> %m, i32 %evl)
708   ret <8 x i1> %v
711 define <8 x i1> @fcmp_uge_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
712 ; ZVFH-LABEL: fcmp_uge_vf_v8f16:
713 ; ZVFH:       # %bb.0:
714 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
715 ; ZVFH-NEXT:    vmflt.vf v8, v8, fa0, v0.t
716 ; ZVFH-NEXT:    vmnot.m v0, v8
717 ; ZVFH-NEXT:    ret
719 ; ZVFHMIN-LABEL: fcmp_uge_vf_v8f16:
720 ; ZVFHMIN:       # %bb.0:
721 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
722 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
723 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
724 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
725 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
726 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
727 ; ZVFHMIN-NEXT:    vmflt.vv v8, v10, v12, v0.t
728 ; ZVFHMIN-NEXT:    vmnot.m v0, v8
729 ; ZVFHMIN-NEXT:    ret
730   %elt.head = insertelement <8 x half> poison, half %b, i32 0
731   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
732   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"uge", <8 x i1> %m, i32 %evl)
733   ret <8 x i1> %v
736 define <8 x i1> @fcmp_uge_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
737 ; ZVFH-LABEL: fcmp_uge_vf_swap_v8f16:
738 ; ZVFH:       # %bb.0:
739 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
740 ; ZVFH-NEXT:    vmfgt.vf v8, v8, fa0, v0.t
741 ; ZVFH-NEXT:    vmnot.m v0, v8
742 ; ZVFH-NEXT:    ret
744 ; ZVFHMIN-LABEL: fcmp_uge_vf_swap_v8f16:
745 ; ZVFHMIN:       # %bb.0:
746 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
747 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
748 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
749 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
750 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
751 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
752 ; ZVFHMIN-NEXT:    vmflt.vv v8, v12, v10, v0.t
753 ; ZVFHMIN-NEXT:    vmnot.m v0, v8
754 ; ZVFHMIN-NEXT:    ret
755   %elt.head = insertelement <8 x half> poison, half %b, i32 0
756   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
757   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %vb, <8 x half> %va, metadata !"uge", <8 x i1> %m, i32 %evl)
758   ret <8 x i1> %v
761 define <8 x i1> @fcmp_ult_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {
762 ; ZVFH-LABEL: fcmp_ult_vv_v8f16:
763 ; ZVFH:       # %bb.0:
764 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
765 ; ZVFH-NEXT:    vmfle.vv v8, v9, v8, v0.t
766 ; ZVFH-NEXT:    vmnot.m v0, v8
767 ; ZVFH-NEXT:    ret
769 ; ZVFHMIN-LABEL: fcmp_ult_vv_v8f16:
770 ; ZVFHMIN:       # %bb.0:
771 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
772 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
773 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
774 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
775 ; ZVFHMIN-NEXT:    vmfle.vv v8, v12, v10, v0.t
776 ; ZVFHMIN-NEXT:    vmnot.m v0, v8
777 ; ZVFHMIN-NEXT:    ret
778   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"ult", <8 x i1> %m, i32 %evl)
779   ret <8 x i1> %v
782 define <8 x i1> @fcmp_ult_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
783 ; ZVFH-LABEL: fcmp_ult_vf_v8f16:
784 ; ZVFH:       # %bb.0:
785 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
786 ; ZVFH-NEXT:    vmfge.vf v8, v8, fa0, v0.t
787 ; ZVFH-NEXT:    vmnot.m v0, v8
788 ; ZVFH-NEXT:    ret
790 ; ZVFHMIN-LABEL: fcmp_ult_vf_v8f16:
791 ; ZVFHMIN:       # %bb.0:
792 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
793 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
794 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
795 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
796 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
797 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
798 ; ZVFHMIN-NEXT:    vmfle.vv v8, v12, v10, v0.t
799 ; ZVFHMIN-NEXT:    vmnot.m v0, v8
800 ; ZVFHMIN-NEXT:    ret
801   %elt.head = insertelement <8 x half> poison, half %b, i32 0
802   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
803   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"ult", <8 x i1> %m, i32 %evl)
804   ret <8 x i1> %v
807 define <8 x i1> @fcmp_ult_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
808 ; ZVFH-LABEL: fcmp_ult_vf_swap_v8f16:
809 ; ZVFH:       # %bb.0:
810 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
811 ; ZVFH-NEXT:    vmfle.vf v8, v8, fa0, v0.t
812 ; ZVFH-NEXT:    vmnot.m v0, v8
813 ; ZVFH-NEXT:    ret
815 ; ZVFHMIN-LABEL: fcmp_ult_vf_swap_v8f16:
816 ; ZVFHMIN:       # %bb.0:
817 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
818 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
819 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
820 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
821 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
822 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
823 ; ZVFHMIN-NEXT:    vmfle.vv v8, v10, v12, v0.t
824 ; ZVFHMIN-NEXT:    vmnot.m v0, v8
825 ; ZVFHMIN-NEXT:    ret
826   %elt.head = insertelement <8 x half> poison, half %b, i32 0
827   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
828   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %vb, <8 x half> %va, metadata !"ult", <8 x i1> %m, i32 %evl)
829   ret <8 x i1> %v
832 define <8 x i1> @fcmp_ule_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {
833 ; ZVFH-LABEL: fcmp_ule_vv_v8f16:
834 ; ZVFH:       # %bb.0:
835 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
836 ; ZVFH-NEXT:    vmflt.vv v8, v9, v8, v0.t
837 ; ZVFH-NEXT:    vmnot.m v0, v8
838 ; ZVFH-NEXT:    ret
840 ; ZVFHMIN-LABEL: fcmp_ule_vv_v8f16:
841 ; ZVFHMIN:       # %bb.0:
842 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
843 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
844 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
845 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
846 ; ZVFHMIN-NEXT:    vmflt.vv v8, v12, v10, v0.t
847 ; ZVFHMIN-NEXT:    vmnot.m v0, v8
848 ; ZVFHMIN-NEXT:    ret
849   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"ule", <8 x i1> %m, i32 %evl)
850   ret <8 x i1> %v
853 define <8 x i1> @fcmp_ule_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
854 ; ZVFH-LABEL: fcmp_ule_vf_v8f16:
855 ; ZVFH:       # %bb.0:
856 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
857 ; ZVFH-NEXT:    vmfgt.vf v8, v8, fa0, v0.t
858 ; ZVFH-NEXT:    vmnot.m v0, v8
859 ; ZVFH-NEXT:    ret
861 ; ZVFHMIN-LABEL: fcmp_ule_vf_v8f16:
862 ; ZVFHMIN:       # %bb.0:
863 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
864 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
865 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
866 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
867 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
868 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
869 ; ZVFHMIN-NEXT:    vmflt.vv v8, v12, v10, v0.t
870 ; ZVFHMIN-NEXT:    vmnot.m v0, v8
871 ; ZVFHMIN-NEXT:    ret
872   %elt.head = insertelement <8 x half> poison, half %b, i32 0
873   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
874   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"ule", <8 x i1> %m, i32 %evl)
875   ret <8 x i1> %v
878 define <8 x i1> @fcmp_ule_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
879 ; ZVFH-LABEL: fcmp_ule_vf_swap_v8f16:
880 ; ZVFH:       # %bb.0:
881 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
882 ; ZVFH-NEXT:    vmflt.vf v8, v8, fa0, v0.t
883 ; ZVFH-NEXT:    vmnot.m v0, v8
884 ; ZVFH-NEXT:    ret
886 ; ZVFHMIN-LABEL: fcmp_ule_vf_swap_v8f16:
887 ; ZVFHMIN:       # %bb.0:
888 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
889 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
890 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
891 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
892 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
893 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
894 ; ZVFHMIN-NEXT:    vmflt.vv v8, v10, v12, v0.t
895 ; ZVFHMIN-NEXT:    vmnot.m v0, v8
896 ; ZVFHMIN-NEXT:    ret
897   %elt.head = insertelement <8 x half> poison, half %b, i32 0
898   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
899   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %vb, <8 x half> %va, metadata !"ule", <8 x i1> %m, i32 %evl)
900   ret <8 x i1> %v
903 define <8 x i1> @fcmp_une_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {
904 ; ZVFH-LABEL: fcmp_une_vv_v8f16:
905 ; ZVFH:       # %bb.0:
906 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
907 ; ZVFH-NEXT:    vmfne.vv v0, v8, v9, v0.t
908 ; ZVFH-NEXT:    ret
910 ; ZVFHMIN-LABEL: fcmp_une_vv_v8f16:
911 ; ZVFHMIN:       # %bb.0:
912 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
913 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v9
914 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v8
915 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
916 ; ZVFHMIN-NEXT:    vmfne.vv v8, v12, v10, v0.t
917 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
918 ; ZVFHMIN-NEXT:    ret
919   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"une", <8 x i1> %m, i32 %evl)
920   ret <8 x i1> %v
923 define <8 x i1> @fcmp_une_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
924 ; ZVFH-LABEL: fcmp_une_vf_v8f16:
925 ; ZVFH:       # %bb.0:
926 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
927 ; ZVFH-NEXT:    vmfne.vf v0, v8, fa0, v0.t
928 ; ZVFH-NEXT:    ret
930 ; ZVFHMIN-LABEL: fcmp_une_vf_v8f16:
931 ; ZVFHMIN:       # %bb.0:
932 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
933 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
934 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
935 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
936 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
937 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
938 ; ZVFHMIN-NEXT:    vmfne.vv v8, v10, v12, v0.t
939 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
940 ; ZVFHMIN-NEXT:    ret
941   %elt.head = insertelement <8 x half> poison, half %b, i32 0
942   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
943   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"une", <8 x i1> %m, i32 %evl)
944   ret <8 x i1> %v
947 define <8 x i1> @fcmp_une_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
948 ; ZVFH-LABEL: fcmp_une_vf_swap_v8f16:
949 ; ZVFH:       # %bb.0:
950 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
951 ; ZVFH-NEXT:    vmfne.vf v0, v8, fa0, v0.t
952 ; ZVFH-NEXT:    ret
954 ; ZVFHMIN-LABEL: fcmp_une_vf_swap_v8f16:
955 ; ZVFHMIN:       # %bb.0:
956 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
957 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
958 ; ZVFHMIN-NEXT:    vmv.v.x v9, a1
959 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
960 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v12, v9
961 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
962 ; ZVFHMIN-NEXT:    vmfne.vv v8, v12, v10, v0.t
963 ; ZVFHMIN-NEXT:    vmv1r.v v0, v8
964 ; ZVFHMIN-NEXT:    ret
965   %elt.head = insertelement <8 x half> poison, half %b, i32 0
966   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
967   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %vb, <8 x half> %va, metadata !"une", <8 x i1> %m, i32 %evl)
968   ret <8 x i1> %v
971 define <8 x i1> @fcmp_uno_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {
972 ; ZVFH-LABEL: fcmp_uno_vv_v8f16:
973 ; ZVFH:       # %bb.0:
974 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
975 ; ZVFH-NEXT:    vmfne.vv v9, v9, v9, v0.t
976 ; ZVFH-NEXT:    vmfne.vv v8, v8, v8, v0.t
977 ; ZVFH-NEXT:    vmor.mm v0, v8, v9
978 ; ZVFH-NEXT:    ret
980 ; ZVFHMIN-LABEL: fcmp_uno_vv_v8f16:
981 ; ZVFHMIN:       # %bb.0:
982 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
983 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v9
984 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
985 ; ZVFHMIN-NEXT:    vmfne.vv v9, v10, v10, v0.t
986 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
987 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
988 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
989 ; ZVFHMIN-NEXT:    vmfne.vv v8, v10, v10, v0.t
990 ; ZVFHMIN-NEXT:    vmor.mm v0, v8, v9
991 ; ZVFHMIN-NEXT:    ret
992   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"uno", <8 x i1> %m, i32 %evl)
993   ret <8 x i1> %v
996 define <8 x i1> @fcmp_uno_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
997 ; ZVFH-LABEL: fcmp_uno_vf_v8f16:
998 ; ZVFH:       # %bb.0:
999 ; ZVFH-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
1000 ; ZVFH-NEXT:    vfmv.v.f v9, fa0
1001 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
1002 ; ZVFH-NEXT:    vmfne.vf v9, v9, fa0, v0.t
1003 ; ZVFH-NEXT:    vmfne.vv v8, v8, v8, v0.t
1004 ; ZVFH-NEXT:    vmor.mm v0, v8, v9
1005 ; ZVFH-NEXT:    ret
1007 ; ZVFHMIN-LABEL: fcmp_uno_vf_v8f16:
1008 ; ZVFHMIN:       # %bb.0:
1009 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
1010 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
1011 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
1012 ; ZVFHMIN-NEXT:    vmv.v.x v8, a1
1013 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
1014 ; ZVFHMIN-NEXT:    vmfne.vv v9, v10, v10, v0.t
1015 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
1016 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
1017 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
1018 ; ZVFHMIN-NEXT:    vmfne.vv v8, v10, v10, v0.t
1019 ; ZVFHMIN-NEXT:    vmor.mm v0, v9, v8
1020 ; ZVFHMIN-NEXT:    ret
1021   %elt.head = insertelement <8 x half> poison, half %b, i32 0
1022   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
1023   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %va, <8 x half> %vb, metadata !"uno", <8 x i1> %m, i32 %evl)
1024   ret <8 x i1> %v
1027 define <8 x i1> @fcmp_uno_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {
1028 ; ZVFH-LABEL: fcmp_uno_vf_swap_v8f16:
1029 ; ZVFH:       # %bb.0:
1030 ; ZVFH-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
1031 ; ZVFH-NEXT:    vfmv.v.f v9, fa0
1032 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m1, ta, ma
1033 ; ZVFH-NEXT:    vmfne.vf v9, v9, fa0, v0.t
1034 ; ZVFH-NEXT:    vmfne.vv v8, v8, v8, v0.t
1035 ; ZVFH-NEXT:    vmor.mm v0, v9, v8
1036 ; ZVFH-NEXT:    ret
1038 ; ZVFHMIN-LABEL: fcmp_uno_vf_swap_v8f16:
1039 ; ZVFHMIN:       # %bb.0:
1040 ; ZVFHMIN-NEXT:    fmv.x.h a1, fa0
1041 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
1042 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
1043 ; ZVFHMIN-NEXT:    vmv.v.x v8, a1
1044 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
1045 ; ZVFHMIN-NEXT:    vmfne.vv v9, v10, v10, v0.t
1046 ; ZVFHMIN-NEXT:    vsetivli zero, 8, e16, m1, ta, ma
1047 ; ZVFHMIN-NEXT:    vfwcvt.f.f.v v10, v8
1048 ; ZVFHMIN-NEXT:    vsetvli zero, a0, e32, m2, ta, ma
1049 ; ZVFHMIN-NEXT:    vmfne.vv v8, v10, v10, v0.t
1050 ; ZVFHMIN-NEXT:    vmor.mm v0, v8, v9
1051 ; ZVFHMIN-NEXT:    ret
1052   %elt.head = insertelement <8 x half> poison, half %b, i32 0
1053   %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer
1054   %v = call <8 x i1> @llvm.vp.fcmp.v8f16(<8 x half> %vb, <8 x half> %va, metadata !"uno", <8 x i1> %m, i32 %evl)
1055   ret <8 x i1> %v
1058 declare <128 x i1> @llvm.vp.fcmp.v128f16(<128 x half>, <128 x half>, metadata, <128 x i1>, i32)
1060 define <128 x i1> @fcmp_oeq_vv_v128f16(<128 x half> %va, <128 x half> %vb, <128 x i1> %m, i32 zeroext %evl) {
1061 ; ZVFH-LABEL: fcmp_oeq_vv_v128f16:
1062 ; ZVFH:       # %bb.0:
1063 ; ZVFH-NEXT:    addi sp, sp, -16
1064 ; ZVFH-NEXT:    .cfi_def_cfa_offset 16
1065 ; ZVFH-NEXT:    csrr a1, vlenb
1066 ; ZVFH-NEXT:    slli a1, a1, 4
1067 ; ZVFH-NEXT:    sub sp, sp, a1
1068 ; ZVFH-NEXT:    .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x10, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 16 * vlenb
1069 ; ZVFH-NEXT:    csrr a1, vlenb
1070 ; ZVFH-NEXT:    slli a1, a1, 3
1071 ; ZVFH-NEXT:    add a1, sp, a1
1072 ; ZVFH-NEXT:    addi a1, a1, 16
1073 ; ZVFH-NEXT:    vs8r.v v16, (a1) # Unknown-size Folded Spill
1074 ; ZVFH-NEXT:    addi a1, a0, 128
1075 ; ZVFH-NEXT:    li a3, 64
1076 ; ZVFH-NEXT:    vsetvli zero, a3, e16, m8, ta, ma
1077 ; ZVFH-NEXT:    vle16.v v16, (a1)
1078 ; ZVFH-NEXT:    addi a1, sp, 16
1079 ; ZVFH-NEXT:    vs8r.v v16, (a1) # Unknown-size Folded Spill
1080 ; ZVFH-NEXT:    vle16.v v16, (a0)
1081 ; ZVFH-NEXT:    mv a0, a2
1082 ; ZVFH-NEXT:    vsetivli zero, 8, e8, m1, ta, ma
1083 ; ZVFH-NEXT:    vslidedown.vi v24, v0, 8
1084 ; ZVFH-NEXT:    bltu a2, a3, .LBB43_2
1085 ; ZVFH-NEXT:  # %bb.1:
1086 ; ZVFH-NEXT:    li a0, 64
1087 ; ZVFH-NEXT:  .LBB43_2:
1088 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m8, ta, ma
1089 ; ZVFH-NEXT:    vmfeq.vv v7, v8, v16, v0.t
1090 ; ZVFH-NEXT:    addi a0, a2, -64
1091 ; ZVFH-NEXT:    sltu a1, a2, a0
1092 ; ZVFH-NEXT:    addi a1, a1, -1
1093 ; ZVFH-NEXT:    and a0, a1, a0
1094 ; ZVFH-NEXT:    vmv1r.v v0, v24
1095 ; ZVFH-NEXT:    csrr a1, vlenb
1096 ; ZVFH-NEXT:    slli a1, a1, 3
1097 ; ZVFH-NEXT:    add a1, sp, a1
1098 ; ZVFH-NEXT:    addi a1, a1, 16
1099 ; ZVFH-NEXT:    vl8r.v v16, (a1) # Unknown-size Folded Reload
1100 ; ZVFH-NEXT:    addi a1, sp, 16
1101 ; ZVFH-NEXT:    vl8r.v v24, (a1) # Unknown-size Folded Reload
1102 ; ZVFH-NEXT:    vsetvli zero, a0, e16, m8, ta, ma
1103 ; ZVFH-NEXT:    vmfeq.vv v8, v16, v24, v0.t
1104 ; ZVFH-NEXT:    vsetivli zero, 16, e8, m1, ta, ma
1105 ; ZVFH-NEXT:    vslideup.vi v7, v8, 8
1106 ; ZVFH-NEXT:    vmv.v.v v0, v7
1107 ; ZVFH-NEXT:    csrr a0, vlenb
1108 ; ZVFH-NEXT:    slli a0, a0, 4
1109 ; ZVFH-NEXT:    add sp, sp, a0
1110 ; ZVFH-NEXT:    .cfi_def_cfa sp, 16
1111 ; ZVFH-NEXT:    addi sp, sp, 16
1112 ; ZVFH-NEXT:    .cfi_def_cfa_offset 0
1113 ; ZVFH-NEXT:    ret
1115 ; ZVFHMIN32-LABEL: fcmp_oeq_vv_v128f16:
1116 ; ZVFHMIN32:       # %bb.0:
1117 ; ZVFHMIN32-NEXT:    addi sp, sp, -896
1118 ; ZVFHMIN32-NEXT:    .cfi_def_cfa_offset 896
1119 ; ZVFHMIN32-NEXT:    sw ra, 892(sp) # 4-byte Folded Spill
1120 ; ZVFHMIN32-NEXT:    sw s0, 888(sp) # 4-byte Folded Spill
1121 ; ZVFHMIN32-NEXT:    sw s2, 884(sp) # 4-byte Folded Spill
1122 ; ZVFHMIN32-NEXT:    sw s3, 880(sp) # 4-byte Folded Spill
1123 ; ZVFHMIN32-NEXT:    sw s4, 876(sp) # 4-byte Folded Spill
1124 ; ZVFHMIN32-NEXT:    sw s5, 872(sp) # 4-byte Folded Spill
1125 ; ZVFHMIN32-NEXT:    sw s6, 868(sp) # 4-byte Folded Spill
1126 ; ZVFHMIN32-NEXT:    sw s7, 864(sp) # 4-byte Folded Spill
1127 ; ZVFHMIN32-NEXT:    sw s8, 860(sp) # 4-byte Folded Spill
1128 ; ZVFHMIN32-NEXT:    sw s9, 856(sp) # 4-byte Folded Spill
1129 ; ZVFHMIN32-NEXT:    sw s10, 852(sp) # 4-byte Folded Spill
1130 ; ZVFHMIN32-NEXT:    sw s11, 848(sp) # 4-byte Folded Spill
1131 ; ZVFHMIN32-NEXT:    .cfi_offset ra, -4
1132 ; ZVFHMIN32-NEXT:    .cfi_offset s0, -8
1133 ; ZVFHMIN32-NEXT:    .cfi_offset s2, -12
1134 ; ZVFHMIN32-NEXT:    .cfi_offset s3, -16
1135 ; ZVFHMIN32-NEXT:    .cfi_offset s4, -20
1136 ; ZVFHMIN32-NEXT:    .cfi_offset s5, -24
1137 ; ZVFHMIN32-NEXT:    .cfi_offset s6, -28
1138 ; ZVFHMIN32-NEXT:    .cfi_offset s7, -32
1139 ; ZVFHMIN32-NEXT:    .cfi_offset s8, -36
1140 ; ZVFHMIN32-NEXT:    .cfi_offset s9, -40
1141 ; ZVFHMIN32-NEXT:    .cfi_offset s10, -44
1142 ; ZVFHMIN32-NEXT:    .cfi_offset s11, -48
1143 ; ZVFHMIN32-NEXT:    addi s0, sp, 896
1144 ; ZVFHMIN32-NEXT:    .cfi_def_cfa s0, 0
1145 ; ZVFHMIN32-NEXT:    csrr a1, vlenb
1146 ; ZVFHMIN32-NEXT:    li a2, 30
1147 ; ZVFHMIN32-NEXT:    mul a1, a1, a2
1148 ; ZVFHMIN32-NEXT:    sub sp, sp, a1
1149 ; ZVFHMIN32-NEXT:    andi sp, sp, -128
1150 ; ZVFHMIN32-NEXT:    addi a1, a0, 128
1151 ; ZVFHMIN32-NEXT:    li a2, 64
1152 ; ZVFHMIN32-NEXT:    addi a3, sp, 640
1153 ; ZVFHMIN32-NEXT:    addi a4, sp, 384
1154 ; ZVFHMIN32-NEXT:    addi a5, sp, 512
1155 ; ZVFHMIN32-NEXT:    vsetvli zero, a2, e16, m8, ta, ma
1156 ; ZVFHMIN32-NEXT:    vle16.v v0, (a0)
1157 ; ZVFHMIN32-NEXT:    addi a0, sp, 256
1158 ; ZVFHMIN32-NEXT:    vle16.v v24, (a1)
1159 ; ZVFHMIN32-NEXT:    vse16.v v8, (a3)
1160 ; ZVFHMIN32-NEXT:    vse16.v v0, (a4)
1161 ; ZVFHMIN32-NEXT:    vse16.v v16, (a5)
1162 ; ZVFHMIN32-NEXT:    vse16.v v24, (a0)
1163 ; ZVFHMIN32-NEXT:    lh a0, 704(sp)
1164 ; ZVFHMIN32-NEXT:    lh a1, 448(sp)
1165 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1166 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1167 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1168 ; ZVFHMIN32-NEXT:    sb a0, 160(sp)
1169 ; ZVFHMIN32-NEXT:    lh a0, 702(sp)
1170 ; ZVFHMIN32-NEXT:    lh a1, 446(sp)
1171 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1172 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1173 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1174 ; ZVFHMIN32-NEXT:    sb a0, 159(sp)
1175 ; ZVFHMIN32-NEXT:    lh a0, 700(sp)
1176 ; ZVFHMIN32-NEXT:    lh a1, 444(sp)
1177 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1178 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1179 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1180 ; ZVFHMIN32-NEXT:    sb a0, 158(sp)
1181 ; ZVFHMIN32-NEXT:    lh a0, 698(sp)
1182 ; ZVFHMIN32-NEXT:    lh a1, 442(sp)
1183 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1184 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1185 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1186 ; ZVFHMIN32-NEXT:    sb a0, 157(sp)
1187 ; ZVFHMIN32-NEXT:    lh a0, 696(sp)
1188 ; ZVFHMIN32-NEXT:    lh a1, 440(sp)
1189 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1190 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1191 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1192 ; ZVFHMIN32-NEXT:    sb a0, 156(sp)
1193 ; ZVFHMIN32-NEXT:    lh a0, 694(sp)
1194 ; ZVFHMIN32-NEXT:    lh a1, 438(sp)
1195 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1196 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1197 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1198 ; ZVFHMIN32-NEXT:    sb a0, 155(sp)
1199 ; ZVFHMIN32-NEXT:    lh a0, 692(sp)
1200 ; ZVFHMIN32-NEXT:    lh a1, 436(sp)
1201 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1202 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1203 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1204 ; ZVFHMIN32-NEXT:    sb a0, 154(sp)
1205 ; ZVFHMIN32-NEXT:    lh a0, 690(sp)
1206 ; ZVFHMIN32-NEXT:    lh a1, 434(sp)
1207 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1208 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1209 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1210 ; ZVFHMIN32-NEXT:    sb a0, 153(sp)
1211 ; ZVFHMIN32-NEXT:    lh a0, 688(sp)
1212 ; ZVFHMIN32-NEXT:    lh a1, 432(sp)
1213 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1214 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1215 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1216 ; ZVFHMIN32-NEXT:    sb a0, 152(sp)
1217 ; ZVFHMIN32-NEXT:    lh a0, 686(sp)
1218 ; ZVFHMIN32-NEXT:    lh a1, 430(sp)
1219 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1220 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1221 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1222 ; ZVFHMIN32-NEXT:    sb a0, 151(sp)
1223 ; ZVFHMIN32-NEXT:    lh a0, 684(sp)
1224 ; ZVFHMIN32-NEXT:    lh a1, 428(sp)
1225 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1226 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1227 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1228 ; ZVFHMIN32-NEXT:    sb a0, 150(sp)
1229 ; ZVFHMIN32-NEXT:    lh a0, 682(sp)
1230 ; ZVFHMIN32-NEXT:    lh a1, 426(sp)
1231 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1232 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1233 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1234 ; ZVFHMIN32-NEXT:    sb a0, 149(sp)
1235 ; ZVFHMIN32-NEXT:    lh a0, 680(sp)
1236 ; ZVFHMIN32-NEXT:    lh a1, 424(sp)
1237 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1238 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1239 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1240 ; ZVFHMIN32-NEXT:    sb a0, 148(sp)
1241 ; ZVFHMIN32-NEXT:    lh a0, 678(sp)
1242 ; ZVFHMIN32-NEXT:    lh a1, 422(sp)
1243 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1244 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1245 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1246 ; ZVFHMIN32-NEXT:    sb a0, 147(sp)
1247 ; ZVFHMIN32-NEXT:    lh a0, 676(sp)
1248 ; ZVFHMIN32-NEXT:    lh a1, 420(sp)
1249 ; ZVFHMIN32-NEXT:    vmv.x.s a2, v8
1250 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1251 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1252 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1253 ; ZVFHMIN32-NEXT:    sb a0, 146(sp)
1254 ; ZVFHMIN32-NEXT:    lh a0, 674(sp)
1255 ; ZVFHMIN32-NEXT:    lh a1, 418(sp)
1256 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a2
1257 ; ZVFHMIN32-NEXT:    vmv.x.s a2, v0
1258 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a0
1259 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, a1
1260 ; ZVFHMIN32-NEXT:    feq.h a0, fa4, fa3
1261 ; ZVFHMIN32-NEXT:    sb a0, 145(sp)
1262 ; ZVFHMIN32-NEXT:    lh a0, 672(sp)
1263 ; ZVFHMIN32-NEXT:    lh a1, 416(sp)
1264 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a2
1265 ; ZVFHMIN32-NEXT:    feq.h a2, fa5, fa4
1266 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1267 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1268 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1269 ; ZVFHMIN32-NEXT:    sb a2, 128(sp)
1270 ; ZVFHMIN32-NEXT:    sb a0, 144(sp)
1271 ; ZVFHMIN32-NEXT:    lh a0, 576(sp)
1272 ; ZVFHMIN32-NEXT:    lh a1, 320(sp)
1273 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1274 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1275 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1276 ; ZVFHMIN32-NEXT:    sb a0, 224(sp)
1277 ; ZVFHMIN32-NEXT:    lh a0, 574(sp)
1278 ; ZVFHMIN32-NEXT:    lh a1, 318(sp)
1279 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1280 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1281 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1282 ; ZVFHMIN32-NEXT:    sb a0, 223(sp)
1283 ; ZVFHMIN32-NEXT:    lh a0, 572(sp)
1284 ; ZVFHMIN32-NEXT:    lh a1, 316(sp)
1285 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1286 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1287 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1288 ; ZVFHMIN32-NEXT:    sb a0, 222(sp)
1289 ; ZVFHMIN32-NEXT:    lh a0, 570(sp)
1290 ; ZVFHMIN32-NEXT:    lh a1, 314(sp)
1291 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1292 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1293 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1294 ; ZVFHMIN32-NEXT:    sb a0, 221(sp)
1295 ; ZVFHMIN32-NEXT:    lh a0, 568(sp)
1296 ; ZVFHMIN32-NEXT:    lh a1, 312(sp)
1297 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1298 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1299 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1300 ; ZVFHMIN32-NEXT:    sb a0, 220(sp)
1301 ; ZVFHMIN32-NEXT:    lh a0, 566(sp)
1302 ; ZVFHMIN32-NEXT:    lh a1, 310(sp)
1303 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1304 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1305 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1306 ; ZVFHMIN32-NEXT:    sb a0, 219(sp)
1307 ; ZVFHMIN32-NEXT:    lh a0, 564(sp)
1308 ; ZVFHMIN32-NEXT:    lh a1, 308(sp)
1309 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1310 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1311 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1312 ; ZVFHMIN32-NEXT:    sb a0, 218(sp)
1313 ; ZVFHMIN32-NEXT:    lh a0, 562(sp)
1314 ; ZVFHMIN32-NEXT:    lh a1, 306(sp)
1315 ; ZVFHMIN32-NEXT:    vsetivli zero, 1, e16, m1, ta, ma
1316 ; ZVFHMIN32-NEXT:    vslidedown.vi v10, v8, 7
1317 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1318 ; ZVFHMIN32-NEXT:    li a3, 29
1319 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1320 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1321 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1322 ; ZVFHMIN32-NEXT:    vs1r.v v10, (a2) # Unknown-size Folded Spill
1323 ; ZVFHMIN32-NEXT:    vslidedown.vi v10, v8, 6
1324 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1325 ; ZVFHMIN32-NEXT:    li a3, 28
1326 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1327 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1328 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1329 ; ZVFHMIN32-NEXT:    vs1r.v v10, (a2) # Unknown-size Folded Spill
1330 ; ZVFHMIN32-NEXT:    vslidedown.vi v10, v8, 5
1331 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1332 ; ZVFHMIN32-NEXT:    li a3, 27
1333 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1334 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1335 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1336 ; ZVFHMIN32-NEXT:    vs1r.v v10, (a2) # Unknown-size Folded Spill
1337 ; ZVFHMIN32-NEXT:    vslidedown.vi v10, v8, 4
1338 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1339 ; ZVFHMIN32-NEXT:    li a3, 26
1340 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1341 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1342 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1343 ; ZVFHMIN32-NEXT:    vs1r.v v10, (a2) # Unknown-size Folded Spill
1344 ; ZVFHMIN32-NEXT:    vslidedown.vi v10, v8, 3
1345 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1346 ; ZVFHMIN32-NEXT:    li a3, 25
1347 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1348 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1349 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1350 ; ZVFHMIN32-NEXT:    vs1r.v v10, (a2) # Unknown-size Folded Spill
1351 ; ZVFHMIN32-NEXT:    vslidedown.vi v10, v8, 2
1352 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1353 ; ZVFHMIN32-NEXT:    li a3, 24
1354 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1355 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1356 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1357 ; ZVFHMIN32-NEXT:    vs1r.v v10, (a2) # Unknown-size Folded Spill
1358 ; ZVFHMIN32-NEXT:    vslidedown.vi v10, v8, 1
1359 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1360 ; ZVFHMIN32-NEXT:    li a3, 23
1361 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1362 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1363 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1364 ; ZVFHMIN32-NEXT:    vs1r.v v10, (a2) # Unknown-size Folded Spill
1365 ; ZVFHMIN32-NEXT:    vsetivli zero, 1, e16, m2, ta, ma
1366 ; ZVFHMIN32-NEXT:    vslidedown.vi v26, v8, 15
1367 ; ZVFHMIN32-NEXT:    vslidedown.vi v20, v8, 14
1368 ; ZVFHMIN32-NEXT:    vslidedown.vi v28, v8, 13
1369 ; ZVFHMIN32-NEXT:    vslidedown.vi v10, v8, 12
1370 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1371 ; ZVFHMIN32-NEXT:    slli a2, a2, 1
1372 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1373 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1374 ; ZVFHMIN32-NEXT:    vs2r.v v10, (a2) # Unknown-size Folded Spill
1375 ; ZVFHMIN32-NEXT:    vslidedown.vi v4, v8, 11
1376 ; ZVFHMIN32-NEXT:    vslidedown.vi v2, v8, 10
1377 ; ZVFHMIN32-NEXT:    vslidedown.vi v30, v8, 9
1378 ; ZVFHMIN32-NEXT:    vslidedown.vi v22, v8, 8
1379 ; ZVFHMIN32-NEXT:    vmv.x.s a4, v16
1380 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1381 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1382 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1383 ; ZVFHMIN32-NEXT:    sb a0, 217(sp)
1384 ; ZVFHMIN32-NEXT:    lh a0, 560(sp)
1385 ; ZVFHMIN32-NEXT:    lh a1, 304(sp)
1386 ; ZVFHMIN32-NEXT:    vsetivli zero, 1, e16, m1, ta, ma
1387 ; ZVFHMIN32-NEXT:    vslidedown.vi v3, v16, 7
1388 ; ZVFHMIN32-NEXT:    vslidedown.vi v31, v16, 6
1389 ; ZVFHMIN32-NEXT:    vslidedown.vi v5, v16, 5
1390 ; ZVFHMIN32-NEXT:    vslidedown.vi v23, v16, 4
1391 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v16, 3
1392 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1393 ; ZVFHMIN32-NEXT:    li a3, 21
1394 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1395 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1396 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1397 ; ZVFHMIN32-NEXT:    vs1r.v v8, (a2) # Unknown-size Folded Spill
1398 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v16, 2
1399 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1400 ; ZVFHMIN32-NEXT:    li a3, 20
1401 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1402 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1403 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1404 ; ZVFHMIN32-NEXT:    vs1r.v v8, (a2) # Unknown-size Folded Spill
1405 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v16, 1
1406 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1407 ; ZVFHMIN32-NEXT:    li a3, 22
1408 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1409 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1410 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1411 ; ZVFHMIN32-NEXT:    vs1r.v v8, (a2) # Unknown-size Folded Spill
1412 ; ZVFHMIN32-NEXT:    vsetivli zero, 1, e16, m2, ta, ma
1413 ; ZVFHMIN32-NEXT:    vslidedown.vi v18, v16, 15
1414 ; ZVFHMIN32-NEXT:    vslidedown.vi v14, v16, 14
1415 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v16, 13
1416 ; ZVFHMIN32-NEXT:    vslidedown.vi v12, v16, 12
1417 ; ZVFHMIN32-NEXT:    vslidedown.vi v10, v16, 11
1418 ; ZVFHMIN32-NEXT:    vslidedown.vi v6, v16, 10
1419 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1420 ; ZVFHMIN32-NEXT:    li a3, 18
1421 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1422 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1423 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1424 ; ZVFHMIN32-NEXT:    vs2r.v v6, (a2) # Unknown-size Folded Spill
1425 ; ZVFHMIN32-NEXT:    vslidedown.vi v6, v16, 9
1426 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1427 ; ZVFHMIN32-NEXT:    li a3, 14
1428 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1429 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1430 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1431 ; ZVFHMIN32-NEXT:    vs2r.v v6, (a2) # Unknown-size Folded Spill
1432 ; ZVFHMIN32-NEXT:    vslidedown.vi v6, v16, 8
1433 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1434 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1435 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1436 ; ZVFHMIN32-NEXT:    sb a0, 216(sp)
1437 ; ZVFHMIN32-NEXT:    lh a0, 558(sp)
1438 ; ZVFHMIN32-NEXT:    lh a1, 302(sp)
1439 ; ZVFHMIN32-NEXT:    vsetivli zero, 1, e16, m1, ta, ma
1440 ; ZVFHMIN32-NEXT:    vslidedown.vi v13, v0, 7
1441 ; ZVFHMIN32-NEXT:    vslidedown.vi v29, v0, 6
1442 ; ZVFHMIN32-NEXT:    vslidedown.vi v11, v0, 5
1443 ; ZVFHMIN32-NEXT:    vslidedown.vi v7, v0, 4
1444 ; ZVFHMIN32-NEXT:    vslidedown.vi v9, v0, 3
1445 ; ZVFHMIN32-NEXT:    vslidedown.vi v21, v0, 2
1446 ; ZVFHMIN32-NEXT:    vslidedown.vi v27, v0, 1
1447 ; ZVFHMIN32-NEXT:    vsetivli zero, 1, e16, m2, ta, ma
1448 ; ZVFHMIN32-NEXT:    vslidedown.vi v16, v0, 15
1449 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1450 ; ZVFHMIN32-NEXT:    slli a2, a2, 2
1451 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1452 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1453 ; ZVFHMIN32-NEXT:    vs2r.v v16, (a2) # Unknown-size Folded Spill
1454 ; ZVFHMIN32-NEXT:    vslidedown.vi v16, v0, 14
1455 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1456 ; ZVFHMIN32-NEXT:    slli a2, a2, 3
1457 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1458 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1459 ; ZVFHMIN32-NEXT:    vs2r.v v16, (a2) # Unknown-size Folded Spill
1460 ; ZVFHMIN32-NEXT:    vslidedown.vi v16, v0, 13
1461 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1462 ; ZVFHMIN32-NEXT:    li a3, 6
1463 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1464 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1465 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1466 ; ZVFHMIN32-NEXT:    vs2r.v v16, (a2) # Unknown-size Folded Spill
1467 ; ZVFHMIN32-NEXT:    vslidedown.vi v16, v0, 12
1468 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1469 ; ZVFHMIN32-NEXT:    li a3, 12
1470 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1471 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1472 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1473 ; ZVFHMIN32-NEXT:    vs2r.v v16, (a2) # Unknown-size Folded Spill
1474 ; ZVFHMIN32-NEXT:    vslidedown.vi v16, v0, 11
1475 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1476 ; ZVFHMIN32-NEXT:    li a3, 10
1477 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1478 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1479 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1480 ; ZVFHMIN32-NEXT:    vs2r.v v16, (a2) # Unknown-size Folded Spill
1481 ; ZVFHMIN32-NEXT:    vslidedown.vi v16, v0, 10
1482 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1483 ; ZVFHMIN32-NEXT:    slli a2, a2, 4
1484 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1485 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1486 ; ZVFHMIN32-NEXT:    vs2r.v v16, (a2) # Unknown-size Folded Spill
1487 ; ZVFHMIN32-NEXT:    vslidedown.vi v16, v0, 9
1488 ; ZVFHMIN32-NEXT:    vslidedown.vi v0, v0, 8
1489 ; ZVFHMIN32-NEXT:    addi a2, sp, 848
1490 ; ZVFHMIN32-NEXT:    vs2r.v v0, (a2) # Unknown-size Folded Spill
1491 ; ZVFHMIN32-NEXT:    vmv.x.s t4, v26
1492 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1493 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1494 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1495 ; ZVFHMIN32-NEXT:    sb a0, 215(sp)
1496 ; ZVFHMIN32-NEXT:    lh a0, 556(sp)
1497 ; ZVFHMIN32-NEXT:    lh a1, 300(sp)
1498 ; ZVFHMIN32-NEXT:    vmv.x.s t3, v20
1499 ; ZVFHMIN32-NEXT:    vmv.x.s t1, v28
1500 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1501 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1502 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1503 ; ZVFHMIN32-NEXT:    sb a0, 214(sp)
1504 ; ZVFHMIN32-NEXT:    lh a0, 554(sp)
1505 ; ZVFHMIN32-NEXT:    lh a1, 298(sp)
1506 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1507 ; ZVFHMIN32-NEXT:    slli a2, a2, 1
1508 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1509 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1510 ; ZVFHMIN32-NEXT:    vl2r.v v0, (a2) # Unknown-size Folded Reload
1511 ; ZVFHMIN32-NEXT:    vmv.x.s t2, v0
1512 ; ZVFHMIN32-NEXT:    vmv.x.s t0, v4
1513 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1514 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1515 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1516 ; ZVFHMIN32-NEXT:    sb a0, 213(sp)
1517 ; ZVFHMIN32-NEXT:    lh a0, 552(sp)
1518 ; ZVFHMIN32-NEXT:    lh a1, 296(sp)
1519 ; ZVFHMIN32-NEXT:    vmv.x.s a7, v2
1520 ; ZVFHMIN32-NEXT:    vmv.x.s a6, v30
1521 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1522 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1523 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1524 ; ZVFHMIN32-NEXT:    sb a0, 212(sp)
1525 ; ZVFHMIN32-NEXT:    lh a0, 550(sp)
1526 ; ZVFHMIN32-NEXT:    lh a1, 294(sp)
1527 ; ZVFHMIN32-NEXT:    vmv.x.s a5, v22
1528 ; ZVFHMIN32-NEXT:    vmv.x.s a2, v18
1529 ; ZVFHMIN32-NEXT:    sw a2, 112(sp) # 4-byte Folded Spill
1530 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1531 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1532 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1533 ; ZVFHMIN32-NEXT:    sb a0, 211(sp)
1534 ; ZVFHMIN32-NEXT:    lh a1, 548(sp)
1535 ; ZVFHMIN32-NEXT:    lh t5, 292(sp)
1536 ; ZVFHMIN32-NEXT:    vmv.x.s a0, v14
1537 ; ZVFHMIN32-NEXT:    sw a0, 116(sp) # 4-byte Folded Spill
1538 ; ZVFHMIN32-NEXT:    vmv.x.s a0, v8
1539 ; ZVFHMIN32-NEXT:    sw a0, 124(sp) # 4-byte Folded Spill
1540 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a1
1541 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, t5
1542 ; ZVFHMIN32-NEXT:    feq.h a1, fa5, fa4
1543 ; ZVFHMIN32-NEXT:    sb a1, 210(sp)
1544 ; ZVFHMIN32-NEXT:    lh a1, 546(sp)
1545 ; ZVFHMIN32-NEXT:    lh t5, 290(sp)
1546 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a4
1547 ; ZVFHMIN32-NEXT:    vmv.x.s a4, v24
1548 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1549 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, t5
1550 ; ZVFHMIN32-NEXT:    feq.h a1, fa4, fa3
1551 ; ZVFHMIN32-NEXT:    sb a1, 209(sp)
1552 ; ZVFHMIN32-NEXT:    lh a1, 544(sp)
1553 ; ZVFHMIN32-NEXT:    lh t5, 288(sp)
1554 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a4
1555 ; ZVFHMIN32-NEXT:    feq.h a4, fa5, fa4
1556 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a1
1557 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, t5
1558 ; ZVFHMIN32-NEXT:    feq.h a1, fa5, fa4
1559 ; ZVFHMIN32-NEXT:    sb a4, 192(sp)
1560 ; ZVFHMIN32-NEXT:    sb a1, 208(sp)
1561 ; ZVFHMIN32-NEXT:    lh t5, 738(sp)
1562 ; ZVFHMIN32-NEXT:    lh t6, 482(sp)
1563 ; ZVFHMIN32-NEXT:    vmv.x.s a0, v12
1564 ; ZVFHMIN32-NEXT:    sw a0, 108(sp) # 4-byte Folded Spill
1565 ; ZVFHMIN32-NEXT:    vmv.x.s a0, v10
1566 ; ZVFHMIN32-NEXT:    sw a0, 120(sp) # 4-byte Folded Spill
1567 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, t5
1568 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, t6
1569 ; ZVFHMIN32-NEXT:    feq.h t5, fa5, fa4
1570 ; ZVFHMIN32-NEXT:    sb t5, 177(sp)
1571 ; ZVFHMIN32-NEXT:    lh t5, 736(sp)
1572 ; ZVFHMIN32-NEXT:    lh t6, 480(sp)
1573 ; ZVFHMIN32-NEXT:    csrr a0, vlenb
1574 ; ZVFHMIN32-NEXT:    li a1, 29
1575 ; ZVFHMIN32-NEXT:    mul a0, a0, a1
1576 ; ZVFHMIN32-NEXT:    add a0, sp, a0
1577 ; ZVFHMIN32-NEXT:    lh s5, 848(a0) # 8-byte Folded Reload
1578 ; ZVFHMIN32-NEXT:    csrr a0, vlenb
1579 ; ZVFHMIN32-NEXT:    li a1, 28
1580 ; ZVFHMIN32-NEXT:    mul a0, a0, a1
1581 ; ZVFHMIN32-NEXT:    add a0, sp, a0
1582 ; ZVFHMIN32-NEXT:    lh s6, 848(a0) # 8-byte Folded Reload
1583 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, t5
1584 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, t6
1585 ; ZVFHMIN32-NEXT:    feq.h t5, fa5, fa4
1586 ; ZVFHMIN32-NEXT:    sb t5, 176(sp)
1587 ; ZVFHMIN32-NEXT:    lh t5, 734(sp)
1588 ; ZVFHMIN32-NEXT:    lh t6, 478(sp)
1589 ; ZVFHMIN32-NEXT:    csrr a0, vlenb
1590 ; ZVFHMIN32-NEXT:    li a1, 27
1591 ; ZVFHMIN32-NEXT:    mul a0, a0, a1
1592 ; ZVFHMIN32-NEXT:    add a0, sp, a0
1593 ; ZVFHMIN32-NEXT:    lh s7, 848(a0) # 8-byte Folded Reload
1594 ; ZVFHMIN32-NEXT:    csrr a0, vlenb
1595 ; ZVFHMIN32-NEXT:    li a1, 26
1596 ; ZVFHMIN32-NEXT:    mul a0, a0, a1
1597 ; ZVFHMIN32-NEXT:    add a0, sp, a0
1598 ; ZVFHMIN32-NEXT:    lh s8, 848(a0) # 8-byte Folded Reload
1599 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, t5
1600 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, t6
1601 ; ZVFHMIN32-NEXT:    feq.h t5, fa5, fa4
1602 ; ZVFHMIN32-NEXT:    sb t5, 175(sp)
1603 ; ZVFHMIN32-NEXT:    lh t5, 732(sp)
1604 ; ZVFHMIN32-NEXT:    lh t6, 476(sp)
1605 ; ZVFHMIN32-NEXT:    csrr a0, vlenb
1606 ; ZVFHMIN32-NEXT:    li a1, 25
1607 ; ZVFHMIN32-NEXT:    mul a0, a0, a1
1608 ; ZVFHMIN32-NEXT:    add a0, sp, a0
1609 ; ZVFHMIN32-NEXT:    lh s4, 848(a0) # 8-byte Folded Reload
1610 ; ZVFHMIN32-NEXT:    csrr a0, vlenb
1611 ; ZVFHMIN32-NEXT:    li a1, 24
1612 ; ZVFHMIN32-NEXT:    mul a0, a0, a1
1613 ; ZVFHMIN32-NEXT:    add a0, sp, a0
1614 ; ZVFHMIN32-NEXT:    lh s3, 848(a0) # 8-byte Folded Reload
1615 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, t5
1616 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, t6
1617 ; ZVFHMIN32-NEXT:    feq.h t5, fa5, fa4
1618 ; ZVFHMIN32-NEXT:    sb t5, 174(sp)
1619 ; ZVFHMIN32-NEXT:    lh t6, 730(sp)
1620 ; ZVFHMIN32-NEXT:    lh s9, 474(sp)
1621 ; ZVFHMIN32-NEXT:    csrr a0, vlenb
1622 ; ZVFHMIN32-NEXT:    li a1, 23
1623 ; ZVFHMIN32-NEXT:    mul a0, a0, a1
1624 ; ZVFHMIN32-NEXT:    add a0, sp, a0
1625 ; ZVFHMIN32-NEXT:    lh s2, 848(a0) # 8-byte Folded Reload
1626 ; ZVFHMIN32-NEXT:    vmv.x.s t5, v3
1627 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, t6
1628 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, s9
1629 ; ZVFHMIN32-NEXT:    feq.h t6, fa5, fa4
1630 ; ZVFHMIN32-NEXT:    sb t6, 173(sp)
1631 ; ZVFHMIN32-NEXT:    lh s9, 728(sp)
1632 ; ZVFHMIN32-NEXT:    lh s10, 472(sp)
1633 ; ZVFHMIN32-NEXT:    vmv.x.s t6, v31
1634 ; ZVFHMIN32-NEXT:    vmv.x.s ra, v13
1635 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, s9
1636 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, s10
1637 ; ZVFHMIN32-NEXT:    feq.h s9, fa5, fa4
1638 ; ZVFHMIN32-NEXT:    sb s9, 172(sp)
1639 ; ZVFHMIN32-NEXT:    lh s9, 726(sp)
1640 ; ZVFHMIN32-NEXT:    lh s10, 470(sp)
1641 ; ZVFHMIN32-NEXT:    vmv.x.s a2, v29
1642 ; ZVFHMIN32-NEXT:    vmv.x.s a3, v11
1643 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, s9
1644 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, s10
1645 ; ZVFHMIN32-NEXT:    feq.h s9, fa5, fa4
1646 ; ZVFHMIN32-NEXT:    sb s9, 171(sp)
1647 ; ZVFHMIN32-NEXT:    lh s10, 724(sp)
1648 ; ZVFHMIN32-NEXT:    lh s11, 468(sp)
1649 ; ZVFHMIN32-NEXT:    vmv.x.s a4, v7
1650 ; ZVFHMIN32-NEXT:    vmv.x.s s9, v9
1651 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, s10
1652 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, s11
1653 ; ZVFHMIN32-NEXT:    feq.h s10, fa5, fa4
1654 ; ZVFHMIN32-NEXT:    sb s10, 170(sp)
1655 ; ZVFHMIN32-NEXT:    lh a0, 722(sp)
1656 ; ZVFHMIN32-NEXT:    lh a1, 466(sp)
1657 ; ZVFHMIN32-NEXT:    vmv.x.s s10, v21
1658 ; ZVFHMIN32-NEXT:    vmv.x.s s11, v27
1659 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1660 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1661 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1662 ; ZVFHMIN32-NEXT:    sb a0, 169(sp)
1663 ; ZVFHMIN32-NEXT:    lh a0, 720(sp)
1664 ; ZVFHMIN32-NEXT:    lh a1, 464(sp)
1665 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, s5
1666 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, s6
1667 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, a0
1668 ; ZVFHMIN32-NEXT:    fmv.h.x fa2, a1
1669 ; ZVFHMIN32-NEXT:    feq.h a0, fa3, fa2
1670 ; ZVFHMIN32-NEXT:    sb a0, 168(sp)
1671 ; ZVFHMIN32-NEXT:    lh a0, 718(sp)
1672 ; ZVFHMIN32-NEXT:    lh a1, 462(sp)
1673 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, s7
1674 ; ZVFHMIN32-NEXT:    fmv.h.x fa2, s8
1675 ; ZVFHMIN32-NEXT:    fmv.h.x fa1, a0
1676 ; ZVFHMIN32-NEXT:    fmv.h.x fa0, a1
1677 ; ZVFHMIN32-NEXT:    feq.h a0, fa1, fa0
1678 ; ZVFHMIN32-NEXT:    fmv.h.x fa1, ra
1679 ; ZVFHMIN32-NEXT:    sb a0, 167(sp)
1680 ; ZVFHMIN32-NEXT:    lh a0, 716(sp)
1681 ; ZVFHMIN32-NEXT:    fmv.h.x fa0, a2
1682 ; ZVFHMIN32-NEXT:    lh a1, 460(sp)
1683 ; ZVFHMIN32-NEXT:    feq.h s5, fa5, fa1
1684 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1685 ; ZVFHMIN32-NEXT:    feq.h a0, fa4, fa0
1686 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1687 ; ZVFHMIN32-NEXT:    feq.h a1, fa5, fa4
1688 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, s4
1689 ; ZVFHMIN32-NEXT:    sb a1, 166(sp)
1690 ; ZVFHMIN32-NEXT:    lh a1, 714(sp)
1691 ; ZVFHMIN32-NEXT:    lh a2, 458(sp)
1692 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a3
1693 ; ZVFHMIN32-NEXT:    feq.h a3, fa3, fa4
1694 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1695 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, a2
1696 ; ZVFHMIN32-NEXT:    feq.h a1, fa4, fa3
1697 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, s3
1698 ; ZVFHMIN32-NEXT:    sb a1, 165(sp)
1699 ; ZVFHMIN32-NEXT:    lh a1, 712(sp)
1700 ; ZVFHMIN32-NEXT:    lh a2, 456(sp)
1701 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, a4
1702 ; ZVFHMIN32-NEXT:    feq.h a4, fa2, fa3
1703 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, a1
1704 ; ZVFHMIN32-NEXT:    fmv.h.x fa2, a2
1705 ; ZVFHMIN32-NEXT:    feq.h a1, fa3, fa2
1706 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, s2
1707 ; ZVFHMIN32-NEXT:    sb a1, 164(sp)
1708 ; ZVFHMIN32-NEXT:    lh a1, 710(sp)
1709 ; ZVFHMIN32-NEXT:    lh a2, 454(sp)
1710 ; ZVFHMIN32-NEXT:    fmv.h.x fa2, s9
1711 ; ZVFHMIN32-NEXT:    feq.h s2, fa5, fa2
1712 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a1
1713 ; ZVFHMIN32-NEXT:    fmv.h.x fa2, a2
1714 ; ZVFHMIN32-NEXT:    feq.h a1, fa5, fa2
1715 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, s10
1716 ; ZVFHMIN32-NEXT:    fmv.h.x fa2, s11
1717 ; ZVFHMIN32-NEXT:    sb a1, 163(sp)
1718 ; ZVFHMIN32-NEXT:    lh a1, 708(sp)
1719 ; ZVFHMIN32-NEXT:    lh a2, 452(sp)
1720 ; ZVFHMIN32-NEXT:    feq.h s3, fa4, fa5
1721 ; ZVFHMIN32-NEXT:    feq.h s4, fa3, fa2
1722 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a1
1723 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a2
1724 ; ZVFHMIN32-NEXT:    feq.h a1, fa5, fa4
1725 ; ZVFHMIN32-NEXT:    sb a1, 162(sp)
1726 ; ZVFHMIN32-NEXT:    lh a1, 706(sp)
1727 ; ZVFHMIN32-NEXT:    lh a2, 450(sp)
1728 ; ZVFHMIN32-NEXT:    sb s4, 129(sp)
1729 ; ZVFHMIN32-NEXT:    sb s3, 130(sp)
1730 ; ZVFHMIN32-NEXT:    sb s2, 131(sp)
1731 ; ZVFHMIN32-NEXT:    sb a4, 132(sp)
1732 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a1
1733 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a2
1734 ; ZVFHMIN32-NEXT:    feq.h a1, fa5, fa4
1735 ; ZVFHMIN32-NEXT:    sb a3, 133(sp)
1736 ; ZVFHMIN32-NEXT:    sb a0, 134(sp)
1737 ; ZVFHMIN32-NEXT:    sb s5, 135(sp)
1738 ; ZVFHMIN32-NEXT:    sb a1, 161(sp)
1739 ; ZVFHMIN32-NEXT:    lh a0, 610(sp)
1740 ; ZVFHMIN32-NEXT:    lh a1, 354(sp)
1741 ; ZVFHMIN32-NEXT:    vmv.x.s s6, v5
1742 ; ZVFHMIN32-NEXT:    vmv.x.s s5, v23
1743 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1744 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1745 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1746 ; ZVFHMIN32-NEXT:    sb a0, 241(sp)
1747 ; ZVFHMIN32-NEXT:    lh a0, 608(sp)
1748 ; ZVFHMIN32-NEXT:    lh a1, 352(sp)
1749 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1750 ; ZVFHMIN32-NEXT:    li a3, 21
1751 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1752 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1753 ; ZVFHMIN32-NEXT:    lh s4, 848(a2) # 8-byte Folded Reload
1754 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1755 ; ZVFHMIN32-NEXT:    li a3, 20
1756 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1757 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1758 ; ZVFHMIN32-NEXT:    lh s3, 848(a2) # 8-byte Folded Reload
1759 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1760 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1761 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1762 ; ZVFHMIN32-NEXT:    sb a0, 240(sp)
1763 ; ZVFHMIN32-NEXT:    lh a0, 606(sp)
1764 ; ZVFHMIN32-NEXT:    lh a1, 350(sp)
1765 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1766 ; ZVFHMIN32-NEXT:    li a3, 22
1767 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1768 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1769 ; ZVFHMIN32-NEXT:    lh s2, 848(a2) # 8-byte Folded Reload
1770 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, t5
1771 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a0
1772 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, a1
1773 ; ZVFHMIN32-NEXT:    feq.h a0, fa4, fa3
1774 ; ZVFHMIN32-NEXT:    sb a0, 239(sp)
1775 ; ZVFHMIN32-NEXT:    lh a0, 604(sp)
1776 ; ZVFHMIN32-NEXT:    lh a1, 348(sp)
1777 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, t6
1778 ; ZVFHMIN32-NEXT:    vsetivli zero, 1, e16, m1, ta, ma
1779 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v24, 7
1780 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, a0
1781 ; ZVFHMIN32-NEXT:    fmv.h.x fa2, a1
1782 ; ZVFHMIN32-NEXT:    feq.h a0, fa3, fa2
1783 ; ZVFHMIN32-NEXT:    sb a0, 238(sp)
1784 ; ZVFHMIN32-NEXT:    lh a0, 602(sp)
1785 ; ZVFHMIN32-NEXT:    lh a1, 346(sp)
1786 ; ZVFHMIN32-NEXT:    vmv.x.s a2, v8
1787 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v24, 6
1788 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, a0
1789 ; ZVFHMIN32-NEXT:    fmv.h.x fa2, a1
1790 ; ZVFHMIN32-NEXT:    feq.h a0, fa3, fa2
1791 ; ZVFHMIN32-NEXT:    sb a0, 237(sp)
1792 ; ZVFHMIN32-NEXT:    lh a0, 600(sp)
1793 ; ZVFHMIN32-NEXT:    lh a1, 344(sp)
1794 ; ZVFHMIN32-NEXT:    vmv.x.s a3, v8
1795 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v24, 5
1796 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, a0
1797 ; ZVFHMIN32-NEXT:    fmv.h.x fa2, a1
1798 ; ZVFHMIN32-NEXT:    feq.h a0, fa3, fa2
1799 ; ZVFHMIN32-NEXT:    sb a0, 236(sp)
1800 ; ZVFHMIN32-NEXT:    lh a0, 598(sp)
1801 ; ZVFHMIN32-NEXT:    lh a1, 342(sp)
1802 ; ZVFHMIN32-NEXT:    vmv.x.s a4, v8
1803 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v24, 4
1804 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, a0
1805 ; ZVFHMIN32-NEXT:    fmv.h.x fa2, a1
1806 ; ZVFHMIN32-NEXT:    feq.h a0, fa3, fa2
1807 ; ZVFHMIN32-NEXT:    sb a0, 235(sp)
1808 ; ZVFHMIN32-NEXT:    lh a0, 596(sp)
1809 ; ZVFHMIN32-NEXT:    lh a1, 340(sp)
1810 ; ZVFHMIN32-NEXT:    vmv.x.s s8, v8
1811 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v24, 3
1812 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, a0
1813 ; ZVFHMIN32-NEXT:    fmv.h.x fa2, a1
1814 ; ZVFHMIN32-NEXT:    feq.h a0, fa3, fa2
1815 ; ZVFHMIN32-NEXT:    sb a0, 234(sp)
1816 ; ZVFHMIN32-NEXT:    lh a0, 594(sp)
1817 ; ZVFHMIN32-NEXT:    lh a1, 338(sp)
1818 ; ZVFHMIN32-NEXT:    vmv.x.s s9, v8
1819 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v24, 2
1820 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, a0
1821 ; ZVFHMIN32-NEXT:    fmv.h.x fa2, a1
1822 ; ZVFHMIN32-NEXT:    feq.h a0, fa3, fa2
1823 ; ZVFHMIN32-NEXT:    sb a0, 233(sp)
1824 ; ZVFHMIN32-NEXT:    lh a0, 592(sp)
1825 ; ZVFHMIN32-NEXT:    vmv.x.s a1, v8
1826 ; ZVFHMIN32-NEXT:    lh t5, 336(sp)
1827 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v24, 1
1828 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, a0
1829 ; ZVFHMIN32-NEXT:    vmv.x.s s7, v8
1830 ; ZVFHMIN32-NEXT:    fmv.h.x fa2, t5
1831 ; ZVFHMIN32-NEXT:    feq.h a0, fa3, fa2
1832 ; ZVFHMIN32-NEXT:    fmv.h.x fa3, a2
1833 ; ZVFHMIN32-NEXT:    sb a0, 232(sp)
1834 ; ZVFHMIN32-NEXT:    lh a0, 590(sp)
1835 ; ZVFHMIN32-NEXT:    fmv.h.x fa2, a3
1836 ; ZVFHMIN32-NEXT:    lh a2, 334(sp)
1837 ; ZVFHMIN32-NEXT:    feq.h t5, fa5, fa3
1838 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1839 ; ZVFHMIN32-NEXT:    feq.h t6, fa4, fa2
1840 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a2
1841 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1842 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, s6
1843 ; ZVFHMIN32-NEXT:    sb a0, 231(sp)
1844 ; ZVFHMIN32-NEXT:    lh a0, 588(sp)
1845 ; ZVFHMIN32-NEXT:    lh a2, 332(sp)
1846 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a4
1847 ; ZVFHMIN32-NEXT:    feq.h a3, fa5, fa4
1848 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1849 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a2
1850 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1851 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, s5
1852 ; ZVFHMIN32-NEXT:    sb a0, 230(sp)
1853 ; ZVFHMIN32-NEXT:    lh a0, 586(sp)
1854 ; ZVFHMIN32-NEXT:    lh a2, 330(sp)
1855 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, s8
1856 ; ZVFHMIN32-NEXT:    feq.h a4, fa5, fa4
1857 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1858 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a2
1859 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1860 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, s4
1861 ; ZVFHMIN32-NEXT:    sb a0, 229(sp)
1862 ; ZVFHMIN32-NEXT:    lh a0, 584(sp)
1863 ; ZVFHMIN32-NEXT:    lh a2, 328(sp)
1864 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, s9
1865 ; ZVFHMIN32-NEXT:    feq.h s4, fa5, fa4
1866 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1867 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a2
1868 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1869 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, s3
1870 ; ZVFHMIN32-NEXT:    sb a0, 228(sp)
1871 ; ZVFHMIN32-NEXT:    lh a0, 582(sp)
1872 ; ZVFHMIN32-NEXT:    lh a2, 326(sp)
1873 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1874 ; ZVFHMIN32-NEXT:    feq.h a1, fa5, fa4
1875 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1876 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a2
1877 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1878 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, s2
1879 ; ZVFHMIN32-NEXT:    sb a0, 227(sp)
1880 ; ZVFHMIN32-NEXT:    lh a0, 580(sp)
1881 ; ZVFHMIN32-NEXT:    lh a2, 324(sp)
1882 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, s7
1883 ; ZVFHMIN32-NEXT:    feq.h s2, fa5, fa4
1884 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1885 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a2
1886 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1887 ; ZVFHMIN32-NEXT:    sb a0, 226(sp)
1888 ; ZVFHMIN32-NEXT:    lh a0, 578(sp)
1889 ; ZVFHMIN32-NEXT:    lh a2, 322(sp)
1890 ; ZVFHMIN32-NEXT:    sb s2, 193(sp)
1891 ; ZVFHMIN32-NEXT:    sb a1, 194(sp)
1892 ; ZVFHMIN32-NEXT:    sb s4, 195(sp)
1893 ; ZVFHMIN32-NEXT:    sb a4, 196(sp)
1894 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1895 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a2
1896 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1897 ; ZVFHMIN32-NEXT:    sb a3, 197(sp)
1898 ; ZVFHMIN32-NEXT:    sb t6, 198(sp)
1899 ; ZVFHMIN32-NEXT:    sb t5, 199(sp)
1900 ; ZVFHMIN32-NEXT:    sb a0, 225(sp)
1901 ; ZVFHMIN32-NEXT:    lh a0, 766(sp)
1902 ; ZVFHMIN32-NEXT:    lh a1, 510(sp)
1903 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1904 ; ZVFHMIN32-NEXT:    li a3, 18
1905 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1906 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1907 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1908 ; ZVFHMIN32-NEXT:    vl2r.v v8, (a2) # Unknown-size Folded Reload
1909 ; ZVFHMIN32-NEXT:    vmv.x.s s2, v8
1910 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1911 ; ZVFHMIN32-NEXT:    li a3, 14
1912 ; ZVFHMIN32-NEXT:    mul a2, a2, a3
1913 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1914 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1915 ; ZVFHMIN32-NEXT:    vl2r.v v8, (a2) # Unknown-size Folded Reload
1916 ; ZVFHMIN32-NEXT:    vmv.x.s t6, v8
1917 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1918 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1919 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1920 ; ZVFHMIN32-NEXT:    sb a0, 191(sp)
1921 ; ZVFHMIN32-NEXT:    lh a0, 764(sp)
1922 ; ZVFHMIN32-NEXT:    lh a1, 508(sp)
1923 ; ZVFHMIN32-NEXT:    vmv.x.s t5, v6
1924 ; ZVFHMIN32-NEXT:    csrr a2, vlenb
1925 ; ZVFHMIN32-NEXT:    slli a2, a2, 2
1926 ; ZVFHMIN32-NEXT:    add a2, sp, a2
1927 ; ZVFHMIN32-NEXT:    addi a2, a2, 848
1928 ; ZVFHMIN32-NEXT:    vl2r.v v8, (a2) # Unknown-size Folded Reload
1929 ; ZVFHMIN32-NEXT:    vmv.x.s a2, v8
1930 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1931 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1932 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1933 ; ZVFHMIN32-NEXT:    sb a0, 190(sp)
1934 ; ZVFHMIN32-NEXT:    lh a0, 762(sp)
1935 ; ZVFHMIN32-NEXT:    lh a1, 506(sp)
1936 ; ZVFHMIN32-NEXT:    csrr a3, vlenb
1937 ; ZVFHMIN32-NEXT:    slli a3, a3, 3
1938 ; ZVFHMIN32-NEXT:    add a3, sp, a3
1939 ; ZVFHMIN32-NEXT:    addi a3, a3, 848
1940 ; ZVFHMIN32-NEXT:    vl2r.v v8, (a3) # Unknown-size Folded Reload
1941 ; ZVFHMIN32-NEXT:    vmv.x.s a3, v8
1942 ; ZVFHMIN32-NEXT:    csrr a4, vlenb
1943 ; ZVFHMIN32-NEXT:    li s3, 6
1944 ; ZVFHMIN32-NEXT:    mul a4, a4, s3
1945 ; ZVFHMIN32-NEXT:    add a4, sp, a4
1946 ; ZVFHMIN32-NEXT:    addi a4, a4, 848
1947 ; ZVFHMIN32-NEXT:    vl2r.v v8, (a4) # Unknown-size Folded Reload
1948 ; ZVFHMIN32-NEXT:    vmv.x.s a4, v8
1949 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1950 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1951 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1952 ; ZVFHMIN32-NEXT:    sb a0, 189(sp)
1953 ; ZVFHMIN32-NEXT:    lh a0, 760(sp)
1954 ; ZVFHMIN32-NEXT:    lh a1, 504(sp)
1955 ; ZVFHMIN32-NEXT:    csrr s3, vlenb
1956 ; ZVFHMIN32-NEXT:    li s4, 12
1957 ; ZVFHMIN32-NEXT:    mul s3, s3, s4
1958 ; ZVFHMIN32-NEXT:    add s3, sp, s3
1959 ; ZVFHMIN32-NEXT:    addi s3, s3, 848
1960 ; ZVFHMIN32-NEXT:    vl2r.v v8, (s3) # Unknown-size Folded Reload
1961 ; ZVFHMIN32-NEXT:    vmv.x.s s6, v8
1962 ; ZVFHMIN32-NEXT:    csrr s3, vlenb
1963 ; ZVFHMIN32-NEXT:    li s4, 10
1964 ; ZVFHMIN32-NEXT:    mul s3, s3, s4
1965 ; ZVFHMIN32-NEXT:    add s3, sp, s3
1966 ; ZVFHMIN32-NEXT:    addi s3, s3, 848
1967 ; ZVFHMIN32-NEXT:    vl2r.v v8, (s3) # Unknown-size Folded Reload
1968 ; ZVFHMIN32-NEXT:    vmv.x.s s4, v8
1969 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1970 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1971 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1972 ; ZVFHMIN32-NEXT:    sb a0, 188(sp)
1973 ; ZVFHMIN32-NEXT:    lh a0, 758(sp)
1974 ; ZVFHMIN32-NEXT:    lh a1, 502(sp)
1975 ; ZVFHMIN32-NEXT:    csrr s3, vlenb
1976 ; ZVFHMIN32-NEXT:    slli s3, s3, 4
1977 ; ZVFHMIN32-NEXT:    add s3, sp, s3
1978 ; ZVFHMIN32-NEXT:    addi s3, s3, 848
1979 ; ZVFHMIN32-NEXT:    vl2r.v v8, (s3) # Unknown-size Folded Reload
1980 ; ZVFHMIN32-NEXT:    vmv.x.s s5, v8
1981 ; ZVFHMIN32-NEXT:    vmv.x.s s3, v16
1982 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1983 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1984 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1985 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, t4
1986 ; ZVFHMIN32-NEXT:    sb a0, 187(sp)
1987 ; ZVFHMIN32-NEXT:    lh a0, 756(sp)
1988 ; ZVFHMIN32-NEXT:    lh a1, 500(sp)
1989 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a2
1990 ; ZVFHMIN32-NEXT:    feq.h t4, fa5, fa4
1991 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
1992 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
1993 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
1994 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, t3
1995 ; ZVFHMIN32-NEXT:    sb a0, 186(sp)
1996 ; ZVFHMIN32-NEXT:    lh a0, 754(sp)
1997 ; ZVFHMIN32-NEXT:    lh a1, 498(sp)
1998 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a3
1999 ; ZVFHMIN32-NEXT:    feq.h t3, fa5, fa4
2000 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2001 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2002 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2003 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, t1
2004 ; ZVFHMIN32-NEXT:    sb a0, 185(sp)
2005 ; ZVFHMIN32-NEXT:    lh a0, 752(sp)
2006 ; ZVFHMIN32-NEXT:    lh a1, 496(sp)
2007 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a4
2008 ; ZVFHMIN32-NEXT:    feq.h t1, fa5, fa4
2009 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2010 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2011 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2012 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, t2
2013 ; ZVFHMIN32-NEXT:    sb a0, 184(sp)
2014 ; ZVFHMIN32-NEXT:    lh a0, 750(sp)
2015 ; ZVFHMIN32-NEXT:    lh a1, 494(sp)
2016 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, s6
2017 ; ZVFHMIN32-NEXT:    feq.h a2, fa5, fa4
2018 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2019 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2020 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2021 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, t0
2022 ; ZVFHMIN32-NEXT:    sb a0, 183(sp)
2023 ; ZVFHMIN32-NEXT:    lh a0, 748(sp)
2024 ; ZVFHMIN32-NEXT:    lh a1, 492(sp)
2025 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, s4
2026 ; ZVFHMIN32-NEXT:    feq.h a3, fa5, fa4
2027 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2028 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2029 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2030 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a7
2031 ; ZVFHMIN32-NEXT:    sb a0, 182(sp)
2032 ; ZVFHMIN32-NEXT:    lh a0, 746(sp)
2033 ; ZVFHMIN32-NEXT:    lh a1, 490(sp)
2034 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, s5
2035 ; ZVFHMIN32-NEXT:    feq.h a4, fa5, fa4
2036 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2037 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2038 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2039 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a6
2040 ; ZVFHMIN32-NEXT:    sb a0, 181(sp)
2041 ; ZVFHMIN32-NEXT:    lh a0, 744(sp)
2042 ; ZVFHMIN32-NEXT:    lh a1, 488(sp)
2043 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, s3
2044 ; ZVFHMIN32-NEXT:    feq.h a6, fa5, fa4
2045 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2046 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2047 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2048 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a5
2049 ; ZVFHMIN32-NEXT:    addi a1, sp, 848
2050 ; ZVFHMIN32-NEXT:    vl2r.v v8, (a1) # Unknown-size Folded Reload
2051 ; ZVFHMIN32-NEXT:    vmv.x.s a1, v8
2052 ; ZVFHMIN32-NEXT:    vsetivli zero, 1, e16, m2, ta, ma
2053 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v24, 15
2054 ; ZVFHMIN32-NEXT:    vmv.x.s a5, v8
2055 ; ZVFHMIN32-NEXT:    sb a0, 180(sp)
2056 ; ZVFHMIN32-NEXT:    lh a0, 742(sp)
2057 ; ZVFHMIN32-NEXT:    lh a7, 486(sp)
2058 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2059 ; ZVFHMIN32-NEXT:    feq.h a1, fa5, fa4
2060 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2061 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a7
2062 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2063 ; ZVFHMIN32-NEXT:    sb a0, 179(sp)
2064 ; ZVFHMIN32-NEXT:    lh a0, 740(sp)
2065 ; ZVFHMIN32-NEXT:    lh a7, 484(sp)
2066 ; ZVFHMIN32-NEXT:    sb a2, 140(sp)
2067 ; ZVFHMIN32-NEXT:    sb t1, 141(sp)
2068 ; ZVFHMIN32-NEXT:    sb t3, 142(sp)
2069 ; ZVFHMIN32-NEXT:    sb t4, 143(sp)
2070 ; ZVFHMIN32-NEXT:    sb a1, 136(sp)
2071 ; ZVFHMIN32-NEXT:    sb a6, 137(sp)
2072 ; ZVFHMIN32-NEXT:    sb a4, 138(sp)
2073 ; ZVFHMIN32-NEXT:    sb a3, 139(sp)
2074 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2075 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a7
2076 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2077 ; ZVFHMIN32-NEXT:    sb a0, 178(sp)
2078 ; ZVFHMIN32-NEXT:    lh a0, 638(sp)
2079 ; ZVFHMIN32-NEXT:    lh a1, 382(sp)
2080 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v24, 14
2081 ; ZVFHMIN32-NEXT:    vmv.x.s t3, v8
2082 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2083 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2084 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2085 ; ZVFHMIN32-NEXT:    sb a0, 255(sp)
2086 ; ZVFHMIN32-NEXT:    lh a0, 636(sp)
2087 ; ZVFHMIN32-NEXT:    lh a1, 380(sp)
2088 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v24, 13
2089 ; ZVFHMIN32-NEXT:    vmv.x.s t2, v8
2090 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2091 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2092 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2093 ; ZVFHMIN32-NEXT:    sb a0, 254(sp)
2094 ; ZVFHMIN32-NEXT:    lh a0, 634(sp)
2095 ; ZVFHMIN32-NEXT:    lh a1, 378(sp)
2096 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v24, 12
2097 ; ZVFHMIN32-NEXT:    vmv.x.s t1, v8
2098 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2099 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2100 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2101 ; ZVFHMIN32-NEXT:    sb a0, 253(sp)
2102 ; ZVFHMIN32-NEXT:    lh a0, 632(sp)
2103 ; ZVFHMIN32-NEXT:    lh a1, 376(sp)
2104 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v24, 11
2105 ; ZVFHMIN32-NEXT:    vmv.x.s t0, v8
2106 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2107 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2108 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2109 ; ZVFHMIN32-NEXT:    sb a0, 252(sp)
2110 ; ZVFHMIN32-NEXT:    lh a0, 630(sp)
2111 ; ZVFHMIN32-NEXT:    lh a1, 374(sp)
2112 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v24, 10
2113 ; ZVFHMIN32-NEXT:    vmv.x.s a7, v8
2114 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2115 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2116 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2117 ; ZVFHMIN32-NEXT:    sb a0, 251(sp)
2118 ; ZVFHMIN32-NEXT:    lh a0, 628(sp)
2119 ; ZVFHMIN32-NEXT:    lh a1, 372(sp)
2120 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v24, 9
2121 ; ZVFHMIN32-NEXT:    vmv.x.s a6, v8
2122 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2123 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2124 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2125 ; ZVFHMIN32-NEXT:    lw a1, 112(sp) # 4-byte Folded Reload
2126 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a1
2127 ; ZVFHMIN32-NEXT:    sb a0, 250(sp)
2128 ; ZVFHMIN32-NEXT:    lh a0, 626(sp)
2129 ; ZVFHMIN32-NEXT:    lh a1, 370(sp)
2130 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a5
2131 ; ZVFHMIN32-NEXT:    feq.h a3, fa5, fa4
2132 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2133 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2134 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2135 ; ZVFHMIN32-NEXT:    lw a1, 116(sp) # 4-byte Folded Reload
2136 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a1
2137 ; ZVFHMIN32-NEXT:    sb a0, 249(sp)
2138 ; ZVFHMIN32-NEXT:    lh a0, 624(sp)
2139 ; ZVFHMIN32-NEXT:    lh a1, 368(sp)
2140 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, t3
2141 ; ZVFHMIN32-NEXT:    feq.h a2, fa5, fa4
2142 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2143 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2144 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2145 ; ZVFHMIN32-NEXT:    lw a1, 124(sp) # 4-byte Folded Reload
2146 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a1
2147 ; ZVFHMIN32-NEXT:    sb a0, 248(sp)
2148 ; ZVFHMIN32-NEXT:    lh a0, 622(sp)
2149 ; ZVFHMIN32-NEXT:    lh a1, 366(sp)
2150 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, t2
2151 ; ZVFHMIN32-NEXT:    feq.h a4, fa5, fa4
2152 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2153 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2154 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2155 ; ZVFHMIN32-NEXT:    lw a1, 108(sp) # 4-byte Folded Reload
2156 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a1
2157 ; ZVFHMIN32-NEXT:    sb a0, 247(sp)
2158 ; ZVFHMIN32-NEXT:    lh a0, 620(sp)
2159 ; ZVFHMIN32-NEXT:    lh a1, 364(sp)
2160 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, t1
2161 ; ZVFHMIN32-NEXT:    feq.h a5, fa5, fa4
2162 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2163 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2164 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2165 ; ZVFHMIN32-NEXT:    lw a1, 120(sp) # 4-byte Folded Reload
2166 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a1
2167 ; ZVFHMIN32-NEXT:    sb a0, 246(sp)
2168 ; ZVFHMIN32-NEXT:    lh a0, 618(sp)
2169 ; ZVFHMIN32-NEXT:    lh a1, 362(sp)
2170 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, t0
2171 ; ZVFHMIN32-NEXT:    feq.h t0, fa5, fa4
2172 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2173 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2174 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2175 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, s2
2176 ; ZVFHMIN32-NEXT:    sb a0, 245(sp)
2177 ; ZVFHMIN32-NEXT:    lh a0, 616(sp)
2178 ; ZVFHMIN32-NEXT:    lh a1, 360(sp)
2179 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a7
2180 ; ZVFHMIN32-NEXT:    feq.h a7, fa5, fa4
2181 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2182 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2183 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2184 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, t6
2185 ; ZVFHMIN32-NEXT:    sb a0, 244(sp)
2186 ; ZVFHMIN32-NEXT:    lh a0, 614(sp)
2187 ; ZVFHMIN32-NEXT:    lh a1, 358(sp)
2188 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a6
2189 ; ZVFHMIN32-NEXT:    feq.h a6, fa5, fa4
2190 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2191 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2192 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2193 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, t5
2194 ; ZVFHMIN32-NEXT:    vslidedown.vi v8, v24, 8
2195 ; ZVFHMIN32-NEXT:    vmv.x.s a1, v8
2196 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2197 ; ZVFHMIN32-NEXT:    sb a0, 243(sp)
2198 ; ZVFHMIN32-NEXT:    lh a0, 612(sp)
2199 ; ZVFHMIN32-NEXT:    lh a1, 356(sp)
2200 ; ZVFHMIN32-NEXT:    sb a5, 204(sp)
2201 ; ZVFHMIN32-NEXT:    sb a4, 205(sp)
2202 ; ZVFHMIN32-NEXT:    sb a2, 206(sp)
2203 ; ZVFHMIN32-NEXT:    sb a3, 207(sp)
2204 ; ZVFHMIN32-NEXT:    feq.h a2, fa5, fa4
2205 ; ZVFHMIN32-NEXT:    sb a2, 200(sp)
2206 ; ZVFHMIN32-NEXT:    sb a6, 201(sp)
2207 ; ZVFHMIN32-NEXT:    sb a7, 202(sp)
2208 ; ZVFHMIN32-NEXT:    sb t0, 203(sp)
2209 ; ZVFHMIN32-NEXT:    li a2, 128
2210 ; ZVFHMIN32-NEXT:    fmv.h.x fa5, a0
2211 ; ZVFHMIN32-NEXT:    fmv.h.x fa4, a1
2212 ; ZVFHMIN32-NEXT:    feq.h a0, fa5, fa4
2213 ; ZVFHMIN32-NEXT:    sb a0, 242(sp)
2214 ; ZVFHMIN32-NEXT:    addi a0, sp, 128
2215 ; ZVFHMIN32-NEXT:    vsetvli zero, a2, e8, m8, ta, ma
2216 ; ZVFHMIN32-NEXT:    vle8.v v8, (a0)
2217 ; ZVFHMIN32-NEXT:    vand.vi v8, v8, 1
2218 ; ZVFHMIN32-NEXT:    vmsne.vi v0, v8, 0
2219 ; ZVFHMIN32-NEXT:    addi sp, s0, -896
2220 ; ZVFHMIN32-NEXT:    .cfi_def_cfa sp, 896
2221 ; ZVFHMIN32-NEXT:    lw ra, 892(sp) # 4-byte Folded Reload
2222 ; ZVFHMIN32-NEXT:    lw s0, 888(sp) # 4-byte Folded Reload
2223 ; ZVFHMIN32-NEXT:    lw s2, 884(sp) # 4-byte Folded Reload
2224 ; ZVFHMIN32-NEXT:    lw s3, 880(sp) # 4-byte Folded Reload
2225 ; ZVFHMIN32-NEXT:    lw s4, 876(sp) # 4-byte Folded Reload
2226 ; ZVFHMIN32-NEXT:    lw s5, 872(sp) # 4-byte Folded Reload
2227 ; ZVFHMIN32-NEXT:    lw s6, 868(sp) # 4-byte Folded Reload
2228 ; ZVFHMIN32-NEXT:    lw s7, 864(sp) # 4-byte Folded Reload
2229 ; ZVFHMIN32-NEXT:    lw s8, 860(sp) # 4-byte Folded Reload
2230 ; ZVFHMIN32-NEXT:    lw s9, 856(sp) # 4-byte Folded Reload
2231 ; ZVFHMIN32-NEXT:    lw s10, 852(sp) # 4-byte Folded Reload
2232 ; ZVFHMIN32-NEXT:    lw s11, 848(sp) # 4-byte Folded Reload
2233 ; ZVFHMIN32-NEXT:    .cfi_restore ra
2234 ; ZVFHMIN32-NEXT:    .cfi_restore s0
2235 ; ZVFHMIN32-NEXT:    .cfi_restore s2
2236 ; ZVFHMIN32-NEXT:    .cfi_restore s3
2237 ; ZVFHMIN32-NEXT:    .cfi_restore s4
2238 ; ZVFHMIN32-NEXT:    .cfi_restore s5
2239 ; ZVFHMIN32-NEXT:    .cfi_restore s6
2240 ; ZVFHMIN32-NEXT:    .cfi_restore s7
2241 ; ZVFHMIN32-NEXT:    .cfi_restore s8
2242 ; ZVFHMIN32-NEXT:    .cfi_restore s9
2243 ; ZVFHMIN32-NEXT:    .cfi_restore s10
2244 ; ZVFHMIN32-NEXT:    .cfi_restore s11
2245 ; ZVFHMIN32-NEXT:    addi sp, sp, 896
2246 ; ZVFHMIN32-NEXT:    .cfi_def_cfa_offset 0
2247 ; ZVFHMIN32-NEXT:    ret
2249 ; ZVFHMIN64-LABEL: fcmp_oeq_vv_v128f16:
2250 ; ZVFHMIN64:       # %bb.0:
2251 ; ZVFHMIN64-NEXT:    addi sp, sp, -896
2252 ; ZVFHMIN64-NEXT:    .cfi_def_cfa_offset 896
2253 ; ZVFHMIN64-NEXT:    sd ra, 888(sp) # 8-byte Folded Spill
2254 ; ZVFHMIN64-NEXT:    sd s0, 880(sp) # 8-byte Folded Spill
2255 ; ZVFHMIN64-NEXT:    sd s2, 872(sp) # 8-byte Folded Spill
2256 ; ZVFHMIN64-NEXT:    sd s3, 864(sp) # 8-byte Folded Spill
2257 ; ZVFHMIN64-NEXT:    sd s4, 856(sp) # 8-byte Folded Spill
2258 ; ZVFHMIN64-NEXT:    sd s5, 848(sp) # 8-byte Folded Spill
2259 ; ZVFHMIN64-NEXT:    sd s6, 840(sp) # 8-byte Folded Spill
2260 ; ZVFHMIN64-NEXT:    sd s7, 832(sp) # 8-byte Folded Spill
2261 ; ZVFHMIN64-NEXT:    sd s8, 824(sp) # 8-byte Folded Spill
2262 ; ZVFHMIN64-NEXT:    sd s9, 816(sp) # 8-byte Folded Spill
2263 ; ZVFHMIN64-NEXT:    sd s10, 808(sp) # 8-byte Folded Spill
2264 ; ZVFHMIN64-NEXT:    sd s11, 800(sp) # 8-byte Folded Spill
2265 ; ZVFHMIN64-NEXT:    .cfi_offset ra, -8
2266 ; ZVFHMIN64-NEXT:    .cfi_offset s0, -16
2267 ; ZVFHMIN64-NEXT:    .cfi_offset s2, -24
2268 ; ZVFHMIN64-NEXT:    .cfi_offset s3, -32
2269 ; ZVFHMIN64-NEXT:    .cfi_offset s4, -40
2270 ; ZVFHMIN64-NEXT:    .cfi_offset s5, -48
2271 ; ZVFHMIN64-NEXT:    .cfi_offset s6, -56
2272 ; ZVFHMIN64-NEXT:    .cfi_offset s7, -64
2273 ; ZVFHMIN64-NEXT:    .cfi_offset s8, -72
2274 ; ZVFHMIN64-NEXT:    .cfi_offset s9, -80
2275 ; ZVFHMIN64-NEXT:    .cfi_offset s10, -88
2276 ; ZVFHMIN64-NEXT:    .cfi_offset s11, -96
2277 ; ZVFHMIN64-NEXT:    addi s0, sp, 896
2278 ; ZVFHMIN64-NEXT:    .cfi_def_cfa s0, 0
2279 ; ZVFHMIN64-NEXT:    csrr a1, vlenb
2280 ; ZVFHMIN64-NEXT:    li a2, 30
2281 ; ZVFHMIN64-NEXT:    mul a1, a1, a2
2282 ; ZVFHMIN64-NEXT:    sub sp, sp, a1
2283 ; ZVFHMIN64-NEXT:    andi sp, sp, -128
2284 ; ZVFHMIN64-NEXT:    addi a1, a0, 128
2285 ; ZVFHMIN64-NEXT:    li a2, 64
2286 ; ZVFHMIN64-NEXT:    addi a3, sp, 640
2287 ; ZVFHMIN64-NEXT:    addi a4, sp, 384
2288 ; ZVFHMIN64-NEXT:    addi a5, sp, 512
2289 ; ZVFHMIN64-NEXT:    vsetvli zero, a2, e16, m8, ta, ma
2290 ; ZVFHMIN64-NEXT:    vle16.v v0, (a0)
2291 ; ZVFHMIN64-NEXT:    addi a0, sp, 256
2292 ; ZVFHMIN64-NEXT:    vle16.v v24, (a1)
2293 ; ZVFHMIN64-NEXT:    vse16.v v8, (a3)
2294 ; ZVFHMIN64-NEXT:    vse16.v v0, (a4)
2295 ; ZVFHMIN64-NEXT:    vse16.v v16, (a5)
2296 ; ZVFHMIN64-NEXT:    vse16.v v24, (a0)
2297 ; ZVFHMIN64-NEXT:    lh a0, 704(sp)
2298 ; ZVFHMIN64-NEXT:    lh a1, 448(sp)
2299 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2300 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2301 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2302 ; ZVFHMIN64-NEXT:    sb a0, 160(sp)
2303 ; ZVFHMIN64-NEXT:    lh a0, 702(sp)
2304 ; ZVFHMIN64-NEXT:    lh a1, 446(sp)
2305 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2306 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2307 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2308 ; ZVFHMIN64-NEXT:    sb a0, 159(sp)
2309 ; ZVFHMIN64-NEXT:    lh a0, 700(sp)
2310 ; ZVFHMIN64-NEXT:    lh a1, 444(sp)
2311 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2312 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2313 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2314 ; ZVFHMIN64-NEXT:    sb a0, 158(sp)
2315 ; ZVFHMIN64-NEXT:    lh a0, 698(sp)
2316 ; ZVFHMIN64-NEXT:    lh a1, 442(sp)
2317 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2318 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2319 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2320 ; ZVFHMIN64-NEXT:    sb a0, 157(sp)
2321 ; ZVFHMIN64-NEXT:    lh a0, 696(sp)
2322 ; ZVFHMIN64-NEXT:    lh a1, 440(sp)
2323 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2324 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2325 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2326 ; ZVFHMIN64-NEXT:    sb a0, 156(sp)
2327 ; ZVFHMIN64-NEXT:    lh a0, 694(sp)
2328 ; ZVFHMIN64-NEXT:    lh a1, 438(sp)
2329 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2330 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2331 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2332 ; ZVFHMIN64-NEXT:    sb a0, 155(sp)
2333 ; ZVFHMIN64-NEXT:    lh a0, 692(sp)
2334 ; ZVFHMIN64-NEXT:    lh a1, 436(sp)
2335 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2336 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2337 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2338 ; ZVFHMIN64-NEXT:    sb a0, 154(sp)
2339 ; ZVFHMIN64-NEXT:    lh a0, 690(sp)
2340 ; ZVFHMIN64-NEXT:    lh a1, 434(sp)
2341 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2342 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2343 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2344 ; ZVFHMIN64-NEXT:    sb a0, 153(sp)
2345 ; ZVFHMIN64-NEXT:    lh a0, 688(sp)
2346 ; ZVFHMIN64-NEXT:    lh a1, 432(sp)
2347 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2348 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2349 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2350 ; ZVFHMIN64-NEXT:    sb a0, 152(sp)
2351 ; ZVFHMIN64-NEXT:    lh a0, 686(sp)
2352 ; ZVFHMIN64-NEXT:    lh a1, 430(sp)
2353 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2354 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2355 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2356 ; ZVFHMIN64-NEXT:    sb a0, 151(sp)
2357 ; ZVFHMIN64-NEXT:    lh a0, 684(sp)
2358 ; ZVFHMIN64-NEXT:    lh a1, 428(sp)
2359 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2360 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2361 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2362 ; ZVFHMIN64-NEXT:    sb a0, 150(sp)
2363 ; ZVFHMIN64-NEXT:    lh a0, 682(sp)
2364 ; ZVFHMIN64-NEXT:    lh a1, 426(sp)
2365 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2366 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2367 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2368 ; ZVFHMIN64-NEXT:    sb a0, 149(sp)
2369 ; ZVFHMIN64-NEXT:    lh a0, 680(sp)
2370 ; ZVFHMIN64-NEXT:    lh a1, 424(sp)
2371 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2372 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2373 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2374 ; ZVFHMIN64-NEXT:    sb a0, 148(sp)
2375 ; ZVFHMIN64-NEXT:    lh a0, 678(sp)
2376 ; ZVFHMIN64-NEXT:    lh a1, 422(sp)
2377 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2378 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2379 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2380 ; ZVFHMIN64-NEXT:    sb a0, 147(sp)
2381 ; ZVFHMIN64-NEXT:    lh a0, 676(sp)
2382 ; ZVFHMIN64-NEXT:    lh a1, 420(sp)
2383 ; ZVFHMIN64-NEXT:    vmv.x.s a2, v8
2384 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2385 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2386 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2387 ; ZVFHMIN64-NEXT:    sb a0, 146(sp)
2388 ; ZVFHMIN64-NEXT:    lh a0, 674(sp)
2389 ; ZVFHMIN64-NEXT:    lh a1, 418(sp)
2390 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a2
2391 ; ZVFHMIN64-NEXT:    vmv.x.s a2, v0
2392 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a0
2393 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, a1
2394 ; ZVFHMIN64-NEXT:    feq.h a0, fa4, fa3
2395 ; ZVFHMIN64-NEXT:    sb a0, 145(sp)
2396 ; ZVFHMIN64-NEXT:    lh a0, 672(sp)
2397 ; ZVFHMIN64-NEXT:    lh a1, 416(sp)
2398 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a2
2399 ; ZVFHMIN64-NEXT:    feq.h a2, fa5, fa4
2400 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2401 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2402 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2403 ; ZVFHMIN64-NEXT:    sb a2, 128(sp)
2404 ; ZVFHMIN64-NEXT:    sb a0, 144(sp)
2405 ; ZVFHMIN64-NEXT:    lh a0, 576(sp)
2406 ; ZVFHMIN64-NEXT:    lh a1, 320(sp)
2407 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2408 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2409 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2410 ; ZVFHMIN64-NEXT:    sb a0, 224(sp)
2411 ; ZVFHMIN64-NEXT:    lh a0, 574(sp)
2412 ; ZVFHMIN64-NEXT:    lh a1, 318(sp)
2413 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2414 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2415 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2416 ; ZVFHMIN64-NEXT:    sb a0, 223(sp)
2417 ; ZVFHMIN64-NEXT:    lh a0, 572(sp)
2418 ; ZVFHMIN64-NEXT:    lh a1, 316(sp)
2419 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2420 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2421 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2422 ; ZVFHMIN64-NEXT:    sb a0, 222(sp)
2423 ; ZVFHMIN64-NEXT:    lh a0, 570(sp)
2424 ; ZVFHMIN64-NEXT:    lh a1, 314(sp)
2425 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2426 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2427 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2428 ; ZVFHMIN64-NEXT:    sb a0, 221(sp)
2429 ; ZVFHMIN64-NEXT:    lh a0, 568(sp)
2430 ; ZVFHMIN64-NEXT:    lh a1, 312(sp)
2431 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2432 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2433 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2434 ; ZVFHMIN64-NEXT:    sb a0, 220(sp)
2435 ; ZVFHMIN64-NEXT:    lh a0, 566(sp)
2436 ; ZVFHMIN64-NEXT:    lh a1, 310(sp)
2437 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2438 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2439 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2440 ; ZVFHMIN64-NEXT:    sb a0, 219(sp)
2441 ; ZVFHMIN64-NEXT:    lh a0, 564(sp)
2442 ; ZVFHMIN64-NEXT:    lh a1, 308(sp)
2443 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2444 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2445 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2446 ; ZVFHMIN64-NEXT:    sb a0, 218(sp)
2447 ; ZVFHMIN64-NEXT:    lh a0, 562(sp)
2448 ; ZVFHMIN64-NEXT:    lh a1, 306(sp)
2449 ; ZVFHMIN64-NEXT:    vsetivli zero, 1, e16, m1, ta, ma
2450 ; ZVFHMIN64-NEXT:    vslidedown.vi v10, v8, 7
2451 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2452 ; ZVFHMIN64-NEXT:    li a3, 29
2453 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2454 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2455 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2456 ; ZVFHMIN64-NEXT:    vs1r.v v10, (a2) # Unknown-size Folded Spill
2457 ; ZVFHMIN64-NEXT:    vslidedown.vi v10, v8, 6
2458 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2459 ; ZVFHMIN64-NEXT:    li a3, 28
2460 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2461 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2462 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2463 ; ZVFHMIN64-NEXT:    vs1r.v v10, (a2) # Unknown-size Folded Spill
2464 ; ZVFHMIN64-NEXT:    vslidedown.vi v10, v8, 5
2465 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2466 ; ZVFHMIN64-NEXT:    li a3, 27
2467 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2468 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2469 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2470 ; ZVFHMIN64-NEXT:    vs1r.v v10, (a2) # Unknown-size Folded Spill
2471 ; ZVFHMIN64-NEXT:    vslidedown.vi v10, v8, 4
2472 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2473 ; ZVFHMIN64-NEXT:    li a3, 26
2474 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2475 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2476 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2477 ; ZVFHMIN64-NEXT:    vs1r.v v10, (a2) # Unknown-size Folded Spill
2478 ; ZVFHMIN64-NEXT:    vslidedown.vi v10, v8, 3
2479 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2480 ; ZVFHMIN64-NEXT:    li a3, 25
2481 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2482 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2483 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2484 ; ZVFHMIN64-NEXT:    vs1r.v v10, (a2) # Unknown-size Folded Spill
2485 ; ZVFHMIN64-NEXT:    vslidedown.vi v10, v8, 2
2486 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2487 ; ZVFHMIN64-NEXT:    li a3, 24
2488 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2489 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2490 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2491 ; ZVFHMIN64-NEXT:    vs1r.v v10, (a2) # Unknown-size Folded Spill
2492 ; ZVFHMIN64-NEXT:    vslidedown.vi v10, v8, 1
2493 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2494 ; ZVFHMIN64-NEXT:    li a3, 23
2495 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2496 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2497 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2498 ; ZVFHMIN64-NEXT:    vs1r.v v10, (a2) # Unknown-size Folded Spill
2499 ; ZVFHMIN64-NEXT:    vsetivli zero, 1, e16, m2, ta, ma
2500 ; ZVFHMIN64-NEXT:    vslidedown.vi v26, v8, 15
2501 ; ZVFHMIN64-NEXT:    vslidedown.vi v20, v8, 14
2502 ; ZVFHMIN64-NEXT:    vslidedown.vi v28, v8, 13
2503 ; ZVFHMIN64-NEXT:    vslidedown.vi v10, v8, 12
2504 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2505 ; ZVFHMIN64-NEXT:    slli a2, a2, 1
2506 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2507 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2508 ; ZVFHMIN64-NEXT:    vs2r.v v10, (a2) # Unknown-size Folded Spill
2509 ; ZVFHMIN64-NEXT:    vslidedown.vi v4, v8, 11
2510 ; ZVFHMIN64-NEXT:    vslidedown.vi v2, v8, 10
2511 ; ZVFHMIN64-NEXT:    vslidedown.vi v30, v8, 9
2512 ; ZVFHMIN64-NEXT:    vslidedown.vi v22, v8, 8
2513 ; ZVFHMIN64-NEXT:    vmv.x.s a4, v16
2514 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2515 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2516 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2517 ; ZVFHMIN64-NEXT:    sb a0, 217(sp)
2518 ; ZVFHMIN64-NEXT:    lh a0, 560(sp)
2519 ; ZVFHMIN64-NEXT:    lh a1, 304(sp)
2520 ; ZVFHMIN64-NEXT:    vsetivli zero, 1, e16, m1, ta, ma
2521 ; ZVFHMIN64-NEXT:    vslidedown.vi v3, v16, 7
2522 ; ZVFHMIN64-NEXT:    vslidedown.vi v31, v16, 6
2523 ; ZVFHMIN64-NEXT:    vslidedown.vi v5, v16, 5
2524 ; ZVFHMIN64-NEXT:    vslidedown.vi v23, v16, 4
2525 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v16, 3
2526 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2527 ; ZVFHMIN64-NEXT:    li a3, 21
2528 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2529 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2530 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2531 ; ZVFHMIN64-NEXT:    vs1r.v v8, (a2) # Unknown-size Folded Spill
2532 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v16, 2
2533 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2534 ; ZVFHMIN64-NEXT:    li a3, 20
2535 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2536 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2537 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2538 ; ZVFHMIN64-NEXT:    vs1r.v v8, (a2) # Unknown-size Folded Spill
2539 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v16, 1
2540 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2541 ; ZVFHMIN64-NEXT:    li a3, 22
2542 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2543 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2544 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2545 ; ZVFHMIN64-NEXT:    vs1r.v v8, (a2) # Unknown-size Folded Spill
2546 ; ZVFHMIN64-NEXT:    vsetivli zero, 1, e16, m2, ta, ma
2547 ; ZVFHMIN64-NEXT:    vslidedown.vi v18, v16, 15
2548 ; ZVFHMIN64-NEXT:    vslidedown.vi v14, v16, 14
2549 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v16, 13
2550 ; ZVFHMIN64-NEXT:    vslidedown.vi v12, v16, 12
2551 ; ZVFHMIN64-NEXT:    vslidedown.vi v10, v16, 11
2552 ; ZVFHMIN64-NEXT:    vslidedown.vi v6, v16, 10
2553 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2554 ; ZVFHMIN64-NEXT:    li a3, 18
2555 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2556 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2557 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2558 ; ZVFHMIN64-NEXT:    vs2r.v v6, (a2) # Unknown-size Folded Spill
2559 ; ZVFHMIN64-NEXT:    vslidedown.vi v6, v16, 9
2560 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2561 ; ZVFHMIN64-NEXT:    li a3, 14
2562 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2563 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2564 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2565 ; ZVFHMIN64-NEXT:    vs2r.v v6, (a2) # Unknown-size Folded Spill
2566 ; ZVFHMIN64-NEXT:    vslidedown.vi v6, v16, 8
2567 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2568 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2569 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2570 ; ZVFHMIN64-NEXT:    sb a0, 216(sp)
2571 ; ZVFHMIN64-NEXT:    lh a0, 558(sp)
2572 ; ZVFHMIN64-NEXT:    lh a1, 302(sp)
2573 ; ZVFHMIN64-NEXT:    vsetivli zero, 1, e16, m1, ta, ma
2574 ; ZVFHMIN64-NEXT:    vslidedown.vi v13, v0, 7
2575 ; ZVFHMIN64-NEXT:    vslidedown.vi v29, v0, 6
2576 ; ZVFHMIN64-NEXT:    vslidedown.vi v11, v0, 5
2577 ; ZVFHMIN64-NEXT:    vslidedown.vi v7, v0, 4
2578 ; ZVFHMIN64-NEXT:    vslidedown.vi v9, v0, 3
2579 ; ZVFHMIN64-NEXT:    vslidedown.vi v21, v0, 2
2580 ; ZVFHMIN64-NEXT:    vslidedown.vi v27, v0, 1
2581 ; ZVFHMIN64-NEXT:    vsetivli zero, 1, e16, m2, ta, ma
2582 ; ZVFHMIN64-NEXT:    vslidedown.vi v16, v0, 15
2583 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2584 ; ZVFHMIN64-NEXT:    slli a2, a2, 2
2585 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2586 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2587 ; ZVFHMIN64-NEXT:    vs2r.v v16, (a2) # Unknown-size Folded Spill
2588 ; ZVFHMIN64-NEXT:    vslidedown.vi v16, v0, 14
2589 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2590 ; ZVFHMIN64-NEXT:    slli a2, a2, 3
2591 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2592 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2593 ; ZVFHMIN64-NEXT:    vs2r.v v16, (a2) # Unknown-size Folded Spill
2594 ; ZVFHMIN64-NEXT:    vslidedown.vi v16, v0, 13
2595 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2596 ; ZVFHMIN64-NEXT:    li a3, 6
2597 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2598 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2599 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2600 ; ZVFHMIN64-NEXT:    vs2r.v v16, (a2) # Unknown-size Folded Spill
2601 ; ZVFHMIN64-NEXT:    vslidedown.vi v16, v0, 12
2602 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2603 ; ZVFHMIN64-NEXT:    li a3, 12
2604 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2605 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2606 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2607 ; ZVFHMIN64-NEXT:    vs2r.v v16, (a2) # Unknown-size Folded Spill
2608 ; ZVFHMIN64-NEXT:    vslidedown.vi v16, v0, 11
2609 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2610 ; ZVFHMIN64-NEXT:    li a3, 10
2611 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2612 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2613 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2614 ; ZVFHMIN64-NEXT:    vs2r.v v16, (a2) # Unknown-size Folded Spill
2615 ; ZVFHMIN64-NEXT:    vslidedown.vi v16, v0, 10
2616 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2617 ; ZVFHMIN64-NEXT:    slli a2, a2, 4
2618 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2619 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2620 ; ZVFHMIN64-NEXT:    vs2r.v v16, (a2) # Unknown-size Folded Spill
2621 ; ZVFHMIN64-NEXT:    vslidedown.vi v16, v0, 9
2622 ; ZVFHMIN64-NEXT:    vslidedown.vi v0, v0, 8
2623 ; ZVFHMIN64-NEXT:    addi a2, sp, 800
2624 ; ZVFHMIN64-NEXT:    vs2r.v v0, (a2) # Unknown-size Folded Spill
2625 ; ZVFHMIN64-NEXT:    vmv.x.s t4, v26
2626 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2627 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2628 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2629 ; ZVFHMIN64-NEXT:    sb a0, 215(sp)
2630 ; ZVFHMIN64-NEXT:    lh a0, 556(sp)
2631 ; ZVFHMIN64-NEXT:    lh a1, 300(sp)
2632 ; ZVFHMIN64-NEXT:    vmv.x.s t3, v20
2633 ; ZVFHMIN64-NEXT:    vmv.x.s t1, v28
2634 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2635 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2636 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2637 ; ZVFHMIN64-NEXT:    sb a0, 214(sp)
2638 ; ZVFHMIN64-NEXT:    lh a0, 554(sp)
2639 ; ZVFHMIN64-NEXT:    lh a1, 298(sp)
2640 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2641 ; ZVFHMIN64-NEXT:    slli a2, a2, 1
2642 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2643 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
2644 ; ZVFHMIN64-NEXT:    vl2r.v v0, (a2) # Unknown-size Folded Reload
2645 ; ZVFHMIN64-NEXT:    vmv.x.s t2, v0
2646 ; ZVFHMIN64-NEXT:    vmv.x.s t0, v4
2647 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2648 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2649 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2650 ; ZVFHMIN64-NEXT:    sb a0, 213(sp)
2651 ; ZVFHMIN64-NEXT:    lh a0, 552(sp)
2652 ; ZVFHMIN64-NEXT:    lh a1, 296(sp)
2653 ; ZVFHMIN64-NEXT:    vmv.x.s a7, v2
2654 ; ZVFHMIN64-NEXT:    vmv.x.s a6, v30
2655 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2656 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2657 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2658 ; ZVFHMIN64-NEXT:    sb a0, 212(sp)
2659 ; ZVFHMIN64-NEXT:    lh a0, 550(sp)
2660 ; ZVFHMIN64-NEXT:    lh a1, 294(sp)
2661 ; ZVFHMIN64-NEXT:    vmv.x.s a5, v22
2662 ; ZVFHMIN64-NEXT:    vmv.x.s a2, v18
2663 ; ZVFHMIN64-NEXT:    sd a2, 96(sp) # 8-byte Folded Spill
2664 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2665 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2666 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2667 ; ZVFHMIN64-NEXT:    sb a0, 211(sp)
2668 ; ZVFHMIN64-NEXT:    lh a1, 548(sp)
2669 ; ZVFHMIN64-NEXT:    lh t5, 292(sp)
2670 ; ZVFHMIN64-NEXT:    vmv.x.s a0, v14
2671 ; ZVFHMIN64-NEXT:    sd a0, 104(sp) # 8-byte Folded Spill
2672 ; ZVFHMIN64-NEXT:    vmv.x.s a0, v8
2673 ; ZVFHMIN64-NEXT:    sd a0, 120(sp) # 8-byte Folded Spill
2674 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a1
2675 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, t5
2676 ; ZVFHMIN64-NEXT:    feq.h a1, fa5, fa4
2677 ; ZVFHMIN64-NEXT:    sb a1, 210(sp)
2678 ; ZVFHMIN64-NEXT:    lh a1, 546(sp)
2679 ; ZVFHMIN64-NEXT:    lh t5, 290(sp)
2680 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a4
2681 ; ZVFHMIN64-NEXT:    vmv.x.s a4, v24
2682 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2683 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, t5
2684 ; ZVFHMIN64-NEXT:    feq.h a1, fa4, fa3
2685 ; ZVFHMIN64-NEXT:    sb a1, 209(sp)
2686 ; ZVFHMIN64-NEXT:    lh a1, 544(sp)
2687 ; ZVFHMIN64-NEXT:    lh t5, 288(sp)
2688 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a4
2689 ; ZVFHMIN64-NEXT:    feq.h a4, fa5, fa4
2690 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a1
2691 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, t5
2692 ; ZVFHMIN64-NEXT:    feq.h a1, fa5, fa4
2693 ; ZVFHMIN64-NEXT:    sb a4, 192(sp)
2694 ; ZVFHMIN64-NEXT:    sb a1, 208(sp)
2695 ; ZVFHMIN64-NEXT:    lh t5, 738(sp)
2696 ; ZVFHMIN64-NEXT:    lh t6, 482(sp)
2697 ; ZVFHMIN64-NEXT:    vmv.x.s a0, v12
2698 ; ZVFHMIN64-NEXT:    sd a0, 88(sp) # 8-byte Folded Spill
2699 ; ZVFHMIN64-NEXT:    vmv.x.s a0, v10
2700 ; ZVFHMIN64-NEXT:    sd a0, 112(sp) # 8-byte Folded Spill
2701 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, t5
2702 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, t6
2703 ; ZVFHMIN64-NEXT:    feq.h t5, fa5, fa4
2704 ; ZVFHMIN64-NEXT:    sb t5, 177(sp)
2705 ; ZVFHMIN64-NEXT:    lh t5, 736(sp)
2706 ; ZVFHMIN64-NEXT:    lh t6, 480(sp)
2707 ; ZVFHMIN64-NEXT:    csrr a0, vlenb
2708 ; ZVFHMIN64-NEXT:    li a1, 29
2709 ; ZVFHMIN64-NEXT:    mul a0, a0, a1
2710 ; ZVFHMIN64-NEXT:    add a0, sp, a0
2711 ; ZVFHMIN64-NEXT:    lh s5, 800(a0) # 8-byte Folded Reload
2712 ; ZVFHMIN64-NEXT:    csrr a0, vlenb
2713 ; ZVFHMIN64-NEXT:    li a1, 28
2714 ; ZVFHMIN64-NEXT:    mul a0, a0, a1
2715 ; ZVFHMIN64-NEXT:    add a0, sp, a0
2716 ; ZVFHMIN64-NEXT:    lh s6, 800(a0) # 8-byte Folded Reload
2717 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, t5
2718 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, t6
2719 ; ZVFHMIN64-NEXT:    feq.h t5, fa5, fa4
2720 ; ZVFHMIN64-NEXT:    sb t5, 176(sp)
2721 ; ZVFHMIN64-NEXT:    lh t5, 734(sp)
2722 ; ZVFHMIN64-NEXT:    lh t6, 478(sp)
2723 ; ZVFHMIN64-NEXT:    csrr a0, vlenb
2724 ; ZVFHMIN64-NEXT:    li a1, 27
2725 ; ZVFHMIN64-NEXT:    mul a0, a0, a1
2726 ; ZVFHMIN64-NEXT:    add a0, sp, a0
2727 ; ZVFHMIN64-NEXT:    lh s7, 800(a0) # 8-byte Folded Reload
2728 ; ZVFHMIN64-NEXT:    csrr a0, vlenb
2729 ; ZVFHMIN64-NEXT:    li a1, 26
2730 ; ZVFHMIN64-NEXT:    mul a0, a0, a1
2731 ; ZVFHMIN64-NEXT:    add a0, sp, a0
2732 ; ZVFHMIN64-NEXT:    lh s8, 800(a0) # 8-byte Folded Reload
2733 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, t5
2734 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, t6
2735 ; ZVFHMIN64-NEXT:    feq.h t5, fa5, fa4
2736 ; ZVFHMIN64-NEXT:    sb t5, 175(sp)
2737 ; ZVFHMIN64-NEXT:    lh t5, 732(sp)
2738 ; ZVFHMIN64-NEXT:    lh t6, 476(sp)
2739 ; ZVFHMIN64-NEXT:    csrr a0, vlenb
2740 ; ZVFHMIN64-NEXT:    li a1, 25
2741 ; ZVFHMIN64-NEXT:    mul a0, a0, a1
2742 ; ZVFHMIN64-NEXT:    add a0, sp, a0
2743 ; ZVFHMIN64-NEXT:    lh s4, 800(a0) # 8-byte Folded Reload
2744 ; ZVFHMIN64-NEXT:    csrr a0, vlenb
2745 ; ZVFHMIN64-NEXT:    li a1, 24
2746 ; ZVFHMIN64-NEXT:    mul a0, a0, a1
2747 ; ZVFHMIN64-NEXT:    add a0, sp, a0
2748 ; ZVFHMIN64-NEXT:    lh s3, 800(a0) # 8-byte Folded Reload
2749 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, t5
2750 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, t6
2751 ; ZVFHMIN64-NEXT:    feq.h t5, fa5, fa4
2752 ; ZVFHMIN64-NEXT:    sb t5, 174(sp)
2753 ; ZVFHMIN64-NEXT:    lh t6, 730(sp)
2754 ; ZVFHMIN64-NEXT:    lh s9, 474(sp)
2755 ; ZVFHMIN64-NEXT:    csrr a0, vlenb
2756 ; ZVFHMIN64-NEXT:    li a1, 23
2757 ; ZVFHMIN64-NEXT:    mul a0, a0, a1
2758 ; ZVFHMIN64-NEXT:    add a0, sp, a0
2759 ; ZVFHMIN64-NEXT:    lh s2, 800(a0) # 8-byte Folded Reload
2760 ; ZVFHMIN64-NEXT:    vmv.x.s t5, v3
2761 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, t6
2762 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, s9
2763 ; ZVFHMIN64-NEXT:    feq.h t6, fa5, fa4
2764 ; ZVFHMIN64-NEXT:    sb t6, 173(sp)
2765 ; ZVFHMIN64-NEXT:    lh s9, 728(sp)
2766 ; ZVFHMIN64-NEXT:    lh s10, 472(sp)
2767 ; ZVFHMIN64-NEXT:    vmv.x.s t6, v31
2768 ; ZVFHMIN64-NEXT:    vmv.x.s ra, v13
2769 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, s9
2770 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, s10
2771 ; ZVFHMIN64-NEXT:    feq.h s9, fa5, fa4
2772 ; ZVFHMIN64-NEXT:    sb s9, 172(sp)
2773 ; ZVFHMIN64-NEXT:    lh s9, 726(sp)
2774 ; ZVFHMIN64-NEXT:    lh s10, 470(sp)
2775 ; ZVFHMIN64-NEXT:    vmv.x.s a2, v29
2776 ; ZVFHMIN64-NEXT:    vmv.x.s a3, v11
2777 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, s9
2778 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, s10
2779 ; ZVFHMIN64-NEXT:    feq.h s9, fa5, fa4
2780 ; ZVFHMIN64-NEXT:    sb s9, 171(sp)
2781 ; ZVFHMIN64-NEXT:    lh s10, 724(sp)
2782 ; ZVFHMIN64-NEXT:    lh s11, 468(sp)
2783 ; ZVFHMIN64-NEXT:    vmv.x.s a4, v7
2784 ; ZVFHMIN64-NEXT:    vmv.x.s s9, v9
2785 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, s10
2786 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, s11
2787 ; ZVFHMIN64-NEXT:    feq.h s10, fa5, fa4
2788 ; ZVFHMIN64-NEXT:    sb s10, 170(sp)
2789 ; ZVFHMIN64-NEXT:    lh a0, 722(sp)
2790 ; ZVFHMIN64-NEXT:    lh a1, 466(sp)
2791 ; ZVFHMIN64-NEXT:    vmv.x.s s10, v21
2792 ; ZVFHMIN64-NEXT:    vmv.x.s s11, v27
2793 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2794 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2795 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2796 ; ZVFHMIN64-NEXT:    sb a0, 169(sp)
2797 ; ZVFHMIN64-NEXT:    lh a0, 720(sp)
2798 ; ZVFHMIN64-NEXT:    lh a1, 464(sp)
2799 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, s5
2800 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, s6
2801 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, a0
2802 ; ZVFHMIN64-NEXT:    fmv.h.x fa2, a1
2803 ; ZVFHMIN64-NEXT:    feq.h a0, fa3, fa2
2804 ; ZVFHMIN64-NEXT:    sb a0, 168(sp)
2805 ; ZVFHMIN64-NEXT:    lh a0, 718(sp)
2806 ; ZVFHMIN64-NEXT:    lh a1, 462(sp)
2807 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, s7
2808 ; ZVFHMIN64-NEXT:    fmv.h.x fa2, s8
2809 ; ZVFHMIN64-NEXT:    fmv.h.x fa1, a0
2810 ; ZVFHMIN64-NEXT:    fmv.h.x fa0, a1
2811 ; ZVFHMIN64-NEXT:    feq.h a0, fa1, fa0
2812 ; ZVFHMIN64-NEXT:    fmv.h.x fa1, ra
2813 ; ZVFHMIN64-NEXT:    sb a0, 167(sp)
2814 ; ZVFHMIN64-NEXT:    lh a0, 716(sp)
2815 ; ZVFHMIN64-NEXT:    fmv.h.x fa0, a2
2816 ; ZVFHMIN64-NEXT:    lh a1, 460(sp)
2817 ; ZVFHMIN64-NEXT:    feq.h s5, fa5, fa1
2818 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2819 ; ZVFHMIN64-NEXT:    feq.h a0, fa4, fa0
2820 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2821 ; ZVFHMIN64-NEXT:    feq.h a1, fa5, fa4
2822 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, s4
2823 ; ZVFHMIN64-NEXT:    sb a1, 166(sp)
2824 ; ZVFHMIN64-NEXT:    lh a1, 714(sp)
2825 ; ZVFHMIN64-NEXT:    lh a2, 458(sp)
2826 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a3
2827 ; ZVFHMIN64-NEXT:    feq.h a3, fa3, fa4
2828 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2829 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, a2
2830 ; ZVFHMIN64-NEXT:    feq.h a1, fa4, fa3
2831 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, s3
2832 ; ZVFHMIN64-NEXT:    sb a1, 165(sp)
2833 ; ZVFHMIN64-NEXT:    lh a1, 712(sp)
2834 ; ZVFHMIN64-NEXT:    lh a2, 456(sp)
2835 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, a4
2836 ; ZVFHMIN64-NEXT:    feq.h a4, fa2, fa3
2837 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, a1
2838 ; ZVFHMIN64-NEXT:    fmv.h.x fa2, a2
2839 ; ZVFHMIN64-NEXT:    feq.h a1, fa3, fa2
2840 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, s2
2841 ; ZVFHMIN64-NEXT:    sb a1, 164(sp)
2842 ; ZVFHMIN64-NEXT:    lh a1, 710(sp)
2843 ; ZVFHMIN64-NEXT:    lh a2, 454(sp)
2844 ; ZVFHMIN64-NEXT:    fmv.h.x fa2, s9
2845 ; ZVFHMIN64-NEXT:    feq.h s2, fa5, fa2
2846 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a1
2847 ; ZVFHMIN64-NEXT:    fmv.h.x fa2, a2
2848 ; ZVFHMIN64-NEXT:    feq.h a1, fa5, fa2
2849 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, s10
2850 ; ZVFHMIN64-NEXT:    fmv.h.x fa2, s11
2851 ; ZVFHMIN64-NEXT:    sb a1, 163(sp)
2852 ; ZVFHMIN64-NEXT:    lh a1, 708(sp)
2853 ; ZVFHMIN64-NEXT:    lh a2, 452(sp)
2854 ; ZVFHMIN64-NEXT:    feq.h s3, fa4, fa5
2855 ; ZVFHMIN64-NEXT:    feq.h s4, fa3, fa2
2856 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a1
2857 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a2
2858 ; ZVFHMIN64-NEXT:    feq.h a1, fa5, fa4
2859 ; ZVFHMIN64-NEXT:    sb a1, 162(sp)
2860 ; ZVFHMIN64-NEXT:    lh a1, 706(sp)
2861 ; ZVFHMIN64-NEXT:    lh a2, 450(sp)
2862 ; ZVFHMIN64-NEXT:    sb s4, 129(sp)
2863 ; ZVFHMIN64-NEXT:    sb s3, 130(sp)
2864 ; ZVFHMIN64-NEXT:    sb s2, 131(sp)
2865 ; ZVFHMIN64-NEXT:    sb a4, 132(sp)
2866 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a1
2867 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a2
2868 ; ZVFHMIN64-NEXT:    feq.h a1, fa5, fa4
2869 ; ZVFHMIN64-NEXT:    sb a3, 133(sp)
2870 ; ZVFHMIN64-NEXT:    sb a0, 134(sp)
2871 ; ZVFHMIN64-NEXT:    sb s5, 135(sp)
2872 ; ZVFHMIN64-NEXT:    sb a1, 161(sp)
2873 ; ZVFHMIN64-NEXT:    lh a0, 610(sp)
2874 ; ZVFHMIN64-NEXT:    lh a1, 354(sp)
2875 ; ZVFHMIN64-NEXT:    vmv.x.s s6, v5
2876 ; ZVFHMIN64-NEXT:    vmv.x.s s5, v23
2877 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2878 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2879 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2880 ; ZVFHMIN64-NEXT:    sb a0, 241(sp)
2881 ; ZVFHMIN64-NEXT:    lh a0, 608(sp)
2882 ; ZVFHMIN64-NEXT:    lh a1, 352(sp)
2883 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2884 ; ZVFHMIN64-NEXT:    li a3, 21
2885 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2886 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2887 ; ZVFHMIN64-NEXT:    lh s4, 800(a2) # 8-byte Folded Reload
2888 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2889 ; ZVFHMIN64-NEXT:    li a3, 20
2890 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2891 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2892 ; ZVFHMIN64-NEXT:    lh s3, 800(a2) # 8-byte Folded Reload
2893 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2894 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
2895 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2896 ; ZVFHMIN64-NEXT:    sb a0, 240(sp)
2897 ; ZVFHMIN64-NEXT:    lh a0, 606(sp)
2898 ; ZVFHMIN64-NEXT:    lh a1, 350(sp)
2899 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
2900 ; ZVFHMIN64-NEXT:    li a3, 22
2901 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
2902 ; ZVFHMIN64-NEXT:    add a2, sp, a2
2903 ; ZVFHMIN64-NEXT:    lh s2, 800(a2) # 8-byte Folded Reload
2904 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, t5
2905 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a0
2906 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, a1
2907 ; ZVFHMIN64-NEXT:    feq.h a0, fa4, fa3
2908 ; ZVFHMIN64-NEXT:    sb a0, 239(sp)
2909 ; ZVFHMIN64-NEXT:    lh a0, 604(sp)
2910 ; ZVFHMIN64-NEXT:    lh a1, 348(sp)
2911 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, t6
2912 ; ZVFHMIN64-NEXT:    vsetivli zero, 1, e16, m1, ta, ma
2913 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v24, 7
2914 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, a0
2915 ; ZVFHMIN64-NEXT:    fmv.h.x fa2, a1
2916 ; ZVFHMIN64-NEXT:    feq.h a0, fa3, fa2
2917 ; ZVFHMIN64-NEXT:    sb a0, 238(sp)
2918 ; ZVFHMIN64-NEXT:    lh a0, 602(sp)
2919 ; ZVFHMIN64-NEXT:    lh a1, 346(sp)
2920 ; ZVFHMIN64-NEXT:    vmv.x.s a2, v8
2921 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v24, 6
2922 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, a0
2923 ; ZVFHMIN64-NEXT:    fmv.h.x fa2, a1
2924 ; ZVFHMIN64-NEXT:    feq.h a0, fa3, fa2
2925 ; ZVFHMIN64-NEXT:    sb a0, 237(sp)
2926 ; ZVFHMIN64-NEXT:    lh a0, 600(sp)
2927 ; ZVFHMIN64-NEXT:    lh a1, 344(sp)
2928 ; ZVFHMIN64-NEXT:    vmv.x.s a3, v8
2929 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v24, 5
2930 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, a0
2931 ; ZVFHMIN64-NEXT:    fmv.h.x fa2, a1
2932 ; ZVFHMIN64-NEXT:    feq.h a0, fa3, fa2
2933 ; ZVFHMIN64-NEXT:    sb a0, 236(sp)
2934 ; ZVFHMIN64-NEXT:    lh a0, 598(sp)
2935 ; ZVFHMIN64-NEXT:    lh a1, 342(sp)
2936 ; ZVFHMIN64-NEXT:    vmv.x.s a4, v8
2937 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v24, 4
2938 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, a0
2939 ; ZVFHMIN64-NEXT:    fmv.h.x fa2, a1
2940 ; ZVFHMIN64-NEXT:    feq.h a0, fa3, fa2
2941 ; ZVFHMIN64-NEXT:    sb a0, 235(sp)
2942 ; ZVFHMIN64-NEXT:    lh a0, 596(sp)
2943 ; ZVFHMIN64-NEXT:    lh a1, 340(sp)
2944 ; ZVFHMIN64-NEXT:    vmv.x.s s8, v8
2945 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v24, 3
2946 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, a0
2947 ; ZVFHMIN64-NEXT:    fmv.h.x fa2, a1
2948 ; ZVFHMIN64-NEXT:    feq.h a0, fa3, fa2
2949 ; ZVFHMIN64-NEXT:    sb a0, 234(sp)
2950 ; ZVFHMIN64-NEXT:    lh a0, 594(sp)
2951 ; ZVFHMIN64-NEXT:    lh a1, 338(sp)
2952 ; ZVFHMIN64-NEXT:    vmv.x.s s9, v8
2953 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v24, 2
2954 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, a0
2955 ; ZVFHMIN64-NEXT:    fmv.h.x fa2, a1
2956 ; ZVFHMIN64-NEXT:    feq.h a0, fa3, fa2
2957 ; ZVFHMIN64-NEXT:    sb a0, 233(sp)
2958 ; ZVFHMIN64-NEXT:    lh a0, 592(sp)
2959 ; ZVFHMIN64-NEXT:    vmv.x.s a1, v8
2960 ; ZVFHMIN64-NEXT:    lh t5, 336(sp)
2961 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v24, 1
2962 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, a0
2963 ; ZVFHMIN64-NEXT:    vmv.x.s s7, v8
2964 ; ZVFHMIN64-NEXT:    fmv.h.x fa2, t5
2965 ; ZVFHMIN64-NEXT:    feq.h a0, fa3, fa2
2966 ; ZVFHMIN64-NEXT:    fmv.h.x fa3, a2
2967 ; ZVFHMIN64-NEXT:    sb a0, 232(sp)
2968 ; ZVFHMIN64-NEXT:    lh a0, 590(sp)
2969 ; ZVFHMIN64-NEXT:    fmv.h.x fa2, a3
2970 ; ZVFHMIN64-NEXT:    lh a2, 334(sp)
2971 ; ZVFHMIN64-NEXT:    feq.h t5, fa5, fa3
2972 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2973 ; ZVFHMIN64-NEXT:    feq.h t6, fa4, fa2
2974 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a2
2975 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2976 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, s6
2977 ; ZVFHMIN64-NEXT:    sb a0, 231(sp)
2978 ; ZVFHMIN64-NEXT:    lh a0, 588(sp)
2979 ; ZVFHMIN64-NEXT:    lh a2, 332(sp)
2980 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a4
2981 ; ZVFHMIN64-NEXT:    feq.h a3, fa5, fa4
2982 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2983 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a2
2984 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2985 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, s5
2986 ; ZVFHMIN64-NEXT:    sb a0, 230(sp)
2987 ; ZVFHMIN64-NEXT:    lh a0, 586(sp)
2988 ; ZVFHMIN64-NEXT:    lh a2, 330(sp)
2989 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, s8
2990 ; ZVFHMIN64-NEXT:    feq.h a4, fa5, fa4
2991 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
2992 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a2
2993 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
2994 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, s4
2995 ; ZVFHMIN64-NEXT:    sb a0, 229(sp)
2996 ; ZVFHMIN64-NEXT:    lh a0, 584(sp)
2997 ; ZVFHMIN64-NEXT:    lh a2, 328(sp)
2998 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, s9
2999 ; ZVFHMIN64-NEXT:    feq.h s4, fa5, fa4
3000 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3001 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a2
3002 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3003 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, s3
3004 ; ZVFHMIN64-NEXT:    sb a0, 228(sp)
3005 ; ZVFHMIN64-NEXT:    lh a0, 582(sp)
3006 ; ZVFHMIN64-NEXT:    lh a2, 326(sp)
3007 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3008 ; ZVFHMIN64-NEXT:    feq.h a1, fa5, fa4
3009 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3010 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a2
3011 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3012 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, s2
3013 ; ZVFHMIN64-NEXT:    sb a0, 227(sp)
3014 ; ZVFHMIN64-NEXT:    lh a0, 580(sp)
3015 ; ZVFHMIN64-NEXT:    lh a2, 324(sp)
3016 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, s7
3017 ; ZVFHMIN64-NEXT:    feq.h s2, fa5, fa4
3018 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3019 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a2
3020 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3021 ; ZVFHMIN64-NEXT:    sb a0, 226(sp)
3022 ; ZVFHMIN64-NEXT:    lh a0, 578(sp)
3023 ; ZVFHMIN64-NEXT:    lh a2, 322(sp)
3024 ; ZVFHMIN64-NEXT:    sb s2, 193(sp)
3025 ; ZVFHMIN64-NEXT:    sb a1, 194(sp)
3026 ; ZVFHMIN64-NEXT:    sb s4, 195(sp)
3027 ; ZVFHMIN64-NEXT:    sb a4, 196(sp)
3028 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3029 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a2
3030 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3031 ; ZVFHMIN64-NEXT:    sb a3, 197(sp)
3032 ; ZVFHMIN64-NEXT:    sb t6, 198(sp)
3033 ; ZVFHMIN64-NEXT:    sb t5, 199(sp)
3034 ; ZVFHMIN64-NEXT:    sb a0, 225(sp)
3035 ; ZVFHMIN64-NEXT:    lh a0, 766(sp)
3036 ; ZVFHMIN64-NEXT:    lh a1, 510(sp)
3037 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
3038 ; ZVFHMIN64-NEXT:    li a3, 18
3039 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
3040 ; ZVFHMIN64-NEXT:    add a2, sp, a2
3041 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
3042 ; ZVFHMIN64-NEXT:    vl2r.v v8, (a2) # Unknown-size Folded Reload
3043 ; ZVFHMIN64-NEXT:    vmv.x.s s2, v8
3044 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
3045 ; ZVFHMIN64-NEXT:    li a3, 14
3046 ; ZVFHMIN64-NEXT:    mul a2, a2, a3
3047 ; ZVFHMIN64-NEXT:    add a2, sp, a2
3048 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
3049 ; ZVFHMIN64-NEXT:    vl2r.v v8, (a2) # Unknown-size Folded Reload
3050 ; ZVFHMIN64-NEXT:    vmv.x.s t6, v8
3051 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3052 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3053 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3054 ; ZVFHMIN64-NEXT:    sb a0, 191(sp)
3055 ; ZVFHMIN64-NEXT:    lh a0, 764(sp)
3056 ; ZVFHMIN64-NEXT:    lh a1, 508(sp)
3057 ; ZVFHMIN64-NEXT:    vmv.x.s t5, v6
3058 ; ZVFHMIN64-NEXT:    csrr a2, vlenb
3059 ; ZVFHMIN64-NEXT:    slli a2, a2, 2
3060 ; ZVFHMIN64-NEXT:    add a2, sp, a2
3061 ; ZVFHMIN64-NEXT:    addi a2, a2, 800
3062 ; ZVFHMIN64-NEXT:    vl2r.v v8, (a2) # Unknown-size Folded Reload
3063 ; ZVFHMIN64-NEXT:    vmv.x.s a2, v8
3064 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3065 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3066 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3067 ; ZVFHMIN64-NEXT:    sb a0, 190(sp)
3068 ; ZVFHMIN64-NEXT:    lh a0, 762(sp)
3069 ; ZVFHMIN64-NEXT:    lh a1, 506(sp)
3070 ; ZVFHMIN64-NEXT:    csrr a3, vlenb
3071 ; ZVFHMIN64-NEXT:    slli a3, a3, 3
3072 ; ZVFHMIN64-NEXT:    add a3, sp, a3
3073 ; ZVFHMIN64-NEXT:    addi a3, a3, 800
3074 ; ZVFHMIN64-NEXT:    vl2r.v v8, (a3) # Unknown-size Folded Reload
3075 ; ZVFHMIN64-NEXT:    vmv.x.s a3, v8
3076 ; ZVFHMIN64-NEXT:    csrr a4, vlenb
3077 ; ZVFHMIN64-NEXT:    li s3, 6
3078 ; ZVFHMIN64-NEXT:    mul a4, a4, s3
3079 ; ZVFHMIN64-NEXT:    add a4, sp, a4
3080 ; ZVFHMIN64-NEXT:    addi a4, a4, 800
3081 ; ZVFHMIN64-NEXT:    vl2r.v v8, (a4) # Unknown-size Folded Reload
3082 ; ZVFHMIN64-NEXT:    vmv.x.s a4, v8
3083 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3084 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3085 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3086 ; ZVFHMIN64-NEXT:    sb a0, 189(sp)
3087 ; ZVFHMIN64-NEXT:    lh a0, 760(sp)
3088 ; ZVFHMIN64-NEXT:    lh a1, 504(sp)
3089 ; ZVFHMIN64-NEXT:    csrr s3, vlenb
3090 ; ZVFHMIN64-NEXT:    li s4, 12
3091 ; ZVFHMIN64-NEXT:    mul s3, s3, s4
3092 ; ZVFHMIN64-NEXT:    add s3, sp, s3
3093 ; ZVFHMIN64-NEXT:    addi s3, s3, 800
3094 ; ZVFHMIN64-NEXT:    vl2r.v v8, (s3) # Unknown-size Folded Reload
3095 ; ZVFHMIN64-NEXT:    vmv.x.s s6, v8
3096 ; ZVFHMIN64-NEXT:    csrr s3, vlenb
3097 ; ZVFHMIN64-NEXT:    li s4, 10
3098 ; ZVFHMIN64-NEXT:    mul s3, s3, s4
3099 ; ZVFHMIN64-NEXT:    add s3, sp, s3
3100 ; ZVFHMIN64-NEXT:    addi s3, s3, 800
3101 ; ZVFHMIN64-NEXT:    vl2r.v v8, (s3) # Unknown-size Folded Reload
3102 ; ZVFHMIN64-NEXT:    vmv.x.s s4, v8
3103 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3104 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3105 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3106 ; ZVFHMIN64-NEXT:    sb a0, 188(sp)
3107 ; ZVFHMIN64-NEXT:    lh a0, 758(sp)
3108 ; ZVFHMIN64-NEXT:    lh a1, 502(sp)
3109 ; ZVFHMIN64-NEXT:    csrr s3, vlenb
3110 ; ZVFHMIN64-NEXT:    slli s3, s3, 4
3111 ; ZVFHMIN64-NEXT:    add s3, sp, s3
3112 ; ZVFHMIN64-NEXT:    addi s3, s3, 800
3113 ; ZVFHMIN64-NEXT:    vl2r.v v8, (s3) # Unknown-size Folded Reload
3114 ; ZVFHMIN64-NEXT:    vmv.x.s s5, v8
3115 ; ZVFHMIN64-NEXT:    vmv.x.s s3, v16
3116 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3117 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3118 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3119 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, t4
3120 ; ZVFHMIN64-NEXT:    sb a0, 187(sp)
3121 ; ZVFHMIN64-NEXT:    lh a0, 756(sp)
3122 ; ZVFHMIN64-NEXT:    lh a1, 500(sp)
3123 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a2
3124 ; ZVFHMIN64-NEXT:    feq.h t4, fa5, fa4
3125 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3126 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3127 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3128 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, t3
3129 ; ZVFHMIN64-NEXT:    sb a0, 186(sp)
3130 ; ZVFHMIN64-NEXT:    lh a0, 754(sp)
3131 ; ZVFHMIN64-NEXT:    lh a1, 498(sp)
3132 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a3
3133 ; ZVFHMIN64-NEXT:    feq.h t3, fa5, fa4
3134 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3135 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3136 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3137 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, t1
3138 ; ZVFHMIN64-NEXT:    sb a0, 185(sp)
3139 ; ZVFHMIN64-NEXT:    lh a0, 752(sp)
3140 ; ZVFHMIN64-NEXT:    lh a1, 496(sp)
3141 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a4
3142 ; ZVFHMIN64-NEXT:    feq.h t1, fa5, fa4
3143 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3144 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3145 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3146 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, t2
3147 ; ZVFHMIN64-NEXT:    sb a0, 184(sp)
3148 ; ZVFHMIN64-NEXT:    lh a0, 750(sp)
3149 ; ZVFHMIN64-NEXT:    lh a1, 494(sp)
3150 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, s6
3151 ; ZVFHMIN64-NEXT:    feq.h a2, fa5, fa4
3152 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3153 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3154 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3155 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, t0
3156 ; ZVFHMIN64-NEXT:    sb a0, 183(sp)
3157 ; ZVFHMIN64-NEXT:    lh a0, 748(sp)
3158 ; ZVFHMIN64-NEXT:    lh a1, 492(sp)
3159 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, s4
3160 ; ZVFHMIN64-NEXT:    feq.h a3, fa5, fa4
3161 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3162 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3163 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3164 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a7
3165 ; ZVFHMIN64-NEXT:    sb a0, 182(sp)
3166 ; ZVFHMIN64-NEXT:    lh a0, 746(sp)
3167 ; ZVFHMIN64-NEXT:    lh a1, 490(sp)
3168 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, s5
3169 ; ZVFHMIN64-NEXT:    feq.h a4, fa5, fa4
3170 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3171 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3172 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3173 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a6
3174 ; ZVFHMIN64-NEXT:    sb a0, 181(sp)
3175 ; ZVFHMIN64-NEXT:    lh a0, 744(sp)
3176 ; ZVFHMIN64-NEXT:    lh a1, 488(sp)
3177 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, s3
3178 ; ZVFHMIN64-NEXT:    feq.h a6, fa5, fa4
3179 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3180 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3181 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3182 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a5
3183 ; ZVFHMIN64-NEXT:    addi a1, sp, 800
3184 ; ZVFHMIN64-NEXT:    vl2r.v v8, (a1) # Unknown-size Folded Reload
3185 ; ZVFHMIN64-NEXT:    vmv.x.s a1, v8
3186 ; ZVFHMIN64-NEXT:    vsetivli zero, 1, e16, m2, ta, ma
3187 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v24, 15
3188 ; ZVFHMIN64-NEXT:    vmv.x.s a5, v8
3189 ; ZVFHMIN64-NEXT:    sb a0, 180(sp)
3190 ; ZVFHMIN64-NEXT:    lh a0, 742(sp)
3191 ; ZVFHMIN64-NEXT:    lh a7, 486(sp)
3192 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3193 ; ZVFHMIN64-NEXT:    feq.h a1, fa5, fa4
3194 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3195 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a7
3196 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3197 ; ZVFHMIN64-NEXT:    sb a0, 179(sp)
3198 ; ZVFHMIN64-NEXT:    lh a0, 740(sp)
3199 ; ZVFHMIN64-NEXT:    lh a7, 484(sp)
3200 ; ZVFHMIN64-NEXT:    sb a2, 140(sp)
3201 ; ZVFHMIN64-NEXT:    sb t1, 141(sp)
3202 ; ZVFHMIN64-NEXT:    sb t3, 142(sp)
3203 ; ZVFHMIN64-NEXT:    sb t4, 143(sp)
3204 ; ZVFHMIN64-NEXT:    sb a1, 136(sp)
3205 ; ZVFHMIN64-NEXT:    sb a6, 137(sp)
3206 ; ZVFHMIN64-NEXT:    sb a4, 138(sp)
3207 ; ZVFHMIN64-NEXT:    sb a3, 139(sp)
3208 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3209 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a7
3210 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3211 ; ZVFHMIN64-NEXT:    sb a0, 178(sp)
3212 ; ZVFHMIN64-NEXT:    lh a0, 638(sp)
3213 ; ZVFHMIN64-NEXT:    lh a1, 382(sp)
3214 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v24, 14
3215 ; ZVFHMIN64-NEXT:    vmv.x.s t3, v8
3216 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3217 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3218 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3219 ; ZVFHMIN64-NEXT:    sb a0, 255(sp)
3220 ; ZVFHMIN64-NEXT:    lh a0, 636(sp)
3221 ; ZVFHMIN64-NEXT:    lh a1, 380(sp)
3222 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v24, 13
3223 ; ZVFHMIN64-NEXT:    vmv.x.s t2, v8
3224 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3225 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3226 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3227 ; ZVFHMIN64-NEXT:    sb a0, 254(sp)
3228 ; ZVFHMIN64-NEXT:    lh a0, 634(sp)
3229 ; ZVFHMIN64-NEXT:    lh a1, 378(sp)
3230 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v24, 12
3231 ; ZVFHMIN64-NEXT:    vmv.x.s t1, v8
3232 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3233 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3234 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3235 ; ZVFHMIN64-NEXT:    sb a0, 253(sp)
3236 ; ZVFHMIN64-NEXT:    lh a0, 632(sp)
3237 ; ZVFHMIN64-NEXT:    lh a1, 376(sp)
3238 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v24, 11
3239 ; ZVFHMIN64-NEXT:    vmv.x.s t0, v8
3240 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3241 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3242 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3243 ; ZVFHMIN64-NEXT:    sb a0, 252(sp)
3244 ; ZVFHMIN64-NEXT:    lh a0, 630(sp)
3245 ; ZVFHMIN64-NEXT:    lh a1, 374(sp)
3246 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v24, 10
3247 ; ZVFHMIN64-NEXT:    vmv.x.s a7, v8
3248 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3249 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3250 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3251 ; ZVFHMIN64-NEXT:    sb a0, 251(sp)
3252 ; ZVFHMIN64-NEXT:    lh a0, 628(sp)
3253 ; ZVFHMIN64-NEXT:    lh a1, 372(sp)
3254 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v24, 9
3255 ; ZVFHMIN64-NEXT:    vmv.x.s a6, v8
3256 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3257 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3258 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3259 ; ZVFHMIN64-NEXT:    ld a1, 96(sp) # 8-byte Folded Reload
3260 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a1
3261 ; ZVFHMIN64-NEXT:    sb a0, 250(sp)
3262 ; ZVFHMIN64-NEXT:    lh a0, 626(sp)
3263 ; ZVFHMIN64-NEXT:    lh a1, 370(sp)
3264 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a5
3265 ; ZVFHMIN64-NEXT:    feq.h a3, fa5, fa4
3266 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3267 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3268 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3269 ; ZVFHMIN64-NEXT:    ld a1, 104(sp) # 8-byte Folded Reload
3270 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a1
3271 ; ZVFHMIN64-NEXT:    sb a0, 249(sp)
3272 ; ZVFHMIN64-NEXT:    lh a0, 624(sp)
3273 ; ZVFHMIN64-NEXT:    lh a1, 368(sp)
3274 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, t3
3275 ; ZVFHMIN64-NEXT:    feq.h a2, fa5, fa4
3276 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3277 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3278 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3279 ; ZVFHMIN64-NEXT:    ld a1, 120(sp) # 8-byte Folded Reload
3280 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a1
3281 ; ZVFHMIN64-NEXT:    sb a0, 248(sp)
3282 ; ZVFHMIN64-NEXT:    lh a0, 622(sp)
3283 ; ZVFHMIN64-NEXT:    lh a1, 366(sp)
3284 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, t2
3285 ; ZVFHMIN64-NEXT:    feq.h a4, fa5, fa4
3286 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3287 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3288 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3289 ; ZVFHMIN64-NEXT:    ld a1, 88(sp) # 8-byte Folded Reload
3290 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a1
3291 ; ZVFHMIN64-NEXT:    sb a0, 247(sp)
3292 ; ZVFHMIN64-NEXT:    lh a0, 620(sp)
3293 ; ZVFHMIN64-NEXT:    lh a1, 364(sp)
3294 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, t1
3295 ; ZVFHMIN64-NEXT:    feq.h a5, fa5, fa4
3296 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3297 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3298 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3299 ; ZVFHMIN64-NEXT:    ld a1, 112(sp) # 8-byte Folded Reload
3300 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a1
3301 ; ZVFHMIN64-NEXT:    sb a0, 246(sp)
3302 ; ZVFHMIN64-NEXT:    lh a0, 618(sp)
3303 ; ZVFHMIN64-NEXT:    lh a1, 362(sp)
3304 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, t0
3305 ; ZVFHMIN64-NEXT:    feq.h t0, fa5, fa4
3306 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3307 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3308 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3309 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, s2
3310 ; ZVFHMIN64-NEXT:    sb a0, 245(sp)
3311 ; ZVFHMIN64-NEXT:    lh a0, 616(sp)
3312 ; ZVFHMIN64-NEXT:    lh a1, 360(sp)
3313 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a7
3314 ; ZVFHMIN64-NEXT:    feq.h a7, fa5, fa4
3315 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3316 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3317 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3318 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, t6
3319 ; ZVFHMIN64-NEXT:    sb a0, 244(sp)
3320 ; ZVFHMIN64-NEXT:    lh a0, 614(sp)
3321 ; ZVFHMIN64-NEXT:    lh a1, 358(sp)
3322 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a6
3323 ; ZVFHMIN64-NEXT:    feq.h a6, fa5, fa4
3324 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3325 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3326 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3327 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, t5
3328 ; ZVFHMIN64-NEXT:    vslidedown.vi v8, v24, 8
3329 ; ZVFHMIN64-NEXT:    vmv.x.s a1, v8
3330 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3331 ; ZVFHMIN64-NEXT:    sb a0, 243(sp)
3332 ; ZVFHMIN64-NEXT:    lh a0, 612(sp)
3333 ; ZVFHMIN64-NEXT:    lh a1, 356(sp)
3334 ; ZVFHMIN64-NEXT:    sb a5, 204(sp)
3335 ; ZVFHMIN64-NEXT:    sb a4, 205(sp)
3336 ; ZVFHMIN64-NEXT:    sb a2, 206(sp)
3337 ; ZVFHMIN64-NEXT:    sb a3, 207(sp)
3338 ; ZVFHMIN64-NEXT:    feq.h a2, fa5, fa4
3339 ; ZVFHMIN64-NEXT:    sb a2, 200(sp)
3340 ; ZVFHMIN64-NEXT:    sb a6, 201(sp)
3341 ; ZVFHMIN64-NEXT:    sb a7, 202(sp)
3342 ; ZVFHMIN64-NEXT:    sb t0, 203(sp)
3343 ; ZVFHMIN64-NEXT:    li a2, 128
3344 ; ZVFHMIN64-NEXT:    fmv.h.x fa5, a0
3345 ; ZVFHMIN64-NEXT:    fmv.h.x fa4, a1
3346 ; ZVFHMIN64-NEXT:    feq.h a0, fa5, fa4
3347 ; ZVFHMIN64-NEXT:    sb a0, 242(sp)
3348 ; ZVFHMIN64-NEXT:    addi a0, sp, 128
3349 ; ZVFHMIN64-NEXT:    vsetvli zero, a2, e8, m8, ta, ma
3350 ; ZVFHMIN64-NEXT:    vle8.v v8, (a0)
3351 ; ZVFHMIN64-NEXT:    vand.vi v8, v8, 1
3352 ; ZVFHMIN64-NEXT:    vmsne.vi v0, v8, 0
3353 ; ZVFHMIN64-NEXT:    addi sp, s0, -896
3354 ; ZVFHMIN64-NEXT:    .cfi_def_cfa sp, 896
3355 ; ZVFHMIN64-NEXT:    ld ra, 888(sp) # 8-byte Folded Reload
3356 ; ZVFHMIN64-NEXT:    ld s0, 880(sp) # 8-byte Folded Reload
3357 ; ZVFHMIN64-NEXT:    ld s2, 872(sp) # 8-byte Folded Reload
3358 ; ZVFHMIN64-NEXT:    ld s3, 864(sp) # 8-byte Folded Reload
3359 ; ZVFHMIN64-NEXT:    ld s4, 856(sp) # 8-byte Folded Reload
3360 ; ZVFHMIN64-NEXT:    ld s5, 848(sp) # 8-byte Folded Reload
3361 ; ZVFHMIN64-NEXT:    ld s6, 840(sp) # 8-byte Folded Reload
3362 ; ZVFHMIN64-NEXT:    ld s7, 832(sp) # 8-byte Folded Reload
3363 ; ZVFHMIN64-NEXT:    ld s8, 824(sp) # 8-byte Folded Reload
3364 ; ZVFHMIN64-NEXT:    ld s9, 816(sp) # 8-byte Folded Reload
3365 ; ZVFHMIN64-NEXT:    ld s10, 808(sp) # 8-byte Folded Reload
3366 ; ZVFHMIN64-NEXT:    ld s11, 800(sp) # 8-byte Folded Reload
3367 ; ZVFHMIN64-NEXT:    .cfi_restore ra
3368 ; ZVFHMIN64-NEXT:    .cfi_restore s0
3369 ; ZVFHMIN64-NEXT:    .cfi_restore s2
3370 ; ZVFHMIN64-NEXT:    .cfi_restore s3
3371 ; ZVFHMIN64-NEXT:    .cfi_restore s4
3372 ; ZVFHMIN64-NEXT:    .cfi_restore s5
3373 ; ZVFHMIN64-NEXT:    .cfi_restore s6
3374 ; ZVFHMIN64-NEXT:    .cfi_restore s7
3375 ; ZVFHMIN64-NEXT:    .cfi_restore s8
3376 ; ZVFHMIN64-NEXT:    .cfi_restore s9
3377 ; ZVFHMIN64-NEXT:    .cfi_restore s10
3378 ; ZVFHMIN64-NEXT:    .cfi_restore s11
3379 ; ZVFHMIN64-NEXT:    addi sp, sp, 896
3380 ; ZVFHMIN64-NEXT:    .cfi_def_cfa_offset 0
3381 ; ZVFHMIN64-NEXT:    ret
3382   %v = call <128 x i1> @llvm.vp.fcmp.v128f16(<128 x half> %va, <128 x half> %vb, metadata !"oeq", <128 x i1> %m, i32 %evl)
3383   ret <128 x i1> %v
3386 declare <7 x i1> @llvm.vp.fcmp.v7f64(<7 x double>, <7 x double>, metadata, <7 x i1>, i32)
3388 define <7 x i1> @fcmp_oeq_vv_v7f64(<7 x double> %va, <7 x double> %vb, <7 x i1> %m, i32 zeroext %evl) {
3389 ; CHECK-LABEL: fcmp_oeq_vv_v7f64:
3390 ; CHECK:       # %bb.0:
3391 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3392 ; CHECK-NEXT:    vmfeq.vv v16, v8, v12, v0.t
3393 ; CHECK-NEXT:    vmv1r.v v0, v16
3394 ; CHECK-NEXT:    ret
3395   %v = call <7 x i1> @llvm.vp.fcmp.v7f64(<7 x double> %va, <7 x double> %vb, metadata !"oeq", <7 x i1> %m, i32 %evl)
3396   ret <7 x i1> %v
3399 declare <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double>, <8 x double>, metadata, <8 x i1>, i32)
3401 define <8 x i1> @fcmp_oeq_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {
3402 ; CHECK-LABEL: fcmp_oeq_vv_v8f64:
3403 ; CHECK:       # %bb.0:
3404 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3405 ; CHECK-NEXT:    vmfeq.vv v16, v8, v12, v0.t
3406 ; CHECK-NEXT:    vmv1r.v v0, v16
3407 ; CHECK-NEXT:    ret
3408   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"oeq", <8 x i1> %m, i32 %evl)
3409   ret <8 x i1> %v
3412 define <8 x i1> @fcmp_oeq_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3413 ; CHECK-LABEL: fcmp_oeq_vf_v8f64:
3414 ; CHECK:       # %bb.0:
3415 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3416 ; CHECK-NEXT:    vmfeq.vf v12, v8, fa0, v0.t
3417 ; CHECK-NEXT:    vmv1r.v v0, v12
3418 ; CHECK-NEXT:    ret
3419   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3420   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3421   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"oeq", <8 x i1> %m, i32 %evl)
3422   ret <8 x i1> %v
3425 define <8 x i1> @fcmp_oeq_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3426 ; CHECK-LABEL: fcmp_oeq_vf_swap_v8f64:
3427 ; CHECK:       # %bb.0:
3428 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3429 ; CHECK-NEXT:    vmfeq.vf v12, v8, fa0, v0.t
3430 ; CHECK-NEXT:    vmv1r.v v0, v12
3431 ; CHECK-NEXT:    ret
3432   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3433   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3434   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %vb, <8 x double> %va, metadata !"oeq", <8 x i1> %m, i32 %evl)
3435   ret <8 x i1> %v
3438 define <8 x i1> @fcmp_ogt_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {
3439 ; CHECK-LABEL: fcmp_ogt_vv_v8f64:
3440 ; CHECK:       # %bb.0:
3441 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3442 ; CHECK-NEXT:    vmflt.vv v16, v12, v8, v0.t
3443 ; CHECK-NEXT:    vmv1r.v v0, v16
3444 ; CHECK-NEXT:    ret
3445   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"ogt", <8 x i1> %m, i32 %evl)
3446   ret <8 x i1> %v
3449 define <8 x i1> @fcmp_ogt_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3450 ; CHECK-LABEL: fcmp_ogt_vf_v8f64:
3451 ; CHECK:       # %bb.0:
3452 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3453 ; CHECK-NEXT:    vmfgt.vf v12, v8, fa0, v0.t
3454 ; CHECK-NEXT:    vmv1r.v v0, v12
3455 ; CHECK-NEXT:    ret
3456   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3457   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3458   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"ogt", <8 x i1> %m, i32 %evl)
3459   ret <8 x i1> %v
3462 define <8 x i1> @fcmp_ogt_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3463 ; CHECK-LABEL: fcmp_ogt_vf_swap_v8f64:
3464 ; CHECK:       # %bb.0:
3465 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3466 ; CHECK-NEXT:    vmflt.vf v12, v8, fa0, v0.t
3467 ; CHECK-NEXT:    vmv1r.v v0, v12
3468 ; CHECK-NEXT:    ret
3469   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3470   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3471   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %vb, <8 x double> %va, metadata !"ogt", <8 x i1> %m, i32 %evl)
3472   ret <8 x i1> %v
3475 define <8 x i1> @fcmp_oge_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {
3476 ; CHECK-LABEL: fcmp_oge_vv_v8f64:
3477 ; CHECK:       # %bb.0:
3478 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3479 ; CHECK-NEXT:    vmfle.vv v16, v12, v8, v0.t
3480 ; CHECK-NEXT:    vmv1r.v v0, v16
3481 ; CHECK-NEXT:    ret
3482   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"oge", <8 x i1> %m, i32 %evl)
3483   ret <8 x i1> %v
3486 define <8 x i1> @fcmp_oge_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3487 ; CHECK-LABEL: fcmp_oge_vf_v8f64:
3488 ; CHECK:       # %bb.0:
3489 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3490 ; CHECK-NEXT:    vmfge.vf v12, v8, fa0, v0.t
3491 ; CHECK-NEXT:    vmv1r.v v0, v12
3492 ; CHECK-NEXT:    ret
3493   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3494   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3495   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"oge", <8 x i1> %m, i32 %evl)
3496   ret <8 x i1> %v
3499 define <8 x i1> @fcmp_oge_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3500 ; CHECK-LABEL: fcmp_oge_vf_swap_v8f64:
3501 ; CHECK:       # %bb.0:
3502 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3503 ; CHECK-NEXT:    vmfle.vf v12, v8, fa0, v0.t
3504 ; CHECK-NEXT:    vmv1r.v v0, v12
3505 ; CHECK-NEXT:    ret
3506   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3507   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3508   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %vb, <8 x double> %va, metadata !"oge", <8 x i1> %m, i32 %evl)
3509   ret <8 x i1> %v
3512 define <8 x i1> @fcmp_olt_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {
3513 ; CHECK-LABEL: fcmp_olt_vv_v8f64:
3514 ; CHECK:       # %bb.0:
3515 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3516 ; CHECK-NEXT:    vmflt.vv v16, v8, v12, v0.t
3517 ; CHECK-NEXT:    vmv1r.v v0, v16
3518 ; CHECK-NEXT:    ret
3519   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"olt", <8 x i1> %m, i32 %evl)
3520   ret <8 x i1> %v
3523 define <8 x i1> @fcmp_olt_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3524 ; CHECK-LABEL: fcmp_olt_vf_v8f64:
3525 ; CHECK:       # %bb.0:
3526 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3527 ; CHECK-NEXT:    vmflt.vf v12, v8, fa0, v0.t
3528 ; CHECK-NEXT:    vmv1r.v v0, v12
3529 ; CHECK-NEXT:    ret
3530   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3531   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3532   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"olt", <8 x i1> %m, i32 %evl)
3533   ret <8 x i1> %v
3536 define <8 x i1> @fcmp_olt_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3537 ; CHECK-LABEL: fcmp_olt_vf_swap_v8f64:
3538 ; CHECK:       # %bb.0:
3539 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3540 ; CHECK-NEXT:    vmfgt.vf v12, v8, fa0, v0.t
3541 ; CHECK-NEXT:    vmv1r.v v0, v12
3542 ; CHECK-NEXT:    ret
3543   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3544   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3545   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %vb, <8 x double> %va, metadata !"olt", <8 x i1> %m, i32 %evl)
3546   ret <8 x i1> %v
3549 define <8 x i1> @fcmp_ole_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {
3550 ; CHECK-LABEL: fcmp_ole_vv_v8f64:
3551 ; CHECK:       # %bb.0:
3552 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3553 ; CHECK-NEXT:    vmfle.vv v16, v8, v12, v0.t
3554 ; CHECK-NEXT:    vmv1r.v v0, v16
3555 ; CHECK-NEXT:    ret
3556   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"ole", <8 x i1> %m, i32 %evl)
3557   ret <8 x i1> %v
3560 define <8 x i1> @fcmp_ole_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3561 ; CHECK-LABEL: fcmp_ole_vf_v8f64:
3562 ; CHECK:       # %bb.0:
3563 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3564 ; CHECK-NEXT:    vmfle.vf v12, v8, fa0, v0.t
3565 ; CHECK-NEXT:    vmv1r.v v0, v12
3566 ; CHECK-NEXT:    ret
3567   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3568   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3569   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"ole", <8 x i1> %m, i32 %evl)
3570   ret <8 x i1> %v
3573 define <8 x i1> @fcmp_ole_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3574 ; CHECK-LABEL: fcmp_ole_vf_swap_v8f64:
3575 ; CHECK:       # %bb.0:
3576 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3577 ; CHECK-NEXT:    vmfge.vf v12, v8, fa0, v0.t
3578 ; CHECK-NEXT:    vmv1r.v v0, v12
3579 ; CHECK-NEXT:    ret
3580   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3581   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3582   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %vb, <8 x double> %va, metadata !"ole", <8 x i1> %m, i32 %evl)
3583   ret <8 x i1> %v
3586 define <8 x i1> @fcmp_one_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {
3587 ; CHECK-LABEL: fcmp_one_vv_v8f64:
3588 ; CHECK:       # %bb.0:
3589 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3590 ; CHECK-NEXT:    vmflt.vv v16, v8, v12, v0.t
3591 ; CHECK-NEXT:    vmflt.vv v17, v12, v8, v0.t
3592 ; CHECK-NEXT:    vmor.mm v0, v17, v16
3593 ; CHECK-NEXT:    ret
3594   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"one", <8 x i1> %m, i32 %evl)
3595   ret <8 x i1> %v
3598 define <8 x i1> @fcmp_one_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3599 ; CHECK-LABEL: fcmp_one_vf_v8f64:
3600 ; CHECK:       # %bb.0:
3601 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3602 ; CHECK-NEXT:    vmflt.vf v12, v8, fa0, v0.t
3603 ; CHECK-NEXT:    vmfgt.vf v13, v8, fa0, v0.t
3604 ; CHECK-NEXT:    vmor.mm v0, v13, v12
3605 ; CHECK-NEXT:    ret
3606   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3607   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3608   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"one", <8 x i1> %m, i32 %evl)
3609   ret <8 x i1> %v
3612 define <8 x i1> @fcmp_one_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3613 ; CHECK-LABEL: fcmp_one_vf_swap_v8f64:
3614 ; CHECK:       # %bb.0:
3615 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3616 ; CHECK-NEXT:    vmfgt.vf v12, v8, fa0, v0.t
3617 ; CHECK-NEXT:    vmflt.vf v13, v8, fa0, v0.t
3618 ; CHECK-NEXT:    vmor.mm v0, v13, v12
3619 ; CHECK-NEXT:    ret
3620   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3621   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3622   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %vb, <8 x double> %va, metadata !"one", <8 x i1> %m, i32 %evl)
3623   ret <8 x i1> %v
3626 define <8 x i1> @fcmp_ord_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {
3627 ; CHECK-LABEL: fcmp_ord_vv_v8f64:
3628 ; CHECK:       # %bb.0:
3629 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3630 ; CHECK-NEXT:    vmfeq.vv v16, v12, v12, v0.t
3631 ; CHECK-NEXT:    vmfeq.vv v12, v8, v8, v0.t
3632 ; CHECK-NEXT:    vmand.mm v0, v12, v16
3633 ; CHECK-NEXT:    ret
3634   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"ord", <8 x i1> %m, i32 %evl)
3635   ret <8 x i1> %v
3638 define <8 x i1> @fcmp_ord_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3639 ; CHECK-LABEL: fcmp_ord_vf_v8f64:
3640 ; CHECK:       # %bb.0:
3641 ; CHECK-NEXT:    vsetivli zero, 8, e64, m4, ta, ma
3642 ; CHECK-NEXT:    vfmv.v.f v12, fa0
3643 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3644 ; CHECK-NEXT:    vmfeq.vf v16, v12, fa0, v0.t
3645 ; CHECK-NEXT:    vmfeq.vv v12, v8, v8, v0.t
3646 ; CHECK-NEXT:    vmand.mm v0, v12, v16
3647 ; CHECK-NEXT:    ret
3648   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3649   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3650   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"ord", <8 x i1> %m, i32 %evl)
3651   ret <8 x i1> %v
3654 define <8 x i1> @fcmp_ord_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3655 ; CHECK-LABEL: fcmp_ord_vf_swap_v8f64:
3656 ; CHECK:       # %bb.0:
3657 ; CHECK-NEXT:    vsetivli zero, 8, e64, m4, ta, ma
3658 ; CHECK-NEXT:    vfmv.v.f v12, fa0
3659 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3660 ; CHECK-NEXT:    vmfeq.vf v16, v12, fa0, v0.t
3661 ; CHECK-NEXT:    vmfeq.vv v12, v8, v8, v0.t
3662 ; CHECK-NEXT:    vmand.mm v0, v16, v12
3663 ; CHECK-NEXT:    ret
3664   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3665   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3666   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %vb, <8 x double> %va, metadata !"ord", <8 x i1> %m, i32 %evl)
3667   ret <8 x i1> %v
3670 define <8 x i1> @fcmp_ueq_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {
3671 ; CHECK-LABEL: fcmp_ueq_vv_v8f64:
3672 ; CHECK:       # %bb.0:
3673 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3674 ; CHECK-NEXT:    vmflt.vv v16, v8, v12, v0.t
3675 ; CHECK-NEXT:    vmflt.vv v17, v12, v8, v0.t
3676 ; CHECK-NEXT:    vmnor.mm v0, v17, v16
3677 ; CHECK-NEXT:    ret
3678   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"ueq", <8 x i1> %m, i32 %evl)
3679   ret <8 x i1> %v
3682 define <8 x i1> @fcmp_ueq_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3683 ; CHECK-LABEL: fcmp_ueq_vf_v8f64:
3684 ; CHECK:       # %bb.0:
3685 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3686 ; CHECK-NEXT:    vmflt.vf v12, v8, fa0, v0.t
3687 ; CHECK-NEXT:    vmfgt.vf v13, v8, fa0, v0.t
3688 ; CHECK-NEXT:    vmnor.mm v0, v13, v12
3689 ; CHECK-NEXT:    ret
3690   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3691   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3692   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"ueq", <8 x i1> %m, i32 %evl)
3693   ret <8 x i1> %v
3696 define <8 x i1> @fcmp_ueq_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3697 ; CHECK-LABEL: fcmp_ueq_vf_swap_v8f64:
3698 ; CHECK:       # %bb.0:
3699 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3700 ; CHECK-NEXT:    vmfgt.vf v12, v8, fa0, v0.t
3701 ; CHECK-NEXT:    vmflt.vf v13, v8, fa0, v0.t
3702 ; CHECK-NEXT:    vmnor.mm v0, v13, v12
3703 ; CHECK-NEXT:    ret
3704   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3705   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3706   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %vb, <8 x double> %va, metadata !"ueq", <8 x i1> %m, i32 %evl)
3707   ret <8 x i1> %v
3710 define <8 x i1> @fcmp_ugt_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {
3711 ; CHECK-LABEL: fcmp_ugt_vv_v8f64:
3712 ; CHECK:       # %bb.0:
3713 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3714 ; CHECK-NEXT:    vmfle.vv v16, v8, v12, v0.t
3715 ; CHECK-NEXT:    vmnot.m v0, v16
3716 ; CHECK-NEXT:    ret
3717   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"ugt", <8 x i1> %m, i32 %evl)
3718   ret <8 x i1> %v
3721 define <8 x i1> @fcmp_ugt_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3722 ; CHECK-LABEL: fcmp_ugt_vf_v8f64:
3723 ; CHECK:       # %bb.0:
3724 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3725 ; CHECK-NEXT:    vmfle.vf v12, v8, fa0, v0.t
3726 ; CHECK-NEXT:    vmnot.m v0, v12
3727 ; CHECK-NEXT:    ret
3728   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3729   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3730   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"ugt", <8 x i1> %m, i32 %evl)
3731   ret <8 x i1> %v
3734 define <8 x i1> @fcmp_ugt_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3735 ; CHECK-LABEL: fcmp_ugt_vf_swap_v8f64:
3736 ; CHECK:       # %bb.0:
3737 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3738 ; CHECK-NEXT:    vmfge.vf v12, v8, fa0, v0.t
3739 ; CHECK-NEXT:    vmnot.m v0, v12
3740 ; CHECK-NEXT:    ret
3741   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3742   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3743   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %vb, <8 x double> %va, metadata !"ugt", <8 x i1> %m, i32 %evl)
3744   ret <8 x i1> %v
3747 define <8 x i1> @fcmp_uge_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {
3748 ; CHECK-LABEL: fcmp_uge_vv_v8f64:
3749 ; CHECK:       # %bb.0:
3750 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3751 ; CHECK-NEXT:    vmflt.vv v16, v8, v12, v0.t
3752 ; CHECK-NEXT:    vmnot.m v0, v16
3753 ; CHECK-NEXT:    ret
3754   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"uge", <8 x i1> %m, i32 %evl)
3755   ret <8 x i1> %v
3758 define <8 x i1> @fcmp_uge_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3759 ; CHECK-LABEL: fcmp_uge_vf_v8f64:
3760 ; CHECK:       # %bb.0:
3761 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3762 ; CHECK-NEXT:    vmflt.vf v12, v8, fa0, v0.t
3763 ; CHECK-NEXT:    vmnot.m v0, v12
3764 ; CHECK-NEXT:    ret
3765   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3766   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3767   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"uge", <8 x i1> %m, i32 %evl)
3768   ret <8 x i1> %v
3771 define <8 x i1> @fcmp_uge_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3772 ; CHECK-LABEL: fcmp_uge_vf_swap_v8f64:
3773 ; CHECK:       # %bb.0:
3774 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3775 ; CHECK-NEXT:    vmfgt.vf v12, v8, fa0, v0.t
3776 ; CHECK-NEXT:    vmnot.m v0, v12
3777 ; CHECK-NEXT:    ret
3778   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3779   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3780   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %vb, <8 x double> %va, metadata !"uge", <8 x i1> %m, i32 %evl)
3781   ret <8 x i1> %v
3784 define <8 x i1> @fcmp_ult_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {
3785 ; CHECK-LABEL: fcmp_ult_vv_v8f64:
3786 ; CHECK:       # %bb.0:
3787 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3788 ; CHECK-NEXT:    vmfle.vv v16, v12, v8, v0.t
3789 ; CHECK-NEXT:    vmnot.m v0, v16
3790 ; CHECK-NEXT:    ret
3791   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"ult", <8 x i1> %m, i32 %evl)
3792   ret <8 x i1> %v
3795 define <8 x i1> @fcmp_ult_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3796 ; CHECK-LABEL: fcmp_ult_vf_v8f64:
3797 ; CHECK:       # %bb.0:
3798 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3799 ; CHECK-NEXT:    vmfge.vf v12, v8, fa0, v0.t
3800 ; CHECK-NEXT:    vmnot.m v0, v12
3801 ; CHECK-NEXT:    ret
3802   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3803   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3804   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"ult", <8 x i1> %m, i32 %evl)
3805   ret <8 x i1> %v
3808 define <8 x i1> @fcmp_ult_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3809 ; CHECK-LABEL: fcmp_ult_vf_swap_v8f64:
3810 ; CHECK:       # %bb.0:
3811 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3812 ; CHECK-NEXT:    vmfle.vf v12, v8, fa0, v0.t
3813 ; CHECK-NEXT:    vmnot.m v0, v12
3814 ; CHECK-NEXT:    ret
3815   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3816   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3817   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %vb, <8 x double> %va, metadata !"ult", <8 x i1> %m, i32 %evl)
3818   ret <8 x i1> %v
3821 define <8 x i1> @fcmp_ule_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {
3822 ; CHECK-LABEL: fcmp_ule_vv_v8f64:
3823 ; CHECK:       # %bb.0:
3824 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3825 ; CHECK-NEXT:    vmflt.vv v16, v12, v8, v0.t
3826 ; CHECK-NEXT:    vmnot.m v0, v16
3827 ; CHECK-NEXT:    ret
3828   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"ule", <8 x i1> %m, i32 %evl)
3829   ret <8 x i1> %v
3832 define <8 x i1> @fcmp_ule_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3833 ; CHECK-LABEL: fcmp_ule_vf_v8f64:
3834 ; CHECK:       # %bb.0:
3835 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3836 ; CHECK-NEXT:    vmfgt.vf v12, v8, fa0, v0.t
3837 ; CHECK-NEXT:    vmnot.m v0, v12
3838 ; CHECK-NEXT:    ret
3839   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3840   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3841   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"ule", <8 x i1> %m, i32 %evl)
3842   ret <8 x i1> %v
3845 define <8 x i1> @fcmp_ule_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3846 ; CHECK-LABEL: fcmp_ule_vf_swap_v8f64:
3847 ; CHECK:       # %bb.0:
3848 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3849 ; CHECK-NEXT:    vmflt.vf v12, v8, fa0, v0.t
3850 ; CHECK-NEXT:    vmnot.m v0, v12
3851 ; CHECK-NEXT:    ret
3852   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3853   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3854   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %vb, <8 x double> %va, metadata !"ule", <8 x i1> %m, i32 %evl)
3855   ret <8 x i1> %v
3858 define <8 x i1> @fcmp_une_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {
3859 ; CHECK-LABEL: fcmp_une_vv_v8f64:
3860 ; CHECK:       # %bb.0:
3861 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3862 ; CHECK-NEXT:    vmfne.vv v16, v8, v12, v0.t
3863 ; CHECK-NEXT:    vmv1r.v v0, v16
3864 ; CHECK-NEXT:    ret
3865   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"une", <8 x i1> %m, i32 %evl)
3866   ret <8 x i1> %v
3869 define <8 x i1> @fcmp_une_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3870 ; CHECK-LABEL: fcmp_une_vf_v8f64:
3871 ; CHECK:       # %bb.0:
3872 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3873 ; CHECK-NEXT:    vmfne.vf v12, v8, fa0, v0.t
3874 ; CHECK-NEXT:    vmv1r.v v0, v12
3875 ; CHECK-NEXT:    ret
3876   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3877   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3878   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"une", <8 x i1> %m, i32 %evl)
3879   ret <8 x i1> %v
3882 define <8 x i1> @fcmp_une_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3883 ; CHECK-LABEL: fcmp_une_vf_swap_v8f64:
3884 ; CHECK:       # %bb.0:
3885 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3886 ; CHECK-NEXT:    vmfne.vf v12, v8, fa0, v0.t
3887 ; CHECK-NEXT:    vmv1r.v v0, v12
3888 ; CHECK-NEXT:    ret
3889   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3890   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3891   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %vb, <8 x double> %va, metadata !"une", <8 x i1> %m, i32 %evl)
3892   ret <8 x i1> %v
3895 define <8 x i1> @fcmp_uno_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {
3896 ; CHECK-LABEL: fcmp_uno_vv_v8f64:
3897 ; CHECK:       # %bb.0:
3898 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3899 ; CHECK-NEXT:    vmfne.vv v16, v12, v12, v0.t
3900 ; CHECK-NEXT:    vmfne.vv v12, v8, v8, v0.t
3901 ; CHECK-NEXT:    vmor.mm v0, v12, v16
3902 ; CHECK-NEXT:    ret
3903   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"uno", <8 x i1> %m, i32 %evl)
3904   ret <8 x i1> %v
3907 define <8 x i1> @fcmp_uno_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3908 ; CHECK-LABEL: fcmp_uno_vf_v8f64:
3909 ; CHECK:       # %bb.0:
3910 ; CHECK-NEXT:    vsetivli zero, 8, e64, m4, ta, ma
3911 ; CHECK-NEXT:    vfmv.v.f v12, fa0
3912 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3913 ; CHECK-NEXT:    vmfne.vf v16, v12, fa0, v0.t
3914 ; CHECK-NEXT:    vmfne.vv v12, v8, v8, v0.t
3915 ; CHECK-NEXT:    vmor.mm v0, v12, v16
3916 ; CHECK-NEXT:    ret
3917   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3918   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3919   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %va, <8 x double> %vb, metadata !"uno", <8 x i1> %m, i32 %evl)
3920   ret <8 x i1> %v
3923 define <8 x i1> @fcmp_uno_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {
3924 ; CHECK-LABEL: fcmp_uno_vf_swap_v8f64:
3925 ; CHECK:       # %bb.0:
3926 ; CHECK-NEXT:    vsetivli zero, 8, e64, m4, ta, ma
3927 ; CHECK-NEXT:    vfmv.v.f v12, fa0
3928 ; CHECK-NEXT:    vsetvli zero, a0, e64, m4, ta, ma
3929 ; CHECK-NEXT:    vmfne.vf v16, v12, fa0, v0.t
3930 ; CHECK-NEXT:    vmfne.vv v12, v8, v8, v0.t
3931 ; CHECK-NEXT:    vmor.mm v0, v16, v12
3932 ; CHECK-NEXT:    ret
3933   %elt.head = insertelement <8 x double> poison, double %b, i32 0
3934   %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer
3935   %v = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> %vb, <8 x double> %va, metadata !"uno", <8 x i1> %m, i32 %evl)
3936   ret <8 x i1> %v
3939 declare <32 x i1> @llvm.vp.fcmp.v32f64(<32 x double>, <32 x double>, metadata, <32 x i1>, i32)
3941 define <32 x i1> @fcmp_oeq_vv_v32f64(<32 x double> %va, <32 x double> %vb, <32 x i1> %m, i32 zeroext %evl) {
3942 ; CHECK-LABEL: fcmp_oeq_vv_v32f64:
3943 ; CHECK:       # %bb.0:
3944 ; CHECK-NEXT:    addi sp, sp, -16
3945 ; CHECK-NEXT:    .cfi_def_cfa_offset 16
3946 ; CHECK-NEXT:    csrr a1, vlenb
3947 ; CHECK-NEXT:    slli a1, a1, 4
3948 ; CHECK-NEXT:    sub sp, sp, a1
3949 ; CHECK-NEXT:    .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x10, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 16 * vlenb
3950 ; CHECK-NEXT:    csrr a1, vlenb
3951 ; CHECK-NEXT:    slli a1, a1, 3
3952 ; CHECK-NEXT:    add a1, sp, a1
3953 ; CHECK-NEXT:    addi a1, a1, 16
3954 ; CHECK-NEXT:    vs8r.v v16, (a1) # Unknown-size Folded Spill
3955 ; CHECK-NEXT:    addi a1, a0, 128
3956 ; CHECK-NEXT:    vsetivli zero, 16, e64, m8, ta, ma
3957 ; CHECK-NEXT:    vle64.v v16, (a1)
3958 ; CHECK-NEXT:    addi a1, sp, 16
3959 ; CHECK-NEXT:    vs8r.v v16, (a1) # Unknown-size Folded Spill
3960 ; CHECK-NEXT:    vle64.v v16, (a0)
3961 ; CHECK-NEXT:    li a1, 16
3962 ; CHECK-NEXT:    mv a0, a2
3963 ; CHECK-NEXT:    vsetivli zero, 2, e8, mf4, ta, ma
3964 ; CHECK-NEXT:    vslidedown.vi v24, v0, 2
3965 ; CHECK-NEXT:    bltu a2, a1, .LBB87_2
3966 ; CHECK-NEXT:  # %bb.1:
3967 ; CHECK-NEXT:    li a0, 16
3968 ; CHECK-NEXT:  .LBB87_2:
3969 ; CHECK-NEXT:    vsetvli zero, a0, e64, m8, ta, ma
3970 ; CHECK-NEXT:    vmfeq.vv v7, v8, v16, v0.t
3971 ; CHECK-NEXT:    addi a0, a2, -16
3972 ; CHECK-NEXT:    sltu a1, a2, a0
3973 ; CHECK-NEXT:    addi a1, a1, -1
3974 ; CHECK-NEXT:    and a0, a1, a0
3975 ; CHECK-NEXT:    vmv1r.v v0, v24
3976 ; CHECK-NEXT:    csrr a1, vlenb
3977 ; CHECK-NEXT:    slli a1, a1, 3
3978 ; CHECK-NEXT:    add a1, sp, a1
3979 ; CHECK-NEXT:    addi a1, a1, 16
3980 ; CHECK-NEXT:    vl8r.v v16, (a1) # Unknown-size Folded Reload
3981 ; CHECK-NEXT:    addi a1, sp, 16
3982 ; CHECK-NEXT:    vl8r.v v24, (a1) # Unknown-size Folded Reload
3983 ; CHECK-NEXT:    vsetvli zero, a0, e64, m8, ta, ma
3984 ; CHECK-NEXT:    vmfeq.vv v8, v16, v24, v0.t
3985 ; CHECK-NEXT:    vsetivli zero, 4, e8, mf4, ta, ma
3986 ; CHECK-NEXT:    vslideup.vi v7, v8, 2
3987 ; CHECK-NEXT:    vmv1r.v v0, v7
3988 ; CHECK-NEXT:    csrr a0, vlenb
3989 ; CHECK-NEXT:    slli a0, a0, 4
3990 ; CHECK-NEXT:    add sp, sp, a0
3991 ; CHECK-NEXT:    .cfi_def_cfa sp, 16
3992 ; CHECK-NEXT:    addi sp, sp, 16
3993 ; CHECK-NEXT:    .cfi_def_cfa_offset 0
3994 ; CHECK-NEXT:    ret
3995   %v = call <32 x i1> @llvm.vp.fcmp.v32f64(<32 x double> %va, <32 x double> %vb, metadata !"oeq", <32 x i1> %m, i32 %evl)
3996   ret <32 x i1> %v
3998 ;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
3999 ; ZVFH32: {{.*}}
4000 ; ZVFH64: {{.*}}