diff options
author | Nathan Moinvaziri <nathan@nathanm.com> | 2020-05-21 10:56:54 -0700 |
---|---|---|
committer | Hans Kristian Rosbach <hk-github@circlestorm.org> | 2020-05-24 13:53:25 +0200 |
commit | de7cfabb48c88bdba6120448f080b8f6dd941f65 (patch) | |
tree | 698792059462c4b6d9d23d68c1dd1517561b674e /compare258.c | |
parent | d26fd7a4f0218e708f32f14a3a088d0e64e40455 (diff) |
Remove additional byte comparison check in compare258 SSE4 and AVX2 functions.
Diffstat (limited to 'compare258.c')
-rw-r--r-- | compare258.c | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/compare258.c b/compare258.c index db212d1..7763bb6 100644 --- a/compare258.c +++ b/compare258.c @@ -38,8 +38,6 @@ static inline int32_t compare258_c_static(const unsigned char *src0, const unsig if (*src0 != *src1) return 1; src0 += 1, src1 += 1; - if (*src0 != *src1) - return 2; return compare256_c_static(src0, src1) + 2; } @@ -120,13 +118,7 @@ static inline int32_t compare258_unaligned_32_static(const unsigned char *src0, if (*(uint16_t *)src0 != *(uint16_t *)src1) return (*src0 == *src1); - src0 += 2, src1 += 2; - if (*src0 != *src1) - return 2; - if (src0[1] != src1[1]) - return 3; - - return compare256_unaligned_32_static(src0, src1) + 2; + return compare256_unaligned_32_static(src0+2, src1+2) + 2; } int32_t compare258_unaligned_32(const unsigned char *src0, const unsigned char *src1) { @@ -166,13 +158,7 @@ static inline int32_t compare258_unaligned_64_static(const unsigned char *src0, if (*(uint16_t *)src0 != *(uint16_t *)src1) return (*src0 == *src1); - src0 += 2, src1 += 2; - if (*src0 != *src1) - return 2; - if (src0[1] != src1[1]) - return 3; - - return compare256_unaligned_64_static(src0, src1) + 2; + return compare256_unaligned_64_static(src0+2, src1+2) + 2; } int32_t compare258_unaligned_64(const unsigned char *src0, const unsigned char *src1) { |