1# Copyright (c) 2024 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//arkcompiler/runtime_core/static_core/ark_config.gni") 15import("//arkcompiler/runtime_core/static_vm_config.gni") 16 17intrinsics_compiler_gen_dir = get_label_info( 18 "$ark_root_static/compiler:libarkcompiler_intrinsics_gen_inl_get_intrinsics_names_inl", 19 "target_gen_dir") 20isa_gen_dir = 21 get_label_info("$ark_root_static/isa:isa_combine", "target_gen_dir") 22ark_gen("abckit_ark_gen") { 23 data = [ 24 "../../abckit_compiler_intrinsics.yaml", 25 "$isa_gen_dir/isa.yaml", 26 ] 27 template_files = [ "inst_builder_abckit_intrinsics.inc.erb" ] 28 sources = "." 29 api = [ 30 "$ark_root_static/compiler/optimizer/templates/intrinsics/compiler_intrinsics.rb", 31 "$ark_root_static/isa/isapi.rb", 32 ] 33 extra_dependencies = [ 34 "$ark_root_static/isa:isa_combine", 35 "$ark_root_static/runtime:arkruntime_gen_intrinsics_yaml", 36 "../dyn_intrinsics:abckit_isa_gen_dyn_intrinsics_opcodes_inc", 37 ":abckit_ark_gen_abckit_intrinsics_inl", 38 ] 39 requires = [ "$ark_root_static/libpandabase/utils.rb" ] 40 destination = "$intrinsics_compiler_gen_dir/generated" 41} 42 43ark_gen("abckit_ark_gen") { 44 data = [ 45 "../../abckit_compiler_intrinsics.yaml", 46 "$isa_gen_dir/isa.yaml", 47 ] 48 template_files = [ "abckit_intrinsics_opcodes.inc.erb" ] 49 sources = "." 50 api = [ 51 "$ark_root_static/compiler/optimizer/templates/intrinsics/compiler_intrinsics.rb", 52 "$ark_root_static/isa/isapi.rb", 53 ] 54 extra_dependencies = [ 55 "$ark_root_static/isa:isa_combine", 56 "$ark_root_static/runtime:arkruntime_gen_intrinsics_yaml", 57 "../dyn_intrinsics/:abckit_isa_gen_dyn_intrinsics_opcodes_inc", 58 ] 59 requires = [ "$ark_root_static/libpandabase/utils.rb" ] 60 destination = "$intrinsics_compiler_gen_dir/generated" 61} 62 63bco_gen_dir = 64 get_label_info("$ark_root_static/bytecode_optimizer:libarktsbytecodeopt", 65 "target_gen_dir") 66ark_gen("abckit_ark_gen") { 67 data = [ 68 "../../abckit_compiler_intrinsics.yaml", 69 "$isa_gen_dir/isa.yaml", 70 ] 71 template_files = [ 72 "abckit_intrinsics_vreg_width.h.erb", 73 "abckit_intrinsics.inl.erb", 74 ] 75 sources = "." 76 api = [ 77 "$ark_root_static/compiler/optimizer/templates/intrinsics/compiler_intrinsics.rb", 78 "$ark_root_static/isa/isapi.rb", 79 ] 80 extra_dependencies = [ 81 "$ark_root_static/isa:isa_combine", 82 "$ark_root_static/runtime:arkruntime_gen_intrinsics_yaml", 83 "../dyn_intrinsics:abckit_isa_gen_dyn_intrinsics_cases_inc", 84 ] 85 requires = [ "$ark_root_static/libpandabase/utils.rb" ] 86 destination = "$bco_gen_dir/generated" 87} 88