# 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.

load("@rules_cc//cc:cc_library.bzl", "cc_library")
load("@rules_cc//cc:cc_test.bzl", "cc_test")

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",
        "@abseil-cpp//absl/functional:bind_front",
        "@abseil-cpp//absl/random",
        "@abseil-cpp//absl/strings",
        "@abseil-cpp//absl/types:span",
        "@mpact-sim//mpact/sim/generic:arch_state",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@mpact-sim//mpact/sim/generic:type_helpers",
        "@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",
        "@abseil-cpp//absl/random",
        "@abseil-cpp//absl/strings",
        "@abseil-cpp//absl/types:span",
        "@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",
        "@abseil-cpp//absl/base",
        "@abseil-cpp//absl/log",
        "@abseil-cpp//absl/random",
        "@abseil-cpp//absl/strings",
        "@abseil-cpp//absl/types:span",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@mpact-sim//mpact/sim/generic:type_helpers",
        "@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",
        "@mpact-sim//mpact/sim/util/memory",
    ],
)

cc_test(
    name = "riscv_csr_test",
    size = "small",
    srcs = [
        "riscv_csr_test.cc",
    ],
    deps = [
        "//riscv:riscv_state",
        "@abseil-cpp//absl/status",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/util/memory",
    ],
)

cc_test(
    name = "riscv_state_test",
    size = "small",
    srcs = [
        "riscv_state_test.cc",
    ],
    deps = [
        "//riscv:riscv_state",
        "@abseil-cpp//absl/log:check",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@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",
        "@abseil-cpp//absl/log:check",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@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",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@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",
        "@abseil-cpp//absl/log:check",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@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_fp_state",
        "//riscv:riscv_g",
        "//riscv:riscv_state",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@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",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@mpact-sim//mpact/sim/generic:type_helpers",
    ],
)

cc_test(
    name = "riscv_zfh_instructions_test",
    size = "small",
    srcs = ["riscv_zfh_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",
        "//riscv:riscv_zfh_instructions",
        "@abseil-cpp//absl/base",
        "@abseil-cpp//absl/random:distributions",
        "@abseil-cpp//absl/strings",
        "@abseil-cpp//absl/strings:string_view",
        "@abseil-cpp//absl/types:span",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@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",
        "@mpact-sim//mpact/sim/generic:type_helpers",
        "@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",
        "@mpact-sim//mpact/sim/generic:type_helpers",
        "@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",
        "@mpact-sim//mpact/sim/generic:type_helpers",
        "@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",
        "@mpact-sim//mpact/sim/generic:type_helpers",
        "@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",
        "@mpact-sim//mpact/sim/generic:type_helpers",
        "@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",
        "@mpact-sim//mpact/sim/generic:type_helpers",
        "@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",
        "@mpact-sim//mpact/sim/generic:type_helpers",
        "@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",
        "@mpact-sim//mpact/sim/generic:type_helpers",
        "@mpact-sim//mpact/sim/util/memory",
    ],
)

cc_test(
    name = "zvbb_encoding_test",
    size = "small",
    srcs = [
        "zvbb_encoding_test.cc",
    ],
    deps = [
        "//riscv:riscv_state",
        "//riscv:zvbb_decoder",
        "//riscv:zvbb_isa",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:type_helpers",
        "@mpact-sim//mpact/sim/util/memory",
    ],
)

cc_test(
    name = "zfh_encoding_test",
    size = "small",
    srcs = [
        "riscv_getters_zfh.h",
        "zfh_encoding.h",
        "zfh_encoding_test.cc",
    ],
    deps = [
        "//riscv:riscv_encoding_common",
        "//riscv:riscv_getters",
        "//riscv:riscv_state",
        "//riscv:zfh32_bin_fmt",
        "//riscv:zfh32_isa",
        "//riscv:zfh64_bin_fmt",
        "//riscv:zfh64_isa",
        "@abseil-cpp//absl/log",
        "@abseil-cpp//absl/random",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:arch_state",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:type_helpers",
        "@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",
        "@mpact-sim//mpact/sim/generic:core",
        "@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",
        "@abseil-cpp//absl/log:check",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@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",
        "@abseil-cpp//absl/functional:bind_front",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:action_points",
        "@mpact-sim//mpact/sim/generic:component",
        "@mpact-sim//mpact/sim/generic:core",
        "@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:riscv32g_isa",
        "//riscv:riscv_state",
        "@abseil-cpp//absl/log",
        "@abseil-cpp//absl/log:check",
        "@abseil-cpp//absl/strings",
        "@com_github_serge1_elfio//:elfio",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@mpact-sim//mpact/sim/generic:type_helpers",
        "@mpact-sim//mpact/sim/util/memory",
        "@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:riscv64g_isa",
        "//riscv:riscv_state",
        "@abseil-cpp//absl/log",
        "@abseil-cpp//absl/log:check",
        "@abseil-cpp//absl/log:log_sink_registry",
        "@abseil-cpp//absl/strings",
        "@com_github_serge1_elfio//:elfio",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@mpact-sim//mpact/sim/generic:type_helpers",
        "@mpact-sim//mpact/sim/util/memory",
        "@mpact-sim//mpact/sim/util/other:log_sink",
        "@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",
        "@abseil-cpp//absl/functional:bind_front",
        "@abseil-cpp//absl/numeric:bits",
        "@abseil-cpp//absl/strings",
        "@abseil-cpp//absl/types:span",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:arch_state",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@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",
        "@abseil-cpp//absl/functional:bind_front",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@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",
        "@abseil-cpp//absl/base",
        "@abseil-cpp//absl/log:check",
        "@abseil-cpp//absl/numeric:int128",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@mpact-sim//mpact/sim/generic:type_helpers",
    ],
)

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",
        "@abseil-cpp//absl/random",
        "@abseil-cpp//absl/strings",
        "@abseil-cpp//absl/types:span",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@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",
        "@abseil-cpp//absl/random",
        "@abseil-cpp//absl/types:span",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@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",
        "@abseil-cpp//absl/random",
        "@abseil-cpp//absl/strings",
        "@abseil-cpp//absl/types:span",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@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",
        "@abseil-cpp//absl/random",
        "@abseil-cpp//absl/strings",
        "@abseil-cpp//absl/types:span",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@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",
        "@abseil-cpp//absl/random",
        "@abseil-cpp//absl/strings",
        "@abseil-cpp//absl/types:span",
        "@com_google_googletest//:gtest_main",
        "@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",
        "@abseil-cpp//absl/random",
        "@abseil-cpp//absl/strings",
        "@abseil-cpp//absl/types:span",
        "@com_google_googletest//:gtest_main",
        "@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",
        "@abseil-cpp//absl/random",
        "@com_google_googletest//:gtest_main",
        "@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_state",
        "//riscv:riscv_top",
        "@abseil-cpp//absl/log:check",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:core_debug_interface",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@mpact-sim//mpact/sim/generic:type_helpers",
        "@mpact-sim//mpact/sim/util/memory",
        "@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",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:counters",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@mpact-sim//mpact/sim/util/memory",
    ],
)

cc_test(
    name = "riscv_plic_test",
    size = "small",
    srcs = [
        "riscv_plic_test.cc",
    ],
    deps = [
        "//riscv:riscv_plic",
        "@abseil-cpp//absl/log:check",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:core",
    ],
)

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 = [
        "@abseil-cpp//absl/debugging:leak_check",
        "@abseil-cpp//absl/log:check",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@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 = [
        "@abseil-cpp//absl/debugging:leak_check",
        "@abseil-cpp//absl/log:check",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@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",
        "@mpact-sim//mpact/sim/generic:instruction",
    ],
)

cc_test(
    name = "riscv_pmp_test",
    size = "small",
    srcs = ["riscv_pmp_test.cc"],
    deps = [
        "//riscv:riscv_state",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@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",
        "@abseil-cpp//absl/random",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:instruction",
    ],
)

cc_test(
    name = "riscv64_bitmanip_instructions_test",
    size = "small",
    srcs = ["riscv64_bitmanip_instructions_test.cc"],
    deps = [
        "//riscv:riscv_bitmanip_instructions",
        "//riscv:riscv_state",
        "@abseil-cpp//absl/numeric:int128",
        "@abseil-cpp//absl/random",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:instruction",
    ],
)

cc_test(
    name = "riscv_counter_csr_test",
    size = "small",
    srcs = ["riscv_counter_csr_test.cc"],
    deps = [
        "//riscv:riscv_state",
        "@com_google_googletest//:gtest_main",
        "@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",
        "@abseil-cpp//absl/container:flat_hash_map",
        "@abseil-cpp//absl/log:check",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:arch_state",
        "@mpact-sim//mpact/sim/generic:core",
        "@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",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@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",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@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_vector_basic_bit_manipulation_instructions",
        "@abseil-cpp//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@mpact-sim//mpact/sim/generic:type_helpers",
    ],
)

cc_test(
    name = "riscv64_i_instructions_test",
    srcs = ["riscv64_i_instructions_test.cc"],
    deps = [
        "//riscv:riscv_g",
        "//riscv:riscv_state",
        "@abseil-cpp//absl/strings:string_view",
        "@com_google_googletest//:gtest_main",
        "@mpact-sim//mpact/sim/generic:core",
        "@mpact-sim//mpact/sim/generic:instruction",
        "@mpact-sim//mpact/sim/util/memory",
    ],
)

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"},
)
