--- make.conf	2007-01-10 03:22:07.410548112 +0100
+++ make.conf.x86	2007-01-10 03:22:13.206910362 +0100
@@ -23,6 +23,15 @@
 # Example:
 #USE="X gtk gnome -alsa"
 
+# Host Setting
+# ============
+#
+# DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
+# Change this line as appropriate (i686, i586, i486 or i386).
+# All modern systems (even Athlons) should use "i686-pc-linux-gnu".
+# All K6's are i586.
+CHOST="i686-pc-linux-gnu"
+
 # Host and optimization settings 
 # ==============================
 #
@@ -33,10 +42,65 @@
 # package (and in some cases the libraries it uses) at default optimizations
 # before reporting errors to developers.
 #
-# Please refer to the GCC manual for a list of possible values.
-#
-#CFLAGS="-O2 -pipe"
+# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
+# breaking compatibility with other CPUs.
 #
+# -march=<cpu-type> means to take full advantage of the ABI and instructions
+# for the particular CPU; this will break compatibility with older CPUs (for
+# example, -march=athlon-xp code will not run on a regular Athlon, and
+# -march=i686 code will not run on a Pentium Classic.
+#
+# CPU types supported by gcc version:
+# (Higher versions include the targets from older ones,
+# those listed on the same line are equivalent.)
+# === >=gcc-2.95
+# i386			Original Intel's i386.
+# i486			Intel's i486. (No scheduling implemented.)
+# i586, pentium	Intel Pentium with no MMX support.
+# pentium-mmx	Intel PentiumMMX based on Pentium core with MMX.
+# i686, pentiumpro	Intel PentiumPro.
+# === >=gcc-3.2
+# k6			AMD K6 with MMX.
+# k6-2, k6-3	AMD K6 with MMX and 3dNOW!.
+# pentium2		Intel Pentium2 based on PentiumPro with MMX.
+# pentium3		Intel Pentium3 based on PentiumPro with MMX and SSE.
+# pentium4		Intel Pentium4 with MMX, SSE and SSE2.
+# athlon, athlon-tbird	AMD Athlon with MMX, 3dNOW!, enhanced 3dNOW!
+#				and SSE prefetch.
+# athlon-4, athlon-xp, athlon-mp	AMD Athlon with MMX, 3dNOW!, enhanced
+#				3dNOW! and full SSE.
+# === >=gcc-3.3
+# winchip-c6	IDT Winchip C6, i486 with MMX.
+# winchip2		IDT Winchip2, i486 MMX and 3dNOW!.
+# c3			Via C3 with MMX and 3dNOW! (No scheduling implemented.)
+# === >=gcc-4.1
+# c3-2			Via C3-2 with MMX and SSE. (No scheduling implemented.)
+# pentium-m		Low power version of Intel Pentium3 with MMX, SSE, SSE2.
+#				Used by Centrino notebooks.
+# prescott		Intel Pentium4 with MMX, SSE, SSE2 and SSE3.
+# nocona		Intel Pentium4 with 64-bit extensions, MMX, SSE, SSE2
+#				and SSE3.
+# k8, opteron, athlon64, athlon-fx	AMD K8 core based CPUs with x86-64.
+#				(This supersets MMX, SSE, SSE2, 3dNOW!, enhanced 3dNOW! and
+#				64-bit extensions.)
+#
+# Gentoo Linux 1.2 and below used gcc-2.95*
+# Gentoo Linux 1.4 and 2004.* had gcc-3.2
+# Gentoo Linux 2005.1 through 2006.0 use gcc-3.3
+# Gentoo Linux 2006.1 has gcc-4.1
+# 
+#
+# CRITICAL WARNINGS: ****************************************************** #
+# K6 markings are deceptive. Avoid setting -march for them. See Bug #24379. #
+# Pentium-M CPUs should not enable sse2 until at least gcc-3.4. Bug 50616. #
+# ************************************************************************* #
+#
+# NOTE: the -On optimization levels are set with the letter O, not -0 (zero).
+#
+# Decent examples:
+#CFLAGS="-mcpu=athlon-xp -O2 -pipe"
+#CFLAGS="-march=pentium3 -O2 -pipe"
+
 # If you set a CFLAGS above, then this line will set your default C++ flags to
 # the same settings.
 #CXXFLAGS="${CFLAGS}"
@@ -61,7 +125,7 @@
 # DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
 # IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
 #
-#ACCEPT_KEYWORDS="~arch"
+#ACCEPT_KEYWORDS="~x86"
 
 # Portage Directories
 # ===================
