]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/clang/lib/Headers/module.modulemap
Merge ^/head r351732 through r352104.
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / clang / lib / Headers / module.modulemap
1 /*===---- module.modulemap - intrinsics module map -------------------------===
2  *
3  * 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
6  *
7  *===-----------------------------------------------------------------------===
8  */
9
10 module _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"
27       header "arm_fp16.h"
28       export *
29     }
30   }
31
32   explicit module intel {
33     requires x86
34     export *
35
36     header "immintrin.h"
37     textual header "f16cintrin.h"
38     textual header "avxintrin.h"
39     textual header "avx2intrin.h"
40     textual header "avx512fintrin.h"
41     textual header "avx512erintrin.h"
42     textual header "fmaintrin.h"
43
44     header "x86intrin.h"
45     textual header "bmiintrin.h"
46     textual header "bmi2intrin.h"
47     textual header "lzcntintrin.h"
48     textual header "xopintrin.h"
49     textual header "fma4intrin.h"
50     textual header "mwaitxintrin.h"
51     textual header "clzerointrin.h"
52     textual header "wbnoinvdintrin.h"
53     textual header "cldemoteintrin.h"
54     textual header "waitpkgintrin.h"
55     textual header "movdirintrin.h"
56     textual header "pconfigintrin.h"
57     textual header "sgxintrin.h"
58     textual header "ptwriteintrin.h"
59     textual header "invpcidintrin.h"
60
61     textual header "__wmmintrin_aes.h"
62     textual header "__wmmintrin_pclmul.h"
63
64     explicit module mm_malloc {
65       requires !freestanding
66       header "mm_malloc.h"
67       export * // note: for <stdlib.h> dependency
68     }
69
70     explicit module cpuid {
71       requires gnuinlineasm
72       header "cpuid.h"
73     }
74
75     explicit module mmx {
76       header "mmintrin.h"
77     }
78
79     explicit module sse {
80       export mm_malloc
81       export mmx
82       export sse2 // note: for hackish <emmintrin.h> dependency
83       header "xmmintrin.h"
84     }
85
86     explicit module sse2 {
87       export sse
88       header "emmintrin.h"
89     }
90
91     explicit module sse3 {
92       export sse2
93       header "pmmintrin.h"
94     }
95
96     explicit module ssse3 {
97       export sse3
98       header "tmmintrin.h"
99     }
100
101     explicit module sse4_1 {
102       export ssse3
103       header "smmintrin.h"
104     }
105
106     explicit module sse4_2 {
107       export sse4_1
108       header "nmmintrin.h"
109     }
110
111     explicit module sse4a {
112       export sse3
113       header "ammintrin.h"
114     }
115
116     explicit module popcnt {
117       header "popcntintrin.h"
118     }
119
120     explicit module mm3dnow {
121       header "mm3dnow.h"
122     }
123
124     explicit module aes_pclmul {
125       header "wmmintrin.h"
126       export aes
127       export pclmul
128     }
129   }
130
131   explicit module systemz {
132     requires systemz
133     export *
134
135     header "s390intrin.h"
136
137     explicit module htm {
138       requires htm
139       header "htmintrin.h"
140       header "htmxlintrin.h"
141     }
142
143     explicit module zvector {
144       requires zvector, vx
145       header "vecintrin.h"
146     }
147   }
148 }
149
150 module _Builtin_stddef_max_align_t [system] [extern_c] {
151   header "__stddef_max_align_t.h"
152 }
153
154 module opencl_c {
155   requires opencl
156   header "opencl-c.h"
157   header "opencl-c-base.h"
158 }