mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-11-19 02:30:35 +03:00
Apply some consistency to the names we give shifts
This commit is contained in:
@@ -138,7 +138,7 @@ const u8 *dvermSearchAligned(m128 chars1, m128 chars2, u8 c1, u8 c2,
|
||||
for (; buf + 16 < buf_end; buf += 16) {
|
||||
m128 data = load128(buf);
|
||||
u32 z = movemask128(and128(eq128(chars1, data),
|
||||
shiftRight8Bits(eq128(chars2, data))));
|
||||
rshiftbyte_m128(eq128(chars2, data), 1)));
|
||||
if (buf[15] == c1 && buf[16] == c2) {
|
||||
z |= (1 << 15);
|
||||
}
|
||||
@@ -161,7 +161,7 @@ const u8 *dvermSearchAlignedNocase(m128 chars1, m128 chars2, u8 c1, u8 c2,
|
||||
m128 data = load128(buf);
|
||||
m128 v = and128(casemask, data);
|
||||
u32 z = movemask128(and128(eq128(chars1, v),
|
||||
shiftRight8Bits(eq128(chars2, v))));
|
||||
rshiftbyte_m128(eq128(chars2, v), 1)));
|
||||
if ((buf[15] & CASE_CLEAR) == c1 && (buf[16] & CASE_CLEAR) == c2) {
|
||||
z |= (1 << 15);
|
||||
}
|
||||
@@ -182,8 +182,10 @@ const u8 *dvermSearchAlignedMasked(m128 chars1, m128 chars2,
|
||||
|
||||
for (; buf + 16 < buf_end; buf += 16) {
|
||||
m128 data = load128(buf);
|
||||
u32 z = movemask128(and128(eq128(chars1, and128(data, mask1)),
|
||||
shiftRight8Bits(eq128(chars2, and128(data, mask2)))));
|
||||
m128 v1 = eq128(chars1, and128(data, mask1));
|
||||
m128 v2 = eq128(chars2, and128(data, mask2));
|
||||
u32 z = movemask128(and128(v1, rshiftbyte_m128(v2, 1)));
|
||||
|
||||
if ((buf[15] & m1) == c1 && (buf[16] & m2) == c2) {
|
||||
z |= (1 << 15);
|
||||
}
|
||||
@@ -201,7 +203,7 @@ static really_inline
|
||||
const u8 *dvermPrecondition(m128 chars1, m128 chars2, const u8 *buf) {
|
||||
m128 data = loadu128(buf); // unaligned
|
||||
u32 z = movemask128(and128(eq128(chars1, data),
|
||||
shiftRight8Bits(eq128(chars2, data))));
|
||||
rshiftbyte_m128(eq128(chars2, data), 1)));
|
||||
|
||||
/* no fixup of the boundary required - the aligned run will pick it up */
|
||||
if (unlikely(z)) {
|
||||
@@ -219,7 +221,7 @@ const u8 *dvermPreconditionNocase(m128 chars1, m128 chars2, const u8 *buf) {
|
||||
m128 data = loadu128(buf); // unaligned
|
||||
m128 v = and128(casemask, data);
|
||||
u32 z = movemask128(and128(eq128(chars1, v),
|
||||
shiftRight8Bits(eq128(chars2, v))));
|
||||
rshiftbyte_m128(eq128(chars2, v), 1)));
|
||||
|
||||
/* no fixup of the boundary required - the aligned run will pick it up */
|
||||
if (unlikely(z)) {
|
||||
@@ -234,8 +236,9 @@ static really_inline
|
||||
const u8 *dvermPreconditionMasked(m128 chars1, m128 chars2,
|
||||
m128 mask1, m128 mask2, const u8 *buf) {
|
||||
m128 data = loadu128(buf); // unaligned
|
||||
u32 z = movemask128(and128(eq128(chars1, and128(data, mask1)),
|
||||
shiftRight8Bits(eq128(chars2, and128(data, mask2)))));
|
||||
m128 v1 = eq128(chars1, and128(data, mask1));
|
||||
m128 v2 = eq128(chars2, and128(data, mask2));
|
||||
u32 z = movemask128(and128(v1, rshiftbyte_m128(v2, 1)));
|
||||
|
||||
/* no fixup of the boundary required - the aligned run will pick it up */
|
||||
if (unlikely(z)) {
|
||||
@@ -324,7 +327,7 @@ const u8 *rdvermSearchAligned(m128 chars1, m128 chars2, u8 c1, u8 c2,
|
||||
for (; buf + 16 < buf_end; buf_end -= 16) {
|
||||
m128 data = load128(buf_end - 16);
|
||||
u32 z = movemask128(and128(eq128(chars2, data),
|
||||
shiftLeft8Bits(eq128(chars1, data))));
|
||||
lshiftbyte_m128(eq128(chars1, data), 1)));
|
||||
if (buf_end[-17] == c1 && buf_end[-16] == c2) {
|
||||
z |= 1;
|
||||
}
|
||||
@@ -345,7 +348,7 @@ const u8 *rdvermSearchAlignedNocase(m128 chars1, m128 chars2, u8 c1, u8 c2,
|
||||
m128 data = load128(buf_end - 16);
|
||||
m128 v = and128(casemask, data);
|
||||
u32 z = movemask128(and128(eq128(chars2, v),
|
||||
shiftLeft8Bits(eq128(chars1, v))));
|
||||
lshiftbyte_m128(eq128(chars1, v), 1)));
|
||||
if ((buf_end[-17] & CASE_CLEAR) == c1
|
||||
&& (buf_end[-16] & CASE_CLEAR) == c2) {
|
||||
z |= 1;
|
||||
@@ -362,7 +365,7 @@ static really_inline
|
||||
const u8 *rdvermPrecondition(m128 chars1, m128 chars2, const u8 *buf) {
|
||||
m128 data = loadu128(buf);
|
||||
u32 z = movemask128(and128(eq128(chars2, data),
|
||||
shiftLeft8Bits(eq128(chars1, data))));
|
||||
lshiftbyte_m128(eq128(chars1, data), 1)));
|
||||
|
||||
/* no fixup of the boundary required - the aligned run will pick it up */
|
||||
if (unlikely(z)) {
|
||||
@@ -380,7 +383,7 @@ const u8 *rdvermPreconditionNocase(m128 chars1, m128 chars2, const u8 *buf) {
|
||||
m128 data = loadu128(buf);
|
||||
m128 v = and128(casemask, data);
|
||||
u32 z = movemask128(and128(eq128(chars2, v),
|
||||
shiftLeft8Bits(eq128(chars1, v))));
|
||||
lshiftbyte_m128(eq128(chars1, v), 1)));
|
||||
/* no fixup of the boundary required - the aligned run will pick it up */
|
||||
if (unlikely(z)) {
|
||||
return lastMatchOffset(buf + 16, z);
|
||||
|
||||
Reference in New Issue
Block a user