x86: Disable AVX support on 64-bit MinGW
GCC for 64-bit Windows has a bug that it fails to properly re-align the stack pointer for use with 256-bit memory addresses (AVX). Therefore, there's about a 50/50 chance that any function using AVX will have an improperly-aligned stack. In release mode, stack accesses should be rare, but in debug mode they happen frequently. Either way, this is a ticking time bomb, so we disable. Clang is not affected. 32-bit MinGW is not affected. 64-bit in other OSes with GCC are not affected. Fixes: QTBUG-73539 Change-Id: Id061f35c088044b69a15fffd1580967808f31671 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
This commit is contained in:
parent
b319d14110
commit
37352b23a9
@ -144,6 +144,9 @@ attribute_target("sha") void test_shani()
|
||||
#endif
|
||||
|
||||
#if T(AVX)
|
||||
# if defined(__WIN64__) && defined(__GNUC__) && !defined(__clang__)
|
||||
# error "AVX support is broken in 64-bit MinGW - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49001"
|
||||
# endif
|
||||
attribute_target("avx") void test_avx()
|
||||
{
|
||||
__m256d a = _mm256_setzero_pd();
|
||||
|
Loading…
Reference in New Issue
Block a user