workaround for legacy compilers
This commit is contained in:
parent
8aaf3520b2
commit
91e37507d7
@ -23,7 +23,11 @@ private:
|
||||
__m128i v;
|
||||
|
||||
public:
|
||||
inline xmm() { v = _mm_undefined_si128(); }
|
||||
inline xmm() {
|
||||
#if !defined(NO_MM_UNDEFINED)
|
||||
v = _mm_undefined_si128();
|
||||
#endif
|
||||
}
|
||||
inline xmm(uint32_t n) { v = _mm_set1_epi32(n); }
|
||||
inline xmm(const __m128i &r) { v = r; }
|
||||
|
||||
|
@ -23,7 +23,11 @@ private:
|
||||
__m256i v;
|
||||
|
||||
public:
|
||||
inline ymm() { v = _mm256_undefined_si256(); }
|
||||
inline ymm() {
|
||||
#if !defined(NO_MM_UNDEFINED)
|
||||
v = _mm256_undefined_si256();
|
||||
#endif
|
||||
}
|
||||
inline ymm(uint32_t n) { v = _mm256_set1_epi32(n); }
|
||||
inline ymm(const __m256i &r) { v = r; }
|
||||
|
||||
|
@ -24,7 +24,11 @@ private:
|
||||
__m256i v1;
|
||||
|
||||
public:
|
||||
inline ymm2() { v0 = v1 = _mm256_undefined_si256(); }
|
||||
inline ymm2() {
|
||||
#if !defined(NO_MM_UNDEFINED)
|
||||
v0 = v1 = _mm256_undefined_si256();
|
||||
#endif
|
||||
}
|
||||
inline ymm2(uint32_t n) { v0 = v1 = _mm256_set1_epi32(n); }
|
||||
inline ymm2(const __m256i &r0, const __m256i &r1) {
|
||||
v0 = r0;
|
||||
|
@ -36,4 +36,11 @@ typedef signed __int64 int64_t;
|
||||
#define _S_IWRITE (S_IWUSR|S_IWGRP|S_IWOTH)
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__) && (__GNUC__ < 5 && !(__GNUC__ == 4 && 9 <= __GNUC_MINOR__))
|
||||
#define NO_MM_UNDEFINED
|
||||
#endif
|
||||
#if defined(__clang__) && (__clang_major__ < 4 && !(__clang_major__ == 3 && 8 <= __clang_minor__))
|
||||
#define NO_MM_UNDEFINED
|
||||
#endif
|
||||
|
||||
#endif /* PORTABLE_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user