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