blob: c8fe9d888ebb93fa88c2f4fce6c58ab70ce149cb [file] [log] [blame]
Douglas Gregor3f09de62012-01-29 20:52:14 +00001module __compiler_builtins [system] {
Douglas Gregor0070c0b2012-01-30 06:38:25 +00002 explicit module altivec {
3 requires altivec
4 header "altivec.h"
5 }
6
Douglas Gregor3f09de62012-01-29 20:52:14 +00007 explicit module float_constants {
8 header "float.h"
9 }
10
11 explicit module iso646 {
12 header "iso646.h"
13 }
14
15 explicit module limits {
16 header "limits.h"
17 }
18
19 explicit module stdalign {
20 header "stdalign.h"
21 }
22
23 explicit module stdarg {
24 header "stdarg.h"
25 }
26
27 explicit module stdbool {
28 header "stdbool.h"
29 }
30
31 explicit module stddef {
32 header "stddef.h"
33 }
34
35 explicit module stdint {
36 header "stdint.h"
37 }
38
39 explicit module tgmath {
40 header "tgmath.h"
41 }
42
Douglas Gregor0070c0b2012-01-30 06:38:25 +000043 explicit module intel {
44 requires x86
45
46 header "immintrin.h"
47 header "x86intrin.h"
48
49 explicit module cpuid {
50 header "cpuid.h"
51 }
52
53 explicit module mmx {
54 requires mmx
55 header "mmintrin.h"
56 }
57
58 explicit module sse {
59 requires sse
60 export mmx
61 header "xmmintrin.h"
62 }
63
64 explicit module sse2 {
65 requires sse2
66 export sse
67 header "emmintrin.h"
68 }
69
70 explicit module sse3 {
71 requires sse3
72 export sse2
73 header "pmmintrin.h"
74 }
75
76 explicit module ssse3 {
77 requires ssse3
78 export sse3
79 header "tmmintrin.h"
80 }
81
82 explicit module sse4_1 {
83 requires sse41
84 export ssse3
85 header "smmintrin.h"
86 }
87
88 explicit module sse4_2 {
89 requires sse42
90 export sse4_1
91 header "nmmintrin.h"
92 }
93
94 explicit module avx {
95 requires avx
96 export sse4_2
97 header "avxintrin.h"
98 }
99
100 explicit module avx2 {
101 requires avx2
102 export acx
103 header "avx2intrin.h"
104 }
105
106 explicit module bmi {
107 requires bmi
108 header "bmiintrin.h"
109 }
110
111 explicit module bmi2 {
112 requires bmi2
113 header "bmi2intrin.h"
114 }
115
116 explicit module fma4 {
117 requires fma4
118 export sse3
119 header "fma4intrin.h"
120 }
121
122 explicit module lzcnt {
123 requires lzcnt
124 header "lzcntintrin.h"
125 }
126
127 explicit module popcnt {
128 requires popcnt
129 header "popcntintrin.h"
130 }
131
132 explicit module mm3dnow {
133 requires mm3dnow
134 header "mm3dnow.h"
135 }
136 }
137
138 // FIXME: mm_malloc.h
139 // FIXME: unwind.h
140
141 explicit module varargs {
142 requires unavailable
143 header "varargs.h"
144 }
Douglas Gregor3f09de62012-01-29 20:52:14 +0000145}