summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/x86/compare258_avx.c8
-rw-r--r--arch/x86/compare258_sse.c9
-rw-r--r--compare258.c18
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) {