3957 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; 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,ZVFH325; 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,ZVFH648; RUN: llc -mtriple=riscv32 -mattr=+v,+m,+zfh,+zvfhmin -target-abi=ilp32d \9; RUN: -verify-machineinstrs < %s | FileCheck %s --check-prefixes=CHECK,ZVFHMIN,ZVFHMIN3210; 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,ZVFHMIN6413 14define <7 x i1> @fcmp_oeq_vv_v7f16(<7 x half> %va, <7 x half> %vb, <7 x i1> %m, i32 zeroext %evl) {15; ZVFH-LABEL: fcmp_oeq_vv_v7f16:16; ZVFH: # %bb.0:17; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma18; ZVFH-NEXT: vmfeq.vv v0, v8, v9, v0.t19; ZVFH-NEXT: ret20;21; ZVFHMIN-LABEL: fcmp_oeq_vv_v7f16:22; ZVFHMIN: # %bb.0:23; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma24; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v925; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v826; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma27; ZVFHMIN-NEXT: vmfeq.vv v8, v12, v10, v0.t28; ZVFHMIN-NEXT: vmv1r.v v0, v829; ZVFHMIN-NEXT: ret30 %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)31 ret <7 x i1> %v32}33 34define <8 x i1> @fcmp_oeq_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {35; ZVFH-LABEL: fcmp_oeq_vv_v8f16:36; ZVFH: # %bb.0:37; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma38; ZVFH-NEXT: vmfeq.vv v0, v8, v9, v0.t39; ZVFH-NEXT: ret40;41; ZVFHMIN-LABEL: fcmp_oeq_vv_v8f16:42; ZVFHMIN: # %bb.0:43; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma44; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v945; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v846; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma47; ZVFHMIN-NEXT: vmfeq.vv v8, v12, v10, v0.t48; ZVFHMIN-NEXT: vmv1r.v v0, v849; ZVFHMIN-NEXT: ret50 %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)51 ret <8 x i1> %v52}53 54define <8 x i1> @fcmp_oeq_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {55; ZVFH-LABEL: fcmp_oeq_vf_v8f16:56; ZVFH: # %bb.0:57; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma58; ZVFH-NEXT: vmfeq.vf v0, v8, fa0, v0.t59; ZVFH-NEXT: ret60;61; ZVFHMIN-LABEL: fcmp_oeq_vf_v8f16:62; ZVFHMIN: # %bb.0:63; ZVFHMIN-NEXT: fmv.x.h a1, fa064; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma65; ZVFHMIN-NEXT: vmv.v.x v9, a166; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v867; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v968; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma69; ZVFHMIN-NEXT: vmfeq.vv v8, v10, v12, v0.t70; ZVFHMIN-NEXT: vmv1r.v v0, v871; ZVFHMIN-NEXT: ret72 %elt.head = insertelement <8 x half> poison, half %b, i32 073 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer74 %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)75 ret <8 x i1> %v76}77 78define <8 x i1> @fcmp_oeq_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {79; ZVFH-LABEL: fcmp_oeq_vf_swap_v8f16:80; ZVFH: # %bb.0:81; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma82; ZVFH-NEXT: vmfeq.vf v0, v8, fa0, v0.t83; ZVFH-NEXT: ret84;85; ZVFHMIN-LABEL: fcmp_oeq_vf_swap_v8f16:86; ZVFHMIN: # %bb.0:87; ZVFHMIN-NEXT: fmv.x.h a1, fa088; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma89; ZVFHMIN-NEXT: vmv.v.x v9, a190; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v891; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v992; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma93; ZVFHMIN-NEXT: vmfeq.vv v8, v12, v10, v0.t94; ZVFHMIN-NEXT: vmv1r.v v0, v895; ZVFHMIN-NEXT: ret96 %elt.head = insertelement <8 x half> poison, half %b, i32 097 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer98 %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)99 ret <8 x i1> %v100}101 102define <8 x i1> @fcmp_ogt_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {103; ZVFH-LABEL: fcmp_ogt_vv_v8f16:104; ZVFH: # %bb.0:105; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma106; ZVFH-NEXT: vmflt.vv v0, v9, v8, v0.t107; ZVFH-NEXT: ret108;109; ZVFHMIN-LABEL: fcmp_ogt_vv_v8f16:110; ZVFHMIN: # %bb.0:111; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma112; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8113; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9114; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma115; ZVFHMIN-NEXT: vmflt.vv v8, v12, v10, v0.t116; ZVFHMIN-NEXT: vmv1r.v v0, v8117; ZVFHMIN-NEXT: ret118 %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)119 ret <8 x i1> %v120}121 122define <8 x i1> @fcmp_ogt_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {123; ZVFH-LABEL: fcmp_ogt_vf_v8f16:124; ZVFH: # %bb.0:125; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma126; ZVFH-NEXT: vmfgt.vf v0, v8, fa0, v0.t127; ZVFH-NEXT: ret128;129; ZVFHMIN-LABEL: fcmp_ogt_vf_v8f16:130; ZVFHMIN: # %bb.0:131; ZVFHMIN-NEXT: fmv.x.h a1, fa0132; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma133; ZVFHMIN-NEXT: vmv.v.x v9, a1134; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8135; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9136; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma137; ZVFHMIN-NEXT: vmflt.vv v8, v12, v10, v0.t138; ZVFHMIN-NEXT: vmv1r.v v0, v8139; ZVFHMIN-NEXT: ret140 %elt.head = insertelement <8 x half> poison, half %b, i32 0141 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer142 %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)143 ret <8 x i1> %v144}145 146define <8 x i1> @fcmp_ogt_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {147; ZVFH-LABEL: fcmp_ogt_vf_swap_v8f16:148; ZVFH: # %bb.0:149; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma150; ZVFH-NEXT: vmflt.vf v0, v8, fa0, v0.t151; ZVFH-NEXT: ret152;153; ZVFHMIN-LABEL: fcmp_ogt_vf_swap_v8f16:154; ZVFHMIN: # %bb.0:155; ZVFHMIN-NEXT: fmv.x.h a1, fa0156; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma157; ZVFHMIN-NEXT: vmv.v.x v9, a1158; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8159; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9160; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma161; ZVFHMIN-NEXT: vmflt.vv v8, v10, v12, v0.t162; ZVFHMIN-NEXT: vmv1r.v v0, v8163; ZVFHMIN-NEXT: ret164 %elt.head = insertelement <8 x half> poison, half %b, i32 0165 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer166 %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)167 ret <8 x i1> %v168}169 170define <8 x i1> @fcmp_oge_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {171; ZVFH-LABEL: fcmp_oge_vv_v8f16:172; ZVFH: # %bb.0:173; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma174; ZVFH-NEXT: vmfle.vv v0, v9, v8, v0.t175; ZVFH-NEXT: ret176;177; ZVFHMIN-LABEL: fcmp_oge_vv_v8f16:178; ZVFHMIN: # %bb.0:179; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma180; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8181; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9182; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma183; ZVFHMIN-NEXT: vmfle.vv v8, v12, v10, v0.t184; ZVFHMIN-NEXT: vmv1r.v v0, v8185; ZVFHMIN-NEXT: ret186 %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)187 ret <8 x i1> %v188}189 190define <8 x i1> @fcmp_oge_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {191; ZVFH-LABEL: fcmp_oge_vf_v8f16:192; ZVFH: # %bb.0:193; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma194; ZVFH-NEXT: vmfge.vf v0, v8, fa0, v0.t195; ZVFH-NEXT: ret196;197; ZVFHMIN-LABEL: fcmp_oge_vf_v8f16:198; ZVFHMIN: # %bb.0:199; ZVFHMIN-NEXT: fmv.x.h a1, fa0200; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma201; ZVFHMIN-NEXT: vmv.v.x v9, a1202; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8203; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9204; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma205; ZVFHMIN-NEXT: vmfle.vv v8, v12, v10, v0.t206; ZVFHMIN-NEXT: vmv1r.v v0, v8207; ZVFHMIN-NEXT: ret208 %elt.head = insertelement <8 x half> poison, half %b, i32 0209 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer210 %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)211 ret <8 x i1> %v212}213 214define <8 x i1> @fcmp_oge_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {215; ZVFH-LABEL: fcmp_oge_vf_swap_v8f16:216; ZVFH: # %bb.0:217; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma218; ZVFH-NEXT: vmfle.vf v0, v8, fa0, v0.t219; ZVFH-NEXT: ret220;221; ZVFHMIN-LABEL: fcmp_oge_vf_swap_v8f16:222; ZVFHMIN: # %bb.0:223; ZVFHMIN-NEXT: fmv.x.h a1, fa0224; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma225; ZVFHMIN-NEXT: vmv.v.x v9, a1226; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8227; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9228; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma229; ZVFHMIN-NEXT: vmfle.vv v8, v10, v12, v0.t230; ZVFHMIN-NEXT: vmv1r.v v0, v8231; ZVFHMIN-NEXT: ret232 %elt.head = insertelement <8 x half> poison, half %b, i32 0233 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer234 %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)235 ret <8 x i1> %v236}237 238define <8 x i1> @fcmp_olt_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {239; ZVFH-LABEL: fcmp_olt_vv_v8f16:240; ZVFH: # %bb.0:241; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma242; ZVFH-NEXT: vmflt.vv v0, v8, v9, v0.t243; ZVFH-NEXT: ret244;245; ZVFHMIN-LABEL: fcmp_olt_vv_v8f16:246; ZVFHMIN: # %bb.0:247; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma248; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v9249; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v8250; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma251; ZVFHMIN-NEXT: vmflt.vv v8, v12, v10, v0.t252; ZVFHMIN-NEXT: vmv1r.v v0, v8253; ZVFHMIN-NEXT: ret254 %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)255 ret <8 x i1> %v256}257 258define <8 x i1> @fcmp_olt_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {259; ZVFH-LABEL: fcmp_olt_vf_v8f16:260; ZVFH: # %bb.0:261; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma262; ZVFH-NEXT: vmflt.vf v0, v8, fa0, v0.t263; ZVFH-NEXT: ret264;265; ZVFHMIN-LABEL: fcmp_olt_vf_v8f16:266; ZVFHMIN: # %bb.0:267; ZVFHMIN-NEXT: fmv.x.h a1, fa0268; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma269; ZVFHMIN-NEXT: vmv.v.x v9, a1270; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8271; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9272; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma273; ZVFHMIN-NEXT: vmflt.vv v8, v10, v12, v0.t274; ZVFHMIN-NEXT: vmv1r.v v0, v8275; ZVFHMIN-NEXT: ret276 %elt.head = insertelement <8 x half> poison, half %b, i32 0277 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer278 %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)279 ret <8 x i1> %v280}281 282define <8 x i1> @fcmp_olt_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {283; ZVFH-LABEL: fcmp_olt_vf_swap_v8f16:284; ZVFH: # %bb.0:285; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma286; ZVFH-NEXT: vmfgt.vf v0, v8, fa0, v0.t287; ZVFH-NEXT: ret288;289; ZVFHMIN-LABEL: fcmp_olt_vf_swap_v8f16:290; ZVFHMIN: # %bb.0:291; ZVFHMIN-NEXT: fmv.x.h a1, fa0292; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma293; ZVFHMIN-NEXT: vmv.v.x v9, a1294; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8295; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9296; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma297; ZVFHMIN-NEXT: vmflt.vv v8, v12, v10, v0.t298; ZVFHMIN-NEXT: vmv1r.v v0, v8299; ZVFHMIN-NEXT: ret300 %elt.head = insertelement <8 x half> poison, half %b, i32 0301 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer302 %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)303 ret <8 x i1> %v304}305 306define <8 x i1> @fcmp_ole_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {307; ZVFH-LABEL: fcmp_ole_vv_v8f16:308; ZVFH: # %bb.0:309; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma310; ZVFH-NEXT: vmfle.vv v0, v8, v9, v0.t311; ZVFH-NEXT: ret312;313; ZVFHMIN-LABEL: fcmp_ole_vv_v8f16:314; ZVFHMIN: # %bb.0:315; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma316; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v9317; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v8318; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma319; ZVFHMIN-NEXT: vmfle.vv v8, v12, v10, v0.t320; ZVFHMIN-NEXT: vmv1r.v v0, v8321; ZVFHMIN-NEXT: ret322 %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)323 ret <8 x i1> %v324}325 326define <8 x i1> @fcmp_ole_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {327; ZVFH-LABEL: fcmp_ole_vf_v8f16:328; ZVFH: # %bb.0:329; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma330; ZVFH-NEXT: vmfle.vf v0, v8, fa0, v0.t331; ZVFH-NEXT: ret332;333; ZVFHMIN-LABEL: fcmp_ole_vf_v8f16:334; ZVFHMIN: # %bb.0:335; ZVFHMIN-NEXT: fmv.x.h a1, fa0336; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma337; ZVFHMIN-NEXT: vmv.v.x v9, a1338; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8339; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9340; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma341; ZVFHMIN-NEXT: vmfle.vv v8, v10, v12, v0.t342; ZVFHMIN-NEXT: vmv1r.v v0, v8343; ZVFHMIN-NEXT: ret344 %elt.head = insertelement <8 x half> poison, half %b, i32 0345 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer346 %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)347 ret <8 x i1> %v348}349 350define <8 x i1> @fcmp_ole_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {351; ZVFH-LABEL: fcmp_ole_vf_swap_v8f16:352; ZVFH: # %bb.0:353; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma354; ZVFH-NEXT: vmfge.vf v0, v8, fa0, v0.t355; ZVFH-NEXT: ret356;357; ZVFHMIN-LABEL: fcmp_ole_vf_swap_v8f16:358; ZVFHMIN: # %bb.0:359; ZVFHMIN-NEXT: fmv.x.h a1, fa0360; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma361; ZVFHMIN-NEXT: vmv.v.x v9, a1362; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8363; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9364; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma365; ZVFHMIN-NEXT: vmfle.vv v8, v12, v10, v0.t366; ZVFHMIN-NEXT: vmv1r.v v0, v8367; ZVFHMIN-NEXT: ret368 %elt.head = insertelement <8 x half> poison, half %b, i32 0369 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer370 %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)371 ret <8 x i1> %v372}373 374define <8 x i1> @fcmp_one_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {375; ZVFH-LABEL: fcmp_one_vv_v8f16:376; ZVFH: # %bb.0:377; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma378; ZVFH-NEXT: vmflt.vv v10, v8, v9, v0.t379; ZVFH-NEXT: vmflt.vv v8, v9, v8, v0.t380; ZVFH-NEXT: vmor.mm v0, v8, v10381; ZVFH-NEXT: ret382;383; ZVFHMIN-LABEL: fcmp_one_vv_v8f16:384; ZVFHMIN: # %bb.0:385; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma386; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v9387; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v8388; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma389; ZVFHMIN-NEXT: vmflt.vv v8, v12, v10, v0.t390; ZVFHMIN-NEXT: vmflt.vv v9, v10, v12, v0.t391; ZVFHMIN-NEXT: vmor.mm v0, v9, v8392; ZVFHMIN-NEXT: ret393 %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)394 ret <8 x i1> %v395}396 397define <8 x i1> @fcmp_one_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {398; ZVFH-LABEL: fcmp_one_vf_v8f16:399; ZVFH: # %bb.0:400; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma401; ZVFH-NEXT: vmflt.vf v9, v8, fa0, v0.t402; ZVFH-NEXT: vmfgt.vf v8, v8, fa0, v0.t403; ZVFH-NEXT: vmor.mm v0, v8, v9404; ZVFH-NEXT: ret405;406; ZVFHMIN-LABEL: fcmp_one_vf_v8f16:407; ZVFHMIN: # %bb.0:408; ZVFHMIN-NEXT: fmv.x.h a1, fa0409; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma410; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8411; ZVFHMIN-NEXT: vmv.v.x v12, a1412; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v12413; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma414; ZVFHMIN-NEXT: vmflt.vv v12, v10, v8, v0.t415; ZVFHMIN-NEXT: vmflt.vv v13, v8, v10, v0.t416; ZVFHMIN-NEXT: vmor.mm v0, v13, v12417; ZVFHMIN-NEXT: ret418 %elt.head = insertelement <8 x half> poison, half %b, i32 0419 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer420 %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)421 ret <8 x i1> %v422}423 424define <8 x i1> @fcmp_one_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {425; ZVFH-LABEL: fcmp_one_vf_swap_v8f16:426; ZVFH: # %bb.0:427; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma428; ZVFH-NEXT: vmfgt.vf v9, v8, fa0, v0.t429; ZVFH-NEXT: vmflt.vf v8, v8, fa0, v0.t430; ZVFH-NEXT: vmor.mm v0, v8, v9431; ZVFH-NEXT: ret432;433; ZVFHMIN-LABEL: fcmp_one_vf_swap_v8f16:434; ZVFHMIN: # %bb.0:435; ZVFHMIN-NEXT: fmv.x.h a1, fa0436; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma437; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8438; ZVFHMIN-NEXT: vmv.v.x v12, a1439; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v12440; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma441; ZVFHMIN-NEXT: vmflt.vv v12, v8, v10, v0.t442; ZVFHMIN-NEXT: vmflt.vv v13, v10, v8, v0.t443; ZVFHMIN-NEXT: vmor.mm v0, v13, v12444; ZVFHMIN-NEXT: ret445 %elt.head = insertelement <8 x half> poison, half %b, i32 0446 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer447 %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)448 ret <8 x i1> %v449}450 451define <8 x i1> @fcmp_ord_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {452; ZVFH-LABEL: fcmp_ord_vv_v8f16:453; ZVFH: # %bb.0:454; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma455; ZVFH-NEXT: vmfeq.vv v9, v9, v9, v0.t456; ZVFH-NEXT: vmfeq.vv v8, v8, v8, v0.t457; ZVFH-NEXT: vmand.mm v0, v8, v9458; ZVFH-NEXT: ret459;460; ZVFHMIN-LABEL: fcmp_ord_vv_v8f16:461; ZVFHMIN: # %bb.0:462; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma463; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v9464; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma465; ZVFHMIN-NEXT: vmfeq.vv v9, v10, v10, v0.t466; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma467; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8468; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma469; ZVFHMIN-NEXT: vmfeq.vv v8, v10, v10, v0.t470; ZVFHMIN-NEXT: vmand.mm v0, v8, v9471; ZVFHMIN-NEXT: ret472 %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)473 ret <8 x i1> %v474}475 476define <8 x i1> @fcmp_ord_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {477; ZVFH-LABEL: fcmp_ord_vf_v8f16:478; ZVFH: # %bb.0:479; ZVFH-NEXT: vsetivli zero, 8, e16, m1, ta, ma480; ZVFH-NEXT: vfmv.v.f v9, fa0481; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma482; ZVFH-NEXT: vmfeq.vf v9, v9, fa0, v0.t483; ZVFH-NEXT: vmfeq.vv v8, v8, v8, v0.t484; ZVFH-NEXT: vmand.mm v0, v8, v9485; ZVFH-NEXT: ret486;487; ZVFHMIN-LABEL: fcmp_ord_vf_v8f16:488; ZVFHMIN: # %bb.0:489; ZVFHMIN-NEXT: fmv.x.h a1, fa0490; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma491; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8492; ZVFHMIN-NEXT: vmv.v.x v12, a1493; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma494; ZVFHMIN-NEXT: vmfeq.vv v13, v10, v10, v0.t495; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma496; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v12497; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma498; ZVFHMIN-NEXT: vmfeq.vv v10, v8, v8, v0.t499; ZVFHMIN-NEXT: vmand.mm v0, v13, v10500; ZVFHMIN-NEXT: ret501 %elt.head = insertelement <8 x half> poison, half %b, i32 0502 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer503 %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)504 ret <8 x i1> %v505}506 507define <8 x i1> @fcmp_ord_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {508; ZVFH-LABEL: fcmp_ord_vf_swap_v8f16:509; ZVFH: # %bb.0:510; ZVFH-NEXT: vsetivli zero, 8, e16, m1, ta, ma511; ZVFH-NEXT: vfmv.v.f v9, fa0512; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma513; ZVFH-NEXT: vmfeq.vf v9, v9, fa0, v0.t514; ZVFH-NEXT: vmfeq.vv v8, v8, v8, v0.t515; ZVFH-NEXT: vmand.mm v0, v9, v8516; ZVFH-NEXT: ret517;518; ZVFHMIN-LABEL: fcmp_ord_vf_swap_v8f16:519; ZVFHMIN: # %bb.0:520; ZVFHMIN-NEXT: fmv.x.h a1, fa0521; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma522; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8523; ZVFHMIN-NEXT: vmv.v.x v12, a1524; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma525; ZVFHMIN-NEXT: vmfeq.vv v13, v10, v10, v0.t526; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma527; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v12528; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma529; ZVFHMIN-NEXT: vmfeq.vv v10, v8, v8, v0.t530; ZVFHMIN-NEXT: vmand.mm v0, v10, v13531; ZVFHMIN-NEXT: ret532 %elt.head = insertelement <8 x half> poison, half %b, i32 0533 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer534 %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)535 ret <8 x i1> %v536}537 538define <8 x i1> @fcmp_ueq_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {539; ZVFH-LABEL: fcmp_ueq_vv_v8f16:540; ZVFH: # %bb.0:541; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma542; ZVFH-NEXT: vmflt.vv v10, v8, v9, v0.t543; ZVFH-NEXT: vmflt.vv v8, v9, v8, v0.t544; ZVFH-NEXT: vmnor.mm v0, v8, v10545; ZVFH-NEXT: ret546;547; ZVFHMIN-LABEL: fcmp_ueq_vv_v8f16:548; ZVFHMIN: # %bb.0:549; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma550; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v9551; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v8552; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma553; ZVFHMIN-NEXT: vmflt.vv v8, v12, v10, v0.t554; ZVFHMIN-NEXT: vmflt.vv v9, v10, v12, v0.t555; ZVFHMIN-NEXT: vmnor.mm v0, v9, v8556; ZVFHMIN-NEXT: ret557 %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)558 ret <8 x i1> %v559}560 561define <8 x i1> @fcmp_ueq_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {562; ZVFH-LABEL: fcmp_ueq_vf_v8f16:563; ZVFH: # %bb.0:564; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma565; ZVFH-NEXT: vmflt.vf v9, v8, fa0, v0.t566; ZVFH-NEXT: vmfgt.vf v8, v8, fa0, v0.t567; ZVFH-NEXT: vmnor.mm v0, v8, v9568; ZVFH-NEXT: ret569;570; ZVFHMIN-LABEL: fcmp_ueq_vf_v8f16:571; ZVFHMIN: # %bb.0:572; ZVFHMIN-NEXT: fmv.x.h a1, fa0573; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma574; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8575; ZVFHMIN-NEXT: vmv.v.x v12, a1576; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v12577; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma578; ZVFHMIN-NEXT: vmflt.vv v12, v10, v8, v0.t579; ZVFHMIN-NEXT: vmflt.vv v13, v8, v10, v0.t580; ZVFHMIN-NEXT: vmnor.mm v0, v13, v12581; ZVFHMIN-NEXT: ret582 %elt.head = insertelement <8 x half> poison, half %b, i32 0583 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer584 %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)585 ret <8 x i1> %v586}587 588define <8 x i1> @fcmp_ueq_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {589; ZVFH-LABEL: fcmp_ueq_vf_swap_v8f16:590; ZVFH: # %bb.0:591; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma592; ZVFH-NEXT: vmfgt.vf v9, v8, fa0, v0.t593; ZVFH-NEXT: vmflt.vf v8, v8, fa0, v0.t594; ZVFH-NEXT: vmnor.mm v0, v8, v9595; ZVFH-NEXT: ret596;597; ZVFHMIN-LABEL: fcmp_ueq_vf_swap_v8f16:598; ZVFHMIN: # %bb.0:599; ZVFHMIN-NEXT: fmv.x.h a1, fa0600; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma601; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8602; ZVFHMIN-NEXT: vmv.v.x v12, a1603; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v12604; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma605; ZVFHMIN-NEXT: vmflt.vv v12, v8, v10, v0.t606; ZVFHMIN-NEXT: vmflt.vv v13, v10, v8, v0.t607; ZVFHMIN-NEXT: vmnor.mm v0, v13, v12608; ZVFHMIN-NEXT: ret609 %elt.head = insertelement <8 x half> poison, half %b, i32 0610 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer611 %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)612 ret <8 x i1> %v613}614 615define <8 x i1> @fcmp_ugt_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {616; ZVFH-LABEL: fcmp_ugt_vv_v8f16:617; ZVFH: # %bb.0:618; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma619; ZVFH-NEXT: vmfle.vv v8, v8, v9, v0.t620; ZVFH-NEXT: vmnot.m v0, v8621; ZVFH-NEXT: ret622;623; ZVFHMIN-LABEL: fcmp_ugt_vv_v8f16:624; ZVFHMIN: # %bb.0:625; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma626; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v9627; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v8628; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma629; ZVFHMIN-NEXT: vmfle.vv v8, v12, v10, v0.t630; ZVFHMIN-NEXT: vmnot.m v0, v8631; ZVFHMIN-NEXT: ret632 %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)633 ret <8 x i1> %v634}635 636define <8 x i1> @fcmp_ugt_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {637; ZVFH-LABEL: fcmp_ugt_vf_v8f16:638; ZVFH: # %bb.0:639; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma640; ZVFH-NEXT: vmfle.vf v8, v8, fa0, v0.t641; ZVFH-NEXT: vmnot.m v0, v8642; ZVFH-NEXT: ret643;644; ZVFHMIN-LABEL: fcmp_ugt_vf_v8f16:645; ZVFHMIN: # %bb.0:646; ZVFHMIN-NEXT: fmv.x.h a1, fa0647; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma648; ZVFHMIN-NEXT: vmv.v.x v12, a1649; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8650; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v12651; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma652; ZVFHMIN-NEXT: vmfle.vv v12, v10, v8, v0.t653; ZVFHMIN-NEXT: vmnot.m v0, v12654; ZVFHMIN-NEXT: ret655 %elt.head = insertelement <8 x half> poison, half %b, i32 0656 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer657 %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)658 ret <8 x i1> %v659}660 661define <8 x i1> @fcmp_ugt_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {662; ZVFH-LABEL: fcmp_ugt_vf_swap_v8f16:663; ZVFH: # %bb.0:664; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma665; ZVFH-NEXT: vmfge.vf v8, v8, fa0, v0.t666; ZVFH-NEXT: vmnot.m v0, v8667; ZVFH-NEXT: ret668;669; ZVFHMIN-LABEL: fcmp_ugt_vf_swap_v8f16:670; ZVFHMIN: # %bb.0:671; ZVFHMIN-NEXT: fmv.x.h a1, fa0672; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma673; ZVFHMIN-NEXT: vmv.v.x v12, a1674; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8675; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v12676; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma677; ZVFHMIN-NEXT: vmfle.vv v12, v8, v10, v0.t678; ZVFHMIN-NEXT: vmnot.m v0, v12679; ZVFHMIN-NEXT: ret680 %elt.head = insertelement <8 x half> poison, half %b, i32 0681 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer682 %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)683 ret <8 x i1> %v684}685 686define <8 x i1> @fcmp_uge_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {687; ZVFH-LABEL: fcmp_uge_vv_v8f16:688; ZVFH: # %bb.0:689; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma690; ZVFH-NEXT: vmflt.vv v8, v8, v9, v0.t691; ZVFH-NEXT: vmnot.m v0, v8692; ZVFH-NEXT: ret693;694; ZVFHMIN-LABEL: fcmp_uge_vv_v8f16:695; ZVFHMIN: # %bb.0:696; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma697; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v9698; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v8699; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma700; ZVFHMIN-NEXT: vmflt.vv v8, v12, v10, v0.t701; ZVFHMIN-NEXT: vmnot.m v0, v8702; ZVFHMIN-NEXT: ret703 %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)704 ret <8 x i1> %v705}706 707define <8 x i1> @fcmp_uge_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {708; ZVFH-LABEL: fcmp_uge_vf_v8f16:709; ZVFH: # %bb.0:710; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma711; ZVFH-NEXT: vmflt.vf v8, v8, fa0, v0.t712; ZVFH-NEXT: vmnot.m v0, v8713; ZVFH-NEXT: ret714;715; ZVFHMIN-LABEL: fcmp_uge_vf_v8f16:716; ZVFHMIN: # %bb.0:717; ZVFHMIN-NEXT: fmv.x.h a1, fa0718; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma719; ZVFHMIN-NEXT: vmv.v.x v12, a1720; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8721; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v12722; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma723; ZVFHMIN-NEXT: vmflt.vv v12, v10, v8, v0.t724; ZVFHMIN-NEXT: vmnot.m v0, v12725; ZVFHMIN-NEXT: ret726 %elt.head = insertelement <8 x half> poison, half %b, i32 0727 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer728 %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)729 ret <8 x i1> %v730}731 732define <8 x i1> @fcmp_uge_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {733; ZVFH-LABEL: fcmp_uge_vf_swap_v8f16:734; ZVFH: # %bb.0:735; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma736; ZVFH-NEXT: vmfgt.vf v8, v8, fa0, v0.t737; ZVFH-NEXT: vmnot.m v0, v8738; ZVFH-NEXT: ret739;740; ZVFHMIN-LABEL: fcmp_uge_vf_swap_v8f16:741; ZVFHMIN: # %bb.0:742; ZVFHMIN-NEXT: fmv.x.h a1, fa0743; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma744; ZVFHMIN-NEXT: vmv.v.x v12, a1745; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8746; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v12747; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma748; ZVFHMIN-NEXT: vmflt.vv v12, v8, v10, v0.t749; ZVFHMIN-NEXT: vmnot.m v0, v12750; ZVFHMIN-NEXT: ret751 %elt.head = insertelement <8 x half> poison, half %b, i32 0752 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer753 %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)754 ret <8 x i1> %v755}756 757define <8 x i1> @fcmp_ult_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {758; ZVFH-LABEL: fcmp_ult_vv_v8f16:759; ZVFH: # %bb.0:760; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma761; ZVFH-NEXT: vmfle.vv v8, v9, v8, v0.t762; ZVFH-NEXT: vmnot.m v0, v8763; ZVFH-NEXT: ret764;765; ZVFHMIN-LABEL: fcmp_ult_vv_v8f16:766; ZVFHMIN: # %bb.0:767; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma768; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8769; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9770; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma771; ZVFHMIN-NEXT: vmfle.vv v8, v12, v10, v0.t772; ZVFHMIN-NEXT: vmnot.m v0, v8773; ZVFHMIN-NEXT: ret774 %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)775 ret <8 x i1> %v776}777 778define <8 x i1> @fcmp_ult_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {779; ZVFH-LABEL: fcmp_ult_vf_v8f16:780; ZVFH: # %bb.0:781; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma782; ZVFH-NEXT: vmfge.vf v8, v8, fa0, v0.t783; ZVFH-NEXT: vmnot.m v0, v8784; ZVFH-NEXT: ret785;786; ZVFHMIN-LABEL: fcmp_ult_vf_v8f16:787; ZVFHMIN: # %bb.0:788; ZVFHMIN-NEXT: fmv.x.h a1, fa0789; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma790; ZVFHMIN-NEXT: vmv.v.x v12, a1791; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8792; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v12793; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma794; ZVFHMIN-NEXT: vmfle.vv v12, v8, v10, v0.t795; ZVFHMIN-NEXT: vmnot.m v0, v12796; ZVFHMIN-NEXT: ret797 %elt.head = insertelement <8 x half> poison, half %b, i32 0798 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer799 %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)800 ret <8 x i1> %v801}802 803define <8 x i1> @fcmp_ult_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {804; ZVFH-LABEL: fcmp_ult_vf_swap_v8f16:805; ZVFH: # %bb.0:806; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma807; ZVFH-NEXT: vmfle.vf v8, v8, fa0, v0.t808; ZVFH-NEXT: vmnot.m v0, v8809; ZVFH-NEXT: ret810;811; ZVFHMIN-LABEL: fcmp_ult_vf_swap_v8f16:812; ZVFHMIN: # %bb.0:813; ZVFHMIN-NEXT: fmv.x.h a1, fa0814; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma815; ZVFHMIN-NEXT: vmv.v.x v12, a1816; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8817; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v12818; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma819; ZVFHMIN-NEXT: vmfle.vv v12, v10, v8, v0.t820; ZVFHMIN-NEXT: vmnot.m v0, v12821; ZVFHMIN-NEXT: ret822 %elt.head = insertelement <8 x half> poison, half %b, i32 0823 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer824 %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)825 ret <8 x i1> %v826}827 828define <8 x i1> @fcmp_ule_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {829; ZVFH-LABEL: fcmp_ule_vv_v8f16:830; ZVFH: # %bb.0:831; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma832; ZVFH-NEXT: vmflt.vv v8, v9, v8, v0.t833; ZVFH-NEXT: vmnot.m v0, v8834; ZVFH-NEXT: ret835;836; ZVFHMIN-LABEL: fcmp_ule_vv_v8f16:837; ZVFHMIN: # %bb.0:838; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma839; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8840; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9841; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma842; ZVFHMIN-NEXT: vmflt.vv v8, v12, v10, v0.t843; ZVFHMIN-NEXT: vmnot.m v0, v8844; ZVFHMIN-NEXT: ret845 %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)846 ret <8 x i1> %v847}848 849define <8 x i1> @fcmp_ule_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {850; ZVFH-LABEL: fcmp_ule_vf_v8f16:851; ZVFH: # %bb.0:852; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma853; ZVFH-NEXT: vmfgt.vf v8, v8, fa0, v0.t854; ZVFH-NEXT: vmnot.m v0, v8855; ZVFH-NEXT: ret856;857; ZVFHMIN-LABEL: fcmp_ule_vf_v8f16:858; ZVFHMIN: # %bb.0:859; ZVFHMIN-NEXT: fmv.x.h a1, fa0860; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma861; ZVFHMIN-NEXT: vmv.v.x v12, a1862; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8863; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v12864; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma865; ZVFHMIN-NEXT: vmflt.vv v12, v8, v10, v0.t866; ZVFHMIN-NEXT: vmnot.m v0, v12867; ZVFHMIN-NEXT: ret868 %elt.head = insertelement <8 x half> poison, half %b, i32 0869 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer870 %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)871 ret <8 x i1> %v872}873 874define <8 x i1> @fcmp_ule_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {875; ZVFH-LABEL: fcmp_ule_vf_swap_v8f16:876; ZVFH: # %bb.0:877; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma878; ZVFH-NEXT: vmflt.vf v8, v8, fa0, v0.t879; ZVFH-NEXT: vmnot.m v0, v8880; ZVFH-NEXT: ret881;882; ZVFHMIN-LABEL: fcmp_ule_vf_swap_v8f16:883; ZVFHMIN: # %bb.0:884; ZVFHMIN-NEXT: fmv.x.h a1, fa0885; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma886; ZVFHMIN-NEXT: vmv.v.x v12, a1887; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8888; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v12889; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma890; ZVFHMIN-NEXT: vmflt.vv v12, v10, v8, v0.t891; ZVFHMIN-NEXT: vmnot.m v0, v12892; ZVFHMIN-NEXT: ret893 %elt.head = insertelement <8 x half> poison, half %b, i32 0894 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer895 %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)896 ret <8 x i1> %v897}898 899define <8 x i1> @fcmp_une_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {900; ZVFH-LABEL: fcmp_une_vv_v8f16:901; ZVFH: # %bb.0:902; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma903; ZVFH-NEXT: vmfne.vv v0, v8, v9, v0.t904; ZVFH-NEXT: ret905;906; ZVFHMIN-LABEL: fcmp_une_vv_v8f16:907; ZVFHMIN: # %bb.0:908; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma909; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v9910; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v8911; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma912; ZVFHMIN-NEXT: vmfne.vv v8, v12, v10, v0.t913; ZVFHMIN-NEXT: vmv1r.v v0, v8914; ZVFHMIN-NEXT: ret915 %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)916 ret <8 x i1> %v917}918 919define <8 x i1> @fcmp_une_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {920; ZVFH-LABEL: fcmp_une_vf_v8f16:921; ZVFH: # %bb.0:922; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma923; ZVFH-NEXT: vmfne.vf v0, v8, fa0, v0.t924; ZVFH-NEXT: ret925;926; ZVFHMIN-LABEL: fcmp_une_vf_v8f16:927; ZVFHMIN: # %bb.0:928; ZVFHMIN-NEXT: fmv.x.h a1, fa0929; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma930; ZVFHMIN-NEXT: vmv.v.x v9, a1931; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8932; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9933; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma934; ZVFHMIN-NEXT: vmfne.vv v8, v10, v12, v0.t935; ZVFHMIN-NEXT: vmv1r.v v0, v8936; ZVFHMIN-NEXT: ret937 %elt.head = insertelement <8 x half> poison, half %b, i32 0938 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer939 %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)940 ret <8 x i1> %v941}942 943define <8 x i1> @fcmp_une_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {944; ZVFH-LABEL: fcmp_une_vf_swap_v8f16:945; ZVFH: # %bb.0:946; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma947; ZVFH-NEXT: vmfne.vf v0, v8, fa0, v0.t948; ZVFH-NEXT: ret949;950; ZVFHMIN-LABEL: fcmp_une_vf_swap_v8f16:951; ZVFHMIN: # %bb.0:952; ZVFHMIN-NEXT: fmv.x.h a1, fa0953; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma954; ZVFHMIN-NEXT: vmv.v.x v9, a1955; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8956; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9957; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma958; ZVFHMIN-NEXT: vmfne.vv v8, v12, v10, v0.t959; ZVFHMIN-NEXT: vmv1r.v v0, v8960; ZVFHMIN-NEXT: ret961 %elt.head = insertelement <8 x half> poison, half %b, i32 0962 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer963 %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)964 ret <8 x i1> %v965}966 967define <8 x i1> @fcmp_uno_vv_v8f16(<8 x half> %va, <8 x half> %vb, <8 x i1> %m, i32 zeroext %evl) {968; ZVFH-LABEL: fcmp_uno_vv_v8f16:969; ZVFH: # %bb.0:970; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma971; ZVFH-NEXT: vmfne.vv v9, v9, v9, v0.t972; ZVFH-NEXT: vmfne.vv v8, v8, v8, v0.t973; ZVFH-NEXT: vmor.mm v0, v8, v9974; ZVFH-NEXT: ret975;976; ZVFHMIN-LABEL: fcmp_uno_vv_v8f16:977; ZVFHMIN: # %bb.0:978; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma979; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v9980; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma981; ZVFHMIN-NEXT: vmfne.vv v9, v10, v10, v0.t982; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma983; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v8984; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma985; ZVFHMIN-NEXT: vmfne.vv v8, v10, v10, v0.t986; ZVFHMIN-NEXT: vmor.mm v0, v8, v9987; ZVFHMIN-NEXT: ret988 %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)989 ret <8 x i1> %v990}991 992define <8 x i1> @fcmp_uno_vf_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {993; ZVFH-LABEL: fcmp_uno_vf_v8f16:994; ZVFH: # %bb.0:995; ZVFH-NEXT: vsetivli zero, 8, e16, m1, ta, ma996; ZVFH-NEXT: vfmv.v.f v9, fa0997; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma998; ZVFH-NEXT: vmfne.vf v9, v9, fa0, v0.t999; ZVFH-NEXT: vmfne.vv v8, v8, v8, v0.t1000; ZVFH-NEXT: vmor.mm v0, v8, v91001; ZVFH-NEXT: ret1002;1003; ZVFHMIN-LABEL: fcmp_uno_vf_v8f16:1004; ZVFHMIN: # %bb.0:1005; ZVFHMIN-NEXT: fmv.x.h a1, fa01006; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma1007; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v81008; ZVFHMIN-NEXT: vmv.v.x v12, a11009; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma1010; ZVFHMIN-NEXT: vmfne.vv v13, v10, v10, v0.t1011; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma1012; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v121013; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma1014; ZVFHMIN-NEXT: vmfne.vv v10, v8, v8, v0.t1015; ZVFHMIN-NEXT: vmor.mm v0, v13, v101016; ZVFHMIN-NEXT: ret1017 %elt.head = insertelement <8 x half> poison, half %b, i32 01018 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer1019 %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)1020 ret <8 x i1> %v1021}1022 1023define <8 x i1> @fcmp_uno_vf_swap_v8f16(<8 x half> %va, half %b, <8 x i1> %m, i32 zeroext %evl) {1024; ZVFH-LABEL: fcmp_uno_vf_swap_v8f16:1025; ZVFH: # %bb.0:1026; ZVFH-NEXT: vsetivli zero, 8, e16, m1, ta, ma1027; ZVFH-NEXT: vfmv.v.f v9, fa01028; ZVFH-NEXT: vsetvli zero, a0, e16, m1, ta, ma1029; ZVFH-NEXT: vmfne.vf v9, v9, fa0, v0.t1030; ZVFH-NEXT: vmfne.vv v8, v8, v8, v0.t1031; ZVFH-NEXT: vmor.mm v0, v9, v81032; ZVFH-NEXT: ret1033;1034; ZVFHMIN-LABEL: fcmp_uno_vf_swap_v8f16:1035; ZVFHMIN: # %bb.0:1036; ZVFHMIN-NEXT: fmv.x.h a1, fa01037; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma1038; ZVFHMIN-NEXT: vfwcvt.f.f.v v10, v81039; ZVFHMIN-NEXT: vmv.v.x v12, a11040; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma1041; ZVFHMIN-NEXT: vmfne.vv v13, v10, v10, v0.t1042; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma1043; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v121044; ZVFHMIN-NEXT: vsetvli zero, a0, e32, m2, ta, ma1045; ZVFHMIN-NEXT: vmfne.vv v10, v8, v8, v0.t1046; ZVFHMIN-NEXT: vmor.mm v0, v10, v131047; ZVFHMIN-NEXT: ret1048 %elt.head = insertelement <8 x half> poison, half %b, i32 01049 %vb = shufflevector <8 x half> %elt.head, <8 x half> poison, <8 x i32> zeroinitializer1050 %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)1051 ret <8 x i1> %v1052}1053 1054define <128 x i1> @fcmp_oeq_vv_v128f16(<128 x half> %va, <128 x half> %vb, <128 x i1> %m, i32 zeroext %evl) {1055; ZVFH-LABEL: fcmp_oeq_vv_v128f16:1056; ZVFH: # %bb.0:1057; ZVFH-NEXT: addi sp, sp, -161058; ZVFH-NEXT: .cfi_def_cfa_offset 161059; ZVFH-NEXT: csrr a1, vlenb1060; ZVFH-NEXT: slli a1, a1, 31061; ZVFH-NEXT: sub sp, sp, a11062; ZVFH-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb1063; ZVFH-NEXT: addi a1, sp, 161064; ZVFH-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill1065; ZVFH-NEXT: addi a1, a0, 1281066; ZVFH-NEXT: li a3, 641067; ZVFH-NEXT: vsetvli zero, a3, e16, m8, ta, ma1068; ZVFH-NEXT: vle16.v v16, (a1)1069; ZVFH-NEXT: vle16.v v24, (a0)1070; ZVFH-NEXT: mv a0, a21071; ZVFH-NEXT: vsetivli zero, 8, e8, m1, ta, ma1072; ZVFH-NEXT: vslidedown.vi v7, v0, 81073; ZVFH-NEXT: bltu a2, a3, .LBB43_21074; ZVFH-NEXT: # %bb.1:1075; ZVFH-NEXT: li a0, 641076; ZVFH-NEXT: .LBB43_2:1077; ZVFH-NEXT: vsetvli zero, a0, e16, m8, ta, ma1078; ZVFH-NEXT: vmfeq.vv v6, v8, v24, v0.t1079; ZVFH-NEXT: addi a0, a2, -641080; ZVFH-NEXT: sltu a1, a2, a01081; ZVFH-NEXT: addi a1, a1, -11082; ZVFH-NEXT: and a0, a1, a01083; ZVFH-NEXT: vmv1r.v v0, v71084; ZVFH-NEXT: addi a1, sp, 161085; ZVFH-NEXT: vl8r.v v24, (a1) # vscale x 64-byte Folded Reload1086; ZVFH-NEXT: vsetvli zero, a0, e16, m8, ta, ma1087; ZVFH-NEXT: vmfeq.vv v8, v24, v16, v0.t1088; ZVFH-NEXT: vsetivli zero, 16, e8, m1, ta, ma1089; ZVFH-NEXT: vslideup.vi v6, v8, 81090; ZVFH-NEXT: vmv.v.v v0, v61091; ZVFH-NEXT: csrr a0, vlenb1092; ZVFH-NEXT: slli a0, a0, 31093; ZVFH-NEXT: add sp, sp, a01094; ZVFH-NEXT: .cfi_def_cfa sp, 161095; ZVFH-NEXT: addi sp, sp, 161096; ZVFH-NEXT: .cfi_def_cfa_offset 01097; ZVFH-NEXT: ret1098;1099; ZVFHMIN32-LABEL: fcmp_oeq_vv_v128f16:1100; ZVFHMIN32: # %bb.0:1101; ZVFHMIN32-NEXT: addi sp, sp, -8961102; ZVFHMIN32-NEXT: .cfi_def_cfa_offset 8961103; ZVFHMIN32-NEXT: sw ra, 892(sp) # 4-byte Folded Spill1104; ZVFHMIN32-NEXT: sw s0, 888(sp) # 4-byte Folded Spill1105; ZVFHMIN32-NEXT: sw s2, 884(sp) # 4-byte Folded Spill1106; ZVFHMIN32-NEXT: sw s3, 880(sp) # 4-byte Folded Spill1107; ZVFHMIN32-NEXT: sw s4, 876(sp) # 4-byte Folded Spill1108; ZVFHMIN32-NEXT: sw s5, 872(sp) # 4-byte Folded Spill1109; ZVFHMIN32-NEXT: sw s6, 868(sp) # 4-byte Folded Spill1110; ZVFHMIN32-NEXT: sw s7, 864(sp) # 4-byte Folded Spill1111; ZVFHMIN32-NEXT: sw s8, 860(sp) # 4-byte Folded Spill1112; ZVFHMIN32-NEXT: sw s9, 856(sp) # 4-byte Folded Spill1113; ZVFHMIN32-NEXT: sw s10, 852(sp) # 4-byte Folded Spill1114; ZVFHMIN32-NEXT: sw s11, 848(sp) # 4-byte Folded Spill1115; ZVFHMIN32-NEXT: .cfi_offset ra, -41116; ZVFHMIN32-NEXT: .cfi_offset s0, -81117; ZVFHMIN32-NEXT: .cfi_offset s2, -121118; ZVFHMIN32-NEXT: .cfi_offset s3, -161119; ZVFHMIN32-NEXT: .cfi_offset s4, -201120; ZVFHMIN32-NEXT: .cfi_offset s5, -241121; ZVFHMIN32-NEXT: .cfi_offset s6, -281122; ZVFHMIN32-NEXT: .cfi_offset s7, -321123; ZVFHMIN32-NEXT: .cfi_offset s8, -361124; ZVFHMIN32-NEXT: .cfi_offset s9, -401125; ZVFHMIN32-NEXT: .cfi_offset s10, -441126; ZVFHMIN32-NEXT: .cfi_offset s11, -481127; ZVFHMIN32-NEXT: addi s0, sp, 8961128; ZVFHMIN32-NEXT: .cfi_def_cfa s0, 01129; ZVFHMIN32-NEXT: csrr a1, vlenb1130; ZVFHMIN32-NEXT: li a2, 291131; ZVFHMIN32-NEXT: mul a1, a1, a21132; ZVFHMIN32-NEXT: sub sp, sp, a11133; ZVFHMIN32-NEXT: andi sp, sp, -1281134; ZVFHMIN32-NEXT: addi a1, a0, 1281135; ZVFHMIN32-NEXT: li a2, 641136; ZVFHMIN32-NEXT: addi a3, sp, 6401137; ZVFHMIN32-NEXT: addi a4, sp, 3841138; ZVFHMIN32-NEXT: addi a5, sp, 5121139; ZVFHMIN32-NEXT: vsetvli zero, a2, e16, m8, ta, ma1140; ZVFHMIN32-NEXT: vle16.v v0, (a0)1141; ZVFHMIN32-NEXT: addi a0, sp, 2561142; ZVFHMIN32-NEXT: vle16.v v24, (a1)1143; ZVFHMIN32-NEXT: vse16.v v8, (a3)1144; ZVFHMIN32-NEXT: vse16.v v0, (a4)1145; ZVFHMIN32-NEXT: vse16.v v16, (a5)1146; ZVFHMIN32-NEXT: vse16.v v24, (a0)1147; ZVFHMIN32-NEXT: lh a0, 704(sp)1148; ZVFHMIN32-NEXT: lh a1, 448(sp)1149; ZVFHMIN32-NEXT: fmv.h.x fa5, a01150; ZVFHMIN32-NEXT: fmv.h.x fa4, a11151; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41152; ZVFHMIN32-NEXT: sb a0, 160(sp)1153; ZVFHMIN32-NEXT: lh a0, 702(sp)1154; ZVFHMIN32-NEXT: lh a1, 446(sp)1155; ZVFHMIN32-NEXT: fmv.h.x fa5, a01156; ZVFHMIN32-NEXT: fmv.h.x fa4, a11157; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41158; ZVFHMIN32-NEXT: sb a0, 159(sp)1159; ZVFHMIN32-NEXT: lh a0, 700(sp)1160; ZVFHMIN32-NEXT: lh a1, 444(sp)1161; ZVFHMIN32-NEXT: fmv.h.x fa5, a01162; ZVFHMIN32-NEXT: fmv.h.x fa4, a11163; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41164; ZVFHMIN32-NEXT: sb a0, 158(sp)1165; ZVFHMIN32-NEXT: lh a0, 698(sp)1166; ZVFHMIN32-NEXT: lh a1, 442(sp)1167; ZVFHMIN32-NEXT: fmv.h.x fa5, a01168; ZVFHMIN32-NEXT: fmv.h.x fa4, a11169; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41170; ZVFHMIN32-NEXT: sb a0, 157(sp)1171; ZVFHMIN32-NEXT: lh a0, 696(sp)1172; ZVFHMIN32-NEXT: lh a1, 440(sp)1173; ZVFHMIN32-NEXT: fmv.h.x fa5, a01174; ZVFHMIN32-NEXT: fmv.h.x fa4, a11175; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41176; ZVFHMIN32-NEXT: sb a0, 156(sp)1177; ZVFHMIN32-NEXT: lh a0, 694(sp)1178; ZVFHMIN32-NEXT: lh a1, 438(sp)1179; ZVFHMIN32-NEXT: fmv.h.x fa5, a01180; ZVFHMIN32-NEXT: fmv.h.x fa4, a11181; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41182; ZVFHMIN32-NEXT: sb a0, 155(sp)1183; ZVFHMIN32-NEXT: lh a0, 692(sp)1184; ZVFHMIN32-NEXT: lh a1, 436(sp)1185; ZVFHMIN32-NEXT: fmv.h.x fa5, a01186; ZVFHMIN32-NEXT: fmv.h.x fa4, a11187; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41188; ZVFHMIN32-NEXT: sb a0, 154(sp)1189; ZVFHMIN32-NEXT: lh a0, 690(sp)1190; ZVFHMIN32-NEXT: lh a1, 434(sp)1191; ZVFHMIN32-NEXT: fmv.h.x fa5, a01192; ZVFHMIN32-NEXT: fmv.h.x fa4, a11193; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41194; ZVFHMIN32-NEXT: sb a0, 153(sp)1195; ZVFHMIN32-NEXT: lh a0, 688(sp)1196; ZVFHMIN32-NEXT: lh a1, 432(sp)1197; ZVFHMIN32-NEXT: fmv.h.x fa5, a01198; ZVFHMIN32-NEXT: fmv.h.x fa4, a11199; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41200; ZVFHMIN32-NEXT: sb a0, 152(sp)1201; ZVFHMIN32-NEXT: lh a0, 686(sp)1202; ZVFHMIN32-NEXT: lh a1, 430(sp)1203; ZVFHMIN32-NEXT: fmv.h.x fa5, a01204; ZVFHMIN32-NEXT: fmv.h.x fa4, a11205; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41206; ZVFHMIN32-NEXT: sb a0, 151(sp)1207; ZVFHMIN32-NEXT: lh a0, 684(sp)1208; ZVFHMIN32-NEXT: lh a1, 428(sp)1209; ZVFHMIN32-NEXT: fmv.h.x fa5, a01210; ZVFHMIN32-NEXT: fmv.h.x fa4, a11211; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41212; ZVFHMIN32-NEXT: sb a0, 150(sp)1213; ZVFHMIN32-NEXT: lh a0, 682(sp)1214; ZVFHMIN32-NEXT: lh a1, 426(sp)1215; ZVFHMIN32-NEXT: fmv.h.x fa5, a01216; ZVFHMIN32-NEXT: fmv.h.x fa4, a11217; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41218; ZVFHMIN32-NEXT: sb a0, 149(sp)1219; ZVFHMIN32-NEXT: lh a0, 680(sp)1220; ZVFHMIN32-NEXT: lh a1, 424(sp)1221; ZVFHMIN32-NEXT: fmv.h.x fa5, a01222; ZVFHMIN32-NEXT: fmv.h.x fa4, a11223; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41224; ZVFHMIN32-NEXT: sb a0, 148(sp)1225; ZVFHMIN32-NEXT: lh a0, 678(sp)1226; ZVFHMIN32-NEXT: lh a1, 422(sp)1227; ZVFHMIN32-NEXT: fmv.h.x fa5, a01228; ZVFHMIN32-NEXT: fmv.h.x fa4, a11229; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41230; ZVFHMIN32-NEXT: sb a0, 147(sp)1231; ZVFHMIN32-NEXT: lh a0, 676(sp)1232; ZVFHMIN32-NEXT: lh a1, 420(sp)1233; ZVFHMIN32-NEXT: vmv.x.s a2, v81234; ZVFHMIN32-NEXT: fmv.h.x fa5, a01235; ZVFHMIN32-NEXT: fmv.h.x fa4, a11236; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41237; ZVFHMIN32-NEXT: sb a0, 146(sp)1238; ZVFHMIN32-NEXT: lh a0, 674(sp)1239; ZVFHMIN32-NEXT: lh a1, 418(sp)1240; ZVFHMIN32-NEXT: fmv.h.x fa5, a21241; ZVFHMIN32-NEXT: vmv.x.s a2, v01242; ZVFHMIN32-NEXT: fmv.h.x fa4, a01243; ZVFHMIN32-NEXT: fmv.h.x fa3, a11244; ZVFHMIN32-NEXT: feq.h a0, fa4, fa31245; ZVFHMIN32-NEXT: sb a0, 145(sp)1246; ZVFHMIN32-NEXT: lh a0, 672(sp)1247; ZVFHMIN32-NEXT: lh a1, 416(sp)1248; ZVFHMIN32-NEXT: fmv.h.x fa4, a21249; ZVFHMIN32-NEXT: feq.h a2, fa5, fa41250; ZVFHMIN32-NEXT: fmv.h.x fa5, a01251; ZVFHMIN32-NEXT: fmv.h.x fa4, a11252; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41253; ZVFHMIN32-NEXT: sb a2, 128(sp)1254; ZVFHMIN32-NEXT: sb a0, 144(sp)1255; ZVFHMIN32-NEXT: lh a0, 576(sp)1256; ZVFHMIN32-NEXT: lh a1, 320(sp)1257; ZVFHMIN32-NEXT: fmv.h.x fa5, a01258; ZVFHMIN32-NEXT: fmv.h.x fa4, a11259; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41260; ZVFHMIN32-NEXT: sb a0, 224(sp)1261; ZVFHMIN32-NEXT: lh a0, 574(sp)1262; ZVFHMIN32-NEXT: lh a1, 318(sp)1263; ZVFHMIN32-NEXT: fmv.h.x fa5, a01264; ZVFHMIN32-NEXT: fmv.h.x fa4, a11265; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41266; ZVFHMIN32-NEXT: sb a0, 223(sp)1267; ZVFHMIN32-NEXT: lh a0, 572(sp)1268; ZVFHMIN32-NEXT: lh a1, 316(sp)1269; ZVFHMIN32-NEXT: fmv.h.x fa5, a01270; ZVFHMIN32-NEXT: fmv.h.x fa4, a11271; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41272; ZVFHMIN32-NEXT: sb a0, 222(sp)1273; ZVFHMIN32-NEXT: lh a0, 570(sp)1274; ZVFHMIN32-NEXT: lh a1, 314(sp)1275; ZVFHMIN32-NEXT: fmv.h.x fa5, a01276; ZVFHMIN32-NEXT: fmv.h.x fa4, a11277; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41278; ZVFHMIN32-NEXT: sb a0, 221(sp)1279; ZVFHMIN32-NEXT: lh a0, 568(sp)1280; ZVFHMIN32-NEXT: lh a1, 312(sp)1281; ZVFHMIN32-NEXT: fmv.h.x fa5, a01282; ZVFHMIN32-NEXT: fmv.h.x fa4, a11283; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41284; ZVFHMIN32-NEXT: sb a0, 220(sp)1285; ZVFHMIN32-NEXT: lh a0, 566(sp)1286; ZVFHMIN32-NEXT: lh a1, 310(sp)1287; ZVFHMIN32-NEXT: fmv.h.x fa5, a01288; ZVFHMIN32-NEXT: fmv.h.x fa4, a11289; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41290; ZVFHMIN32-NEXT: sb a0, 219(sp)1291; ZVFHMIN32-NEXT: lh a0, 564(sp)1292; ZVFHMIN32-NEXT: lh a1, 308(sp)1293; ZVFHMIN32-NEXT: fmv.h.x fa5, a01294; ZVFHMIN32-NEXT: fmv.h.x fa4, a11295; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41296; ZVFHMIN32-NEXT: sb a0, 218(sp)1297; ZVFHMIN32-NEXT: lh a0, 562(sp)1298; ZVFHMIN32-NEXT: lh a1, 306(sp)1299; ZVFHMIN32-NEXT: vsetivli zero, 1, e16, m1, ta, ma1300; ZVFHMIN32-NEXT: vslidedown.vi v10, v8, 71301; ZVFHMIN32-NEXT: csrr a2, vlenb1302; ZVFHMIN32-NEXT: li a3, 281303; ZVFHMIN32-NEXT: mul a2, a2, a31304; ZVFHMIN32-NEXT: add a2, sp, a21305; ZVFHMIN32-NEXT: addi a2, a2, 8481306; ZVFHMIN32-NEXT: vs1r.v v10, (a2) # vscale x 8-byte Folded Spill1307; ZVFHMIN32-NEXT: vslidedown.vi v10, v8, 61308; ZVFHMIN32-NEXT: csrr a2, vlenb1309; ZVFHMIN32-NEXT: li a3, 271310; ZVFHMIN32-NEXT: mul a2, a2, a31311; ZVFHMIN32-NEXT: add a2, sp, a21312; ZVFHMIN32-NEXT: addi a2, a2, 8481313; ZVFHMIN32-NEXT: vs1r.v v10, (a2) # vscale x 8-byte Folded Spill1314; ZVFHMIN32-NEXT: vslidedown.vi v10, v8, 51315; ZVFHMIN32-NEXT: csrr a2, vlenb1316; ZVFHMIN32-NEXT: li a3, 261317; ZVFHMIN32-NEXT: mul a2, a2, a31318; ZVFHMIN32-NEXT: add a2, sp, a21319; ZVFHMIN32-NEXT: addi a2, a2, 8481320; ZVFHMIN32-NEXT: vs1r.v v10, (a2) # vscale x 8-byte Folded Spill1321; ZVFHMIN32-NEXT: vslidedown.vi v10, v8, 41322; ZVFHMIN32-NEXT: csrr a2, vlenb1323; ZVFHMIN32-NEXT: li a3, 251324; ZVFHMIN32-NEXT: mul a2, a2, a31325; ZVFHMIN32-NEXT: add a2, sp, a21326; ZVFHMIN32-NEXT: addi a2, a2, 8481327; ZVFHMIN32-NEXT: vs1r.v v10, (a2) # vscale x 8-byte Folded Spill1328; ZVFHMIN32-NEXT: vslidedown.vi v10, v8, 31329; ZVFHMIN32-NEXT: csrr a2, vlenb1330; ZVFHMIN32-NEXT: li a3, 241331; ZVFHMIN32-NEXT: mul a2, a2, a31332; ZVFHMIN32-NEXT: add a2, sp, a21333; ZVFHMIN32-NEXT: addi a2, a2, 8481334; ZVFHMIN32-NEXT: vs1r.v v10, (a2) # vscale x 8-byte Folded Spill1335; ZVFHMIN32-NEXT: vslidedown.vi v10, v8, 21336; ZVFHMIN32-NEXT: csrr a2, vlenb1337; ZVFHMIN32-NEXT: li a3, 231338; ZVFHMIN32-NEXT: mul a2, a2, a31339; ZVFHMIN32-NEXT: add a2, sp, a21340; ZVFHMIN32-NEXT: addi a2, a2, 8481341; ZVFHMIN32-NEXT: vs1r.v v10, (a2) # vscale x 8-byte Folded Spill1342; ZVFHMIN32-NEXT: vslidedown.vi v10, v8, 11343; ZVFHMIN32-NEXT: csrr a2, vlenb1344; ZVFHMIN32-NEXT: li a3, 221345; ZVFHMIN32-NEXT: mul a2, a2, a31346; ZVFHMIN32-NEXT: add a2, sp, a21347; ZVFHMIN32-NEXT: addi a2, a2, 8481348; ZVFHMIN32-NEXT: vs1r.v v10, (a2) # vscale x 8-byte Folded Spill1349; ZVFHMIN32-NEXT: vsetivli zero, 1, e16, m2, ta, ma1350; ZVFHMIN32-NEXT: vslidedown.vi v4, v8, 151351; ZVFHMIN32-NEXT: vslidedown.vi v10, v8, 141352; ZVFHMIN32-NEXT: csrr a2, vlenb1353; ZVFHMIN32-NEXT: add a2, sp, a21354; ZVFHMIN32-NEXT: addi a2, a2, 8481355; ZVFHMIN32-NEXT: vs2r.v v10, (a2) # vscale x 16-byte Folded Spill1356; ZVFHMIN32-NEXT: vslidedown.vi v2, v8, 131357; ZVFHMIN32-NEXT: vslidedown.vi v30, v8, 121358; ZVFHMIN32-NEXT: vslidedown.vi v28, v8, 111359; ZVFHMIN32-NEXT: vslidedown.vi v26, v8, 101360; ZVFHMIN32-NEXT: vslidedown.vi v22, v8, 91361; ZVFHMIN32-NEXT: vslidedown.vi v20, v8, 81362; ZVFHMIN32-NEXT: vmv.x.s a4, v161363; ZVFHMIN32-NEXT: fmv.h.x fa5, a01364; ZVFHMIN32-NEXT: fmv.h.x fa4, a11365; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41366; ZVFHMIN32-NEXT: sb a0, 217(sp)1367; ZVFHMIN32-NEXT: lh a0, 560(sp)1368; ZVFHMIN32-NEXT: lh a1, 304(sp)1369; ZVFHMIN32-NEXT: vsetivli zero, 1, e16, m1, ta, ma1370; ZVFHMIN32-NEXT: vslidedown.vi v21, v16, 71371; ZVFHMIN32-NEXT: vslidedown.vi v23, v16, 61372; ZVFHMIN32-NEXT: vslidedown.vi v29, v16, 51373; ZVFHMIN32-NEXT: vslidedown.vi v31, v16, 41374; ZVFHMIN32-NEXT: vslidedown.vi v8, v16, 31375; ZVFHMIN32-NEXT: addi a2, sp, 8481376; ZVFHMIN32-NEXT: vs1r.v v8, (a2) # vscale x 8-byte Folded Spill1377; ZVFHMIN32-NEXT: vslidedown.vi v27, v16, 21378; ZVFHMIN32-NEXT: vslidedown.vi v8, v16, 11379; ZVFHMIN32-NEXT: csrr a2, vlenb1380; ZVFHMIN32-NEXT: li a3, 191381; ZVFHMIN32-NEXT: mul a2, a2, a31382; ZVFHMIN32-NEXT: add a2, sp, a21383; ZVFHMIN32-NEXT: addi a2, a2, 8481384; ZVFHMIN32-NEXT: vs1r.v v8, (a2) # vscale x 8-byte Folded Spill1385; ZVFHMIN32-NEXT: vsetivli zero, 1, e16, m2, ta, ma1386; ZVFHMIN32-NEXT: vslidedown.vi v14, v16, 151387; ZVFHMIN32-NEXT: vslidedown.vi v12, v16, 141388; ZVFHMIN32-NEXT: vslidedown.vi v8, v16, 131389; ZVFHMIN32-NEXT: vslidedown.vi v18, v16, 121390; ZVFHMIN32-NEXT: vslidedown.vi v10, v16, 111391; ZVFHMIN32-NEXT: vslidedown.vi v6, v16, 101392; ZVFHMIN32-NEXT: csrr a2, vlenb1393; ZVFHMIN32-NEXT: li a3, 201394; ZVFHMIN32-NEXT: mul a2, a2, a31395; ZVFHMIN32-NEXT: add a2, sp, a21396; ZVFHMIN32-NEXT: addi a2, a2, 8481397; ZVFHMIN32-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill1398; ZVFHMIN32-NEXT: vslidedown.vi v6, v16, 91399; ZVFHMIN32-NEXT: csrr a2, vlenb1400; ZVFHMIN32-NEXT: slli a3, a2, 41401; ZVFHMIN32-NEXT: sub a2, a3, a21402; ZVFHMIN32-NEXT: add a2, sp, a21403; ZVFHMIN32-NEXT: addi a2, a2, 8481404; ZVFHMIN32-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill1405; ZVFHMIN32-NEXT: vslidedown.vi v16, v16, 81406; ZVFHMIN32-NEXT: csrr a2, vlenb1407; ZVFHMIN32-NEXT: li a3, 131408; ZVFHMIN32-NEXT: mul a2, a2, a31409; ZVFHMIN32-NEXT: add a2, sp, a21410; ZVFHMIN32-NEXT: addi a2, a2, 8481411; ZVFHMIN32-NEXT: vs2r.v v16, (a2) # vscale x 16-byte Folded Spill1412; ZVFHMIN32-NEXT: fmv.h.x fa5, a01413; ZVFHMIN32-NEXT: fmv.h.x fa4, a11414; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41415; ZVFHMIN32-NEXT: sb a0, 216(sp)1416; ZVFHMIN32-NEXT: lh a0, 558(sp)1417; ZVFHMIN32-NEXT: lh a1, 302(sp)1418; ZVFHMIN32-NEXT: vsetivli zero, 1, e16, m1, ta, ma1419; ZVFHMIN32-NEXT: vslidedown.vi v9, v0, 71420; ZVFHMIN32-NEXT: vslidedown.vi v19, v0, 61421; ZVFHMIN32-NEXT: vslidedown.vi v3, v0, 51422; ZVFHMIN32-NEXT: vslidedown.vi v13, v0, 41423; ZVFHMIN32-NEXT: vslidedown.vi v15, v0, 31424; ZVFHMIN32-NEXT: vslidedown.vi v16, v0, 21425; ZVFHMIN32-NEXT: vslidedown.vi v11, v0, 11426; ZVFHMIN32-NEXT: vsetivli zero, 1, e16, m2, ta, ma1427; ZVFHMIN32-NEXT: vslidedown.vi v6, v0, 151428; ZVFHMIN32-NEXT: csrr a2, vlenb1429; ZVFHMIN32-NEXT: slli a3, a2, 11430; ZVFHMIN32-NEXT: add a2, a3, a21431; ZVFHMIN32-NEXT: add a2, sp, a21432; ZVFHMIN32-NEXT: addi a2, a2, 8481433; ZVFHMIN32-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill1434; ZVFHMIN32-NEXT: vslidedown.vi v6, v0, 141435; ZVFHMIN32-NEXT: csrr a2, vlenb1436; ZVFHMIN32-NEXT: slli a3, a2, 31437; ZVFHMIN32-NEXT: sub a2, a3, a21438; ZVFHMIN32-NEXT: add a2, sp, a21439; ZVFHMIN32-NEXT: addi a2, a2, 8481440; ZVFHMIN32-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill1441; ZVFHMIN32-NEXT: vslidedown.vi v6, v0, 131442; ZVFHMIN32-NEXT: csrr a2, vlenb1443; ZVFHMIN32-NEXT: slli a3, a2, 21444; ZVFHMIN32-NEXT: add a2, a3, a21445; ZVFHMIN32-NEXT: add a2, sp, a21446; ZVFHMIN32-NEXT: addi a2, a2, 8481447; ZVFHMIN32-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill1448; ZVFHMIN32-NEXT: vslidedown.vi v6, v0, 121449; ZVFHMIN32-NEXT: csrr a2, vlenb1450; ZVFHMIN32-NEXT: li a3, 111451; ZVFHMIN32-NEXT: mul a2, a2, a31452; ZVFHMIN32-NEXT: add a2, sp, a21453; ZVFHMIN32-NEXT: addi a2, a2, 8481454; ZVFHMIN32-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill1455; ZVFHMIN32-NEXT: vslidedown.vi v6, v0, 111456; ZVFHMIN32-NEXT: csrr a2, vlenb1457; ZVFHMIN32-NEXT: slli a3, a2, 31458; ZVFHMIN32-NEXT: add a2, a3, a21459; ZVFHMIN32-NEXT: add a2, sp, a21460; ZVFHMIN32-NEXT: addi a2, a2, 8481461; ZVFHMIN32-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill1462; ZVFHMIN32-NEXT: vslidedown.vi v6, v0, 101463; ZVFHMIN32-NEXT: csrr a2, vlenb1464; ZVFHMIN32-NEXT: slli a3, a2, 41465; ZVFHMIN32-NEXT: add a2, a3, a21466; ZVFHMIN32-NEXT: add a2, sp, a21467; ZVFHMIN32-NEXT: addi a2, a2, 8481468; ZVFHMIN32-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill1469; ZVFHMIN32-NEXT: vslidedown.vi v6, v0, 91470; ZVFHMIN32-NEXT: vslidedown.vi v0, v0, 81471; ZVFHMIN32-NEXT: vmv.x.s t3, v41472; ZVFHMIN32-NEXT: fmv.h.x fa5, a01473; ZVFHMIN32-NEXT: fmv.h.x fa4, a11474; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41475; ZVFHMIN32-NEXT: sb a0, 215(sp)1476; ZVFHMIN32-NEXT: lh a0, 556(sp)1477; ZVFHMIN32-NEXT: lh a1, 300(sp)1478; ZVFHMIN32-NEXT: csrr a2, vlenb1479; ZVFHMIN32-NEXT: add a2, sp, a21480; ZVFHMIN32-NEXT: addi a2, a2, 8481481; ZVFHMIN32-NEXT: vl2r.v v4, (a2) # vscale x 16-byte Folded Reload1482; ZVFHMIN32-NEXT: vmv.x.s t4, v41483; ZVFHMIN32-NEXT: vmv.x.s t2, v21484; ZVFHMIN32-NEXT: fmv.h.x fa5, a01485; ZVFHMIN32-NEXT: fmv.h.x fa4, a11486; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41487; ZVFHMIN32-NEXT: sb a0, 214(sp)1488; ZVFHMIN32-NEXT: lh a0, 554(sp)1489; ZVFHMIN32-NEXT: lh a1, 298(sp)1490; ZVFHMIN32-NEXT: vmv.x.s t1, v301491; ZVFHMIN32-NEXT: vmv.x.s t0, v281492; ZVFHMIN32-NEXT: fmv.h.x fa5, a01493; ZVFHMIN32-NEXT: fmv.h.x fa4, a11494; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41495; ZVFHMIN32-NEXT: sb a0, 213(sp)1496; ZVFHMIN32-NEXT: lh a0, 552(sp)1497; ZVFHMIN32-NEXT: lh a1, 296(sp)1498; ZVFHMIN32-NEXT: vmv.x.s a7, v261499; ZVFHMIN32-NEXT: vmv.x.s a6, v221500; ZVFHMIN32-NEXT: fmv.h.x fa5, a01501; ZVFHMIN32-NEXT: fmv.h.x fa4, a11502; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41503; ZVFHMIN32-NEXT: sb a0, 212(sp)1504; ZVFHMIN32-NEXT: lh a0, 550(sp)1505; ZVFHMIN32-NEXT: lh a1, 294(sp)1506; ZVFHMIN32-NEXT: vmv.x.s a5, v201507; ZVFHMIN32-NEXT: vmv.x.s a2, v141508; ZVFHMIN32-NEXT: sw a2, 112(sp) # 4-byte Folded Spill1509; ZVFHMIN32-NEXT: fmv.h.x fa5, a01510; ZVFHMIN32-NEXT: fmv.h.x fa4, a11511; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41512; ZVFHMIN32-NEXT: sb a0, 211(sp)1513; ZVFHMIN32-NEXT: lh a1, 548(sp)1514; ZVFHMIN32-NEXT: lh t5, 292(sp)1515; ZVFHMIN32-NEXT: vmv.x.s a0, v121516; ZVFHMIN32-NEXT: sw a0, 116(sp) # 4-byte Folded Spill1517; ZVFHMIN32-NEXT: vmv.x.s a0, v81518; ZVFHMIN32-NEXT: sw a0, 124(sp) # 4-byte Folded Spill1519; ZVFHMIN32-NEXT: fmv.h.x fa5, a11520; ZVFHMIN32-NEXT: fmv.h.x fa4, t51521; ZVFHMIN32-NEXT: feq.h a1, fa5, fa41522; ZVFHMIN32-NEXT: sb a1, 210(sp)1523; ZVFHMIN32-NEXT: lh a1, 546(sp)1524; ZVFHMIN32-NEXT: lh t5, 290(sp)1525; ZVFHMIN32-NEXT: fmv.h.x fa5, a41526; ZVFHMIN32-NEXT: vmv.x.s a4, v241527; ZVFHMIN32-NEXT: fmv.h.x fa4, a11528; ZVFHMIN32-NEXT: fmv.h.x fa3, t51529; ZVFHMIN32-NEXT: feq.h a1, fa4, fa31530; ZVFHMIN32-NEXT: sb a1, 209(sp)1531; ZVFHMIN32-NEXT: lh a1, 544(sp)1532; ZVFHMIN32-NEXT: lh t5, 288(sp)1533; ZVFHMIN32-NEXT: fmv.h.x fa4, a41534; ZVFHMIN32-NEXT: feq.h a4, fa5, fa41535; ZVFHMIN32-NEXT: fmv.h.x fa5, a11536; ZVFHMIN32-NEXT: fmv.h.x fa4, t51537; ZVFHMIN32-NEXT: feq.h a1, fa5, fa41538; ZVFHMIN32-NEXT: sb a4, 192(sp)1539; ZVFHMIN32-NEXT: sb a1, 208(sp)1540; ZVFHMIN32-NEXT: lh t5, 738(sp)1541; ZVFHMIN32-NEXT: lh t6, 482(sp)1542; ZVFHMIN32-NEXT: vmv.x.s a0, v181543; ZVFHMIN32-NEXT: sw a0, 108(sp) # 4-byte Folded Spill1544; ZVFHMIN32-NEXT: vmv.x.s a0, v101545; ZVFHMIN32-NEXT: sw a0, 120(sp) # 4-byte Folded Spill1546; ZVFHMIN32-NEXT: fmv.h.x fa5, t51547; ZVFHMIN32-NEXT: fmv.h.x fa4, t61548; ZVFHMIN32-NEXT: feq.h t5, fa5, fa41549; ZVFHMIN32-NEXT: sb t5, 177(sp)1550; ZVFHMIN32-NEXT: lh t5, 736(sp)1551; ZVFHMIN32-NEXT: lh t6, 480(sp)1552; ZVFHMIN32-NEXT: csrr a0, vlenb1553; ZVFHMIN32-NEXT: li a1, 281554; ZVFHMIN32-NEXT: mul a0, a0, a11555; ZVFHMIN32-NEXT: add a0, sp, a01556; ZVFHMIN32-NEXT: lh s5, 848(a0) # 8-byte Folded Reload1557; ZVFHMIN32-NEXT: csrr a0, vlenb1558; ZVFHMIN32-NEXT: li a1, 271559; ZVFHMIN32-NEXT: mul a0, a0, a11560; ZVFHMIN32-NEXT: add a0, sp, a01561; ZVFHMIN32-NEXT: lh s6, 848(a0) # 8-byte Folded Reload1562; ZVFHMIN32-NEXT: fmv.h.x fa5, t51563; ZVFHMIN32-NEXT: fmv.h.x fa4, t61564; ZVFHMIN32-NEXT: feq.h t5, fa5, fa41565; ZVFHMIN32-NEXT: sb t5, 176(sp)1566; ZVFHMIN32-NEXT: lh t5, 734(sp)1567; ZVFHMIN32-NEXT: lh t6, 478(sp)1568; ZVFHMIN32-NEXT: csrr a0, vlenb1569; ZVFHMIN32-NEXT: li a1, 261570; ZVFHMIN32-NEXT: mul a0, a0, a11571; ZVFHMIN32-NEXT: add a0, sp, a01572; ZVFHMIN32-NEXT: lh s7, 848(a0) # 8-byte Folded Reload1573; ZVFHMIN32-NEXT: csrr a0, vlenb1574; ZVFHMIN32-NEXT: li a1, 251575; ZVFHMIN32-NEXT: mul a0, a0, a11576; ZVFHMIN32-NEXT: add a0, sp, a01577; ZVFHMIN32-NEXT: lh s8, 848(a0) # 8-byte Folded Reload1578; ZVFHMIN32-NEXT: fmv.h.x fa5, t51579; ZVFHMIN32-NEXT: fmv.h.x fa4, t61580; ZVFHMIN32-NEXT: feq.h t5, fa5, fa41581; ZVFHMIN32-NEXT: sb t5, 175(sp)1582; ZVFHMIN32-NEXT: lh t5, 732(sp)1583; ZVFHMIN32-NEXT: lh t6, 476(sp)1584; ZVFHMIN32-NEXT: csrr a0, vlenb1585; ZVFHMIN32-NEXT: li a1, 241586; ZVFHMIN32-NEXT: mul a0, a0, a11587; ZVFHMIN32-NEXT: add a0, sp, a01588; ZVFHMIN32-NEXT: lh s4, 848(a0) # 8-byte Folded Reload1589; ZVFHMIN32-NEXT: csrr a0, vlenb1590; ZVFHMIN32-NEXT: li a1, 231591; ZVFHMIN32-NEXT: mul a0, a0, a11592; ZVFHMIN32-NEXT: add a0, sp, a01593; ZVFHMIN32-NEXT: lh s3, 848(a0) # 8-byte Folded Reload1594; ZVFHMIN32-NEXT: fmv.h.x fa5, t51595; ZVFHMIN32-NEXT: fmv.h.x fa4, t61596; ZVFHMIN32-NEXT: feq.h t5, fa5, fa41597; ZVFHMIN32-NEXT: sb t5, 174(sp)1598; ZVFHMIN32-NEXT: lh t6, 730(sp)1599; ZVFHMIN32-NEXT: lh s9, 474(sp)1600; ZVFHMIN32-NEXT: csrr a0, vlenb1601; ZVFHMIN32-NEXT: li a1, 221602; ZVFHMIN32-NEXT: mul a0, a0, a11603; ZVFHMIN32-NEXT: add a0, sp, a01604; ZVFHMIN32-NEXT: lh s2, 848(a0) # 8-byte Folded Reload1605; ZVFHMIN32-NEXT: vmv.x.s t5, v211606; ZVFHMIN32-NEXT: fmv.h.x fa5, t61607; ZVFHMIN32-NEXT: fmv.h.x fa4, s91608; ZVFHMIN32-NEXT: feq.h t6, fa5, fa41609; ZVFHMIN32-NEXT: sb t6, 173(sp)1610; ZVFHMIN32-NEXT: lh s9, 728(sp)1611; ZVFHMIN32-NEXT: lh s10, 472(sp)1612; ZVFHMIN32-NEXT: vmv.x.s t6, v231613; ZVFHMIN32-NEXT: vmv.x.s ra, v91614; ZVFHMIN32-NEXT: fmv.h.x fa5, s91615; ZVFHMIN32-NEXT: fmv.h.x fa4, s101616; ZVFHMIN32-NEXT: feq.h s9, fa5, fa41617; ZVFHMIN32-NEXT: sb s9, 172(sp)1618; ZVFHMIN32-NEXT: lh s9, 726(sp)1619; ZVFHMIN32-NEXT: lh s10, 470(sp)1620; ZVFHMIN32-NEXT: vmv.x.s a2, v191621; ZVFHMIN32-NEXT: vmv.x.s a3, v31622; ZVFHMIN32-NEXT: fmv.h.x fa5, s91623; ZVFHMIN32-NEXT: fmv.h.x fa4, s101624; ZVFHMIN32-NEXT: feq.h s9, fa5, fa41625; ZVFHMIN32-NEXT: sb s9, 171(sp)1626; ZVFHMIN32-NEXT: lh s10, 724(sp)1627; ZVFHMIN32-NEXT: lh s11, 468(sp)1628; ZVFHMIN32-NEXT: vmv.x.s a4, v131629; ZVFHMIN32-NEXT: vmv.x.s s9, v151630; ZVFHMIN32-NEXT: fmv.h.x fa5, s101631; ZVFHMIN32-NEXT: fmv.h.x fa4, s111632; ZVFHMIN32-NEXT: feq.h s10, fa5, fa41633; ZVFHMIN32-NEXT: sb s10, 170(sp)1634; ZVFHMIN32-NEXT: lh a0, 722(sp)1635; ZVFHMIN32-NEXT: lh a1, 466(sp)1636; ZVFHMIN32-NEXT: vmv.x.s s10, v161637; ZVFHMIN32-NEXT: vmv.x.s s11, v111638; ZVFHMIN32-NEXT: fmv.h.x fa5, a01639; ZVFHMIN32-NEXT: fmv.h.x fa4, a11640; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41641; ZVFHMIN32-NEXT: sb a0, 169(sp)1642; ZVFHMIN32-NEXT: lh a0, 720(sp)1643; ZVFHMIN32-NEXT: lh a1, 464(sp)1644; ZVFHMIN32-NEXT: fmv.h.x fa5, s51645; ZVFHMIN32-NEXT: fmv.h.x fa4, s61646; ZVFHMIN32-NEXT: fmv.h.x fa3, a01647; ZVFHMIN32-NEXT: fmv.h.x fa2, a11648; ZVFHMIN32-NEXT: feq.h a0, fa3, fa21649; ZVFHMIN32-NEXT: sb a0, 168(sp)1650; ZVFHMIN32-NEXT: lh a0, 718(sp)1651; ZVFHMIN32-NEXT: lh a1, 462(sp)1652; ZVFHMIN32-NEXT: fmv.h.x fa3, s71653; ZVFHMIN32-NEXT: fmv.h.x fa2, s81654; ZVFHMIN32-NEXT: fmv.h.x fa1, a01655; ZVFHMIN32-NEXT: fmv.h.x fa0, a11656; ZVFHMIN32-NEXT: feq.h a0, fa1, fa01657; ZVFHMIN32-NEXT: fmv.h.x fa1, ra1658; ZVFHMIN32-NEXT: sb a0, 167(sp)1659; ZVFHMIN32-NEXT: lh a0, 716(sp)1660; ZVFHMIN32-NEXT: fmv.h.x fa0, a21661; ZVFHMIN32-NEXT: lh a1, 460(sp)1662; ZVFHMIN32-NEXT: feq.h s5, fa5, fa11663; ZVFHMIN32-NEXT: fmv.h.x fa5, a01664; ZVFHMIN32-NEXT: feq.h a0, fa4, fa01665; ZVFHMIN32-NEXT: fmv.h.x fa4, a11666; ZVFHMIN32-NEXT: feq.h a1, fa5, fa41667; ZVFHMIN32-NEXT: fmv.h.x fa5, s41668; ZVFHMIN32-NEXT: sb a1, 166(sp)1669; ZVFHMIN32-NEXT: lh a1, 714(sp)1670; ZVFHMIN32-NEXT: lh a2, 458(sp)1671; ZVFHMIN32-NEXT: fmv.h.x fa4, a31672; ZVFHMIN32-NEXT: feq.h a3, fa3, fa41673; ZVFHMIN32-NEXT: fmv.h.x fa4, a11674; ZVFHMIN32-NEXT: fmv.h.x fa3, a21675; ZVFHMIN32-NEXT: feq.h a1, fa4, fa31676; ZVFHMIN32-NEXT: fmv.h.x fa4, s31677; ZVFHMIN32-NEXT: sb a1, 165(sp)1678; ZVFHMIN32-NEXT: lh a1, 712(sp)1679; ZVFHMIN32-NEXT: lh a2, 456(sp)1680; ZVFHMIN32-NEXT: fmv.h.x fa3, a41681; ZVFHMIN32-NEXT: feq.h a4, fa2, fa31682; ZVFHMIN32-NEXT: fmv.h.x fa3, a11683; ZVFHMIN32-NEXT: fmv.h.x fa2, a21684; ZVFHMIN32-NEXT: feq.h a1, fa3, fa21685; ZVFHMIN32-NEXT: fmv.h.x fa3, s21686; ZVFHMIN32-NEXT: sb a1, 164(sp)1687; ZVFHMIN32-NEXT: lh a1, 710(sp)1688; ZVFHMIN32-NEXT: lh a2, 454(sp)1689; ZVFHMIN32-NEXT: fmv.h.x fa2, s91690; ZVFHMIN32-NEXT: feq.h s2, fa5, fa21691; ZVFHMIN32-NEXT: fmv.h.x fa5, a11692; ZVFHMIN32-NEXT: fmv.h.x fa2, a21693; ZVFHMIN32-NEXT: feq.h a1, fa5, fa21694; ZVFHMIN32-NEXT: fmv.h.x fa5, s101695; ZVFHMIN32-NEXT: fmv.h.x fa2, s111696; ZVFHMIN32-NEXT: sb a1, 163(sp)1697; ZVFHMIN32-NEXT: lh a1, 708(sp)1698; ZVFHMIN32-NEXT: lh a2, 452(sp)1699; ZVFHMIN32-NEXT: feq.h s3, fa4, fa51700; ZVFHMIN32-NEXT: feq.h s4, fa3, fa21701; ZVFHMIN32-NEXT: fmv.h.x fa5, a11702; ZVFHMIN32-NEXT: fmv.h.x fa4, a21703; ZVFHMIN32-NEXT: feq.h a1, fa5, fa41704; ZVFHMIN32-NEXT: sb a1, 162(sp)1705; ZVFHMIN32-NEXT: lh a1, 706(sp)1706; ZVFHMIN32-NEXT: lh a2, 450(sp)1707; ZVFHMIN32-NEXT: sb s4, 129(sp)1708; ZVFHMIN32-NEXT: sb s3, 130(sp)1709; ZVFHMIN32-NEXT: sb s2, 131(sp)1710; ZVFHMIN32-NEXT: sb a4, 132(sp)1711; ZVFHMIN32-NEXT: fmv.h.x fa5, a11712; ZVFHMIN32-NEXT: fmv.h.x fa4, a21713; ZVFHMIN32-NEXT: feq.h a1, fa5, fa41714; ZVFHMIN32-NEXT: sb a3, 133(sp)1715; ZVFHMIN32-NEXT: sb a0, 134(sp)1716; ZVFHMIN32-NEXT: sb s5, 135(sp)1717; ZVFHMIN32-NEXT: sb a1, 161(sp)1718; ZVFHMIN32-NEXT: lh a0, 610(sp)1719; ZVFHMIN32-NEXT: lh a1, 354(sp)1720; ZVFHMIN32-NEXT: vmv.x.s s6, v291721; ZVFHMIN32-NEXT: vmv.x.s s5, v311722; ZVFHMIN32-NEXT: fmv.h.x fa5, a01723; ZVFHMIN32-NEXT: fmv.h.x fa4, a11724; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41725; ZVFHMIN32-NEXT: sb a0, 241(sp)1726; ZVFHMIN32-NEXT: lh a0, 608(sp)1727; ZVFHMIN32-NEXT: lh a1, 352(sp)1728; ZVFHMIN32-NEXT: lh s4, 848(sp) # 8-byte Folded Reload1729; ZVFHMIN32-NEXT: vmv.x.s s3, v271730; ZVFHMIN32-NEXT: fmv.h.x fa5, a01731; ZVFHMIN32-NEXT: fmv.h.x fa4, a11732; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41733; ZVFHMIN32-NEXT: sb a0, 240(sp)1734; ZVFHMIN32-NEXT: lh a0, 606(sp)1735; ZVFHMIN32-NEXT: lh a1, 350(sp)1736; ZVFHMIN32-NEXT: csrr a2, vlenb1737; ZVFHMIN32-NEXT: li a3, 191738; ZVFHMIN32-NEXT: mul a2, a2, a31739; ZVFHMIN32-NEXT: add a2, sp, a21740; ZVFHMIN32-NEXT: lh s2, 848(a2) # 8-byte Folded Reload1741; ZVFHMIN32-NEXT: fmv.h.x fa5, t51742; ZVFHMIN32-NEXT: fmv.h.x fa4, a01743; ZVFHMIN32-NEXT: fmv.h.x fa3, a11744; ZVFHMIN32-NEXT: feq.h a0, fa4, fa31745; ZVFHMIN32-NEXT: sb a0, 239(sp)1746; ZVFHMIN32-NEXT: lh a0, 604(sp)1747; ZVFHMIN32-NEXT: lh a1, 348(sp)1748; ZVFHMIN32-NEXT: fmv.h.x fa4, t61749; ZVFHMIN32-NEXT: vsetivli zero, 1, e16, m1, ta, ma1750; ZVFHMIN32-NEXT: vslidedown.vi v8, v24, 71751; ZVFHMIN32-NEXT: fmv.h.x fa3, a01752; ZVFHMIN32-NEXT: fmv.h.x fa2, a11753; ZVFHMIN32-NEXT: feq.h a0, fa3, fa21754; ZVFHMIN32-NEXT: sb a0, 238(sp)1755; ZVFHMIN32-NEXT: lh a0, 602(sp)1756; ZVFHMIN32-NEXT: lh a1, 346(sp)1757; ZVFHMIN32-NEXT: vmv.x.s a2, v81758; ZVFHMIN32-NEXT: vslidedown.vi v8, v24, 61759; ZVFHMIN32-NEXT: fmv.h.x fa3, a01760; ZVFHMIN32-NEXT: fmv.h.x fa2, a11761; ZVFHMIN32-NEXT: feq.h a0, fa3, fa21762; ZVFHMIN32-NEXT: sb a0, 237(sp)1763; ZVFHMIN32-NEXT: lh a0, 600(sp)1764; ZVFHMIN32-NEXT: lh a1, 344(sp)1765; ZVFHMIN32-NEXT: vmv.x.s a3, v81766; ZVFHMIN32-NEXT: vslidedown.vi v8, v24, 51767; ZVFHMIN32-NEXT: fmv.h.x fa3, a01768; ZVFHMIN32-NEXT: fmv.h.x fa2, a11769; ZVFHMIN32-NEXT: feq.h a0, fa3, fa21770; ZVFHMIN32-NEXT: sb a0, 236(sp)1771; ZVFHMIN32-NEXT: lh a0, 598(sp)1772; ZVFHMIN32-NEXT: lh a1, 342(sp)1773; ZVFHMIN32-NEXT: vmv.x.s a4, v81774; ZVFHMIN32-NEXT: vslidedown.vi v8, v24, 41775; ZVFHMIN32-NEXT: fmv.h.x fa3, a01776; ZVFHMIN32-NEXT: fmv.h.x fa2, a11777; ZVFHMIN32-NEXT: feq.h a0, fa3, fa21778; ZVFHMIN32-NEXT: sb a0, 235(sp)1779; ZVFHMIN32-NEXT: lh a0, 596(sp)1780; ZVFHMIN32-NEXT: lh a1, 340(sp)1781; ZVFHMIN32-NEXT: vmv.x.s s8, v81782; ZVFHMIN32-NEXT: vslidedown.vi v8, v24, 31783; ZVFHMIN32-NEXT: fmv.h.x fa3, a01784; ZVFHMIN32-NEXT: fmv.h.x fa2, a11785; ZVFHMIN32-NEXT: feq.h a0, fa3, fa21786; ZVFHMIN32-NEXT: sb a0, 234(sp)1787; ZVFHMIN32-NEXT: lh a0, 594(sp)1788; ZVFHMIN32-NEXT: lh a1, 338(sp)1789; ZVFHMIN32-NEXT: vmv.x.s s9, v81790; ZVFHMIN32-NEXT: vslidedown.vi v8, v24, 21791; ZVFHMIN32-NEXT: fmv.h.x fa3, a01792; ZVFHMIN32-NEXT: fmv.h.x fa2, a11793; ZVFHMIN32-NEXT: feq.h a0, fa3, fa21794; ZVFHMIN32-NEXT: sb a0, 233(sp)1795; ZVFHMIN32-NEXT: lh a0, 592(sp)1796; ZVFHMIN32-NEXT: vmv.x.s a1, v81797; ZVFHMIN32-NEXT: lh t5, 336(sp)1798; ZVFHMIN32-NEXT: vslidedown.vi v8, v24, 11799; ZVFHMIN32-NEXT: fmv.h.x fa3, a01800; ZVFHMIN32-NEXT: vmv.x.s s7, v81801; ZVFHMIN32-NEXT: fmv.h.x fa2, t51802; ZVFHMIN32-NEXT: feq.h a0, fa3, fa21803; ZVFHMIN32-NEXT: fmv.h.x fa3, a21804; ZVFHMIN32-NEXT: sb a0, 232(sp)1805; ZVFHMIN32-NEXT: lh a0, 590(sp)1806; ZVFHMIN32-NEXT: fmv.h.x fa2, a31807; ZVFHMIN32-NEXT: lh a2, 334(sp)1808; ZVFHMIN32-NEXT: feq.h t5, fa5, fa31809; ZVFHMIN32-NEXT: fmv.h.x fa5, a01810; ZVFHMIN32-NEXT: feq.h t6, fa4, fa21811; ZVFHMIN32-NEXT: fmv.h.x fa4, a21812; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41813; ZVFHMIN32-NEXT: fmv.h.x fa5, s61814; ZVFHMIN32-NEXT: sb a0, 231(sp)1815; ZVFHMIN32-NEXT: lh a0, 588(sp)1816; ZVFHMIN32-NEXT: lh a2, 332(sp)1817; ZVFHMIN32-NEXT: fmv.h.x fa4, a41818; ZVFHMIN32-NEXT: feq.h a3, fa5, fa41819; ZVFHMIN32-NEXT: fmv.h.x fa5, a01820; ZVFHMIN32-NEXT: fmv.h.x fa4, a21821; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41822; ZVFHMIN32-NEXT: fmv.h.x fa5, s51823; ZVFHMIN32-NEXT: sb a0, 230(sp)1824; ZVFHMIN32-NEXT: lh a0, 586(sp)1825; ZVFHMIN32-NEXT: lh a2, 330(sp)1826; ZVFHMIN32-NEXT: fmv.h.x fa4, s81827; ZVFHMIN32-NEXT: feq.h a4, fa5, fa41828; ZVFHMIN32-NEXT: fmv.h.x fa5, a01829; ZVFHMIN32-NEXT: fmv.h.x fa4, a21830; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41831; ZVFHMIN32-NEXT: fmv.h.x fa5, s41832; ZVFHMIN32-NEXT: sb a0, 229(sp)1833; ZVFHMIN32-NEXT: lh a0, 584(sp)1834; ZVFHMIN32-NEXT: lh a2, 328(sp)1835; ZVFHMIN32-NEXT: fmv.h.x fa4, s91836; ZVFHMIN32-NEXT: feq.h s4, fa5, fa41837; ZVFHMIN32-NEXT: fmv.h.x fa5, a01838; ZVFHMIN32-NEXT: fmv.h.x fa4, a21839; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41840; ZVFHMIN32-NEXT: fmv.h.x fa5, s31841; ZVFHMIN32-NEXT: sb a0, 228(sp)1842; ZVFHMIN32-NEXT: lh a0, 582(sp)1843; ZVFHMIN32-NEXT: lh a2, 326(sp)1844; ZVFHMIN32-NEXT: fmv.h.x fa4, a11845; ZVFHMIN32-NEXT: feq.h a1, fa5, fa41846; ZVFHMIN32-NEXT: fmv.h.x fa5, a01847; ZVFHMIN32-NEXT: fmv.h.x fa4, a21848; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41849; ZVFHMIN32-NEXT: fmv.h.x fa5, s21850; ZVFHMIN32-NEXT: sb a0, 227(sp)1851; ZVFHMIN32-NEXT: lh a0, 580(sp)1852; ZVFHMIN32-NEXT: lh a2, 324(sp)1853; ZVFHMIN32-NEXT: fmv.h.x fa4, s71854; ZVFHMIN32-NEXT: feq.h s2, fa5, fa41855; ZVFHMIN32-NEXT: fmv.h.x fa5, a01856; ZVFHMIN32-NEXT: fmv.h.x fa4, a21857; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41858; ZVFHMIN32-NEXT: sb a0, 226(sp)1859; ZVFHMIN32-NEXT: lh a0, 578(sp)1860; ZVFHMIN32-NEXT: lh a2, 322(sp)1861; ZVFHMIN32-NEXT: sb s2, 193(sp)1862; ZVFHMIN32-NEXT: sb a1, 194(sp)1863; ZVFHMIN32-NEXT: sb s4, 195(sp)1864; ZVFHMIN32-NEXT: sb a4, 196(sp)1865; ZVFHMIN32-NEXT: fmv.h.x fa5, a01866; ZVFHMIN32-NEXT: fmv.h.x fa4, a21867; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41868; ZVFHMIN32-NEXT: sb a3, 197(sp)1869; ZVFHMIN32-NEXT: sb t6, 198(sp)1870; ZVFHMIN32-NEXT: sb t5, 199(sp)1871; ZVFHMIN32-NEXT: sb a0, 225(sp)1872; ZVFHMIN32-NEXT: lh a0, 766(sp)1873; ZVFHMIN32-NEXT: lh a1, 510(sp)1874; ZVFHMIN32-NEXT: csrr a2, vlenb1875; ZVFHMIN32-NEXT: li a3, 201876; ZVFHMIN32-NEXT: mul a2, a2, a31877; ZVFHMIN32-NEXT: add a2, sp, a21878; ZVFHMIN32-NEXT: addi a2, a2, 8481879; ZVFHMIN32-NEXT: vl2r.v v8, (a2) # vscale x 16-byte Folded Reload1880; ZVFHMIN32-NEXT: vmv.x.s s2, v81881; ZVFHMIN32-NEXT: csrr a2, vlenb1882; ZVFHMIN32-NEXT: slli a3, a2, 41883; ZVFHMIN32-NEXT: sub a2, a3, a21884; ZVFHMIN32-NEXT: add a2, sp, a21885; ZVFHMIN32-NEXT: addi a2, a2, 8481886; ZVFHMIN32-NEXT: vl2r.v v8, (a2) # vscale x 16-byte Folded Reload1887; ZVFHMIN32-NEXT: vmv.x.s t5, v81888; ZVFHMIN32-NEXT: fmv.h.x fa5, a01889; ZVFHMIN32-NEXT: fmv.h.x fa4, a11890; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41891; ZVFHMIN32-NEXT: sb a0, 191(sp)1892; ZVFHMIN32-NEXT: lh a0, 764(sp)1893; ZVFHMIN32-NEXT: lh a1, 508(sp)1894; ZVFHMIN32-NEXT: csrr a2, vlenb1895; ZVFHMIN32-NEXT: li a3, 131896; ZVFHMIN32-NEXT: mul a2, a2, a31897; ZVFHMIN32-NEXT: add a2, sp, a21898; ZVFHMIN32-NEXT: addi a2, a2, 8481899; ZVFHMIN32-NEXT: vl2r.v v8, (a2) # vscale x 16-byte Folded Reload1900; ZVFHMIN32-NEXT: vmv.x.s t6, v81901; ZVFHMIN32-NEXT: csrr a2, vlenb1902; ZVFHMIN32-NEXT: slli a3, a2, 11903; ZVFHMIN32-NEXT: add a2, a3, a21904; ZVFHMIN32-NEXT: add a2, sp, a21905; ZVFHMIN32-NEXT: addi a2, a2, 8481906; ZVFHMIN32-NEXT: vl2r.v v8, (a2) # vscale x 16-byte Folded Reload1907; ZVFHMIN32-NEXT: vmv.x.s a2, v81908; ZVFHMIN32-NEXT: fmv.h.x fa5, a01909; ZVFHMIN32-NEXT: fmv.h.x fa4, a11910; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41911; ZVFHMIN32-NEXT: sb a0, 190(sp)1912; ZVFHMIN32-NEXT: lh a0, 762(sp)1913; ZVFHMIN32-NEXT: lh a1, 506(sp)1914; ZVFHMIN32-NEXT: csrr a3, vlenb1915; ZVFHMIN32-NEXT: slli a4, a3, 31916; ZVFHMIN32-NEXT: sub a3, a4, a31917; ZVFHMIN32-NEXT: add a3, sp, a31918; ZVFHMIN32-NEXT: addi a3, a3, 8481919; ZVFHMIN32-NEXT: vl2r.v v8, (a3) # vscale x 16-byte Folded Reload1920; ZVFHMIN32-NEXT: vmv.x.s a3, v81921; ZVFHMIN32-NEXT: csrr a4, vlenb1922; ZVFHMIN32-NEXT: slli s3, a4, 21923; ZVFHMIN32-NEXT: add a4, s3, a41924; ZVFHMIN32-NEXT: add a4, sp, a41925; ZVFHMIN32-NEXT: addi a4, a4, 8481926; ZVFHMIN32-NEXT: vl2r.v v8, (a4) # vscale x 16-byte Folded Reload1927; ZVFHMIN32-NEXT: vmv.x.s a4, v81928; ZVFHMIN32-NEXT: fmv.h.x fa5, a01929; ZVFHMIN32-NEXT: fmv.h.x fa4, a11930; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41931; ZVFHMIN32-NEXT: sb a0, 189(sp)1932; ZVFHMIN32-NEXT: lh a0, 760(sp)1933; ZVFHMIN32-NEXT: lh a1, 504(sp)1934; ZVFHMIN32-NEXT: csrr s3, vlenb1935; ZVFHMIN32-NEXT: li s4, 111936; ZVFHMIN32-NEXT: mul s3, s3, s41937; ZVFHMIN32-NEXT: add s3, sp, s31938; ZVFHMIN32-NEXT: addi s3, s3, 8481939; ZVFHMIN32-NEXT: vl2r.v v8, (s3) # vscale x 16-byte Folded Reload1940; ZVFHMIN32-NEXT: vmv.x.s s6, v81941; ZVFHMIN32-NEXT: csrr s3, vlenb1942; ZVFHMIN32-NEXT: slli s4, s3, 31943; ZVFHMIN32-NEXT: add s3, s4, s31944; ZVFHMIN32-NEXT: add s3, sp, s31945; ZVFHMIN32-NEXT: addi s3, s3, 8481946; ZVFHMIN32-NEXT: vl2r.v v8, (s3) # vscale x 16-byte Folded Reload1947; ZVFHMIN32-NEXT: vmv.x.s s4, v81948; ZVFHMIN32-NEXT: fmv.h.x fa5, a01949; ZVFHMIN32-NEXT: fmv.h.x fa4, a11950; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41951; ZVFHMIN32-NEXT: sb a0, 188(sp)1952; ZVFHMIN32-NEXT: lh a0, 758(sp)1953; ZVFHMIN32-NEXT: lh a1, 502(sp)1954; ZVFHMIN32-NEXT: csrr s3, vlenb1955; ZVFHMIN32-NEXT: slli s5, s3, 41956; ZVFHMIN32-NEXT: add s3, s5, s31957; ZVFHMIN32-NEXT: add s3, sp, s31958; ZVFHMIN32-NEXT: addi s3, s3, 8481959; ZVFHMIN32-NEXT: vl2r.v v8, (s3) # vscale x 16-byte Folded Reload1960; ZVFHMIN32-NEXT: vmv.x.s s5, v81961; ZVFHMIN32-NEXT: vmv.x.s s3, v61962; ZVFHMIN32-NEXT: fmv.h.x fa5, a01963; ZVFHMIN32-NEXT: fmv.h.x fa4, a11964; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41965; ZVFHMIN32-NEXT: fmv.h.x fa5, t31966; ZVFHMIN32-NEXT: sb a0, 187(sp)1967; ZVFHMIN32-NEXT: lh a0, 756(sp)1968; ZVFHMIN32-NEXT: lh a1, 500(sp)1969; ZVFHMIN32-NEXT: fmv.h.x fa4, a21970; ZVFHMIN32-NEXT: feq.h t3, fa5, fa41971; ZVFHMIN32-NEXT: fmv.h.x fa5, a01972; ZVFHMIN32-NEXT: fmv.h.x fa4, a11973; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41974; ZVFHMIN32-NEXT: fmv.h.x fa5, t41975; ZVFHMIN32-NEXT: sb a0, 186(sp)1976; ZVFHMIN32-NEXT: lh a0, 754(sp)1977; ZVFHMIN32-NEXT: lh a1, 498(sp)1978; ZVFHMIN32-NEXT: fmv.h.x fa4, a31979; ZVFHMIN32-NEXT: feq.h t4, fa5, fa41980; ZVFHMIN32-NEXT: fmv.h.x fa5, a01981; ZVFHMIN32-NEXT: fmv.h.x fa4, a11982; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41983; ZVFHMIN32-NEXT: fmv.h.x fa5, t21984; ZVFHMIN32-NEXT: sb a0, 185(sp)1985; ZVFHMIN32-NEXT: lh a0, 752(sp)1986; ZVFHMIN32-NEXT: lh a1, 496(sp)1987; ZVFHMIN32-NEXT: fmv.h.x fa4, a41988; ZVFHMIN32-NEXT: feq.h t2, fa5, fa41989; ZVFHMIN32-NEXT: fmv.h.x fa5, a01990; ZVFHMIN32-NEXT: fmv.h.x fa4, a11991; ZVFHMIN32-NEXT: feq.h a0, fa5, fa41992; ZVFHMIN32-NEXT: fmv.h.x fa5, t11993; ZVFHMIN32-NEXT: sb a0, 184(sp)1994; ZVFHMIN32-NEXT: lh a0, 750(sp)1995; ZVFHMIN32-NEXT: lh a1, 494(sp)1996; ZVFHMIN32-NEXT: fmv.h.x fa4, s61997; ZVFHMIN32-NEXT: feq.h a2, fa5, fa41998; ZVFHMIN32-NEXT: fmv.h.x fa5, a01999; ZVFHMIN32-NEXT: fmv.h.x fa4, a12000; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42001; ZVFHMIN32-NEXT: fmv.h.x fa5, t02002; ZVFHMIN32-NEXT: sb a0, 183(sp)2003; ZVFHMIN32-NEXT: lh a0, 748(sp)2004; ZVFHMIN32-NEXT: lh a1, 492(sp)2005; ZVFHMIN32-NEXT: fmv.h.x fa4, s42006; ZVFHMIN32-NEXT: feq.h a3, fa5, fa42007; ZVFHMIN32-NEXT: fmv.h.x fa5, a02008; ZVFHMIN32-NEXT: fmv.h.x fa4, a12009; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42010; ZVFHMIN32-NEXT: fmv.h.x fa5, a72011; ZVFHMIN32-NEXT: sb a0, 182(sp)2012; ZVFHMIN32-NEXT: lh a0, 746(sp)2013; ZVFHMIN32-NEXT: lh a1, 490(sp)2014; ZVFHMIN32-NEXT: fmv.h.x fa4, s52015; ZVFHMIN32-NEXT: feq.h a4, fa5, fa42016; ZVFHMIN32-NEXT: fmv.h.x fa5, a02017; ZVFHMIN32-NEXT: fmv.h.x fa4, a12018; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42019; ZVFHMIN32-NEXT: fmv.h.x fa5, a62020; ZVFHMIN32-NEXT: sb a0, 181(sp)2021; ZVFHMIN32-NEXT: lh a0, 744(sp)2022; ZVFHMIN32-NEXT: lh a1, 488(sp)2023; ZVFHMIN32-NEXT: fmv.h.x fa4, s32024; ZVFHMIN32-NEXT: feq.h a6, fa5, fa42025; ZVFHMIN32-NEXT: fmv.h.x fa5, a02026; ZVFHMIN32-NEXT: fmv.h.x fa4, a12027; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42028; ZVFHMIN32-NEXT: fmv.h.x fa5, a52029; ZVFHMIN32-NEXT: vmv.x.s a1, v02030; ZVFHMIN32-NEXT: vsetivli zero, 1, e16, m2, ta, ma2031; ZVFHMIN32-NEXT: vslidedown.vi v8, v24, 152032; ZVFHMIN32-NEXT: vmv.x.s a5, v82033; ZVFHMIN32-NEXT: sb a0, 180(sp)2034; ZVFHMIN32-NEXT: lh a0, 742(sp)2035; ZVFHMIN32-NEXT: lh a7, 486(sp)2036; ZVFHMIN32-NEXT: fmv.h.x fa4, a12037; ZVFHMIN32-NEXT: feq.h a1, fa5, fa42038; ZVFHMIN32-NEXT: fmv.h.x fa5, a02039; ZVFHMIN32-NEXT: fmv.h.x fa4, a72040; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42041; ZVFHMIN32-NEXT: sb a0, 179(sp)2042; ZVFHMIN32-NEXT: lh a0, 740(sp)2043; ZVFHMIN32-NEXT: lh a7, 484(sp)2044; ZVFHMIN32-NEXT: sb a2, 140(sp)2045; ZVFHMIN32-NEXT: sb t2, 141(sp)2046; ZVFHMIN32-NEXT: sb t4, 142(sp)2047; ZVFHMIN32-NEXT: sb t3, 143(sp)2048; ZVFHMIN32-NEXT: sb a1, 136(sp)2049; ZVFHMIN32-NEXT: sb a6, 137(sp)2050; ZVFHMIN32-NEXT: sb a4, 138(sp)2051; ZVFHMIN32-NEXT: sb a3, 139(sp)2052; ZVFHMIN32-NEXT: fmv.h.x fa5, a02053; ZVFHMIN32-NEXT: fmv.h.x fa4, a72054; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42055; ZVFHMIN32-NEXT: sb a0, 178(sp)2056; ZVFHMIN32-NEXT: lh a0, 638(sp)2057; ZVFHMIN32-NEXT: lh a1, 382(sp)2058; ZVFHMIN32-NEXT: vslidedown.vi v8, v24, 142059; ZVFHMIN32-NEXT: vmv.x.s t3, v82060; ZVFHMIN32-NEXT: fmv.h.x fa5, a02061; ZVFHMIN32-NEXT: fmv.h.x fa4, a12062; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42063; ZVFHMIN32-NEXT: sb a0, 255(sp)2064; ZVFHMIN32-NEXT: lh a0, 636(sp)2065; ZVFHMIN32-NEXT: lh a1, 380(sp)2066; ZVFHMIN32-NEXT: vslidedown.vi v8, v24, 132067; ZVFHMIN32-NEXT: vmv.x.s t2, v82068; ZVFHMIN32-NEXT: fmv.h.x fa5, a02069; ZVFHMIN32-NEXT: fmv.h.x fa4, a12070; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42071; ZVFHMIN32-NEXT: sb a0, 254(sp)2072; ZVFHMIN32-NEXT: lh a0, 634(sp)2073; ZVFHMIN32-NEXT: lh a1, 378(sp)2074; ZVFHMIN32-NEXT: vslidedown.vi v8, v24, 122075; ZVFHMIN32-NEXT: vmv.x.s t1, v82076; ZVFHMIN32-NEXT: fmv.h.x fa5, a02077; ZVFHMIN32-NEXT: fmv.h.x fa4, a12078; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42079; ZVFHMIN32-NEXT: sb a0, 253(sp)2080; ZVFHMIN32-NEXT: lh a0, 632(sp)2081; ZVFHMIN32-NEXT: lh a1, 376(sp)2082; ZVFHMIN32-NEXT: vslidedown.vi v8, v24, 112083; ZVFHMIN32-NEXT: vmv.x.s t0, v82084; ZVFHMIN32-NEXT: fmv.h.x fa5, a02085; ZVFHMIN32-NEXT: fmv.h.x fa4, a12086; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42087; ZVFHMIN32-NEXT: sb a0, 252(sp)2088; ZVFHMIN32-NEXT: lh a0, 630(sp)2089; ZVFHMIN32-NEXT: lh a1, 374(sp)2090; ZVFHMIN32-NEXT: vslidedown.vi v8, v24, 102091; ZVFHMIN32-NEXT: vmv.x.s a7, v82092; ZVFHMIN32-NEXT: fmv.h.x fa5, a02093; ZVFHMIN32-NEXT: fmv.h.x fa4, a12094; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42095; ZVFHMIN32-NEXT: sb a0, 251(sp)2096; ZVFHMIN32-NEXT: lh a0, 628(sp)2097; ZVFHMIN32-NEXT: lh a1, 372(sp)2098; ZVFHMIN32-NEXT: vslidedown.vi v8, v24, 92099; ZVFHMIN32-NEXT: vmv.x.s a6, v82100; ZVFHMIN32-NEXT: fmv.h.x fa5, a02101; ZVFHMIN32-NEXT: fmv.h.x fa4, a12102; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42103; ZVFHMIN32-NEXT: lw a1, 112(sp) # 4-byte Folded Reload2104; ZVFHMIN32-NEXT: fmv.h.x fa5, a12105; ZVFHMIN32-NEXT: sb a0, 250(sp)2106; ZVFHMIN32-NEXT: lh a0, 626(sp)2107; ZVFHMIN32-NEXT: lh a1, 370(sp)2108; ZVFHMIN32-NEXT: fmv.h.x fa4, a52109; ZVFHMIN32-NEXT: feq.h a3, fa5, fa42110; ZVFHMIN32-NEXT: fmv.h.x fa5, a02111; ZVFHMIN32-NEXT: fmv.h.x fa4, a12112; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42113; ZVFHMIN32-NEXT: lw a1, 116(sp) # 4-byte Folded Reload2114; ZVFHMIN32-NEXT: fmv.h.x fa5, a12115; ZVFHMIN32-NEXT: sb a0, 249(sp)2116; ZVFHMIN32-NEXT: lh a0, 624(sp)2117; ZVFHMIN32-NEXT: lh a1, 368(sp)2118; ZVFHMIN32-NEXT: fmv.h.x fa4, t32119; ZVFHMIN32-NEXT: feq.h a2, fa5, fa42120; ZVFHMIN32-NEXT: fmv.h.x fa5, a02121; ZVFHMIN32-NEXT: fmv.h.x fa4, a12122; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42123; ZVFHMIN32-NEXT: lw a1, 124(sp) # 4-byte Folded Reload2124; ZVFHMIN32-NEXT: fmv.h.x fa5, a12125; ZVFHMIN32-NEXT: sb a0, 248(sp)2126; ZVFHMIN32-NEXT: lh a0, 622(sp)2127; ZVFHMIN32-NEXT: lh a1, 366(sp)2128; ZVFHMIN32-NEXT: fmv.h.x fa4, t22129; ZVFHMIN32-NEXT: feq.h a4, fa5, fa42130; ZVFHMIN32-NEXT: fmv.h.x fa5, a02131; ZVFHMIN32-NEXT: fmv.h.x fa4, a12132; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42133; ZVFHMIN32-NEXT: lw a1, 108(sp) # 4-byte Folded Reload2134; ZVFHMIN32-NEXT: fmv.h.x fa5, a12135; ZVFHMIN32-NEXT: sb a0, 247(sp)2136; ZVFHMIN32-NEXT: lh a0, 620(sp)2137; ZVFHMIN32-NEXT: lh a1, 364(sp)2138; ZVFHMIN32-NEXT: fmv.h.x fa4, t12139; ZVFHMIN32-NEXT: feq.h a5, fa5, fa42140; ZVFHMIN32-NEXT: fmv.h.x fa5, a02141; ZVFHMIN32-NEXT: fmv.h.x fa4, a12142; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42143; ZVFHMIN32-NEXT: lw a1, 120(sp) # 4-byte Folded Reload2144; ZVFHMIN32-NEXT: fmv.h.x fa5, a12145; ZVFHMIN32-NEXT: sb a0, 246(sp)2146; ZVFHMIN32-NEXT: lh a0, 618(sp)2147; ZVFHMIN32-NEXT: lh a1, 362(sp)2148; ZVFHMIN32-NEXT: fmv.h.x fa4, t02149; ZVFHMIN32-NEXT: feq.h t0, fa5, fa42150; ZVFHMIN32-NEXT: fmv.h.x fa5, a02151; ZVFHMIN32-NEXT: fmv.h.x fa4, a12152; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42153; ZVFHMIN32-NEXT: fmv.h.x fa5, s22154; ZVFHMIN32-NEXT: sb a0, 245(sp)2155; ZVFHMIN32-NEXT: lh a0, 616(sp)2156; ZVFHMIN32-NEXT: lh a1, 360(sp)2157; ZVFHMIN32-NEXT: fmv.h.x fa4, a72158; ZVFHMIN32-NEXT: feq.h a7, fa5, fa42159; ZVFHMIN32-NEXT: fmv.h.x fa5, a02160; ZVFHMIN32-NEXT: fmv.h.x fa4, a12161; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42162; ZVFHMIN32-NEXT: fmv.h.x fa5, t52163; ZVFHMIN32-NEXT: sb a0, 244(sp)2164; ZVFHMIN32-NEXT: lh a0, 614(sp)2165; ZVFHMIN32-NEXT: lh a1, 358(sp)2166; ZVFHMIN32-NEXT: fmv.h.x fa4, a62167; ZVFHMIN32-NEXT: feq.h a6, fa5, fa42168; ZVFHMIN32-NEXT: fmv.h.x fa5, a02169; ZVFHMIN32-NEXT: fmv.h.x fa4, a12170; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42171; ZVFHMIN32-NEXT: fmv.h.x fa5, t62172; ZVFHMIN32-NEXT: vslidedown.vi v8, v24, 82173; ZVFHMIN32-NEXT: vmv.x.s a1, v82174; ZVFHMIN32-NEXT: fmv.h.x fa4, a12175; ZVFHMIN32-NEXT: sb a0, 243(sp)2176; ZVFHMIN32-NEXT: lh a0, 612(sp)2177; ZVFHMIN32-NEXT: lh a1, 356(sp)2178; ZVFHMIN32-NEXT: sb a5, 204(sp)2179; ZVFHMIN32-NEXT: sb a4, 205(sp)2180; ZVFHMIN32-NEXT: sb a2, 206(sp)2181; ZVFHMIN32-NEXT: sb a3, 207(sp)2182; ZVFHMIN32-NEXT: feq.h a2, fa5, fa42183; ZVFHMIN32-NEXT: sb a2, 200(sp)2184; ZVFHMIN32-NEXT: sb a6, 201(sp)2185; ZVFHMIN32-NEXT: sb a7, 202(sp)2186; ZVFHMIN32-NEXT: sb t0, 203(sp)2187; ZVFHMIN32-NEXT: li a2, 1282188; ZVFHMIN32-NEXT: fmv.h.x fa5, a02189; ZVFHMIN32-NEXT: fmv.h.x fa4, a12190; ZVFHMIN32-NEXT: feq.h a0, fa5, fa42191; ZVFHMIN32-NEXT: sb a0, 242(sp)2192; ZVFHMIN32-NEXT: addi a0, sp, 1282193; ZVFHMIN32-NEXT: vsetvli zero, a2, e8, m8, ta, ma2194; ZVFHMIN32-NEXT: vle8.v v8, (a0)2195; ZVFHMIN32-NEXT: vand.vi v8, v8, 12196; ZVFHMIN32-NEXT: vmsne.vi v0, v8, 02197; ZVFHMIN32-NEXT: addi sp, s0, -8962198; ZVFHMIN32-NEXT: .cfi_def_cfa sp, 8962199; ZVFHMIN32-NEXT: lw ra, 892(sp) # 4-byte Folded Reload2200; ZVFHMIN32-NEXT: lw s0, 888(sp) # 4-byte Folded Reload2201; ZVFHMIN32-NEXT: lw s2, 884(sp) # 4-byte Folded Reload2202; ZVFHMIN32-NEXT: lw s3, 880(sp) # 4-byte Folded Reload2203; ZVFHMIN32-NEXT: lw s4, 876(sp) # 4-byte Folded Reload2204; ZVFHMIN32-NEXT: lw s5, 872(sp) # 4-byte Folded Reload2205; ZVFHMIN32-NEXT: lw s6, 868(sp) # 4-byte Folded Reload2206; ZVFHMIN32-NEXT: lw s7, 864(sp) # 4-byte Folded Reload2207; ZVFHMIN32-NEXT: lw s8, 860(sp) # 4-byte Folded Reload2208; ZVFHMIN32-NEXT: lw s9, 856(sp) # 4-byte Folded Reload2209; ZVFHMIN32-NEXT: lw s10, 852(sp) # 4-byte Folded Reload2210; ZVFHMIN32-NEXT: lw s11, 848(sp) # 4-byte Folded Reload2211; ZVFHMIN32-NEXT: .cfi_restore ra2212; ZVFHMIN32-NEXT: .cfi_restore s02213; ZVFHMIN32-NEXT: .cfi_restore s22214; ZVFHMIN32-NEXT: .cfi_restore s32215; ZVFHMIN32-NEXT: .cfi_restore s42216; ZVFHMIN32-NEXT: .cfi_restore s52217; ZVFHMIN32-NEXT: .cfi_restore s62218; ZVFHMIN32-NEXT: .cfi_restore s72219; ZVFHMIN32-NEXT: .cfi_restore s82220; ZVFHMIN32-NEXT: .cfi_restore s92221; ZVFHMIN32-NEXT: .cfi_restore s102222; ZVFHMIN32-NEXT: .cfi_restore s112223; ZVFHMIN32-NEXT: addi sp, sp, 8962224; ZVFHMIN32-NEXT: .cfi_def_cfa_offset 02225; ZVFHMIN32-NEXT: ret2226;2227; ZVFHMIN64-LABEL: fcmp_oeq_vv_v128f16:2228; ZVFHMIN64: # %bb.0:2229; ZVFHMIN64-NEXT: addi sp, sp, -8962230; ZVFHMIN64-NEXT: .cfi_def_cfa_offset 8962231; ZVFHMIN64-NEXT: sd ra, 888(sp) # 8-byte Folded Spill2232; ZVFHMIN64-NEXT: sd s0, 880(sp) # 8-byte Folded Spill2233; ZVFHMIN64-NEXT: sd s2, 872(sp) # 8-byte Folded Spill2234; ZVFHMIN64-NEXT: sd s3, 864(sp) # 8-byte Folded Spill2235; ZVFHMIN64-NEXT: sd s4, 856(sp) # 8-byte Folded Spill2236; ZVFHMIN64-NEXT: sd s5, 848(sp) # 8-byte Folded Spill2237; ZVFHMIN64-NEXT: sd s6, 840(sp) # 8-byte Folded Spill2238; ZVFHMIN64-NEXT: sd s7, 832(sp) # 8-byte Folded Spill2239; ZVFHMIN64-NEXT: sd s8, 824(sp) # 8-byte Folded Spill2240; ZVFHMIN64-NEXT: sd s9, 816(sp) # 8-byte Folded Spill2241; ZVFHMIN64-NEXT: sd s10, 808(sp) # 8-byte Folded Spill2242; ZVFHMIN64-NEXT: sd s11, 800(sp) # 8-byte Folded Spill2243; ZVFHMIN64-NEXT: .cfi_offset ra, -82244; ZVFHMIN64-NEXT: .cfi_offset s0, -162245; ZVFHMIN64-NEXT: .cfi_offset s2, -242246; ZVFHMIN64-NEXT: .cfi_offset s3, -322247; ZVFHMIN64-NEXT: .cfi_offset s4, -402248; ZVFHMIN64-NEXT: .cfi_offset s5, -482249; ZVFHMIN64-NEXT: .cfi_offset s6, -562250; ZVFHMIN64-NEXT: .cfi_offset s7, -642251; ZVFHMIN64-NEXT: .cfi_offset s8, -722252; ZVFHMIN64-NEXT: .cfi_offset s9, -802253; ZVFHMIN64-NEXT: .cfi_offset s10, -882254; ZVFHMIN64-NEXT: .cfi_offset s11, -962255; ZVFHMIN64-NEXT: addi s0, sp, 8962256; ZVFHMIN64-NEXT: .cfi_def_cfa s0, 02257; ZVFHMIN64-NEXT: csrr a1, vlenb2258; ZVFHMIN64-NEXT: li a2, 292259; ZVFHMIN64-NEXT: mul a1, a1, a22260; ZVFHMIN64-NEXT: sub sp, sp, a12261; ZVFHMIN64-NEXT: andi sp, sp, -1282262; ZVFHMIN64-NEXT: addi a1, a0, 1282263; ZVFHMIN64-NEXT: li a2, 642264; ZVFHMIN64-NEXT: addi a3, sp, 6402265; ZVFHMIN64-NEXT: addi a4, sp, 3842266; ZVFHMIN64-NEXT: addi a5, sp, 5122267; ZVFHMIN64-NEXT: vsetvli zero, a2, e16, m8, ta, ma2268; ZVFHMIN64-NEXT: vle16.v v0, (a0)2269; ZVFHMIN64-NEXT: addi a0, sp, 2562270; ZVFHMIN64-NEXT: vle16.v v24, (a1)2271; ZVFHMIN64-NEXT: vse16.v v8, (a3)2272; ZVFHMIN64-NEXT: vse16.v v0, (a4)2273; ZVFHMIN64-NEXT: vse16.v v16, (a5)2274; ZVFHMIN64-NEXT: vse16.v v24, (a0)2275; ZVFHMIN64-NEXT: lh a0, 704(sp)2276; ZVFHMIN64-NEXT: lh a1, 448(sp)2277; ZVFHMIN64-NEXT: fmv.h.x fa5, a02278; ZVFHMIN64-NEXT: fmv.h.x fa4, a12279; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42280; ZVFHMIN64-NEXT: sb a0, 160(sp)2281; ZVFHMIN64-NEXT: lh a0, 702(sp)2282; ZVFHMIN64-NEXT: lh a1, 446(sp)2283; ZVFHMIN64-NEXT: fmv.h.x fa5, a02284; ZVFHMIN64-NEXT: fmv.h.x fa4, a12285; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42286; ZVFHMIN64-NEXT: sb a0, 159(sp)2287; ZVFHMIN64-NEXT: lh a0, 700(sp)2288; ZVFHMIN64-NEXT: lh a1, 444(sp)2289; ZVFHMIN64-NEXT: fmv.h.x fa5, a02290; ZVFHMIN64-NEXT: fmv.h.x fa4, a12291; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42292; ZVFHMIN64-NEXT: sb a0, 158(sp)2293; ZVFHMIN64-NEXT: lh a0, 698(sp)2294; ZVFHMIN64-NEXT: lh a1, 442(sp)2295; ZVFHMIN64-NEXT: fmv.h.x fa5, a02296; ZVFHMIN64-NEXT: fmv.h.x fa4, a12297; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42298; ZVFHMIN64-NEXT: sb a0, 157(sp)2299; ZVFHMIN64-NEXT: lh a0, 696(sp)2300; ZVFHMIN64-NEXT: lh a1, 440(sp)2301; ZVFHMIN64-NEXT: fmv.h.x fa5, a02302; ZVFHMIN64-NEXT: fmv.h.x fa4, a12303; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42304; ZVFHMIN64-NEXT: sb a0, 156(sp)2305; ZVFHMIN64-NEXT: lh a0, 694(sp)2306; ZVFHMIN64-NEXT: lh a1, 438(sp)2307; ZVFHMIN64-NEXT: fmv.h.x fa5, a02308; ZVFHMIN64-NEXT: fmv.h.x fa4, a12309; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42310; ZVFHMIN64-NEXT: sb a0, 155(sp)2311; ZVFHMIN64-NEXT: lh a0, 692(sp)2312; ZVFHMIN64-NEXT: lh a1, 436(sp)2313; ZVFHMIN64-NEXT: fmv.h.x fa5, a02314; ZVFHMIN64-NEXT: fmv.h.x fa4, a12315; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42316; ZVFHMIN64-NEXT: sb a0, 154(sp)2317; ZVFHMIN64-NEXT: lh a0, 690(sp)2318; ZVFHMIN64-NEXT: lh a1, 434(sp)2319; ZVFHMIN64-NEXT: fmv.h.x fa5, a02320; ZVFHMIN64-NEXT: fmv.h.x fa4, a12321; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42322; ZVFHMIN64-NEXT: sb a0, 153(sp)2323; ZVFHMIN64-NEXT: lh a0, 688(sp)2324; ZVFHMIN64-NEXT: lh a1, 432(sp)2325; ZVFHMIN64-NEXT: fmv.h.x fa5, a02326; ZVFHMIN64-NEXT: fmv.h.x fa4, a12327; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42328; ZVFHMIN64-NEXT: sb a0, 152(sp)2329; ZVFHMIN64-NEXT: lh a0, 686(sp)2330; ZVFHMIN64-NEXT: lh a1, 430(sp)2331; ZVFHMIN64-NEXT: fmv.h.x fa5, a02332; ZVFHMIN64-NEXT: fmv.h.x fa4, a12333; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42334; ZVFHMIN64-NEXT: sb a0, 151(sp)2335; ZVFHMIN64-NEXT: lh a0, 684(sp)2336; ZVFHMIN64-NEXT: lh a1, 428(sp)2337; ZVFHMIN64-NEXT: fmv.h.x fa5, a02338; ZVFHMIN64-NEXT: fmv.h.x fa4, a12339; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42340; ZVFHMIN64-NEXT: sb a0, 150(sp)2341; ZVFHMIN64-NEXT: lh a0, 682(sp)2342; ZVFHMIN64-NEXT: lh a1, 426(sp)2343; ZVFHMIN64-NEXT: fmv.h.x fa5, a02344; ZVFHMIN64-NEXT: fmv.h.x fa4, a12345; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42346; ZVFHMIN64-NEXT: sb a0, 149(sp)2347; ZVFHMIN64-NEXT: lh a0, 680(sp)2348; ZVFHMIN64-NEXT: lh a1, 424(sp)2349; ZVFHMIN64-NEXT: fmv.h.x fa5, a02350; ZVFHMIN64-NEXT: fmv.h.x fa4, a12351; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42352; ZVFHMIN64-NEXT: sb a0, 148(sp)2353; ZVFHMIN64-NEXT: lh a0, 678(sp)2354; ZVFHMIN64-NEXT: lh a1, 422(sp)2355; ZVFHMIN64-NEXT: fmv.h.x fa5, a02356; ZVFHMIN64-NEXT: fmv.h.x fa4, a12357; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42358; ZVFHMIN64-NEXT: sb a0, 147(sp)2359; ZVFHMIN64-NEXT: lh a0, 676(sp)2360; ZVFHMIN64-NEXT: lh a1, 420(sp)2361; ZVFHMIN64-NEXT: vmv.x.s a2, v82362; ZVFHMIN64-NEXT: fmv.h.x fa5, a02363; ZVFHMIN64-NEXT: fmv.h.x fa4, a12364; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42365; ZVFHMIN64-NEXT: sb a0, 146(sp)2366; ZVFHMIN64-NEXT: lh a0, 674(sp)2367; ZVFHMIN64-NEXT: lh a1, 418(sp)2368; ZVFHMIN64-NEXT: fmv.h.x fa5, a22369; ZVFHMIN64-NEXT: vmv.x.s a2, v02370; ZVFHMIN64-NEXT: fmv.h.x fa4, a02371; ZVFHMIN64-NEXT: fmv.h.x fa3, a12372; ZVFHMIN64-NEXT: feq.h a0, fa4, fa32373; ZVFHMIN64-NEXT: sb a0, 145(sp)2374; ZVFHMIN64-NEXT: lh a0, 672(sp)2375; ZVFHMIN64-NEXT: lh a1, 416(sp)2376; ZVFHMIN64-NEXT: fmv.h.x fa4, a22377; ZVFHMIN64-NEXT: feq.h a2, fa5, fa42378; ZVFHMIN64-NEXT: fmv.h.x fa5, a02379; ZVFHMIN64-NEXT: fmv.h.x fa4, a12380; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42381; ZVFHMIN64-NEXT: sb a2, 128(sp)2382; ZVFHMIN64-NEXT: sb a0, 144(sp)2383; ZVFHMIN64-NEXT: lh a0, 576(sp)2384; ZVFHMIN64-NEXT: lh a1, 320(sp)2385; ZVFHMIN64-NEXT: fmv.h.x fa5, a02386; ZVFHMIN64-NEXT: fmv.h.x fa4, a12387; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42388; ZVFHMIN64-NEXT: sb a0, 224(sp)2389; ZVFHMIN64-NEXT: lh a0, 574(sp)2390; ZVFHMIN64-NEXT: lh a1, 318(sp)2391; ZVFHMIN64-NEXT: fmv.h.x fa5, a02392; ZVFHMIN64-NEXT: fmv.h.x fa4, a12393; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42394; ZVFHMIN64-NEXT: sb a0, 223(sp)2395; ZVFHMIN64-NEXT: lh a0, 572(sp)2396; ZVFHMIN64-NEXT: lh a1, 316(sp)2397; ZVFHMIN64-NEXT: fmv.h.x fa5, a02398; ZVFHMIN64-NEXT: fmv.h.x fa4, a12399; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42400; ZVFHMIN64-NEXT: sb a0, 222(sp)2401; ZVFHMIN64-NEXT: lh a0, 570(sp)2402; ZVFHMIN64-NEXT: lh a1, 314(sp)2403; ZVFHMIN64-NEXT: fmv.h.x fa5, a02404; ZVFHMIN64-NEXT: fmv.h.x fa4, a12405; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42406; ZVFHMIN64-NEXT: sb a0, 221(sp)2407; ZVFHMIN64-NEXT: lh a0, 568(sp)2408; ZVFHMIN64-NEXT: lh a1, 312(sp)2409; ZVFHMIN64-NEXT: fmv.h.x fa5, a02410; ZVFHMIN64-NEXT: fmv.h.x fa4, a12411; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42412; ZVFHMIN64-NEXT: sb a0, 220(sp)2413; ZVFHMIN64-NEXT: lh a0, 566(sp)2414; ZVFHMIN64-NEXT: lh a1, 310(sp)2415; ZVFHMIN64-NEXT: fmv.h.x fa5, a02416; ZVFHMIN64-NEXT: fmv.h.x fa4, a12417; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42418; ZVFHMIN64-NEXT: sb a0, 219(sp)2419; ZVFHMIN64-NEXT: lh a0, 564(sp)2420; ZVFHMIN64-NEXT: lh a1, 308(sp)2421; ZVFHMIN64-NEXT: fmv.h.x fa5, a02422; ZVFHMIN64-NEXT: fmv.h.x fa4, a12423; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42424; ZVFHMIN64-NEXT: sb a0, 218(sp)2425; ZVFHMIN64-NEXT: lh a0, 562(sp)2426; ZVFHMIN64-NEXT: lh a1, 306(sp)2427; ZVFHMIN64-NEXT: vsetivli zero, 1, e16, m1, ta, ma2428; ZVFHMIN64-NEXT: vslidedown.vi v10, v8, 72429; ZVFHMIN64-NEXT: csrr a2, vlenb2430; ZVFHMIN64-NEXT: li a3, 282431; ZVFHMIN64-NEXT: mul a2, a2, a32432; ZVFHMIN64-NEXT: add a2, sp, a22433; ZVFHMIN64-NEXT: addi a2, a2, 8002434; ZVFHMIN64-NEXT: vs1r.v v10, (a2) # vscale x 8-byte Folded Spill2435; ZVFHMIN64-NEXT: vslidedown.vi v10, v8, 62436; ZVFHMIN64-NEXT: csrr a2, vlenb2437; ZVFHMIN64-NEXT: li a3, 272438; ZVFHMIN64-NEXT: mul a2, a2, a32439; ZVFHMIN64-NEXT: add a2, sp, a22440; ZVFHMIN64-NEXT: addi a2, a2, 8002441; ZVFHMIN64-NEXT: vs1r.v v10, (a2) # vscale x 8-byte Folded Spill2442; ZVFHMIN64-NEXT: vslidedown.vi v10, v8, 52443; ZVFHMIN64-NEXT: csrr a2, vlenb2444; ZVFHMIN64-NEXT: li a3, 262445; ZVFHMIN64-NEXT: mul a2, a2, a32446; ZVFHMIN64-NEXT: add a2, sp, a22447; ZVFHMIN64-NEXT: addi a2, a2, 8002448; ZVFHMIN64-NEXT: vs1r.v v10, (a2) # vscale x 8-byte Folded Spill2449; ZVFHMIN64-NEXT: vslidedown.vi v10, v8, 42450; ZVFHMIN64-NEXT: csrr a2, vlenb2451; ZVFHMIN64-NEXT: li a3, 252452; ZVFHMIN64-NEXT: mul a2, a2, a32453; ZVFHMIN64-NEXT: add a2, sp, a22454; ZVFHMIN64-NEXT: addi a2, a2, 8002455; ZVFHMIN64-NEXT: vs1r.v v10, (a2) # vscale x 8-byte Folded Spill2456; ZVFHMIN64-NEXT: vslidedown.vi v10, v8, 32457; ZVFHMIN64-NEXT: csrr a2, vlenb2458; ZVFHMIN64-NEXT: li a3, 242459; ZVFHMIN64-NEXT: mul a2, a2, a32460; ZVFHMIN64-NEXT: add a2, sp, a22461; ZVFHMIN64-NEXT: addi a2, a2, 8002462; ZVFHMIN64-NEXT: vs1r.v v10, (a2) # vscale x 8-byte Folded Spill2463; ZVFHMIN64-NEXT: vslidedown.vi v10, v8, 22464; ZVFHMIN64-NEXT: csrr a2, vlenb2465; ZVFHMIN64-NEXT: li a3, 232466; ZVFHMIN64-NEXT: mul a2, a2, a32467; ZVFHMIN64-NEXT: add a2, sp, a22468; ZVFHMIN64-NEXT: addi a2, a2, 8002469; ZVFHMIN64-NEXT: vs1r.v v10, (a2) # vscale x 8-byte Folded Spill2470; ZVFHMIN64-NEXT: vslidedown.vi v10, v8, 12471; ZVFHMIN64-NEXT: csrr a2, vlenb2472; ZVFHMIN64-NEXT: li a3, 222473; ZVFHMIN64-NEXT: mul a2, a2, a32474; ZVFHMIN64-NEXT: add a2, sp, a22475; ZVFHMIN64-NEXT: addi a2, a2, 8002476; ZVFHMIN64-NEXT: vs1r.v v10, (a2) # vscale x 8-byte Folded Spill2477; ZVFHMIN64-NEXT: vsetivli zero, 1, e16, m2, ta, ma2478; ZVFHMIN64-NEXT: vslidedown.vi v4, v8, 152479; ZVFHMIN64-NEXT: vslidedown.vi v10, v8, 142480; ZVFHMIN64-NEXT: csrr a2, vlenb2481; ZVFHMIN64-NEXT: add a2, sp, a22482; ZVFHMIN64-NEXT: addi a2, a2, 8002483; ZVFHMIN64-NEXT: vs2r.v v10, (a2) # vscale x 16-byte Folded Spill2484; ZVFHMIN64-NEXT: vslidedown.vi v2, v8, 132485; ZVFHMIN64-NEXT: vslidedown.vi v30, v8, 122486; ZVFHMIN64-NEXT: vslidedown.vi v28, v8, 112487; ZVFHMIN64-NEXT: vslidedown.vi v26, v8, 102488; ZVFHMIN64-NEXT: vslidedown.vi v22, v8, 92489; ZVFHMIN64-NEXT: vslidedown.vi v20, v8, 82490; ZVFHMIN64-NEXT: vmv.x.s a4, v162491; ZVFHMIN64-NEXT: fmv.h.x fa5, a02492; ZVFHMIN64-NEXT: fmv.h.x fa4, a12493; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42494; ZVFHMIN64-NEXT: sb a0, 217(sp)2495; ZVFHMIN64-NEXT: lh a0, 560(sp)2496; ZVFHMIN64-NEXT: lh a1, 304(sp)2497; ZVFHMIN64-NEXT: vsetivli zero, 1, e16, m1, ta, ma2498; ZVFHMIN64-NEXT: vslidedown.vi v21, v16, 72499; ZVFHMIN64-NEXT: vslidedown.vi v23, v16, 62500; ZVFHMIN64-NEXT: vslidedown.vi v29, v16, 52501; ZVFHMIN64-NEXT: vslidedown.vi v31, v16, 42502; ZVFHMIN64-NEXT: vslidedown.vi v8, v16, 32503; ZVFHMIN64-NEXT: addi a2, sp, 8002504; ZVFHMIN64-NEXT: vs1r.v v8, (a2) # vscale x 8-byte Folded Spill2505; ZVFHMIN64-NEXT: vslidedown.vi v27, v16, 22506; ZVFHMIN64-NEXT: vslidedown.vi v8, v16, 12507; ZVFHMIN64-NEXT: csrr a2, vlenb2508; ZVFHMIN64-NEXT: li a3, 192509; ZVFHMIN64-NEXT: mul a2, a2, a32510; ZVFHMIN64-NEXT: add a2, sp, a22511; ZVFHMIN64-NEXT: addi a2, a2, 8002512; ZVFHMIN64-NEXT: vs1r.v v8, (a2) # vscale x 8-byte Folded Spill2513; ZVFHMIN64-NEXT: vsetivli zero, 1, e16, m2, ta, ma2514; ZVFHMIN64-NEXT: vslidedown.vi v14, v16, 152515; ZVFHMIN64-NEXT: vslidedown.vi v12, v16, 142516; ZVFHMIN64-NEXT: vslidedown.vi v8, v16, 132517; ZVFHMIN64-NEXT: vslidedown.vi v18, v16, 122518; ZVFHMIN64-NEXT: vslidedown.vi v10, v16, 112519; ZVFHMIN64-NEXT: vslidedown.vi v6, v16, 102520; ZVFHMIN64-NEXT: csrr a2, vlenb2521; ZVFHMIN64-NEXT: li a3, 202522; ZVFHMIN64-NEXT: mul a2, a2, a32523; ZVFHMIN64-NEXT: add a2, sp, a22524; ZVFHMIN64-NEXT: addi a2, a2, 8002525; ZVFHMIN64-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill2526; ZVFHMIN64-NEXT: vslidedown.vi v6, v16, 92527; ZVFHMIN64-NEXT: csrr a2, vlenb2528; ZVFHMIN64-NEXT: slli a3, a2, 42529; ZVFHMIN64-NEXT: sub a2, a3, a22530; ZVFHMIN64-NEXT: add a2, sp, a22531; ZVFHMIN64-NEXT: addi a2, a2, 8002532; ZVFHMIN64-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill2533; ZVFHMIN64-NEXT: vslidedown.vi v16, v16, 82534; ZVFHMIN64-NEXT: csrr a2, vlenb2535; ZVFHMIN64-NEXT: li a3, 132536; ZVFHMIN64-NEXT: mul a2, a2, a32537; ZVFHMIN64-NEXT: add a2, sp, a22538; ZVFHMIN64-NEXT: addi a2, a2, 8002539; ZVFHMIN64-NEXT: vs2r.v v16, (a2) # vscale x 16-byte Folded Spill2540; ZVFHMIN64-NEXT: fmv.h.x fa5, a02541; ZVFHMIN64-NEXT: fmv.h.x fa4, a12542; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42543; ZVFHMIN64-NEXT: sb a0, 216(sp)2544; ZVFHMIN64-NEXT: lh a0, 558(sp)2545; ZVFHMIN64-NEXT: lh a1, 302(sp)2546; ZVFHMIN64-NEXT: vsetivli zero, 1, e16, m1, ta, ma2547; ZVFHMIN64-NEXT: vslidedown.vi v9, v0, 72548; ZVFHMIN64-NEXT: vslidedown.vi v19, v0, 62549; ZVFHMIN64-NEXT: vslidedown.vi v3, v0, 52550; ZVFHMIN64-NEXT: vslidedown.vi v13, v0, 42551; ZVFHMIN64-NEXT: vslidedown.vi v15, v0, 32552; ZVFHMIN64-NEXT: vslidedown.vi v16, v0, 22553; ZVFHMIN64-NEXT: vslidedown.vi v11, v0, 12554; ZVFHMIN64-NEXT: vsetivli zero, 1, e16, m2, ta, ma2555; ZVFHMIN64-NEXT: vslidedown.vi v6, v0, 152556; ZVFHMIN64-NEXT: csrr a2, vlenb2557; ZVFHMIN64-NEXT: slli a3, a2, 12558; ZVFHMIN64-NEXT: add a2, a3, a22559; ZVFHMIN64-NEXT: add a2, sp, a22560; ZVFHMIN64-NEXT: addi a2, a2, 8002561; ZVFHMIN64-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill2562; ZVFHMIN64-NEXT: vslidedown.vi v6, v0, 142563; ZVFHMIN64-NEXT: csrr a2, vlenb2564; ZVFHMIN64-NEXT: slli a3, a2, 32565; ZVFHMIN64-NEXT: sub a2, a3, a22566; ZVFHMIN64-NEXT: add a2, sp, a22567; ZVFHMIN64-NEXT: addi a2, a2, 8002568; ZVFHMIN64-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill2569; ZVFHMIN64-NEXT: vslidedown.vi v6, v0, 132570; ZVFHMIN64-NEXT: csrr a2, vlenb2571; ZVFHMIN64-NEXT: slli a3, a2, 22572; ZVFHMIN64-NEXT: add a2, a3, a22573; ZVFHMIN64-NEXT: add a2, sp, a22574; ZVFHMIN64-NEXT: addi a2, a2, 8002575; ZVFHMIN64-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill2576; ZVFHMIN64-NEXT: vslidedown.vi v6, v0, 122577; ZVFHMIN64-NEXT: csrr a2, vlenb2578; ZVFHMIN64-NEXT: li a3, 112579; ZVFHMIN64-NEXT: mul a2, a2, a32580; ZVFHMIN64-NEXT: add a2, sp, a22581; ZVFHMIN64-NEXT: addi a2, a2, 8002582; ZVFHMIN64-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill2583; ZVFHMIN64-NEXT: vslidedown.vi v6, v0, 112584; ZVFHMIN64-NEXT: csrr a2, vlenb2585; ZVFHMIN64-NEXT: slli a3, a2, 32586; ZVFHMIN64-NEXT: add a2, a3, a22587; ZVFHMIN64-NEXT: add a2, sp, a22588; ZVFHMIN64-NEXT: addi a2, a2, 8002589; ZVFHMIN64-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill2590; ZVFHMIN64-NEXT: vslidedown.vi v6, v0, 102591; ZVFHMIN64-NEXT: csrr a2, vlenb2592; ZVFHMIN64-NEXT: slli a3, a2, 42593; ZVFHMIN64-NEXT: add a2, a3, a22594; ZVFHMIN64-NEXT: add a2, sp, a22595; ZVFHMIN64-NEXT: addi a2, a2, 8002596; ZVFHMIN64-NEXT: vs2r.v v6, (a2) # vscale x 16-byte Folded Spill2597; ZVFHMIN64-NEXT: vslidedown.vi v6, v0, 92598; ZVFHMIN64-NEXT: vslidedown.vi v0, v0, 82599; ZVFHMIN64-NEXT: vmv.x.s t3, v42600; ZVFHMIN64-NEXT: fmv.h.x fa5, a02601; ZVFHMIN64-NEXT: fmv.h.x fa4, a12602; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42603; ZVFHMIN64-NEXT: sb a0, 215(sp)2604; ZVFHMIN64-NEXT: lh a0, 556(sp)2605; ZVFHMIN64-NEXT: lh a1, 300(sp)2606; ZVFHMIN64-NEXT: csrr a2, vlenb2607; ZVFHMIN64-NEXT: add a2, sp, a22608; ZVFHMIN64-NEXT: addi a2, a2, 8002609; ZVFHMIN64-NEXT: vl2r.v v4, (a2) # vscale x 16-byte Folded Reload2610; ZVFHMIN64-NEXT: vmv.x.s t4, v42611; ZVFHMIN64-NEXT: vmv.x.s t2, v22612; ZVFHMIN64-NEXT: fmv.h.x fa5, a02613; ZVFHMIN64-NEXT: fmv.h.x fa4, a12614; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42615; ZVFHMIN64-NEXT: sb a0, 214(sp)2616; ZVFHMIN64-NEXT: lh a0, 554(sp)2617; ZVFHMIN64-NEXT: lh a1, 298(sp)2618; ZVFHMIN64-NEXT: vmv.x.s t1, v302619; ZVFHMIN64-NEXT: vmv.x.s t0, v282620; ZVFHMIN64-NEXT: fmv.h.x fa5, a02621; ZVFHMIN64-NEXT: fmv.h.x fa4, a12622; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42623; ZVFHMIN64-NEXT: sb a0, 213(sp)2624; ZVFHMIN64-NEXT: lh a0, 552(sp)2625; ZVFHMIN64-NEXT: lh a1, 296(sp)2626; ZVFHMIN64-NEXT: vmv.x.s a7, v262627; ZVFHMIN64-NEXT: vmv.x.s a6, v222628; ZVFHMIN64-NEXT: fmv.h.x fa5, a02629; ZVFHMIN64-NEXT: fmv.h.x fa4, a12630; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42631; ZVFHMIN64-NEXT: sb a0, 212(sp)2632; ZVFHMIN64-NEXT: lh a0, 550(sp)2633; ZVFHMIN64-NEXT: lh a1, 294(sp)2634; ZVFHMIN64-NEXT: vmv.x.s a5, v202635; ZVFHMIN64-NEXT: vmv.x.s a2, v142636; ZVFHMIN64-NEXT: sd a2, 96(sp) # 8-byte Folded Spill2637; ZVFHMIN64-NEXT: fmv.h.x fa5, a02638; ZVFHMIN64-NEXT: fmv.h.x fa4, a12639; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42640; ZVFHMIN64-NEXT: sb a0, 211(sp)2641; ZVFHMIN64-NEXT: lh a1, 548(sp)2642; ZVFHMIN64-NEXT: lh t5, 292(sp)2643; ZVFHMIN64-NEXT: vmv.x.s a0, v122644; ZVFHMIN64-NEXT: sd a0, 104(sp) # 8-byte Folded Spill2645; ZVFHMIN64-NEXT: vmv.x.s a0, v82646; ZVFHMIN64-NEXT: sd a0, 120(sp) # 8-byte Folded Spill2647; ZVFHMIN64-NEXT: fmv.h.x fa5, a12648; ZVFHMIN64-NEXT: fmv.h.x fa4, t52649; ZVFHMIN64-NEXT: feq.h a1, fa5, fa42650; ZVFHMIN64-NEXT: sb a1, 210(sp)2651; ZVFHMIN64-NEXT: lh a1, 546(sp)2652; ZVFHMIN64-NEXT: lh t5, 290(sp)2653; ZVFHMIN64-NEXT: fmv.h.x fa5, a42654; ZVFHMIN64-NEXT: vmv.x.s a4, v242655; ZVFHMIN64-NEXT: fmv.h.x fa4, a12656; ZVFHMIN64-NEXT: fmv.h.x fa3, t52657; ZVFHMIN64-NEXT: feq.h a1, fa4, fa32658; ZVFHMIN64-NEXT: sb a1, 209(sp)2659; ZVFHMIN64-NEXT: lh a1, 544(sp)2660; ZVFHMIN64-NEXT: lh t5, 288(sp)2661; ZVFHMIN64-NEXT: fmv.h.x fa4, a42662; ZVFHMIN64-NEXT: feq.h a4, fa5, fa42663; ZVFHMIN64-NEXT: fmv.h.x fa5, a12664; ZVFHMIN64-NEXT: fmv.h.x fa4, t52665; ZVFHMIN64-NEXT: feq.h a1, fa5, fa42666; ZVFHMIN64-NEXT: sb a4, 192(sp)2667; ZVFHMIN64-NEXT: sb a1, 208(sp)2668; ZVFHMIN64-NEXT: lh t5, 738(sp)2669; ZVFHMIN64-NEXT: lh t6, 482(sp)2670; ZVFHMIN64-NEXT: vmv.x.s a0, v182671; ZVFHMIN64-NEXT: sd a0, 88(sp) # 8-byte Folded Spill2672; ZVFHMIN64-NEXT: vmv.x.s a0, v102673; ZVFHMIN64-NEXT: sd a0, 112(sp) # 8-byte Folded Spill2674; ZVFHMIN64-NEXT: fmv.h.x fa5, t52675; ZVFHMIN64-NEXT: fmv.h.x fa4, t62676; ZVFHMIN64-NEXT: feq.h t5, fa5, fa42677; ZVFHMIN64-NEXT: sb t5, 177(sp)2678; ZVFHMIN64-NEXT: lh t5, 736(sp)2679; ZVFHMIN64-NEXT: lh t6, 480(sp)2680; ZVFHMIN64-NEXT: csrr a0, vlenb2681; ZVFHMIN64-NEXT: li a1, 282682; ZVFHMIN64-NEXT: mul a0, a0, a12683; ZVFHMIN64-NEXT: add a0, sp, a02684; ZVFHMIN64-NEXT: lh s5, 800(a0) # 8-byte Folded Reload2685; ZVFHMIN64-NEXT: csrr a0, vlenb2686; ZVFHMIN64-NEXT: li a1, 272687; ZVFHMIN64-NEXT: mul a0, a0, a12688; ZVFHMIN64-NEXT: add a0, sp, a02689; ZVFHMIN64-NEXT: lh s6, 800(a0) # 8-byte Folded Reload2690; ZVFHMIN64-NEXT: fmv.h.x fa5, t52691; ZVFHMIN64-NEXT: fmv.h.x fa4, t62692; ZVFHMIN64-NEXT: feq.h t5, fa5, fa42693; ZVFHMIN64-NEXT: sb t5, 176(sp)2694; ZVFHMIN64-NEXT: lh t5, 734(sp)2695; ZVFHMIN64-NEXT: lh t6, 478(sp)2696; ZVFHMIN64-NEXT: csrr a0, vlenb2697; ZVFHMIN64-NEXT: li a1, 262698; ZVFHMIN64-NEXT: mul a0, a0, a12699; ZVFHMIN64-NEXT: add a0, sp, a02700; ZVFHMIN64-NEXT: lh s7, 800(a0) # 8-byte Folded Reload2701; ZVFHMIN64-NEXT: csrr a0, vlenb2702; ZVFHMIN64-NEXT: li a1, 252703; ZVFHMIN64-NEXT: mul a0, a0, a12704; ZVFHMIN64-NEXT: add a0, sp, a02705; ZVFHMIN64-NEXT: lh s8, 800(a0) # 8-byte Folded Reload2706; ZVFHMIN64-NEXT: fmv.h.x fa5, t52707; ZVFHMIN64-NEXT: fmv.h.x fa4, t62708; ZVFHMIN64-NEXT: feq.h t5, fa5, fa42709; ZVFHMIN64-NEXT: sb t5, 175(sp)2710; ZVFHMIN64-NEXT: lh t5, 732(sp)2711; ZVFHMIN64-NEXT: lh t6, 476(sp)2712; ZVFHMIN64-NEXT: csrr a0, vlenb2713; ZVFHMIN64-NEXT: li a1, 242714; ZVFHMIN64-NEXT: mul a0, a0, a12715; ZVFHMIN64-NEXT: add a0, sp, a02716; ZVFHMIN64-NEXT: lh s4, 800(a0) # 8-byte Folded Reload2717; ZVFHMIN64-NEXT: csrr a0, vlenb2718; ZVFHMIN64-NEXT: li a1, 232719; ZVFHMIN64-NEXT: mul a0, a0, a12720; ZVFHMIN64-NEXT: add a0, sp, a02721; ZVFHMIN64-NEXT: lh s3, 800(a0) # 8-byte Folded Reload2722; ZVFHMIN64-NEXT: fmv.h.x fa5, t52723; ZVFHMIN64-NEXT: fmv.h.x fa4, t62724; ZVFHMIN64-NEXT: feq.h t5, fa5, fa42725; ZVFHMIN64-NEXT: sb t5, 174(sp)2726; ZVFHMIN64-NEXT: lh t6, 730(sp)2727; ZVFHMIN64-NEXT: lh s9, 474(sp)2728; ZVFHMIN64-NEXT: csrr a0, vlenb2729; ZVFHMIN64-NEXT: li a1, 222730; ZVFHMIN64-NEXT: mul a0, a0, a12731; ZVFHMIN64-NEXT: add a0, sp, a02732; ZVFHMIN64-NEXT: lh s2, 800(a0) # 8-byte Folded Reload2733; ZVFHMIN64-NEXT: vmv.x.s t5, v212734; ZVFHMIN64-NEXT: fmv.h.x fa5, t62735; ZVFHMIN64-NEXT: fmv.h.x fa4, s92736; ZVFHMIN64-NEXT: feq.h t6, fa5, fa42737; ZVFHMIN64-NEXT: sb t6, 173(sp)2738; ZVFHMIN64-NEXT: lh s9, 728(sp)2739; ZVFHMIN64-NEXT: lh s10, 472(sp)2740; ZVFHMIN64-NEXT: vmv.x.s t6, v232741; ZVFHMIN64-NEXT: vmv.x.s ra, v92742; ZVFHMIN64-NEXT: fmv.h.x fa5, s92743; ZVFHMIN64-NEXT: fmv.h.x fa4, s102744; ZVFHMIN64-NEXT: feq.h s9, fa5, fa42745; ZVFHMIN64-NEXT: sb s9, 172(sp)2746; ZVFHMIN64-NEXT: lh s9, 726(sp)2747; ZVFHMIN64-NEXT: lh s10, 470(sp)2748; ZVFHMIN64-NEXT: vmv.x.s a2, v192749; ZVFHMIN64-NEXT: vmv.x.s a3, v32750; ZVFHMIN64-NEXT: fmv.h.x fa5, s92751; ZVFHMIN64-NEXT: fmv.h.x fa4, s102752; ZVFHMIN64-NEXT: feq.h s9, fa5, fa42753; ZVFHMIN64-NEXT: sb s9, 171(sp)2754; ZVFHMIN64-NEXT: lh s10, 724(sp)2755; ZVFHMIN64-NEXT: lh s11, 468(sp)2756; ZVFHMIN64-NEXT: vmv.x.s a4, v132757; ZVFHMIN64-NEXT: vmv.x.s s9, v152758; ZVFHMIN64-NEXT: fmv.h.x fa5, s102759; ZVFHMIN64-NEXT: fmv.h.x fa4, s112760; ZVFHMIN64-NEXT: feq.h s10, fa5, fa42761; ZVFHMIN64-NEXT: sb s10, 170(sp)2762; ZVFHMIN64-NEXT: lh a0, 722(sp)2763; ZVFHMIN64-NEXT: lh a1, 466(sp)2764; ZVFHMIN64-NEXT: vmv.x.s s10, v162765; ZVFHMIN64-NEXT: vmv.x.s s11, v112766; ZVFHMIN64-NEXT: fmv.h.x fa5, a02767; ZVFHMIN64-NEXT: fmv.h.x fa4, a12768; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42769; ZVFHMIN64-NEXT: sb a0, 169(sp)2770; ZVFHMIN64-NEXT: lh a0, 720(sp)2771; ZVFHMIN64-NEXT: lh a1, 464(sp)2772; ZVFHMIN64-NEXT: fmv.h.x fa5, s52773; ZVFHMIN64-NEXT: fmv.h.x fa4, s62774; ZVFHMIN64-NEXT: fmv.h.x fa3, a02775; ZVFHMIN64-NEXT: fmv.h.x fa2, a12776; ZVFHMIN64-NEXT: feq.h a0, fa3, fa22777; ZVFHMIN64-NEXT: sb a0, 168(sp)2778; ZVFHMIN64-NEXT: lh a0, 718(sp)2779; ZVFHMIN64-NEXT: lh a1, 462(sp)2780; ZVFHMIN64-NEXT: fmv.h.x fa3, s72781; ZVFHMIN64-NEXT: fmv.h.x fa2, s82782; ZVFHMIN64-NEXT: fmv.h.x fa1, a02783; ZVFHMIN64-NEXT: fmv.h.x fa0, a12784; ZVFHMIN64-NEXT: feq.h a0, fa1, fa02785; ZVFHMIN64-NEXT: fmv.h.x fa1, ra2786; ZVFHMIN64-NEXT: sb a0, 167(sp)2787; ZVFHMIN64-NEXT: lh a0, 716(sp)2788; ZVFHMIN64-NEXT: fmv.h.x fa0, a22789; ZVFHMIN64-NEXT: lh a1, 460(sp)2790; ZVFHMIN64-NEXT: feq.h s5, fa5, fa12791; ZVFHMIN64-NEXT: fmv.h.x fa5, a02792; ZVFHMIN64-NEXT: feq.h a0, fa4, fa02793; ZVFHMIN64-NEXT: fmv.h.x fa4, a12794; ZVFHMIN64-NEXT: feq.h a1, fa5, fa42795; ZVFHMIN64-NEXT: fmv.h.x fa5, s42796; ZVFHMIN64-NEXT: sb a1, 166(sp)2797; ZVFHMIN64-NEXT: lh a1, 714(sp)2798; ZVFHMIN64-NEXT: lh a2, 458(sp)2799; ZVFHMIN64-NEXT: fmv.h.x fa4, a32800; ZVFHMIN64-NEXT: feq.h a3, fa3, fa42801; ZVFHMIN64-NEXT: fmv.h.x fa4, a12802; ZVFHMIN64-NEXT: fmv.h.x fa3, a22803; ZVFHMIN64-NEXT: feq.h a1, fa4, fa32804; ZVFHMIN64-NEXT: fmv.h.x fa4, s32805; ZVFHMIN64-NEXT: sb a1, 165(sp)2806; ZVFHMIN64-NEXT: lh a1, 712(sp)2807; ZVFHMIN64-NEXT: lh a2, 456(sp)2808; ZVFHMIN64-NEXT: fmv.h.x fa3, a42809; ZVFHMIN64-NEXT: feq.h a4, fa2, fa32810; ZVFHMIN64-NEXT: fmv.h.x fa3, a12811; ZVFHMIN64-NEXT: fmv.h.x fa2, a22812; ZVFHMIN64-NEXT: feq.h a1, fa3, fa22813; ZVFHMIN64-NEXT: fmv.h.x fa3, s22814; ZVFHMIN64-NEXT: sb a1, 164(sp)2815; ZVFHMIN64-NEXT: lh a1, 710(sp)2816; ZVFHMIN64-NEXT: lh a2, 454(sp)2817; ZVFHMIN64-NEXT: fmv.h.x fa2, s92818; ZVFHMIN64-NEXT: feq.h s2, fa5, fa22819; ZVFHMIN64-NEXT: fmv.h.x fa5, a12820; ZVFHMIN64-NEXT: fmv.h.x fa2, a22821; ZVFHMIN64-NEXT: feq.h a1, fa5, fa22822; ZVFHMIN64-NEXT: fmv.h.x fa5, s102823; ZVFHMIN64-NEXT: fmv.h.x fa2, s112824; ZVFHMIN64-NEXT: sb a1, 163(sp)2825; ZVFHMIN64-NEXT: lh a1, 708(sp)2826; ZVFHMIN64-NEXT: lh a2, 452(sp)2827; ZVFHMIN64-NEXT: feq.h s3, fa4, fa52828; ZVFHMIN64-NEXT: feq.h s4, fa3, fa22829; ZVFHMIN64-NEXT: fmv.h.x fa5, a12830; ZVFHMIN64-NEXT: fmv.h.x fa4, a22831; ZVFHMIN64-NEXT: feq.h a1, fa5, fa42832; ZVFHMIN64-NEXT: sb a1, 162(sp)2833; ZVFHMIN64-NEXT: lh a1, 706(sp)2834; ZVFHMIN64-NEXT: lh a2, 450(sp)2835; ZVFHMIN64-NEXT: sb s4, 129(sp)2836; ZVFHMIN64-NEXT: sb s3, 130(sp)2837; ZVFHMIN64-NEXT: sb s2, 131(sp)2838; ZVFHMIN64-NEXT: sb a4, 132(sp)2839; ZVFHMIN64-NEXT: fmv.h.x fa5, a12840; ZVFHMIN64-NEXT: fmv.h.x fa4, a22841; ZVFHMIN64-NEXT: feq.h a1, fa5, fa42842; ZVFHMIN64-NEXT: sb a3, 133(sp)2843; ZVFHMIN64-NEXT: sb a0, 134(sp)2844; ZVFHMIN64-NEXT: sb s5, 135(sp)2845; ZVFHMIN64-NEXT: sb a1, 161(sp)2846; ZVFHMIN64-NEXT: lh a0, 610(sp)2847; ZVFHMIN64-NEXT: lh a1, 354(sp)2848; ZVFHMIN64-NEXT: vmv.x.s s6, v292849; ZVFHMIN64-NEXT: vmv.x.s s5, v312850; ZVFHMIN64-NEXT: fmv.h.x fa5, a02851; ZVFHMIN64-NEXT: fmv.h.x fa4, a12852; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42853; ZVFHMIN64-NEXT: sb a0, 241(sp)2854; ZVFHMIN64-NEXT: lh a0, 608(sp)2855; ZVFHMIN64-NEXT: lh a1, 352(sp)2856; ZVFHMIN64-NEXT: lh s4, 800(sp) # 8-byte Folded Reload2857; ZVFHMIN64-NEXT: vmv.x.s s3, v272858; ZVFHMIN64-NEXT: fmv.h.x fa5, a02859; ZVFHMIN64-NEXT: fmv.h.x fa4, a12860; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42861; ZVFHMIN64-NEXT: sb a0, 240(sp)2862; ZVFHMIN64-NEXT: lh a0, 606(sp)2863; ZVFHMIN64-NEXT: lh a1, 350(sp)2864; ZVFHMIN64-NEXT: csrr a2, vlenb2865; ZVFHMIN64-NEXT: li a3, 192866; ZVFHMIN64-NEXT: mul a2, a2, a32867; ZVFHMIN64-NEXT: add a2, sp, a22868; ZVFHMIN64-NEXT: lh s2, 800(a2) # 8-byte Folded Reload2869; ZVFHMIN64-NEXT: fmv.h.x fa5, t52870; ZVFHMIN64-NEXT: fmv.h.x fa4, a02871; ZVFHMIN64-NEXT: fmv.h.x fa3, a12872; ZVFHMIN64-NEXT: feq.h a0, fa4, fa32873; ZVFHMIN64-NEXT: sb a0, 239(sp)2874; ZVFHMIN64-NEXT: lh a0, 604(sp)2875; ZVFHMIN64-NEXT: lh a1, 348(sp)2876; ZVFHMIN64-NEXT: fmv.h.x fa4, t62877; ZVFHMIN64-NEXT: vsetivli zero, 1, e16, m1, ta, ma2878; ZVFHMIN64-NEXT: vslidedown.vi v8, v24, 72879; ZVFHMIN64-NEXT: fmv.h.x fa3, a02880; ZVFHMIN64-NEXT: fmv.h.x fa2, a12881; ZVFHMIN64-NEXT: feq.h a0, fa3, fa22882; ZVFHMIN64-NEXT: sb a0, 238(sp)2883; ZVFHMIN64-NEXT: lh a0, 602(sp)2884; ZVFHMIN64-NEXT: lh a1, 346(sp)2885; ZVFHMIN64-NEXT: vmv.x.s a2, v82886; ZVFHMIN64-NEXT: vslidedown.vi v8, v24, 62887; ZVFHMIN64-NEXT: fmv.h.x fa3, a02888; ZVFHMIN64-NEXT: fmv.h.x fa2, a12889; ZVFHMIN64-NEXT: feq.h a0, fa3, fa22890; ZVFHMIN64-NEXT: sb a0, 237(sp)2891; ZVFHMIN64-NEXT: lh a0, 600(sp)2892; ZVFHMIN64-NEXT: lh a1, 344(sp)2893; ZVFHMIN64-NEXT: vmv.x.s a3, v82894; ZVFHMIN64-NEXT: vslidedown.vi v8, v24, 52895; ZVFHMIN64-NEXT: fmv.h.x fa3, a02896; ZVFHMIN64-NEXT: fmv.h.x fa2, a12897; ZVFHMIN64-NEXT: feq.h a0, fa3, fa22898; ZVFHMIN64-NEXT: sb a0, 236(sp)2899; ZVFHMIN64-NEXT: lh a0, 598(sp)2900; ZVFHMIN64-NEXT: lh a1, 342(sp)2901; ZVFHMIN64-NEXT: vmv.x.s a4, v82902; ZVFHMIN64-NEXT: vslidedown.vi v8, v24, 42903; ZVFHMIN64-NEXT: fmv.h.x fa3, a02904; ZVFHMIN64-NEXT: fmv.h.x fa2, a12905; ZVFHMIN64-NEXT: feq.h a0, fa3, fa22906; ZVFHMIN64-NEXT: sb a0, 235(sp)2907; ZVFHMIN64-NEXT: lh a0, 596(sp)2908; ZVFHMIN64-NEXT: lh a1, 340(sp)2909; ZVFHMIN64-NEXT: vmv.x.s s8, v82910; ZVFHMIN64-NEXT: vslidedown.vi v8, v24, 32911; ZVFHMIN64-NEXT: fmv.h.x fa3, a02912; ZVFHMIN64-NEXT: fmv.h.x fa2, a12913; ZVFHMIN64-NEXT: feq.h a0, fa3, fa22914; ZVFHMIN64-NEXT: sb a0, 234(sp)2915; ZVFHMIN64-NEXT: lh a0, 594(sp)2916; ZVFHMIN64-NEXT: lh a1, 338(sp)2917; ZVFHMIN64-NEXT: vmv.x.s s9, v82918; ZVFHMIN64-NEXT: vslidedown.vi v8, v24, 22919; ZVFHMIN64-NEXT: fmv.h.x fa3, a02920; ZVFHMIN64-NEXT: fmv.h.x fa2, a12921; ZVFHMIN64-NEXT: feq.h a0, fa3, fa22922; ZVFHMIN64-NEXT: sb a0, 233(sp)2923; ZVFHMIN64-NEXT: lh a0, 592(sp)2924; ZVFHMIN64-NEXT: vmv.x.s a1, v82925; ZVFHMIN64-NEXT: lh t5, 336(sp)2926; ZVFHMIN64-NEXT: vslidedown.vi v8, v24, 12927; ZVFHMIN64-NEXT: fmv.h.x fa3, a02928; ZVFHMIN64-NEXT: vmv.x.s s7, v82929; ZVFHMIN64-NEXT: fmv.h.x fa2, t52930; ZVFHMIN64-NEXT: feq.h a0, fa3, fa22931; ZVFHMIN64-NEXT: fmv.h.x fa3, a22932; ZVFHMIN64-NEXT: sb a0, 232(sp)2933; ZVFHMIN64-NEXT: lh a0, 590(sp)2934; ZVFHMIN64-NEXT: fmv.h.x fa2, a32935; ZVFHMIN64-NEXT: lh a2, 334(sp)2936; ZVFHMIN64-NEXT: feq.h t5, fa5, fa32937; ZVFHMIN64-NEXT: fmv.h.x fa5, a02938; ZVFHMIN64-NEXT: feq.h t6, fa4, fa22939; ZVFHMIN64-NEXT: fmv.h.x fa4, a22940; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42941; ZVFHMIN64-NEXT: fmv.h.x fa5, s62942; ZVFHMIN64-NEXT: sb a0, 231(sp)2943; ZVFHMIN64-NEXT: lh a0, 588(sp)2944; ZVFHMIN64-NEXT: lh a2, 332(sp)2945; ZVFHMIN64-NEXT: fmv.h.x fa4, a42946; ZVFHMIN64-NEXT: feq.h a3, fa5, fa42947; ZVFHMIN64-NEXT: fmv.h.x fa5, a02948; ZVFHMIN64-NEXT: fmv.h.x fa4, a22949; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42950; ZVFHMIN64-NEXT: fmv.h.x fa5, s52951; ZVFHMIN64-NEXT: sb a0, 230(sp)2952; ZVFHMIN64-NEXT: lh a0, 586(sp)2953; ZVFHMIN64-NEXT: lh a2, 330(sp)2954; ZVFHMIN64-NEXT: fmv.h.x fa4, s82955; ZVFHMIN64-NEXT: feq.h a4, fa5, fa42956; ZVFHMIN64-NEXT: fmv.h.x fa5, a02957; ZVFHMIN64-NEXT: fmv.h.x fa4, a22958; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42959; ZVFHMIN64-NEXT: fmv.h.x fa5, s42960; ZVFHMIN64-NEXT: sb a0, 229(sp)2961; ZVFHMIN64-NEXT: lh a0, 584(sp)2962; ZVFHMIN64-NEXT: lh a2, 328(sp)2963; ZVFHMIN64-NEXT: fmv.h.x fa4, s92964; ZVFHMIN64-NEXT: feq.h s4, fa5, fa42965; ZVFHMIN64-NEXT: fmv.h.x fa5, a02966; ZVFHMIN64-NEXT: fmv.h.x fa4, a22967; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42968; ZVFHMIN64-NEXT: fmv.h.x fa5, s32969; ZVFHMIN64-NEXT: sb a0, 228(sp)2970; ZVFHMIN64-NEXT: lh a0, 582(sp)2971; ZVFHMIN64-NEXT: lh a2, 326(sp)2972; ZVFHMIN64-NEXT: fmv.h.x fa4, a12973; ZVFHMIN64-NEXT: feq.h a1, fa5, fa42974; ZVFHMIN64-NEXT: fmv.h.x fa5, a02975; ZVFHMIN64-NEXT: fmv.h.x fa4, a22976; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42977; ZVFHMIN64-NEXT: fmv.h.x fa5, s22978; ZVFHMIN64-NEXT: sb a0, 227(sp)2979; ZVFHMIN64-NEXT: lh a0, 580(sp)2980; ZVFHMIN64-NEXT: lh a2, 324(sp)2981; ZVFHMIN64-NEXT: fmv.h.x fa4, s72982; ZVFHMIN64-NEXT: feq.h s2, fa5, fa42983; ZVFHMIN64-NEXT: fmv.h.x fa5, a02984; ZVFHMIN64-NEXT: fmv.h.x fa4, a22985; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42986; ZVFHMIN64-NEXT: sb a0, 226(sp)2987; ZVFHMIN64-NEXT: lh a0, 578(sp)2988; ZVFHMIN64-NEXT: lh a2, 322(sp)2989; ZVFHMIN64-NEXT: sb s2, 193(sp)2990; ZVFHMIN64-NEXT: sb a1, 194(sp)2991; ZVFHMIN64-NEXT: sb s4, 195(sp)2992; ZVFHMIN64-NEXT: sb a4, 196(sp)2993; ZVFHMIN64-NEXT: fmv.h.x fa5, a02994; ZVFHMIN64-NEXT: fmv.h.x fa4, a22995; ZVFHMIN64-NEXT: feq.h a0, fa5, fa42996; ZVFHMIN64-NEXT: sb a3, 197(sp)2997; ZVFHMIN64-NEXT: sb t6, 198(sp)2998; ZVFHMIN64-NEXT: sb t5, 199(sp)2999; ZVFHMIN64-NEXT: sb a0, 225(sp)3000; ZVFHMIN64-NEXT: lh a0, 766(sp)3001; ZVFHMIN64-NEXT: lh a1, 510(sp)3002; ZVFHMIN64-NEXT: csrr a2, vlenb3003; ZVFHMIN64-NEXT: li a3, 203004; ZVFHMIN64-NEXT: mul a2, a2, a33005; ZVFHMIN64-NEXT: add a2, sp, a23006; ZVFHMIN64-NEXT: addi a2, a2, 8003007; ZVFHMIN64-NEXT: vl2r.v v8, (a2) # vscale x 16-byte Folded Reload3008; ZVFHMIN64-NEXT: vmv.x.s s2, v83009; ZVFHMIN64-NEXT: csrr a2, vlenb3010; ZVFHMIN64-NEXT: slli a3, a2, 43011; ZVFHMIN64-NEXT: sub a2, a3, a23012; ZVFHMIN64-NEXT: add a2, sp, a23013; ZVFHMIN64-NEXT: addi a2, a2, 8003014; ZVFHMIN64-NEXT: vl2r.v v8, (a2) # vscale x 16-byte Folded Reload3015; ZVFHMIN64-NEXT: vmv.x.s t5, v83016; ZVFHMIN64-NEXT: fmv.h.x fa5, a03017; ZVFHMIN64-NEXT: fmv.h.x fa4, a13018; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43019; ZVFHMIN64-NEXT: sb a0, 191(sp)3020; ZVFHMIN64-NEXT: lh a0, 764(sp)3021; ZVFHMIN64-NEXT: lh a1, 508(sp)3022; ZVFHMIN64-NEXT: csrr a2, vlenb3023; ZVFHMIN64-NEXT: li a3, 133024; ZVFHMIN64-NEXT: mul a2, a2, a33025; ZVFHMIN64-NEXT: add a2, sp, a23026; ZVFHMIN64-NEXT: addi a2, a2, 8003027; ZVFHMIN64-NEXT: vl2r.v v8, (a2) # vscale x 16-byte Folded Reload3028; ZVFHMIN64-NEXT: vmv.x.s t6, v83029; ZVFHMIN64-NEXT: csrr a2, vlenb3030; ZVFHMIN64-NEXT: slli a3, a2, 13031; ZVFHMIN64-NEXT: add a2, a3, a23032; ZVFHMIN64-NEXT: add a2, sp, a23033; ZVFHMIN64-NEXT: addi a2, a2, 8003034; ZVFHMIN64-NEXT: vl2r.v v8, (a2) # vscale x 16-byte Folded Reload3035; ZVFHMIN64-NEXT: vmv.x.s a2, v83036; ZVFHMIN64-NEXT: fmv.h.x fa5, a03037; ZVFHMIN64-NEXT: fmv.h.x fa4, a13038; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43039; ZVFHMIN64-NEXT: sb a0, 190(sp)3040; ZVFHMIN64-NEXT: lh a0, 762(sp)3041; ZVFHMIN64-NEXT: lh a1, 506(sp)3042; ZVFHMIN64-NEXT: csrr a3, vlenb3043; ZVFHMIN64-NEXT: slli a4, a3, 33044; ZVFHMIN64-NEXT: sub a3, a4, a33045; ZVFHMIN64-NEXT: add a3, sp, a33046; ZVFHMIN64-NEXT: addi a3, a3, 8003047; ZVFHMIN64-NEXT: vl2r.v v8, (a3) # vscale x 16-byte Folded Reload3048; ZVFHMIN64-NEXT: vmv.x.s a3, v83049; ZVFHMIN64-NEXT: csrr a4, vlenb3050; ZVFHMIN64-NEXT: slli s3, a4, 23051; ZVFHMIN64-NEXT: add a4, s3, a43052; ZVFHMIN64-NEXT: add a4, sp, a43053; ZVFHMIN64-NEXT: addi a4, a4, 8003054; ZVFHMIN64-NEXT: vl2r.v v8, (a4) # vscale x 16-byte Folded Reload3055; ZVFHMIN64-NEXT: vmv.x.s a4, v83056; ZVFHMIN64-NEXT: fmv.h.x fa5, a03057; ZVFHMIN64-NEXT: fmv.h.x fa4, a13058; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43059; ZVFHMIN64-NEXT: sb a0, 189(sp)3060; ZVFHMIN64-NEXT: lh a0, 760(sp)3061; ZVFHMIN64-NEXT: lh a1, 504(sp)3062; ZVFHMIN64-NEXT: csrr s3, vlenb3063; ZVFHMIN64-NEXT: li s4, 113064; ZVFHMIN64-NEXT: mul s3, s3, s43065; ZVFHMIN64-NEXT: add s3, sp, s33066; ZVFHMIN64-NEXT: addi s3, s3, 8003067; ZVFHMIN64-NEXT: vl2r.v v8, (s3) # vscale x 16-byte Folded Reload3068; ZVFHMIN64-NEXT: vmv.x.s s6, v83069; ZVFHMIN64-NEXT: csrr s3, vlenb3070; ZVFHMIN64-NEXT: slli s4, s3, 33071; ZVFHMIN64-NEXT: add s3, s4, s33072; ZVFHMIN64-NEXT: add s3, sp, s33073; ZVFHMIN64-NEXT: addi s3, s3, 8003074; ZVFHMIN64-NEXT: vl2r.v v8, (s3) # vscale x 16-byte Folded Reload3075; ZVFHMIN64-NEXT: vmv.x.s s4, v83076; ZVFHMIN64-NEXT: fmv.h.x fa5, a03077; ZVFHMIN64-NEXT: fmv.h.x fa4, a13078; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43079; ZVFHMIN64-NEXT: sb a0, 188(sp)3080; ZVFHMIN64-NEXT: lh a0, 758(sp)3081; ZVFHMIN64-NEXT: lh a1, 502(sp)3082; ZVFHMIN64-NEXT: csrr s3, vlenb3083; ZVFHMIN64-NEXT: slli s5, s3, 43084; ZVFHMIN64-NEXT: add s3, s5, s33085; ZVFHMIN64-NEXT: add s3, sp, s33086; ZVFHMIN64-NEXT: addi s3, s3, 8003087; ZVFHMIN64-NEXT: vl2r.v v8, (s3) # vscale x 16-byte Folded Reload3088; ZVFHMIN64-NEXT: vmv.x.s s5, v83089; ZVFHMIN64-NEXT: vmv.x.s s3, v63090; ZVFHMIN64-NEXT: fmv.h.x fa5, a03091; ZVFHMIN64-NEXT: fmv.h.x fa4, a13092; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43093; ZVFHMIN64-NEXT: fmv.h.x fa5, t33094; ZVFHMIN64-NEXT: sb a0, 187(sp)3095; ZVFHMIN64-NEXT: lh a0, 756(sp)3096; ZVFHMIN64-NEXT: lh a1, 500(sp)3097; ZVFHMIN64-NEXT: fmv.h.x fa4, a23098; ZVFHMIN64-NEXT: feq.h t3, fa5, fa43099; ZVFHMIN64-NEXT: fmv.h.x fa5, a03100; ZVFHMIN64-NEXT: fmv.h.x fa4, a13101; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43102; ZVFHMIN64-NEXT: fmv.h.x fa5, t43103; ZVFHMIN64-NEXT: sb a0, 186(sp)3104; ZVFHMIN64-NEXT: lh a0, 754(sp)3105; ZVFHMIN64-NEXT: lh a1, 498(sp)3106; ZVFHMIN64-NEXT: fmv.h.x fa4, a33107; ZVFHMIN64-NEXT: feq.h t4, fa5, fa43108; ZVFHMIN64-NEXT: fmv.h.x fa5, a03109; ZVFHMIN64-NEXT: fmv.h.x fa4, a13110; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43111; ZVFHMIN64-NEXT: fmv.h.x fa5, t23112; ZVFHMIN64-NEXT: sb a0, 185(sp)3113; ZVFHMIN64-NEXT: lh a0, 752(sp)3114; ZVFHMIN64-NEXT: lh a1, 496(sp)3115; ZVFHMIN64-NEXT: fmv.h.x fa4, a43116; ZVFHMIN64-NEXT: feq.h t2, fa5, fa43117; ZVFHMIN64-NEXT: fmv.h.x fa5, a03118; ZVFHMIN64-NEXT: fmv.h.x fa4, a13119; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43120; ZVFHMIN64-NEXT: fmv.h.x fa5, t13121; ZVFHMIN64-NEXT: sb a0, 184(sp)3122; ZVFHMIN64-NEXT: lh a0, 750(sp)3123; ZVFHMIN64-NEXT: lh a1, 494(sp)3124; ZVFHMIN64-NEXT: fmv.h.x fa4, s63125; ZVFHMIN64-NEXT: feq.h a2, fa5, fa43126; ZVFHMIN64-NEXT: fmv.h.x fa5, a03127; ZVFHMIN64-NEXT: fmv.h.x fa4, a13128; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43129; ZVFHMIN64-NEXT: fmv.h.x fa5, t03130; ZVFHMIN64-NEXT: sb a0, 183(sp)3131; ZVFHMIN64-NEXT: lh a0, 748(sp)3132; ZVFHMIN64-NEXT: lh a1, 492(sp)3133; ZVFHMIN64-NEXT: fmv.h.x fa4, s43134; ZVFHMIN64-NEXT: feq.h a3, fa5, fa43135; ZVFHMIN64-NEXT: fmv.h.x fa5, a03136; ZVFHMIN64-NEXT: fmv.h.x fa4, a13137; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43138; ZVFHMIN64-NEXT: fmv.h.x fa5, a73139; ZVFHMIN64-NEXT: sb a0, 182(sp)3140; ZVFHMIN64-NEXT: lh a0, 746(sp)3141; ZVFHMIN64-NEXT: lh a1, 490(sp)3142; ZVFHMIN64-NEXT: fmv.h.x fa4, s53143; ZVFHMIN64-NEXT: feq.h a4, fa5, fa43144; ZVFHMIN64-NEXT: fmv.h.x fa5, a03145; ZVFHMIN64-NEXT: fmv.h.x fa4, a13146; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43147; ZVFHMIN64-NEXT: fmv.h.x fa5, a63148; ZVFHMIN64-NEXT: sb a0, 181(sp)3149; ZVFHMIN64-NEXT: lh a0, 744(sp)3150; ZVFHMIN64-NEXT: lh a1, 488(sp)3151; ZVFHMIN64-NEXT: fmv.h.x fa4, s33152; ZVFHMIN64-NEXT: feq.h a6, fa5, fa43153; ZVFHMIN64-NEXT: fmv.h.x fa5, a03154; ZVFHMIN64-NEXT: fmv.h.x fa4, a13155; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43156; ZVFHMIN64-NEXT: fmv.h.x fa5, a53157; ZVFHMIN64-NEXT: vmv.x.s a1, v03158; ZVFHMIN64-NEXT: vsetivli zero, 1, e16, m2, ta, ma3159; ZVFHMIN64-NEXT: vslidedown.vi v8, v24, 153160; ZVFHMIN64-NEXT: vmv.x.s a5, v83161; ZVFHMIN64-NEXT: sb a0, 180(sp)3162; ZVFHMIN64-NEXT: lh a0, 742(sp)3163; ZVFHMIN64-NEXT: lh a7, 486(sp)3164; ZVFHMIN64-NEXT: fmv.h.x fa4, a13165; ZVFHMIN64-NEXT: feq.h a1, fa5, fa43166; ZVFHMIN64-NEXT: fmv.h.x fa5, a03167; ZVFHMIN64-NEXT: fmv.h.x fa4, a73168; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43169; ZVFHMIN64-NEXT: sb a0, 179(sp)3170; ZVFHMIN64-NEXT: lh a0, 740(sp)3171; ZVFHMIN64-NEXT: lh a7, 484(sp)3172; ZVFHMIN64-NEXT: sb a2, 140(sp)3173; ZVFHMIN64-NEXT: sb t2, 141(sp)3174; ZVFHMIN64-NEXT: sb t4, 142(sp)3175; ZVFHMIN64-NEXT: sb t3, 143(sp)3176; ZVFHMIN64-NEXT: sb a1, 136(sp)3177; ZVFHMIN64-NEXT: sb a6, 137(sp)3178; ZVFHMIN64-NEXT: sb a4, 138(sp)3179; ZVFHMIN64-NEXT: sb a3, 139(sp)3180; ZVFHMIN64-NEXT: fmv.h.x fa5, a03181; ZVFHMIN64-NEXT: fmv.h.x fa4, a73182; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43183; ZVFHMIN64-NEXT: sb a0, 178(sp)3184; ZVFHMIN64-NEXT: lh a0, 638(sp)3185; ZVFHMIN64-NEXT: lh a1, 382(sp)3186; ZVFHMIN64-NEXT: vslidedown.vi v8, v24, 143187; ZVFHMIN64-NEXT: vmv.x.s t3, v83188; ZVFHMIN64-NEXT: fmv.h.x fa5, a03189; ZVFHMIN64-NEXT: fmv.h.x fa4, a13190; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43191; ZVFHMIN64-NEXT: sb a0, 255(sp)3192; ZVFHMIN64-NEXT: lh a0, 636(sp)3193; ZVFHMIN64-NEXT: lh a1, 380(sp)3194; ZVFHMIN64-NEXT: vslidedown.vi v8, v24, 133195; ZVFHMIN64-NEXT: vmv.x.s t2, v83196; ZVFHMIN64-NEXT: fmv.h.x fa5, a03197; ZVFHMIN64-NEXT: fmv.h.x fa4, a13198; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43199; ZVFHMIN64-NEXT: sb a0, 254(sp)3200; ZVFHMIN64-NEXT: lh a0, 634(sp)3201; ZVFHMIN64-NEXT: lh a1, 378(sp)3202; ZVFHMIN64-NEXT: vslidedown.vi v8, v24, 123203; ZVFHMIN64-NEXT: vmv.x.s t1, v83204; ZVFHMIN64-NEXT: fmv.h.x fa5, a03205; ZVFHMIN64-NEXT: fmv.h.x fa4, a13206; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43207; ZVFHMIN64-NEXT: sb a0, 253(sp)3208; ZVFHMIN64-NEXT: lh a0, 632(sp)3209; ZVFHMIN64-NEXT: lh a1, 376(sp)3210; ZVFHMIN64-NEXT: vslidedown.vi v8, v24, 113211; ZVFHMIN64-NEXT: vmv.x.s t0, v83212; ZVFHMIN64-NEXT: fmv.h.x fa5, a03213; ZVFHMIN64-NEXT: fmv.h.x fa4, a13214; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43215; ZVFHMIN64-NEXT: sb a0, 252(sp)3216; ZVFHMIN64-NEXT: lh a0, 630(sp)3217; ZVFHMIN64-NEXT: lh a1, 374(sp)3218; ZVFHMIN64-NEXT: vslidedown.vi v8, v24, 103219; ZVFHMIN64-NEXT: vmv.x.s a7, v83220; ZVFHMIN64-NEXT: fmv.h.x fa5, a03221; ZVFHMIN64-NEXT: fmv.h.x fa4, a13222; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43223; ZVFHMIN64-NEXT: sb a0, 251(sp)3224; ZVFHMIN64-NEXT: lh a0, 628(sp)3225; ZVFHMIN64-NEXT: lh a1, 372(sp)3226; ZVFHMIN64-NEXT: vslidedown.vi v8, v24, 93227; ZVFHMIN64-NEXT: vmv.x.s a6, v83228; ZVFHMIN64-NEXT: fmv.h.x fa5, a03229; ZVFHMIN64-NEXT: fmv.h.x fa4, a13230; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43231; ZVFHMIN64-NEXT: ld a1, 96(sp) # 8-byte Folded Reload3232; ZVFHMIN64-NEXT: fmv.h.x fa5, a13233; ZVFHMIN64-NEXT: sb a0, 250(sp)3234; ZVFHMIN64-NEXT: lh a0, 626(sp)3235; ZVFHMIN64-NEXT: lh a1, 370(sp)3236; ZVFHMIN64-NEXT: fmv.h.x fa4, a53237; ZVFHMIN64-NEXT: feq.h a3, fa5, fa43238; ZVFHMIN64-NEXT: fmv.h.x fa5, a03239; ZVFHMIN64-NEXT: fmv.h.x fa4, a13240; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43241; ZVFHMIN64-NEXT: ld a1, 104(sp) # 8-byte Folded Reload3242; ZVFHMIN64-NEXT: fmv.h.x fa5, a13243; ZVFHMIN64-NEXT: sb a0, 249(sp)3244; ZVFHMIN64-NEXT: lh a0, 624(sp)3245; ZVFHMIN64-NEXT: lh a1, 368(sp)3246; ZVFHMIN64-NEXT: fmv.h.x fa4, t33247; ZVFHMIN64-NEXT: feq.h a2, fa5, fa43248; ZVFHMIN64-NEXT: fmv.h.x fa5, a03249; ZVFHMIN64-NEXT: fmv.h.x fa4, a13250; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43251; ZVFHMIN64-NEXT: ld a1, 120(sp) # 8-byte Folded Reload3252; ZVFHMIN64-NEXT: fmv.h.x fa5, a13253; ZVFHMIN64-NEXT: sb a0, 248(sp)3254; ZVFHMIN64-NEXT: lh a0, 622(sp)3255; ZVFHMIN64-NEXT: lh a1, 366(sp)3256; ZVFHMIN64-NEXT: fmv.h.x fa4, t23257; ZVFHMIN64-NEXT: feq.h a4, fa5, fa43258; ZVFHMIN64-NEXT: fmv.h.x fa5, a03259; ZVFHMIN64-NEXT: fmv.h.x fa4, a13260; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43261; ZVFHMIN64-NEXT: ld a1, 88(sp) # 8-byte Folded Reload3262; ZVFHMIN64-NEXT: fmv.h.x fa5, a13263; ZVFHMIN64-NEXT: sb a0, 247(sp)3264; ZVFHMIN64-NEXT: lh a0, 620(sp)3265; ZVFHMIN64-NEXT: lh a1, 364(sp)3266; ZVFHMIN64-NEXT: fmv.h.x fa4, t13267; ZVFHMIN64-NEXT: feq.h a5, fa5, fa43268; ZVFHMIN64-NEXT: fmv.h.x fa5, a03269; ZVFHMIN64-NEXT: fmv.h.x fa4, a13270; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43271; ZVFHMIN64-NEXT: ld a1, 112(sp) # 8-byte Folded Reload3272; ZVFHMIN64-NEXT: fmv.h.x fa5, a13273; ZVFHMIN64-NEXT: sb a0, 246(sp)3274; ZVFHMIN64-NEXT: lh a0, 618(sp)3275; ZVFHMIN64-NEXT: lh a1, 362(sp)3276; ZVFHMIN64-NEXT: fmv.h.x fa4, t03277; ZVFHMIN64-NEXT: feq.h t0, fa5, fa43278; ZVFHMIN64-NEXT: fmv.h.x fa5, a03279; ZVFHMIN64-NEXT: fmv.h.x fa4, a13280; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43281; ZVFHMIN64-NEXT: fmv.h.x fa5, s23282; ZVFHMIN64-NEXT: sb a0, 245(sp)3283; ZVFHMIN64-NEXT: lh a0, 616(sp)3284; ZVFHMIN64-NEXT: lh a1, 360(sp)3285; ZVFHMIN64-NEXT: fmv.h.x fa4, a73286; ZVFHMIN64-NEXT: feq.h a7, fa5, fa43287; ZVFHMIN64-NEXT: fmv.h.x fa5, a03288; ZVFHMIN64-NEXT: fmv.h.x fa4, a13289; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43290; ZVFHMIN64-NEXT: fmv.h.x fa5, t53291; ZVFHMIN64-NEXT: sb a0, 244(sp)3292; ZVFHMIN64-NEXT: lh a0, 614(sp)3293; ZVFHMIN64-NEXT: lh a1, 358(sp)3294; ZVFHMIN64-NEXT: fmv.h.x fa4, a63295; ZVFHMIN64-NEXT: feq.h a6, fa5, fa43296; ZVFHMIN64-NEXT: fmv.h.x fa5, a03297; ZVFHMIN64-NEXT: fmv.h.x fa4, a13298; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43299; ZVFHMIN64-NEXT: fmv.h.x fa5, t63300; ZVFHMIN64-NEXT: vslidedown.vi v8, v24, 83301; ZVFHMIN64-NEXT: vmv.x.s a1, v83302; ZVFHMIN64-NEXT: fmv.h.x fa4, a13303; ZVFHMIN64-NEXT: sb a0, 243(sp)3304; ZVFHMIN64-NEXT: lh a0, 612(sp)3305; ZVFHMIN64-NEXT: lh a1, 356(sp)3306; ZVFHMIN64-NEXT: sb a5, 204(sp)3307; ZVFHMIN64-NEXT: sb a4, 205(sp)3308; ZVFHMIN64-NEXT: sb a2, 206(sp)3309; ZVFHMIN64-NEXT: sb a3, 207(sp)3310; ZVFHMIN64-NEXT: feq.h a2, fa5, fa43311; ZVFHMIN64-NEXT: sb a2, 200(sp)3312; ZVFHMIN64-NEXT: sb a6, 201(sp)3313; ZVFHMIN64-NEXT: sb a7, 202(sp)3314; ZVFHMIN64-NEXT: sb t0, 203(sp)3315; ZVFHMIN64-NEXT: li a2, 1283316; ZVFHMIN64-NEXT: fmv.h.x fa5, a03317; ZVFHMIN64-NEXT: fmv.h.x fa4, a13318; ZVFHMIN64-NEXT: feq.h a0, fa5, fa43319; ZVFHMIN64-NEXT: sb a0, 242(sp)3320; ZVFHMIN64-NEXT: addi a0, sp, 1283321; ZVFHMIN64-NEXT: vsetvli zero, a2, e8, m8, ta, ma3322; ZVFHMIN64-NEXT: vle8.v v8, (a0)3323; ZVFHMIN64-NEXT: vand.vi v8, v8, 13324; ZVFHMIN64-NEXT: vmsne.vi v0, v8, 03325; ZVFHMIN64-NEXT: addi sp, s0, -8963326; ZVFHMIN64-NEXT: .cfi_def_cfa sp, 8963327; ZVFHMIN64-NEXT: ld ra, 888(sp) # 8-byte Folded Reload3328; ZVFHMIN64-NEXT: ld s0, 880(sp) # 8-byte Folded Reload3329; ZVFHMIN64-NEXT: ld s2, 872(sp) # 8-byte Folded Reload3330; ZVFHMIN64-NEXT: ld s3, 864(sp) # 8-byte Folded Reload3331; ZVFHMIN64-NEXT: ld s4, 856(sp) # 8-byte Folded Reload3332; ZVFHMIN64-NEXT: ld s5, 848(sp) # 8-byte Folded Reload3333; ZVFHMIN64-NEXT: ld s6, 840(sp) # 8-byte Folded Reload3334; ZVFHMIN64-NEXT: ld s7, 832(sp) # 8-byte Folded Reload3335; ZVFHMIN64-NEXT: ld s8, 824(sp) # 8-byte Folded Reload3336; ZVFHMIN64-NEXT: ld s9, 816(sp) # 8-byte Folded Reload3337; ZVFHMIN64-NEXT: ld s10, 808(sp) # 8-byte Folded Reload3338; ZVFHMIN64-NEXT: ld s11, 800(sp) # 8-byte Folded Reload3339; ZVFHMIN64-NEXT: .cfi_restore ra3340; ZVFHMIN64-NEXT: .cfi_restore s03341; ZVFHMIN64-NEXT: .cfi_restore s23342; ZVFHMIN64-NEXT: .cfi_restore s33343; ZVFHMIN64-NEXT: .cfi_restore s43344; ZVFHMIN64-NEXT: .cfi_restore s53345; ZVFHMIN64-NEXT: .cfi_restore s63346; ZVFHMIN64-NEXT: .cfi_restore s73347; ZVFHMIN64-NEXT: .cfi_restore s83348; ZVFHMIN64-NEXT: .cfi_restore s93349; ZVFHMIN64-NEXT: .cfi_restore s103350; ZVFHMIN64-NEXT: .cfi_restore s113351; ZVFHMIN64-NEXT: addi sp, sp, 8963352; ZVFHMIN64-NEXT: .cfi_def_cfa_offset 03353; ZVFHMIN64-NEXT: ret3354 %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)3355 ret <128 x i1> %v3356}3357 3358define <7 x i1> @fcmp_oeq_vv_v7f64(<7 x double> %va, <7 x double> %vb, <7 x i1> %m, i32 zeroext %evl) {3359; CHECK-LABEL: fcmp_oeq_vv_v7f64:3360; CHECK: # %bb.0:3361; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3362; CHECK-NEXT: vmfeq.vv v16, v8, v12, v0.t3363; CHECK-NEXT: vmv1r.v v0, v163364; CHECK-NEXT: ret3365 %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)3366 ret <7 x i1> %v3367}3368 3369define <8 x i1> @fcmp_oeq_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {3370; CHECK-LABEL: fcmp_oeq_vv_v8f64:3371; CHECK: # %bb.0:3372; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3373; CHECK-NEXT: vmfeq.vv v16, v8, v12, v0.t3374; CHECK-NEXT: vmv1r.v v0, v163375; CHECK-NEXT: ret3376 %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)3377 ret <8 x i1> %v3378}3379 3380define <8 x i1> @fcmp_oeq_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3381; CHECK-LABEL: fcmp_oeq_vf_v8f64:3382; CHECK: # %bb.0:3383; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3384; CHECK-NEXT: vmfeq.vf v12, v8, fa0, v0.t3385; CHECK-NEXT: vmv1r.v v0, v123386; CHECK-NEXT: ret3387 %elt.head = insertelement <8 x double> poison, double %b, i32 03388 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3389 %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)3390 ret <8 x i1> %v3391}3392 3393define <8 x i1> @fcmp_oeq_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3394; CHECK-LABEL: fcmp_oeq_vf_swap_v8f64:3395; CHECK: # %bb.0:3396; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3397; CHECK-NEXT: vmfeq.vf v12, v8, fa0, v0.t3398; CHECK-NEXT: vmv1r.v v0, v123399; CHECK-NEXT: ret3400 %elt.head = insertelement <8 x double> poison, double %b, i32 03401 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3402 %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)3403 ret <8 x i1> %v3404}3405 3406define <8 x i1> @fcmp_ogt_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {3407; CHECK-LABEL: fcmp_ogt_vv_v8f64:3408; CHECK: # %bb.0:3409; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3410; CHECK-NEXT: vmflt.vv v16, v12, v8, v0.t3411; CHECK-NEXT: vmv1r.v v0, v163412; CHECK-NEXT: ret3413 %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)3414 ret <8 x i1> %v3415}3416 3417define <8 x i1> @fcmp_ogt_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3418; CHECK-LABEL: fcmp_ogt_vf_v8f64:3419; CHECK: # %bb.0:3420; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3421; CHECK-NEXT: vmfgt.vf v12, v8, fa0, v0.t3422; CHECK-NEXT: vmv1r.v v0, v123423; CHECK-NEXT: ret3424 %elt.head = insertelement <8 x double> poison, double %b, i32 03425 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3426 %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)3427 ret <8 x i1> %v3428}3429 3430define <8 x i1> @fcmp_ogt_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3431; CHECK-LABEL: fcmp_ogt_vf_swap_v8f64:3432; CHECK: # %bb.0:3433; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3434; CHECK-NEXT: vmflt.vf v12, v8, fa0, v0.t3435; CHECK-NEXT: vmv1r.v v0, v123436; CHECK-NEXT: ret3437 %elt.head = insertelement <8 x double> poison, double %b, i32 03438 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3439 %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)3440 ret <8 x i1> %v3441}3442 3443define <8 x i1> @fcmp_oge_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {3444; CHECK-LABEL: fcmp_oge_vv_v8f64:3445; CHECK: # %bb.0:3446; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3447; CHECK-NEXT: vmfle.vv v16, v12, v8, v0.t3448; CHECK-NEXT: vmv1r.v v0, v163449; CHECK-NEXT: ret3450 %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)3451 ret <8 x i1> %v3452}3453 3454define <8 x i1> @fcmp_oge_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3455; CHECK-LABEL: fcmp_oge_vf_v8f64:3456; CHECK: # %bb.0:3457; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3458; CHECK-NEXT: vmfge.vf v12, v8, fa0, v0.t3459; CHECK-NEXT: vmv1r.v v0, v123460; CHECK-NEXT: ret3461 %elt.head = insertelement <8 x double> poison, double %b, i32 03462 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3463 %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)3464 ret <8 x i1> %v3465}3466 3467define <8 x i1> @fcmp_oge_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3468; CHECK-LABEL: fcmp_oge_vf_swap_v8f64:3469; CHECK: # %bb.0:3470; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3471; CHECK-NEXT: vmfle.vf v12, v8, fa0, v0.t3472; CHECK-NEXT: vmv1r.v v0, v123473; CHECK-NEXT: ret3474 %elt.head = insertelement <8 x double> poison, double %b, i32 03475 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3476 %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)3477 ret <8 x i1> %v3478}3479 3480define <8 x i1> @fcmp_olt_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {3481; CHECK-LABEL: fcmp_olt_vv_v8f64:3482; CHECK: # %bb.0:3483; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3484; CHECK-NEXT: vmflt.vv v16, v8, v12, v0.t3485; CHECK-NEXT: vmv1r.v v0, v163486; CHECK-NEXT: ret3487 %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)3488 ret <8 x i1> %v3489}3490 3491define <8 x i1> @fcmp_olt_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3492; CHECK-LABEL: fcmp_olt_vf_v8f64:3493; CHECK: # %bb.0:3494; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3495; CHECK-NEXT: vmflt.vf v12, v8, fa0, v0.t3496; CHECK-NEXT: vmv1r.v v0, v123497; CHECK-NEXT: ret3498 %elt.head = insertelement <8 x double> poison, double %b, i32 03499 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3500 %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)3501 ret <8 x i1> %v3502}3503 3504define <8 x i1> @fcmp_olt_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3505; CHECK-LABEL: fcmp_olt_vf_swap_v8f64:3506; CHECK: # %bb.0:3507; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3508; CHECK-NEXT: vmfgt.vf v12, v8, fa0, v0.t3509; CHECK-NEXT: vmv1r.v v0, v123510; CHECK-NEXT: ret3511 %elt.head = insertelement <8 x double> poison, double %b, i32 03512 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3513 %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)3514 ret <8 x i1> %v3515}3516 3517define <8 x i1> @fcmp_ole_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {3518; CHECK-LABEL: fcmp_ole_vv_v8f64:3519; CHECK: # %bb.0:3520; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3521; CHECK-NEXT: vmfle.vv v16, v8, v12, v0.t3522; CHECK-NEXT: vmv1r.v v0, v163523; CHECK-NEXT: ret3524 %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)3525 ret <8 x i1> %v3526}3527 3528define <8 x i1> @fcmp_ole_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3529; CHECK-LABEL: fcmp_ole_vf_v8f64:3530; CHECK: # %bb.0:3531; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3532; CHECK-NEXT: vmfle.vf v12, v8, fa0, v0.t3533; CHECK-NEXT: vmv1r.v v0, v123534; CHECK-NEXT: ret3535 %elt.head = insertelement <8 x double> poison, double %b, i32 03536 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3537 %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)3538 ret <8 x i1> %v3539}3540 3541define <8 x i1> @fcmp_ole_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3542; CHECK-LABEL: fcmp_ole_vf_swap_v8f64:3543; CHECK: # %bb.0:3544; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3545; CHECK-NEXT: vmfge.vf v12, v8, fa0, v0.t3546; CHECK-NEXT: vmv1r.v v0, v123547; CHECK-NEXT: ret3548 %elt.head = insertelement <8 x double> poison, double %b, i32 03549 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3550 %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)3551 ret <8 x i1> %v3552}3553 3554define <8 x i1> @fcmp_one_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {3555; CHECK-LABEL: fcmp_one_vv_v8f64:3556; CHECK: # %bb.0:3557; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3558; CHECK-NEXT: vmflt.vv v16, v8, v12, v0.t3559; CHECK-NEXT: vmflt.vv v17, v12, v8, v0.t3560; CHECK-NEXT: vmor.mm v0, v17, v163561; CHECK-NEXT: ret3562 %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)3563 ret <8 x i1> %v3564}3565 3566define <8 x i1> @fcmp_one_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3567; CHECK-LABEL: fcmp_one_vf_v8f64:3568; CHECK: # %bb.0:3569; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3570; CHECK-NEXT: vmflt.vf v12, v8, fa0, v0.t3571; CHECK-NEXT: vmfgt.vf v13, v8, fa0, v0.t3572; CHECK-NEXT: vmor.mm v0, v13, v123573; CHECK-NEXT: ret3574 %elt.head = insertelement <8 x double> poison, double %b, i32 03575 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3576 %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)3577 ret <8 x i1> %v3578}3579 3580define <8 x i1> @fcmp_one_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3581; CHECK-LABEL: fcmp_one_vf_swap_v8f64:3582; CHECK: # %bb.0:3583; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3584; CHECK-NEXT: vmfgt.vf v12, v8, fa0, v0.t3585; CHECK-NEXT: vmflt.vf v13, v8, fa0, v0.t3586; CHECK-NEXT: vmor.mm v0, v13, v123587; CHECK-NEXT: ret3588 %elt.head = insertelement <8 x double> poison, double %b, i32 03589 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3590 %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)3591 ret <8 x i1> %v3592}3593 3594define <8 x i1> @fcmp_ord_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {3595; CHECK-LABEL: fcmp_ord_vv_v8f64:3596; CHECK: # %bb.0:3597; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3598; CHECK-NEXT: vmfeq.vv v16, v12, v12, v0.t3599; CHECK-NEXT: vmfeq.vv v12, v8, v8, v0.t3600; CHECK-NEXT: vmand.mm v0, v12, v163601; CHECK-NEXT: ret3602 %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)3603 ret <8 x i1> %v3604}3605 3606define <8 x i1> @fcmp_ord_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3607; CHECK-LABEL: fcmp_ord_vf_v8f64:3608; CHECK: # %bb.0:3609; CHECK-NEXT: vsetivli zero, 8, e64, m4, ta, ma3610; CHECK-NEXT: vfmv.v.f v12, fa03611; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3612; CHECK-NEXT: vmfeq.vf v16, v12, fa0, v0.t3613; CHECK-NEXT: vmfeq.vv v12, v8, v8, v0.t3614; CHECK-NEXT: vmand.mm v0, v12, v163615; CHECK-NEXT: ret3616 %elt.head = insertelement <8 x double> poison, double %b, i32 03617 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3618 %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)3619 ret <8 x i1> %v3620}3621 3622define <8 x i1> @fcmp_ord_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3623; CHECK-LABEL: fcmp_ord_vf_swap_v8f64:3624; CHECK: # %bb.0:3625; CHECK-NEXT: vsetivli zero, 8, e64, m4, ta, ma3626; CHECK-NEXT: vfmv.v.f v12, fa03627; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3628; CHECK-NEXT: vmfeq.vf v16, v12, fa0, v0.t3629; CHECK-NEXT: vmfeq.vv v12, v8, v8, v0.t3630; CHECK-NEXT: vmand.mm v0, v16, v123631; CHECK-NEXT: ret3632 %elt.head = insertelement <8 x double> poison, double %b, i32 03633 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3634 %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)3635 ret <8 x i1> %v3636}3637 3638define <8 x i1> @fcmp_ueq_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {3639; CHECK-LABEL: fcmp_ueq_vv_v8f64:3640; CHECK: # %bb.0:3641; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3642; CHECK-NEXT: vmflt.vv v16, v8, v12, v0.t3643; CHECK-NEXT: vmflt.vv v17, v12, v8, v0.t3644; CHECK-NEXT: vmnor.mm v0, v17, v163645; CHECK-NEXT: ret3646 %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)3647 ret <8 x i1> %v3648}3649 3650define <8 x i1> @fcmp_ueq_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3651; CHECK-LABEL: fcmp_ueq_vf_v8f64:3652; CHECK: # %bb.0:3653; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3654; CHECK-NEXT: vmflt.vf v12, v8, fa0, v0.t3655; CHECK-NEXT: vmfgt.vf v13, v8, fa0, v0.t3656; CHECK-NEXT: vmnor.mm v0, v13, v123657; CHECK-NEXT: ret3658 %elt.head = insertelement <8 x double> poison, double %b, i32 03659 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3660 %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)3661 ret <8 x i1> %v3662}3663 3664define <8 x i1> @fcmp_ueq_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3665; CHECK-LABEL: fcmp_ueq_vf_swap_v8f64:3666; CHECK: # %bb.0:3667; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3668; CHECK-NEXT: vmfgt.vf v12, v8, fa0, v0.t3669; CHECK-NEXT: vmflt.vf v13, v8, fa0, v0.t3670; CHECK-NEXT: vmnor.mm v0, v13, v123671; CHECK-NEXT: ret3672 %elt.head = insertelement <8 x double> poison, double %b, i32 03673 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3674 %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)3675 ret <8 x i1> %v3676}3677 3678define <8 x i1> @fcmp_ugt_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {3679; CHECK-LABEL: fcmp_ugt_vv_v8f64:3680; CHECK: # %bb.0:3681; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3682; CHECK-NEXT: vmfle.vv v16, v8, v12, v0.t3683; CHECK-NEXT: vmnot.m v0, v163684; CHECK-NEXT: ret3685 %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)3686 ret <8 x i1> %v3687}3688 3689define <8 x i1> @fcmp_ugt_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3690; CHECK-LABEL: fcmp_ugt_vf_v8f64:3691; CHECK: # %bb.0:3692; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3693; CHECK-NEXT: vmfle.vf v12, v8, fa0, v0.t3694; CHECK-NEXT: vmnot.m v0, v123695; CHECK-NEXT: ret3696 %elt.head = insertelement <8 x double> poison, double %b, i32 03697 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3698 %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)3699 ret <8 x i1> %v3700}3701 3702define <8 x i1> @fcmp_ugt_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3703; CHECK-LABEL: fcmp_ugt_vf_swap_v8f64:3704; CHECK: # %bb.0:3705; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3706; CHECK-NEXT: vmfge.vf v12, v8, fa0, v0.t3707; CHECK-NEXT: vmnot.m v0, v123708; CHECK-NEXT: ret3709 %elt.head = insertelement <8 x double> poison, double %b, i32 03710 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3711 %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)3712 ret <8 x i1> %v3713}3714 3715define <8 x i1> @fcmp_uge_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {3716; CHECK-LABEL: fcmp_uge_vv_v8f64:3717; CHECK: # %bb.0:3718; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3719; CHECK-NEXT: vmflt.vv v16, v8, v12, v0.t3720; CHECK-NEXT: vmnot.m v0, v163721; CHECK-NEXT: ret3722 %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)3723 ret <8 x i1> %v3724}3725 3726define <8 x i1> @fcmp_uge_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3727; CHECK-LABEL: fcmp_uge_vf_v8f64:3728; CHECK: # %bb.0:3729; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3730; CHECK-NEXT: vmflt.vf v12, v8, fa0, v0.t3731; CHECK-NEXT: vmnot.m v0, v123732; CHECK-NEXT: ret3733 %elt.head = insertelement <8 x double> poison, double %b, i32 03734 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3735 %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)3736 ret <8 x i1> %v3737}3738 3739define <8 x i1> @fcmp_uge_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3740; CHECK-LABEL: fcmp_uge_vf_swap_v8f64:3741; CHECK: # %bb.0:3742; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3743; CHECK-NEXT: vmfgt.vf v12, v8, fa0, v0.t3744; CHECK-NEXT: vmnot.m v0, v123745; CHECK-NEXT: ret3746 %elt.head = insertelement <8 x double> poison, double %b, i32 03747 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3748 %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)3749 ret <8 x i1> %v3750}3751 3752define <8 x i1> @fcmp_ult_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {3753; CHECK-LABEL: fcmp_ult_vv_v8f64:3754; CHECK: # %bb.0:3755; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3756; CHECK-NEXT: vmfle.vv v16, v12, v8, v0.t3757; CHECK-NEXT: vmnot.m v0, v163758; CHECK-NEXT: ret3759 %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)3760 ret <8 x i1> %v3761}3762 3763define <8 x i1> @fcmp_ult_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3764; CHECK-LABEL: fcmp_ult_vf_v8f64:3765; CHECK: # %bb.0:3766; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3767; CHECK-NEXT: vmfge.vf v12, v8, fa0, v0.t3768; CHECK-NEXT: vmnot.m v0, v123769; CHECK-NEXT: ret3770 %elt.head = insertelement <8 x double> poison, double %b, i32 03771 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3772 %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)3773 ret <8 x i1> %v3774}3775 3776define <8 x i1> @fcmp_ult_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3777; CHECK-LABEL: fcmp_ult_vf_swap_v8f64:3778; CHECK: # %bb.0:3779; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3780; CHECK-NEXT: vmfle.vf v12, v8, fa0, v0.t3781; CHECK-NEXT: vmnot.m v0, v123782; CHECK-NEXT: ret3783 %elt.head = insertelement <8 x double> poison, double %b, i32 03784 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3785 %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)3786 ret <8 x i1> %v3787}3788 3789define <8 x i1> @fcmp_ule_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {3790; CHECK-LABEL: fcmp_ule_vv_v8f64:3791; CHECK: # %bb.0:3792; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3793; CHECK-NEXT: vmflt.vv v16, v12, v8, v0.t3794; CHECK-NEXT: vmnot.m v0, v163795; CHECK-NEXT: ret3796 %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)3797 ret <8 x i1> %v3798}3799 3800define <8 x i1> @fcmp_ule_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3801; CHECK-LABEL: fcmp_ule_vf_v8f64:3802; CHECK: # %bb.0:3803; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3804; CHECK-NEXT: vmfgt.vf v12, v8, fa0, v0.t3805; CHECK-NEXT: vmnot.m v0, v123806; CHECK-NEXT: ret3807 %elt.head = insertelement <8 x double> poison, double %b, i32 03808 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3809 %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)3810 ret <8 x i1> %v3811}3812 3813define <8 x i1> @fcmp_ule_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3814; CHECK-LABEL: fcmp_ule_vf_swap_v8f64:3815; CHECK: # %bb.0:3816; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3817; CHECK-NEXT: vmflt.vf v12, v8, fa0, v0.t3818; CHECK-NEXT: vmnot.m v0, v123819; CHECK-NEXT: ret3820 %elt.head = insertelement <8 x double> poison, double %b, i32 03821 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3822 %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)3823 ret <8 x i1> %v3824}3825 3826define <8 x i1> @fcmp_une_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {3827; CHECK-LABEL: fcmp_une_vv_v8f64:3828; CHECK: # %bb.0:3829; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3830; CHECK-NEXT: vmfne.vv v16, v8, v12, v0.t3831; CHECK-NEXT: vmv1r.v v0, v163832; CHECK-NEXT: ret3833 %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)3834 ret <8 x i1> %v3835}3836 3837define <8 x i1> @fcmp_une_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3838; CHECK-LABEL: fcmp_une_vf_v8f64:3839; CHECK: # %bb.0:3840; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3841; CHECK-NEXT: vmfne.vf v12, v8, fa0, v0.t3842; CHECK-NEXT: vmv1r.v v0, v123843; CHECK-NEXT: ret3844 %elt.head = insertelement <8 x double> poison, double %b, i32 03845 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3846 %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)3847 ret <8 x i1> %v3848}3849 3850define <8 x i1> @fcmp_une_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3851; CHECK-LABEL: fcmp_une_vf_swap_v8f64:3852; CHECK: # %bb.0:3853; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3854; CHECK-NEXT: vmfne.vf v12, v8, fa0, v0.t3855; CHECK-NEXT: vmv1r.v v0, v123856; CHECK-NEXT: ret3857 %elt.head = insertelement <8 x double> poison, double %b, i32 03858 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3859 %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)3860 ret <8 x i1> %v3861}3862 3863define <8 x i1> @fcmp_uno_vv_v8f64(<8 x double> %va, <8 x double> %vb, <8 x i1> %m, i32 zeroext %evl) {3864; CHECK-LABEL: fcmp_uno_vv_v8f64:3865; CHECK: # %bb.0:3866; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3867; CHECK-NEXT: vmfne.vv v16, v12, v12, v0.t3868; CHECK-NEXT: vmfne.vv v12, v8, v8, v0.t3869; CHECK-NEXT: vmor.mm v0, v12, v163870; CHECK-NEXT: ret3871 %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)3872 ret <8 x i1> %v3873}3874 3875define <8 x i1> @fcmp_uno_vf_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3876; CHECK-LABEL: fcmp_uno_vf_v8f64:3877; CHECK: # %bb.0:3878; CHECK-NEXT: vsetivli zero, 8, e64, m4, ta, ma3879; CHECK-NEXT: vfmv.v.f v12, fa03880; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3881; CHECK-NEXT: vmfne.vf v16, v12, fa0, v0.t3882; CHECK-NEXT: vmfne.vv v12, v8, v8, v0.t3883; CHECK-NEXT: vmor.mm v0, v12, v163884; CHECK-NEXT: ret3885 %elt.head = insertelement <8 x double> poison, double %b, i32 03886 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3887 %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)3888 ret <8 x i1> %v3889}3890 3891define <8 x i1> @fcmp_uno_vf_swap_v8f64(<8 x double> %va, double %b, <8 x i1> %m, i32 zeroext %evl) {3892; CHECK-LABEL: fcmp_uno_vf_swap_v8f64:3893; CHECK: # %bb.0:3894; CHECK-NEXT: vsetivli zero, 8, e64, m4, ta, ma3895; CHECK-NEXT: vfmv.v.f v12, fa03896; CHECK-NEXT: vsetvli zero, a0, e64, m4, ta, ma3897; CHECK-NEXT: vmfne.vf v16, v12, fa0, v0.t3898; CHECK-NEXT: vmfne.vv v12, v8, v8, v0.t3899; CHECK-NEXT: vmor.mm v0, v16, v123900; CHECK-NEXT: ret3901 %elt.head = insertelement <8 x double> poison, double %b, i32 03902 %vb = shufflevector <8 x double> %elt.head, <8 x double> poison, <8 x i32> zeroinitializer3903 %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)3904 ret <8 x i1> %v3905}3906 3907define <32 x i1> @fcmp_oeq_vv_v32f64(<32 x double> %va, <32 x double> %vb, <32 x i1> %m, i32 zeroext %evl) {3908; CHECK-LABEL: fcmp_oeq_vv_v32f64:3909; CHECK: # %bb.0:3910; CHECK-NEXT: addi sp, sp, -163911; CHECK-NEXT: .cfi_def_cfa_offset 163912; CHECK-NEXT: csrr a1, vlenb3913; CHECK-NEXT: slli a1, a1, 33914; CHECK-NEXT: sub sp, sp, a13915; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb3916; CHECK-NEXT: addi a1, sp, 163917; CHECK-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill3918; CHECK-NEXT: addi a1, a0, 1283919; CHECK-NEXT: vsetivli zero, 16, e64, m8, ta, ma3920; CHECK-NEXT: vle64.v v16, (a1)3921; CHECK-NEXT: vle64.v v24, (a0)3922; CHECK-NEXT: li a1, 163923; CHECK-NEXT: mv a0, a23924; CHECK-NEXT: vsetivli zero, 2, e8, mf4, ta, ma3925; CHECK-NEXT: vslidedown.vi v7, v0, 23926; CHECK-NEXT: bltu a2, a1, .LBB87_23927; CHECK-NEXT: # %bb.1:3928; CHECK-NEXT: li a0, 163929; CHECK-NEXT: .LBB87_2:3930; CHECK-NEXT: vsetvli zero, a0, e64, m8, ta, ma3931; CHECK-NEXT: vmfeq.vv v6, v8, v24, v0.t3932; CHECK-NEXT: addi a0, a2, -163933; CHECK-NEXT: sltu a1, a2, a03934; CHECK-NEXT: addi a1, a1, -13935; CHECK-NEXT: and a0, a1, a03936; CHECK-NEXT: vmv1r.v v0, v73937; CHECK-NEXT: addi a1, sp, 163938; CHECK-NEXT: vl8r.v v24, (a1) # vscale x 64-byte Folded Reload3939; CHECK-NEXT: vsetvli zero, a0, e64, m8, ta, ma3940; CHECK-NEXT: vmfeq.vv v8, v24, v16, v0.t3941; CHECK-NEXT: vsetivli zero, 4, e8, mf4, ta, ma3942; CHECK-NEXT: vslideup.vi v6, v8, 23943; CHECK-NEXT: vmv1r.v v0, v63944; CHECK-NEXT: csrr a0, vlenb3945; CHECK-NEXT: slli a0, a0, 33946; CHECK-NEXT: add sp, sp, a03947; CHECK-NEXT: .cfi_def_cfa sp, 163948; CHECK-NEXT: addi sp, sp, 163949; CHECK-NEXT: .cfi_def_cfa_offset 03950; CHECK-NEXT: ret3951 %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)3952 ret <32 x i1> %v3953}3954;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:3955; ZVFH32: {{.*}}3956; ZVFH64: {{.*}}3957