module.modulemap revision 274958
1274958Sdimmodule _Builtin_intrinsics [system] {
2274958Sdim  explicit module altivec {
3274958Sdim    requires altivec
4274958Sdim    header "altivec.h"
5274958Sdim  }
6274958Sdim
7274958Sdim  explicit module arm {
8274958Sdim    requires arm
9274958Sdim
10274958Sdim    explicit module neon {
11274958Sdim      requires neon
12274958Sdim      header "arm_neon.h"
13274958Sdim      export *
14274958Sdim    }
15274958Sdim  }
16274958Sdim
17274958Sdim  explicit module intel {
18274958Sdim    requires x86
19274958Sdim    export *
20274958Sdim
21274958Sdim    header "immintrin.h"
22274958Sdim    header "x86intrin.h"
23274958Sdim
24274958Sdim    explicit module mm_malloc {
25274958Sdim      header "mm_malloc.h"
26274958Sdim      export * // note: for <stdlib.h> dependency
27274958Sdim    }
28274958Sdim
29274958Sdim    explicit module cpuid {
30274958Sdim      requires x86
31274958Sdim      header "cpuid.h"
32274958Sdim    }
33274958Sdim
34274958Sdim    explicit module mmx {
35274958Sdim      requires mmx
36274958Sdim      header "mmintrin.h"
37274958Sdim    }
38274958Sdim
39274958Sdim    explicit module f16c {
40274958Sdim      requires f16c
41274958Sdim      header "f16cintrin.h"
42274958Sdim    }
43274958Sdim
44274958Sdim    explicit module sse {
45274958Sdim      requires sse
46274958Sdim      export mmx
47274958Sdim      export * // note: for hackish <emmintrin.h> dependency
48274958Sdim      header "xmmintrin.h"
49274958Sdim    }
50274958Sdim
51274958Sdim    explicit module sse2 {
52274958Sdim      requires sse2
53274958Sdim      export sse
54274958Sdim      header "emmintrin.h"
55274958Sdim    }
56274958Sdim
57274958Sdim    explicit module sse3 {
58274958Sdim      requires sse3
59274958Sdim      export sse2
60274958Sdim      header "pmmintrin.h"
61274958Sdim    }
62274958Sdim
63274958Sdim    explicit module ssse3 {
64274958Sdim      requires ssse3
65274958Sdim      export sse3
66274958Sdim      header "tmmintrin.h"
67274958Sdim    }
68274958Sdim
69274958Sdim    explicit module sse4_1 {
70274958Sdim      requires sse41
71274958Sdim      export ssse3
72274958Sdim      header "smmintrin.h"
73274958Sdim    }
74274958Sdim
75274958Sdim    explicit module sse4_2 {
76274958Sdim      requires sse42
77274958Sdim      export sse4_1
78274958Sdim      header "nmmintrin.h"
79274958Sdim    }
80274958Sdim
81274958Sdim    explicit module sse4a {
82274958Sdim      requires sse4a
83274958Sdim      export sse3
84274958Sdim      header "ammintrin.h"
85274958Sdim    }
86274958Sdim
87274958Sdim    explicit module avx {
88274958Sdim      requires avx
89274958Sdim      export sse4_2
90274958Sdim      header "avxintrin.h"
91274958Sdim    }
92274958Sdim
93274958Sdim    explicit module avx2 {
94274958Sdim      requires avx2
95274958Sdim      export avx
96274958Sdim      header "avx2intrin.h"
97274958Sdim    }
98274958Sdim
99274958Sdim    explicit module bmi {
100274958Sdim      requires bmi
101274958Sdim      header "bmiintrin.h"
102274958Sdim    }
103274958Sdim
104274958Sdim    explicit module bmi2 {
105274958Sdim      requires bmi2
106274958Sdim      header "bmi2intrin.h"
107274958Sdim    }
108274958Sdim
109274958Sdim    explicit module fma {
110274958Sdim      requires fma
111274958Sdim      header "fmaintrin.h"
112274958Sdim    }
113274958Sdim
114274958Sdim    explicit module fma4 {
115274958Sdim      requires fma4
116274958Sdim      export sse3
117274958Sdim      header "fma4intrin.h"
118274958Sdim    }
119274958Sdim
120274958Sdim    explicit module lzcnt {
121274958Sdim      requires lzcnt
122274958Sdim      header "lzcntintrin.h"
123274958Sdim    }
124274958Sdim
125274958Sdim    explicit module popcnt {
126274958Sdim      requires popcnt
127274958Sdim      header "popcntintrin.h"
128274958Sdim    }
129274958Sdim
130274958Sdim    explicit module mm3dnow {
131274958Sdim      requires mm3dnow
132274958Sdim      header "mm3dnow.h"
133274958Sdim    }
134274958Sdim
135274958Sdim    explicit module xop {
136274958Sdim      requires xop
137274958Sdim      export fma4
138274958Sdim      header "xopintrin.h"
139274958Sdim    }
140274958Sdim
141274958Sdim    explicit module aes_pclmul {
142274958Sdim      requires aes, pclmul
143274958Sdim      header "wmmintrin.h"
144274958Sdim    }
145274958Sdim
146274958Sdim    explicit module aes {
147274958Sdim      requires aes
148274958Sdim      header "__wmmintrin_aes.h"
149274958Sdim    }
150274958Sdim
151274958Sdim    explicit module pclmul {
152274958Sdim      requires pclmul
153274958Sdim      header "__wmmintrin_pclmul.h"
154274958Sdim    }
155274958Sdim  }
156274958Sdim}
157