diff --git a/Source/Core/VideoCommon/Src/TextureDecoder.cpp b/Source/Core/VideoCommon/Src/TextureDecoder.cpp index 5d3f42662f..e19eb94d20 100644 --- a/Source/Core/VideoCommon/Src/TextureDecoder.cpp +++ b/Source/Core/VideoCommon/Src/TextureDecoder.cpp @@ -352,8 +352,8 @@ PC_TexFormat TexDecoder_Decode(u8 *dst, const u8 *src, int width, int height, in return PC_TEX_FMT_BGRA32; case GX_TF_I4: { -//Works in GCC 4.3 and above, possibly 4.2 and above -#if (defined(_WIN32) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) +//Works in GCC 4.3.2 and above, possibly 4.3.1 and above +#if (defined(_WIN32) || (defined (_M_X64) && !defined(_WIN32))) __m128i Lmask = _mm_set1_epi8 (0x0F); __m128i Hmask = _mm_set1_epi8 (0xF0); __m128i* sseSrc = (__m128i *)src; @@ -425,7 +425,7 @@ PC_TexFormat TexDecoder_Decode(u8 *dst, const u8 *src, int width, int height, in return PC_TEX_FMT_BGRA32; case GX_TF_I8: // speed critical { -#ifdef _WIN32 +#if (defined(_WIN32) || (defined (_M_X64) && !defined(_WIN32))) __m128i *sseSrc = (__m128i *)src; __m128i *sseDst = (__m128i *)dst; for (int y = 0; y < height; y += 4)