Struct faiss::simd512bit

struct simd512bit

512-bit representation without interpretation as a vector

Simple wrapper around the AVX 512-bit registers

The objective is to separate the different interpretations of the same registers (as a vector of uint8, uint16 or uint32), to provide printing functions, and to give more readable names to the AVX intrinsics. It does not pretend to be exhausitve, functions are added as needed.

Subclassed by faiss::simd32uint16, faiss::simd64uint8

Public Functions

inline simd512bit()
inline explicit simd512bit(__m512i i)
inline explicit simd512bit(__m512 f)
inline explicit simd512bit(const void *x)
inline explicit simd512bit(simd256bit lo)
inline explicit simd512bit(simd256bit lo, simd256bit hi)
inline void clear()
inline void storeu(void *ptr) const
inline void loadu(const void *ptr)
inline void store(void *ptr) const
inline void bin(char bits[513]) const
inline std::string bin() const

Public Members

__m512i i
__m512 f
union faiss::simd512bit::[anonymous] [anonymous]