summaryrefslogtreecommitdiff
path: root/sysdeps/x86_64/multiarch/init-arch.c
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@redhat.com>2010-01-15 10:44:48 +0100
committerAndreas Schwab <schwab@redhat.com>2010-01-15 10:51:34 +0100
commit2384b50e7d567cc26553443b6790b3062d405463 (patch)
treea5ed604cf90256b1fa8e075b98bb0c668d671b55 /sysdeps/x86_64/multiarch/init-arch.c
parente6073eebddb6c1c58d23175826515a3522c785da (diff)
parent5306d3613a3e71d8ede6529e858e2398223ac3da (diff)
Merge remote branch 'origin/master' into fedora/master
Diffstat (limited to 'sysdeps/x86_64/multiarch/init-arch.c')
-rw-r--r--sysdeps/x86_64/multiarch/init-arch.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/sysdeps/x86_64/multiarch/init-arch.c b/sysdeps/x86_64/multiarch/init-arch.c
index 7823aceb9b..50b2a38fbd 100644
--- a/sysdeps/x86_64/multiarch/init-arch.c
+++ b/sysdeps/x86_64/multiarch/init-arch.c
@@ -64,7 +64,23 @@ __init_cpu_features (void)
__cpu_features.model += extended_model;
}
else if (__cpu_features.family == 0x06)
- __cpu_features.model += extended_model;
+ {
+ __cpu_features.model += extended_model;
+ switch (__cpu_features.model)
+ {
+ case 0x1a:
+ case 0x1e:
+ case 0x1f:
+ case 0x25:
+ case 0x2e:
+ case 0x2f:
+ /* Rep string instructions are fast on Intel Core i3, i5
+ and i7. */
+ __cpu_features.feature[index_Fast_Rep_String]
+ |= bit_Fast_Rep_String;
+ break;
+ }
+ }
}
/* This spells out "AuthenticAMD". */
else if (ebx == 0x68747541 && ecx == 0x444d4163 && edx == 0x69746e65)