1280031Sdimmodule _Builtin_intrinsics [system] [extern_c] { 2274958Sdim explicit module altivec { 3274958Sdim requires altivec 4274958Sdim header "altivec.h" 5274958Sdim } 6274958Sdim 7274958Sdim explicit module arm { 8274958Sdim requires arm 9274958Sdim 10280031Sdim explicit module acle { 11280031Sdim header "arm_acle.h" 12280031Sdim export * 13280031Sdim } 14280031Sdim 15274958Sdim explicit module neon { 16274958Sdim requires neon 17274958Sdim header "arm_neon.h" 18274958Sdim export * 19274958Sdim } 20274958Sdim } 21274958Sdim 22274958Sdim explicit module intel { 23274958Sdim requires x86 24274958Sdim export * 25274958Sdim 26274958Sdim header "immintrin.h" 27274958Sdim header "x86intrin.h" 28274958Sdim 29274958Sdim explicit module mm_malloc { 30274958Sdim header "mm_malloc.h" 31274958Sdim export * // note: for <stdlib.h> dependency 32274958Sdim } 33274958Sdim 34274958Sdim explicit module cpuid { 35274958Sdim header "cpuid.h" 36274958Sdim } 37274958Sdim 38274958Sdim explicit module mmx { 39274958Sdim header "mmintrin.h" 40274958Sdim } 41274958Sdim 42274958Sdim explicit module f16c { 43274958Sdim header "f16cintrin.h" 44274958Sdim } 45274958Sdim 46274958Sdim explicit module sse { 47274958Sdim export mmx 48288943Sdim export sse2 // note: for hackish <emmintrin.h> dependency 49274958Sdim header "xmmintrin.h" 50274958Sdim } 51274958Sdim 52274958Sdim explicit module sse2 { 53274958Sdim export sse 54274958Sdim header "emmintrin.h" 55274958Sdim } 56274958Sdim 57274958Sdim explicit module sse3 { 58274958Sdim export sse2 59274958Sdim header "pmmintrin.h" 60274958Sdim } 61274958Sdim 62274958Sdim explicit module ssse3 { 63274958Sdim export sse3 64274958Sdim header "tmmintrin.h" 65274958Sdim } 66274958Sdim 67274958Sdim explicit module sse4_1 { 68274958Sdim export ssse3 69274958Sdim header "smmintrin.h" 70274958Sdim } 71274958Sdim 72274958Sdim explicit module sse4_2 { 73274958Sdim export sse4_1 74274958Sdim header "nmmintrin.h" 75274958Sdim } 76274958Sdim 77274958Sdim explicit module sse4a { 78274958Sdim export sse3 79274958Sdim header "ammintrin.h" 80274958Sdim } 81274958Sdim 82274958Sdim explicit module avx { 83274958Sdim export sse4_2 84274958Sdim header "avxintrin.h" 85274958Sdim } 86274958Sdim 87274958Sdim explicit module avx2 { 88274958Sdim export avx 89274958Sdim header "avx2intrin.h" 90274958Sdim } 91274958Sdim 92280031Sdim explicit module avx512f { 93280031Sdim export avx2 94280031Sdim header "avx512fintrin.h" 95280031Sdim } 96280031Sdim 97280031Sdim explicit module avx512er { 98280031Sdim header "avx512erintrin.h" 99280031Sdim } 100280031Sdim 101274958Sdim explicit module bmi { 102274958Sdim header "bmiintrin.h" 103274958Sdim } 104274958Sdim 105274958Sdim explicit module bmi2 { 106274958Sdim header "bmi2intrin.h" 107274958Sdim } 108274958Sdim 109274958Sdim explicit module fma { 110274958Sdim header "fmaintrin.h" 111274958Sdim } 112274958Sdim 113274958Sdim explicit module fma4 { 114274958Sdim export sse3 115274958Sdim header "fma4intrin.h" 116274958Sdim } 117274958Sdim 118274958Sdim explicit module lzcnt { 119274958Sdim header "lzcntintrin.h" 120274958Sdim } 121274958Sdim 122274958Sdim explicit module popcnt { 123274958Sdim header "popcntintrin.h" 124274958Sdim } 125274958Sdim 126274958Sdim explicit module mm3dnow { 127274958Sdim header "mm3dnow.h" 128274958Sdim } 129274958Sdim 130274958Sdim explicit module xop { 131274958Sdim export fma4 132274958Sdim header "xopintrin.h" 133274958Sdim } 134274958Sdim 135274958Sdim explicit module aes_pclmul { 136274958Sdim header "wmmintrin.h" 137288943Sdim export aes 138288943Sdim export pclmul 139274958Sdim } 140274958Sdim 141274958Sdim explicit module aes { 142274958Sdim header "__wmmintrin_aes.h" 143274958Sdim } 144274958Sdim 145274958Sdim explicit module pclmul { 146274958Sdim header "__wmmintrin_pclmul.h" 147274958Sdim } 148274958Sdim } 149288943Sdim 150288943Sdim explicit module systemz { 151288943Sdim requires systemz 152288943Sdim export * 153288943Sdim 154288943Sdim header "s390intrin.h" 155288943Sdim 156288943Sdim explicit module htm { 157288943Sdim requires htm 158288943Sdim header "htmintrin.h" 159288943Sdim header "htmxlintrin.h" 160288943Sdim } 161288943Sdim 162288943Sdim explicit module zvector { 163288943Sdim requires zvector, vx 164288943Sdim header "vecintrin.h" 165288943Sdim } 166288943Sdim } 167274958Sdim} 168280031Sdim 169280031Sdimmodule _Builtin_stddef_max_align_t [system] [extern_c] { 170280031Sdim header "__stddef_max_align_t.h" 171280031Sdim} 172