diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 3409c49d32330b3f64998c5fb79e828857714203..3514fb477758dca87fec9cf23dd47585715c3988 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -549,6 +549,7 @@ if(${SRB2_CONFIG_USEASM})
 	endif()
 	set(SRB2_USEASM ON)
 	add_definitions(-DUSEASM)
+	set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} -msse3 -mfpmath=sse)
 else()
 	set(SRB2_USEASM OFF)
 	add_definitions(-DNONX86 -DNORUSEASM)
diff --git a/src/Makefile b/src/Makefile
index 2fe0b26cd55b643dca0f6a23d72ec16f26ca9991..5d5db056ff05188316dac7b918a7ee50a5d2151e 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -277,7 +277,7 @@ OPTS += -DCOMPVERSION
 
 ifndef NONX86
 ifndef GCC29
-	ARCHOPTS?=-march=pentium
+	ARCHOPTS?=-msse3 -mfpmath=sse
 else
 	ARCHOPTS?=-mpentium
 endif