Enable cmpxchg16b on 64bit targets along with SSE4
@@ -3204,6 +3204,7 @@ SSE41_CFLAGS=
SSE42_CFLAGS=
POPCNT_CFLAGS=
PCLMUL_CFLAGS=
+CX16_FLAGS=
AVX_CFLAGS=
AVX2_CFLAGS=
@@ -3223,8 +3224,11 @@ when ($ARCH_X86_64 || $ARCH_I386) {
PCLMUL_CFLAGS=-mpclmul
AVX_CFLAGS=-mavx
AVX2_CFLAGS=-mavx2
+ when ($ARCH_X86_64 && $OS_ANDROID != "yes") {
+ CX16_FLAGS=-mcx16
+ }
SSE_DEFINES=-DSSE_ENABLED=1 -DSSE3_ENABLED=1 -DSSSE3_ENABLED=1
- SSE4_DEFINES=-DSSE41_ENABLED=1 -DSSE42_ENABLED=1 -DPOPCNT_ENABLED=1
+ SSE4_DEFINES=-DSSE41_ENABLED=1 -DSSE42_ENABLED=1 -DPOPCNT_ENABLED=1 -DCX16_ENABLED=1
}
elsewhen ($MSVC) {
SSE2_CFLAGS=/D__SSE2__=1
@@ -3237,11 +3241,11 @@ when ($ARCH_X86_64 || $ARCH_I386) {
AVX_CFLAGS=/arch:AVX /DAVX_ENABLED=1
AVX2_CFLAGS=/arch:AVX2 /DAVX2_ENABLED=1
SSE_DEFINES=/DSSE_ENABLED=1 /DSSE3_ENABLED=1 /DSSSE3_ENABLED=1
- SSE4_DEFINES=/DSSE41_ENABLED=1 /DSSE42_ENABLED=1 /DPOPCNT_ENABLED=1
+ SSE4_DEFINES=/DSSE41_ENABLED=1 /DSSE42_ENABLED=1 /DPOPCNT_ENABLED=1 /DCX16_ENABLED=1
}
SSE_CFLAGS=$SSE2_CFLAGS $SSE3_CFLAGS $SSSE3_CFLAGS
- SSE4_CFLAGS=$SSE41_CFLAGS $SSE42_CFLAGS $POPCNT_CFLAGS
- when ($ARCH_I386 && $OS_ANDROID) {
+ SSE4_CFLAGS=$SSE41_CFLAGS $SSE42_CFLAGS $POPCNT_CFLAGS $CX16_FLAGS
+ when ($ARCH_I386 && $OS_ANDROID == "yes") {
USE_SSE4=no
}
}
