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