• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1module _Builtin_intrinsics [system] {
2  explicit module altivec {
3    requires altivec
4    header "altivec.h"
5  }
6
7  explicit module intel {
8    requires x86
9    export *
10
11    header "immintrin.h"
12    header "x86intrin.h"
13
14    explicit module mm_malloc {
15      header "mm_malloc.h"
16      export * // note: for <stdlib.h> dependency
17    }
18
19    explicit module cpuid {
20      header "cpuid.h"
21    }
22
23    explicit module mmx {
24      requires mmx
25      header "mmintrin.h"
26    }
27
28    explicit module sse {
29      requires sse
30      export mmx
31      export * // note: for hackish <emmintrin.h> dependency
32      header "xmmintrin.h"
33    }
34
35    explicit module sse2 {
36      requires sse2
37      export sse
38      header "emmintrin.h"
39    }
40
41    explicit module sse3 {
42      requires sse3
43      export sse2
44      header "pmmintrin.h"
45    }
46
47    explicit module ssse3 {
48      requires ssse3
49      export sse3
50      header "tmmintrin.h"
51    }
52
53    explicit module sse4_1 {
54      requires sse41
55      export ssse3
56      header "smmintrin.h"
57    }
58
59    explicit module sse4_2 {
60      requires sse42
61      export sse4_1
62      header "nmmintrin.h"
63    }
64
65    explicit module avx {
66      requires avx
67      export sse4_2
68      header "avxintrin.h"
69    }
70
71    explicit module avx2 {
72      requires avx2
73      export avx
74      header "avx2intrin.h"
75    }
76
77    explicit module bmi {
78      requires bmi
79      header "bmiintrin.h"
80    }
81
82    explicit module bmi2 {
83      requires bmi2
84      header "bmi2intrin.h"
85    }
86
87    explicit module fma4 {
88      requires fma4
89      export sse3
90      header "fma4intrin.h"
91    }
92
93    explicit module lzcnt {
94      requires lzcnt
95      header "lzcntintrin.h"
96    }
97
98    explicit module popcnt {
99      requires popcnt
100      header "popcntintrin.h"
101    }
102
103    explicit module mm3dnow {
104      requires mm3dnow
105      header "mm3dnow.h"
106    }
107  }
108}
109