Fix illegal instruction crash on x64 CPUs without POPCNT instruction when compiled with MSVC

This commit is contained in:
scherek 2021-06-12 16:18:26 +02:00
parent 2554ee27d9
commit 6835fcf3cf

View File

@ -20,7 +20,7 @@
#pragma once
#if defined(_MSC_VER) && !defined (_M_ARM) && !defined (_M_ARM64)
#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) && defined(__AVX__) && defined(__SSE4_2__) && defined(__POPCNT__)
#include <intrin.h>
static inline guint
@ -29,7 +29,7 @@ gtk_popcount (guint32 value)
return __popcnt (value);
}
#elif defined(__GNUC__) || defined(__clang__)
# define gtk_popcount(v) __builtin_popcount(v)
#define gtk_popcount(v) __builtin_popcount (v)
#else
static inline guint
gtk_popcount (guint32 value)