diff -Nru dolphin-emu-3.0.orig/Source/Core/Common/Src/Common.h dolphin-emu-3.0/Source/Core/Common/Src/Common.h
--- dolphin-emu-3.0.orig/Source/Core/Common/Src/Common.h 2011-12-20 11:33:52.177915165 -0500
+++ dolphin-emu-3.0/Source/Core/Common/Src/Common.h 2011-12-20 11:34:27.054583462 -0500
@@ -141,6 +141,8 @@
#define _M_SSE 0x300
#elif defined __APPLE__ && defined __x86_64__
#define _M_SSE 0x301
+#elif (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && defined __SSE4_2__
+#define _M_SSE 0x402
#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
#define _M_SSE 0x301
#elif _MSC_VER >= 1500 // Visual Studio 2008
diff -Nru dolphin-emu-3.0.orig/Source/Core/VideoCommon/Src/VertexLoader_TextCoord.cpp dolphin-emu-3.0/Source/Core/VideoCommon/Src/VertexLoader_TextCoord.cpp
--- dolphin-emu-3.0.orig/Source/Core/VideoCommon/Src/VertexLoader_TextCoord.cpp 2011-12-20 11:33:49.761248386 -0500
+++ dolphin-emu-3.0/Source/Core/VideoCommon/Src/VertexLoader_TextCoord.cpp 2011-12-20 11:35:12.817918944 -0500
@@ -438,7 +438,7 @@
#if _M_SSE >= 0x401
- if (cpu_info.bSSE4_1) {
+ if (cpu_info.bSSE4_1 && cpu_info.bSSSE3) {
tableReadTexCoord[3][3][1] = TexCoord_ReadIndex16_Short2_SSE4;
}