Skip to content

Commit

Permalink
Fix simdlib (#2448)
Browse files Browse the repository at this point in the history
Summary:
- fix type of an argument of the `simd8uint32` constructor on `simdlib_emulated`
- fix `blendv` on aarch64, which returns completely inverted results
- remove unused `#include <faiss/utils/simdlib.h>`

Pull Request resolved: #2448

Reviewed By: alexanderguzhva

Differential Revision: D39259465

Pulled By: mdouze

fbshipit-source-id: 646ee490269f9d71ff48a22e33c1250e115c02c2
  • Loading branch information
wx257osn2 authored and facebook-github-bot committed Sep 8, 2022
1 parent 8f5adc8 commit 71ab2e5
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 5 deletions.
1 change: 0 additions & 1 deletion faiss/IndexIVFFastScan.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
#include <faiss/utils/distances.h>
#include <faiss/utils/hamming.h>
#include <faiss/utils/quantize_lut.h>
#include <faiss/utils/simdlib.h>
#include <faiss/utils/utils.h>

namespace faiss {
Expand Down
1 change: 0 additions & 1 deletion faiss/impl/ResidualQuantizer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
#include <faiss/utils/Heap.h>
#include <faiss/utils/distances.h>
#include <faiss/utils/hamming.h>
#include <faiss/utils/simdlib.h>
#include <faiss/utils/utils.h>

extern "C" {
Expand Down
2 changes: 1 addition & 1 deletion faiss/utils/simdlib_emulated.h
Original file line number Diff line number Diff line change
Expand Up @@ -438,7 +438,7 @@ struct simd8uint32 : simd256bit {

explicit simd8uint32(const simd256bit& x) : simd256bit(x) {}

explicit simd8uint32(const uint8_t* x) : simd256bit((const void*)x) {}
explicit simd8uint32(const uint32_t* x) : simd256bit((const void*)x) {}

std::string elements_to_string(const char* fmt) const {
char res[1000], *ptr = res;
Expand Down
4 changes: 2 additions & 2 deletions faiss/utils/simdlib_neon.h
Original file line number Diff line number Diff line change
Expand Up @@ -646,8 +646,8 @@ inline simd32uint8 blendv(
const uint8x16x2_t msb_mask = {
vtstq_u8(mask.data.val[0], msb), vtstq_u8(mask.data.val[1], msb)};
const uint8x16x2_t selected = {
vbslq_u8(msb_mask.val[0], a.data.val[0], b.data.val[0]),
vbslq_u8(msb_mask.val[1], a.data.val[1], b.data.val[1])};
vbslq_u8(msb_mask.val[0], b.data.val[0], a.data.val[0]),
vbslq_u8(msb_mask.val[1], b.data.val[1], a.data.val[1])};
return simd32uint8{selected};
}

Expand Down

0 comments on commit 71ab2e5

Please sign in to comment.