blob: 6894672ef0529b8e2df970400bb6959413b91b76 [file] [log] [blame]
Logan Chien2833ffb2018-10-09 10:03:24 +08001/*===---- module.modulemap - intrinsics module map -------------------------===
2 *
Logan Chiendf4f7662019-09-04 16:45:23 -07003 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
Logan Chien2833ffb2018-10-09 10:03:24 +08006 *
7 *===-----------------------------------------------------------------------===
8 */
9
10module _Builtin_intrinsics [system] [extern_c] {
11 explicit module altivec {
12 requires altivec
13 header "altivec.h"
14 }
15
16 explicit module arm {
17 requires arm
18
19 explicit module acle {
20 header "arm_acle.h"
21 export *
22 }
23
24 explicit module neon {
25 requires neon
26 header "arm_neon.h"
Logan Chien55afb0a2018-10-15 10:42:14 +080027 header "arm_fp16.h"
Logan Chien2833ffb2018-10-09 10:03:24 +080028 export *
29 }
Sasha Smundak0fc590b2020-10-07 08:11:59 -070030
31 explicit module sve {
32 requires sve
33 header "arm_sve.h"
34 export *
35 }
Logan Chien2833ffb2018-10-09 10:03:24 +080036 }
37
38 explicit module intel {
39 requires x86
40 export *
41
42 header "immintrin.h"
43 textual header "f16cintrin.h"
44 textual header "avxintrin.h"
45 textual header "avx2intrin.h"
46 textual header "avx512fintrin.h"
47 textual header "avx512erintrin.h"
48 textual header "fmaintrin.h"
49
50 header "x86intrin.h"
51 textual header "bmiintrin.h"
52 textual header "bmi2intrin.h"
53 textual header "lzcntintrin.h"
54 textual header "xopintrin.h"
55 textual header "fma4intrin.h"
56 textual header "mwaitxintrin.h"
Logan Chien55afb0a2018-10-15 10:42:14 +080057 textual header "clzerointrin.h"
58 textual header "wbnoinvdintrin.h"
59 textual header "cldemoteintrin.h"
60 textual header "waitpkgintrin.h"
61 textual header "movdirintrin.h"
62 textual header "pconfigintrin.h"
63 textual header "sgxintrin.h"
64 textual header "ptwriteintrin.h"
65 textual header "invpcidintrin.h"
66
67 textual header "__wmmintrin_aes.h"
68 textual header "__wmmintrin_pclmul.h"
Logan Chien2833ffb2018-10-09 10:03:24 +080069
70 explicit module mm_malloc {
Logan Chien55afb0a2018-10-15 10:42:14 +080071 requires !freestanding
Logan Chien2833ffb2018-10-09 10:03:24 +080072 header "mm_malloc.h"
73 export * // note: for <stdlib.h> dependency
74 }
75
76 explicit module cpuid {
Logan Chien55afb0a2018-10-15 10:42:14 +080077 requires gnuinlineasm
Logan Chien2833ffb2018-10-09 10:03:24 +080078 header "cpuid.h"
79 }
80
81 explicit module mmx {
82 header "mmintrin.h"
83 }
84
85 explicit module sse {
86 export mm_malloc
87 export mmx
88 export sse2 // note: for hackish <emmintrin.h> dependency
89 header "xmmintrin.h"
90 }
91
92 explicit module sse2 {
93 export sse
94 header "emmintrin.h"
95 }
96
97 explicit module sse3 {
98 export sse2
99 header "pmmintrin.h"
100 }
101
102 explicit module ssse3 {
103 export sse3
104 header "tmmintrin.h"
105 }
106
107 explicit module sse4_1 {
108 export ssse3
109 header "smmintrin.h"
110 }
111
112 explicit module sse4_2 {
113 export sse4_1
114 header "nmmintrin.h"
115 }
116
117 explicit module sse4a {
118 export sse3
119 header "ammintrin.h"
120 }
121
122 explicit module popcnt {
123 header "popcntintrin.h"
124 }
125
126 explicit module mm3dnow {
127 header "mm3dnow.h"
128 }
129
130 explicit module aes_pclmul {
131 header "wmmintrin.h"
132 export aes
133 export pclmul
134 }
Logan Chien2833ffb2018-10-09 10:03:24 +0800135 }
136
137 explicit module systemz {
138 requires systemz
139 export *
140
141 header "s390intrin.h"
142
143 explicit module htm {
144 requires htm
145 header "htmintrin.h"
146 header "htmxlintrin.h"
147 }
148
149 explicit module zvector {
150 requires zvector, vx
151 header "vecintrin.h"
152 }
153 }
154}
155
156module _Builtin_stddef_max_align_t [system] [extern_c] {
157 header "__stddef_max_align_t.h"
158}
159
160module opencl_c {
161 requires opencl
162 header "opencl-c.h"
Logan Chiendf4f7662019-09-04 16:45:23 -0700163 header "opencl-c-base.h"
Logan Chien2833ffb2018-10-09 10:03:24 +0800164}