diff --git a/toolchain/Config.in b/toolchain/Config.in
index ef909cc0d6a9355673540058b0440c06c4c21b67..ab684bb578783ab5ca6911e2cbd8d8fc42e37698 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -106,7 +106,9 @@ config TARGET_OPTIMIZATION
 	prompt "Target Optimizations" if TOOLCHAINOPTS
 	default "-O2 -pipe -march=i686 -funit-at-a-time" if TARGET_x86_mediacenter
 	default "-O2 -pipe -march=i486 -funit-at-a-time" if TARGET_x86
-	default "-Os -pipe -march=i486 -funit-at-a-time" if TARGET_rdc || TARGET_uml
+	default "-Os -pipe -march=i486 -funit-at-a-time" if TARGET_rdc
+	default "-Os -pipe -march=i486 -funit-at-a-time" if TARGET_uml && i386
+	default "-Os -pipe -march=athlon64 -funit-at-a-time" if TARGET_uml && x86_64
 	default "-Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time" if TARGET_ar71xx
 	default "-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time" if mipsel || mips
 	default "-Os -pipe -march=armv5te -mtune=xscale -funit-at-a-time" if TARGET_ixp4xx || TARGET_iop32x || TARGET_pxa || TARGET_orion