Home | History | Annotate | Line # | Download | only in Headers
module.modulemap revision 1.1.1.1
      1 /*===---- module.modulemap - intrinsics module map -------------------------===
      2  *
      3  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
      4  * See https://llvm.org/LICENSE.txt for license information.
      5  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
      6  *
      7  *===-----------------------------------------------------------------------===
      8  */
      9 
     10 module _Builtin_intrinsics [system] [extern_c] {
     11   explicit module altivec {
     12     requires altivec
     13     header "altivec.h"
     14   }
     15 
     16   explicit module arm {
     17     requires arm
     18 
     19     explicit module acle {
     20       header "arm_acle.h"
     21       export *
     22     }
     23 
     24     explicit module neon {
     25       requires neon
     26       header "arm_neon.h"
     27       header "arm_fp16.h"
     28       export *
     29     }
     30   }
     31 
     32   explicit module intel {
     33     requires x86
     34     export *
     35 
     36     header "immintrin.h"
     37     textual header "f16cintrin.h"
     38     textual header "avxintrin.h"
     39     textual header "avx2intrin.h"
     40     textual header "avx512fintrin.h"
     41     textual header "avx512erintrin.h"
     42     textual header "fmaintrin.h"
     43 
     44     header "x86intrin.h"
     45     textual header "bmiintrin.h"
     46     textual header "bmi2intrin.h"
     47     textual header "lzcntintrin.h"
     48     textual header "xopintrin.h"
     49     textual header "fma4intrin.h"
     50     textual header "mwaitxintrin.h"
     51     textual header "clzerointrin.h"
     52     textual header "wbnoinvdintrin.h"
     53     textual header "cldemoteintrin.h"
     54     textual header "waitpkgintrin.h"
     55     textual header "movdirintrin.h"
     56     textual header "pconfigintrin.h"
     57     textual header "sgxintrin.h"
     58     textual header "ptwriteintrin.h"
     59     textual header "invpcidintrin.h"
     60 
     61     textual header "__wmmintrin_aes.h"
     62     textual header "__wmmintrin_pclmul.h"
     63 
     64     explicit module mm_malloc {
     65       requires !freestanding
     66       header "mm_malloc.h"
     67       export * // note: for <stdlib.h> dependency
     68     }
     69 
     70     explicit module cpuid {
     71       requires gnuinlineasm
     72       header "cpuid.h"
     73     }
     74 
     75     explicit module mmx {
     76       header "mmintrin.h"
     77     }
     78 
     79     explicit module sse {
     80       export mm_malloc
     81       export mmx
     82       export sse2 // note: for hackish <emmintrin.h> dependency
     83       header "xmmintrin.h"
     84     }
     85 
     86     explicit module sse2 {
     87       export sse
     88       header "emmintrin.h"
     89     }
     90 
     91     explicit module sse3 {
     92       export sse2
     93       header "pmmintrin.h"
     94     }
     95 
     96     explicit module ssse3 {
     97       export sse3
     98       header "tmmintrin.h"
     99     }
    100 
    101     explicit module sse4_1 {
    102       export ssse3
    103       header "smmintrin.h"
    104     }
    105 
    106     explicit module sse4_2 {
    107       export sse4_1
    108       header "nmmintrin.h"
    109     }
    110 
    111     explicit module sse4a {
    112       export sse3
    113       header "ammintrin.h"
    114     }
    115 
    116     explicit module popcnt {
    117       header "popcntintrin.h"
    118     }
    119 
    120     explicit module mm3dnow {
    121       header "mm3dnow.h"
    122     }
    123 
    124     explicit module aes_pclmul {
    125       header "wmmintrin.h"
    126       export aes
    127       export pclmul
    128     }
    129   }
    130 
    131   explicit module systemz {
    132     requires systemz
    133     export *
    134 
    135     header "s390intrin.h"
    136 
    137     explicit module htm {
    138       requires htm
    139       header "htmintrin.h"
    140       header "htmxlintrin.h"
    141     }
    142 
    143     explicit module zvector {
    144       requires zvector, vx
    145       header "vecintrin.h"
    146     }
    147   }
    148 }
    149 
    150 module _Builtin_stddef_max_align_t [system] [extern_c] {
    151   header "__stddef_max_align_t.h"
    152 }
    153 
    154 module opencl_c {
    155   requires opencl
    156   header "opencl-c.h"
    157   header "opencl-c-base.h"
    158 }
    159