1 module _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 f16c { 29 requires f16c 30 header "f16cintrin.h" 31 } 32 33 explicit module sse { 34 requires sse 35 export mmx 36 export * // note: for hackish <emmintrin.h> dependency 37 header "xmmintrin.h" 38 } 39 40 explicit module sse2 { 41 requires sse2 42 export sse 43 header "emmintrin.h" 44 } 45 46 explicit module sse3 { 47 requires sse3 48 export sse2 49 header "pmmintrin.h" 50 } 51 52 explicit module ssse3 { 53 requires ssse3 54 export sse3 55 header "tmmintrin.h" 56 } 57 58 explicit module sse4_1 { 59 requires sse41 60 export ssse3 61 header "smmintrin.h" 62 } 63 64 explicit module sse4_2 { 65 requires sse42 66 export sse4_1 67 header "nmmintrin.h" 68 } 69 70 explicit module sse4a { 71 requires sse4a 72 export sse3 73 header "ammintrin.h" 74 } 75 76 explicit module avx { 77 requires avx 78 export sse4_2 79 header "avxintrin.h" 80 } 81 82 explicit module avx2 { 83 requires avx2 84 export avx 85 header "avx2intrin.h" 86 } 87 88 explicit module bmi { 89 requires bmi 90 header "bmiintrin.h" 91 } 92 93 explicit module bmi2 { 94 requires bmi2 95 header "bmi2intrin.h" 96 } 97 98 explicit module fma { 99 requires fma 100 header "fmaintrin.h" 101 } 102 103 explicit module fma4 { 104 requires fma4 105 export sse3 106 header "fma4intrin.h" 107 } 108 109 explicit module lzcnt { 110 requires lzcnt 111 header "lzcntintrin.h" 112 } 113 114 explicit module popcnt { 115 requires popcnt 116 header "popcntintrin.h" 117 } 118 119 explicit module mm3dnow { 120 requires mm3dnow 121 header "mm3dnow.h" 122 } 123 124 explicit module xop { 125 requires xop 126 export fma4 127 header "xopintrin.h" 128 } 129 130 explicit module aes_pclmul { 131 requires aes, pclmul 132 header "wmmintrin.h" 133 } 134 135 explicit module aes { 136 requires aes 137 header "__wmmintrin_aes.h" 138 } 139 140 explicit module pclmul { 141 requires pclmul 142 header "__wmmintrin_pclmul.h" 143 } 144 } 145 } 146