[test] Introduce status variable $simulator, and fix some cases missing simarm_x64.

TEST=ci
Change-Id: Ie2a8ac015b2d316527d648956c86d4c7cb319d26
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/292962
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
diff --git a/pkg/pkg.status b/pkg/pkg.status
index c53c32a..5f31360 100644
--- a/pkg/pkg.status
+++ b/pkg/pkg.status
@@ -182,6 +182,10 @@
 [ $jscl ]
 kernel/test/*: SkipByDesign # Uses dart:io and bigints.
 
+# Timeout. These tests do not run efficiently on our simulator.
+[ $simulator ]
+*: Skip
+
 [ $arch == x64 && $runtime == vm && $system == windows && $checked ]
 analyzer/test/src/task/strong/inferred_type_test: Slow, Pass
 
@@ -242,11 +246,6 @@
 analysis_server/test/integration/edit/sort_members_test: Slow, Pass
 analysis_server/test/socket_server_test: Skip # Pass, Slow
 
-# Timeout. These tests do not run efficiently on our simulator or low-end
-# devices.
-[ $runtime == vm && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
-*: Skip
-
 [ $mode == debug || $runtime != vm || $system == android ]
 vm/test/modular_kernel_plus_aot_test: SkipByDesign # This test should only run if binary is run from build dir
 
diff --git a/pkg/smith/lib/configuration.dart b/pkg/smith/lib/configuration.dart
index 4dc9278..b5fca8f 100644
--- a/pkg/smith/lib/configuration.dart
+++ b/pkg/smith/lib/configuration.dart
@@ -723,6 +723,18 @@
 
   const Architecture._(String name) : super(name);
 
+  bool get isSimulator => _simulators.contains(this);
+  static final _simulators = <Architecture>{
+    simx64,
+    simx64c,
+    simarm,
+    simarm_x64,
+    simarm64,
+    simarm64c,
+    simriscv32,
+    simriscv64,
+  };
+
   static final Architecture host = _computeHost();
   static Architecture _computeHost() {
     String? arch;
diff --git a/pkg/status_file/test/data/vm.status b/pkg/status_file/test/data/vm.status
index 6e4a1f9..d5e0d99 100644
--- a/pkg/status_file/test/data/vm.status
+++ b/pkg/status_file/test/data/vm.status
@@ -50,7 +50,7 @@
 # On the simulator stack traces produced by the Profiler do not match
 # up with the real Dart stack trace and hence we don't get correct
 # symbol names.
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64]
+[ $simulator ]
 cc/Service_Profile: Skip
 cc/Profiler_AllocationSampleTest: Skip
 cc/Profiler_ArrayAllocation: Skip
diff --git a/pkg/test_runner/lib/src/configuration.dart b/pkg/test_runner/lib/src/configuration.dart
index 95c52ab..25adb54 100644
--- a/pkg/test_runner/lib/src/configuration.dart
+++ b/pkg/test_runner/lib/src/configuration.dart
@@ -119,6 +119,7 @@
   bool get isHostChecked => configuration.isHostChecked;
   bool get isCsp => configuration.isCsp;
   bool get isMinified => configuration.isMinified;
+  bool get isSimulator => architecture.isSimulator;
   bool get useAnalyzerCfe => configuration.useAnalyzerCfe;
   bool get useAnalyzerFastaParser => configuration.useAnalyzerFastaParser;
   bool get useElf => configuration.useElf;
diff --git a/pkg/test_runner/lib/src/environment.dart b/pkg/test_runner/lib/src/environment.dart
index 01cda62..fe005b5 100644
--- a/pkg/test_runner/lib/src/environment.dart
+++ b/pkg/test_runner/lib/src/environment.dart
@@ -33,6 +33,7 @@
   "nnbd": _Variable((TestConfiguration c) => c.nnbdMode.name, NnbdMode.names),
   "qemu": _Variable.bool((c) => c.useQemu),
   "runtime": _Variable(_runtimeName, _runtimeNames),
+  "simulator": _Variable.bool((c) => c.isSimulator),
   "spec_parser": _Variable.bool((c) => c.compiler == Compiler.specParser),
   "system": _Variable(_systemName, _systemNames),
   "use_sdk": _Variable.bool((c) => c.useSdk)
diff --git a/runtime/observatory/tests/service/service.status b/runtime/observatory/tests/service/service.status
index 7cf6be5..bd89802 100644
--- a/runtime/observatory/tests/service/service.status
+++ b/runtime/observatory/tests/service/service.status
@@ -47,11 +47,11 @@
 [ $mode == debug && $system == windows && $checked ]
 async_scope_test: Pass, Slow
 
-[ $mode == debug && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $mode == debug && $simulator ]
 *: SkipSlow
 
 # These tests are slow on simulators.
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 ]
+[ $mode != debug && $simulator ]
 *: Pass, Slow
 
 # All tests use dart:io
diff --git a/runtime/observatory/tests/service/service_kernel.status b/runtime/observatory/tests/service/service_kernel.status
index 0a1c74b..a310f16 100644
--- a/runtime/observatory/tests/service/service_kernel.status
+++ b/runtime/observatory/tests/service/service_kernel.status
@@ -261,7 +261,7 @@
 step_through_switch_test: Skip # Times out. Issue 32137.
 step_through_switch_with_continue_test: Skip # Times out. Issue 32137.
 
-[ $compiler == dartk && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $compiler == dartk && $simulator ]
 add_breakpoint_rpc_kernel_test: RuntimeError # Issue #34736
 async_generator_breakpoint_test: SkipByDesign # No incremental compiler available.
 bad_reload_test: Skip # Times out on sim architectures, also RuntimeError.
diff --git a/runtime/observatory_2/tests/service_2/service_2.status b/runtime/observatory_2/tests/service_2/service_2.status
index edb433e..532e837 100644
--- a/runtime/observatory_2/tests/service_2/service_2.status
+++ b/runtime/observatory_2/tests/service_2/service_2.status
@@ -53,11 +53,11 @@
 [ $mode == debug && $system == windows && $checked ]
 async_scope_test: Pass, Slow
 
-[ $mode == debug && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $mode == debug && $simulator ]
 *: SkipSlow
 
 # These tests are slow on simulators.
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 ]
+[ $mode != debug && $simulator ]
 *: Pass, Slow
 
 # All tests use dart:io
diff --git a/runtime/observatory_2/tests/service_2/service_2_kernel.status b/runtime/observatory_2/tests/service_2/service_2_kernel.status
index ed7ca46..cb92294 100644
--- a/runtime/observatory_2/tests/service_2/service_2_kernel.status
+++ b/runtime/observatory_2/tests/service_2/service_2_kernel.status
@@ -278,7 +278,7 @@
 step_through_switch_test: Skip # Times out. Issue 32137.
 step_through_switch_with_continue_test: Skip # Times out. Issue 32137.
 
-[ $compiler == dartk && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $compiler == dartk && $simulator ]
 add_breakpoint_rpc_kernel_test: RuntimeError # Issue #34736
 async_generator_breakpoint_test: SkipByDesign # No incremental compiler available.
 bad_reload_test: Skip # Times out on sim architectures, also RuntimeError.
diff --git a/runtime/tests/vm/vm.status b/runtime/tests/vm/vm.status
index 564b39b..e41528e 100644
--- a/runtime/tests/vm/vm.status
+++ b/runtime/tests/vm/vm.status
@@ -212,153 +212,10 @@
 [ $qemu ]
 cc/ManyClasses: Slow, Pass # Generates 100k classes, slow on emulated architectures.
 
-[ $arch == ia32 && $mode == debug ]
-dart/*: Pass, Slow # The CFE is not run from AppJit snapshot, JIT warmup in debug mode very slow
-dart_2/*: Pass, Slow # The CFE is not run from AppJit snapshot, JIT warmup in debug mode very slow
-
-[ $arch == ia32 && $mode == debug && $system == windows ]
-dart/transferable_test: Skip # This is performance test and somehow debug win ia32 bot's performance is unpredictable
-dart_2/transferable_test: Skip # This is performance test and somehow debug win ia32 bot's performance is unpredictable
-
-[ $arch != simarm && $arch != simarm64 && $arch != simarm64c && $arch != simriscv32 && $arch != simriscv64 && $compiler == dartk && $hot_reload ]
-dart/data_uri_import_test/base64: Crash
-dart/data_uri_import_test/nocharset: Crash
-dart/data_uri_import_test/nomime: Crash
-dart/data_uri_import_test/percentencoded: Crash
-dart/data_uri_import_test/utf16: Crash
-dart/data_uri_import_test/wrongmime: Crash
-dart_2/data_uri_import_test/base64: Crash
-dart_2/data_uri_import_test/nocharset: Crash
-dart_2/data_uri_import_test/nomime: Crash
-dart_2/data_uri_import_test/percentencoded: Crash
-dart_2/data_uri_import_test/utf16: Crash
-dart_2/data_uri_import_test/wrongmime: Crash
-
-[ $builder_tag == obfuscated && $compiler == dartkp ]
-dart/extension_names_test: SkipByDesign # No demangling (obfuscated).
-dart/extension_unnamed_names_test: SkipByDesign # No demangling (obfuscated).
-dart/isolates/dart_api_create_lightweight_isolate_test: SkipByDesign # https://dartbug.com/44215: This test relies on non-obfuscated library uris.
-dart/optimized_stacktrace_line_and_column_test: SkipByDesign # Looks for filenames in stacktrace output
-dart/optimized_stacktrace_line_test: SkipByDesign # Looks for filenames in stacktrace output
-dart/regress_37382_test: SkipByDesign # Matches the type arguments names
-dart_2/extension_names_test: SkipByDesign # No demangling (obfuscated).
-dart_2/extension_unnamed_names_test: SkipByDesign # No demangling (obfuscated).
-dart_2/isolates/dart_api_create_lightweight_isolate_test: SkipByDesign # https://dartbug.com/44215: This test relies on non-obfuscated library uris.
-dart_2/optimized_stacktrace_line_and_column_test: SkipByDesign # Looks for filenames in stacktrace output
-dart_2/optimized_stacktrace_line_test: SkipByDesign # Looks for filenames in stacktrace output
-dart_2/regress_37382_test: SkipByDesign # Matches the type arguments names
-
-[ $compiler == dartk && $mode == product && $runtime == vm ]
-cc/CorelibIsolateStartup: Timeout, Pass
-
-[ $compiler == dartk && $mode == release && $runtime == vm ]
-cc/CorelibIsolateStartup: Timeout, Pass
-
-[ $compiler == dartk && $runtime == vm ]
-cc/DartAPI_LoadLibrary: Fail, Crash # Issue 33048.
-cc/DebuggerAPI_BreakpointStubPatching: Fail
-cc/DebuggerAPI_GetClosureInfo: Fail
-cc/DebuggerAPI_InterruptIsolate: SkipSlow
-cc/DebuggerAPI_IsolateID: Fail
-cc/DebuggerAPI_ScriptGetTokenInfo_Basic: Fail
-cc/DebuggerAPI_ScriptGetTokenInfo_MultiLineInterpolation: Fail
-cc/Debugger_PrintBreakpointsToJSONArray: Fail
-cc/Debugger_Rewind_Optimized: SkipSlow
-cc/Debugger_SetBreakpointInPartOfLibrary: Crash
-dart/spawn_shutdown_test: SkipSlow
-dart_2/spawn_shutdown_test: SkipSlow
-
-[ $compiler == dartk && $runtime == vm && $system == macos ]
-cc/IsolateReload_LibraryLookup: Fail, Crash
-
-[ $compiler == dartk && $system == linux ]
-cc/IsolateReload_LibraryLookup: Fail, Crash
-
-[ $compiler == dartk && $system == windows ]
-cc/IsolateReload_LibraryLookup: Fail, Crash
-
-[ $compiler == dartk && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
-dart/appjit*: SkipSlow # DFE too slow
-dart/b162922506_test: SkipSlow # Generates large input file
-dart/data_uri_spawn_test: Skip # Please triage.
-dart/enable_mirrors_test: SkipByDesign # Separate kernel compilation doesn't respect VM options.
-dart/isolates/fast_object_copy2_test*: Skip # Uses ffi which is not available on simulated architectures
-dart/isolates/fast_object_copy_test*: SkipSlow
-dart/minimal_kernel_test: SkipSlow # gen_kernel is too slow on simulated architectures
-dart/null_safety_autodetection_in_kernel_compiler_test: SkipSlow # gen_kernel is too slow on simulated architectures
-dart/snapshot_version_test: RuntimeError # Please triage.
-dart_2/appjit*: SkipSlow # DFE too slow
-dart_2/b162922506_test: SkipSlow # Generates large input file
-dart_2/data_uri_spawn_test: Skip # Please triage.
-dart_2/enable_mirrors_test: SkipByDesign # Separate kernel compilation doesn't respect VM options.
-dart_2/isolates/fast_object_copy_test*: SkipSlow
-dart_2/minimal_kernel_test: SkipSlow # gen_kernel is too slow on simulated architectures
-dart_2/null_safety_autodetection_in_kernel_compiler_test: SkipSlow # gen_kernel is too slow on simulated architectures
-dart_2/snapshot_version_test: RuntimeError # Please triage.
-
-[ $compiler == dartk && ($hot_reload || $hot_reload_rollback) ]
-dart/data_uri_spawn_test: Skip # Timeout
-dart/heap_snapshot_referrers_test: SkipSlow
-dart/heapsnapshot_cli_test: SkipSlow
-dart/isolates/reload_many_isolates_live_and_die_test: SkipSlow # The test itself does reloading of subprocesses.
-dart/kernel_determinism_test: SkipSlow
-dart/regress_48196_test: SkipSlow
-dart_2/data_uri_spawn_test: Skip # Timeout
-dart_2/heap_snapshot_referrers_test: SkipSlow
-dart_2/heapsnapshot_cli_test: SkipSlow
-dart_2/isolates/reload_many_isolates_live_and_die_test: SkipSlow # The test itself does reloading of subprocesses.
-dart_2/kernel_determinism_test: SkipSlow
-dart_2/regress_48196_test: SkipSlow
-
-[ $compiler == dartkp && $system == windows ]
-dart/isolates/dart_api_create_lightweight_isolate_test: SkipByDesign # https://dartbug.com/40579 Dart C API symbols not available.
-dart_2/isolates/dart_api_create_lightweight_isolate_test: SkipByDesign # https://dartbug.com/40579 Dart C API symbols not available.
-
-[ $compiler == dartkp && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
-dart/causal_stacks/async_throws_stack_lazy_non_symbolic_test: Pass, Slow
-dart/isolates/fast_object_copy2_test*: Skip # Uses ffi which is not available on simulated architectures
-dart/isolates/fast_object_copy_test*: SkipSlow
-dart_2/causal_stacks/async_throws_stack_lazy_non_symbolic_test: Pass, Slow
-dart_2/isolates/fast_object_copy_test*: SkipSlow
-
-[ $compiler == dartkp && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 || $builder_tag == tsan) ]
-dart/regress_45898_test: Pass, Slow
-dart_2/regress_45898_test: Pass, Slow
-
-[ $compiler == dartkp && ($runtime == dart_precompiled || $runtime == vm) ]
-dart/spawn_shutdown_test: SkipSlow
-dart_2/spawn_shutdown_test: SkipSlow
-
-[ $mode == debug && $system == windows ]
-dart/spawn_shutdown_test: Skip # Flaky crashes unable to start thread; likely low memory on the bot.
-dart_2/spawn_shutdown_test: Skip # Flaky crashes unable to start thread; likely low memory on the bot.
-
-[ $mode == product && $runtime == vm ]
-cc/DartAPI_IsolateSetCheckedMode: Fail, OK # Checked mode disabled in product mode.
-
-[ $runtime == dart_precompiled && $minified ]
-dart/inline_stack_frame_test: Skip
-dart/optimized_stacktrace_line_test: Skip
-dart_2/inline_stack_frame_test: Skip
-dart_2/optimized_stacktrace_line_test: Skip
-
-[ $runtime != dart_precompiled && $runtime != vm ]
-dart/*: SkipByDesign # VM specific tests
-dart/catch_entry_state: SkipByDesign
-dart_2/*: SkipByDesign # VM specific tests
-dart_2/catch_entry_state: SkipByDesign
-
-[ $system != fuchsia && ($arch != x64 || $system != linux) ]
-cc/CodeExecutability: SkipByDesign # --dual-map-code not supported on non-Linux/Fuchsia
-
-[ $arch == arm || $arch == arm64 || $builder_tag == crossword || $builder_tag == crossword_ast || $compiler != dartkp || $system == linux && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
-dart/v8_snapshot_profile_writer_test: SkipByDesign # Only relevant for AOT. Doesn't work in cross-compilation (has to run on the host). On Linux/simarm64 and Linux/simarm this test requires buildtools/clang which is not always available on testing shards.
-dart_2/v8_snapshot_profile_writer_test: SkipByDesign # Only relevant for AOT. Doesn't work in cross-compilation (has to run on the host). On Linux/simarm64 and Linux/simarm this test requires buildtools/clang which is not always available on testing shards.
-
 # On the simulator stack traces produced by the Profiler do not match
 # up with the real Dart stack trace and hence we don't get correct
 # symbol names.
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 ]
+[ $simulator ]
 cc/DartAPI_NativeFieldAccess: SkipByDesign # https://dartbug.com/37299 Test uses dart:ffi which is not supported on simulators.
 cc/DartAPI_NativeFieldAccess_Throws: SkipByDesign # https://dartbug.com/37299 Test uses dart:ffi which is not supported on simulators.
 cc/Dart_SetFfiNativeResolver: SkipByDesign # https://dartbug.com/37299 Test uses dart:ffi which is not supported on simulators.
@@ -407,17 +264,148 @@
 dart_2/unboxed_param_tear_off_test: SkipByDesign # https://dartbug.com/37299 FFI helper not supported on simulator
 dart_2/unboxed_param_test: SkipByDesign # https://dartbug.com/37299 FFI helper not supported on simulator
 
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 || $system != macos ]
-dart/thread_priority_macos_test: SkipByDesign
-dart_2/thread_priority_macos_test: SkipByDesign
+[ $arch == ia32 && $mode == debug ]
+dart/*: Pass, Slow # The CFE is not run from AppJit snapshot, JIT warmup in debug mode very slow
+dart_2/*: Pass, Slow # The CFE is not run from AppJit snapshot, JIT warmup in debug mode very slow
 
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 || $system != windows ]
-dart/thread_priority_windows_test: SkipByDesign
-dart_2/thread_priority_windows_test: SkipByDesign
+[ $arch == ia32 && $mode == debug && $system == windows ]
+dart/transferable_test: Skip # This is performance test and somehow debug win ia32 bot's performance is unpredictable
+dart_2/transferable_test: Skip # This is performance test and somehow debug win ia32 bot's performance is unpredictable
 
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 || $system != android && $system != linux ]
-dart/thread_priority_linux_test: SkipByDesign
-dart_2/thread_priority_linux_test: SkipByDesign
+[ $builder_tag == obfuscated && $compiler == dartkp ]
+dart/extension_names_test: SkipByDesign # No demangling (obfuscated).
+dart/extension_unnamed_names_test: SkipByDesign # No demangling (obfuscated).
+dart/isolates/dart_api_create_lightweight_isolate_test: SkipByDesign # https://dartbug.com/44215: This test relies on non-obfuscated library uris.
+dart/optimized_stacktrace_line_and_column_test: SkipByDesign # Looks for filenames in stacktrace output
+dart/optimized_stacktrace_line_test: SkipByDesign # Looks for filenames in stacktrace output
+dart/regress_37382_test: SkipByDesign # Matches the type arguments names
+dart_2/extension_names_test: SkipByDesign # No demangling (obfuscated).
+dart_2/extension_unnamed_names_test: SkipByDesign # No demangling (obfuscated).
+dart_2/isolates/dart_api_create_lightweight_isolate_test: SkipByDesign # https://dartbug.com/44215: This test relies on non-obfuscated library uris.
+dart_2/optimized_stacktrace_line_and_column_test: SkipByDesign # Looks for filenames in stacktrace output
+dart_2/optimized_stacktrace_line_test: SkipByDesign # Looks for filenames in stacktrace output
+dart_2/regress_37382_test: SkipByDesign # Matches the type arguments names
+
+[ $compiler == dartk && $mode == product && $runtime == vm ]
+cc/CorelibIsolateStartup: Timeout, Pass
+
+[ $compiler == dartk && $mode == release && $runtime == vm ]
+cc/CorelibIsolateStartup: Timeout, Pass
+
+[ $compiler == dartk && $runtime == vm ]
+cc/DartAPI_LoadLibrary: Fail, Crash # Issue 33048.
+cc/DebuggerAPI_BreakpointStubPatching: Fail
+cc/DebuggerAPI_GetClosureInfo: Fail
+cc/DebuggerAPI_InterruptIsolate: SkipSlow
+cc/DebuggerAPI_IsolateID: Fail
+cc/DebuggerAPI_ScriptGetTokenInfo_Basic: Fail
+cc/DebuggerAPI_ScriptGetTokenInfo_MultiLineInterpolation: Fail
+cc/Debugger_PrintBreakpointsToJSONArray: Fail
+cc/Debugger_Rewind_Optimized: SkipSlow
+cc/Debugger_SetBreakpointInPartOfLibrary: Crash
+dart/spawn_shutdown_test: SkipSlow
+dart_2/spawn_shutdown_test: SkipSlow
+
+[ $compiler == dartk && $runtime == vm && $system == macos ]
+cc/IsolateReload_LibraryLookup: Fail, Crash
+
+[ $compiler == dartk && $system == linux ]
+cc/IsolateReload_LibraryLookup: Fail, Crash
+
+[ $compiler == dartk && $system == windows ]
+cc/IsolateReload_LibraryLookup: Fail, Crash
+
+[ $compiler == dartk && $hot_reload && !$simulator ]
+dart/data_uri_import_test/base64: Crash
+dart/data_uri_import_test/nocharset: Crash
+dart/data_uri_import_test/nomime: Crash
+dart/data_uri_import_test/percentencoded: Crash
+dart/data_uri_import_test/utf16: Crash
+dart/data_uri_import_test/wrongmime: Crash
+dart_2/data_uri_import_test/base64: Crash
+dart_2/data_uri_import_test/nocharset: Crash
+dart_2/data_uri_import_test/nomime: Crash
+dart_2/data_uri_import_test/percentencoded: Crash
+dart_2/data_uri_import_test/utf16: Crash
+dart_2/data_uri_import_test/wrongmime: Crash
+
+[ $compiler == dartk && $simulator ]
+dart/appjit*: SkipSlow # DFE too slow
+dart/b162922506_test: SkipSlow # Generates large input file
+dart/data_uri_spawn_test: Skip # Please triage.
+dart/enable_mirrors_test: SkipByDesign # Separate kernel compilation doesn't respect VM options.
+dart/isolates/fast_object_copy2_test*: Skip # Uses ffi which is not available on simulated architectures
+dart/isolates/fast_object_copy_test*: SkipSlow
+dart/minimal_kernel_test: SkipSlow # gen_kernel is too slow on simulated architectures
+dart/null_safety_autodetection_in_kernel_compiler_test: SkipSlow # gen_kernel is too slow on simulated architectures
+dart/snapshot_version_test: RuntimeError # Please triage.
+dart_2/appjit*: SkipSlow # DFE too slow
+dart_2/b162922506_test: SkipSlow # Generates large input file
+dart_2/data_uri_spawn_test: Skip # Please triage.
+dart_2/enable_mirrors_test: SkipByDesign # Separate kernel compilation doesn't respect VM options.
+dart_2/isolates/fast_object_copy_test*: SkipSlow
+dart_2/minimal_kernel_test: SkipSlow # gen_kernel is too slow on simulated architectures
+dart_2/null_safety_autodetection_in_kernel_compiler_test: SkipSlow # gen_kernel is too slow on simulated architectures
+dart_2/snapshot_version_test: RuntimeError # Please triage.
+
+[ $compiler == dartk && ($hot_reload || $hot_reload_rollback) ]
+dart/data_uri_spawn_test: Skip # Timeout
+dart/heap_snapshot_referrers_test: SkipSlow
+dart/heapsnapshot_cli_test: SkipSlow
+dart/isolates/reload_many_isolates_live_and_die_test: SkipSlow # The test itself does reloading of subprocesses.
+dart/kernel_determinism_test: SkipSlow
+dart/regress_48196_test: SkipSlow
+dart_2/data_uri_spawn_test: Skip # Timeout
+dart_2/heap_snapshot_referrers_test: SkipSlow
+dart_2/heapsnapshot_cli_test: SkipSlow
+dart_2/isolates/reload_many_isolates_live_and_die_test: SkipSlow # The test itself does reloading of subprocesses.
+dart_2/kernel_determinism_test: SkipSlow
+dart_2/regress_48196_test: SkipSlow
+
+[ $compiler == dartkp && $system == windows ]
+dart/isolates/dart_api_create_lightweight_isolate_test: SkipByDesign # https://dartbug.com/40579 Dart C API symbols not available.
+dart_2/isolates/dart_api_create_lightweight_isolate_test: SkipByDesign # https://dartbug.com/40579 Dart C API symbols not available.
+
+[ $compiler == dartkp && $simulator ]
+dart/causal_stacks/async_throws_stack_lazy_non_symbolic_test: Pass, Slow
+dart/isolates/fast_object_copy2_test*: Skip # Uses ffi which is not available on simulated architectures
+dart/isolates/fast_object_copy_test*: SkipSlow
+dart_2/causal_stacks/async_throws_stack_lazy_non_symbolic_test: Pass, Slow
+dart_2/isolates/fast_object_copy_test*: SkipSlow
+
+[ $compiler == dartkp && ($builder_tag == tsan || $simulator) ]
+dart/regress_45898_test: Pass, Slow
+dart_2/regress_45898_test: Pass, Slow
+
+[ $compiler == dartkp && ($runtime == dart_precompiled || $runtime == vm) ]
+dart/spawn_shutdown_test: SkipSlow
+dart_2/spawn_shutdown_test: SkipSlow
+
+[ $mode == debug && $system == windows ]
+dart/spawn_shutdown_test: Skip # Flaky crashes unable to start thread; likely low memory on the bot.
+dart_2/spawn_shutdown_test: Skip # Flaky crashes unable to start thread; likely low memory on the bot.
+
+[ $mode == product && $runtime == vm ]
+cc/DartAPI_IsolateSetCheckedMode: Fail, OK # Checked mode disabled in product mode.
+
+[ $runtime == dart_precompiled && $minified ]
+dart/inline_stack_frame_test: Skip
+dart/optimized_stacktrace_line_test: Skip
+dart_2/inline_stack_frame_test: Skip
+dart_2/optimized_stacktrace_line_test: Skip
+
+[ $runtime != dart_precompiled && $runtime != vm ]
+dart/*: SkipByDesign # VM specific tests
+dart/catch_entry_state: SkipByDesign
+dart_2/*: SkipByDesign # VM specific tests
+dart_2/catch_entry_state: SkipByDesign
+
+[ $system != fuchsia && ($arch != x64 || $system != linux) ]
+cc/CodeExecutability: SkipByDesign # --dual-map-code not supported on non-Linux/Fuchsia
+
+[ $arch == arm || $arch == arm64 || $builder_tag == crossword || $builder_tag == crossword_ast || $compiler != dartkp || $system == linux && $simulator ]
+dart/v8_snapshot_profile_writer_test: SkipByDesign # Only relevant for AOT. Doesn't work in cross-compilation (has to run on the host). On Linux/simarm64 and Linux/simarm this test requires buildtools/clang which is not always available on testing shards.
+dart_2/v8_snapshot_profile_writer_test: SkipByDesign # Only relevant for AOT. Doesn't work in cross-compilation (has to run on the host). On Linux/simarm64 and Linux/simarm this test requires buildtools/clang which is not always available on testing shards.
 
 [ $arch != x64 || $system != linux || $hot_reload || $compiler != dartk && $compiler != dartkp ]
 dart/entrypoints_verification_test: SkipByDesign # Enough to test on x64 Linux.
@@ -473,7 +461,7 @@
 # as that would involve running CFE (the front end) in simulator mode
 # to compile the URI file specified in spawnURI code.
 # These Isolate tests that use spawnURI are hence skipped on purpose.
-[ $runtime == dart_precompiled || $runtime == vm && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $runtime == dart_precompiled || $runtime == vm && $simulator ]
 dart/data_uri_spawn_test: SkipByDesign # Isolate.spawnUri
 dart/finalizer/finalizer_isolate_groups_run_gc_test: SkipByDesign # uses spawnUri.
 dart/isolates/send_object_to_spawn_uri_isolate_test: SkipByDesign # uses spawnUri
@@ -483,6 +471,14 @@
 dart_2/isolates/send_object_to_spawn_uri_isolate_test: SkipByDesign # uses spawnUri
 dart_2/issue32950_test: SkipByDesign # uses spawnUri.
 
+[ $system != macos || $simulator ]
+dart/thread_priority_macos_test: SkipByDesign
+dart_2/thread_priority_macos_test: SkipByDesign
+
+[ $system != windows || $simulator ]
+dart/thread_priority_windows_test: SkipByDesign
+dart_2/thread_priority_windows_test: SkipByDesign
+
 [ $hot_reload || $hot_reload_rollback ]
 dart/appjit*: SkipByDesign # Cannot reload with URI pointing to app snapshot.
 dart/disassemble_determinism_test: SkipSlow # Runs expensive fibonacci(32) computation in 2 subprocesses
@@ -511,6 +507,10 @@
 dart/entrypoints/*: SkipByDesign # These tests are for compiler optimizations and very sensitive to when functions are optimized, so they are disabled on hotreload and optcounter bots.
 dart_2/entrypoints/*: SkipByDesign # These tests are for compiler optimizations and very sensitive to when functions are optimized, so they are disabled on hotreload and optcounter bots.
 
+[ $simulator || $system != android && $system != linux ]
+dart/thread_priority_linux_test: SkipByDesign
+dart_2/thread_priority_linux_test: SkipByDesign
+
 # The analyze_snapshot tool tests are only supported on 64 bit AOT builds running under
 # release or product runtimes for linux and android platforms
 [ $arch != arm64 && $arch != arm64c && $arch != simarm64 && $arch != simarm64c && $arch != x64 && $arch != x64c || $compiler != dartk && $compiler != dartkp || $mode != product && $mode != release || $runtime != dart_precompiled && $runtime != vm || $system != android && $system != linux ]
diff --git a/samples/samples.status b/samples/samples.status
index 96038f7..1c074b4 100644
--- a/samples/samples.status
+++ b/samples/samples.status
@@ -5,15 +5,15 @@
 [ $builder_tag == asan ]
 ffi/samples_test: SkipByDesign # FFI skips, see ffi.status
 
+[ $simulator ]
+ffi/*: SkipByDesign # FFI skips, see ffi.status
+
 [ $compiler == dart2js && $runtime == none ]
 *: Fail, Pass # TODO(ahe): Triage these tests.
 
 [ $compiler == dartk && $runtime == vm && $system == fuchsia ]
 *: Skip # Not yet triaged.
 
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 ]
-ffi/*: SkipByDesign # FFI skips, see ffi.status
-
 [ $arch != x64 || $compiler != dartk || $system != linux || $hot_reload || $hot_reload_rollback ]
 ffi/sqlite/test/sqlite_test: SkipByDesign # FFI not supported or libsqlite3.so not available.
 
diff --git a/tests/co19/co19-kernel.status b/tests/co19/co19-kernel.status
index 98ac39c..be06838 100644
--- a/tests/co19/co19-kernel.status
+++ b/tests/co19/co19-kernel.status
@@ -18,6 +18,9 @@
 LibTest/collection/ListMixin/ListMixin_class_A01_t02: Slow, Pass # Does many calls
 LibTest/core/List/List_class_A01_t02: Slow, Pass # Does many calls
 
+[ $simulator ]
+LanguageFeatures/FinalizationRegistry/ffi/*: SkipByDesign # https://github.com/dart-lang/sdk/issues/37299
+
 [ $compiler == dartk && $runtime == vm && $system == macos ]
 LibTest/collection/ListBase/ListBase_class_A01_t02: Slow, Pass
 LibTest/collection/ListBase/ListBase_class_A01_t03: Slow, Pass
@@ -29,16 +32,13 @@
 [ $runtime == dart_precompiled && $system == windows ]
 LanguageFeatures/FinalizationRegistry/ffi/*: SkipByDesign # https://dartbug.com/40579 Dart C API symbols not available.
 
-[ $runtime == dart_precompiled && ($arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $runtime == dart_precompiled && $simulator ]
 LibTest/collection/ListBase/ListBase_class_A01_t01: SkipSlow # Issue 43036
 LibTest/collection/ListMixin/ListMixin_class_A01_t01: SkipSlow # Issue 43036
 
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 ]
-LanguageFeatures/FinalizationRegistry/ffi/*: SkipByDesign # https://github.com/dart-lang/sdk/issues/37299
-
 # It makes no sense to run any test that uses spawnURI under the simulator
 # as that would involve running CFE (the front end) in simulator mode
 # to compile the URI file specified in spawnURI code.
 # These Isolate tests that use spawnURI are hence skipped on purpose.
-[ $runtime == dart_precompiled || $runtime == vm && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $runtime == dart_precompiled || $runtime == vm && $simulator ]
 LibTest/isolate/Isolate/spawnUri*: Skip
diff --git a/tests/co19/co19-runtime.status b/tests/co19/co19-runtime.status
index c02247c..b13119d 100644
--- a/tests/co19/co19-runtime.status
+++ b/tests/co19/co19-runtime.status
@@ -7,6 +7,19 @@
 LibTest/io/Stdin/readByteSync_A01_t01: Skip # Issue 32138
 LibTest/io/Stdin/readByteSync_A01_t02: Skip # Issue 32138
 
+[ $simulator ]
+Language/Libraries_and_Scripts/Scripts/top_level_main_t01: SkipSlow # Very slow on sim* architectures.
+Language/Libraries_and_Scripts/Scripts/top_level_main_t06: SkipSlow # Very slow on sim* architectures.
+LibTest/collection/ListBase/ListBase_class_A01_t01: SkipSlow # Very slow on sim* architectures.
+LibTest/collection/ListBase/ListBase_class_A01_t04: SkipSlow # Very slow on sim* architectures.
+LibTest/collection/ListBase/ListBase_class_A01_t05: SkipSlow # Very slow on sim* architectures.
+LibTest/collection/ListBase/ListBase_class_A01_t06: SkipSlow # Very slow on sim* architectures.
+LibTest/collection/ListMixin/ListMixin_class_A01_t01: SkipSlow # Very slow on sim* architectures.
+LibTest/collection/ListMixin/ListMixin_class_A01_t04: SkipSlow # Very slow on sim* architectures.
+LibTest/collection/ListMixin/ListMixin_class_A01_t05: SkipSlow # Very slow on sim* architectures.
+LibTest/collection/ListMixin/ListMixin_class_A01_t06: SkipSlow # Very slow on sim* architectures.
+LibTest/ffi/*: SkipByDesign # dart:ffi is not supported on sim architectures
+
 [ $mode == debug && $runtime == dart_precompiled ]
 LibTest/collection/ListBase/ListBase_class_A01_t03: SkipSlow # Very slow compilation in debug mode.
 LibTest/collection/ListBase/ListBase_class_A01_t04: SkipSlow # Very slow compilation in debug mode.
@@ -21,21 +34,8 @@
 LibTest/core/List/List_all_t05: SkipSlow # Very slow compilation in debug mode.
 LibTest/core/List/List_all_t06: SkipSlow # Very slow compilation in debug mode.
 
-[ $runtime == dart_precompiled && ($arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $runtime == dart_precompiled && $simulator ]
 LibTest/async/Stream/Stream.periodic_all_t02: Skip # Issue 42898
 
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 ]
-Language/Libraries_and_Scripts/Scripts/top_level_main_t01: SkipSlow # Very slow on sim* architectures.
-Language/Libraries_and_Scripts/Scripts/top_level_main_t06: SkipSlow # Very slow on sim* architectures.
-LibTest/collection/ListBase/ListBase_class_A01_t01: SkipSlow # Very slow on sim* architectures.
-LibTest/collection/ListBase/ListBase_class_A01_t04: SkipSlow # Very slow on sim* architectures.
-LibTest/collection/ListBase/ListBase_class_A01_t05: SkipSlow # Very slow on sim* architectures.
-LibTest/collection/ListBase/ListBase_class_A01_t06: SkipSlow # Very slow on sim* architectures.
-LibTest/collection/ListMixin/ListMixin_class_A01_t01: SkipSlow # Very slow on sim* architectures.
-LibTest/collection/ListMixin/ListMixin_class_A01_t04: SkipSlow # Very slow on sim* architectures.
-LibTest/collection/ListMixin/ListMixin_class_A01_t05: SkipSlow # Very slow on sim* architectures.
-LibTest/collection/ListMixin/ListMixin_class_A01_t06: SkipSlow # Very slow on sim* architectures.
-LibTest/ffi/*: SkipByDesign # dart:ffi is not supported on sim architectures
-
 [ $compiler == fasta || $runtime == dart_precompiled || $runtime == vm ]
 LibTest/html/*: SkipByDesign # dart:html not supported on VM.
diff --git a/tests/co19_2/co19_2-kernel.status b/tests/co19_2/co19_2-kernel.status
index ea9b339..e1f2cb2 100644
--- a/tests/co19_2/co19_2-kernel.status
+++ b/tests/co19_2/co19_2-kernel.status
@@ -32,7 +32,7 @@
 LibTest/core/List/List_class_A01_t02: Slow, Pass
 LibTest/core/List/List_class_A01_t03: Slow, Pass
 
-[ $runtime == dart_precompiled && ($arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $runtime == dart_precompiled && $simulator ]
 LibTest/collection/ListBase/ListBase_class_A01_t01: SkipSlow # Issue 43036
 LibTest/collection/ListMixin/ListMixin_class_A01_t01: SkipSlow # Issue 43036
 
@@ -40,5 +40,5 @@
 # as that would involve running CFE (the front end) in simulator mode
 # to compile the URI file specified in spawnURI code.
 # These Isolate tests that use spawnURI are hence skipped on purpose.
-[ $runtime == dart_precompiled || $runtime == vm && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $runtime == dart_precompiled || $runtime == vm && $simulator ]
 LibTest/isolate/Isolate/spawnUri*: Skip
diff --git a/tests/co19_2/co19_2-runtime.status b/tests/co19_2/co19_2-runtime.status
index 8b0a06c..84fc2c4 100644
--- a/tests/co19_2/co19_2-runtime.status
+++ b/tests/co19_2/co19_2-runtime.status
@@ -7,6 +7,16 @@
 LibTest/io/Stdin/readByteSync_A01_t01: Skip # Issue 32138
 LibTest/io/Stdin/readByteSync_A01_t02: Skip # Issue 32138
 
+[ $simulator ]
+LibTest/collection/ListBase/ListBase_class_A01_t01: SkipSlow # Very slow on sim* architectures.
+LibTest/collection/ListBase/ListBase_class_A01_t04: SkipSlow # Very slow on sim* architectures.
+LibTest/collection/ListBase/ListBase_class_A01_t05: SkipSlow # Very slow on sim* architectures.
+LibTest/collection/ListBase/ListBase_class_A01_t06: SkipSlow # Very slow on sim* architectures.
+LibTest/collection/ListMixin/ListMixin_class_A01_t01: SkipSlow # Very slow on sim* architectures.
+LibTest/collection/ListMixin/ListMixin_class_A01_t04: SkipSlow # Very slow on sim* architectures.
+LibTest/collection/ListMixin/ListMixin_class_A01_t05: SkipSlow # Very slow on sim* architectures.
+LibTest/collection/ListMixin/ListMixin_class_A01_t06: SkipSlow # Very slow on sim* architectures.
+
 [ $mode == debug && $runtime == dart_precompiled ]
 LibTest/collection/ListBase/ListBase_class_A01_t03: SkipSlow # Very slow compilation in debug mode.
 LibTest/collection/ListBase/ListBase_class_A01_t04: SkipSlow # Very slow compilation in debug mode.
@@ -17,19 +27,9 @@
 LibTest/collection/ListMixin/ListMixin_class_A01_t05: SkipSlow # Very slow compilation in debug mode.
 LibTest/collection/ListMixin/ListMixin_class_A01_t06: SkipSlow # Very slow compilation in debug mode.
 
-[ $runtime == dart_precompiled && ($arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $runtime == dart_precompiled && $simulator ]
 LibTest/async/Stream/Stream.periodic_all_t02: Skip # Issue 42898
 
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 ]
-LibTest/collection/ListBase/ListBase_class_A01_t01: SkipSlow # Very slow on sim* architectures.
-LibTest/collection/ListBase/ListBase_class_A01_t04: SkipSlow # Very slow on sim* architectures.
-LibTest/collection/ListBase/ListBase_class_A01_t05: SkipSlow # Very slow on sim* architectures.
-LibTest/collection/ListBase/ListBase_class_A01_t06: SkipSlow # Very slow on sim* architectures.
-LibTest/collection/ListMixin/ListMixin_class_A01_t01: SkipSlow # Very slow on sim* architectures.
-LibTest/collection/ListMixin/ListMixin_class_A01_t04: SkipSlow # Very slow on sim* architectures.
-LibTest/collection/ListMixin/ListMixin_class_A01_t05: SkipSlow # Very slow on sim* architectures.
-LibTest/collection/ListMixin/ListMixin_class_A01_t06: SkipSlow # Very slow on sim* architectures.
-
 [ $compiler == fasta || $runtime == dart_precompiled || $runtime == vm ]
 Language/Expressions/Numbers/syntax_t34: SkipByDesign # expects integer literal error that only occurs in JS
 LibTest/html/*: SkipByDesign # dart:html not supported on VM.
diff --git a/tests/corelib/corelib.status b/tests/corelib/corelib.status
index cf47a98..3beb2cc 100644
--- a/tests/corelib/corelib.status
+++ b/tests/corelib/corelib.status
@@ -24,6 +24,10 @@
 [ $system == android ]
 throw_half_surrogate_pair_test/*: Skip # Issue http://dartbug.com/42094
 
+[ $simulator ]
+bigint_parse_radix_test: Skip # Issue 31659
+bigint_test: Skip # Issue 31659
+
 [ $arch == x64 && $system == windows ]
 stopwatch_test: Skip # Flaky test due to expected performance behaviour.
 
@@ -56,10 +60,6 @@
 iterable_return_type_int64_test: SkipByDesign # Requires int64 support.
 typed_data_with_limited_ints_test: SkipByDesign # Requires fixed-size int64 support.
 
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 ]
-bigint_parse_radix_test: Skip # Issue 31659
-bigint_test: Skip # Issue 31659
-
 [ $runtime == dart_precompiled || $runtime == vm ]
 regexp/global_test: Skip # Issue 21709
 regexp/pcre_test: Slow, Pass
diff --git a/tests/corelib_2/corelib_2.status b/tests/corelib_2/corelib_2.status
index 39fd807..b4694d7 100644
--- a/tests/corelib_2/corelib_2.status
+++ b/tests/corelib_2/corelib_2.status
@@ -27,6 +27,10 @@
 [ $system == android ]
 throw_half_surrogate_pair_test/*: Skip # Issue http://dartbug.com/42094
 
+[ $simulator ]
+bigint_parse_radix_test: Skip # Issue 31659
+bigint_test: Skip # Issue 31659
+
 [ $arch == x64 && $system == windows ]
 stopwatch_test: Skip # Flaky test due to expected performance behaviour.
 
@@ -59,10 +63,6 @@
 iterable_return_type_int64_test: SkipByDesign # Requires int64 support.
 typed_data_with_limited_ints_test: SkipByDesign # Requires fixed-size int64 support.
 
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 ]
-bigint_parse_radix_test: Skip # Issue 31659
-bigint_test: Skip # Issue 31659
-
 [ $runtime == dart_precompiled || $runtime == vm ]
 regexp/global_test: Skip # Issue 21709
 regexp/pcre_test: Slow, Pass
diff --git a/tests/ffi/ffi.status b/tests/ffi/ffi.status
index ca6dbef..a72ba29 100644
--- a/tests/ffi/ffi.status
+++ b/tests/ffi/ffi.status
@@ -53,6 +53,9 @@
 [ $qemu ]
 native_assets/asset_*: SkipByDesign # Only intended to run on host oses with AOT binaries available, not available on QEMU.
 
+[ $simulator ]
+*: Skip # FFI not yet supported on the arm simulator.
+
 [ $compiler != dart2analyzer && $compiler != fasta && $runtime != dart_precompiled && $runtime != vm ]
 *: SkipByDesign # FFI is a VM-only feature. (This test suite is part of the default set.)
 
@@ -66,9 +69,6 @@
 vmspecific_regress_37511_test: SkipByDesign # Symbols are not exposed on purpose and are not linked in Windows Precompiled. dartbug.com/40579
 vmspecific_regress_37780_test: SkipByDesign # Symbols are not exposed on purpose and are not linked in Windows Precompiled. dartbug.com/40579
 
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simarm_x64 || $arch == simriscv32 || $arch == simriscv64 ]
-*: Skip # FFI not yet supported on the arm simulator.
-
 [ $builder_tag == asan || $builder_tag == msan || $builder_tag == tsan ]
 data_not_asan_test: SkipByDesign # This test tries to allocate too much memory on purpose.
 
diff --git a/tests/ffi_2/ffi_2.status b/tests/ffi_2/ffi_2.status
index 2c76801..5b42ec0 100644
--- a/tests/ffi_2/ffi_2.status
+++ b/tests/ffi_2/ffi_2.status
@@ -48,6 +48,9 @@
 [ $system == windows ]
 regress_47594_test: Skip # DynamicLibrary.process() is not available on Windows.
 
+[ $simulator ]
+*: Skip # FFI not yet supported on the arm simulator.
+
 [ $compiler != dart2analyzer && $compiler != fasta && $runtime != dart_precompiled && $runtime != vm ]
 *: SkipByDesign # FFI is a VM-only feature. (This test suite is part of the default set.)
 
@@ -57,9 +60,6 @@
 [ $system != android && $system != linux && $system != macos && $system != windows ]
 *: Skip # FFI not yet supported on other OSes.
 
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simarm_x64 || $arch == simriscv32 || $arch == simriscv64 ]
-*: Skip # FFI not yet supported on the arm simulator.
-
 [ $builder_tag == asan || $builder_tag == msan || $builder_tag == tsan ]
 data_not_asan_test: SkipByDesign # This test tries to allocate too much memory on purpose.
 
diff --git a/tests/lib/lib.status b/tests/lib/lib.status
index 66602e5..a285e7c 100644
--- a/tests/lib/lib.status
+++ b/tests/lib/lib.status
@@ -83,6 +83,9 @@
 js/static_interop_test/typed_data_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
 js/trust_types_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
 
+[ $simulator ]
+convert/utf85_test: Skip # Pass, Slow Issue 20111.
+
 [ $compiler != dart2js && $compiler != ddc ]
 web/*: SkipByDesign
 
@@ -99,9 +102,6 @@
 [ $runtime != dart_precompiled && ($compiler != dartk || $runtime != vm) ]
 isolate/vm_rehash_test: SkipByDesign
 
-[ $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 ]
-convert/utf85_test: Skip # Pass, Slow Issue 20111.
-
 [ $arch != x64 || $runtime != vm ]
 isolate/int32_length_overflow_test: SkipSlow
 
@@ -120,7 +120,7 @@
 # as that would involve running CFE (the front end) in simulator mode
 # to compile the URI file specified in spawnURI code.
 # These Isolate tests that use spawnURI are hence skipped on purpose.
-[ $runtime == dart_precompiled || $runtime == vm && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $runtime == dart_precompiled || $runtime == vm && $simulator ]
 isolate/count_test: Skip # Isolate.spawnUri
 isolate/cross_isolate_message_test: Skip # Isolate.spawnUri
 isolate/deferred_in_isolate2_test: Skip # Isolate.spawnUri
diff --git a/tests/lib/lib_vm.status b/tests/lib/lib_vm.status
index 2a3deea..19ce64b 100644
--- a/tests/lib/lib_vm.status
+++ b/tests/lib/lib_vm.status
@@ -76,13 +76,13 @@
 mirrors/library_uri_io_test: RuntimeError
 mirrors/library_uri_package_test: RuntimeError
 
-[ $runtime == vm && ($arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $runtime == vm && $simulator ]
 convert/utf85_test: Skip # Pass, Slow Issue 20111.
 
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 || $hot_reload || $hot_reload_rollback ]
-convert/chunked_conversion_utf88_test: SkipSlow
-convert/streamed_conversion_json_utf8_decode_test: SkipSlow
-convert/utf85_test: SkipSlow
-
 [ $hot_reload || $hot_reload_rollback ]
 isolate/int32_length_overflow_test: SkipSlow # Iterates over Uint8List(1 << 30).
+
+[ $hot_reload || $hot_reload_rollback || $simulator ]
+convert/chunked_conversion_utf88_test: SkipSlow
+convert/streamed_conversion_json_utf8_decode_test: SkipSlow
+convert/utf85_test: SkipSlow
diff --git a/tests/lib_2/lib_2.status b/tests/lib_2/lib_2.status
index f9ba06a..133b5a6 100644
--- a/tests/lib_2/lib_2.status
+++ b/tests/lib_2/lib_2.status
@@ -68,6 +68,9 @@
 js/static_interop_test/external_static_member_lowerings_with_namespaces_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
 js/trust_types_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
 
+[ $simulator ]
+convert/utf85_test: Skip # Pass, Slow Issue 20111.
+
 [ $compiler != dart2js && $compiler != ddc ]
 web/*: SkipByDesign
 
@@ -84,9 +87,6 @@
 [ $runtime != dart_precompiled && ($compiler != dartk || $runtime != vm) ]
 isolate/vm_rehash_test: SkipByDesign
 
-[ $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 ]
-convert/utf85_test: Skip # Pass, Slow Issue 20111.
-
 [ $arch != x64 || $runtime != vm ]
 isolate/int32_length_overflow_test: SkipSlow
 
@@ -105,7 +105,7 @@
 # as that would involve running CFE (the front end) in simulator mode
 # to compile the URI file specified in spawnURI code.
 # These Isolate tests that use spawnURI are hence skipped on purpose.
-[ $runtime == dart_precompiled || $runtime == vm && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $runtime == dart_precompiled || $runtime == vm && $simulator ]
 isolate/count_test: Skip # Isolate.spawnUri
 isolate/cross_isolate_message_test: Skip # Isolate.spawnUri
 isolate/deferred_in_isolate2_test: Skip # Isolate.spawnUri
diff --git a/tests/lib_2/lib_2_vm.status b/tests/lib_2/lib_2_vm.status
index 2409de0..e279f1b 100644
--- a/tests/lib_2/lib_2_vm.status
+++ b/tests/lib_2/lib_2_vm.status
@@ -66,10 +66,10 @@
 mirrors/library_uri_io_test: RuntimeError
 mirrors/library_uri_package_test: RuntimeError
 
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 || $hot_reload || $hot_reload_rollback ]
+[ $hot_reload || $hot_reload_rollback ]
+isolate/int32_length_overflow_test: SkipSlow # Iterates over Uint8List(1 << 30).
+
+[ $hot_reload || $hot_reload_rollback || $simulator ]
 convert/chunked_conversion_utf88_test: SkipSlow
 convert/streamed_conversion_json_utf8_decode_test: SkipSlow
 convert/utf85_test: SkipSlow
-
-[ $hot_reload || $hot_reload_rollback ]
-isolate/int32_length_overflow_test: SkipSlow # Iterates over Uint8List(1 << 30).
diff --git a/tests/standalone/standalone.status b/tests/standalone/standalone.status
index 090de57..6fd451a 100644
--- a/tests/standalone/standalone.status
+++ b/tests/standalone/standalone.status
@@ -75,6 +75,9 @@
 io/https_connection_closed_during_handshake_test: SkipByDesign # long_ssl_cert_evaluation needed for long handshake is only supported on mac.
 io/https_nonblocking_trust_evaluation_test: SkipByDesign
 
+[ $simulator ]
+io/socket_sigpipe_test: SkipByDesign # Test uses ffi
+
 [ $builder_tag == swarming && $system == macos ]
 io/*: Skip # Issue 30618
 
@@ -99,9 +102,6 @@
 fragmentation_test: SkipSlow
 fragmentation_typed_data_test: SkipSlow
 
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 ]
-io/socket_sigpipe_test: SkipByDesign # Test uses ffi
-
 [ $compiler == dart2js || $compiler == ddc ]
 *: SkipByDesign
 
diff --git a/tests/standalone/standalone_kernel.status b/tests/standalone/standalone_kernel.status
index 1c3d346..12f239f 100644
--- a/tests/standalone/standalone_kernel.status
+++ b/tests/standalone/standalone_kernel.status
@@ -54,13 +54,11 @@
 # Enabling of dartk for sim{arm,arm64} revealed these test failures, which
 # are to be triaged.  Isolate tests are skipped on purpose due to the usage of
 # batch mode.
-[ $compiler == dartk && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $compiler == dartk && $simulator ]
 io/file_blocking_lock_test: Crash # Please triage.
 io/file_lock_test: Slow, Pass
-map_insert_remove_oom_test: Skip # Heap limit too low.
-
-[ $compiler == dartk && ($arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
 io/http_bind_test: Slow, Pass
+map_insert_remove_oom_test: Skip # Heap limit too low.
 
 [ $compiler == dartk && ($hot_reload || $hot_reload_rollback) ]
 io/addlatexhash_test: Skip # Timeout
diff --git a/tests/standalone/standalone_vm.status b/tests/standalone/standalone_vm.status
index 5933938..aad7ab9 100644
--- a/tests/standalone/standalone_vm.status
+++ b/tests/standalone/standalone_vm.status
@@ -60,20 +60,20 @@
 [ $mode == release && $runtime == vm && $system == windows ]
 io/http_server_close_response_after_error_test: Pass, Timeout # Issue 28370: timeout.
 
-[ $runtime == dart_precompiled && $system == linux && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 || $arch == x64) ]
+[ $runtime == dart_precompiled && $system == linux && $simulator ]
 io/stdout_stderr_non_blocking_test: Pass, Timeout # Issue 35192
 
 [ $runtime == vm && $system == macos ]
 io/named_pipe_script_test: Pass, RuntimeError # Issue 28737
 
+[ $runtime == vm && $simulator ]
+io/dart_std_io_pipe_test: Timeout, Pass
+io/http_client_stays_alive_test: Skip # Spawns process in Dart2 mode.
+io/process_sync_test: Timeout, Pass
+
 [ $runtime == vm && ($arch == arm || $arch == arm64) ]
 io/dart_std_io_pipe_test: Timeout, Pass
 io/file_input_stream_test: Skip # Issue 26109
 io/file_stream_test: Skip # Issue 26109
 io/file_typed_data_test: Skip # Issue 26109
 io/process_sync_test: Timeout, Pass
-
-[ $runtime == vm && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
-io/dart_std_io_pipe_test: Timeout, Pass
-io/http_client_stays_alive_test: Skip # Spawns process in Dart2 mode.
-io/process_sync_test: Timeout, Pass
diff --git a/tests/standalone_2/standalone_2.status b/tests/standalone_2/standalone_2.status
index 44235ac..a01721a 100644
--- a/tests/standalone_2/standalone_2.status
+++ b/tests/standalone_2/standalone_2.status
@@ -85,6 +85,9 @@
 io/https_connection_closed_during_handshake_test: SkipByDesign # long_ssl_cert_evaluation needed for long handshake is only supported on mac.
 io/https_nonblocking_trust_evaluation_test: SkipByDesign
 
+[ $simulator ]
+io/socket_sigpipe_test: SkipByDesign # Test uses ffi
+
 [ $builder_tag == swarming && $system == macos ]
 io/*: Skip # Issue 30618
 
@@ -106,9 +109,6 @@
 fragmentation_test: SkipSlow
 fragmentation_typed_data_test: SkipSlow
 
-[ $arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 ]
-io/socket_sigpipe_test: SkipByDesign # Test uses ffi
-
 [ $compiler == dart2js || $compiler == ddc ]
 *: SkipByDesign
 
diff --git a/tests/standalone_2/standalone_2_kernel.status b/tests/standalone_2/standalone_2_kernel.status
index 1c3d346..12f239f 100644
--- a/tests/standalone_2/standalone_2_kernel.status
+++ b/tests/standalone_2/standalone_2_kernel.status
@@ -54,13 +54,11 @@
 # Enabling of dartk for sim{arm,arm64} revealed these test failures, which
 # are to be triaged.  Isolate tests are skipped on purpose due to the usage of
 # batch mode.
-[ $compiler == dartk && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
+[ $compiler == dartk && $simulator ]
 io/file_blocking_lock_test: Crash # Please triage.
 io/file_lock_test: Slow, Pass
-map_insert_remove_oom_test: Skip # Heap limit too low.
-
-[ $compiler == dartk && ($arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
 io/http_bind_test: Slow, Pass
+map_insert_remove_oom_test: Skip # Heap limit too low.
 
 [ $compiler == dartk && ($hot_reload || $hot_reload_rollback) ]
 io/addlatexhash_test: Skip # Timeout
diff --git a/tests/standalone_2/standalone_2_vm.status b/tests/standalone_2/standalone_2_vm.status
index 5933938..278fc98 100644
--- a/tests/standalone_2/standalone_2_vm.status
+++ b/tests/standalone_2/standalone_2_vm.status
@@ -60,20 +60,20 @@
 [ $mode == release && $runtime == vm && $system == windows ]
 io/http_server_close_response_after_error_test: Pass, Timeout # Issue 28370: timeout.
 
-[ $runtime == dart_precompiled && $system == linux && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64 || $arch == x64) ]
+[ $runtime == dart_precompiled && $system == linux && ($arch == x64 || $simulator) ]
 io/stdout_stderr_non_blocking_test: Pass, Timeout # Issue 35192
 
 [ $runtime == vm && $system == macos ]
 io/named_pipe_script_test: Pass, RuntimeError # Issue 28737
 
+[ $runtime == vm && $simulator ]
+io/dart_std_io_pipe_test: Timeout, Pass
+io/http_client_stays_alive_test: Skip # Spawns process in Dart2 mode.
+io/process_sync_test: Timeout, Pass
+
 [ $runtime == vm && ($arch == arm || $arch == arm64) ]
 io/dart_std_io_pipe_test: Timeout, Pass
 io/file_input_stream_test: Skip # Issue 26109
 io/file_stream_test: Skip # Issue 26109
 io/file_typed_data_test: Skip # Issue 26109
 io/process_sync_test: Timeout, Pass
-
-[ $runtime == vm && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
-io/dart_std_io_pipe_test: Timeout, Pass
-io/http_client_stays_alive_test: Skip # Spawns process in Dart2 mode.
-io/process_sync_test: Timeout, Pass