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