| import("//clang/resource_dir.gni") |
| import("//clang/utils/TableGen/clang_tablegen.gni") |
| |
| # Generate arm_neon.h |
| clang_tablegen("arm_neon") { |
| args = [ "-gen-arm-neon" ] |
| td_file = "//clang/include/clang/Basic/arm_neon.td" |
| output_name = "arm_neon.h" |
| } |
| |
| # Generate arm_fp16.h |
| clang_tablegen("arm_fp16") { |
| args = [ "-gen-arm-fp16" ] |
| td_file = "//clang/include/clang/Basic/arm_fp16.td" |
| output_name = "arm_fp16.h" |
| } |
| |
| # Generate arm_sve.h |
| clang_tablegen("arm_sve") { |
| args = [ "-gen-arm-sve-header" ] |
| td_file = "//clang/include/clang/Basic/arm_sve.td" |
| output_name = "arm_sve.h" |
| } |
| |
| # Generate arm_mve.h |
| clang_tablegen("arm_mve") { |
| args = [ "-gen-arm-mve-header" ] |
| td_file = "//clang/include/clang/Basic/arm_mve.td" |
| output_name = "arm_mve.h" |
| } |
| |
| # Generate arm_cde.h |
| clang_tablegen("arm_cde") { |
| args = [ "-gen-arm-cde-header" ] |
| td_file = "//clang/include/clang/Basic/arm_cde.td" |
| output_name = "arm_cde.h" |
| } |
| |
| copy("arm_headers") { |
| visibility = [ ":Headers" ] |
| deps = [ |
| ":arm_cde", |
| ":arm_fp16", |
| ":arm_mve", |
| ":arm_neon", |
| ":arm_sve", |
| ] |
| sources = [] |
| foreach(dep, deps) { |
| sources += get_target_outputs(dep) |
| } |
| outputs = [ "$clang_resource_dir/include/{{source_file_part}}" ] |
| } |
| |
| copy("Headers") { |
| deps = [ ":arm_headers" ] |
| |
| sources = [ |
| "arm_cmse.h", |
| "adxintrin.h", |
| "altivec.h", |
| "ammintrin.h", |
| "arm_acle.h", |
| "armintr.h", |
| "arm64intr.h", |
| "avx2intrin.h", |
| "avx512bf16intrin.h", |
| "avx512bwintrin.h", |
| "avx512bitalgintrin.h", |
| "avx512vlbitalgintrin.h", |
| "avx512cdintrin.h", |
| "avx512vpopcntdqintrin.h", |
| "avx512dqintrin.h", |
| "avx512erintrin.h", |
| "avx512fintrin.h", |
| "avx512ifmaintrin.h", |
| "avx512ifmavlintrin.h", |
| "avx512pfintrin.h", |
| "avx512vbmiintrin.h", |
| "avx512vbmivlintrin.h", |
| "avx512vbmi2intrin.h", |
| "avx512vlvbmi2intrin.h", |
| "avx512vlbf16intrin.h", |
| "avx512vlbwintrin.h", |
| "avx512vlcdintrin.h", |
| "avx512vldqintrin.h", |
| "avx512vlintrin.h", |
| "avx512vp2intersectintrin.h", |
| "avx512vlvp2intersectintrin.h", |
| "avx512vpopcntdqvlintrin.h", |
| "avx512vnniintrin.h", |
| "avx512vlvnniintrin.h", |
| "avxintrin.h", |
| "bmi2intrin.h", |
| "bmiintrin.h", |
| "__clang_cuda_builtin_vars.h", |
| "__clang_cuda_cmath.h", |
| "__clang_cuda_complex_builtins.h", |
| "__clang_cuda_device_functions.h", |
| "__clang_cuda_intrinsics.h", |
| "__clang_cuda_libdevice_declares.h", |
| "__clang_cuda_math_forward_declares.h", |
| "__clang_cuda_runtime_wrapper.h", |
| "cetintrin.h", |
| "cldemoteintrin.h", |
| "clzerointrin.h", |
| "cpuid.h", |
| "clflushoptintrin.h", |
| "clwbintrin.h", |
| "emmintrin.h", |
| "enqcmdintrin.h", |
| "f16cintrin.h", |
| "float.h", |
| "fma4intrin.h", |
| "fmaintrin.h", |
| "fxsrintrin.h", |
| "gfniintrin.h", |
| "htmintrin.h", |
| "htmxlintrin.h", |
| "ia32intrin.h", |
| "immintrin.h", |
| "intrin.h", |
| "inttypes.h", |
| "invpcidintrin.h", |
| "iso646.h", |
| "limits.h", |
| "lwpintrin.h", |
| "lzcntintrin.h", |
| "mm3dnow.h", |
| "mmintrin.h", |
| "mm_malloc.h", |
| "module.modulemap", |
| "movdirintrin.h", |
| "msa.h", |
| "mwaitxintrin.h", |
| "nmmintrin.h", |
| "opencl-c.h", |
| "opencl-c-base.h", |
| "pconfigintrin.h", |
| "pkuintrin.h", |
| "pmmintrin.h", |
| "popcntintrin.h", |
| "prfchwintrin.h", |
| "ptwriteintrin.h", |
| "rdseedintrin.h", |
| "rtmintrin.h", |
| "s390intrin.h", |
| "sgxintrin.h", |
| "shaintrin.h", |
| "smmintrin.h", |
| "stdalign.h", |
| "stdarg.h", |
| "stdatomic.h", |
| "stdbool.h", |
| "stddef.h", |
| "__stddef_max_align_t.h", |
| "stdint.h", |
| "stdnoreturn.h", |
| "tbmintrin.h", |
| "tgmath.h", |
| "tmmintrin.h", |
| "unwind.h", |
| "vadefs.h", |
| "vaesintrin.h", |
| "varargs.h", |
| "vecintrin.h", |
| "vpclmulqdqintrin.h", |
| "waitpkgintrin.h", |
| "wasm_simd128.h", |
| "wbnoinvdintrin.h", |
| "wmmintrin.h", |
| "__wmmintrin_aes.h", |
| "__wmmintrin_pclmul.h", |
| "x86intrin.h", |
| "xmmintrin.h", |
| "xopintrin.h", |
| "xsavecintrin.h", |
| "xsaveintrin.h", |
| "xsaveoptintrin.h", |
| "xsavesintrin.h", |
| "xtestintrin.h", |
| "cuda_wrappers/algorithm", |
| "cuda_wrappers/complex", |
| "cuda_wrappers/new", |
| "ppc_wrappers/mmintrin.h", |
| "ppc_wrappers/xmmintrin.h", |
| "ppc_wrappers/mm_malloc.h", |
| "ppc_wrappers/emmintrin.h", |
| "ppc_wrappers/pmmintrin.h", |
| "ppc_wrappers/smmintrin.h", |
| "ppc_wrappers/tmmintrin.h", |
| "openmp_wrappers/math.h", |
| "openmp_wrappers/cmath", |
| "openmp_wrappers/__clang_openmp_math.h", |
| "openmp_wrappers/__clang_openmp_math_declares.h", |
| ] |
| outputs = [ "$clang_resource_dir/include/{{source_target_relative}}" ] |
| } |