diff options
author | Douglas Gregor <dgregor@apple.com> | 2012-11-05 20:11:10 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2012-11-05 20:11:10 +0000 |
commit | a65c5a39b93c47ba8aed879a60ebcd431e071ec9 (patch) | |
tree | 0f7e112e0566b03230902e1d8e51bf81256ca22e /lib | |
parent | 984e2eb52ce97eae001a28e54f36e624e98c12a7 (diff) |
Make cpuid.h actually work with -std=c99 <rdar://problem/12552716>.
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).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167398 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Headers/cpuid.h | 2 | ||||
-rw-r--r-- | lib/Headers/module.map | 22 |
2 files changed, 23 insertions, 1 deletions
diff --git a/lib/Headers/cpuid.h b/lib/Headers/cpuid.h index 05c293f6bd..33df7c2d19 100644 --- a/lib/Headers/cpuid.h +++ b/lib/Headers/cpuid.h @@ -28,6 +28,6 @@ static inline int __get_cpuid (unsigned int level, unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned int *edx) { - asm("cpuid" : "=a"(*eax), "=b" (*ebx), "=c"(*ecx), "=d"(*edx) : "0"(level)); + __asm("cpuid" : "=a"(*eax), "=b" (*ebx), "=c"(*ecx), "=d"(*edx) : "0"(level)); return 1; } diff --git a/lib/Headers/module.map b/lib/Headers/module.map index 418ba50090..bcdd8e85e6 100644 --- a/lib/Headers/module.map +++ b/lib/Headers/module.map @@ -25,6 +25,11 @@ module _Builtin_intrinsics [system] { header "mmintrin.h" } + explicit module f16c { + requires f16c + header "f16cintrin.h" + } + explicit module sse { requires sse export mmx @@ -62,6 +67,12 @@ module _Builtin_intrinsics [system] { header "nmmintrin.h" } + explicit module sse4a { + requires sse4a + export sse3 + header "nmmintrin.h" + } + explicit module avx { requires avx export sse4_2 @@ -84,6 +95,11 @@ module _Builtin_intrinsics [system] { header "bmi2intrin.h" } + explicit module fma { + requires fma + header "fmaintrin.h" + } + explicit module fma4 { requires fma4 export sse3 @@ -104,5 +120,11 @@ module _Builtin_intrinsics [system] { requires mm3dnow header "mm3dnow.h" } + + explicit module xop { + requires xop + export fma4 + header "xopintrin.h" + } } } |