From ad69878ce33f1147ffb8eb1d8899f686a7183cf0 Mon Sep 17 00:00:00 2001 From: Venkataramanan Kumar Date: Sun, 18 Oct 2015 18:40:20 +0000 Subject: [PATCH] Add bdver4 for multiversioning and fix AMD model detection. 2015-10-19 Venkataramanan Kumar Backport from mainline 2015-10-09 Venkataramanan kumar * config/i386/cpuinfo.c (get_amd_cpu): Detect bdver4. (__cpu_indicator_init): Fix model selection for AMD CPUs From-SVN: r228953 --- libgcc/ChangeLog | 8 ++++++++ libgcc/config/i386/cpuinfo.c | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 2b54397483ee..7fab2d947d3d 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,11 @@ +2015-10-19 Venkataramanan Kumar + + Backport from mainline + 2015-10-09 Venkataramanan kumar + + * config/i386/cpuinfo.c (get_amd_cpu): Detect bdver4. + (__cpu_indicator_init): Fix model selection for AMD CPUs. + 2015-09-23 John David Anglin * config/pa/linux-atomic.c (__kernel_cmpxchg2): Reorder error checks. diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c index 7972cedaa11e..cfe4aae65481 100644 --- a/libgcc/config/i386/cpuinfo.c +++ b/libgcc/config/i386/cpuinfo.c @@ -153,6 +153,9 @@ get_amd_cpu (unsigned int family, unsigned int model) /* Bulldozer version 3 "Steamroller" */ if (model >= 0x30 && model <= 0x4f) __cpu_model.__cpu_subtype = AMDFAM15H_BDVER3; + /* Bulldozer version 4 "Excavator" */ + if (model >= 0x60 && model <= 0x7f) + __cpu_model.__cpu_subtype = AMDFAM15H_BDVER4; break; /* AMD Family 16h "btver2" */ case 0x16: @@ -397,7 +400,7 @@ __cpu_indicator_init (void) if (family == 0x0f) { family += extended_family; - model += (extended_model << 4); + model += extended_model; } /* Get CPU type. */ -- 2.47.2