gf_multby_one now checks runtime SIMD support
parent
ad11042132
commit
0e5c920fb6
8
src/gf.c
8
src/gf.c
|
@ -912,9 +912,6 @@ static void gf_unaligned_xor(void *src, void *dest, int bytes);
|
|||
|
||||
void gf_multby_one(void *src, void *dest, int bytes, int xor)
|
||||
{
|
||||
#ifdef INTEL_SSE2
|
||||
__m128i ms, md;
|
||||
#endif
|
||||
unsigned long uls, uld;
|
||||
uint8_t *s8, *d8;
|
||||
uint64_t *s64, *d64, *dtop64;
|
||||
|
@ -929,6 +926,8 @@ void gf_multby_one(void *src, void *dest, int bytes, int xor)
|
|||
uld = (unsigned long) dest;
|
||||
|
||||
#ifdef INTEL_SSE2
|
||||
if (gf_cpu_supports_intel_sse2) {
|
||||
__m128i ms, md;
|
||||
int abytes;
|
||||
s8 = (uint8_t *) src;
|
||||
d8 = (uint8_t *) dest;
|
||||
|
@ -971,8 +970,10 @@ void gf_multby_one(void *src, void *dest, int bytes, int xor)
|
|||
s8++;
|
||||
}
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#if defined(ARM_NEON)
|
||||
if (gf_cpu_supports_arm_neon) {
|
||||
s8 = (uint8_t *) src;
|
||||
d8 = (uint8_t *) dest;
|
||||
|
||||
|
@ -1007,6 +1008,7 @@ void gf_multby_one(void *src, void *dest, int bytes, int xor)
|
|||
d8++;
|
||||
}
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
if (uls % 8 != uld % 8) {
|
||||
gf_unaligned_xor(src, dest, bytes);
|
||||
|
|
Loading…
Reference in New Issue