################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# tests/e2e/convolution/BUILD.bazel                                            #
#                                                                              #
# 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_generated_e2e_runner_test(
  NAME
    e2e_conv2d_cpu_f32_f32_f32_small
  TEST_TYPE
    conv2d
  GENERATOR
    "generate_e2e_conv2d_tests.py"
  GENERATOR_ARGS
    "--input_type=f32"
    "--kernel_type=f32"
    "--acc_type=f32"
    "--shapes=small"
  TEST_RUNNER
    iree_tools_testing_e2e_iree-e2e-conv2d-test
  TARGET_BACKENDS
    "llvm-cpu"
  DRIVERS
    "local-task"
  LABELS
    "hostonly"
    "local"
)

iree_generated_e2e_runner_test(
  NAME
    e2e_conv2d_cpu_f32_f32_f32_medium
  TEST_TYPE
    conv2d
  GENERATOR
    "generate_e2e_conv2d_tests.py"
  GENERATOR_ARGS
    "--input_type=f32"
    "--kernel_type=f32"
    "--acc_type=f32"
    "--shapes=medium"
  TEST_RUNNER
    iree_tools_testing_e2e_iree-e2e-conv2d-test
  TARGET_BACKENDS
    "llvm-cpu"
  DRIVERS
    "local-task"
  LABELS
    "hostonly"
    "local"
)

iree_generated_e2e_runner_test(
  NAME
    e2e_conv2d_cpu_f32_f32_f32_large
  TEST_TYPE
    conv2d
  GENERATOR
    "generate_e2e_conv2d_tests.py"
  GENERATOR_ARGS
    "--input_type=f32"
    "--kernel_type=f32"
    "--acc_type=f32"
    "--shapes=large"
  TEST_RUNNER
    iree_tools_testing_e2e_iree-e2e-conv2d-test
  TARGET_BACKENDS
    "llvm-cpu"
  DRIVERS
    "local-task"
  LABELS
    "hostonly"
    "local"
)

iree_generated_e2e_runner_test(
  NAME
    e2e_conv2d_cpu_f16_f16_f16_small
  TEST_TYPE
    conv2d
  GENERATOR
    "generate_e2e_conv2d_tests.py"
  GENERATOR_ARGS
    "--input_type=f16"
    "--kernel_type=f16"
    "--acc_type=f16"
    "--shapes=small"
  TEST_RUNNER
    iree_tools_testing_e2e_iree-e2e-conv2d-test
  TARGET_BACKENDS
    "llvm-cpu"
  DRIVERS
    "local-task"
  LABELS
    "hostonly"
    "local"
)

iree_generated_e2e_runner_test(
  NAME
    e2e_conv2d_cpu_f16_f16_f16_medium
  TEST_TYPE
    conv2d
  GENERATOR
    "generate_e2e_conv2d_tests.py"
  GENERATOR_ARGS
    "--input_type=f16"
    "--kernel_type=f16"
    "--acc_type=f16"
    "--shapes=medium"
  TEST_RUNNER
    iree_tools_testing_e2e_iree-e2e-conv2d-test
  TARGET_BACKENDS
    "llvm-cpu"
  DRIVERS
    "local-task"
  LABELS
    "hostonly"
    "local"
)

iree_generated_e2e_runner_test(
  NAME
    e2e_conv2d_cpu_f16_f16_f16_large
  TEST_TYPE
    conv2d
  GENERATOR
    "generate_e2e_conv2d_tests.py"
  GENERATOR_ARGS
    "--input_type=f16"
    "--kernel_type=f16"
    "--acc_type=f16"
    "--shapes=large"
  TEST_RUNNER
    iree_tools_testing_e2e_iree-e2e-conv2d-test
  TARGET_BACKENDS
    "llvm-cpu"
  DRIVERS
    "local-task"
  LABELS
    "hostonly"
    "local"
)

iree_generated_e2e_runner_test(
  NAME
    e2e_winograd_conv2d_cpu_f32_f32_f32_small
  TEST_TYPE
    conv2d
  GENERATOR
    "generate_e2e_conv2d_tests.py"
  GENERATOR_ARGS
    "--input_type=f32"
    "--kernel_type=f32"
    "--acc_type=f32"
    "--shapes=small"
  TEST_RUNNER
    iree_tools_testing_e2e_iree-e2e-conv2d-test
  TARGET_BACKENDS
    "llvm-cpu"
  DRIVERS
    "local-task"
  COMPILER_FLAGS
    "--iree-preprocessing-pass-pipeline=builtin.module\(func.func\(iree-linalg-ext-convert-conv2d-to-winograd{replace-all-convs=true}\)\)"
  LABELS
    "hostonly"
    "local"
)

iree_generated_e2e_runner_test(
  NAME
    e2e_winograd_conv2d_cpu_f32_f32_f32_medium
  TEST_TYPE
    conv2d
  GENERATOR
    "generate_e2e_conv2d_tests.py"
  GENERATOR_ARGS
    "--input_type=f32"
    "--kernel_type=f32"
    "--acc_type=f32"
    "--shapes=medium"
  TEST_RUNNER
    iree_tools_testing_e2e_iree-e2e-conv2d-test
  TARGET_BACKENDS
    "llvm-cpu"
  DRIVERS
    "local-task"
  COMPILER_FLAGS
    "--iree-preprocessing-pass-pipeline=builtin.module\(func.func\(iree-linalg-ext-convert-conv2d-to-winograd{replace-all-convs=true}\)\)"
  LABELS
    "hostonly"
    "local"
)

iree_generated_e2e_runner_test(
  NAME
    e2e_winograd_conv2d_cpu_f32_f32_f32_large
  TEST_TYPE
    conv2d
  GENERATOR
    "generate_e2e_conv2d_tests.py"
  GENERATOR_ARGS
    "--input_type=f32"
    "--kernel_type=f32"
    "--acc_type=f32"
    "--shapes=large"
  TEST_RUNNER
    iree_tools_testing_e2e_iree-e2e-conv2d-test
  TARGET_BACKENDS
    "llvm-cpu"
  DRIVERS
    "local-task"
  COMPILER_FLAGS
    "--iree-preprocessing-pass-pipeline=builtin.module\(func.func\(iree-linalg-ext-convert-conv2d-to-winograd{replace-all-convs=true}\)\)"
  LABELS
    "hostonly"
    "local"
)

iree_generated_e2e_runner_test(
  NAME
    e2e_winograd_conv2d_cpu_f16_f16_f16_small
  TEST_TYPE
    conv2d
  GENERATOR
    "generate_e2e_conv2d_tests.py"
  GENERATOR_ARGS
    "--input_type=f16"
    "--kernel_type=f16"
    "--acc_type=f16"
    "--shapes=small"
  TEST_RUNNER
    iree_tools_testing_e2e_iree-e2e-conv2d-test
  TARGET_BACKENDS
    "llvm-cpu"
  DRIVERS
    "local-task"
  COMPILER_FLAGS
    "--iree-preprocessing-pass-pipeline=builtin.module\(func.func\(iree-linalg-ext-convert-conv2d-to-winograd{replace-all-convs=true}\)\)"
  LABELS
    "hostonly"
    "local"
)

iree_generated_e2e_runner_test(
  NAME
    e2e_winograd_conv2d_cpu_f16_f16_f16_medium
  TEST_TYPE
    conv2d
  GENERATOR
    "generate_e2e_conv2d_tests.py"
  GENERATOR_ARGS
    "--input_type=f16"
    "--kernel_type=f16"
    "--acc_type=f16"
    "--shapes=medium"
  TEST_RUNNER
    iree_tools_testing_e2e_iree-e2e-conv2d-test
  TARGET_BACKENDS
    "llvm-cpu"
  DRIVERS
    "local-task"
  COMPILER_FLAGS
    "--iree-preprocessing-pass-pipeline=builtin.module\(func.func\(iree-linalg-ext-convert-conv2d-to-winograd{replace-all-convs=true}\)\)"
  LABELS
    "hostonly"
    "local"
)

iree_generated_e2e_runner_test(
  NAME
    e2e_winograd_conv2d_cpu_f16_f16_f16_large
  TEST_TYPE
    conv2d
  GENERATOR
    "generate_e2e_conv2d_tests.py"
  GENERATOR_ARGS
    "--input_type=f16"
    "--kernel_type=f16"
    "--acc_type=f16"
    "--shapes=large"
  TEST_RUNNER
    iree_tools_testing_e2e_iree-e2e-conv2d-test
  TARGET_BACKENDS
    "llvm-cpu"
  DRIVERS
    "local-task"
  COMPILER_FLAGS
    "--iree-preprocessing-pass-pipeline=builtin.module\(func.func\(iree-linalg-ext-convert-conv2d-to-winograd{replace-all-convs=true}\)\)"
  LABELS
    "hostonly"
    "local"
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
