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_sme.h 26clang_tablegen("arm_sme") { 27 args = [ "-gen-arm-sme-header" ] 28 td_file = "//clang/include/clang/Basic/arm_sme.td" 29 output_name = "arm_sme.h" 30} 31 32# Generate arm_bf16.h 33clang_tablegen("arm_bf16") { 34 args = [ "-gen-arm-bf16" ] 35 td_file = "//clang/include/clang/Basic/arm_bf16.td" 36 output_name = "arm_bf16.h" 37} 38 39# Generate arm_mve.h 40clang_tablegen("arm_mve") { 41 args = [ "-gen-arm-mve-header" ] 42 td_file = "//clang/include/clang/Basic/arm_mve.td" 43 output_name = "arm_mve.h" 44} 45 46# Generate arm_cde.h 47clang_tablegen("arm_cde") { 48 args = [ "-gen-arm-cde-header" ] 49 td_file = "//clang/include/clang/Basic/arm_cde.td" 50 output_name = "arm_cde.h" 51} 52 53# Generate arm__vector_types.h 54clang_tablegen("arm_vector_types") { 55 args = [ "-gen-arm-vector-type" ] 56 td_file = "//clang/include/clang/Basic/arm_neon.td" 57 output_name = "arm_vector_types.h" 58} 59 60# Generate riscv_vector.h 61clang_tablegen("riscv_vector") { 62 args = [ "-gen-riscv-vector-header" ] 63 td_file = "//clang/include/clang/Basic/riscv_vector.td" 64 output_name = "riscv_vector.h" 65} 66 67copy("tablegen_headers") { 68 visibility = [ ":Headers" ] 69 deps = [ 70 ":arm_bf16", 71 ":arm_cde", 72 ":arm_fp16", 73 ":arm_mve", 74 ":arm_neon", 75 ":arm_sme", 76 ":arm_sve", 77 ":arm_vector_types", 78 ":riscv_vector", 79 ] 80 sources = [] 81 foreach(dep, deps) { 82 sources += get_target_outputs(dep) 83 } 84 outputs = [ "$clang_resource_dir/include/{{source_file_part}}" ] 85} 86 87copy("Headers") { 88 deps = [ ":tablegen_headers" ] 89 90 sources = [ 91 "__clang_cuda_builtin_vars.h", 92 "__clang_cuda_cmath.h", 93 "__clang_cuda_complex_builtins.h", 94 "__clang_cuda_device_functions.h", 95 "__clang_cuda_intrinsics.h", 96 "__clang_cuda_libdevice_declares.h", 97 "__clang_cuda_math.h", 98 "__clang_cuda_math_forward_declares.h", 99 "__clang_cuda_runtime_wrapper.h", 100 "__clang_cuda_texture_intrinsics.h", 101 "__clang_hip_cmath.h", 102 "__clang_hip_libdevice_declares.h", 103 "__clang_hip_math.h", 104 "__clang_hip_runtime_wrapper.h", 105 "__clang_hip_stdlib.h", 106 "__stdarg___gnuc_va_list.h", 107 "__stdarg___va_copy.h", 108 "__stdarg_header_macro.h", 109 "__stdarg_va_arg.h", 110 "__stdarg_va_copy.h", 111 "__stdarg_va_list.h", 112 "__stddef_header_macro.h", 113 "__stddef_max_align_t.h", 114 "__stddef_null.h", 115 "__stddef_nullptr_t.h", 116 "__stddef_offsetof.h", 117 "__stddef_ptrdiff_t.h", 118 "__stddef_rsize_t.h", 119 "__stddef_size_t.h", 120 "__stddef_unreachable.h", 121 "__stddef_wchar_t.h", 122 "__stddef_wint_t.h", 123 "__wmmintrin_aes.h", 124 "__wmmintrin_pclmul.h", 125 "adcintrin.h", 126 "adxintrin.h", 127 "altivec.h", 128 "amdgpuintrin.h", 129 "ammintrin.h", 130 "amxavx512intrin.h", 131 "amxbf16transposeintrin.h", 132 "amxcomplexintrin.h", 133 "amxcomplextransposeintrin.h", 134 "amxfp16intrin.h", 135 "amxfp16transposeintrin.h", 136 "amxfp8intrin.h", 137 "amxintrin.h", 138 "amxmovrsintrin.h", 139 "amxmovrstransposeintrin.h", 140 "amxtf32intrin.h", 141 "amxtf32transposeintrin.h", 142 "amxtransposeintrin.h", 143 "arm64intr.h", 144 "arm_acle.h", 145 "arm_cmse.h", 146 "arm_neon_sve_bridge.h", 147 "armintr.h", 148 "avx10_2_512bf16intrin.h", 149 "avx10_2_512convertintrin.h", 150 "avx10_2_512minmaxintrin.h", 151 "avx10_2_512niintrin.h", 152 "avx10_2_512satcvtdsintrin.h", 153 "avx10_2_512satcvtintrin.h", 154 "avx10_2bf16intrin.h", 155 "avx10_2convertintrin.h", 156 "avx10_2copyintrin.h", 157 "avx10_2minmaxintrin.h", 158 "avx10_2niintrin.h", 159 "avx10_2satcvtdsintrin.h", 160 "avx10_2satcvtintrin.h", 161 "avx2intrin.h", 162 "avx512bf16intrin.h", 163 "avx512bitalgintrin.h", 164 "avx512bwintrin.h", 165 "avx512cdintrin.h", 166 "avx512dqintrin.h", 167 "avx512fintrin.h", 168 "avx512fp16intrin.h", 169 "avx512ifmaintrin.h", 170 "avx512ifmavlintrin.h", 171 "avx512vbmi2intrin.h", 172 "avx512vbmiintrin.h", 173 "avx512vbmivlintrin.h", 174 "avx512vlbf16intrin.h", 175 "avx512vlbitalgintrin.h", 176 "avx512vlbwintrin.h", 177 "avx512vlcdintrin.h", 178 "avx512vldqintrin.h", 179 "avx512vlfp16intrin.h", 180 "avx512vlintrin.h", 181 "avx512vlvbmi2intrin.h", 182 "avx512vlvnniintrin.h", 183 "avx512vlvp2intersectintrin.h", 184 "avx512vnniintrin.h", 185 "avx512vp2intersectintrin.h", 186 "avx512vpopcntdqintrin.h", 187 "avx512vpopcntdqvlintrin.h", 188 "avxifmaintrin.h", 189 "avxintrin.h", 190 "avxneconvertintrin.h", 191 "avxvnniint16intrin.h", 192 "avxvnniint8intrin.h", 193 "avxvnniintrin.h", 194 "bmi2intrin.h", 195 "bmiintrin.h", 196 "builtins.h", 197 "cet.h", 198 "cetintrin.h", 199 "cldemoteintrin.h", 200 "clflushoptintrin.h", 201 "clwbintrin.h", 202 "clzerointrin.h", 203 "cmpccxaddintrin.h", 204 "cpuid.h", 205 "crc32intrin.h", 206 "cuda_wrappers/algorithm", 207 "cuda_wrappers/bits/basic_string.h", 208 "cuda_wrappers/bits/shared_ptr_base.h", 209 "cuda_wrappers/complex", 210 "cuda_wrappers/new", 211 "emmintrin.h", 212 "enqcmdintrin.h", 213 "f16cintrin.h", 214 "float.h", 215 "fma4intrin.h", 216 "fmaintrin.h", 217 "fxsrintrin.h", 218 "gfniintrin.h", 219 "gpuintrin.h", 220 "hexagon_circ_brev_intrinsics.h", 221 "hexagon_protos.h", 222 "hexagon_types.h", 223 "hlsl.h", 224 "hlsl/hlsl_basic_types.h", 225 "hlsl/hlsl_detail.h", 226 "hlsl/hlsl_intrinsics.h", 227 "hresetintrin.h", 228 "htmintrin.h", 229 "htmxlintrin.h", 230 "hvx_hexagon_protos.h", 231 "ia32intrin.h", 232 "immintrin.h", 233 "intrin.h", 234 "intrin0.h", 235 "inttypes.h", 236 "invpcidintrin.h", 237 "iso646.h", 238 "keylockerintrin.h", 239 "larchintrin.h", 240 "lasxintrin.h", 241 "limits.h", 242 "llvm_libc_wrappers/assert.h", 243 "llvm_libc_wrappers/ctype.h", 244 "llvm_libc_wrappers/inttypes.h", 245 "llvm_libc_wrappers/stdio.h", 246 "llvm_libc_wrappers/stdlib.h", 247 "llvm_libc_wrappers/string.h", 248 "llvm_libc_wrappers/time.h", 249 "llvm_offload_wrappers/__llvm_offload.h", 250 "llvm_offload_wrappers/__llvm_offload_device.h", 251 "llvm_offload_wrappers/__llvm_offload_host.h", 252 "lsxintrin.h", 253 "lwpintrin.h", 254 "lzcntintrin.h", 255 "mm3dnow.h", 256 "mm_malloc.h", 257 "mmintrin.h", 258 "module.modulemap", 259 "movdirintrin.h", 260 "movrs_avx10_2_512intrin.h", 261 "movrs_avx10_2intrin.h", 262 "movrsintrin.h", 263 "msa.h", 264 "mwaitxintrin.h", 265 "nmmintrin.h", 266 "nvptxintrin.h", 267 "opencl-c-base.h", 268 "opencl-c.h", 269 "openmp_wrappers/__clang_openmp_device_functions.h", 270 "openmp_wrappers/cmath", 271 "openmp_wrappers/complex.h", 272 "openmp_wrappers/complex_cmath.h", 273 "openmp_wrappers/math.h", 274 "pconfigintrin.h", 275 "pkuintrin.h", 276 "pmmintrin.h", 277 "popcntintrin.h", 278 "ppc_wrappers/bmi2intrin.h", 279 "ppc_wrappers/bmiintrin.h", 280 "ppc_wrappers/emmintrin.h", 281 "ppc_wrappers/immintrin.h", 282 "ppc_wrappers/mm_malloc.h", 283 "ppc_wrappers/mmintrin.h", 284 "ppc_wrappers/nmmintrin.h", 285 "ppc_wrappers/pmmintrin.h", 286 "ppc_wrappers/smmintrin.h", 287 "ppc_wrappers/tmmintrin.h", 288 "ppc_wrappers/x86gprintrin.h", 289 "ppc_wrappers/x86intrin.h", 290 "ppc_wrappers/xmmintrin.h", 291 "prfchiintrin.h", 292 "prfchwintrin.h", 293 "ptrauth.h", 294 "ptwriteintrin.h", 295 "raointintrin.h", 296 "rdpruintrin.h", 297 "rdseedintrin.h", 298 "riscv_bitmanip.h", 299 "riscv_corev_alu.h", 300 "riscv_crypto.h", 301 "riscv_ntlh.h", 302 "rtmintrin.h", 303 "s390intrin.h", 304 "serializeintrin.h", 305 "sgxintrin.h", 306 "sha512intrin.h", 307 "shaintrin.h", 308 "sifive_vector.h", 309 "sm3intrin.h", 310 "sm4evexintrin.h", 311 "sm4intrin.h", 312 "smmintrin.h", 313 "stdalign.h", 314 "stdarg.h", 315 "stdatomic.h", 316 "stdbool.h", 317 "stdckdint.h", 318 "stddef.h", 319 "stdint.h", 320 "stdnoreturn.h", 321 "tbmintrin.h", 322 "tgmath.h", 323 "tmmintrin.h", 324 "tsxldtrkintrin.h", 325 "uintrintrin.h", 326 "unwind.h", 327 "usermsrintrin.h", 328 "vadefs.h", 329 "vaesintrin.h", 330 "varargs.h", 331 "vecintrin.h", 332 "velintrin.h", 333 "velintrin_approx.h", 334 "velintrin_gen.h", 335 "vpclmulqdqintrin.h", 336 "waitpkgintrin.h", 337 "wasm_simd128.h", 338 "wbnoinvdintrin.h", 339 "wmmintrin.h", 340 "x86gprintrin.h", 341 "x86intrin.h", 342 "xmmintrin.h", 343 "xopintrin.h", 344 "xsavecintrin.h", 345 "xsaveintrin.h", 346 "xsaveoptintrin.h", 347 "xsavesintrin.h", 348 "xtestintrin.h", 349 "yvals_core.h", 350 "zos_wrappers/builtins.h", 351 ] 352 outputs = [ "$clang_resource_dir/include/{{source_target_relative}}" ] 353} 354