module.modulemap revision 288943
1280031Sdimmodule _Builtin_intrinsics [system] [extern_c] {
2274958Sdim  explicit module altivec {
3274958Sdim    requires altivec
4274958Sdim    header "altivec.h"
5274958Sdim  }
6274958Sdim
7274958Sdim  explicit module arm {
8274958Sdim    requires arm
9274958Sdim
10280031Sdim    explicit module acle {
11280031Sdim      header "arm_acle.h"
12280031Sdim      export *
13280031Sdim    }
14280031Sdim
15274958Sdim    explicit module neon {
16274958Sdim      requires neon
17274958Sdim      header "arm_neon.h"
18274958Sdim      export *
19274958Sdim    }
20274958Sdim  }
21274958Sdim
22274958Sdim  explicit module intel {
23274958Sdim    requires x86
24274958Sdim    export *
25274958Sdim
26274958Sdim    header "immintrin.h"
27274958Sdim    header "x86intrin.h"
28274958Sdim
29274958Sdim    explicit module mm_malloc {
30274958Sdim      header "mm_malloc.h"
31274958Sdim      export * // note: for <stdlib.h> dependency
32274958Sdim    }
33274958Sdim
34274958Sdim    explicit module cpuid {
35274958Sdim      requires x86
36274958Sdim      header "cpuid.h"
37274958Sdim    }
38274958Sdim
39274958Sdim    explicit module mmx {
40274958Sdim      requires mmx
41274958Sdim      header "mmintrin.h"
42274958Sdim    }
43274958Sdim
44274958Sdim    explicit module f16c {
45274958Sdim      requires f16c
46274958Sdim      header "f16cintrin.h"
47274958Sdim    }
48274958Sdim
49274958Sdim    explicit module sse {
50274958Sdim      requires sse
51274958Sdim      export mmx
52288943Sdim      export sse2 // note: for hackish <emmintrin.h> dependency
53274958Sdim      header "xmmintrin.h"
54274958Sdim    }
55274958Sdim
56274958Sdim    explicit module sse2 {
57274958Sdim      requires sse2
58274958Sdim      export sse
59274958Sdim      header "emmintrin.h"
60274958Sdim    }
61274958Sdim
62274958Sdim    explicit module sse3 {
63274958Sdim      requires sse3
64274958Sdim      export sse2
65274958Sdim      header "pmmintrin.h"
66274958Sdim    }
67274958Sdim
68274958Sdim    explicit module ssse3 {
69274958Sdim      requires ssse3
70274958Sdim      export sse3
71274958Sdim      header "tmmintrin.h"
72274958Sdim    }
73274958Sdim
74274958Sdim    explicit module sse4_1 {
75274958Sdim      requires sse41
76274958Sdim      export ssse3
77274958Sdim      header "smmintrin.h"
78274958Sdim    }
79274958Sdim
80274958Sdim    explicit module sse4_2 {
81274958Sdim      requires sse42
82274958Sdim      export sse4_1
83274958Sdim      header "nmmintrin.h"
84274958Sdim    }
85274958Sdim
86274958Sdim    explicit module sse4a {
87274958Sdim      requires sse4a
88274958Sdim      export sse3
89274958Sdim      header "ammintrin.h"
90274958Sdim    }
91274958Sdim
92274958Sdim    explicit module avx {
93274958Sdim      requires avx
94274958Sdim      export sse4_2
95274958Sdim      header "avxintrin.h"
96274958Sdim    }
97274958Sdim
98274958Sdim    explicit module avx2 {
99274958Sdim      requires avx2
100274958Sdim      export avx
101274958Sdim      header "avx2intrin.h"
102274958Sdim    }
103274958Sdim
104280031Sdim    explicit module avx512f {
105280031Sdim      requires avx512f
106280031Sdim      export avx2
107280031Sdim      header "avx512fintrin.h"
108280031Sdim    }
109280031Sdim
110280031Sdim    explicit module avx512er {
111280031Sdim      requires avx512er
112280031Sdim      header "avx512erintrin.h"
113280031Sdim    }
114280031Sdim
115274958Sdim    explicit module bmi {
116274958Sdim      requires bmi
117274958Sdim      header "bmiintrin.h"
118274958Sdim    }
119274958Sdim
120274958Sdim    explicit module bmi2 {
121274958Sdim      requires bmi2
122274958Sdim      header "bmi2intrin.h"
123274958Sdim    }
124274958Sdim
125274958Sdim    explicit module fma {
126274958Sdim      requires fma
127274958Sdim      header "fmaintrin.h"
128274958Sdim    }
129274958Sdim
130274958Sdim    explicit module fma4 {
131274958Sdim      requires fma4
132274958Sdim      export sse3
133274958Sdim      header "fma4intrin.h"
134274958Sdim    }
135274958Sdim
136274958Sdim    explicit module lzcnt {
137274958Sdim      requires lzcnt
138274958Sdim      header "lzcntintrin.h"
139274958Sdim    }
140274958Sdim
141274958Sdim    explicit module popcnt {
142274958Sdim      requires popcnt
143274958Sdim      header "popcntintrin.h"
144274958Sdim    }
145274958Sdim
146274958Sdim    explicit module mm3dnow {
147274958Sdim      requires mm3dnow
148274958Sdim      header "mm3dnow.h"
149274958Sdim    }
150274958Sdim
151274958Sdim    explicit module xop {
152274958Sdim      requires xop
153274958Sdim      export fma4
154274958Sdim      header "xopintrin.h"
155274958Sdim    }
156274958Sdim
157274958Sdim    explicit module aes_pclmul {
158274958Sdim      requires aes, pclmul
159274958Sdim      header "wmmintrin.h"
160288943Sdim      export aes
161288943Sdim      export pclmul
162274958Sdim    }
163274958Sdim
164274958Sdim    explicit module aes {
165274958Sdim      requires aes
166274958Sdim      header "__wmmintrin_aes.h"
167274958Sdim    }
168274958Sdim
169274958Sdim    explicit module pclmul {
170274958Sdim      requires pclmul
171274958Sdim      header "__wmmintrin_pclmul.h"
172274958Sdim    }
173274958Sdim  }
174288943Sdim
175288943Sdim  explicit module systemz {
176288943Sdim    requires systemz
177288943Sdim    export *
178288943Sdim
179288943Sdim    header "s390intrin.h"
180288943Sdim
181288943Sdim    explicit module htm {
182288943Sdim      requires htm
183288943Sdim      header "htmintrin.h"
184288943Sdim      header "htmxlintrin.h"
185288943Sdim    }
186288943Sdim
187288943Sdim    explicit module zvector {
188288943Sdim      requires zvector, vx
189288943Sdim      header "vecintrin.h"
190288943Sdim    }
191288943Sdim  }
192274958Sdim}
193280031Sdim
194280031Sdimmodule _Builtin_stddef_max_align_t [system] [extern_c] {
195280031Sdim  header "__stddef_max_align_t.h"
196280031Sdim}
197