From e0ab375340dc9a651e00e62e79e45152ff3f8bad Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Wed, 28 Sep 2016 20:22:16 +0200 Subject: [PATCH] cpuinfo.c (__get_cpuid_output): Remove. * config/i386/cpuinfo.c (__get_cpuid_output): Remove. (__cpu_indicator_init): Call __get_cpuid, not __get_cpuid_output. From-SVN: r240590 --- libgcc/ChangeLog | 5 +++++ libgcc/config/i386/cpuinfo.c | 20 +++----------------- 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index d1b2d21e2e9..f876b9b16d3 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2015-09-28 Uros Bizjak + + * config/i386/cpuinfo.c (__get_cpuid_output): Remove. + (__cpu_indicator_init): Call __get_cpuid, not __get_cpuid_output. + 2016-09-27 Martin Liska PR gcov-profile/7970 diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c index 8c2248df3d3..af203f2a37e 100644 --- a/libgcc/config/i386/cpuinfo.c +++ b/libgcc/config/i386/cpuinfo.c @@ -381,20 +381,6 @@ get_available_features (unsigned int ecx, unsigned int edx, __cpu_model.__cpu_features[0] = features; } -/* A noinline function calling __get_cpuid. Having many calls to - cpuid in one function in 32-bit mode causes GCC to complain: - "can't find a register in class CLOBBERED_REGS". This is - related to PR rtl-optimization 44174. */ - -static int __attribute__ ((noinline)) -__get_cpuid_output (unsigned int __level, - unsigned int *__eax, unsigned int *__ebx, - unsigned int *__ecx, unsigned int *__edx) -{ - return __get_cpuid (__level, __eax, __ebx, __ecx, __edx); -} - - /* A constructor function that is sets __cpu_model and __cpu_features with the right values. This needs to run only once. This constructor is given the highest priority and it should run before constructors without @@ -406,7 +392,7 @@ __cpu_indicator_init (void) { unsigned int eax, ebx, ecx, edx; - int max_level = 5; + int max_level; unsigned int vendor; unsigned int model, family, brand_id; unsigned int extended_model, extended_family; @@ -416,7 +402,7 @@ __cpu_indicator_init (void) return 0; /* Assume cpuid insn present. Run in level 0 to get vendor id. */ - if (!__get_cpuid_output (0, &eax, &ebx, &ecx, &edx)) + if (!__get_cpuid (0, &eax, &ebx, &ecx, &edx)) { __cpu_model.__cpu_vendor = VENDOR_OTHER; return -1; @@ -431,7 +417,7 @@ __cpu_indicator_init (void) return -1; } - if (!__get_cpuid_output (1, &eax, &ebx, &ecx, &edx)) + if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx)) { __cpu_model.__cpu_vendor = VENDOR_OTHER; return -1; -- 2.30.2