Simplify tests/e2e/tosa_ops. (#17850)

Follow-up to https://github.com/iree-org/iree/pull/17843, forked from
https://github.com/iree-org/iree/pull/17766

Fixes https://github.com/iree-org/iree/issues/11828
diff --git a/tests/e2e/stablehlo_ops/BUILD.bazel b/tests/e2e/stablehlo_ops/BUILD.bazel
index 4d8a31a..e10b217 100644
--- a/tests/e2e/stablehlo_ops/BUILD.bazel
+++ b/tests/e2e/stablehlo_ops/BUILD.bazel
@@ -327,7 +327,7 @@
 )
 
 iree_check_single_backend_test_suite(
-    name = "check_meta-spirv_metal",
+    name = "check_metal-spirv_metal",
     srcs = enforce_glob(
         # keep sorted
         [
diff --git a/tests/e2e/stablehlo_ops/CMakeLists.txt b/tests/e2e/stablehlo_ops/CMakeLists.txt
index eeae196..2050c52 100644
--- a/tests/e2e/stablehlo_ops/CMakeLists.txt
+++ b/tests/e2e/stablehlo_ops/CMakeLists.txt
@@ -555,7 +555,7 @@
 
 iree_check_single_backend_test_suite(
   NAME
-    check_meta-spirv_metal
+    check_metal-spirv_metal
   SRCS
     "abs.mlir"
     "add.mlir"
diff --git a/tests/e2e/tosa_ops/BUILD.bazel b/tests/e2e/tosa_ops/BUILD.bazel
index 5deadce..cf3a690 100644
--- a/tests/e2e/tosa_ops/BUILD.bazel
+++ b/tests/e2e/tosa_ops/BUILD.bazel
@@ -4,12 +4,6 @@
 # See https://llvm.org/LICENSE.txt for license information.
 # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
-# Tests of end-to-end IREE support for individual ops in the TOSA dialect.
-# Each test file should have a name matching the corresponding TOSA op and test only the
-# functionality of that op (though may make use of other ops where necessary). Tests should be
-# written using the IREE Check framework.
-# See https://iree.dev/developers/general/testing-guide/#iree-core-end-to-end-e2e-tests.
-
 load("//build_tools/bazel:enforce_glob.bzl", "enforce_glob")
 load("//build_tools/bazel:iree_check_test.bzl", "iree_check_single_backend_test_suite")
 
@@ -18,7 +12,7 @@
     licenses = ["notice"],  # Apache 2.0
 )
 
-LLVM_SRCS = enforce_glob(
+ALL_SRCS = enforce_glob(
     [
         "abs.mlir",
         "add.mlir",
@@ -67,119 +61,23 @@
 
 iree_check_single_backend_test_suite(
     name = "check_llvm-cpu_local-task",
-    srcs = LLVM_SRCS,
+    srcs = ALL_SRCS,
     driver = "local-task",
     input_type = "tosa",
     target_backend = "llvm-cpu",
 )
 
-VMVX_SRCS = enforce_glob(
-    [
-        "abs.mlir",
-        "add.mlir",
-        "arithmetic_right_shift.mlir",
-        "bitwise_and.mlir",
-        "bitwise_or.mlir",
-        "bitwise_xor.mlir",
-        "ceil.mlir",
-        "clamp.mlir",
-        "clz.mlir",
-        "const.mlir",
-        "equal.mlir",
-        "exp.mlir",
-        "floor.mlir",
-        "fully_connected.mlir",
-        "gather.mlir",
-        "greater.mlir",
-        "greater_equal.mlir",
-        "if.mlir",
-        "log.mlir",
-        "logical_left_shift.mlir",
-        "logical_right_shift.mlir",
-        "logical_right_shift_16.mlir",
-        "matmul.mlir",
-        "max_pool.mlir",
-        "maximum.mlir",
-        "minimum.mlir",
-        "mul.mlir",
-        "mul_shift.mlir",
-        "negate.mlir",
-        "pad.mlir",
-        "reciprocal.mlir",
-        "reshape.mlir",
-        "rsqrt.mlir",
-        "select.mlir",
-        "sigmoid.mlir",
-        "sub.mlir",
-        "table.mlir",
-        "tanh.mlir",
-        "transpose.mlir",
-        "while.mlir",
-    ],
-    include = ["*.mlir"],
-    exclude = [
-        "reduce.mlir",  # Currently flakey https://github.com/iree-org/iree/issues/5885
-    ],
-)
-
 iree_check_single_backend_test_suite(
     name = "check_vmvx_local-task",
-    srcs = VMVX_SRCS,
+    srcs = ALL_SRCS,
     driver = "local-task",
     input_type = "tosa",
     target_backend = "vmvx",
 )
 
-VMVX_MICROKERNELS_SRCS = enforce_glob(
-    [
-        "abs.mlir",
-        "add.mlir",
-        "arithmetic_right_shift.mlir",
-        "bitwise_and.mlir",
-        "bitwise_or.mlir",
-        "bitwise_xor.mlir",
-        "ceil.mlir",
-        "clamp.mlir",
-        "clz.mlir",
-        "const.mlir",
-        "equal.mlir",
-        "exp.mlir",
-        "floor.mlir",
-        "fully_connected.mlir",
-        "gather.mlir",
-        "greater.mlir",
-        "greater_equal.mlir",
-        "if.mlir",
-        "log.mlir",
-        "logical_left_shift.mlir",
-        "logical_right_shift.mlir",
-        "logical_right_shift_16.mlir",
-        "matmul.mlir",
-        "max_pool.mlir",
-        "maximum.mlir",
-        "minimum.mlir",
-        "mul.mlir",
-        "mul_shift.mlir",
-        "negate.mlir",
-        "pad.mlir",
-        "reciprocal.mlir",
-        "reduce.mlir",
-        "reshape.mlir",
-        "rsqrt.mlir",
-        "select.mlir",
-        "sigmoid.mlir",
-        "sub.mlir",
-        "table.mlir",
-        "tanh.mlir",
-        "transpose.mlir",
-        "while.mlir",
-    ],
-    include = ["*.mlir"],
-)
-
 iree_check_single_backend_test_suite(
     name = "check_vmvx_local-sync_microkernels",
-    srcs = VMVX_MICROKERNELS_SRCS,
+    srcs = ALL_SRCS,
     compiler_flags = [
         "--iree-vmvx-enable-microkernels",
     ],
@@ -189,64 +87,23 @@
     target_backend = "vmvx",
 )
 
-VULKAN_SRCS = enforce_glob(
-    [
-        "abs.mlir",
-        "add.mlir",
-        "arithmetic_right_shift.mlir",
-        "bitwise_and.mlir",
-        "bitwise_or.mlir",
-        "bitwise_xor.mlir",
-        "ceil.mlir",
-        "clamp.mlir",
-        "clz.mlir",
-        "const.mlir",
-        "equal.mlir",
-        "exp.mlir",
-        "floor.mlir",
-        "fully_connected.mlir",
-        "gather.mlir",
-        "greater.mlir",
-        "greater_equal.mlir",
-        "if.mlir",
-        "log.mlir",
-        "logical_left_shift.mlir",
-        "logical_right_shift.mlir",
-        "matmul.mlir",
-        "max_pool.mlir",
-        "maximum.mlir",
-        "minimum.mlir",
-        "mul_shift.mlir",
-        "mul.mlir",
-        "negate.mlir",
-        "pad.mlir",
-        "reciprocal.mlir",
-        "reduce.mlir",
-        "reshape.mlir",
-        "rsqrt.mlir",
-        "select.mlir",
-        "sigmoid.mlir",
-        "sub.mlir",
-        "table.mlir",
-        "tanh.mlir",
-        "transpose.mlir",
-        "while.mlir",
-    ],
-    include = ["*.mlir"],
-    exclude = [
-        "logical_right_shift_16.mlir",  # TODO(#11828)
-    ],
-)
-
 iree_check_single_backend_test_suite(
     name = "check_vulkan-spirv_vulkan",
-    srcs = VULKAN_SRCS,
+    srcs = ALL_SRCS,
     driver = "vulkan",
     input_type = "tosa",
     target_backend = "vulkan-spirv",
 )
 
-CUDA_SRCS = enforce_glob(
+iree_check_single_backend_test_suite(
+    name = "check_metal-spirv_metal",
+    srcs = ALL_SRCS,
+    driver = "metal",
+    input_type = "tosa",
+    target_backend = "metal-spirv",
+)
+
+ROCM_AND_CUDA_SRCS = enforce_glob(
     [
         "abs.mlir",
         "add.mlir",
@@ -291,13 +148,13 @@
     ],
     include = ["*.mlir"],
     exclude = [
-        "mul_shift.mlir",
+        "mul_shift.mlir",  # error: cannot be converted to LLVM IR: missing `LLVMTranslationDialectInterface` registration for dialect for op: tosa.apply_scale
     ],
 )
 
 iree_check_single_backend_test_suite(
     name = "check_cuda_graph",
-    srcs = CUDA_SRCS,
+    srcs = ROCM_AND_CUDA_SRCS,
     compiler_flags = [
         # TODO(#13984): memset emulation required for graphs.
         "--iree-stream-emulate-memset",
@@ -318,7 +175,7 @@
 
 iree_check_single_backend_test_suite(
     name = "check_cuda_stream",
-    srcs = CUDA_SRCS,
+    srcs = ROCM_AND_CUDA_SRCS,
     driver = "cuda",
     input_type = "tosa",
     runner_args = ["--cuda_use_streams=true"],
@@ -333,13 +190,13 @@
     target_backend = "cuda",
 )
 
-test_suite(
-    name = "check",
-    tests = [
-        ":check_cuda_graph",
-        ":check_cuda_stream",
-        ":check_llvm-cpu_local-task",
-        ":check_vmvx_local-task",
-        ":check_vulkan-spirv_vulkan",
+iree_check_single_backend_test_suite(
+    name = "check_rocm_hip_stream",
+    srcs = ROCM_AND_CUDA_SRCS,
+    driver = "hip",
+    input_type = "tosa",
+    runner_args = [
+        "--hip_use_streams=true",
     ],
+    target_backend = "rocm",
 )
diff --git a/tests/e2e/tosa_ops/CMakeLists.txt b/tests/e2e/tosa_ops/CMakeLists.txt
index 0eb48b1..9e28378 100644
--- a/tests/e2e/tosa_ops/CMakeLists.txt
+++ b/tests/e2e/tosa_ops/CMakeLists.txt
@@ -98,6 +98,7 @@
     "negate.mlir"
     "pad.mlir"
     "reciprocal.mlir"
+    "reduce.mlir"
     "reshape.mlir"
     "rsqrt.mlir"
     "select.mlir"
@@ -195,6 +196,7 @@
     "log.mlir"
     "logical_left_shift.mlir"
     "logical_right_shift.mlir"
+    "logical_right_shift_16.mlir"
     "matmul.mlir"
     "max_pool.mlir"
     "maximum.mlir"
@@ -224,6 +226,59 @@
 
 iree_check_single_backend_test_suite(
   NAME
+    check_metal-spirv_metal
+  SRCS
+    "abs.mlir"
+    "add.mlir"
+    "arithmetic_right_shift.mlir"
+    "bitwise_and.mlir"
+    "bitwise_or.mlir"
+    "bitwise_xor.mlir"
+    "ceil.mlir"
+    "clamp.mlir"
+    "clz.mlir"
+    "const.mlir"
+    "equal.mlir"
+    "exp.mlir"
+    "floor.mlir"
+    "fully_connected.mlir"
+    "gather.mlir"
+    "greater.mlir"
+    "greater_equal.mlir"
+    "if.mlir"
+    "log.mlir"
+    "logical_left_shift.mlir"
+    "logical_right_shift.mlir"
+    "logical_right_shift_16.mlir"
+    "matmul.mlir"
+    "max_pool.mlir"
+    "maximum.mlir"
+    "minimum.mlir"
+    "mul.mlir"
+    "mul_shift.mlir"
+    "negate.mlir"
+    "pad.mlir"
+    "reciprocal.mlir"
+    "reduce.mlir"
+    "reshape.mlir"
+    "rsqrt.mlir"
+    "select.mlir"
+    "sigmoid.mlir"
+    "sub.mlir"
+    "table.mlir"
+    "tanh.mlir"
+    "transpose.mlir"
+    "while.mlir"
+  TARGET_BACKEND
+    "metal-spirv"
+  DRIVER
+    "metal"
+  INPUT_TYPE
+    "tosa"
+)
+
+iree_check_single_backend_test_suite(
+  NAME
     check_cuda_graph
   SRCS
     "abs.mlir"
@@ -344,6 +399,60 @@
     "requires-gpu-nvidia"
 )
 
+iree_check_single_backend_test_suite(
+  NAME
+    check_rocm_hip_stream
+  SRCS
+    "abs.mlir"
+    "add.mlir"
+    "arithmetic_right_shift.mlir"
+    "bitwise_and.mlir"
+    "bitwise_or.mlir"
+    "bitwise_xor.mlir"
+    "ceil.mlir"
+    "clamp.mlir"
+    "clz.mlir"
+    "const.mlir"
+    "equal.mlir"
+    "exp.mlir"
+    "floor.mlir"
+    "fully_connected.mlir"
+    "gather.mlir"
+    "greater.mlir"
+    "greater_equal.mlir"
+    "if.mlir"
+    "log.mlir"
+    "logical_left_shift.mlir"
+    "logical_right_shift.mlir"
+    "logical_right_shift_16.mlir"
+    "matmul.mlir"
+    "max_pool.mlir"
+    "maximum.mlir"
+    "minimum.mlir"
+    "mul.mlir"
+    "negate.mlir"
+    "pad.mlir"
+    "reciprocal.mlir"
+    "reduce.mlir"
+    "reshape.mlir"
+    "rsqrt.mlir"
+    "select.mlir"
+    "sigmoid.mlir"
+    "sub.mlir"
+    "table.mlir"
+    "tanh.mlir"
+    "transpose.mlir"
+    "while.mlir"
+  TARGET_BACKEND
+    "rocm"
+  DRIVER
+    "hip"
+  INPUT_TYPE
+    "tosa"
+  RUNNER_ARGS
+    "--hip_use_streams=true"
+)
+
 ### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
 
 iree_check_single_backend_test_suite(
@@ -402,59 +511,6 @@
 
 iree_check_single_backend_test_suite(
   NAME
-    check_metal-spirv_metal
-  SRCS
-    "abs.mlir"
-    "add.mlir"
-    "arithmetic_right_shift.mlir"
-    "bitwise_and.mlir"
-    "bitwise_or.mlir"
-    "bitwise_xor.mlir"
-    "ceil.mlir"
-    "clamp.mlir"
-    "clz.mlir"
-    "const.mlir"
-    "equal.mlir"
-    "exp.mlir"
-    "floor.mlir"
-    "fully_connected.mlir"
-    "gather.mlir"
-    "greater.mlir"
-    "greater_equal.mlir"
-    "if.mlir"
-    "log.mlir"
-    "logical_left_shift.mlir"
-    "logical_right_shift.mlir"
-    "logical_right_shift_16.mlir"
-    "matmul.mlir"
-    "max_pool.mlir"
-    "maximum.mlir"
-    "minimum.mlir"
-    "mul.mlir"
-    "mul_shift.mlir"
-    "negate.mlir"
-    "pad.mlir"
-    "reciprocal.mlir"
-    "reduce.mlir"
-    "reshape.mlir"
-    "rsqrt.mlir"
-    "select.mlir"
-    "sigmoid.mlir"
-    "sub.mlir"
-    "table.mlir"
-    "tanh.mlir"
-    "transpose.mlir"
-    "while.mlir"
-  TARGET_BACKEND
-    "metal-spirv"
-  DRIVER
-    "metal"
-  COMPILER_FLAGS
-    "--iree-input-type=tosa"
-)
-
-iree_check_single_backend_test_suite(
-  NAME
     check_rocm-rocm
   SRCS
     "abs.mlir"
@@ -506,75 +562,3 @@
   COMPILER_FLAGS
     "--iree-input-type=tosa"
 )
-
-if(IREE_HIP_TEST_TARGET_CHIP MATCHES "^gfx")
-
-unset(IREE_HIP_TEST_COMPILER_FLAGS)
-list(APPEND IREE_HIP_TEST_COMPILER_FLAGS
-  "--iree-rocm-target-chip=${IREE_HIP_TEST_TARGET_CHIP}"
-)
-
-iree_check_single_backend_test_suite(
-  NAME
-    check_hip_stream
-  SRCS
-    "abs.mlir"
-    "add.mlir"
-    "arithmetic_right_shift.mlir"
-    "bitwise_and.mlir"
-    "bitwise_or.mlir"
-    "bitwise_xor.mlir"
-    "ceil.mlir"
-    "clamp.mlir"
-    "clz.mlir"
-    "const.mlir"
-    "equal.mlir"
-    "exp.mlir"
-    "floor.mlir"
-    "fully_connected.mlir"
-    "gather.mlir"
-    "greater.mlir"
-    "greater_equal.mlir"
-    "if.mlir"
-    "log.mlir"
-    "logical_left_shift.mlir"
-    "logical_right_shift.mlir"
-    "logical_right_shift_16.mlir"
-    "matmul.mlir"
-    "max_pool.mlir"
-    "maximum.mlir"
-    "minimum.mlir"
-    "mul.mlir"
-    #"mul_shift.mlir" (compilation failure)
-    "negate.mlir"
-    "pad.mlir"
-    "reciprocal.mlir"
-    #"reduce.mlir" (compilation failure)
-    "reshape.mlir"
-    "rsqrt.mlir"
-    "select.mlir"
-    "sigmoid.mlir"
-    "sub.mlir"
-    "table.mlir"
-    "tanh.mlir"
-    "transpose.mlir"
-    "while.mlir"
-  TARGET_BACKEND
-    "rocm"
-  DRIVER
-    "hip"
-  COMPILER_FLAGS
-    ${IREE_HIP_TEST_COMPILER_FLAGS}
-  INPUT_TYPE
-    "tosa"
-  RUNNER_ARGS
-    "--hip_use_streams=true"
-  LABELS
-    "noasan"
-    "nomsan"
-    "notsan"
-    "noubsan"
-    "requires-gpu-amd"
-)
-
-endif(IREE_HIP_TEST_TARGET_CHIP MATCHES "^gfx")