summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorbjorn Granlund <tege@gmplib.org>2012-03-08 09:11:59 +0100
committerTorbjorn Granlund <tege@gmplib.org>2012-03-08 09:11:59 +0100
commit45ede9dfae145b6a181fce72b8c964d8387b8809 (patch)
tree83249e0e06cc8e86a3d5a7583231499213127145
parent75eed17777eba66835253ad4a3dd7ff2f5de710d (diff)
downloadgmp-45ede9dfae145b6a181fce72b8c964d8387b8809.tar.gz
Make x86-64 fat setup match configure.in.
-rw-r--r--ChangeLog3
-rw-r--r--mpn/x86_64/fat/fat.c23
2 files changed, 24 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index cfbcefefa..e73248193 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2012-03-08 Torbjorn Granlund <tege@gmplib.org>
+ * mpn/x86_64/fat/fat.c (fake_cpuid_table): Recognise "bulldozer".
+ (__gmpn_cpuvec_init): Overhaul to match configure.in.
+
* configure.in: Adjust bulldozer path_64.
2012-03-07 Torbjorn Granlund <tege@gmplib.org>
diff --git a/mpn/x86_64/fat/fat.c b/mpn/x86_64/fat/fat.c
index 325beec3c..8ff04ff95 100644
--- a/mpn/x86_64/fat/fat.c
+++ b/mpn/x86_64/fat/fat.c
@@ -7,7 +7,7 @@
THEY'RE ALMOST CERTAIN TO BE SUBJECT TO INCOMPATIBLE CHANGES OR DISAPPEAR
COMPLETELY IN FUTURE GNU MP RELEASES.
-Copyright 2003, 2004, 2009, 2011 Free Software Foundation, Inc.
+Copyright 2003, 2004, 2009, 2011, 2012 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
@@ -69,6 +69,7 @@ static struct {
{ "k8", "AuthenticAMD", MAKE_FMS (15, 0) },
{ "k10", "AuthenticAMD", MAKE_FMS (16, 0) },
{ "bobcat", "AuthenticAMD", MAKE_FMS (20, 1) },
+ { "bulldozer", "AuthenticAMD", MAKE_FMS (21, 1) },
{ "nano", "CentaurHauls", MAKE_FMS (6, 15) },
};
@@ -270,6 +271,7 @@ __gmpn_cpuvec_init (void)
case 0x2a: /* SB */
case 0x2d: /* SBC-EP */
CPUVEC_SETUP_core2;
+ CPUVEC_SETUP_coreinhm;
CPUVEC_SETUP_coreisbr;
break;
}
@@ -289,9 +291,26 @@ __gmpn_cpuvec_init (void)
abort ();
case 15: /* k8 */
+ case 17: /* "fam 11h", mix of k8 and k10 */
+ case 19:
+ case 22:
+ case 23:
+ CPUVEC_SETUP_k8;
+ break;
case 16: /* k10 */
- /* CPUVEC_SETUP_athlon */
+ case 18: /* k10 (llano) */
+ CPUVEC_SETUP_k8;
+ CPUVEC_SETUP_k10;
+ break;
+ case 20: /* bobcat */
+ CPUVEC_SETUP_k8;
+ CPUVEC_SETUP_k10;
+ CPUVEC_SETUP_bobcat;
break;
+ case 21: /* bulldozer */
+ CPUVEC_SETUP_k8;
+ CPUVEC_SETUP_k10;
+ CPUVEC_SETUP_bd1;
}
}
else if (strcmp (vendor_string, "CentaurHauls") == 0)