summaryrefslogtreecommitdiffstats
path: root/clang/lib/Headers/cpuid.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix trailing commas in AMD define.Joerg Sonnenberger2014-10-011-3/+3
| | | | llvm-svn: 218825
* Add the various signature macros.Joerg Sonnenberger2014-10-011-0/+54
| | | | llvm-svn: 218824
* Rename bit_RDRAND to bit_RDRND to match GCC's version of this header.Joerg Sonnenberger2014-10-011-1/+1
| | | | llvm-svn: 218823
* Fix bugs in cpuid.h.Akira Hatanaka2014-09-201-15/+13
| | | | | | | | | | | | | | | This commit makes two changes: - Remove the push and pop instructions that were saving and restoring %ebx before and after cpuid in 32-bit pic mode. We were doing this to ensure we don't lose the GOT address in pic register %ebx, but this isn't necessary because the GOT address is kept in a virtual register. - In 64-bit mode, preserve base register %rbx around cpuid. This fixes PR20311 and rdar://problem/17686779. llvm-svn: 218173
* Add bit_FXSAVE as an alias for bit_FXSR, for gcc compat.Nico Weber2013-12-161-0/+1
| | | | llvm-svn: 197399
* This patch implements __get_cpuid_max() as an inline and __cpuid() andRoman Divacky2013-07-191-2/+124
| | | | | | | | | | | | | __cpuid_count() as macros to be compatible with GCC's cpuid.h. It also adds bit_<foo> constants for the various feature bits as described in version 039 (May 2011) of Intel's SDM Volume 2 in the description of the CPUID instruction. The list of bit_<foo> constants is a bit exhaustive (GCC doesn't do near this many). More bits could be added from a newer version of SDM if desired. Patch by John Baldwin! llvm-svn: 186696
* Add tests that build modules for our builtin headers, and fix two buglets ↵Richard Smith2013-04-041-3/+3
| | | | | | exposed by doing so. llvm-svn: 178736
* PR14964: intrinsic headers using non-reserved identifiersDavid Blaikie2013-01-161-4/+5
| | | | | | | | | | | | | | | | Several of the intrinsic headers were using plain non-reserved identifiers. C++11 17.6.4.3.2 [global.names] p1 reservers names containing a double begining with an underscore followed by an uppercase letter for any use. I think I got them all, but open to being corrected. For the most part I didn't bother updating function-like macro parameter names because I don't believe they're subject to any such collission - though some function-like macros already follow this convention (I didn't update them in part because the churn was more significant as several function-like macros use the double underscore prefixed version of the same name as a parameter in their implementation) llvm-svn: 172666
* Make cpuid.h actually work with -std=c99 <rdar://problem/12552716>.Douglas Gregor2012-11-051-1/+1
| | | | | | | | While we're here, extend the module map to cover most of the newly-added instrinsic headers. Only wmmintrin.h is missing, because it needs to be split into AES/PCLMUL subheaders (as a separate commit). llvm-svn: 167398
* Fix comment.Rafael Espindola2011-11-281-1/+1
| | | | llvm-svn: 145271
* Error on non x86 architectures.Rafael Espindola2011-11-271-0/+4
| | | | llvm-svn: 145185
* Fix file name in comments.Rafael Espindola2011-11-271-1/+1
| | | | llvm-svn: 145184
* Add the minimum implementation of cpuid.h. This works on "modern" intel cpusRafael Espindola2011-11-261-0/+29
and on clang, which seams to handled "=b" correctly even when ebx is the PIC register. llvm-svn: 145149
OpenPOWER on IntegriCloud