| # Copyright 2023 Google LLC |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| # Unit tests for RiscV simulator classes. |
| |
| package(default_applicable_licenses = ["//:license"]) |
| |
| cc_library( |
| name = "riscv_vector_instructions_test_base", |
| testonly = True, |
| hdrs = ["riscv_vector_instructions_test_base.h"], |
| deps = [ |
| "//riscv:riscv_state", |
| "//riscv:riscv_v", |
| "@com_google_absl//absl/functional:bind_front", |
| "@com_google_absl//absl/random", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/types:span", |
| "@com_google_mpact-sim//mpact/sim/generic:arch_state", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_library( |
| name = "riscv_vector_fp_test_utilities", |
| testonly = True, |
| hdrs = ["riscv_vector_fp_test_utilities.h"], |
| deps = [ |
| ":riscv_vector_instructions_test_base", |
| "//riscv:riscv_fp_state", |
| "//riscv:riscv_state", |
| "@com_google_absl//absl/random", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/types:span", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| ], |
| ) |
| |
| cc_library( |
| name = "riscv_fp_test_base", |
| testonly = True, |
| hdrs = ["riscv_fp_test_base.h"], |
| deps = [ |
| "//riscv:riscv_fp_state", |
| "//riscv:riscv_state", |
| "@com_google_absl//absl/log", |
| "@com_google_absl//absl/random", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/types:span", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_vector_true_test", |
| size = "small", |
| srcs = [ |
| "riscv_vector_true_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv_state", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_csr_test", |
| size = "small", |
| srcs = [ |
| "riscv_csr_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv_state", |
| "@com_google_absl//absl/status", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_state_test", |
| size = "small", |
| srcs = [ |
| "riscv_state_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv_state", |
| "@com_google_absl//absl/log:check", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_zicsr_instructions_test", |
| size = "small", |
| srcs = [ |
| "riscv_zicsr_instructions_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv_g", |
| "//riscv:riscv_state", |
| "@com_google_absl//absl/log", |
| "@com_google_absl//absl/log:check", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_i_instructions_test", |
| size = "small", |
| srcs = [ |
| "riscv_i_instructions_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv_g", |
| "//riscv:riscv_state", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_a_instructions_test", |
| size = "small", |
| srcs = [ |
| "riscv_a_instructions_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv_g", |
| "//riscv:riscv_state", |
| "@com_google_absl//absl/log:check", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_d_instructions_test", |
| size = "small", |
| srcs = ["riscv_d_instructions_test.cc"], |
| copts = select({ |
| "darwin_arm64_cpu": ["-ffp-model=strict"], |
| "//conditions:default": [ |
| "-ffp-model=strict", |
| "-fprotect-parens", |
| ], |
| }), |
| tags = ["not_run:arm"], |
| deps = [ |
| ":riscv_fp_test_base", |
| "//riscv:riscv_g", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_f_instructions_test", |
| size = "small", |
| srcs = ["riscv_f_instructions_test.cc"], |
| copts = select({ |
| "darwin_arm64_cpu": ["-ffp-model=strict"], |
| "//conditions:default": [ |
| "-ffp-model=strict", |
| "-fprotect-parens", |
| ], |
| }), |
| tags = ["not_run:arm"], |
| deps = [ |
| ":riscv_fp_test_base", |
| "//riscv:riscv_fp_state", |
| "//riscv:riscv_g", |
| "//riscv:riscv_state", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv32g_encoding_test", |
| size = "small", |
| srcs = [ |
| "riscv32g_encoding_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv32g_decoder", |
| "//riscv:riscv32g_isa", |
| "//riscv:riscv_state", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv32g_vec_encoding_test", |
| size = "small", |
| srcs = [ |
| "riscv32g_vec_encoding_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv32g_vec_decoder", |
| "//riscv:riscv32gv_isa", |
| "//riscv:riscv_state", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv32gzb_encoding_test", |
| size = "small", |
| srcs = [ |
| "riscv32gzb_encoding_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv32g_bitmanip_decoder", |
| "//riscv:riscv32gzb_isa", |
| "//riscv:riscv_state", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv32gzb_vec_encoding_test", |
| size = "small", |
| srcs = [ |
| "riscv32gzb_vec_encoding_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv32gvzb_isa", |
| "//riscv:riscv32gzb_vec_decoder", |
| "//riscv:riscv_state", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv64g_encoding_test", |
| size = "small", |
| srcs = [ |
| "riscv64g_encoding_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv64g_decoder", |
| "//riscv:riscv64g_isa", |
| "//riscv:riscv_state", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv64g_vec_encoding_test", |
| size = "small", |
| srcs = [ |
| "riscv64g_vec_encoding_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv64g_vec_decoder", |
| "//riscv:riscv64gv_isa", |
| "//riscv:riscv_state", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv64gzb_encoding_test", |
| size = "small", |
| srcs = [ |
| "riscv64gzb_encoding_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv64g_bitmanip_decoder", |
| "//riscv:riscv64gzb_isa", |
| "//riscv:riscv_state", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv64gzb_vec_encoding_test", |
| size = "small", |
| srcs = [ |
| "riscv64gzb_vec_encoding_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv64gvzb_isa", |
| "//riscv:riscv64gzb_vec_decoder", |
| "//riscv:riscv_state", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "zvbb_encoding_test", |
| size = "small", |
| srcs = [ |
| "zvbb_encoding_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv32g_bitmanip_decoder", |
| "//riscv:riscv_state", |
| "//riscv:zvbb_decoder", |
| "//riscv:zvbb_isa", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv32_htif_semihost_test", |
| size = "small", |
| srcs = [ |
| "riscv32_htif_semihost_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv32_htif_semihost", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_arm_semihost_test", |
| size = "small", |
| srcs = [ |
| "riscv_arm_semihost_test.cc", |
| ], |
| data = [ |
| "testfiles/test_file.txt", |
| ], |
| deps = [ |
| "//riscv:riscv_arm_semihost", |
| "//riscv:riscv_state", |
| "@com_google_absl//absl/log:check", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_breakpoint_test", |
| size = "small", |
| srcs = [ |
| "riscv_breakpoint_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv_action_point_memory_interface", |
| "@com_google_absl//absl/functional:bind_front", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:action_points", |
| "@com_google_mpact-sim//mpact/sim/generic:component", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv32_decoder_test", |
| size = "small", |
| srcs = [ |
| "riscv32_decoder_test.cc", |
| ], |
| data = [ |
| "testfiles/hello_world.elf", |
| ], |
| deps = [ |
| "//riscv:riscv32g_decoder", |
| "//riscv:riscv_state", |
| "@com_github_serge1_elfio//:elfio", |
| "@com_google_absl//absl/log", |
| "@com_google_absl//absl/log:check", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| "@com_google_mpact-sim//mpact/sim/util/program_loader:elf_loader", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv64_decoder_test", |
| size = "small", |
| srcs = [ |
| "riscv64_decoder_test.cc", |
| ], |
| data = [ |
| "testfiles/hello_world_64.elf", |
| ], |
| deps = [ |
| "//riscv:riscv64g_decoder", |
| "//riscv:riscv_state", |
| "@com_github_serge1_elfio//:elfio", |
| "@com_google_absl//absl/log", |
| "@com_google_absl//absl/log:check", |
| "@com_google_absl//absl/log:log_sink_registry", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| "@com_google_mpact-sim//mpact/sim/util/other:log_sink", |
| "@com_google_mpact-sim//mpact/sim/util/program_loader:elf_loader", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv32gv_bin_decoder_test", |
| size = "small", |
| srcs = [ |
| "riscv32gv_bin_decoder_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv32gv_bin_fmt", |
| "//riscv:riscv32gv_isa", |
| "@com_google_googletest//:gtest_main", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_vector_memory_instructions_test", |
| size = "small", |
| srcs = [ |
| "riscv_vector_memory_instructions_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv_state", |
| "//riscv:riscv_v", |
| "@com_google_absl//absl/functional:bind_front", |
| "@com_google_absl//absl/numeric:bits", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_vector_opi_instructions_test", |
| size = "small", |
| srcs = [ |
| "riscv_vector_opi_instructions_test.cc", |
| ], |
| deps = [ |
| ":riscv_vector_instructions_test_base", |
| "//riscv:riscv_state", |
| "//riscv:riscv_v", |
| "@com_google_absl//absl/functional:bind_front", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_vector_opm_instructions_test", |
| size = "small", |
| srcs = [ |
| "riscv_vector_opm_instructions_test.cc", |
| ], |
| deps = [ |
| ":riscv_vector_instructions_test_base", |
| "//riscv:riscv_state", |
| "//riscv:riscv_v", |
| "@com_google_absl//absl/base", |
| "@com_google_absl//absl/log:check", |
| "@com_google_absl//absl/numeric:int128", |
| "@com_google_absl//absl/random", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_vector_reduction_instructions_test", |
| size = "small", |
| srcs = [ |
| "riscv_vector_reduction_instructions_test.cc", |
| ], |
| deps = [ |
| ":riscv_vector_instructions_test_base", |
| "//riscv:riscv_state", |
| "//riscv:riscv_v", |
| "@com_google_absl//absl/random", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_vector_unary_instructions_test", |
| size = "small", |
| srcs = [ |
| "riscv_vector_unary_instructions_test.cc", |
| ], |
| deps = [ |
| ":riscv_vector_instructions_test_base", |
| "//riscv:riscv_state", |
| "//riscv:riscv_v", |
| "@com_google_absl//absl/random", |
| "@com_google_absl//absl/types:span", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_vector_fp_unary_instructions_test", |
| size = "small", |
| srcs = [ |
| "riscv_vector_fp_unary_instructions_test.cc", |
| ], |
| copts = select({ |
| "darwin_arm64_cpu": ["-ffp-model=strict"], |
| "//conditions:default": [ |
| "-ffp-model=strict", |
| "-fprotect-parens", |
| ], |
| }), |
| deps = [ |
| ":riscv_vector_fp_test_utilities", |
| ":riscv_vector_instructions_test_base", |
| "//riscv:riscv_fp_state", |
| "//riscv:riscv_state", |
| "//riscv:riscv_v", |
| "@com_google_absl//absl/random", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/types:span", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_vector_fp_instructions_test", |
| size = "small", |
| srcs = [ |
| "riscv_vector_fp_instructions_test.cc", |
| ], |
| copts = select({ |
| "darwin_arm64_cpu": ["-ffp-model=strict"], |
| "//conditions:default": [ |
| "-ffp-model=strict", |
| "-fprotect-parens", |
| ], |
| }), |
| deps = [ |
| ":riscv_vector_fp_test_utilities", |
| ":riscv_vector_instructions_test_base", |
| "//riscv:riscv_fp_state", |
| "//riscv:riscv_state", |
| "//riscv:riscv_v", |
| "@com_google_absl//absl/log", |
| "@com_google_absl//absl/random", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/types:span", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_vector_fp_compare_instructions_test", |
| size = "small", |
| srcs = [ |
| "riscv_vector_fp_compare_instructions_test.cc", |
| ], |
| copts = select({ |
| "darwin_arm64_cpu": ["-ffp-model=strict"], |
| "//conditions:default": [ |
| "-ffp-model=strict", |
| "-fprotect-parens", |
| ], |
| }), |
| deps = [ |
| ":riscv_vector_fp_test_utilities", |
| ":riscv_vector_instructions_test_base", |
| "//riscv:riscv_fp_state", |
| "//riscv:riscv_state", |
| "//riscv:riscv_v", |
| "@com_google_absl//absl/random", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/types:span", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_vector_fp_reduction_instructions_test", |
| size = "small", |
| srcs = [ |
| "riscv_vector_fp_reduction_instructions_test.cc", |
| ], |
| copts = select({ |
| "darwin_arm64_cpu": ["-ffp-model=strict"], |
| "//conditions:default": [ |
| "-ffp-model=strict", |
| "-fprotect-parens", |
| ], |
| }), |
| deps = [ |
| ":riscv_vector_fp_test_utilities", |
| ":riscv_vector_instructions_test_base", |
| "//riscv:riscv_fp_state", |
| "//riscv:riscv_state", |
| "//riscv:riscv_v", |
| "@com_google_absl//absl/random", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/types:span", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_vector_permute_instructions_test", |
| size = "small", |
| srcs = [ |
| "riscv_vector_permute_instructions_test.cc", |
| ], |
| deps = [ |
| ":riscv_vector_instructions_test_base", |
| "//riscv:riscv_state", |
| "//riscv:riscv_v", |
| "@com_google_absl//absl/random", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_top_test", |
| size = "small", |
| srcs = [ |
| "riscv_top_test.cc", |
| ], |
| data = [ |
| "testfiles/hello_world.elf", |
| "testfiles/hello_world_64.elf", |
| "testfiles/hello_world_arm.elf", |
| ], |
| deps = [ |
| "//riscv:riscv32_htif_semihost", |
| "//riscv:riscv32g_decoder", |
| "//riscv:riscv64g_decoder", |
| "//riscv:riscv_arm_semihost", |
| "//riscv:riscv_fp_state", |
| "//riscv:riscv_state", |
| "//riscv:riscv_top", |
| "@com_google_absl//absl/log:check", |
| "@com_google_absl//absl/status", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/generic:core_debug_interface", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| "@com_google_mpact-sim//mpact/sim/util/program_loader:elf_loader", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_misa_test", |
| size = "small", |
| srcs = [ |
| "riscv_misa_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv_state", |
| "@com_google_googletest//:gtest_main", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_clint_test", |
| size = "small", |
| srcs = [ |
| "riscv_clint_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv_clint", |
| "//riscv:riscv_state", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/generic:counters", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_plic_test", |
| size = "small", |
| srcs = [ |
| "riscv_plic_test.cc", |
| ], |
| deps = [ |
| "//riscv:riscv_plic", |
| "@com_google_absl//absl/log:check", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_googlesource_code_re2//:re2", |
| ], |
| ) |
| |
| cc_test( |
| name = "librenode_mpact_riscv32.so_test", |
| size = "small", |
| srcs = ["librenode_mpact_riscv32_so_test.cc"], |
| data = [ |
| "testfiles/hello_world_arm.elf", |
| "//riscv:renode_mpact_riscv32", |
| ], |
| tags = ["notap"], |
| deps = [ |
| "@com_google_absl//absl/debugging:leak_check", |
| "@com_google_absl//absl/log:check", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/util/renode:renode_debug_interface", |
| ], |
| ) |
| |
| cc_test( |
| name = "librenode_mpact_riscv64.so_test", |
| size = "small", |
| srcs = ["librenode_mpact_riscv64_so_test.cc"], |
| data = [ |
| "testfiles/hello_world_64.elf", |
| "//riscv:renode_mpact_riscv64", |
| ], |
| tags = ["notap"], |
| deps = [ |
| "@com_google_absl//absl/debugging:leak_check", |
| "@com_google_absl//absl/log:check", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/util/renode:renode_debug_interface", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_fp_host_test", |
| size = "small", |
| srcs = ["riscv_fp_host_test.cc"], |
| deps = [ |
| "//riscv:riscv_fp_state", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_pmp_test", |
| size = "small", |
| srcs = ["riscv_pmp_test.cc"], |
| deps = [ |
| "//riscv:riscv_state", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv32_bitmanip_instructions_test", |
| size = "small", |
| srcs = ["riscv32_bitmanip_instructions_test.cc"], |
| deps = [ |
| "//riscv:riscv_bitmanip_instructions", |
| "//riscv:riscv_state", |
| "@com_google_absl//absl/random", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv64_bitmanip_instructions_test", |
| size = "small", |
| srcs = ["riscv64_bitmanip_instructions_test.cc"], |
| deps = [ |
| "//riscv:riscv_bitmanip_instructions", |
| "//riscv:riscv_state", |
| "@com_google_absl//absl/numeric:int128", |
| "@com_google_absl//absl/random", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_counter_csr_test", |
| size = "small", |
| srcs = ["riscv_counter_csr_test.cc"], |
| deps = [ |
| "//riscv:riscv_state", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:counters", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_zicond_instructions_test", |
| size = "small", |
| srcs = ["riscv_zicond_instructions_test.cc"], |
| deps = [ |
| "//riscv:riscv_g", |
| "//riscv:riscv_state", |
| "@com_google_absl//absl/container:flat_hash_map", |
| "@com_google_absl//absl/log:check", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:arch_state", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_zc_instructions_test", |
| size = "small", |
| srcs = ["riscv_zc_instructions_test.cc"], |
| deps = [ |
| "//riscv:riscv_state", |
| "//riscv:rvm23_instructions", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_zc64_instructions_test", |
| size = "small", |
| srcs = ["riscv_zc64_instructions_test.cc"], |
| deps = [ |
| "//riscv:riscv_state", |
| "//riscv:rvm23_instructions", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:core", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/util/memory", |
| ], |
| ) |
| |
| cc_test( |
| name = "riscv_vector_basic_bit_manipulation_instructions_test", |
| size = "small", |
| srcs = [ |
| "riscv_vector_basic_bit_manipulation_test.cc", |
| ], |
| deps = [ |
| ":riscv_vector_instructions_test_base", |
| "//riscv:riscv_state", |
| "//riscv:riscv_v", |
| "//riscv:riscv_vector_basic_bit_manipulation_instructions", |
| "@com_google_absl//absl/strings", |
| "@com_google_googletest//:gtest_main", |
| "@com_google_mpact-sim//mpact/sim/generic:instruction", |
| "@com_google_mpact-sim//mpact/sim/generic:type_helpers", |
| ], |
| ) |
| |
| config_setting( |
| name = "arm_cpu", |
| values = {"cpu": "arm"}, |
| ) |
| |
| config_setting( |
| name = "aarch64", |
| values = {"cpu": "aarch64"}, |
| ) |
| |
| config_setting( |
| name = "darwin_arm64_cpu", |
| values = {"cpu": "darwin_arm64"}, |
| ) |