diff --git a/ansi-tests/gclload2.lsp b/ansi-tests/gclload2.lsp
index 0f43faeb67e629942b16675983d54b67432cbe42..ab760ff7d07743cebcf3421f21d189e207da5cb9 100644
--- a/ansi-tests/gclload2.lsp
+++ b/ansi-tests/gclload2.lsp
@@ -1,192 +1,25 @@
-;;; Load individual test files
+;;; Load test files
 
 ;;; Tests of symbols
-(compile-and-load "cl-symbols-aux.lsp")
-(load "cl-symbol-names.lsp")
-(load "cl-symbols.lsp")
-(load "boundp.lsp")
+(load "load-symbols.lsp")
 
 ;;; Tests of evaluation and compilation
-(load "eval.lsp")
-(load "eval-and-compile.lsp")
-(load "compile.lsp")
-(load "compiler-macros.lsp")
-(load "constantp.lsp")
-(load "lambda.lsp")
+(load "load-eval-and-compile.lsp")
 
 ;;; Tests of data and control flow
-
-(load "data-and-control-flow.lsp")
-(load "places.lsp")
-
-(load "and.lsp")
-(load "apply.lsp")
-(load "block.lsp")
-(load "call-arguments-limit.lsp")
-(load "case.lsp")
-(load "catch.lsp")
-(load "ccase.lsp")
-(load "compiled-function-p.lsp")
-(load "complement.lsp")
-(load "cond.lsp")
-(load "constantly.lsp")
-(load "ctypecase.lsp")
-(load "defconstant.lsp")
-(load "define-modify-macro.lsp")
-(load "defparameter.lsp")
-(load "defun.lsp")
-(load "defvar.lsp")
-(load "destructuring-bind.lsp")
-(load "ecase.lsp")
-(load "eql.lsp")
-(load "equal.lsp")
-(load "equalp.lsp")
-(load "etypecase.lsp")
-(load "every.lsp")
-(load "fboundp.lsp")
-(load "fdefinition.lsp")
-(load "flet.lsp")
-(load "fmakunbound.lsp")
-(load "funcall.lsp")
-(load "function-lambda-expression.lsp")
-(load "function.lsp")
-(load "functionp.lsp")
-(load "get-setf-expansion.lsp")
-(load "identity.lsp")
-(load "if.lsp")
-(load "labels.lsp")
-(load "lambda-list-keywords.lsp")
-(load "lambda-parameters-limit.lsp")
-(load "let.lsp")
-(load "macrolet.lsp")
-(load "multiple-value-bind.lsp")
-(load "multiple-value-call.lsp") ;; include multiple-value-list
-(load "multiple-value-prog1.lsp")
-(load "multiple-value-setq.lsp")
-(load "nil.lsp")
-(load "not-and-null.lsp")
-(load "notany.lsp")
-(load "notevery.lsp")
-(load "nth-value.lsp")
-(load "or.lsp")
-(load "prog.lsp")
-(load "prog1.lsp")
-(load "prog2.lsp")
-(load "progn.lsp")
-(load "progv.lsp")
-(load "some.lsp")
-(load "t.lsp")
-(load "tagbody.lsp")
-(load "typecase.lsp")
-(load "unless.lsp")
-(load "unwind-protect.lsp")
-(load "values-list.lsp")
-(load "values.lsp")
-(load "when.lsp")
+(load "load-data-and-control-flow.lsp")
 
 ;;; Tests of iteration forms
-(load "iteration.lsp")
-(load "loop.lsp")
-(load "loop1.lsp")
-(load "loop2.lsp")
-(load "loop3.lsp")
-(load "loop4.lsp")
-(load "loop5.lsp")
-(load "loop6.lsp")
-(load "loop7.lsp")
-(load "loop8.lsp")
-(load "loop9.lsp")
-(load "loop10.lsp")
-(load "loop11.lsp")
-(load "loop12.lsp")
-(load "loop13.lsp")
-(load "loop14.lsp")
-(load "loop15.lsp")
-(load "loop16.lsp")
-(load "loop17.lsp")
+(load "load-iteration.lsp")
 
 ;;; Tests of conditions
-(load "condition.lsp")
-(load "cell-error-name.lsp")
-(load "assert.lsp")
-(load "error.lsp")
-(load "cerror.lsp")
-(load "check-type.lsp")
+(load "load-conditions.lsp")
 
 ;;; Tests of conses
-
-(load "cons-test-01.lsp")
-(load "cons-test-02.lsp")
-(load "cons-test-03.lsp")
-(load "cons-test-04.lsp")
-(load "cons-test-05.lsp")
-(load "cons-test-06.lsp")
-(load "cons-test-07.lsp")
-(load "cons-test-08.lsp")
-(load "cons-test-09.lsp")
-(load "cons-test-10.lsp")
-(load "cons-test-11.lsp")
-(load "cons-test-12.lsp")
-(load "cons-test-13.lsp")
-(load "cons-test-14.lsp")
-(load "cons-test-15.lsp")
-(load "cons-test-16.lsp")
-(load "cons-test-17.lsp")
-(load "cons-test-18.lsp")
-(load "cons-test-19.lsp")
-(load "cons-test-20.lsp")
-(load "cons-test-21.lsp")
-(load "cons-test-22.lsp")
-(load "cons-test-23.lsp")
-(load "cons-test-24.lsp")
-(load "cons-test-25.lsp")
+(load "load-cons.lsp")
 
 ;;; Tests on arrays
-(compile-and-load "array-aux.lsp")
-(load "aref.lsp")
-(load "array.lsp")
-(load "array-t.lsp")
-(load "array-as-class.lsp")
-(load "simple-array.lsp")
-(load "simple-array-t.lsp")
-(load "bit-vector.lsp")
-(load "simple-bit-vector.lsp")
-(load "make-array.lsp")
-(load "adjustable-array-p.lsp")
-(load "array-displacement.lsp")
-(load "array-dimension.lsp")
-(load "array-dimensions.lsp")
-(load "array-in-bounds-p.lsp")
-(load "array-misc.lsp")
-(load "array-rank.lsp")
-(load "array-row-major-index.lsp")
-(load "array-total-size.lsp")
-(load "arrayp.lsp")
-(load "fill-pointer.lsp")
-(load "row-major-aref.lsp")
-(load "simple-vector-p.lsp")
-(load "svref.lsp")
-(load "upgraded-array-element-type.lsp")
-(load "vector.lsp")
-(load "vector-pop.lsp")
-(load "vector-push.lsp")
-(load "vector-push-extend.lsp")
-(load "vectorp.lsp")
-(load "bit.lsp")
-(load "sbit.lsp")
-(load "bit-and.lsp")
-(load "bit-andc1.lsp")
-(load "bit-andc2.lsp")
-(load "bit-eqv.lsp")
-(load "bit-ior.lsp")
-(load "bit-nand.lsp")
-(load "bit-nor.lsp")
-(load "bit-orc1.lsp")
-(load "bit-orc2.lsp")
-(load "bit-xor.lsp")
-(load "bit-not.lsp")
-(load "bit-vector-p.lsp")
-(load "simple-bit-vector-p.lsp")
+(load "load-arrays.lsp")
 
 ;;; Tests of hash tables
 
@@ -199,90 +32,19 @@
 #-ecl (load "packages.lsp")
 
 ;;; Tests of sequences
-
-(load "copy-seq.lsp")
-(load "elt.lsp")
-(load "fill.lsp")
-(load "fill-strings.lsp")
-(load "make-sequence.lsp")
-(load "map.lsp")
-(load "map-into.lsp")
-(load "reduce.lsp")
-(load "count.lsp")
-(load "count-if.lsp")
-(load "count-if-not.lsp")
-(load "reverse.lsp")
-(load "nreverse.lsp")
-(load "sort.lsp")
-(load "find.lsp")
-(load "find-if.lsp")
-(load "find-if-not.lsp")
-(load "position.lsp")
-(compile-and-load "search-aux.lsp")
-(load "search-list.lsp")
-(load "search-vector.lsp")
-(load "search-bitvector.lsp")
-(load "search-string.lsp")
-(load "mismatch.lsp")
-(load "replace.lsp")
-(compile-and-load "subseq-aux.lsp")
-(load "subseq.lsp")
-(load "substitute.lsp")
-(load "substitute-if.lsp")
-(load "substitute-if-not.lsp")
-(load "nsubstitute.lsp")
-(load "nsubstitute-if.lsp")
-(load "nsubstitute-if-not.lsp")
-(load "concatenate.lsp")
-(load "merge.lsp")
-(compile-and-load "remove-aux.lsp")
-(load "remove.lsp")  ;; also related funs
-(compile-and-load "remove-duplicates-aux.lsp")
-(load "remove-duplicates.lsp")  ;; also delete-duplicates
+(load "load-sequences.lsp")
 
 ;;; Tests of structures
-
-(load "structure-00.lsp")
-(load "structures-01.lsp")
-(load "structures-02.lsp")
-#-ecl (load "structures-03.lsp")
+(load "load-structures.lsp")
 
 ;;; Tests of types and classes
-
-(load "types-and-class.lsp")
-(load "types-and-class-2.lsp")
-(load "coerce.lsp")
-(load "subtypep.lsp")
-(load "subtypep-integer.lsp")
-(load "subtypep-float.lsp")
-(load "subtypep-rational.lsp")
-(load "subtypep-real.lsp")
-(load "subtypep-cons.lsp")
-(load "subtypep-member.lsp")
-(load "subtypep-eql.lsp")
+(load "load-types-and-class.lsp")
 
 ;;; Tests of the reader
-
 (load "reader-test.lsp")
 
 ;;; Tests of strings
-
-(load "char-schar.lsp")
-(load "string.lsp")
-(load "string-upcase.lsp")
-(load "string-downcase.lsp")
-(load "string-capitalize.lsp")
-(load "nstring-upcase.lsp")
-(load "nstring-downcase.lsp")
-(load "nstring-capitalize.lsp")
-(load "string-trim.lsp")
-(load "string-left-trim.lsp")
-(load "string-right-trim.lsp")
-
-;;; Tests of string comparison functions
-(compile-and-load "string-aux.lsp")
-(load "string-comparisons.lsp")
-(load "make-string.lsp")
+(load "load-strings.lsp")
 
 ;;; Tests for character functions
 (compile-and-load "char-aux.lsp")
diff --git a/ansi-tests/load-arrays.lsp b/ansi-tests/load-arrays.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..cdf5256720e77a5c3855b7a2fa2428426595d809
--- /dev/null
+++ b/ansi-tests/load-arrays.lsp
@@ -0,0 +1,46 @@
+;;; Tests on arrays
+(compile-and-load "array-aux.lsp")
+(load "aref.lsp")
+(load "array.lsp")
+(load "array-t.lsp")
+(load "array-as-class.lsp")
+(load "simple-array.lsp")
+(load "simple-array-t.lsp")
+(load "bit-vector.lsp")
+(load "simple-bit-vector.lsp")
+(load "make-array.lsp")
+(load "adjustable-array-p.lsp")
+(load "array-displacement.lsp")
+(load "array-dimension.lsp")
+(load "array-dimensions.lsp")
+(load "array-in-bounds-p.lsp")
+(load "array-misc.lsp")
+(load "array-rank.lsp")
+(load "array-row-major-index.lsp")
+(load "array-total-size.lsp")
+(load "arrayp.lsp")
+(load "fill-pointer.lsp")
+(load "row-major-aref.lsp")
+(load "simple-vector-p.lsp")
+(load "svref.lsp")
+(load "upgraded-array-element-type.lsp")
+(load "vector.lsp")
+(load "vector-pop.lsp")
+(load "vector-push.lsp")
+(load "vector-push-extend.lsp")
+(load "vectorp.lsp")
+(load "bit.lsp")
+(load "sbit.lsp")
+(load "bit-and.lsp")
+(load "bit-andc1.lsp")
+(load "bit-andc2.lsp")
+(load "bit-eqv.lsp")
+(load "bit-ior.lsp")
+(load "bit-nand.lsp")
+(load "bit-nor.lsp")
+(load "bit-orc1.lsp")
+(load "bit-orc2.lsp")
+(load "bit-xor.lsp")
+(load "bit-not.lsp")
+(load "bit-vector-p.lsp")
+(load "simple-bit-vector-p.lsp")
diff --git a/ansi-tests/load-conditions.lsp b/ansi-tests/load-conditions.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..c1d0e8fbbd3e28aa28b5c716e2bb42e3175e41be
--- /dev/null
+++ b/ansi-tests/load-conditions.lsp
@@ -0,0 +1,7 @@
+;;; Tests of conditions
+(load "condition.lsp")
+(load "cell-error-name.lsp")
+(load "assert.lsp")
+(load "error.lsp")
+(load "cerror.lsp")
+(load "check-type.lsp")
diff --git a/ansi-tests/load-cons.lsp b/ansi-tests/load-cons.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..cb029917ea20571052f5de9e35e835d057d948b5
--- /dev/null
+++ b/ansi-tests/load-cons.lsp
@@ -0,0 +1,27 @@
+;;; Tests of conses
+
+(load "cons-test-01.lsp")
+(load "cons-test-02.lsp")
+(load "cons-test-03.lsp")
+(load "cons-test-04.lsp")
+(load "cons-test-05.lsp")
+(load "cons-test-06.lsp")
+(load "cons-test-07.lsp")
+(load "cons-test-08.lsp")
+(load "cons-test-09.lsp")
+(load "cons-test-10.lsp")
+(load "cons-test-11.lsp")
+(load "cons-test-12.lsp")
+(load "cons-test-13.lsp")
+(load "cons-test-14.lsp")
+(load "cons-test-15.lsp")
+(load "cons-test-16.lsp")
+(load "cons-test-17.lsp")
+(load "cons-test-18.lsp")
+(load "cons-test-19.lsp")
+(load "cons-test-20.lsp")
+(load "cons-test-21.lsp")
+(load "cons-test-22.lsp")
+(load "cons-test-23.lsp")
+(load "cons-test-24.lsp")
+(load "cons-test-25.lsp")
diff --git a/ansi-tests/load-data-and-control-flow.lsp b/ansi-tests/load-data-and-control-flow.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..0eec7bdd622f8417f1e88f079f71178c1cc3c617
--- /dev/null
+++ b/ansi-tests/load-data-and-control-flow.lsp
@@ -0,0 +1,69 @@
+;;; Tests of data and control flow
+
+(load "data-and-control-flow.lsp")
+(load "places.lsp")
+
+(load "and.lsp")
+(load "apply.lsp")
+(load "block.lsp")
+(load "call-arguments-limit.lsp")
+(load "case.lsp")
+(load "catch.lsp")
+(load "ccase.lsp")
+(load "compiled-function-p.lsp")
+(load "complement.lsp")
+(load "cond.lsp")
+(load "constantly.lsp")
+(load "ctypecase.lsp")
+(load "defconstant.lsp")
+(load "define-modify-macro.lsp")
+(load "defparameter.lsp")
+(load "defun.lsp")
+(load "defvar.lsp")
+(load "destructuring-bind.lsp")
+(load "ecase.lsp")
+(load "eql.lsp")
+(load "equal.lsp")
+(load "equalp.lsp")
+(load "etypecase.lsp")
+(load "every.lsp")
+(load "fboundp.lsp")
+(load "fdefinition.lsp")
+(load "flet.lsp")
+(load "fmakunbound.lsp")
+(load "funcall.lsp")
+(load "function-lambda-expression.lsp")
+(load "function.lsp")
+(load "functionp.lsp")
+(load "get-setf-expansion.lsp")
+(load "identity.lsp")
+(load "if.lsp")
+(load "labels.lsp")
+(load "lambda-list-keywords.lsp")
+(load "lambda-parameters-limit.lsp")
+(load "let.lsp")
+(load "macrolet.lsp")
+(load "multiple-value-bind.lsp")
+(load "multiple-value-call.lsp") ;; include multiple-value-list
+(load "multiple-value-prog1.lsp")
+(load "multiple-value-setq.lsp")
+(load "nil.lsp")
+(load "not-and-null.lsp")
+(load "notany.lsp")
+(load "notevery.lsp")
+(load "nth-value.lsp")
+(load "or.lsp")
+(load "prog.lsp")
+(load "prog1.lsp")
+(load "prog2.lsp")
+(load "progn.lsp")
+(load "progv.lsp")
+(load "some.lsp")
+(load "t.lsp")
+(load "tagbody.lsp")
+(load "typecase.lsp")
+(load "unless.lsp")
+(load "unwind-protect.lsp")
+(load "values-list.lsp")
+(load "values.lsp")
+(load "when.lsp")
diff --git a/ansi-tests/load-eval-and-compile.lsp b/ansi-tests/load-eval-and-compile.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..0421583d309d4d5f7cb34364e3d40e7846034af7
--- /dev/null
+++ b/ansi-tests/load-eval-and-compile.lsp
@@ -0,0 +1,7 @@
+;;; Tests of evaluation and compilation
+(load "eval.lsp")
+(load "eval-and-compile.lsp")
+(load "compile.lsp")
+(load "compiler-macros.lsp")
+(load "constantp.lsp")
+(load "lambda.lsp")
diff --git a/ansi-tests/load-iteration.lsp b/ansi-tests/load-iteration.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..d594bf99cd7bd2cf1ca18d62377ba4b4c5f75bb2
--- /dev/null
+++ b/ansi-tests/load-iteration.lsp
@@ -0,0 +1,20 @@
+;;; Tests of iteration forms
+(load "iteration.lsp")
+(load "loop.lsp")
+(load "loop1.lsp")
+(load "loop2.lsp")
+(load "loop3.lsp")
+(load "loop4.lsp")
+(load "loop5.lsp")
+(load "loop6.lsp")
+(load "loop7.lsp")
+(load "loop8.lsp")
+(load "loop9.lsp")
+(load "loop10.lsp")
+(load "loop11.lsp")
+(load "loop12.lsp")
+(load "loop13.lsp")
+(load "loop14.lsp")
+(load "loop15.lsp")
+(load "loop16.lsp")
+(load "loop17.lsp")
diff --git a/ansi-tests/load-sequences.lsp b/ansi-tests/load-sequences.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..37a90ec9671b36f3f2bbc1f18e48f6d8955498e4
--- /dev/null
+++ b/ansi-tests/load-sequences.lsp
@@ -0,0 +1,41 @@
+;;; Tests of sequences
+
+(load "copy-seq.lsp")
+(load "elt.lsp")
+(load "fill.lsp")
+(load "fill-strings.lsp")
+(load "make-sequence.lsp")
+(load "map.lsp")
+(load "map-into.lsp")
+(load "reduce.lsp")
+(load "count.lsp")
+(load "count-if.lsp")
+(load "count-if-not.lsp")
+(load "reverse.lsp")
+(load "nreverse.lsp")
+(load "sort.lsp")
+(load "find.lsp")
+(load "find-if.lsp")
+(load "find-if-not.lsp")
+(load "position.lsp")
+(compile-and-load "search-aux.lsp")
+(load "search-list.lsp")
+(load "search-vector.lsp")
+(load "search-bitvector.lsp")
+(load "search-string.lsp")
+(load "mismatch.lsp")
+(load "replace.lsp")
+(compile-and-load "subseq-aux.lsp")
+(load "subseq.lsp")
+(load "substitute.lsp")
+(load "substitute-if.lsp")
+(load "substitute-if-not.lsp")
+(load "nsubstitute.lsp")
+(load "nsubstitute-if.lsp")
+(load "nsubstitute-if-not.lsp")
+(load "concatenate.lsp")
+(load "merge.lsp")
+(compile-and-load "remove-aux.lsp")
+(load "remove.lsp")  ;; also related funs
+(compile-and-load "remove-duplicates-aux.lsp")
+(load "remove-duplicates.lsp")  ;; also delete-duplicates
diff --git a/ansi-tests/load-strings.lsp b/ansi-tests/load-strings.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..1300e21a0969efb24b1fa18a9ab4a7212a1d1423
--- /dev/null
+++ b/ansi-tests/load-strings.lsp
@@ -0,0 +1,18 @@
+;;; Tests of strings
+
+(load "char-schar.lsp")
+(load "string.lsp")
+(load "string-upcase.lsp")
+(load "string-downcase.lsp")
+(load "string-capitalize.lsp")
+(load "nstring-upcase.lsp")
+(load "nstring-downcase.lsp")
+(load "nstring-capitalize.lsp")
+(load "string-trim.lsp")
+(load "string-left-trim.lsp")
+(load "string-right-trim.lsp")
+
+;;; Tests of string comparison functions
+(compile-and-load "string-aux.lsp")
+(load "string-comparisons.lsp")
+(load "make-string.lsp")
\ No newline at end of file
diff --git a/ansi-tests/load-structures.lsp b/ansi-tests/load-structures.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..d288e99db5e623a7ccb2c9fc3f2213cfee5a696b
--- /dev/null
+++ b/ansi-tests/load-structures.lsp
@@ -0,0 +1,6 @@
+;;; Tests of structures
+
+(load "structure-00.lsp")
+(load "structures-01.lsp")
+(load "structures-02.lsp")
+#-ecl (load "structures-03.lsp")
\ No newline at end of file
diff --git a/ansi-tests/load-symbols.lsp b/ansi-tests/load-symbols.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..4201d66ae8b2a3b11844ba2fa074bdac9f6662f9
--- /dev/null
+++ b/ansi-tests/load-symbols.lsp
@@ -0,0 +1,5 @@
+;;; Tests of symbols
+(compile-and-load "cl-symbols-aux.lsp")
+(load "cl-symbol-names.lsp")
+(load "cl-symbols.lsp")
+(load "boundp.lsp")
diff --git a/ansi-tests/load-types-and-class.lsp b/ansi-tests/load-types-and-class.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..2e0465a7ee7c8d653c02b33e88ec6fcb0a8258fc
--- /dev/null
+++ b/ansi-tests/load-types-and-class.lsp
@@ -0,0 +1,13 @@
+;;; Tests of types and classes
+
+(load "types-and-class.lsp")
+(load "types-and-class-2.lsp")
+(load "coerce.lsp")
+(load "subtypep.lsp")
+(load "subtypep-integer.lsp")
+(load "subtypep-float.lsp")
+(load "subtypep-rational.lsp")
+(load "subtypep-real.lsp")
+(load "subtypep-cons.lsp")
+(load "subtypep-member.lsp")
+(load "subtypep-eql.lsp")