diff -u -r linux-2.4.21-rc1-ac4/arch/i386/Makefile linux-2.4.21-rc1-ac4-th/arch/i386/Makefile
--- linux-2.4.21-rc1-ac4/arch/i386/Makefile	2003-05-07 15:43:54.000000000 +0100
+++ linux-2.4.21-rc1-ac4-th/arch/i386/Makefile	2003-05-07 16:16:20.000000000 +0100
@@ -61,12 +61,34 @@
 endif
 
 ifdef CONFIG_MK6
+ifdef CONFIG_K6_STD
 CFLAGS += $(call check_gcc,-march=k6,-march=i586)
 endif
+ifdef CONFIG_K6_II
+CFLAGS += $(call check_gcc,-march=k6-2,$(call check_gcc,-march=k6,-march=i586))
+endif
+ifdef CONFIG_K6_III
+CFLAGS += $(call check_gcc,-march=k6-3,$(call check_gcc,-march=k6,-march=i586))
+endif
+endif
 
 ifdef CONFIG_MK7
+ifdef CONFIG_ATHLON_STD
 CFLAGS += $(call check_gcc,-march=athlon,-march=i686 -malign-functions=4)
 endif
+ifdef CONFIG_ATHLON_TBIRD
+CFLAGS += $(call check_gcc,-march=athlon-tbird,$(call check_gcc,-march=athlon,-march=i686 -malign-functions=4))
+endif
+ifdef CONFIG_ATHLON_4
+CFLAGS += $(call check_gcc,-march=athlon-4,$(call check_gcc,-march=athlon,-march=i686 -malign-functions=4))
+endif
+ifdef CONFIG_ATHLON_XP
+CFLAGS += $(call check_gcc,-march=athlon-xp,$(call check_gcc,-march=athlon,-march=i686 -malign-functions=4))
+endif
+ifdef CONFIG_ATHLON_MP
+CFLAGS += $(call check_gcc,-march=athlon-mp,$(call check_gcc,-march=athlon,-march=i686 -malign-functions=4))
+endif
+endif
 
 ifdef CONFIG_MCRUSOE
 CFLAGS += -march=i686
diff -u -r linux-2.4.21-rc1-ac4/arch/i386/config.in linux-2.4.21-rc1-ac4-th/arch/i386/config.in
--- linux-2.4.21-rc1-ac4/arch/i386/config.in	2003-05-07 15:44:13.000000000 +0100
+++ linux-2.4.21-rc1-ac4-th/arch/i386/config.in	2003-05-07 16:15:44.000000000 +0100
@@ -44,6 +44,27 @@
 	 Winchip-2A/Winchip-3			CONFIG_MWINCHIP3D \
 	 CyrixIII/VIA-C3			CONFIG_MCYRIXIII \
 	 VIA-C3-2				CONFIG_MVIAC3_2" Pentium-Pro
+
+#
+# Specific sub-types are supported by gcc for certain CPU's
+#
+
+if [ "$CONFIG_MK6" = "y" ]; then
+   choice 'K6 CPU model' \
+	"K6					CONFIG_K6_STD \
+	 K6-II					CONFIG_K6_II \
+	 K6-III					CONFIG_K6_III" K6
+fi
+
+if [ "$CONFIG_MK7" = "y" ]; then
+   choice 'Athlon CPU model' \
+	"Athlon/Duron/Other			CONFIG_ATHLON_STD \
+	 Athlon-Thunderbird			CONFIG_ATHLON_TBIRD \
+	 Athlon-4				CONFIG_ATHLON_4 \
+	 Athlon-XP				CONFIG_ATHLON_XP \
+	 Athlon-MP				CONFIG_ATHLON_MP" Athlon/Duron/Other
+fi
+
 #
 # Define implied options from the CPU selection here
 #
