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