X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_architecture.c;h=3501f249328e1a24b270dfa4e05e3b789ea24af3;hb=731e9399d5d23b6a15ed4b705f6e6542cb90e55b;hp=495ba438b97c25f945f8ca9ac2f41764bf986d8b;hpb=181c87428570706ba2fac9b4e1366bbee0453a2a;p=libfirm diff --git a/ir/be/ia32/ia32_architecture.c b/ir/be/ia32/ia32_architecture.c index 495ba438b..3501f2493 100644 --- a/ir/be/ia32/ia32_architecture.c +++ b/ir/be/ia32/ia32_architecture.c @@ -583,8 +583,8 @@ static cpu_arch_features auto_detect_Intel(x86_cpu_info_t const *info) { cpu_arch_features auto_arch = cpu_generic; - unsigned family = (info->cpu_ext_family << 4) | info->cpu_family; - unsigned model = (info->cpu_ext_model << 4) | info->cpu_model; + unsigned family = info->cpu_ext_family + info->cpu_family; + unsigned model = (info->cpu_ext_model << 4) | info->cpu_model; switch (family) { case 4: @@ -658,8 +658,8 @@ static cpu_arch_features auto_detect_AMD(x86_cpu_info_t const *info) unsigned family, model; if (info->cpu_family == 0x0F) { - family = (info->cpu_ext_family << 4) | info->cpu_family; - model = (info->cpu_ext_model << 4) | info->cpu_model; + family = info->cpu_ext_family + info->cpu_family; + model = (info->cpu_ext_model << 4) | info->cpu_model; } else { family = info->cpu_family; model = info->cpu_model; @@ -711,8 +711,11 @@ static cpu_arch_features auto_detect_AMD(x86_cpu_info_t const *info) case 0x0F: auto_arch = cpu_k8_generic; break; - case 0x1F: - case 0x2F: /* AMD Family 11h */ + case 0x10: + case 0x11: /* AMD Family 11h */ + case 0x12: /* AMD Family 12h */ + case 0x14: /* AMD Family 14h */ + case 0x15: /* AMD Family 15h */ auto_arch = cpu_k10_generic; break; default: