| module _Builtin_intrinsics [system] { |
| explicit module altivec { |
| requires altivec |
| header "altivec.h" |
| } |
| |
| explicit module arm { |
| requires arm |
| |
| explicit module neon { |
| requires neon |
| header "arm_neon.h" |
| export * |
| } |
| } |
| |
| explicit module intel { |
| requires x86 |
| export * |
| |
| header "immintrin.h" |
| header "x86intrin.h" |
| |
| explicit module mm_malloc { |
| header "mm_malloc.h" |
| export * // note: for <stdlib.h> dependency |
| } |
| |
| explicit module cpuid { |
| requires x86 |
| header "cpuid.h" |
| } |
| |
| explicit module mmx { |
| requires mmx |
| header "mmintrin.h" |
| } |
| |
| explicit module f16c { |
| requires f16c |
| header "f16cintrin.h" |
| } |
| |
| explicit module sse { |
| requires sse |
| export mmx |
| export * // note: for hackish <emmintrin.h> dependency |
| header "xmmintrin.h" |
| } |
| |
| explicit module sse2 { |
| requires sse2 |
| export sse |
| header "emmintrin.h" |
| } |
| |
| explicit module sse3 { |
| requires sse3 |
| export sse2 |
| header "pmmintrin.h" |
| } |
| |
| explicit module ssse3 { |
| requires ssse3 |
| export sse3 |
| header "tmmintrin.h" |
| } |
| |
| explicit module sse4_1 { |
| requires sse41 |
| export ssse3 |
| header "smmintrin.h" |
| } |
| |
| explicit module sse4_2 { |
| requires sse42 |
| export sse4_1 |
| header "nmmintrin.h" |
| } |
| |
| explicit module sse4a { |
| requires sse4a |
| export sse3 |
| header "ammintrin.h" |
| } |
| |
| explicit module avx { |
| requires avx |
| export sse4_2 |
| header "avxintrin.h" |
| } |
| |
| explicit module avx2 { |
| requires avx2 |
| export avx |
| header "avx2intrin.h" |
| } |
| |
| explicit module bmi { |
| requires bmi |
| header "bmiintrin.h" |
| } |
| |
| explicit module bmi2 { |
| requires bmi2 |
| header "bmi2intrin.h" |
| } |
| |
| explicit module fma { |
| requires fma |
| header "fmaintrin.h" |
| } |
| |
| explicit module fma4 { |
| requires fma4 |
| export sse3 |
| header "fma4intrin.h" |
| } |
| |
| explicit module lzcnt { |
| requires lzcnt |
| header "lzcntintrin.h" |
| } |
| |
| explicit module popcnt { |
| requires popcnt |
| header "popcntintrin.h" |
| } |
| |
| explicit module mm3dnow { |
| requires mm3dnow |
| header "mm3dnow.h" |
| } |
| |
| explicit module xop { |
| requires xop |
| export fma4 |
| header "xopintrin.h" |
| } |
| |
| explicit module aes_pclmul { |
| requires aes, pclmul |
| header "wmmintrin.h" |
| } |
| |
| explicit module aes { |
| requires aes |
| header "__wmmintrin_aes.h" |
| } |
| |
| explicit module pclmul { |
| requires pclmul |
| header "__wmmintrin_pclmul.h" |
| } |
| } |
| } |