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;
|
||||
if (bitfield == 0)
|
||||
return -1;
|
||||
return __builtin_clz(bitfield);
|
||||
return __builtin_ctz(bitfield);
|
||||
}
|
||||
|
||||
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;
|
||||
if (bitfield == 0)
|
||||
return -1;
|
||||
return 15 - __builtin_ctz(bitfield);
|
||||
return 31 - __builtin_clz(bitfield);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user