diff --git a/build_defs/arch_tests.bzl b/build_defs/arch_tests.bzl
index ba67cc6..77c661a 100644
--- a/build_defs/arch_tests.bzl
+++ b/build_defs/arch_tests.bzl
@@ -2,41 +2,54 @@
 
 load("//build_defs:internal_shell.bzl", "inline_sh_test")
 
-def _arch_test_impl(
+_ARCHITECTURE_MATCHER = {
+    "aarch64": "ELF 64-bit LSB.* ARM aarch64",
+    "x86_64": "ELF 64-bit LSB.* x86_64",
+}
+
+def binary_architecture_test(
         name,
-        platform,
-        file_platform,
-        bazel_binaries = [],
+        architecture,
+        binaries = [],
         system_binaries = [],
+        target_compatible_with = [],
+        tags = [],
         **kwargs):
-    """Bazel rule to verify that a Bazel or system binary is built for the aarch64 architecture.
+    """Bazel rule to verify that binaries are built for a specific architecture.
+
+    This is used as a sanity test of our test infrastructure, to make sure that we're
+    actually cross-compiling for the correct platform.
 
     Args:
       name: the name of the test.
-      platform: a diagnostic name for this architecture.
-      file_platform: the expected output of `file`.
-      bazel_binaries: a set of binary targets to inspect.
-      system_binaries: a set of paths to system executables to inspect.
+      architecture: an identifier for the architecture being tested.
+      binaries: a set of binary targets to inspect.
+      system_binaries: a set of system executables to inspect.
+      target_compatible_with: config settings this test is compatible with.
+      tags: tags for filtering these tests.
       **kwargs: other keyword arguments that are passed to the test.
     """
+    if architecture not in _ARCHITECTURE_MATCHER:
+        fail("Unknown architecture: %s", architecture)
 
     inline_sh_test(
         name = name,
-        tools = bazel_binaries,
+        tools = binaries,
         cmd = """
           for binary in "%s"; do
             (file -L $$binary | grep -q "%s") \
                 || (echo "Test binary is not an %s binary: "; file -L $$binary; exit 1)
           done
         """ % (
-            " ".join(["$(rootpaths %s)" % b for b in bazel_binaries] + system_binaries),
-            file_platform,
-            platform,
+            " ".join(["$(rootpaths %s)" % b for b in binaries] + system_binaries),
+            _ARCHITECTURE_MATCHER[architecture],
+            architecture,
         ),
-        target_compatible_with = select({
-            "//build_defs:" + platform: [],
-            "//conditions:default": ["@platforms//:incompatible"],
-        }),
+        target_compatible_with = target_compatible_with,
+        tags = tags + [
+            "binary_architecture_test",
+            "%s_test" % architecture,
+        ],
         **kwargs
     )
 
diff --git a/python/BUILD.bazel b/python/BUILD.bazel
index cc0772c..552a536 100644
--- a/python/BUILD.bazel
+++ b/python/BUILD.bazel
@@ -6,11 +6,12 @@
 #   //:protobuf_python
 #   //:well_known_types_py_pb2
 
+load("@bazel_skylib//lib:selects.bzl", "selects")
 load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
 load("@rules_python//python:defs.bzl", "py_library")
 load("@pip_deps//:requirements.bzl", "requirement")
 load("//:protobuf.bzl", "internal_py_proto_library")
-load("//build_defs:arch_tests.bzl", "aarch64_test", "x86_64_test")
+load("//build_defs:arch_tests.bzl", "binary_architecture_test")
 load("//build_defs:cpp_opts.bzl", "COPTS")
 load("//conformance:defs.bzl", "conformance_test")
 load(":internal.bzl", "internal_copy_files", "internal_py_test")
@@ -119,20 +120,38 @@
     }),
 )
 
-aarch64_test(
+selects.config_setting_group(
+    name = "_aarch64_and_fast_cpp",
+    match_all = ["//build_defs:aarch64", ":use_fast_cpp_protos"],
+)
+binary_architecture_test(
     name = "aarch64_test",
-    bazel_binaries = [
+    architecture = "aarch64",
+    binaries = [
         "google/protobuf/internal/_api_implementation.so",
         "google/protobuf/pyext/_message.so",
     ],
+    target_compatible_with = select({
+        ":_aarch64_and_fast_cpp": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
 )
 
-x86_64_test(
+selects.config_setting_group(
+    name = "_x86_64_and_fast_cpp",
+    match_all = ["//build_defs:x86_64", ":use_fast_cpp_protos"],
+)
+binary_architecture_test(
     name = "x86_64_test",
-    bazel_binaries = [
+    architecture = "x86_64",
+    binaries = [
         "google/protobuf/internal/_api_implementation.so",
         "google/protobuf/pyext/_message.so",
     ],
+    target_compatible_with = select({
+        ":_x86_64_and_fast_cpp": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
 )
 
 py_library(
diff --git a/src/google/protobuf/compiler/BUILD.bazel b/src/google/protobuf/compiler/BUILD.bazel
index 8cc1186..3ef0414 100644
--- a/src/google/protobuf/compiler/BUILD.bazel
+++ b/src/google/protobuf/compiler/BUILD.bazel
@@ -10,7 +10,7 @@
     "strip_prefix",
 )
 load("@rules_proto//proto:defs.bzl", "proto_library")
-load("//build_defs:arch_tests.bzl", "aarch64_test", "x86_64_test")
+load("//build_defs:arch_tests.bzl", "binary_architecture_test")
 load("//build_defs:cpp_opts.bzl", "COPTS", "LINK_OPTS", "PROTOC_LINK_OPTS")
 
 proto_library(
@@ -144,14 +144,28 @@
 )
 
 # Test that the protoc binary is built for the correct architecture.
-aarch64_test(
-    name = "protoc_aarch64_test",
-    bazel_binaries = ["//:protoc"],
+binary_architecture_test(
+    name = "aarch64_test",
+    architecture = "aarch64",
+    binaries = [
+        "//:protoc",
+    ],
+    target_compatible_with = select({
+        "//build_defs:aarch64": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
 )
 
-x86_64_test(
-    name = "protoc_x86_64_test",
-    bazel_binaries = ["//:protoc"],
+binary_architecture_test(
+    name = "x86_64_test",
+    architecture = "x86_64",
+    binaries = [
+        "//:protoc",
+    ],
+    target_compatible_with = select({
+        "//build_defs:x86_64": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
 )
 
 ################################################################################
