mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-29 16:20:11 -04:00
linmath: use correct 32-byte alignment when compiling Eigen with AVX
This commit is contained in:
parent
8c6a2a57cb
commit
94641c83a0
@ -336,21 +336,26 @@
|
|||||||
#define ALIGN_4BYTE
|
#define ALIGN_4BYTE
|
||||||
#define ALIGN_8BYTE
|
#define ALIGN_8BYTE
|
||||||
#define ALIGN_16BYTE
|
#define ALIGN_16BYTE
|
||||||
|
#define ALIGN_32BYTE
|
||||||
#define ALIGN_64BYTE
|
#define ALIGN_64BYTE
|
||||||
#elif defined(_MSC_VER)
|
#elif defined(_MSC_VER)
|
||||||
#define ALIGN_4BYTE __declspec(align(4))
|
#define ALIGN_4BYTE __declspec(align(4))
|
||||||
#define ALIGN_8BYTE __declspec(align(8))
|
#define ALIGN_8BYTE __declspec(align(8))
|
||||||
#define ALIGN_16BYTE __declspec(align(16))
|
#define ALIGN_16BYTE __declspec(align(16))
|
||||||
|
#define ALIGN_32BYTE __declspec(align(32))
|
||||||
#define ALIGN_64BYTE __declspec(align(64))
|
#define ALIGN_64BYTE __declspec(align(64))
|
||||||
#elif defined(__GNUC__)
|
#elif defined(__GNUC__)
|
||||||
#define ALIGN_4BYTE __attribute__ ((aligned (4)))
|
#define ALIGN_4BYTE __attribute__ ((aligned (4)))
|
||||||
#define ALIGN_8BYTE __attribute__ ((aligned (8)))
|
#define ALIGN_8BYTE __attribute__ ((aligned (8)))
|
||||||
#define ALIGN_16BYTE __attribute__ ((aligned (16)))
|
#define ALIGN_16BYTE __attribute__ ((aligned (16)))
|
||||||
|
#define ALIGN_32BYTE __attribute__ ((aligned (32)))
|
||||||
#define ALIGN_64BYTE __attribute__ ((aligned (64)))
|
#define ALIGN_64BYTE __attribute__ ((aligned (64)))
|
||||||
#else
|
#else
|
||||||
#define ALIGN_4BYTE
|
#define ALIGN_4BYTE
|
||||||
#define ALIGN_8BYTE
|
#define ALIGN_8BYTE
|
||||||
#define ALIGN_16BYTE
|
#define ALIGN_16BYTE
|
||||||
|
#define ALIGN_32BYTE
|
||||||
|
#define ALIGN_64BYTE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Do we need to implement memory-alignment enforcement within the
|
// Do we need to implement memory-alignment enforcement within the
|
||||||
|
@ -61,7 +61,9 @@ private:
|
|||||||
#endif // HAVE_EIGEN
|
#endif // HAVE_EIGEN
|
||||||
|
|
||||||
// This is as good a place as any to define this alignment macro.
|
// This is as good a place as any to define this alignment macro.
|
||||||
#ifdef LINMATH_ALIGN
|
#if defined(LINMATH_ALIGN) && defined(HAVE_EIGEN) && defined(__AVX__)
|
||||||
|
#define ALIGN_LINMATH ALIGN_32BYTE
|
||||||
|
#elif defined(LINMATH_ALIGN)
|
||||||
#define ALIGN_LINMATH ALIGN_16BYTE
|
#define ALIGN_LINMATH ALIGN_16BYTE
|
||||||
#else
|
#else
|
||||||
#define ALIGN_LINMATH
|
#define ALIGN_LINMATH
|
||||||
|
Loading…
x
Reference in New Issue
Block a user