diff --git a/CMakeLists.txt b/CMakeLists.txt
index debddd475..ab4a3e6cb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -60,8 +60,8 @@ set(BUILD_PGO CACHE BOOL "Build with profiling-guided optimization")
 set(PGO_STAGE_2 CACHE BOOL "Rebuild for profiling-guided optimization after profiles have been generated")
 set(PGO_DIR "/tmp/gba-pgo/" CACHE PATH "Profiling-guided optimization profiles path")
 mark_as_advanced(BUILD_PGO PGO_STAGE_2 PGO_DIR)
-set(PGO_PRE_FLAGS "-pg -fprofile-generate=${PGO_DIR}")
-set(PGO_POST_FLAGS "-fprofile-use=${PGO_DIR}")
+set(PGO_PRE_FLAGS "-pg -fprofile-generate=${PGO_DIR} -fprofile-arcs")
+set(PGO_POST_FLAGS "-fprofile-use=${PGO_DIR} -fbranch-probabilities")
 
 if(BUILD_PGO AND NOT PGO_STAGE_2)
 	set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${PGO_PRE_FLAGS}")