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 header "cpuid.h" 36 } 37 38 explicit module mmx { 39 header "mmintrin.h" 40 } 41 42 explicit module f16c { 43 header "f16cintrin.h" 44 } 45 46 explicit module sse { 47 export mm_malloc 48 export mmx 49 export sse2 // note: for hackish <emmintrin.h> dependency 50 header "xmmintrin.h" 51 } 52 53 explicit module sse2 { 54 export sse 55 header "emmintrin.h" 56 } 57 58 explicit module sse3 { 59 export sse2 60 header "pmmintrin.h" 61 } 62 63 explicit module ssse3 { 64 export sse3 65 header "tmmintrin.h" 66 } 67 68 explicit module sse4_1 { 69 export ssse3 70 header "smmintrin.h" 71 } 72 73 explicit module sse4_2 { 74 export sse4_1 75 header "nmmintrin.h" 76 } 77 78 explicit module sse4a { 79 export sse3 80 header "ammintrin.h" 81 } 82 83 explicit module avx { 84 export sse4_2 85 header "avxintrin.h" 86 } 87 88 explicit module avx2 { 89 export avx 90 header "avx2intrin.h" 91 } 92 93 explicit module avx512f { 94 export avx2 95 header "avx512fintrin.h" 96 } 97 98 explicit module avx512er { 99 header "avx512erintrin.h" 100 } 101 102 explicit module bmi { 103 header "bmiintrin.h" 104 } 105 106 explicit module bmi2 { 107 header "bmi2intrin.h" 108 } 109 110 explicit module fma { 111 header "fmaintrin.h" 112 } 113 114 explicit module fma4 { 115 export sse3 116 header "fma4intrin.h" 117 } 118 119 explicit module lzcnt { 120 header "lzcntintrin.h" 121 } 122 123 explicit module popcnt { 124 header "popcntintrin.h" 125 } 126 127 explicit module mm3dnow { 128 header "mm3dnow.h" 129 } 130 131 explicit module xop { 132 export fma4 133 header "xopintrin.h" 134 } 135 136 explicit module aes_pclmul { 137 header "wmmintrin.h" 138 export aes 139 export pclmul 140 } 141 142 explicit module aes { 143 header "__wmmintrin_aes.h" 144 } 145 146 explicit module pclmul { 147 header "__wmmintrin_pclmul.h" 148 } 149 } 150 151 explicit module systemz { 152 requires systemz 153 export * 154 155 header "s390intrin.h" 156 157 explicit module htm { 158 requires htm 159 header "htmintrin.h" 160 header "htmxlintrin.h" 161 } 162 163 explicit module zvector { 164 requires zvector, vx 165 header "vecintrin.h" 166 } 167 } 168} 169 170module _Builtin_stddef_max_align_t [system] [extern_c] { 171 header "__stddef_max_align_t.h" 172} 173