################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# tests/e2e/regression/BUILD                                                   #
#                                                                              #
# Use iree_cmake_extra_content from iree/build_defs.oss.bzl to add arbitrary   #
# CMake-only content.                                                          #
#                                                                              #
# To disable autogeneration for this file entirely, delete this header.        #
################################################################################

iree_add_all_subdirs()

iree_lit_test_suite(
  NAME
    lit
  SRCS
    "fill_i64.mlir"
    "globals.mlir"
    "globals_ml_program.mlir"
    "libm_linking.mlir"
    "scalar.mlir"
    "trace_dispatch_tensors.mlir"
    "unused_args.mlir"
  TOOLS
    ${IREE_LLD_TARGET}
    FileCheck
    iree-opt
    iree-run-mlir
  LABELS
    "hostonly"
)

iree_check_single_backend_test_suite(
  NAME
    check_regression_llvm-cpu
  SRCS
    "associative_reordering.mlir"
    "dynamic_abs.mlir"
    "dynamic_add.mlir"
    "dynamic_dot.mlir"
    "dynamic_reduce_min.mlir"
    "dynamic_torch_index_select_high_rank.mlir"
    "dynamic_torch_index_select_negative.mlir"
    "dynamic_torch_index_select_scalar.mlir"
    "dynamic_torch_index_select_vector.mlir"
    "i1_inlined_constant.mlir"
    "layernorm.mlir"
    "linalg_ops.mlir"
    "lowering_config.mlir"
    "reduction_broadcast_elementwise.mlir"
    "softmax.mlir"
    "strided_slice.mlir"
  TARGET_BACKEND
    "llvm-cpu"
  DRIVER
    "local-task"
  COMPILER_FLAGS
    "--iree-input-type=mhlo"
)

iree_check_single_backend_test_suite(
  NAME
    check_regression_tosa_llvm-cpu
  SRCS
    "linalg_quantized_matmul_vs_linalg_matmul.mlir"
  TARGET_BACKEND
    "llvm-cpu"
  DRIVER
    "local-task"
  COMPILER_FLAGS
    "--iree-input-type=tosa"
)

iree_check_single_backend_test_suite(
  NAME
    check_regression_vmvx
  SRCS
    "dynamic_abs.mlir"
    "dynamic_add.mlir"
    "dynamic_dot.mlir"
    "dynamic_reduce_min.mlir"
    "dynamic_torch_index_select_high_rank.mlir"
    "dynamic_torch_index_select_negative.mlir"
    "dynamic_torch_index_select_scalar.mlir"
    "dynamic_torch_index_select_vector.mlir"
    "i1_inlined_constant.mlir"
    "layernorm.mlir"
    "linalg_ops.mlir"
    "reduction_broadcast_elementwise.mlir"
    "softmax.mlir"
    "strided_slice.mlir"
  TARGET_BACKEND
    "vmvx"
  DRIVER
    "local-task"
  COMPILER_FLAGS
    "--iree-input-type=mhlo"
)

iree_check_single_backend_test_suite(
  NAME
    check_regression_vulkan-spirv
  SRCS
    "dynamic_abs.mlir"
    "dynamic_add.mlir"
    "dynamic_dot.mlir"
    "dynamic_reduce_min.mlir"
    "dynamic_torch_index_select_high_rank.mlir"
    "dynamic_torch_index_select_negative.mlir"
    "dynamic_torch_index_select_scalar.mlir"
    "dynamic_torch_index_select_vector.mlir"
    "i1_inlined_constant.mlir"
    "linalg_ops.mlir"
    "reduction_broadcast_elementwise.mlir"
    "softmax.mlir"
    "strided_slice.mlir"
  TARGET_BACKEND
    "vulkan-spirv"
  DRIVER
    "vulkan"
  COMPILER_FLAGS
    "--iree-input-type=mhlo"
)

iree_check_single_backend_test_suite(
  NAME
    check_regression_cuda
  SRCS
    "dynamic_abs.mlir"
    "dynamic_add.mlir"
    "dynamic_dot.mlir"
    "dynamic_reduce_min.mlir"
    "dynamic_torch_index_select_high_rank.mlir"
    "dynamic_torch_index_select_negative.mlir"
    "dynamic_torch_index_select_scalar.mlir"
    "dynamic_torch_index_select_vector.mlir"
    "i1_inlined_constant.mlir"
    "large_reduction.mlir"
    "layernorm.mlir"
    "linalg_ops.mlir"
    "reduction_broadcast_elementwise.mlir"
    "softmax.mlir"
    "strided_slice.mlir"
  TARGET_BACKEND
    "cuda"
  DRIVER
    "cuda"
  COMPILER_FLAGS
    "--iree-input-type=mhlo"
  LABELS
    "noasan"
    "nomsan"
    "notsan"
    "noubsan"
    "requires-gpu-nvidia"
)

iree_check_single_backend_test_suite(
  NAME
    disable_demote_f64_to_f32
  SRCS
    "disable_demote_f64_to_f32.mlir"
  TARGET_BACKEND
    "llvm-cpu"
  DRIVER
    "local-task"
  COMPILER_FLAGS
    "-iree-flow-demote-f64-to-f32=false"
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
