diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2017-08-16 16:41:31 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2018-02-28 12:33:12 +0000 |
commit | b8947197979f30d624454efe0467b151437dd9d3 (patch) | |
tree | 93134434fc56704e7fd94153d6b7e09ff479d878 /src/core/transforms | |
parent | 461194b0aa6b35e7dd1c9ff411806b065f8b01f7 (diff) |
simd: declare AVX2 friends only if __AVX2__ defined
Change-Id: I8fd88461874367bcaa9f4b27a9b4fc660cd2a030
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/core/transforms')
-rw-r--r-- | src/core/transforms/transforms.pri | 9 | ||||
-rw-r--r-- | src/core/transforms/vector3d_sse_p.h | 12 | ||||
-rw-r--r-- | src/core/transforms/vector4d_sse_p.h | 12 |
3 files changed, 20 insertions, 13 deletions
diff --git a/src/core/transforms/transforms.pri b/src/core/transforms/transforms.pri index f83c37a0b..36e657e86 100644 --- a/src/core/transforms/transforms.pri +++ b/src/core/transforms/transforms.pri @@ -31,8 +31,6 @@ qtConfig(qt3d-simd-sse2) { CONFIG += simd SSE2_HEADERS += \ - $$PWD/vector4d_sse_p.h \ - $$PWD/vector3d_sse_p.h \ $$PWD/matrix4x4_sse_p.h SSE2_SOURCES += \ @@ -43,6 +41,9 @@ qtConfig(qt3d-simd-sse2) { SSE2_SOURCES += \ $$PWD/vector4d_sse.cpp \ $$PWD/vector3d_sse.cpp + SSE2_HEADERS += \ + $$PWD/vector4d_sse_p.h \ + $$PWD/vector3d_sse_p.h } } @@ -50,7 +51,9 @@ qtConfig(qt3d-simd-avx2) { CONFIG += simd AVX2_HEADERS += \ - $$PWD/matrix4x4_avx2_p.h + $$PWD/matrix4x4_avx2_p.h \ + $$PWD/vector4d_sse_p.h \ + $$PWD/vector3d_sse_p.h AVX2_SOURCES += \ $$PWD/matrix4x4_avx2.cpp \ $$PWD/vector4d_sse.cpp \ diff --git a/src/core/transforms/vector3d_sse_p.h b/src/core/transforms/vector3d_sse_p.h index a299d1db9..c7f9a403c 100644 --- a/src/core/transforms/vector3d_sse_p.h +++ b/src/core/transforms/vector3d_sse_p.h @@ -346,15 +346,17 @@ public: return v; } - friend class Matrix4x4_AVX2; - friend class Matrix4x4_SSE; friend class Vector4D_SSE; - friend QT3DCORE_PRIVATE_EXPORT Vector3D_SSE operator*(const Vector3D_SSE &vector, const Matrix4x4_SSE &matrix); - friend QT3DCORE_PRIVATE_EXPORT Vector3D_SSE operator*(const Matrix4x4_SSE &matrix, const Vector3D_SSE &vector); - +#ifdef __AVX2__ + friend class Matrix4x4_AVX2; friend QT3DCORE_PRIVATE_EXPORT Vector3D_SSE operator*(const Vector3D_SSE &vector, const Matrix4x4_AVX2 &matrix); friend QT3DCORE_PRIVATE_EXPORT Vector3D_SSE operator*(const Matrix4x4_AVX2 &matrix, const Vector3D_SSE &vector); +#endif + + friend class Matrix4x4_SSE; + friend QT3DCORE_PRIVATE_EXPORT Vector3D_SSE operator*(const Vector3D_SSE &vector, const Matrix4x4_SSE &matrix); + friend QT3DCORE_PRIVATE_EXPORT Vector3D_SSE operator*(const Matrix4x4_SSE &matrix, const Vector3D_SSE &vector); friend Q_ALWAYS_INLINE const Vector3D_SSE operator+(Vector3D_SSE v1, Vector3D_SSE v2) { return v1 += v2; } friend Q_ALWAYS_INLINE const Vector3D_SSE operator-(Vector3D_SSE v1, Vector3D_SSE v2) { return v1 -= v2; } diff --git a/src/core/transforms/vector4d_sse_p.h b/src/core/transforms/vector4d_sse_p.h index ffeca0946..0be5e3787 100644 --- a/src/core/transforms/vector4d_sse_p.h +++ b/src/core/transforms/vector4d_sse_p.h @@ -342,15 +342,17 @@ public: #endif } - friend class Matrix4x4_AVX2; friend class Matrix4x4_SSE; - friend class Vector3D_SSE; - - friend Vector4D_SSE operator*(const Vector4D_SSE &vector, const Matrix4x4_SSE &matrix); - friend Vector4D_SSE operator*(const Matrix4x4_SSE &matrix, const Vector4D_SSE &vector); +#ifdef __AVX2__ + friend class Matrix4x4_AVX2; friend Vector4D_SSE operator*(const Vector4D_SSE &vector, const Matrix4x4_AVX2 &matrix); friend Vector4D_SSE operator*(const Matrix4x4_AVX2 &matrix, const Vector4D_SSE &vector); +#endif + + friend class Vector3D_SSE; + friend Vector4D_SSE operator*(const Vector4D_SSE &vector, const Matrix4x4_SSE &matrix); + friend Vector4D_SSE operator*(const Matrix4x4_SSE &matrix, const Vector4D_SSE &vector); friend Q_ALWAYS_INLINE const Vector4D_SSE operator+(Vector4D_SSE v1, Vector4D_SSE v2) { return v1 += v2; } friend Q_ALWAYS_INLINE const Vector4D_SSE operator-(Vector4D_SSE v1, Vector4D_SSE v2) { return v1 -= v2; } |