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