blob: 9f7944dedbb03dc05995ebaf6bebf890ca90b52e [file] [log] [blame]
Stephen Hines51a0ffb2014-02-14 00:25:07 -08001module _Builtin_intrinsics [system] {
2 explicit module altivec {
3 requires altivec
4 header "altivec.h"
5 }
6
7 explicit module arm {
8 requires arm
9
10 explicit module neon {
11 requires neon
12 header "arm_neon.h"
13 export *
14 }
15 }
16
17 explicit module intel {
18 requires x86
19 export *
20
21 header "immintrin.h"
22 header "x86intrin.h"
23
24 explicit module mm_malloc {
25 header "mm_malloc.h"
26 export * // note: for <stdlib.h> dependency
27 }
28
29 explicit module cpuid {
30 requires x86
31 header "cpuid.h"
32 }
33
34 explicit module mmx {
35 requires mmx
36 header "mmintrin.h"
37 }
38
39 explicit module f16c {
40 requires f16c
41 header "f16cintrin.h"
42 }
43
44 explicit module sse {
45 requires sse
46 export mmx
47 export * // note: for hackish <emmintrin.h> dependency
48 header "xmmintrin.h"
49 }
50
51 explicit module sse2 {
52 requires sse2
53 export sse
54 header "emmintrin.h"
55 }
56
57 explicit module sse3 {
58 requires sse3
59 export sse2
60 header "pmmintrin.h"
61 }
62
63 explicit module ssse3 {
64 requires ssse3
65 export sse3
66 header "tmmintrin.h"
67 }
68
69 explicit module sse4_1 {
70 requires sse41
71 export ssse3
72 header "smmintrin.h"
73 }
74
75 explicit module sse4_2 {
76 requires sse42
77 export sse4_1
78 header "nmmintrin.h"
79 }
80
81 explicit module sse4a {
82 requires sse4a
83 export sse3
84 header "ammintrin.h"
85 }
86
87 explicit module avx {
88 requires avx
89 export sse4_2
90 header "avxintrin.h"
91 }
92
93 explicit module avx2 {
94 requires avx2
95 export avx
96 header "avx2intrin.h"
97 }
98
99 explicit module bmi {
100 requires bmi
101 header "bmiintrin.h"
102 }
103
104 explicit module bmi2 {
105 requires bmi2
106 header "bmi2intrin.h"
107 }
108
109 explicit module fma {
110 requires fma
111 header "fmaintrin.h"
112 }
113
114 explicit module fma4 {
115 requires fma4
116 export sse3
117 header "fma4intrin.h"
118 }
119
120 explicit module lzcnt {
121 requires lzcnt
122 header "lzcntintrin.h"
123 }
124
125 explicit module popcnt {
126 requires popcnt
127 header "popcntintrin.h"
128 }
129
130 explicit module mm3dnow {
131 requires mm3dnow
132 header "mm3dnow.h"
133 }
134
135 explicit module xop {
136 requires xop
137 export fma4
138 header "xopintrin.h"
139 }
140
141 explicit module aes_pclmul {
142 requires aes, pclmul
143 header "wmmintrin.h"
144 }
145
146 explicit module aes {
147 requires aes
148 header "__wmmintrin_aes.h"
149 }
150
151 explicit module pclmul {
152 requires pclmul
153 header "__wmmintrin_pclmul.h"
154 }
155 }
156}