150
|
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 }
|