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