Commit a013d16f authored by Michael Kuron's avatar Michael Kuron Committed by Jean-Noël Grad
Browse files

Workaround for __BIGGEST_ALIGNMENT__ on Clang

On x86_64, this is always 128 bits, rendering it incompatible with AVX.
GCC reports the maximum enabled vector width (which is what we want) and Intel reports the maximum supported vector width (which is okay too).
parent e429d5f2
......@@ -325,14 +325,14 @@ namespace field {
const uint_t alignment = 64;
#elif defined(__ARM_NEON)
const uint_t alignment = 16;
#elif defined(__BIGGEST_ALIGNMENT__)
const uint_t alignment = __BIGGEST_ALIGNMENT__;
#elif defined(__AVX512F__)
const uint_t alignment = 64;
#elif defined(__AVX__)
const uint_t alignment = 32;
#elif defined(__SSE__) || defined(_MSC_VER)
const uint_t alignment = 16;
#elif defined(__BIGGEST_ALIGNMENT__)
const uint_t alignment = __BIGGEST_ALIGNMENT__;
#else
const uint_t alignment = 64;
#endif
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment