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