1import("//clang/resource_dir.gni") 2import("//clang/utils/TableGen/clang_tablegen.gni") 3 4# Generate arm_neon.h 5clang_tablegen("arm_neon") { 6 args = [ "-gen-arm-neon" ] 7 td_file = "//clang/include/clang/Basic/arm_neon.td" 8 output_name = "arm_neon.h" 9} 10 11# Generate arm_fp16.h 12clang_tablegen("arm_fp16") { 13 args = [ "-gen-arm-fp16" ] 14 td_file = "//clang/include/clang/Basic/arm_fp16.td" 15 output_name = "arm_fp16.h" 16} 17 18# Generate arm_sve.h 19clang_tablegen("arm_sve") { 20 args = [ "-gen-arm-sve-header" ] 21 td_file = "//clang/include/clang/Basic/arm_sve.td" 22 output_name = "arm_sve.h" 23} 24 25# Generate arm_bf16.h 26clang_tablegen("arm_bf16") { 27 args = [ "-gen-arm-bf16" ] 28 td_file = "//clang/include/clang/Basic/arm_bf16.td" 29 output_name = "arm_bf16.h" 30} 31 32# Generate arm_mve.h 33clang_tablegen("arm_mve") { 34 args = [ "-gen-arm-mve-header" ] 35 td_file = "//clang/include/clang/Basic/arm_mve.td" 36 output_name = "arm_mve.h" 37} 38 39# Generate arm_cde.h 40clang_tablegen("arm_cde") { 41 args = [ "-gen-arm-cde-header" ] 42 td_file = "//clang/include/clang/Basic/arm_cde.td" 43 output_name = "arm_cde.h" 44} 45 46# Generate riscv_vector.h 47clang_tablegen("riscv_vector") { 48 args = [ "-gen-riscv-vector-header" ] 49 td_file = "//clang/include/clang/Basic/riscv_vector.td" 50 output_name = "riscv_vector.h" 51} 52 53copy("tablegen_headers") { 54 visibility = [ ":Headers" ] 55 deps = [ 56 ":arm_bf16", 57 ":arm_cde", 58 ":arm_fp16", 59 ":arm_mve", 60 ":arm_neon", 61 ":arm_sve", 62 ":riscv_vector", 63 ] 64 sources = [] 65 foreach(dep, deps) { 66 sources += get_target_outputs(dep) 67 } 68 outputs = [ "$clang_resource_dir/include/{{source_file_part}}" ] 69} 70 71copy("Headers") { 72 deps = [ ":tablegen_headers" ] 73 74 sources = [ 75 "__clang_cuda_builtin_vars.h", 76 "__clang_cuda_cmath.h", 77 "__clang_cuda_complex_builtins.h", 78 "__clang_cuda_device_functions.h", 79 "__clang_cuda_intrinsics.h", 80 "__clang_cuda_libdevice_declares.h", 81 "__clang_cuda_math.h", 82 "__clang_cuda_math_forward_declares.h", 83 "__clang_cuda_runtime_wrapper.h", 84 "__clang_hip_cmath.h", 85 "__clang_hip_libdevice_declares.h", 86 "__clang_hip_math.h", 87 "__clang_hip_runtime_wrapper.h", 88 "__stddef_max_align_t.h", 89 "__wmmintrin_aes.h", 90 "__wmmintrin_pclmul.h", 91 "adxintrin.h", 92 "altivec.h", 93 "ammintrin.h", 94 "amxintrin.h", 95 "arm64intr.h", 96 "arm_acle.h", 97 "arm_cmse.h", 98 "armintr.h", 99 "avx2intrin.h", 100 "avx512bf16intrin.h", 101 "avx512bitalgintrin.h", 102 "avx512bwintrin.h", 103 "avx512cdintrin.h", 104 "avx512dqintrin.h", 105 "avx512erintrin.h", 106 "avx512fintrin.h", 107 "avx512ifmaintrin.h", 108 "avx512ifmavlintrin.h", 109 "avx512pfintrin.h", 110 "avx512vbmi2intrin.h", 111 "avx512vbmiintrin.h", 112 "avx512vbmivlintrin.h", 113 "avx512vlbf16intrin.h", 114 "avx512vlbitalgintrin.h", 115 "avx512vlbwintrin.h", 116 "avx512vlcdintrin.h", 117 "avx512vldqintrin.h", 118 "avx512vlintrin.h", 119 "avx512vlvbmi2intrin.h", 120 "avx512vlvnniintrin.h", 121 "avx512vlvp2intersectintrin.h", 122 "avx512vnniintrin.h", 123 "avx512vp2intersectintrin.h", 124 "avx512vpopcntdqintrin.h", 125 "avx512vpopcntdqvlintrin.h", 126 "avxintrin.h", 127 "avxvnniintrin.h", 128 "bmi2intrin.h", 129 "bmiintrin.h", 130 "cet.h", 131 "cetintrin.h", 132 "cldemoteintrin.h", 133 "clflushoptintrin.h", 134 "clwbintrin.h", 135 "clzerointrin.h", 136 "cpuid.h", 137 "cuda_wrappers/algorithm", 138 "cuda_wrappers/complex", 139 "cuda_wrappers/new", 140 "emmintrin.h", 141 "enqcmdintrin.h", 142 "f16cintrin.h", 143 "float.h", 144 "fma4intrin.h", 145 "fmaintrin.h", 146 "fxsrintrin.h", 147 "gfniintrin.h", 148 "hresetintrin.h", 149 "htmintrin.h", 150 "htmxlintrin.h", 151 "ia32intrin.h", 152 "immintrin.h", 153 "intrin.h", 154 "inttypes.h", 155 "invpcidintrin.h", 156 "iso646.h", 157 "keylockerintrin.h", 158 "limits.h", 159 "lwpintrin.h", 160 "lzcntintrin.h", 161 "mm3dnow.h", 162 "mm_malloc.h", 163 "mmintrin.h", 164 "module.modulemap", 165 "movdirintrin.h", 166 "msa.h", 167 "mwaitxintrin.h", 168 "nmmintrin.h", 169 "opencl-c-base.h", 170 "opencl-c.h", 171 "openmp_wrappers/__clang_openmp_device_functions.h", 172 "openmp_wrappers/cmath", 173 "openmp_wrappers/complex.h", 174 "openmp_wrappers/complex_cmath.h", 175 "openmp_wrappers/math.h", 176 "pconfigintrin.h", 177 "pkuintrin.h", 178 "pmmintrin.h", 179 "popcntintrin.h", 180 "ppc_wrappers/emmintrin.h", 181 "ppc_wrappers/mm_malloc.h", 182 "ppc_wrappers/mmintrin.h", 183 "ppc_wrappers/pmmintrin.h", 184 "ppc_wrappers/smmintrin.h", 185 "ppc_wrappers/tmmintrin.h", 186 "ppc_wrappers/xmmintrin.h", 187 "prfchwintrin.h", 188 "ptwriteintrin.h", 189 "rdseedintrin.h", 190 "rtmintrin.h", 191 "s390intrin.h", 192 "serializeintrin.h", 193 "sgxintrin.h", 194 "shaintrin.h", 195 "smmintrin.h", 196 "stdalign.h", 197 "stdarg.h", 198 "stdatomic.h", 199 "stdbool.h", 200 "stddef.h", 201 "stdint.h", 202 "stdnoreturn.h", 203 "tbmintrin.h", 204 "tgmath.h", 205 "tmmintrin.h", 206 "tsxldtrkintrin.h", 207 "uintrintrin.h", 208 "unwind.h", 209 "vadefs.h", 210 "vaesintrin.h", 211 "varargs.h", 212 "vecintrin.h", 213 "vpclmulqdqintrin.h", 214 "waitpkgintrin.h", 215 "wasm_simd128.h", 216 "wbnoinvdintrin.h", 217 "wmmintrin.h", 218 "x86gprintrin.h", 219 "x86intrin.h", 220 "xmmintrin.h", 221 "xopintrin.h", 222 "xsavecintrin.h", 223 "xsaveintrin.h", 224 "xsaveoptintrin.h", 225 "xsavesintrin.h", 226 "xtestintrin.h", 227 ] 228 outputs = [ "$clang_resource_dir/include/{{source_target_relative}}" ] 229} 230