Unbotch x86 simd implementations
This commit is contained in:
@@ -578,7 +578,7 @@ int firstNonNeg1(const int8_t x[16]) {
|
|||||||
uint32_t bitfield = _mm_movemask_epi8(results) ^ 0xffff;
|
uint32_t bitfield = _mm_movemask_epi8(results) ^ 0xffff;
|
||||||
if (bitfield == 0)
|
if (bitfield == 0)
|
||||||
return -1;
|
return -1;
|
||||||
return __builtin_clz(bitfield);
|
return __builtin_ctz(bitfield);
|
||||||
}
|
}
|
||||||
|
|
||||||
int lastNonNeg1(const int8_t x[16]) {
|
int lastNonNeg1(const int8_t x[16]) {
|
||||||
@@ -589,7 +589,7 @@ int lastNonNeg1(const int8_t x[16]) {
|
|||||||
uint32_t bitfield = _mm_movemask_epi8(results) ^ 0xffff;
|
uint32_t bitfield = _mm_movemask_epi8(results) ^ 0xffff;
|
||||||
if (bitfield == 0)
|
if (bitfield == 0)
|
||||||
return -1;
|
return -1;
|
||||||
return 15 - __builtin_ctz(bitfield);
|
return 31 - __builtin_clz(bitfield);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user