cpuid.h (__cpuid_count): New defines.
authorUros Bizjak <uros@gcc.gnu.org>
Sat, 11 Oct 2008 17:57:20 +0000 (19:57 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Sat, 11 Oct 2008 17:57:20 +0000 (19:57 +0200)
commitcb0dee885cb30b4e9beeef070cf000baa7d09abe
tree82b88e121092e9168fd4b16c14c94fd32cfccb64
parente40375e0e23145c3140d375d3cf8f164800983ee
cpuid.h (__cpuid_count): New defines.

* config/i386/cpuid.h (__cpuid_count): New defines.
* config/i386/driver-i386.c (struct cache_desc): New structure.
(describe_cache): Use struct cache_desc to pass cache descriptions.
(detect_l2_cache): Ditto. Rename from decode_l2_cache.
(detect_caches_amd): Use struct cache_desc to describe caches.
(decode_caches_intel): Use struct cache_desc to pass cache
descriptions.  Update descriptions to match latest (rev -032,
December 2007) CPUID documentation.  Do not check valid bit here.
Check for Xeon MP value 0x49 problems.
(detect_caches_cpuid2): New function, split from detect_caches_intel.
Check valid bit before calling decode_caches_intel.  Detect number
of times to repeat CPUID instruction.
(detect_caches_cpuid4): New function.
(detect_caches_intel): Depending on max_level, call
detect_caches_cpuid2 or detect_caches_cpuid4.  Call detect_l2_cache
only when other methods fail to provide valid L2 cache description.

From-SVN: r141064
gcc/ChangeLog
gcc/config/i386/cpuid.h
gcc/config/i386/driver-i386.c