Index: llvm/lib/Target/ARM/ARMMCInstLower.cpp =================================================================== --- llvm/lib/Target/ARM/ARMMCInstLower.cpp +++ llvm/lib/Target/ARM/ARMMCInstLower.cpp @@ -74,8 +74,8 @@ switch (MO.getType()) { default: llvm_unreachable("unknown operand type"); case MachineOperand::MO_Register: - // Ignore all non-CPSR implicit register operands. - if (MO.isImplicit() && MO.getReg() != ARM::CPSR) + // Ignore all implicit register operands. + if (MO.isImplicit()) return false; assert(!MO.getSubReg() && "Subregs should be eliminated!"); MCOp = MCOperand::createReg(MO.getReg()); Index: llvm/test/CodeGen/Thumb2/csel.ll =================================================================== --- llvm/test/CodeGen/Thumb2/csel.ll +++ llvm/test/CodeGen/Thumb2/csel.ll @@ -6,7 +6,7 @@ ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: movs r1, #5 ; CHECK-NEXT: cmp r0, #45 -; CHECK-NEXT: csinc r0, r1, r1, le +; CHECK-NEXT: cinc r0, r1, gt ; CHECK-NEXT: bx lr entry: %cmp = icmp sgt i32 %a, 45 @@ -19,7 +19,7 @@ ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: movs r1, #5 ; CHECK-NEXT: cmp r0, #45 -; CHECK-NEXT: csinc r0, r1, r1, gt +; CHECK-NEXT: cinc r0, r1, le ; CHECK-NEXT: bx lr entry: %cmp = icmp sgt i32 %a, 45 @@ -31,7 +31,7 @@ ; CHECK-LABEL: csinc_const_zext: ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r0, #45 -; CHECK-NEXT: csinc r0, zr, zr, le +; CHECK-NEXT: cset r0, gt ; CHECK-NEXT: bx lr entry: %cmp = icmp sgt i32 %a, 45 @@ -44,7 +44,7 @@ ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: movs r1, #5 ; CHECK-NEXT: cmp r0, #45 -; CHECK-NEXT: csinv r0, r1, r1, le +; CHECK-NEXT: cinv r0, r1, gt ; CHECK-NEXT: bx lr entry: %cmp = icmp sgt i32 %a, 45 @@ -57,7 +57,7 @@ ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: movs r1, #5 ; CHECK-NEXT: cmp r0, #45 -; CHECK-NEXT: csinv r0, r1, r1, gt +; CHECK-NEXT: cinv r0, r1, le ; CHECK-NEXT: bx lr entry: %cmp = icmp sgt i32 %a, 45 @@ -69,7 +69,7 @@ ; CHECK-LABEL: csinv_const_sext: ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r0, #45 -; CHECK-NEXT: csinv r0, zr, zr, le +; CHECK-NEXT: csetm r0, gt ; CHECK-NEXT: bx lr entry: %cmp = icmp sgt i32 %a, 45 @@ -82,7 +82,7 @@ ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: movs r1, #1 ; CHECK-NEXT: cmp r0, #45 -; CHECK-NEXT: csneg r0, r1, r1, gt +; CHECK-NEXT: cneg r0, r1, le ; CHECK-NEXT: bx lr entry: %cmp = icmp sgt i32 %a, 45 @@ -95,7 +95,7 @@ ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: movs r1, #1 ; CHECK-NEXT: cmp r0, #45 -; CHECK-NEXT: csneg r0, r1, r1, le +; CHECK-NEXT: cneg r0, r1, gt ; CHECK-NEXT: bx lr entry: %cmp = icmp sgt i32 %a, 45 @@ -199,7 +199,7 @@ ; CHECK-LABEL: csinc_inplace: ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r1, #45 -; CHECK-NEXT: csinc r0, r0, r0, le +; CHECK-NEXT: cinc r0, r0, gt ; CHECK-NEXT: bx lr entry: %cmp = icmp sgt i32 %b, 45 @@ -212,7 +212,7 @@ ; CHECK-LABEL: csinv_inplace: ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r1, #45 -; CHECK-NEXT: csinv r0, r0, r0, le +; CHECK-NEXT: cinv r0, r0, gt ; CHECK-NEXT: bx lr entry: %cmp = icmp sgt i32 %b, 45 Index: llvm/test/CodeGen/Thumb2/mve-abs.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-abs.ll +++ llvm/test/CodeGen/Thumb2/mve-abs.ll @@ -49,7 +49,7 @@ ; CHECK-NEXT: rsbs.w r3, lr, #0 ; CHECK-NEXT: sbc.w r2, r12, r0 ; CHECK-NEXT: cmp r0, #0 -; CHECK-NEXT: csinc r1, zr, zr, pl +; CHECK-NEXT: cset r1, mi ; CHECK-NEXT: ands r1, r1, #1 ; CHECK-NEXT: itt eq ; CHECK-NEXT: moveq r2, r0 @@ -61,7 +61,7 @@ ; CHECK-NEXT: rsbs.w r2, lr, #0 ; CHECK-NEXT: sbc.w r3, r12, r0 ; CHECK-NEXT: cmp r0, #0 -; CHECK-NEXT: csinc r1, zr, zr, pl +; CHECK-NEXT: cset r1, mi ; CHECK-NEXT: ands r1, r1, #1 ; CHECK-NEXT: it eq ; CHECK-NEXT: moveq r2, lr Index: llvm/test/CodeGen/Thumb2/mve-fmath.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-fmath.ll +++ llvm/test/CodeGen/Thumb2/mve-fmath.ll @@ -1462,7 +1462,7 @@ ; CHECK-NEXT: vabs.f16 s4, s4 ; CHECK-NEXT: tst.w r0, #128 ; CHECK-NEXT: vneg.f16 s6, s4 -; CHECK-NEXT: csinc r0, zr, zr, eq +; CHECK-NEXT: cset r0, ne ; CHECK-NEXT: lsls r0, r0, #31 ; CHECK-NEXT: vseleq.f16 s4, s4, s6 ; CHECK-NEXT: vmov r0, s4 @@ -1471,7 +1471,7 @@ ; CHECK-NEXT: vabs.f16 s4, s4 ; CHECK-NEXT: tst.w r1, #128 ; CHECK-NEXT: vneg.f16 s6, s4 -; CHECK-NEXT: csinc r1, zr, zr, eq +; CHECK-NEXT: cset r1, ne ; CHECK-NEXT: lsls r1, r1, #31 ; CHECK-NEXT: vseleq.f16 s4, s4, s6 ; CHECK-NEXT: vmov r1, s4 @@ -1483,7 +1483,7 @@ ; CHECK-NEXT: vabs.f16 s8, s8 ; CHECK-NEXT: tst.w r0, #128 ; CHECK-NEXT: vneg.f16 s10, s8 -; CHECK-NEXT: csinc r0, zr, zr, eq +; CHECK-NEXT: cset r0, ne ; CHECK-NEXT: lsls r0, r0, #31 ; CHECK-NEXT: vseleq.f16 s8, s8, s10 ; CHECK-NEXT: vmov r0, s8 @@ -1494,7 +1494,7 @@ ; CHECK-NEXT: vabs.f16 s8, s8 ; CHECK-NEXT: tst.w r0, #128 ; CHECK-NEXT: vneg.f16 s10, s8 -; CHECK-NEXT: csinc r0, zr, zr, eq +; CHECK-NEXT: cset r0, ne ; CHECK-NEXT: lsls r0, r0, #31 ; CHECK-NEXT: vseleq.f16 s8, s8, s10 ; CHECK-NEXT: vmov r0, s8 @@ -1505,7 +1505,7 @@ ; CHECK-NEXT: vabs.f16 s8, s8 ; CHECK-NEXT: tst.w r0, #128 ; CHECK-NEXT: vneg.f16 s10, s8 -; CHECK-NEXT: csinc r0, zr, zr, eq +; CHECK-NEXT: cset r0, ne ; CHECK-NEXT: lsls r0, r0, #31 ; CHECK-NEXT: vseleq.f16 s8, s8, s10 ; CHECK-NEXT: vmov r0, s8 @@ -1516,7 +1516,7 @@ ; CHECK-NEXT: vabs.f16 s8, s8 ; CHECK-NEXT: tst.w r0, #128 ; CHECK-NEXT: vneg.f16 s10, s8 -; CHECK-NEXT: csinc r0, zr, zr, eq +; CHECK-NEXT: cset r0, ne ; CHECK-NEXT: lsls r0, r0, #31 ; CHECK-NEXT: vseleq.f16 s8, s8, s10 ; CHECK-NEXT: vmov r0, s8 @@ -1527,7 +1527,7 @@ ; CHECK-NEXT: vabs.f16 s8, s8 ; CHECK-NEXT: tst.w r0, #128 ; CHECK-NEXT: vneg.f16 s10, s8 -; CHECK-NEXT: csinc r0, zr, zr, eq +; CHECK-NEXT: cset r0, ne ; CHECK-NEXT: lsls r0, r0, #31 ; CHECK-NEXT: vseleq.f16 s8, s8, s10 ; CHECK-NEXT: vmov r0, s8 @@ -1538,7 +1538,7 @@ ; CHECK-NEXT: vabs.f16 s0, s0 ; CHECK-NEXT: tst.w r0, #128 ; CHECK-NEXT: vneg.f16 s2, s0 -; CHECK-NEXT: csinc r0, zr, zr, eq +; CHECK-NEXT: cset r0, ne ; CHECK-NEXT: lsls r0, r0, #31 ; CHECK-NEXT: vseleq.f16 s0, s0, s2 ; CHECK-NEXT: vmov r0, s0 Index: llvm/test/CodeGen/Thumb2/mve-minmax.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-minmax.ll +++ llvm/test/CodeGen/Thumb2/mve-minmax.ll @@ -55,13 +55,13 @@ ; CHECK-NEXT: it lt ; CHECK-NEXT: movlt r1, #1 ; CHECK-NEXT: cmp r1, #0 -; CHECK-NEXT: csinv r1, zr, zr, eq +; CHECK-NEXT: csetm r1, ne ; CHECK-NEXT: subs r2, r3, r2 ; CHECK-NEXT: sbcs.w r2, lr, r12 ; CHECK-NEXT: it lt ; CHECK-NEXT: movlt r0, #1 ; CHECK-NEXT: cmp r0, #0 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[0], r0 ; CHECK-NEXT: vmov.32 q2[1], r0 ; CHECK-NEXT: vmov.32 q2[2], r1 @@ -129,13 +129,13 @@ ; CHECK-NEXT: it lo ; CHECK-NEXT: movlo r1, #1 ; CHECK-NEXT: cmp r1, #0 -; CHECK-NEXT: csinv r1, zr, zr, eq +; CHECK-NEXT: csetm r1, ne ; CHECK-NEXT: subs r2, r3, r2 ; CHECK-NEXT: sbcs.w r2, lr, r12 ; CHECK-NEXT: it lo ; CHECK-NEXT: movlo r0, #1 ; CHECK-NEXT: cmp r0, #0 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[0], r0 ; CHECK-NEXT: vmov.32 q2[1], r0 ; CHECK-NEXT: vmov.32 q2[2], r1 @@ -204,13 +204,13 @@ ; CHECK-NEXT: it lt ; CHECK-NEXT: movlt r1, #1 ; CHECK-NEXT: cmp r1, #0 -; CHECK-NEXT: csinv r1, zr, zr, eq +; CHECK-NEXT: csetm r1, ne ; CHECK-NEXT: subs r2, r3, r2 ; CHECK-NEXT: sbcs.w r2, lr, r12 ; CHECK-NEXT: it lt ; CHECK-NEXT: movlt r0, #1 ; CHECK-NEXT: cmp r0, #0 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[0], r0 ; CHECK-NEXT: vmov.32 q2[1], r0 ; CHECK-NEXT: vmov.32 q2[2], r1 @@ -278,13 +278,13 @@ ; CHECK-NEXT: it lo ; CHECK-NEXT: movlo r1, #1 ; CHECK-NEXT: cmp r1, #0 -; CHECK-NEXT: csinv r1, zr, zr, eq +; CHECK-NEXT: csetm r1, ne ; CHECK-NEXT: subs r2, r3, r2 ; CHECK-NEXT: sbcs.w r2, lr, r12 ; CHECK-NEXT: it lo ; CHECK-NEXT: movlo r0, #1 ; CHECK-NEXT: cmp r0, #0 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[0], r0 ; CHECK-NEXT: vmov.32 q2[1], r0 ; CHECK-NEXT: vmov.32 q2[2], r1 @@ -410,14 +410,14 @@ ; CHECK-NEXT: it ne ; CHECK-NEXT: movne r0, #1 ; CHECK-NEXT: cmp r0, #0 -; CHECK-NEXT: csinv r4, zr, zr, eq +; CHECK-NEXT: csetm r4, ne ; CHECK-NEXT: mov r0, r12 ; CHECK-NEXT: bl __aeabi_dcmpgt ; CHECK-NEXT: cmp r0, #0 ; CHECK-NEXT: it ne ; CHECK-NEXT: movne r0, #1 ; CHECK-NEXT: cmp r0, #0 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q0[0], r0 ; CHECK-NEXT: vmov.32 q0[1], r0 ; CHECK-NEXT: vmov.32 q0[2], r4 Index: llvm/test/CodeGen/Thumb2/mve-pred-and.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-pred-and.ll +++ llvm/test/CodeGen/Thumb2/mve-pred-and.ll @@ -612,16 +612,16 @@ ; CHECK-NEXT: vmov r1, s8 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s10 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[0], r0 ; CHECK-NEXT: vmov.32 q3[1], r0 ; CHECK-NEXT: vmov r0, s11 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[2], r0 ; CHECK-NEXT: vmov.32 q3[3], r0 ; CHECK-NEXT: vbic q1, q1, q3 @@ -648,9 +648,9 @@ ; CHECK-NEXT: vmov r2, s6 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s7 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[0], r0 ; CHECK-NEXT: vmov.32 q3[1], r0 ; CHECK-NEXT: vmov r0, s11 @@ -659,24 +659,24 @@ ; CHECK-NEXT: eors r1, r2 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s0 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[2], r0 ; CHECK-NEXT: vmov.32 q3[3], r0 ; CHECK-NEXT: vmov r0, s1 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s2 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[0], r0 ; CHECK-NEXT: vmov.32 q2[1], r0 ; CHECK-NEXT: vmov r0, s3 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[2], r0 ; CHECK-NEXT: vmov.32 q2[3], r0 ; CHECK-NEXT: vand q2, q2, q3 @@ -700,9 +700,9 @@ ; CHECK-NEXT: eors r2, r1 ; CHECK-NEXT: eors r3, r0 ; CHECK-NEXT: orrs r2, r3 -; CHECK-NEXT: csinc r2, zr, zr, ne +; CHECK-NEXT: cset r2, eq ; CHECK-NEXT: tst.w r2, #1 -; CHECK-NEXT: csinv r2, zr, zr, eq +; CHECK-NEXT: csetm r2, ne ; CHECK-NEXT: vmov.32 q2[0], r2 ; CHECK-NEXT: vmov.32 q2[1], r2 ; CHECK-NEXT: vmov r2, s7 @@ -711,24 +711,24 @@ ; CHECK-NEXT: eors r0, r2 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s0 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[2], r0 ; CHECK-NEXT: vmov.32 q2[3], r0 ; CHECK-NEXT: vmov r0, s1 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s2 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[0], r0 ; CHECK-NEXT: vmov.32 q3[1], r0 ; CHECK-NEXT: vmov r0, s3 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[2], r0 ; CHECK-NEXT: vmov.32 q3[3], r0 ; CHECK-NEXT: vand q2, q3, q2 Index: llvm/test/CodeGen/Thumb2/mve-pred-build-var.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-pred-build-var.ll +++ llvm/test/CodeGen/Thumb2/mve-pred-build-var.ll @@ -7,7 +7,7 @@ ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r0, r1 ; CHECK-NEXT: mov.w r1, #0 -; CHECK-NEXT: csinc r0, zr, zr, hs +; CHECK-NEXT: cset r0, lo ; CHECK-NEXT: and r0, r0, #1 ; CHECK-NEXT: rsbs r0, r0, #0 ; CHECK-NEXT: bfi r1, r0, #0, #4 @@ -26,7 +26,7 @@ ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r0, r1 ; CHECK-NEXT: mov.w r1, #0 -; CHECK-NEXT: csinc r0, zr, zr, hs +; CHECK-NEXT: cset r0, lo ; CHECK-NEXT: and r0, r0, #1 ; CHECK-NEXT: rsbs r0, r0, #0 ; CHECK-NEXT: bfi r1, r0, #12, #4 @@ -45,7 +45,7 @@ ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r0, r1 ; CHECK-NEXT: mov.w r1, #0 -; CHECK-NEXT: csinc r0, zr, zr, hs +; CHECK-NEXT: cset r0, lo ; CHECK-NEXT: and r0, r0, #1 ; CHECK-NEXT: rsbs r0, r0, #0 ; CHECK-NEXT: bfi r1, r0, #0, #4 @@ -69,7 +69,7 @@ ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r0, r1 ; CHECK-NEXT: mov.w r1, #0 -; CHECK-NEXT: csinc r0, zr, zr, hs +; CHECK-NEXT: cset r0, lo ; CHECK-NEXT: and r0, r0, #1 ; CHECK-NEXT: rsbs r0, r0, #0 ; CHECK-NEXT: bfi r1, r0, #0, #2 @@ -88,7 +88,7 @@ ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r0, r1 ; CHECK-NEXT: mov.w r1, #0 -; CHECK-NEXT: csinc r0, zr, zr, hs +; CHECK-NEXT: cset r0, lo ; CHECK-NEXT: and r0, r0, #1 ; CHECK-NEXT: rsbs r0, r0, #0 ; CHECK-NEXT: bfi r1, r0, #6, #2 @@ -107,7 +107,7 @@ ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r0, r1 ; CHECK-NEXT: mov.w r1, #0 -; CHECK-NEXT: csinc r0, zr, zr, hs +; CHECK-NEXT: cset r0, lo ; CHECK-NEXT: and r0, r0, #1 ; CHECK-NEXT: rsbs r0, r0, #0 ; CHECK-NEXT: bfi r1, r0, #0, #2 @@ -135,7 +135,7 @@ ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r0, r1 ; CHECK-NEXT: mov.w r1, #0 -; CHECK-NEXT: csinc r0, zr, zr, hs +; CHECK-NEXT: cset r0, lo ; CHECK-NEXT: and r0, r0, #1 ; CHECK-NEXT: rsbs r0, r0, #0 ; CHECK-NEXT: bfi r1, r0, #0, #1 @@ -154,7 +154,7 @@ ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r0, r1 ; CHECK-NEXT: mov.w r1, #0 -; CHECK-NEXT: csinc r0, zr, zr, hs +; CHECK-NEXT: cset r0, lo ; CHECK-NEXT: and r0, r0, #1 ; CHECK-NEXT: rsbs r0, r0, #0 ; CHECK-NEXT: bfi r1, r0, #3, #1 @@ -173,7 +173,7 @@ ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r0, r1 ; CHECK-NEXT: mov.w r1, #0 -; CHECK-NEXT: csinc r0, zr, zr, hs +; CHECK-NEXT: cset r0, lo ; CHECK-NEXT: and r0, r0, #1 ; CHECK-NEXT: rsbs r0, r0, #0 ; CHECK-NEXT: bfi r1, r0, #0, #1 @@ -208,7 +208,7 @@ ; CHECK-LABEL: build_var0_v2i1: ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, hs +; CHECK-NEXT: cset r0, lo ; CHECK-NEXT: and r0, r0, #1 ; CHECK-NEXT: rsbs r0, r0, #0 ; CHECK-NEXT: vmov s8, r0 @@ -234,7 +234,7 @@ ; CHECK-LABEL: build_var1_v2i1: ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, hs +; CHECK-NEXT: cset r0, lo ; CHECK-NEXT: and r0, r0, #1 ; CHECK-NEXT: rsbs r0, r0, #0 ; CHECK-NEXT: vmov s10, r0 @@ -260,7 +260,7 @@ ; CHECK-LABEL: build_varN_v2i1: ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: cmp r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, hs +; CHECK-NEXT: cset r0, lo ; CHECK-NEXT: and r0, r0, #1 ; CHECK-NEXT: rsbs r0, r0, #0 ; CHECK-NEXT: vdup.32 q2, r0 Index: llvm/test/CodeGen/Thumb2/mve-pred-ext.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-pred-ext.ll +++ llvm/test/CodeGen/Thumb2/mve-pred-ext.ll @@ -57,13 +57,13 @@ ; CHECK-NEXT: it lt ; CHECK-NEXT: movlt r0, #1 ; CHECK-NEXT: cmp r0, #0 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: rsbs r3, r3, #0 ; CHECK-NEXT: sbcs.w r1, r2, r1 ; CHECK-NEXT: it lt ; CHECK-NEXT: movlt r2, #1 ; CHECK-NEXT: cmp r2, #0 -; CHECK-NEXT: csinv r1, zr, zr, eq +; CHECK-NEXT: csetm r1, ne ; CHECK-NEXT: vmov.32 q0[0], r1 ; CHECK-NEXT: vmov.32 q0[1], r1 ; CHECK-NEXT: vmov.32 q0[2], r0 @@ -134,13 +134,13 @@ ; CHECK-NEXT: it lt ; CHECK-NEXT: movlt r1, #1 ; CHECK-NEXT: cmp r1, #0 -; CHECK-NEXT: csinv r1, zr, zr, eq +; CHECK-NEXT: csetm r1, ne ; CHECK-NEXT: rsbs r3, r3, #0 ; CHECK-NEXT: sbcs.w r2, r0, r2 ; CHECK-NEXT: it lt ; CHECK-NEXT: movlt r0, #1 ; CHECK-NEXT: cmp r0, #0 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q0[0], r0 ; CHECK-NEXT: vmov.32 q0[2], r1 ; CHECK-NEXT: vand q0, q0, q1 Index: llvm/test/CodeGen/Thumb2/mve-pred-loadstore.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-pred-loadstore.ll +++ llvm/test/CodeGen/Thumb2/mve-pred-loadstore.ll @@ -167,9 +167,9 @@ ; CHECK-LE-NEXT: vmov r3, s2 ; CHECK-LE-NEXT: orrs r1, r2 ; CHECK-LE-NEXT: vmov r2, s3 -; CHECK-LE-NEXT: csinc r1, zr, zr, ne +; CHECK-LE-NEXT: cset r1, eq ; CHECK-LE-NEXT: orrs r2, r3 -; CHECK-LE-NEXT: csinc r2, zr, zr, ne +; CHECK-LE-NEXT: cset r2, eq ; CHECK-LE-NEXT: ands r2, r2, #1 ; CHECK-LE-NEXT: it ne ; CHECK-LE-NEXT: mvnne r2, #1 @@ -186,9 +186,9 @@ ; CHECK-BE-NEXT: vmov r3, s5 ; CHECK-BE-NEXT: orrs r1, r2 ; CHECK-BE-NEXT: vmov r2, s4 -; CHECK-BE-NEXT: csinc r1, zr, zr, ne +; CHECK-BE-NEXT: cset r1, eq ; CHECK-BE-NEXT: orrs r2, r3 -; CHECK-BE-NEXT: csinc r2, zr, zr, ne +; CHECK-BE-NEXT: cset r2, eq ; CHECK-BE-NEXT: ands r2, r2, #1 ; CHECK-BE-NEXT: it ne ; CHECK-BE-NEXT: mvnne r2, #1 Index: llvm/test/CodeGen/Thumb2/mve-pred-not.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-pred-not.ll +++ llvm/test/CodeGen/Thumb2/mve-pred-not.ll @@ -327,16 +327,16 @@ ; CHECK-NEXT: vmov r1, s0 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s2 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[0], r0 ; CHECK-NEXT: vmov.32 q2[1], r0 ; CHECK-NEXT: vmov r0, s3 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[2], r0 ; CHECK-NEXT: vmov.32 q2[3], r0 ; CHECK-NEXT: vbic q0, q0, q2 @@ -357,16 +357,16 @@ ; CHECK-NEXT: vmov r1, s0 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s2 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[0], r0 ; CHECK-NEXT: vmov.32 q2[1], r0 ; CHECK-NEXT: vmov r0, s3 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[2], r0 ; CHECK-NEXT: vmov.32 q2[3], r0 ; CHECK-NEXT: vbic q0, q0, q2 Index: llvm/test/CodeGen/Thumb2/mve-pred-or.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-pred-or.ll +++ llvm/test/CodeGen/Thumb2/mve-pred-or.ll @@ -425,32 +425,32 @@ ; CHECK-NEXT: vmov r1, s4 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s6 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[0], r0 ; CHECK-NEXT: vmov.32 q2[1], r0 ; CHECK-NEXT: vmov r0, s7 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s0 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[2], r0 ; CHECK-NEXT: vmov.32 q2[3], r0 ; CHECK-NEXT: vmov r0, s1 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s2 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[0], r0 ; CHECK-NEXT: vmov.32 q3[1], r0 ; CHECK-NEXT: vmov r0, s3 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[2], r0 ; CHECK-NEXT: vmov.32 q3[3], r0 ; CHECK-NEXT: vorr q2, q3, q2 @@ -478,9 +478,9 @@ ; CHECK-NEXT: vmov r2, s6 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s7 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[0], r0 ; CHECK-NEXT: vmov.32 q3[1], r0 ; CHECK-NEXT: vmov r0, s11 @@ -489,24 +489,24 @@ ; CHECK-NEXT: eors r1, r2 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s0 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[2], r0 ; CHECK-NEXT: vmov.32 q3[3], r0 ; CHECK-NEXT: vmov r0, s1 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s2 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[0], r0 ; CHECK-NEXT: vmov.32 q2[1], r0 ; CHECK-NEXT: vmov r0, s3 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[2], r0 ; CHECK-NEXT: vmov.32 q2[3], r0 ; CHECK-NEXT: vorr q2, q2, q3 Index: llvm/test/CodeGen/Thumb2/mve-pred-xor.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-pred-xor.ll +++ llvm/test/CodeGen/Thumb2/mve-pred-xor.ll @@ -461,32 +461,32 @@ ; CHECK-NEXT: vmov r1, s4 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s6 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[0], r0 ; CHECK-NEXT: vmov.32 q2[1], r0 ; CHECK-NEXT: vmov r0, s7 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s0 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[2], r0 ; CHECK-NEXT: vmov.32 q2[3], r0 ; CHECK-NEXT: vmov r0, s1 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s2 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[0], r0 ; CHECK-NEXT: vmov.32 q3[1], r0 ; CHECK-NEXT: vmov r0, s3 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[2], r0 ; CHECK-NEXT: vmov.32 q3[3], r0 ; CHECK-NEXT: veor q2, q3, q2 @@ -514,9 +514,9 @@ ; CHECK-NEXT: vmov r2, s6 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s7 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[0], r0 ; CHECK-NEXT: vmov.32 q3[1], r0 ; CHECK-NEXT: vmov r0, s11 @@ -525,24 +525,24 @@ ; CHECK-NEXT: eors r1, r2 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s0 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[2], r0 ; CHECK-NEXT: vmov.32 q3[3], r0 ; CHECK-NEXT: vmov r0, s1 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s2 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[0], r0 ; CHECK-NEXT: vmov.32 q2[1], r0 ; CHECK-NEXT: vmov r0, s3 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q2[2], r0 ; CHECK-NEXT: vmov.32 q2[3], r0 ; CHECK-NEXT: veor q2, q2, q3 Index: llvm/test/CodeGen/Thumb2/mve-vcmp.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-vcmp.ll +++ llvm/test/CodeGen/Thumb2/mve-vcmp.ll @@ -378,9 +378,9 @@ ; CHECK-NEXT: vmov r2, s2 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s3 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q4[0], r0 ; CHECK-NEXT: vmov.32 q4[1], r0 ; CHECK-NEXT: vmov r0, s7 @@ -388,9 +388,9 @@ ; CHECK-NEXT: vmov r1, s6 ; CHECK-NEXT: eors r1, r2 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q4[2], r0 ; CHECK-NEXT: vmov.32 q4[3], r0 ; CHECK-NEXT: vbic q0, q3, q4 @@ -418,9 +418,9 @@ ; CHECK-NEXT: vmov r2, s2 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s3 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q4[0], r0 ; CHECK-NEXT: vmov.32 q4[1], r0 ; CHECK-NEXT: vmov r0, s7 @@ -428,9 +428,9 @@ ; CHECK-NEXT: vmov r1, s6 ; CHECK-NEXT: eors r1, r2 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q4[2], r0 ; CHECK-NEXT: vmov.32 q4[3], r0 ; CHECK-NEXT: vbic q0, q3, q4 @@ -457,16 +457,16 @@ ; CHECK-NEXT: vmov r2, s8 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s2 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[0], r0 ; CHECK-NEXT: vmov.32 q3[1], r0 ; CHECK-NEXT: vmov r0, s3 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[2], r0 ; CHECK-NEXT: vmov.32 q3[3], r0 ; CHECK-NEXT: vbic q0, q2, q3 @@ -479,7 +479,7 @@ ; CHECK-NEXT: it lt ; CHECK-NEXT: movlt r1, #1 ; CHECK-NEXT: cmp r1, #0 -; CHECK-NEXT: csinv r1, zr, zr, eq +; CHECK-NEXT: csetm r1, ne ; CHECK-NEXT: vmov.32 q3[0], r1 ; CHECK-NEXT: vmov.32 q3[1], r1 ; CHECK-NEXT: vmov r1, s2 @@ -489,33 +489,33 @@ ; CHECK-NEXT: it lt ; CHECK-NEXT: movlt r3, #1 ; CHECK-NEXT: cmp r3, #0 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: cmp.w lr, #0 ; CHECK-NEXT: vmov.32 q3[2], r0 ; CHECK-NEXT: vmov.32 q3[3], r0 -; CHECK-NEXT: csinc r0, zr, zr, eq +; CHECK-NEXT: cset r0, ne ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: cmp r1, #0 ; CHECK-NEXT: vmov.32 q4[0], r0 ; CHECK-NEXT: vmov.32 q4[1], r0 -; CHECK-NEXT: csinc r0, zr, zr, eq +; CHECK-NEXT: cset r0, ne ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q4[2], r0 ; CHECK-NEXT: vmov.32 q4[3], r0 ; CHECK-NEXT: vmov r0, s4 ; CHECK-NEXT: cmp r0, #0 -; CHECK-NEXT: csinc r0, zr, zr, eq +; CHECK-NEXT: cset r0, ne ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q5[0], r0 ; CHECK-NEXT: vmov.32 q5[1], r0 ; CHECK-NEXT: vmov r0, s6 ; CHECK-NEXT: cmp r0, #0 -; CHECK-NEXT: csinc r0, zr, zr, eq +; CHECK-NEXT: cset r0, ne ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q5[2], r0 ; CHECK-NEXT: vmov.32 q5[3], r0 ; CHECK-NEXT: vand q1, q5, q4 Index: llvm/test/CodeGen/Thumb2/mve-vcmpf.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-vcmpf.ll +++ llvm/test/CodeGen/Thumb2/mve-vcmpf.ll @@ -12,27 +12,27 @@ ; CHECK-MVE-NEXT: moveq r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmp.f32 s1, s5 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmp.f32 s2, s6 ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmp.f32 s3, s7 ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -69,7 +69,7 @@ ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmp.f32 s1, s5 ; CHECK-MVE-NEXT: mov.w r2, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r2, #1 @@ -78,7 +78,7 @@ ; CHECK-MVE-NEXT: movgt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: mov.w r3, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r3, #1 @@ -87,14 +87,14 @@ ; CHECK-MVE-NEXT: cmp r3, #0 ; CHECK-MVE-NEXT: mov.w r0, #0 ; CHECK-MVE-NEXT: vcmp.f32 s3, s7 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r0, #1 ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -129,27 +129,27 @@ ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s5 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s6 ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s7 ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -181,27 +181,27 @@ ; CHECK-MVE-NEXT: movge r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s5 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s6 ; CHECK-MVE-NEXT: it ge ; CHECK-MVE-NEXT: movge r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s7 ; CHECK-MVE-NEXT: it ge ; CHECK-MVE-NEXT: movge r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it ge ; CHECK-MVE-NEXT: movge r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -233,27 +233,27 @@ ; CHECK-MVE-NEXT: movmi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s5 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s6 ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s7 ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -285,27 +285,27 @@ ; CHECK-MVE-NEXT: movls r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s5 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s6 ; CHECK-MVE-NEXT: it ls ; CHECK-MVE-NEXT: movls r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s7 ; CHECK-MVE-NEXT: it ls ; CHECK-MVE-NEXT: movls r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it ls ; CHECK-MVE-NEXT: movls r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -342,7 +342,7 @@ ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmp.f32 s1, s5 ; CHECK-MVE-NEXT: mov.w r2, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r2, #1 @@ -351,7 +351,7 @@ ; CHECK-MVE-NEXT: movvs r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: mov.w r3, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r3, #1 @@ -360,14 +360,14 @@ ; CHECK-MVE-NEXT: cmp r3, #0 ; CHECK-MVE-NEXT: mov.w r0, #0 ; CHECK-MVE-NEXT: vcmp.f32 s3, s7 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r0, #1 ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -401,27 +401,27 @@ ; CHECK-MVE-NEXT: movne r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmp.f32 s1, s5 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmp.f32 s2, s6 ; CHECK-MVE-NEXT: it ne ; CHECK-MVE-NEXT: movne r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmp.f32 s3, s7 ; CHECK-MVE-NEXT: it ne ; CHECK-MVE-NEXT: movne r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it ne ; CHECK-MVE-NEXT: movne r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -453,27 +453,27 @@ ; CHECK-MVE-NEXT: movhi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s5 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s6 ; CHECK-MVE-NEXT: it hi ; CHECK-MVE-NEXT: movhi r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s7 ; CHECK-MVE-NEXT: it hi ; CHECK-MVE-NEXT: movhi r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it hi ; CHECK-MVE-NEXT: movhi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -506,27 +506,27 @@ ; CHECK-MVE-NEXT: movpl r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s5 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s6 ; CHECK-MVE-NEXT: it pl ; CHECK-MVE-NEXT: movpl r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s7 ; CHECK-MVE-NEXT: it pl ; CHECK-MVE-NEXT: movpl r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it pl ; CHECK-MVE-NEXT: movpl r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -559,27 +559,27 @@ ; CHECK-MVE-NEXT: movlt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s5 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s6 ; CHECK-MVE-NEXT: it lt ; CHECK-MVE-NEXT: movlt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s7 ; CHECK-MVE-NEXT: it lt ; CHECK-MVE-NEXT: movlt r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it lt ; CHECK-MVE-NEXT: movlt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -612,27 +612,27 @@ ; CHECK-MVE-NEXT: movle r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s5 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s6 ; CHECK-MVE-NEXT: it le ; CHECK-MVE-NEXT: movle r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s7 ; CHECK-MVE-NEXT: it le ; CHECK-MVE-NEXT: movle r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it le ; CHECK-MVE-NEXT: movle r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -665,27 +665,27 @@ ; CHECK-MVE-NEXT: movvc r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s5 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s6 ; CHECK-MVE-NEXT: it vc ; CHECK-MVE-NEXT: movvc r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s7 ; CHECK-MVE-NEXT: it vc ; CHECK-MVE-NEXT: movvc r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it vc ; CHECK-MVE-NEXT: movvc r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -720,27 +720,27 @@ ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s5 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s6 ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s7 ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -784,7 +784,7 @@ ; CHECK-MVE-NEXT: moveq r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[0] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[1] @@ -803,7 +803,7 @@ ; CHECK-MVE-NEXT: moveq r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q3[1] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s18, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -822,7 +822,7 @@ ; CHECK-MVE-NEXT: moveq r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s20, r2 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[2] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -842,7 +842,7 @@ ; CHECK-MVE-NEXT: moveq r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] @@ -861,7 +861,7 @@ ; CHECK-MVE-NEXT: moveq r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] @@ -880,7 +880,7 @@ ; CHECK-MVE-NEXT: moveq r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] @@ -899,7 +899,7 @@ ; CHECK-MVE-NEXT: moveq r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s20, s22, s20 @@ -917,7 +917,7 @@ ; CHECK-MVE-NEXT: moveq r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q3[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -957,7 +957,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[1] ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -977,7 +977,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov.u16 r3, q3[0] ; CHECK-MVE-NEXT: vmov s18, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 @@ -1000,7 +1000,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[2] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1021,7 +1021,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[3] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1042,7 +1042,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[4] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1063,7 +1063,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[5] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1084,7 +1084,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[6] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1104,7 +1104,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r1, q3[7] ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1147,7 +1147,7 @@ ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[0] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[1] @@ -1166,7 +1166,7 @@ ; CHECK-MVE-NEXT: movgt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q3[1] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s18, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -1185,7 +1185,7 @@ ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s20, r2 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[2] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1205,7 +1205,7 @@ ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] @@ -1224,7 +1224,7 @@ ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] @@ -1243,7 +1243,7 @@ ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] @@ -1262,7 +1262,7 @@ ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s20, s22, s20 @@ -1280,7 +1280,7 @@ ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q3[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -1319,7 +1319,7 @@ ; CHECK-MVE-NEXT: movge r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[0] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[1] @@ -1338,7 +1338,7 @@ ; CHECK-MVE-NEXT: movge r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q3[1] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s18, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -1357,7 +1357,7 @@ ; CHECK-MVE-NEXT: movge r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s20, r2 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[2] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1377,7 +1377,7 @@ ; CHECK-MVE-NEXT: movge r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] @@ -1396,7 +1396,7 @@ ; CHECK-MVE-NEXT: movge r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] @@ -1415,7 +1415,7 @@ ; CHECK-MVE-NEXT: movge r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] @@ -1434,7 +1434,7 @@ ; CHECK-MVE-NEXT: movge r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s20, s22, s20 @@ -1452,7 +1452,7 @@ ; CHECK-MVE-NEXT: movge r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q3[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -1491,7 +1491,7 @@ ; CHECK-MVE-NEXT: movmi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[0] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[1] @@ -1510,7 +1510,7 @@ ; CHECK-MVE-NEXT: movmi r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q3[1] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s18, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -1529,7 +1529,7 @@ ; CHECK-MVE-NEXT: movmi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s20, r2 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[2] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1549,7 +1549,7 @@ ; CHECK-MVE-NEXT: movmi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] @@ -1568,7 +1568,7 @@ ; CHECK-MVE-NEXT: movmi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] @@ -1587,7 +1587,7 @@ ; CHECK-MVE-NEXT: movmi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] @@ -1606,7 +1606,7 @@ ; CHECK-MVE-NEXT: movmi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s20, s22, s20 @@ -1624,7 +1624,7 @@ ; CHECK-MVE-NEXT: movmi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q3[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -1663,7 +1663,7 @@ ; CHECK-MVE-NEXT: movls r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[0] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[1] @@ -1682,7 +1682,7 @@ ; CHECK-MVE-NEXT: movls r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q3[1] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s18, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -1701,7 +1701,7 @@ ; CHECK-MVE-NEXT: movls r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s20, r2 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[2] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1721,7 +1721,7 @@ ; CHECK-MVE-NEXT: movls r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] @@ -1740,7 +1740,7 @@ ; CHECK-MVE-NEXT: movls r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] @@ -1759,7 +1759,7 @@ ; CHECK-MVE-NEXT: movls r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] @@ -1778,7 +1778,7 @@ ; CHECK-MVE-NEXT: movls r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s20, s22, s20 @@ -1796,7 +1796,7 @@ ; CHECK-MVE-NEXT: movls r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q3[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -1836,7 +1836,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[1] ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1856,7 +1856,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov.u16 r3, q3[0] ; CHECK-MVE-NEXT: vmov s18, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 @@ -1879,7 +1879,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[2] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1900,7 +1900,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[3] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1921,7 +1921,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[4] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1942,7 +1942,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[5] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1963,7 +1963,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[6] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1983,7 +1983,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r1, q3[7] ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -2025,7 +2025,7 @@ ; CHECK-MVE-NEXT: movne r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[0] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[1] @@ -2044,7 +2044,7 @@ ; CHECK-MVE-NEXT: movne r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q3[1] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s18, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -2063,7 +2063,7 @@ ; CHECK-MVE-NEXT: movne r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s20, r2 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[2] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -2083,7 +2083,7 @@ ; CHECK-MVE-NEXT: movne r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] @@ -2102,7 +2102,7 @@ ; CHECK-MVE-NEXT: movne r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] @@ -2121,7 +2121,7 @@ ; CHECK-MVE-NEXT: movne r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] @@ -2140,7 +2140,7 @@ ; CHECK-MVE-NEXT: movne r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s20, s22, s20 @@ -2158,7 +2158,7 @@ ; CHECK-MVE-NEXT: movne r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q3[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -2197,7 +2197,7 @@ ; CHECK-MVE-NEXT: movhi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[0] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[1] @@ -2216,7 +2216,7 @@ ; CHECK-MVE-NEXT: movhi r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q3[1] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s18, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -2235,7 +2235,7 @@ ; CHECK-MVE-NEXT: movhi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s20, r2 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[2] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -2255,7 +2255,7 @@ ; CHECK-MVE-NEXT: movhi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] @@ -2274,7 +2274,7 @@ ; CHECK-MVE-NEXT: movhi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] @@ -2293,7 +2293,7 @@ ; CHECK-MVE-NEXT: movhi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] @@ -2312,7 +2312,7 @@ ; CHECK-MVE-NEXT: movhi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s20, s22, s20 @@ -2330,7 +2330,7 @@ ; CHECK-MVE-NEXT: movhi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q3[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -2370,7 +2370,7 @@ ; CHECK-MVE-NEXT: movpl r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[0] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[1] @@ -2389,7 +2389,7 @@ ; CHECK-MVE-NEXT: movpl r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q3[1] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s18, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -2408,7 +2408,7 @@ ; CHECK-MVE-NEXT: movpl r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s20, r2 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[2] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -2428,7 +2428,7 @@ ; CHECK-MVE-NEXT: movpl r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] @@ -2447,7 +2447,7 @@ ; CHECK-MVE-NEXT: movpl r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] @@ -2466,7 +2466,7 @@ ; CHECK-MVE-NEXT: movpl r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] @@ -2485,7 +2485,7 @@ ; CHECK-MVE-NEXT: movpl r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s20, s22, s20 @@ -2503,7 +2503,7 @@ ; CHECK-MVE-NEXT: movpl r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q3[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -2543,7 +2543,7 @@ ; CHECK-MVE-NEXT: movlt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[0] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[1] @@ -2562,7 +2562,7 @@ ; CHECK-MVE-NEXT: movlt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q3[1] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s18, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -2581,7 +2581,7 @@ ; CHECK-MVE-NEXT: movlt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s20, r2 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[2] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -2601,7 +2601,7 @@ ; CHECK-MVE-NEXT: movlt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] @@ -2620,7 +2620,7 @@ ; CHECK-MVE-NEXT: movlt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] @@ -2639,7 +2639,7 @@ ; CHECK-MVE-NEXT: movlt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] @@ -2658,7 +2658,7 @@ ; CHECK-MVE-NEXT: movlt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s20, s22, s20 @@ -2676,7 +2676,7 @@ ; CHECK-MVE-NEXT: movlt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q3[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -2716,7 +2716,7 @@ ; CHECK-MVE-NEXT: movle r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[0] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[1] @@ -2735,7 +2735,7 @@ ; CHECK-MVE-NEXT: movle r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q3[1] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s18, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -2754,7 +2754,7 @@ ; CHECK-MVE-NEXT: movle r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s20, r2 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[2] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -2774,7 +2774,7 @@ ; CHECK-MVE-NEXT: movle r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] @@ -2793,7 +2793,7 @@ ; CHECK-MVE-NEXT: movle r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] @@ -2812,7 +2812,7 @@ ; CHECK-MVE-NEXT: movle r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] @@ -2831,7 +2831,7 @@ ; CHECK-MVE-NEXT: movle r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s20, s22, s20 @@ -2849,7 +2849,7 @@ ; CHECK-MVE-NEXT: movle r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q3[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -2889,7 +2889,7 @@ ; CHECK-MVE-NEXT: movvc r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[0] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[1] @@ -2908,7 +2908,7 @@ ; CHECK-MVE-NEXT: movvc r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q3[1] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s18, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -2927,7 +2927,7 @@ ; CHECK-MVE-NEXT: movvc r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s20, r2 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[2] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -2947,7 +2947,7 @@ ; CHECK-MVE-NEXT: movvc r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] @@ -2966,7 +2966,7 @@ ; CHECK-MVE-NEXT: movvc r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] @@ -2985,7 +2985,7 @@ ; CHECK-MVE-NEXT: movvc r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] @@ -3004,7 +3004,7 @@ ; CHECK-MVE-NEXT: movvc r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s20, s22, s20 @@ -3022,7 +3022,7 @@ ; CHECK-MVE-NEXT: movvc r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q3[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -3064,7 +3064,7 @@ ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[0] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[1] @@ -3083,7 +3083,7 @@ ; CHECK-MVE-NEXT: movvs r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q3[1] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s18, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -3102,7 +3102,7 @@ ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s20, r2 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q3[2] ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -3122,7 +3122,7 @@ ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] @@ -3141,7 +3141,7 @@ ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] @@ -3160,7 +3160,7 @@ ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] @@ -3179,7 +3179,7 @@ ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q3[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s22, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s20, s22, s20 @@ -3197,7 +3197,7 @@ ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q3[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 Index: llvm/test/CodeGen/Thumb2/mve-vcmpfr.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-vcmpfr.ll +++ llvm/test/CodeGen/Thumb2/mve-vcmpfr.ll @@ -12,27 +12,27 @@ ; CHECK-MVE-NEXT: moveq r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmp.f32 s1, s4 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmp.f32 s2, s4 ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmp.f32 s3, s4 ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -72,7 +72,7 @@ ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmp.f32 s1, s4 ; CHECK-MVE-NEXT: mov.w r2, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r2, #1 @@ -81,7 +81,7 @@ ; CHECK-MVE-NEXT: movgt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: mov.w r3, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r3, #1 @@ -90,14 +90,14 @@ ; CHECK-MVE-NEXT: cmp r3, #0 ; CHECK-MVE-NEXT: mov.w r0, #0 ; CHECK-MVE-NEXT: vcmp.f32 s3, s4 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r0, #1 ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -136,27 +136,27 @@ ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s4 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s4 ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s4 ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -191,27 +191,27 @@ ; CHECK-MVE-NEXT: movge r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s4 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s4 ; CHECK-MVE-NEXT: it ge ; CHECK-MVE-NEXT: movge r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s4 ; CHECK-MVE-NEXT: it ge ; CHECK-MVE-NEXT: movge r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it ge ; CHECK-MVE-NEXT: movge r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -246,27 +246,27 @@ ; CHECK-MVE-NEXT: movmi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s4 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s4 ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s4 ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -302,27 +302,27 @@ ; CHECK-MVE-NEXT: movls r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s4 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s4 ; CHECK-MVE-NEXT: it ls ; CHECK-MVE-NEXT: movls r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s4 ; CHECK-MVE-NEXT: it ls ; CHECK-MVE-NEXT: movls r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it ls ; CHECK-MVE-NEXT: movls r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -363,7 +363,7 @@ ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmp.f32 s1, s4 ; CHECK-MVE-NEXT: mov.w r2, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r2, #1 @@ -372,7 +372,7 @@ ; CHECK-MVE-NEXT: movvs r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: mov.w r3, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r3, #1 @@ -381,14 +381,14 @@ ; CHECK-MVE-NEXT: cmp r3, #0 ; CHECK-MVE-NEXT: mov.w r0, #0 ; CHECK-MVE-NEXT: vcmp.f32 s3, s4 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r0, #1 ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -426,27 +426,27 @@ ; CHECK-MVE-NEXT: movne r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmp.f32 s1, s4 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmp.f32 s2, s4 ; CHECK-MVE-NEXT: it ne ; CHECK-MVE-NEXT: movne r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmp.f32 s3, s4 ; CHECK-MVE-NEXT: it ne ; CHECK-MVE-NEXT: movne r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it ne ; CHECK-MVE-NEXT: movne r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -481,27 +481,27 @@ ; CHECK-MVE-NEXT: movhi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s4 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s4 ; CHECK-MVE-NEXT: it hi ; CHECK-MVE-NEXT: movhi r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s4 ; CHECK-MVE-NEXT: it hi ; CHECK-MVE-NEXT: movhi r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it hi ; CHECK-MVE-NEXT: movhi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -538,27 +538,27 @@ ; CHECK-MVE-NEXT: movpl r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s4 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s4 ; CHECK-MVE-NEXT: it pl ; CHECK-MVE-NEXT: movpl r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s4 ; CHECK-MVE-NEXT: it pl ; CHECK-MVE-NEXT: movpl r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it pl ; CHECK-MVE-NEXT: movpl r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -595,27 +595,27 @@ ; CHECK-MVE-NEXT: movlt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s4 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s4 ; CHECK-MVE-NEXT: it lt ; CHECK-MVE-NEXT: movlt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s4 ; CHECK-MVE-NEXT: it lt ; CHECK-MVE-NEXT: movlt r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it lt ; CHECK-MVE-NEXT: movlt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -651,27 +651,27 @@ ; CHECK-MVE-NEXT: movle r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s4 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s4 ; CHECK-MVE-NEXT: it le ; CHECK-MVE-NEXT: movle r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s4 ; CHECK-MVE-NEXT: it le ; CHECK-MVE-NEXT: movle r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it le ; CHECK-MVE-NEXT: movle r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -707,27 +707,27 @@ ; CHECK-MVE-NEXT: movvc r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s4 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s4 ; CHECK-MVE-NEXT: it vc ; CHECK-MVE-NEXT: movvc r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s4 ; CHECK-MVE-NEXT: it vc ; CHECK-MVE-NEXT: movvc r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it vc ; CHECK-MVE-NEXT: movvc r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -766,27 +766,27 @@ ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s4 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s4 ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s4 ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s15, s11 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -832,7 +832,7 @@ ; CHECK-MVE-NEXT: moveq r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov s12, r2 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -849,7 +849,7 @@ ; CHECK-MVE-NEXT: moveq r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: mov.w r1, #0 @@ -868,7 +868,7 @@ ; CHECK-MVE-NEXT: moveq r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -885,7 +885,7 @@ ; CHECK-MVE-NEXT: moveq r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -902,7 +902,7 @@ ; CHECK-MVE-NEXT: moveq r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -919,7 +919,7 @@ ; CHECK-MVE-NEXT: moveq r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -936,7 +936,7 @@ ; CHECK-MVE-NEXT: moveq r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s18, s20, s18 @@ -953,7 +953,7 @@ ; CHECK-MVE-NEXT: vmov.u16 r0, q2[7] ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s2, r0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 ; CHECK-MVE-NEXT: vmov r0, s0 @@ -995,7 +995,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s12, r2 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[0] ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1015,7 +1015,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov.u16 r3, q2[1] ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 @@ -1034,7 +1034,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1054,7 +1054,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1073,7 +1073,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1092,7 +1092,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1111,7 +1111,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1131,7 +1131,7 @@ ; CHECK-MVE-NEXT: vmov.u16 r0, q2[7] ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s2, r0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 ; CHECK-MVE-NEXT: vmov r0, s0 @@ -1176,7 +1176,7 @@ ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov s12, r2 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1193,7 +1193,7 @@ ; CHECK-MVE-NEXT: movgt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: mov.w r1, #0 @@ -1212,7 +1212,7 @@ ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -1229,7 +1229,7 @@ ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -1246,7 +1246,7 @@ ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -1263,7 +1263,7 @@ ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -1280,7 +1280,7 @@ ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s18, s20, s18 @@ -1297,7 +1297,7 @@ ; CHECK-MVE-NEXT: vmov.u16 r0, q2[7] ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s2, r0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 ; CHECK-MVE-NEXT: vmov r0, s0 @@ -1338,7 +1338,7 @@ ; CHECK-MVE-NEXT: movge r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov s12, r2 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1355,7 +1355,7 @@ ; CHECK-MVE-NEXT: movge r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: mov.w r1, #0 @@ -1374,7 +1374,7 @@ ; CHECK-MVE-NEXT: movge r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -1391,7 +1391,7 @@ ; CHECK-MVE-NEXT: movge r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -1408,7 +1408,7 @@ ; CHECK-MVE-NEXT: movge r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -1425,7 +1425,7 @@ ; CHECK-MVE-NEXT: movge r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -1442,7 +1442,7 @@ ; CHECK-MVE-NEXT: movge r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s18, s20, s18 @@ -1459,7 +1459,7 @@ ; CHECK-MVE-NEXT: vmov.u16 r0, q2[7] ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s2, r0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 ; CHECK-MVE-NEXT: vmov r0, s0 @@ -1500,7 +1500,7 @@ ; CHECK-MVE-NEXT: movmi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov s12, r2 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1517,7 +1517,7 @@ ; CHECK-MVE-NEXT: movmi r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: mov.w r1, #0 @@ -1536,7 +1536,7 @@ ; CHECK-MVE-NEXT: movmi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -1553,7 +1553,7 @@ ; CHECK-MVE-NEXT: movmi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -1570,7 +1570,7 @@ ; CHECK-MVE-NEXT: movmi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -1587,7 +1587,7 @@ ; CHECK-MVE-NEXT: movmi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -1604,7 +1604,7 @@ ; CHECK-MVE-NEXT: movmi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s18, s20, s18 @@ -1621,7 +1621,7 @@ ; CHECK-MVE-NEXT: vmov.u16 r0, q2[7] ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s2, r0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 ; CHECK-MVE-NEXT: vmov r0, s0 @@ -1663,7 +1663,7 @@ ; CHECK-MVE-NEXT: movls r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov s12, r2 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1680,7 +1680,7 @@ ; CHECK-MVE-NEXT: movls r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: mov.w r1, #0 @@ -1699,7 +1699,7 @@ ; CHECK-MVE-NEXT: movls r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -1716,7 +1716,7 @@ ; CHECK-MVE-NEXT: movls r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -1733,7 +1733,7 @@ ; CHECK-MVE-NEXT: movls r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -1750,7 +1750,7 @@ ; CHECK-MVE-NEXT: movls r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -1767,7 +1767,7 @@ ; CHECK-MVE-NEXT: movls r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s18, s20, s18 @@ -1784,7 +1784,7 @@ ; CHECK-MVE-NEXT: vmov.u16 r0, q2[7] ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s2, r0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 ; CHECK-MVE-NEXT: vmov r0, s0 @@ -1827,7 +1827,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s12, r2 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[0] ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1847,7 +1847,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov.u16 r3, q2[1] ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 @@ -1866,7 +1866,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1886,7 +1886,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1905,7 +1905,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1924,7 +1924,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1943,7 +1943,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1963,7 +1963,7 @@ ; CHECK-MVE-NEXT: vmov.u16 r0, q2[7] ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s2, r0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 ; CHECK-MVE-NEXT: vmov r0, s0 @@ -2007,7 +2007,7 @@ ; CHECK-MVE-NEXT: movne r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov s12, r2 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -2024,7 +2024,7 @@ ; CHECK-MVE-NEXT: movne r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: mov.w r1, #0 @@ -2043,7 +2043,7 @@ ; CHECK-MVE-NEXT: movne r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -2060,7 +2060,7 @@ ; CHECK-MVE-NEXT: movne r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -2077,7 +2077,7 @@ ; CHECK-MVE-NEXT: movne r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -2094,7 +2094,7 @@ ; CHECK-MVE-NEXT: movne r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -2111,7 +2111,7 @@ ; CHECK-MVE-NEXT: movne r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s18, s20, s18 @@ -2128,7 +2128,7 @@ ; CHECK-MVE-NEXT: vmov.u16 r0, q2[7] ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s2, r0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 ; CHECK-MVE-NEXT: vmov r0, s0 @@ -2169,7 +2169,7 @@ ; CHECK-MVE-NEXT: movhi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov s12, r2 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -2186,7 +2186,7 @@ ; CHECK-MVE-NEXT: movhi r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: mov.w r1, #0 @@ -2205,7 +2205,7 @@ ; CHECK-MVE-NEXT: movhi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -2222,7 +2222,7 @@ ; CHECK-MVE-NEXT: movhi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -2239,7 +2239,7 @@ ; CHECK-MVE-NEXT: movhi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -2256,7 +2256,7 @@ ; CHECK-MVE-NEXT: movhi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -2273,7 +2273,7 @@ ; CHECK-MVE-NEXT: movhi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s18, s20, s18 @@ -2290,7 +2290,7 @@ ; CHECK-MVE-NEXT: vmov.u16 r0, q2[7] ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s2, r0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 ; CHECK-MVE-NEXT: vmov r0, s0 @@ -2333,7 +2333,7 @@ ; CHECK-MVE-NEXT: movpl r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov s12, r2 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -2350,7 +2350,7 @@ ; CHECK-MVE-NEXT: movpl r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: mov.w r1, #0 @@ -2369,7 +2369,7 @@ ; CHECK-MVE-NEXT: movpl r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -2386,7 +2386,7 @@ ; CHECK-MVE-NEXT: movpl r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -2403,7 +2403,7 @@ ; CHECK-MVE-NEXT: movpl r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -2420,7 +2420,7 @@ ; CHECK-MVE-NEXT: movpl r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -2437,7 +2437,7 @@ ; CHECK-MVE-NEXT: movpl r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s18, s20, s18 @@ -2454,7 +2454,7 @@ ; CHECK-MVE-NEXT: vmov.u16 r0, q2[7] ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s2, r0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 ; CHECK-MVE-NEXT: vmov r0, s0 @@ -2497,7 +2497,7 @@ ; CHECK-MVE-NEXT: movlt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov s12, r2 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -2514,7 +2514,7 @@ ; CHECK-MVE-NEXT: movlt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: mov.w r1, #0 @@ -2533,7 +2533,7 @@ ; CHECK-MVE-NEXT: movlt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -2550,7 +2550,7 @@ ; CHECK-MVE-NEXT: movlt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -2567,7 +2567,7 @@ ; CHECK-MVE-NEXT: movlt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -2584,7 +2584,7 @@ ; CHECK-MVE-NEXT: movlt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -2601,7 +2601,7 @@ ; CHECK-MVE-NEXT: movlt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s18, s20, s18 @@ -2618,7 +2618,7 @@ ; CHECK-MVE-NEXT: vmov.u16 r0, q2[7] ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s2, r0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 ; CHECK-MVE-NEXT: vmov r0, s0 @@ -2660,7 +2660,7 @@ ; CHECK-MVE-NEXT: movle r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov s12, r2 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -2677,7 +2677,7 @@ ; CHECK-MVE-NEXT: movle r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: mov.w r1, #0 @@ -2696,7 +2696,7 @@ ; CHECK-MVE-NEXT: movle r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -2713,7 +2713,7 @@ ; CHECK-MVE-NEXT: movle r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -2730,7 +2730,7 @@ ; CHECK-MVE-NEXT: movle r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -2747,7 +2747,7 @@ ; CHECK-MVE-NEXT: movle r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -2764,7 +2764,7 @@ ; CHECK-MVE-NEXT: movle r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s18, s20, s18 @@ -2781,7 +2781,7 @@ ; CHECK-MVE-NEXT: vmov.u16 r0, q2[7] ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s2, r0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 ; CHECK-MVE-NEXT: vmov r0, s0 @@ -2823,7 +2823,7 @@ ; CHECK-MVE-NEXT: movvc r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov s12, r2 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -2840,7 +2840,7 @@ ; CHECK-MVE-NEXT: movvc r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: mov.w r1, #0 @@ -2859,7 +2859,7 @@ ; CHECK-MVE-NEXT: movvc r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -2876,7 +2876,7 @@ ; CHECK-MVE-NEXT: movvc r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -2893,7 +2893,7 @@ ; CHECK-MVE-NEXT: movvc r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -2910,7 +2910,7 @@ ; CHECK-MVE-NEXT: movvc r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -2927,7 +2927,7 @@ ; CHECK-MVE-NEXT: movvc r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s18, s20, s18 @@ -2944,7 +2944,7 @@ ; CHECK-MVE-NEXT: vmov.u16 r0, q2[7] ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s2, r0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 ; CHECK-MVE-NEXT: vmov r0, s0 @@ -2989,7 +2989,7 @@ ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov s12, r2 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -3006,7 +3006,7 @@ ; CHECK-MVE-NEXT: movvs r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: mov.w r1, #0 @@ -3025,7 +3025,7 @@ ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -3042,7 +3042,7 @@ ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -3059,7 +3059,7 @@ ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -3076,7 +3076,7 @@ ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -3093,7 +3093,7 @@ ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s20, r2 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s18, s20, s18 @@ -3110,7 +3110,7 @@ ; CHECK-MVE-NEXT: vmov.u16 r0, q2[7] ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov s2, r0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 ; CHECK-MVE-NEXT: vmov r0, s0 Index: llvm/test/CodeGen/Thumb2/mve-vcmpfz.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-vcmpfz.ll +++ llvm/test/CodeGen/Thumb2/mve-vcmpfz.ll @@ -12,27 +12,27 @@ ; CHECK-MVE-NEXT: moveq r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmp.f32 s1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmp.f32 s2, #0 ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmp.f32 s3, #0 ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s11, s7 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -69,7 +69,7 @@ ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmp.f32 s1, #0 ; CHECK-MVE-NEXT: mov.w r2, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r2, #1 @@ -78,7 +78,7 @@ ; CHECK-MVE-NEXT: movgt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: mov.w r3, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r3, #1 @@ -87,14 +87,14 @@ ; CHECK-MVE-NEXT: cmp r3, #0 ; CHECK-MVE-NEXT: mov.w r0, #0 ; CHECK-MVE-NEXT: vcmp.f32 s3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r0, #1 ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s11, s7 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -130,27 +130,27 @@ ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, #0 ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, #0 ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s11, s7 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -182,27 +182,27 @@ ; CHECK-MVE-NEXT: movge r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, #0 ; CHECK-MVE-NEXT: it ge ; CHECK-MVE-NEXT: movge r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, #0 ; CHECK-MVE-NEXT: it ge ; CHECK-MVE-NEXT: movge r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it ge ; CHECK-MVE-NEXT: movge r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s11, s7 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -234,27 +234,27 @@ ; CHECK-MVE-NEXT: movmi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, #0 ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, #0 ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it mi ; CHECK-MVE-NEXT: movmi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s11, s7 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -286,27 +286,27 @@ ; CHECK-MVE-NEXT: movls r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, #0 ; CHECK-MVE-NEXT: it ls ; CHECK-MVE-NEXT: movls r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, #0 ; CHECK-MVE-NEXT: it ls ; CHECK-MVE-NEXT: movls r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it ls ; CHECK-MVE-NEXT: movls r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s11, s7 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -343,7 +343,7 @@ ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmp.f32 s1, #0 ; CHECK-MVE-NEXT: mov.w r2, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r2, #1 @@ -352,7 +352,7 @@ ; CHECK-MVE-NEXT: movvs r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: mov.w r3, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r3, #1 @@ -361,14 +361,14 @@ ; CHECK-MVE-NEXT: cmp r3, #0 ; CHECK-MVE-NEXT: mov.w r0, #0 ; CHECK-MVE-NEXT: vcmp.f32 s3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it eq ; CHECK-MVE-NEXT: moveq r0, #1 ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s11, s7 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -403,27 +403,27 @@ ; CHECK-MVE-NEXT: movne r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmp.f32 s1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmp.f32 s2, #0 ; CHECK-MVE-NEXT: it ne ; CHECK-MVE-NEXT: movne r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmp.f32 s3, #0 ; CHECK-MVE-NEXT: it ne ; CHECK-MVE-NEXT: movne r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it ne ; CHECK-MVE-NEXT: movne r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s11, s7 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -455,27 +455,27 @@ ; CHECK-MVE-NEXT: movhi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, #0 ; CHECK-MVE-NEXT: it hi ; CHECK-MVE-NEXT: movhi r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, #0 ; CHECK-MVE-NEXT: it hi ; CHECK-MVE-NEXT: movhi r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it hi ; CHECK-MVE-NEXT: movhi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s11, s7 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -508,27 +508,27 @@ ; CHECK-MVE-NEXT: movpl r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, #0 ; CHECK-MVE-NEXT: it pl ; CHECK-MVE-NEXT: movpl r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, #0 ; CHECK-MVE-NEXT: it pl ; CHECK-MVE-NEXT: movpl r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it pl ; CHECK-MVE-NEXT: movpl r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s11, s7 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -561,27 +561,27 @@ ; CHECK-MVE-NEXT: movlt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, #0 ; CHECK-MVE-NEXT: it lt ; CHECK-MVE-NEXT: movlt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, #0 ; CHECK-MVE-NEXT: it lt ; CHECK-MVE-NEXT: movlt r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it lt ; CHECK-MVE-NEXT: movlt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s11, s7 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -614,27 +614,27 @@ ; CHECK-MVE-NEXT: movle r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, #0 ; CHECK-MVE-NEXT: it le ; CHECK-MVE-NEXT: movle r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, #0 ; CHECK-MVE-NEXT: it le ; CHECK-MVE-NEXT: movle r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it le ; CHECK-MVE-NEXT: movle r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s11, s7 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -667,27 +667,27 @@ ; CHECK-MVE-NEXT: movvc r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s1 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s2 ; CHECK-MVE-NEXT: it vc ; CHECK-MVE-NEXT: movvc r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s3 ; CHECK-MVE-NEXT: it vc ; CHECK-MVE-NEXT: movvc r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it vc ; CHECK-MVE-NEXT: movvc r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s11, s7 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -723,27 +723,27 @@ ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s1, s1 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r2, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s2, s2 ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: mov.w r3, #0 ; CHECK-MVE-NEXT: vcmpe.f32 s3, s3 ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r3, #1 ; CHECK-MVE-NEXT: cmp r3, #0 -; CHECK-MVE-NEXT: csinc r3, zr, zr, eq +; CHECK-MVE-NEXT: cset r3, ne ; CHECK-MVE-NEXT: movs r0, #0 ; CHECK-MVE-NEXT: vmrs APSR_nzcv, fpscr ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f32 s3, s11, s7 ; CHECK-MVE-NEXT: lsls r0, r3, #31 @@ -786,7 +786,7 @@ ; CHECK-MVE-NEXT: moveq r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q0[0] @@ -803,7 +803,7 @@ ; CHECK-MVE-NEXT: moveq r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s12, s14, s12 @@ -821,7 +821,7 @@ ; CHECK-MVE-NEXT: moveq r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -838,7 +838,7 @@ ; CHECK-MVE-NEXT: moveq r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -855,7 +855,7 @@ ; CHECK-MVE-NEXT: moveq r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -872,7 +872,7 @@ ; CHECK-MVE-NEXT: moveq r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -889,7 +889,7 @@ ; CHECK-MVE-NEXT: moveq r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -905,7 +905,7 @@ ; CHECK-MVE-NEXT: moveq r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q2[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -943,7 +943,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[0] ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -961,7 +961,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov.u16 r3, q2[1] ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 @@ -981,7 +981,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s16, r2 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1001,7 +1001,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1020,7 +1020,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1039,7 +1039,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1058,7 +1058,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1076,7 +1076,7 @@ ; CHECK-MVE-NEXT: it gt ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r1, q2[7] ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1118,7 +1118,7 @@ ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q0[0] @@ -1135,7 +1135,7 @@ ; CHECK-MVE-NEXT: movgt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s12, s14, s12 @@ -1153,7 +1153,7 @@ ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -1170,7 +1170,7 @@ ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -1187,7 +1187,7 @@ ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -1204,7 +1204,7 @@ ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -1221,7 +1221,7 @@ ; CHECK-MVE-NEXT: movgt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -1237,7 +1237,7 @@ ; CHECK-MVE-NEXT: movgt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q2[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -1274,7 +1274,7 @@ ; CHECK-MVE-NEXT: movge r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q0[0] @@ -1291,7 +1291,7 @@ ; CHECK-MVE-NEXT: movge r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s12, s14, s12 @@ -1309,7 +1309,7 @@ ; CHECK-MVE-NEXT: movge r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -1326,7 +1326,7 @@ ; CHECK-MVE-NEXT: movge r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -1343,7 +1343,7 @@ ; CHECK-MVE-NEXT: movge r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -1360,7 +1360,7 @@ ; CHECK-MVE-NEXT: movge r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -1377,7 +1377,7 @@ ; CHECK-MVE-NEXT: movge r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -1393,7 +1393,7 @@ ; CHECK-MVE-NEXT: movge r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q2[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -1430,7 +1430,7 @@ ; CHECK-MVE-NEXT: movmi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q0[0] @@ -1447,7 +1447,7 @@ ; CHECK-MVE-NEXT: movmi r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s12, s14, s12 @@ -1465,7 +1465,7 @@ ; CHECK-MVE-NEXT: movmi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -1482,7 +1482,7 @@ ; CHECK-MVE-NEXT: movmi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -1499,7 +1499,7 @@ ; CHECK-MVE-NEXT: movmi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -1516,7 +1516,7 @@ ; CHECK-MVE-NEXT: movmi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -1533,7 +1533,7 @@ ; CHECK-MVE-NEXT: movmi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -1549,7 +1549,7 @@ ; CHECK-MVE-NEXT: movmi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q2[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -1586,7 +1586,7 @@ ; CHECK-MVE-NEXT: movls r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q0[0] @@ -1603,7 +1603,7 @@ ; CHECK-MVE-NEXT: movls r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s12, s14, s12 @@ -1621,7 +1621,7 @@ ; CHECK-MVE-NEXT: movls r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -1638,7 +1638,7 @@ ; CHECK-MVE-NEXT: movls r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -1655,7 +1655,7 @@ ; CHECK-MVE-NEXT: movls r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -1672,7 +1672,7 @@ ; CHECK-MVE-NEXT: movls r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -1689,7 +1689,7 @@ ; CHECK-MVE-NEXT: movls r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -1705,7 +1705,7 @@ ; CHECK-MVE-NEXT: movls r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q2[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -1743,7 +1743,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[0] ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1761,7 +1761,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov.u16 r3, q2[1] ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 @@ -1781,7 +1781,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s16, r2 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1801,7 +1801,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1820,7 +1820,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1839,7 +1839,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1858,7 +1858,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 @@ -1876,7 +1876,7 @@ ; CHECK-MVE-NEXT: it vs ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov.u16 r1, q2[7] ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 @@ -1917,7 +1917,7 @@ ; CHECK-MVE-NEXT: movne r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q0[0] @@ -1934,7 +1934,7 @@ ; CHECK-MVE-NEXT: movne r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s12, s14, s12 @@ -1952,7 +1952,7 @@ ; CHECK-MVE-NEXT: movne r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -1969,7 +1969,7 @@ ; CHECK-MVE-NEXT: movne r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -1986,7 +1986,7 @@ ; CHECK-MVE-NEXT: movne r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -2003,7 +2003,7 @@ ; CHECK-MVE-NEXT: movne r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -2020,7 +2020,7 @@ ; CHECK-MVE-NEXT: movne r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -2036,7 +2036,7 @@ ; CHECK-MVE-NEXT: movne r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q2[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -2073,7 +2073,7 @@ ; CHECK-MVE-NEXT: movhi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q0[0] @@ -2090,7 +2090,7 @@ ; CHECK-MVE-NEXT: movhi r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s12, s14, s12 @@ -2108,7 +2108,7 @@ ; CHECK-MVE-NEXT: movhi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -2125,7 +2125,7 @@ ; CHECK-MVE-NEXT: movhi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -2142,7 +2142,7 @@ ; CHECK-MVE-NEXT: movhi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -2159,7 +2159,7 @@ ; CHECK-MVE-NEXT: movhi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -2176,7 +2176,7 @@ ; CHECK-MVE-NEXT: movhi r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -2192,7 +2192,7 @@ ; CHECK-MVE-NEXT: movhi r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q2[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -2230,7 +2230,7 @@ ; CHECK-MVE-NEXT: movpl r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q0[0] @@ -2247,7 +2247,7 @@ ; CHECK-MVE-NEXT: movpl r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s12, s14, s12 @@ -2265,7 +2265,7 @@ ; CHECK-MVE-NEXT: movpl r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -2282,7 +2282,7 @@ ; CHECK-MVE-NEXT: movpl r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -2299,7 +2299,7 @@ ; CHECK-MVE-NEXT: movpl r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -2316,7 +2316,7 @@ ; CHECK-MVE-NEXT: movpl r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -2333,7 +2333,7 @@ ; CHECK-MVE-NEXT: movpl r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -2349,7 +2349,7 @@ ; CHECK-MVE-NEXT: movpl r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q2[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -2387,7 +2387,7 @@ ; CHECK-MVE-NEXT: movlt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q0[0] @@ -2404,7 +2404,7 @@ ; CHECK-MVE-NEXT: movlt r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s12, s14, s12 @@ -2422,7 +2422,7 @@ ; CHECK-MVE-NEXT: movlt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -2439,7 +2439,7 @@ ; CHECK-MVE-NEXT: movlt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -2456,7 +2456,7 @@ ; CHECK-MVE-NEXT: movlt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -2473,7 +2473,7 @@ ; CHECK-MVE-NEXT: movlt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -2490,7 +2490,7 @@ ; CHECK-MVE-NEXT: movlt r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -2506,7 +2506,7 @@ ; CHECK-MVE-NEXT: movlt r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q2[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -2544,7 +2544,7 @@ ; CHECK-MVE-NEXT: movle r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q0[0] @@ -2561,7 +2561,7 @@ ; CHECK-MVE-NEXT: movle r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s12, s14, s12 @@ -2579,7 +2579,7 @@ ; CHECK-MVE-NEXT: movle r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -2596,7 +2596,7 @@ ; CHECK-MVE-NEXT: movle r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -2613,7 +2613,7 @@ ; CHECK-MVE-NEXT: movle r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -2630,7 +2630,7 @@ ; CHECK-MVE-NEXT: movle r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -2647,7 +2647,7 @@ ; CHECK-MVE-NEXT: movle r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -2663,7 +2663,7 @@ ; CHECK-MVE-NEXT: movle r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q2[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -2701,7 +2701,7 @@ ; CHECK-MVE-NEXT: movvc r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q0[0] @@ -2718,7 +2718,7 @@ ; CHECK-MVE-NEXT: movvc r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s12, s14, s12 @@ -2736,7 +2736,7 @@ ; CHECK-MVE-NEXT: movvc r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -2753,7 +2753,7 @@ ; CHECK-MVE-NEXT: movvc r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -2770,7 +2770,7 @@ ; CHECK-MVE-NEXT: movvc r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -2787,7 +2787,7 @@ ; CHECK-MVE-NEXT: movvc r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -2804,7 +2804,7 @@ ; CHECK-MVE-NEXT: movvc r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -2820,7 +2820,7 @@ ; CHECK-MVE-NEXT: movvc r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q2[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 @@ -2861,7 +2861,7 @@ ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[1] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s14, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q0[0] @@ -2878,7 +2878,7 @@ ; CHECK-MVE-NEXT: movvs r2, #1 ; CHECK-MVE-NEXT: cmp r2, #0 ; CHECK-MVE-NEXT: vmov.u16 r3, q2[0] -; CHECK-MVE-NEXT: csinc r2, zr, zr, eq +; CHECK-MVE-NEXT: cset r2, ne ; CHECK-MVE-NEXT: vmov s14, r3 ; CHECK-MVE-NEXT: lsls r2, r2, #31 ; CHECK-MVE-NEXT: vseleq.f16 s12, s14, s12 @@ -2896,7 +2896,7 @@ ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[2] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[3] @@ -2913,7 +2913,7 @@ ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[3] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[4] @@ -2930,7 +2930,7 @@ ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[4] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[5] @@ -2947,7 +2947,7 @@ ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[5] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vmov.u16 r2, q1[6] @@ -2964,7 +2964,7 @@ ; CHECK-MVE-NEXT: movvs r1, #1 ; CHECK-MVE-NEXT: cmp r1, #0 ; CHECK-MVE-NEXT: vmov.u16 r2, q2[6] -; CHECK-MVE-NEXT: csinc r1, zr, zr, eq +; CHECK-MVE-NEXT: cset r1, ne ; CHECK-MVE-NEXT: vmov s18, r2 ; CHECK-MVE-NEXT: lsls r1, r1, #31 ; CHECK-MVE-NEXT: vseleq.f16 s16, s18, s16 @@ -2980,7 +2980,7 @@ ; CHECK-MVE-NEXT: movvs r0, #1 ; CHECK-MVE-NEXT: cmp r0, #0 ; CHECK-MVE-NEXT: vmov.u16 r1, q2[7] -; CHECK-MVE-NEXT: csinc r0, zr, zr, eq +; CHECK-MVE-NEXT: cset r0, ne ; CHECK-MVE-NEXT: vmov s2, r1 ; CHECK-MVE-NEXT: lsls r0, r0, #31 ; CHECK-MVE-NEXT: vseleq.f16 s0, s2, s0 Index: llvm/test/CodeGen/Thumb2/mve-vcmpr.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-vcmpr.ll +++ llvm/test/CodeGen/Thumb2/mve-vcmpr.ll @@ -444,9 +444,9 @@ ; CHECK-NEXT: eors r2, r1 ; CHECK-NEXT: eors r3, r0 ; CHECK-NEXT: orrs r2, r3 -; CHECK-NEXT: csinc r2, zr, zr, ne +; CHECK-NEXT: cset r2, eq ; CHECK-NEXT: tst.w r2, #1 -; CHECK-NEXT: csinv r2, zr, zr, eq +; CHECK-NEXT: csetm r2, ne ; CHECK-NEXT: vmov.32 q3[0], r2 ; CHECK-NEXT: vmov.32 q3[1], r2 ; CHECK-NEXT: vmov r2, s3 @@ -454,9 +454,9 @@ ; CHECK-NEXT: vmov r2, s2 ; CHECK-NEXT: eors r0, r2 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[2], r0 ; CHECK-NEXT: vmov.32 q3[3], r0 ; CHECK-NEXT: vbic q0, q2, q3 @@ -479,9 +479,9 @@ ; CHECK-NEXT: eors r2, r1 ; CHECK-NEXT: eors r3, r0 ; CHECK-NEXT: orrs r2, r3 -; CHECK-NEXT: csinc r2, zr, zr, ne +; CHECK-NEXT: cset r2, eq ; CHECK-NEXT: tst.w r2, #1 -; CHECK-NEXT: csinv r2, zr, zr, eq +; CHECK-NEXT: csetm r2, ne ; CHECK-NEXT: vmov.32 q3[0], r2 ; CHECK-NEXT: vmov.32 q3[1], r2 ; CHECK-NEXT: vmov r2, s3 @@ -489,9 +489,9 @@ ; CHECK-NEXT: vmov r2, s2 ; CHECK-NEXT: eors r0, r2 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[2], r0 ; CHECK-NEXT: vmov.32 q3[3], r0 ; CHECK-NEXT: vbic q0, q2, q3 @@ -519,16 +519,16 @@ ; CHECK-NEXT: vmov r2, s8 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s2 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[0], r0 ; CHECK-NEXT: vmov.32 q3[1], r0 ; CHECK-NEXT: vmov r0, s3 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[2], r0 ; CHECK-NEXT: vmov.32 q3[3], r0 ; CHECK-NEXT: vbic q0, q2, q3 @@ -541,7 +541,7 @@ ; CHECK-NEXT: it lt ; CHECK-NEXT: movlt r1, #1 ; CHECK-NEXT: cmp r1, #0 -; CHECK-NEXT: csinv r1, zr, zr, eq +; CHECK-NEXT: csetm r1, ne ; CHECK-NEXT: vmov.32 q3[0], r1 ; CHECK-NEXT: vmov.32 q3[1], r1 ; CHECK-NEXT: vmov r1, s2 @@ -551,33 +551,33 @@ ; CHECK-NEXT: it lt ; CHECK-NEXT: movlt r3, #1 ; CHECK-NEXT: cmp r3, #0 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: cmp.w lr, #0 ; CHECK-NEXT: vmov.32 q3[2], r0 ; CHECK-NEXT: vmov.32 q3[3], r0 -; CHECK-NEXT: csinc r0, zr, zr, eq +; CHECK-NEXT: cset r0, ne ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: cmp r1, #0 ; CHECK-NEXT: vmov.32 q4[0], r0 ; CHECK-NEXT: vmov.32 q4[1], r0 -; CHECK-NEXT: csinc r0, zr, zr, eq +; CHECK-NEXT: cset r0, ne ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q4[2], r0 ; CHECK-NEXT: vmov.32 q4[3], r0 ; CHECK-NEXT: vmov r0, s4 ; CHECK-NEXT: cmp r0, #0 -; CHECK-NEXT: csinc r0, zr, zr, eq +; CHECK-NEXT: cset r0, ne ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q5[0], r0 ; CHECK-NEXT: vmov.32 q5[1], r0 ; CHECK-NEXT: vmov r0, s6 ; CHECK-NEXT: cmp r0, #0 -; CHECK-NEXT: csinc r0, zr, zr, eq +; CHECK-NEXT: cset r0, ne ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q5[2], r0 ; CHECK-NEXT: vmov.32 q5[3], r0 ; CHECK-NEXT: vand q1, q5, q4 Index: llvm/test/CodeGen/Thumb2/mve-vcmpz.ll =================================================================== --- llvm/test/CodeGen/Thumb2/mve-vcmpz.ll +++ llvm/test/CodeGen/Thumb2/mve-vcmpz.ll @@ -365,16 +365,16 @@ ; CHECK-NEXT: vmov r1, s0 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s2 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[0], r0 ; CHECK-NEXT: vmov.32 q3[1], r0 ; CHECK-NEXT: vmov r0, s3 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[2], r0 ; CHECK-NEXT: vmov.32 q3[3], r0 ; CHECK-NEXT: vbic q0, q2, q3 @@ -394,16 +394,16 @@ ; CHECK-NEXT: vmov r1, s0 ; CHECK-NEXT: orrs r0, r1 ; CHECK-NEXT: vmov r1, s2 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[0], r0 ; CHECK-NEXT: vmov.32 q3[1], r0 ; CHECK-NEXT: vmov r0, s3 ; CHECK-NEXT: orrs r0, r1 -; CHECK-NEXT: csinc r0, zr, zr, ne +; CHECK-NEXT: cset r0, eq ; CHECK-NEXT: tst.w r0, #1 -; CHECK-NEXT: csinv r0, zr, zr, eq +; CHECK-NEXT: csetm r0, ne ; CHECK-NEXT: vmov.32 q3[2], r0 ; CHECK-NEXT: vmov.32 q3[3], r0 ; CHECK-NEXT: vbic q0, q2, q3