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