diff options
-rw-r--r-- | arch/x86/compare258_avx.c | 8 | ||||
-rw-r--r-- | arch/x86/compare258_sse.c | 9 | ||||
-rw-r--r-- | compare258.c | 18 |
3 files changed, 4 insertions, 31 deletions
diff --git a/arch/x86/compare258_avx.c b/arch/x86/compare258_avx.c index 0399abc..74ca87a 100644 --- a/arch/x86/compare258_avx.c +++ b/arch/x86/compare258_avx.c @@ -51,13 +51,7 @@ static inline int32_t compare258_unaligned_avx2_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_avx2_static(src0, src1) + 2; + return compare256_unaligned_avx2_static(src0+2, src1+2) + 2; } int32_t compare258_unaligned_avx2(const unsigned char *src0, const unsigned char *src1) { diff --git a/arch/x86/compare258_sse.c b/arch/x86/compare258_sse.c index 3e5e4ee..27bae05 100644 --- a/arch/x86/compare258_sse.c +++ b/arch/x86/compare258_sse.c @@ -58,14 +58,7 @@ static inline int32_t compare258_unaligned_sse4_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_sse4_static(src0, src1) + 2; + return compare256_unaligned_sse4_static(src0+2, src1+2) + 2; } int32_t compare258_unaligned_sse4(const unsigned char *src0, const unsigned char *src1) { 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) { |