mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
add len parameter to arm matchers as well
This commit is contained in:
parent
dcf6b59e8d
commit
41b98d7d8f
@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
template <>
|
template <>
|
||||||
really_really_inline
|
really_really_inline
|
||||||
const u8 *first_non_zero_match<16>(const u8 *buf, SuperVector<16> mask) {
|
const u8 *first_non_zero_match<16>(const u8 *buf, SuperVector<16> mask, u16 const UNUSED len) {
|
||||||
uint32x4_t m = mask.u.u32x4[0];
|
uint32x4_t m = mask.u.u32x4[0];
|
||||||
uint64_t vmax = vgetq_lane_u64 (vreinterpretq_u64_u32 (vpmaxq_u32(m, m)), 0);
|
uint64_t vmax = vgetq_lane_u64 (vreinterpretq_u64_u32 (vpmaxq_u32(m, m)), 0);
|
||||||
if (vmax != 0) {
|
if (vmax != 0) {
|
||||||
@ -48,7 +48,7 @@ const u8 *first_non_zero_match<16>(const u8 *buf, SuperVector<16> mask) {
|
|||||||
|
|
||||||
template <>
|
template <>
|
||||||
really_really_inline
|
really_really_inline
|
||||||
const u8 *last_non_zero_match<16>(const u8 *buf, SuperVector<16> mask) {
|
const u8 *last_non_zero_match<16>(const u8 *buf, SuperVector<16> mask, u16 const UNUSED len) {
|
||||||
uint32x4_t m = mask.u.u32x4[0];
|
uint32x4_t m = mask.u.u32x4[0];
|
||||||
uint64_t vmax = vgetq_lane_u64 (vreinterpretq_u64_u32 (vpmaxq_u32(m, m)), 0);
|
uint64_t vmax = vgetq_lane_u64 (vreinterpretq_u64_u32 (vpmaxq_u32(m, m)), 0);
|
||||||
if (vmax != 0) {
|
if (vmax != 0) {
|
||||||
@ -66,7 +66,7 @@ const u8 *last_non_zero_match<16>(const u8 *buf, SuperVector<16> mask) {
|
|||||||
|
|
||||||
template <>
|
template <>
|
||||||
really_really_inline
|
really_really_inline
|
||||||
const u8 *first_zero_match_inverted<16>(const u8 *buf, SuperVector<16> mask) {
|
const u8 *first_zero_match_inverted<16>(const u8 *buf, SuperVector<16> mask, u16 const UNUSED len) {
|
||||||
uint32x4_t m = mask.u.u32x4[0];
|
uint32x4_t m = mask.u.u32x4[0];
|
||||||
uint64_t vmax = vgetq_lane_u64 (vreinterpretq_u64_u32 (vpmaxq_u32(m, m)), 0);
|
uint64_t vmax = vgetq_lane_u64 (vreinterpretq_u64_u32 (vpmaxq_u32(m, m)), 0);
|
||||||
if (vmax != 0) {
|
if (vmax != 0) {
|
||||||
@ -85,7 +85,7 @@ const u8 *first_zero_match_inverted<16>(const u8 *buf, SuperVector<16> mask) {
|
|||||||
|
|
||||||
template <>
|
template <>
|
||||||
really_really_inline
|
really_really_inline
|
||||||
const u8 *last_zero_match_inverted<16>(const u8 *buf, SuperVector<16> mask) {
|
const u8 *last_zero_match_inverted<16>(const u8 *buf, SuperVector<16> mask, u16 const UNUSED len) {
|
||||||
uint32x4_t m = mask.u.u32x4[0];
|
uint32x4_t m = mask.u.u32x4[0];
|
||||||
uint64_t vmax = vgetq_lane_u64 (vreinterpretq_u64_u32 (vpmaxq_u32(m, m)), 0);
|
uint64_t vmax = vgetq_lane_u64 (vreinterpretq_u64_u32 (vpmaxq_u32(m, m)), 0);
|
||||||
if (vmax != 0) {
|
if (vmax != 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user