static really_inline
const u8 *fwdBlock(SuperVector<S> shuf_mask_lo_highclear, SuperVector<S> shuf_mask_lo_highset, SuperVector<S> chars, const u8 *buf) {
SuperVector<S> res = blockSingleMask(shuf_mask_lo_highclear, shuf_mask_lo_highset, chars);
- return firstMatch<S>(buf, res);
-
+ return first_zero_match_inverted<S>(buf, res);
}
template <uint16_t S>
simd = _mm_set_epi64x(~0LL, 0x123456789abcdef);
#elif defined(ARCH_ARM32) || defined(ARCH_AARCH64)
int64x2_t a = { 0x123456789abcdefLL, ~0LL };
+ simd = vreinterpretq_s64_s8(a);
+#elif defined(ARCH_PPC64EL)
+ int64x2_t a = {0x123456789abcdefLL, ~0LL };
+ simd = (m128) a;
+ simd = vreinterpretq_s32_s64(a);
#endif
#endif
r = movq(simd);