Home | History | Annotate | Line # | Download | only in Headers
module.modulemap revision 1.1.1.1.4.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     explicit module sve {
     32       requires sve
     33       header "arm_sve.h"
     34       export *
     35     }
     36   }
     37 
     38   explicit module intel {
     39     requires x86
     40     export *
     41 
     42     header "immintrin.h"
     43     textual header "f16cintrin.h"
     44     textual header "avxintrin.h"
     45     textual header "avx2intrin.h"
     46     textual header "avx512fintrin.h"
     47     textual header "avx512erintrin.h"
     48     textual header "fmaintrin.h"
     49 
     50     header "x86intrin.h"
     51     textual header "bmiintrin.h"
     52     textual header "bmi2intrin.h"
     53     textual header "lzcntintrin.h"
     54     textual header "xopintrin.h"
     55     textual header "fma4intrin.h"
     56     textual header "mwaitxintrin.h"
     57     textual header "clzerointrin.h"
     58     textual header "wbnoinvdintrin.h"
     59     textual header "cldemoteintrin.h"
     60     textual header "waitpkgintrin.h"
     61     textual header "movdirintrin.h"
     62     textual header "pconfigintrin.h"
     63     textual header "sgxintrin.h"
     64     textual header "ptwriteintrin.h"
     65     textual header "invpcidintrin.h"
     66 
     67     textual header "__wmmintrin_aes.h"
     68     textual header "__wmmintrin_pclmul.h"
     69 
     70     explicit module mm_malloc {
     71       requires !freestanding
     72       header "mm_malloc.h"
     73       export * // note: for <stdlib.h> dependency
     74     }
     75 
     76     explicit module cpuid {
     77       requires gnuinlineasm
     78       header "cpuid.h"
     79     }
     80 
     81     explicit module mmx {
     82       header "mmintrin.h"
     83     }
     84 
     85     explicit module sse {
     86       export mm_malloc
     87       export mmx
     88       export sse2 // note: for hackish <emmintrin.h> dependency
     89       header "xmmintrin.h"
     90     }
     91 
     92     explicit module sse2 {
     93       export sse
     94       header "emmintrin.h"
     95     }
     96 
     97     explicit module sse3 {
     98       export sse2
     99       header "pmmintrin.h"
    100     }
    101 
    102     explicit module ssse3 {
    103       export sse3
    104       header "tmmintrin.h"
    105     }
    106 
    107     explicit module sse4_1 {
    108       export ssse3
    109       header "smmintrin.h"
    110     }
    111 
    112     explicit module sse4_2 {
    113       export sse4_1
    114       header "nmmintrin.h"
    115     }
    116 
    117     explicit module sse4a {
    118       export sse3
    119       header "ammintrin.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 aes_pclmul {
    131       header "wmmintrin.h"
    132       export aes
    133       export pclmul
    134     }
    135   }
    136 
    137   explicit module systemz {
    138     requires systemz
    139     export *
    140 
    141     header "s390intrin.h"
    142 
    143     explicit module htm {
    144       requires htm
    145       header "htmintrin.h"
    146       header "htmxlintrin.h"
    147     }
    148 
    149     explicit module zvector {
    150       requires zvector, vx
    151       header "vecintrin.h"
    152     }
    153   }
    154 }
    155 
    156 module _Builtin_stddef_max_align_t [system] [extern_c] {
    157   header "__stddef_max_align_t.h"
    158 }
    159 
    160 module opencl_c {
    161   requires opencl
    162   header "opencl-c.h"
    163   header "opencl-c-base.h"
    164 }
    165