diff a/test/hotspot/jtreg/TEST.groups b/test/hotspot/jtreg/TEST.groups
--- a/test/hotspot/jtreg/TEST.groups
+++ b/test/hotspot/jtreg/TEST.groups
@@ -432,30 +432,48 @@
 hotspot_cds_only = \
   runtime/cds/
 
 hotspot_appcds_dynamic = \
   runtime/cds/appcds/ \
+ -runtime/cds/appcds/applications \
  -runtime/cds/appcds/cacheObject \
  -runtime/cds/appcds/complexURI \
  -runtime/cds/appcds/customLoader \
  -runtime/cds/appcds/dynamicArchive \
  -runtime/cds/appcds/jigsaw/modulepath/ModulePathAndFMG.java \
  -runtime/cds/appcds/jigsaw/modulepath/OptimizeModuleHandlingTest.java \
  -runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java \
+ -runtime/cds/appcds/indy/IndyAndJavac.java \
+ -runtime/cds/appcds/indy/IndyMiscTests.java \
+ -runtime/cds/appcds/indy/IndyStringConcat.java \
+ -runtime/cds/appcds/indy/StringConcatStress2.java \
+ -runtime/cds/appcds/indy/StringConcatStress.java \
  -runtime/cds/appcds/javaldr/ArrayTest.java \
  -runtime/cds/appcds/javaldr/ExceptionDuringDumpAtObjectsInitPhase.java \
  -runtime/cds/appcds/javaldr/GCSharedStringsDuringDump.java \
  -runtime/cds/appcds/javaldr/LockDuringDump.java \
  -runtime/cds/appcds/jcmd/JCmdTestStaticDump.java \
  -runtime/cds/appcds/jcmd/JCmdTestDynamicDump.java \
  -runtime/cds/appcds/jcmd/JCmdTestFileSafety.java \
  -runtime/cds/appcds/lambdaForm/DefaultClassListLFInvokers.java \
+ -runtime/cds/appcds/leyden/DynamicProxyTest.java \
+ -runtime/cds/appcds/leyden/DynamicProxyTestOldWF.java \
+ -runtime/cds/appcds/leyden/ExcludedClasses.java \
+ -runtime/cds/appcds/leyden/ExcludedClassesOldWF.java \
+ -runtime/cds/appcds/leyden/LeydenAndOldClasses.java \
+ -runtime/cds/appcds/leyden/LeydenGCFlags.java \
+ -runtime/cds/appcds/leyden/LeydenHello.java \
+ -runtime/cds/appcds/leyden/LeydenHelloOldWF.java \
+ -runtime/cds/appcds/leyden/LeydenReflection.java \
+ -runtime/cds/appcds/leyden/LeydenReflectionOldWF.java \
  -runtime/cds/appcds/methodHandles \
+ -runtime/cds/appcds/aotClassLinking/BulkLoaderTest.java \
  -runtime/cds/appcds/sharedStrings \
  -runtime/cds/appcds/resolvedConstants \
  -runtime/cds/appcds/ArchiveRelocationTest.java \
  -runtime/cds/appcds/BadBSM.java \
+ -runtime/cds/appcds/CommandLineFlagCombo.java \
  -runtime/cds/appcds/DumpClassList.java \
  -runtime/cds/appcds/DumpClassListWithLF.java \
  -runtime/cds/appcds/DumpRuntimeClassesTest.java \
  -runtime/cds/appcds/DumpingWithNoCoops.java \
  -runtime/cds/appcds/ExtraSymbols.java \
@@ -519,10 +537,72 @@
   runtime/cds/appcds/dynamicArchive/HelloDynamic.java \
   runtime/cds/appcds/javaldr \
   runtime/cds/appcds/jigsaw \
   runtime/cds/appcds/loaderConstraints
 
+# Run CDS tests with -XX:+AOTClassLinking. This should include most CDS tests, except for
+# those that rely on redefining classes that are already archived.
+hotspot_aot_classlinking = \
+  runtime/cds \
+ -runtime/cds/appcds/aotClassLinking \
+ -runtime/cds/appcds/BadBSM.java \
+ -runtime/cds/appcds/cacheObject/ArchiveHeapTestClass.java \
+ -runtime/cds/appcds/cacheObject/ArchivedIntegerCacheTest.java \
+ -runtime/cds/appcds/cacheObject/ArchivedModuleCompareTest.java \
+ -runtime/cds/appcds/cacheObject/OpenArchiveRegion.java \
+ -runtime/cds/appcds/CDSandJFR.java \
+ -runtime/cds/appcds/CommandLineFlagCombo.java \
+ -runtime/cds/appcds/customLoader/CustomClassListDump.java \
+ -runtime/cds/appcds/customLoader/HelloCustom_JFR.java \
+ -runtime/cds/appcds/customLoader/ParallelTestMultiFP.java \
+ -runtime/cds/appcds/customLoader/ParallelTestSingleFP.java \
+ -runtime/cds/appcds/customLoader/SameNameInTwoLoadersTest.java \
+ -runtime/cds/appcds/DumpClassListWithLF.java \
+ -runtime/cds/appcds/dynamicArchive/LambdaContainsOldInf.java \
+ -runtime/cds/appcds/dynamicArchive/LambdaForOldInfInBaseArchive.java \
+ -runtime/cds/appcds/dynamicArchive/LambdaInBaseArchive.java \
+ -runtime/cds/appcds/dynamicArchive/LambdasInTwoArchives.java \
+ -runtime/cds/appcds/dynamicArchive/NestHostOldInf.java \
+ -runtime/cds/appcds/dynamicArchive/OldClassInBaseArchive.java \
+ -runtime/cds/appcds/FreeUnusedMetadata.java \
+ -runtime/cds/appcds/HelloExtTest.java \
+ -runtime/cds/appcds/jigsaw/classpathtests/EmptyClassInBootClassPath.java \
+ -runtime/cds/appcds/jigsaw/JigsawOptionsCombo.java \
+ -runtime/cds/appcds/jigsaw/modulepath/OptimizeModuleHandlingTest.java \
+ -runtime/cds/appcds/jigsaw/overridetests/OverrideTests.java \
+ -runtime/cds/appcds/jigsaw/RedefineClassesInModuleGraph.java \
+ -runtime/cds/appcds/JvmtiAddPath.java \
+ -runtime/cds/appcds/jvmti \
+ -runtime/cds/appcds/LambdaContainsOldInf.java \
+ -runtime/cds/appcds/LambdaEagerInit.java \
+ -runtime/cds/appcds/LambdaProxyClasslist.java \
+ -runtime/cds/appcds/LambdaVerificationFailedDuringDump.java \
+ -runtime/cds/appcds/loaderConstraints/LoaderConstraintsTest.java \
+ -runtime/cds/appcds/NestHostOldInf.java \
+ -runtime/cds/appcds/OldClassWithjsr.java \
+ -runtime/cds/appcds/OldInfExtendsInfDefMeth.java \
+ -runtime/cds/appcds/OldSuperClass.java \
+ -runtime/cds/appcds/OldSuperInf.java \
+ -runtime/cds/appcds/OldSuperInfIndirect.java \
+ -runtime/cds/appcds/redefineClass \
+ -runtime/cds/appcds/resolvedConstants/ResolvedConstants.java \
+ -runtime/cds/appcds/RewriteBytecodesTest.java \
+ -runtime/cds/appcds/SignedJar.java \
+ -runtime/cds/appcds/SpecifySysLoaderProp.java \
+ -runtime/cds/appcds/StaticArchiveWithLambda.java \
+ -runtime/cds/appcds/TestEpsilonGCWithCDS.java \
+ -runtime/cds/appcds/TestParallelGCWithCDS.java \
+ -runtime/cds/appcds/TestSerialGCWithCDS.java \
+ -runtime/cds/appcds/TestZGCWithCDS.java \
+ -runtime/cds/appcds/TestWithProfiler.java \
+ -runtime/cds/SharedSymbolTableBucketSize.java \
+ -runtime/cds/serviceability/ReplaceCriticalClassesForSubgraphs.java \
+ -runtime/cds/serviceability/ReplaceCriticalClasses.java \
+ -runtime/cds/serviceability/transformRelatedClasses/TransformInterfaceAndImplementor.java \
+ -runtime/cds/serviceability/transformRelatedClasses/TransformSuperAndSubClasses.java \
+ -runtime/cds/serviceability/transformRelatedClasses/TransformSuperSubTwoPckgs.java
+
 # needs -nativepath:<output>/images/test/hotspot/jtreg/native/
 hotspot_metaspace = \
   gtest/MetaspaceGtests.java \
   gc/metaspace \
   gc/class_unloading \
