Home | History | Annotate | Download | only in Headers
      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