summaryrefslogtreecommitdiff
path: root/clang/lib/Headers/module.modulemap
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Headers/module.modulemap')
-rw-r--r--clang/lib/Headers/module.modulemap158
1 files changed, 158 insertions, 0 deletions
diff --git a/clang/lib/Headers/module.modulemap b/clang/lib/Headers/module.modulemap
new file mode 100644
index 000000000000..7954a77a4125
--- /dev/null
+++ b/clang/lib/Headers/module.modulemap
@@ -0,0 +1,158 @@
+/*===---- module.modulemap - intrinsics module map -------------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+module _Builtin_intrinsics [system] [extern_c] {
+ explicit module altivec {
+ requires altivec
+ header "altivec.h"
+ }
+
+ explicit module arm {
+ requires arm
+
+ explicit module acle {
+ header "arm_acle.h"
+ export *
+ }
+
+ explicit module neon {
+ requires neon
+ header "arm_neon.h"
+ header "arm_fp16.h"
+ export *
+ }
+ }
+
+ explicit module intel {
+ requires x86
+ export *
+
+ header "immintrin.h"
+ textual header "f16cintrin.h"
+ textual header "avxintrin.h"
+ textual header "avx2intrin.h"
+ textual header "avx512fintrin.h"
+ textual header "avx512erintrin.h"
+ textual header "fmaintrin.h"
+
+ header "x86intrin.h"
+ textual header "bmiintrin.h"
+ textual header "bmi2intrin.h"
+ textual header "lzcntintrin.h"
+ textual header "xopintrin.h"
+ textual header "fma4intrin.h"
+ textual header "mwaitxintrin.h"
+ textual header "clzerointrin.h"
+ textual header "wbnoinvdintrin.h"
+ textual header "cldemoteintrin.h"
+ textual header "waitpkgintrin.h"
+ textual header "movdirintrin.h"
+ textual header "pconfigintrin.h"
+ textual header "sgxintrin.h"
+ textual header "ptwriteintrin.h"
+ textual header "invpcidintrin.h"
+
+ textual header "__wmmintrin_aes.h"
+ textual header "__wmmintrin_pclmul.h"
+
+ explicit module mm_malloc {
+ requires !freestanding
+ header "mm_malloc.h"
+ export * // note: for <stdlib.h> dependency
+ }
+
+ explicit module cpuid {
+ requires gnuinlineasm
+ header "cpuid.h"
+ }
+
+ explicit module mmx {
+ header "mmintrin.h"
+ }
+
+ explicit module sse {
+ export mm_malloc
+ export mmx
+ export sse2 // note: for hackish <emmintrin.h> dependency
+ header "xmmintrin.h"
+ }
+
+ explicit module sse2 {
+ export sse
+ header "emmintrin.h"
+ }
+
+ explicit module sse3 {
+ export sse2
+ header "pmmintrin.h"
+ }
+
+ explicit module ssse3 {
+ export sse3
+ header "tmmintrin.h"
+ }
+
+ explicit module sse4_1 {
+ export ssse3
+ header "smmintrin.h"
+ }
+
+ explicit module sse4_2 {
+ export sse4_1
+ header "nmmintrin.h"
+ }
+
+ explicit module sse4a {
+ export sse3
+ header "ammintrin.h"
+ }
+
+ explicit module popcnt {
+ header "popcntintrin.h"
+ }
+
+ explicit module mm3dnow {
+ header "mm3dnow.h"
+ }
+
+ explicit module aes_pclmul {
+ header "wmmintrin.h"
+ export aes
+ export pclmul
+ }
+ }
+
+ explicit module systemz {
+ requires systemz
+ export *
+
+ header "s390intrin.h"
+
+ explicit module htm {
+ requires htm
+ header "htmintrin.h"
+ header "htmxlintrin.h"
+ }
+
+ explicit module zvector {
+ requires zvector, vx
+ header "vecintrin.h"
+ }
+ }
+}
+
+module _Builtin_stddef_max_align_t [system] [extern_c] {
+ header "__stddef_max_align_t.h"
+}
+
+module opencl_c {
+ requires opencl
+ header "opencl-c.h"
+ header "opencl-c-base.h"
+}