diff --git a/tests/aot/array-item-dec-inc.phpt b/tests/aot/array/array-item-dec-inc.phpt similarity index 100% rename from tests/aot/array-item-dec-inc.phpt rename to tests/aot/array/array-item-dec-inc.phpt diff --git a/tests/aot/array-spread.phpt b/tests/aot/array/array-spread.phpt similarity index 100% rename from tests/aot/array-spread.phpt rename to tests/aot/array/array-spread.phpt diff --git a/tests/aot/array_assignment_edge_cases.phpt b/tests/aot/array/array_assignment_edge_cases.phpt similarity index 100% rename from tests/aot/array_assignment_edge_cases.phpt rename to tests/aot/array/array_assignment_edge_cases.phpt diff --git a/tests/aot/array_assignment_operators.phpt b/tests/aot/array/array_assignment_operators.phpt similarity index 100% rename from tests/aot/array_assignment_operators.phpt rename to tests/aot/array/array_assignment_operators.phpt diff --git a/tests/aot/arrays.phpt b/tests/aot/array/arrays.phpt similarity index 100% rename from tests/aot/arrays.phpt rename to tests/aot/array/arrays.phpt diff --git a/tests/aot/complex_array_operations.phpt b/tests/aot/array/complex_array_operations.phpt similarity index 100% rename from tests/aot/complex_array_operations.phpt rename to tests/aot/array/complex_array_operations.phpt diff --git a/tests/aot/item-ref.phpt b/tests/aot/array/item-ref.phpt similarity index 100% rename from tests/aot/item-ref.phpt rename to tests/aot/array/item-ref.phpt diff --git a/tests/aot/list-test.phpt b/tests/aot/array/list-test.phpt similarity index 100% rename from tests/aot/list-test.phpt rename to tests/aot/array/list-test.phpt diff --git a/tests/aot/attr-ref.phpt b/tests/aot/attribute/attr-ref.phpt similarity index 100% rename from tests/aot/attr-ref.phpt rename to tests/aot/attribute/attr-ref.phpt diff --git a/tests/aot/attributes.phpt b/tests/aot/attribute/attributes.phpt similarity index 100% rename from tests/aot/attributes.phpt rename to tests/aot/attribute/attributes.phpt diff --git a/tests/aot/any.phpt b/tests/aot/basic/any.phpt similarity index 100% rename from tests/aot/any.phpt rename to tests/aot/basic/any.phpt diff --git a/tests/aot/backtick.phpt b/tests/aot/basic/backtick.phpt similarity index 100% rename from tests/aot/backtick.phpt rename to tests/aot/basic/backtick.phpt diff --git a/tests/aot/basic_variables.phpt b/tests/aot/basic/basic_variables.phpt similarity index 100% rename from tests/aot/basic_variables.phpt rename to tests/aot/basic/basic_variables.phpt diff --git a/tests/aot/bool-001.phpt b/tests/aot/basic/bool-001.phpt similarity index 100% rename from tests/aot/bool-001.phpt rename to tests/aot/basic/bool-001.phpt diff --git a/tests/aot/clone.phpt b/tests/aot/basic/clone.phpt similarity index 100% rename from tests/aot/clone.phpt rename to tests/aot/basic/clone.phpt diff --git a/tests/aot/datetime_builtin_class.phpt b/tests/aot/basic/datetime_builtin_class.phpt similarity index 100% rename from tests/aot/datetime_builtin_class.phpt rename to tests/aot/basic/datetime_builtin_class.phpt diff --git a/tests/aot/error-suppress.phpt b/tests/aot/basic/error-suppress.phpt similarity index 100% rename from tests/aot/error-suppress.phpt rename to tests/aot/basic/error-suppress.phpt diff --git a/tests/aot/eval-test.phpt b/tests/aot/basic/eval-test.phpt similarity index 100% rename from tests/aot/eval-test.phpt rename to tests/aot/basic/eval-test.phpt diff --git a/tests/aot/exit-test.phpt b/tests/aot/basic/exit-test.phpt similarity index 100% rename from tests/aot/exit-test.phpt rename to tests/aot/basic/exit-test.phpt diff --git a/tests/aot/extends-redis.phpt b/tests/aot/basic/extends-redis.phpt similarity index 100% rename from tests/aot/extends-redis.phpt rename to tests/aot/basic/extends-redis.phpt diff --git a/tests/aot/fib.phpt b/tests/aot/basic/fib.phpt similarity index 100% rename from tests/aot/fib.phpt rename to tests/aot/basic/fib.phpt diff --git a/tests/aot/file_operations.phpt b/tests/aot/basic/file_operations.phpt similarity index 100% rename from tests/aot/file_operations.phpt rename to tests/aot/basic/file_operations.phpt diff --git a/tests/aot/global-vars-002.phpt b/tests/aot/basic/global-vars-002.phpt similarity index 100% rename from tests/aot/global-vars-002.phpt rename to tests/aot/basic/global-vars-002.phpt diff --git a/tests/aot/global-vars.phpt b/tests/aot/basic/global-vars.phpt similarity index 100% rename from tests/aot/global-vars.phpt rename to tests/aot/basic/global-vars.phpt diff --git a/tests/aot/include.phpt b/tests/aot/basic/include.phpt similarity index 100% rename from tests/aot/include.phpt rename to tests/aot/basic/include.phpt diff --git a/tests/aot/magic-constants.phpt b/tests/aot/basic/magic-constants.phpt similarity index 100% rename from tests/aot/magic-constants.phpt rename to tests/aot/basic/magic-constants.phpt diff --git a/tests/aot/math_functions.phpt b/tests/aot/basic/math_functions.phpt similarity index 100% rename from tests/aot/math_functions.phpt rename to tests/aot/basic/math_functions.phpt diff --git a/tests/aot/method-call.phpt b/tests/aot/basic/method-call.phpt similarity index 100% rename from tests/aot/method-call.phpt rename to tests/aot/basic/method-call.phpt diff --git a/tests/aot/objval.phpt b/tests/aot/basic/objval.phpt similarity index 100% rename from tests/aot/objval.phpt rename to tests/aot/basic/objval.phpt diff --git a/tests/aot/pi.phpt b/tests/aot/basic/pi.phpt similarity index 100% rename from tests/aot/pi.phpt rename to tests/aot/basic/pi.phpt diff --git a/tests/aot/std_builtin.phpt b/tests/aot/basic/std_builtin.phpt similarity index 100% rename from tests/aot/std_builtin.phpt rename to tests/aot/basic/std_builtin.phpt diff --git a/tests/aot/unset.phpt b/tests/aot/basic/unset.phpt similarity index 100% rename from tests/aot/unset.phpt rename to tests/aot/basic/unset.phpt diff --git a/tests/aot/variable-variables.phpt b/tests/aot/basic/variable-variables.phpt similarity index 100% rename from tests/aot/variable-variables.phpt rename to tests/aot/basic/variable-variables.phpt diff --git a/tests/aot/big_number_operators.phpt b/tests/aot/bignumber/big_number_operators.phpt similarity index 100% rename from tests/aot/big_number_operators.phpt rename to tests/aot/bignumber/big_number_operators.phpt diff --git a/tests/aot/bigfloat_operators.phpt b/tests/aot/bignumber/bigfloat_operators.phpt similarity index 100% rename from tests/aot/bigfloat_operators.phpt rename to tests/aot/bignumber/bigfloat_operators.phpt diff --git a/tests/aot/abstract-class.phpt b/tests/aot/class/abstract-class.phpt similarity index 100% rename from tests/aot/abstract-class.phpt rename to tests/aot/class/abstract-class.phpt diff --git a/tests/aot/class-method-override.phpt b/tests/aot/class/class-method-override.phpt similarity index 100% rename from tests/aot/class-method-override.phpt rename to tests/aot/class/class-method-override.phpt diff --git a/tests/aot/class_args.phpt b/tests/aot/class/class_args.phpt similarity index 100% rename from tests/aot/class_args.phpt rename to tests/aot/class/class_args.phpt diff --git a/tests/aot/class_extends.phpt b/tests/aot/class/class_extends.phpt similarity index 100% rename from tests/aot/class_extends.phpt rename to tests/aot/class/class_extends.phpt diff --git a/tests/aot/final-class.phpt b/tests/aot/class/final-class.phpt similarity index 100% rename from tests/aot/final-class.phpt rename to tests/aot/class/final-class.phpt diff --git a/tests/aot/instanceof-test.phpt b/tests/aot/class/instanceof-test.phpt similarity index 100% rename from tests/aot/instanceof-test.phpt rename to tests/aot/class/instanceof-test.phpt diff --git a/tests/aot/interface.phpt b/tests/aot/class/interface.phpt similarity index 100% rename from tests/aot/interface.phpt rename to tests/aot/class/interface.phpt diff --git a/tests/aot/readonly-class.phpt b/tests/aot/class/readonly-class.phpt similarity index 100% rename from tests/aot/readonly-class.phpt rename to tests/aot/class/readonly-class.phpt diff --git a/tests/aot/closure-001.phpt b/tests/aot/closure/closure-001.phpt similarity index 100% rename from tests/aot/closure-001.phpt rename to tests/aot/closure/closure-001.phpt diff --git a/tests/aot/closure-002.phpt b/tests/aot/closure/closure-002.phpt similarity index 100% rename from tests/aot/closure-002.phpt rename to tests/aot/closure/closure-002.phpt diff --git a/tests/aot/nested-closures.phpt b/tests/aot/closure/nested-closures.phpt similarity index 100% rename from tests/aot/nested-closures.phpt rename to tests/aot/closure/nested-closures.phpt diff --git a/tests/aot/assign_coalesce_001.phpt b/tests/aot/coalesce/assign_coalesce_001.phpt similarity index 100% rename from tests/aot/assign_coalesce_001.phpt rename to tests/aot/coalesce/assign_coalesce_001.phpt diff --git a/tests/aot/assign_coalesce_002.phpt b/tests/aot/coalesce/assign_coalesce_002.phpt similarity index 100% rename from tests/aot/assign_coalesce_002.phpt rename to tests/aot/coalesce/assign_coalesce_002.phpt diff --git a/tests/aot/null-coalescing.phpt b/tests/aot/coalesce/null-coalescing.phpt similarity index 100% rename from tests/aot/null-coalescing.phpt rename to tests/aot/coalesce/null-coalescing.phpt diff --git a/tests/aot/class-const-001.phpt b/tests/aot/const/class-const-001.phpt similarity index 100% rename from tests/aot/class-const-001.phpt rename to tests/aot/const/class-const-001.phpt diff --git a/tests/aot/class-const-002.phpt b/tests/aot/const/class-const-002.phpt similarity index 100% rename from tests/aot/class-const-002.phpt rename to tests/aot/const/class-const-002.phpt diff --git a/tests/aot/class-const-003.phpt b/tests/aot/const/class-const-003.phpt similarity index 100% rename from tests/aot/class-const-003.phpt rename to tests/aot/const/class-const-003.phpt diff --git a/tests/aot/const-test.phpt b/tests/aot/const/const-test.phpt similarity index 100% rename from tests/aot/const-test.phpt rename to tests/aot/const/const-test.phpt diff --git a/tests/aot/break-continue-level.phpt b/tests/aot/control_flow/break-continue-level.phpt similarity index 100% rename from tests/aot/break-continue-level.phpt rename to tests/aot/control_flow/break-continue-level.phpt diff --git a/tests/aot/control_structures.phpt b/tests/aot/control_flow/control_structures.phpt similarity index 100% rename from tests/aot/control_structures.phpt rename to tests/aot/control_flow/control_structures.phpt diff --git a/tests/aot/goto.phpt b/tests/aot/control_flow/goto.phpt similarity index 100% rename from tests/aot/goto.phpt rename to tests/aot/control_flow/goto.phpt diff --git a/tests/aot/match-expression.phpt b/tests/aot/control_flow/match-expression.phpt similarity index 100% rename from tests/aot/match-expression.phpt rename to tests/aot/control_flow/match-expression.phpt diff --git a/tests/aot/empty-2.phpt b/tests/aot/empty/empty-2.phpt similarity index 100% rename from tests/aot/empty-2.phpt rename to tests/aot/empty/empty-2.phpt diff --git a/tests/aot/empty-test.phpt b/tests/aot/empty/empty-test.phpt similarity index 100% rename from tests/aot/empty-test.phpt rename to tests/aot/empty/empty-test.phpt diff --git a/tests/aot/isset-002.phpt b/tests/aot/empty/isset-002.phpt similarity index 100% rename from tests/aot/isset-002.phpt rename to tests/aot/empty/isset-002.phpt diff --git a/tests/aot/isset-complex.phpt b/tests/aot/empty/isset-complex.phpt similarity index 100% rename from tests/aot/isset-complex.phpt rename to tests/aot/empty/isset-complex.phpt diff --git a/tests/aot/isset-test.phpt b/tests/aot/empty/isset-test.phpt similarity index 100% rename from tests/aot/isset-test.phpt rename to tests/aot/empty/isset-test.phpt diff --git a/tests/aot/backed-enum.phpt b/tests/aot/enum/backed-enum.phpt similarity index 100% rename from tests/aot/backed-enum.phpt rename to tests/aot/enum/backed-enum.phpt diff --git a/tests/aot/enum1.phpt b/tests/aot/enum/enum1.phpt similarity index 100% rename from tests/aot/enum1.phpt rename to tests/aot/enum/enum1.phpt diff --git a/tests/aot/enum2.phpt b/tests/aot/enum/enum2.phpt similarity index 100% rename from tests/aot/enum2.phpt rename to tests/aot/enum/enum2.phpt diff --git a/tests/aot/debug_exception.phpt b/tests/aot/exception/debug_exception.phpt similarity index 100% rename from tests/aot/debug_exception.phpt rename to tests/aot/exception/debug_exception.phpt diff --git a/tests/aot/throw-in-php.phpt b/tests/aot/exception/throw-in-php.phpt similarity index 100% rename from tests/aot/throw-in-php.phpt rename to tests/aot/exception/throw-in-php.phpt diff --git a/tests/aot/args-unpack.phpt b/tests/aot/functions/args-unpack.phpt similarity index 100% rename from tests/aot/args-unpack.phpt rename to tests/aot/functions/args-unpack.phpt diff --git a/tests/aot/deep-recursion.phpt b/tests/aot/functions/deep-recursion.phpt similarity index 100% rename from tests/aot/deep-recursion.phpt rename to tests/aot/functions/deep-recursion.phpt diff --git a/tests/aot/fn-call-001.phpt b/tests/aot/functions/fn-call-001.phpt similarity index 100% rename from tests/aot/fn-call-001.phpt rename to tests/aot/functions/fn-call-001.phpt diff --git a/tests/aot/func-default-param.phpt b/tests/aot/functions/func-default-param.phpt similarity index 100% rename from tests/aot/func-default-param.phpt rename to tests/aot/functions/func-default-param.phpt diff --git a/tests/aot/func-return-type.phpt b/tests/aot/functions/func-return-type.phpt similarity index 100% rename from tests/aot/func-return-type.phpt rename to tests/aot/functions/func-return-type.phpt diff --git a/tests/aot/func-self-type.phpt b/tests/aot/functions/func-self-type.phpt similarity index 100% rename from tests/aot/func-self-type.phpt rename to tests/aot/functions/func-self-type.phpt diff --git a/tests/aot/functions.phpt b/tests/aot/functions/functions.phpt similarity index 100% rename from tests/aot/functions.phpt rename to tests/aot/functions/functions.phpt diff --git a/tests/aot/return-value.phpt b/tests/aot/functions/return-value.phpt similarity index 100% rename from tests/aot/return-value.phpt rename to tests/aot/functions/return-value.phpt diff --git a/tests/aot/variable-functions.phpt b/tests/aot/functions/variable-functions.phpt similarity index 100% rename from tests/aot/variable-functions.phpt rename to tests/aot/functions/variable-functions.phpt diff --git a/tests/aot/generators.phpt b/tests/aot/generator/generators.phpt similarity index 100% rename from tests/aot/generators.phpt rename to tests/aot/generator/generators.phpt diff --git a/tests/aot/for-test.phpt b/tests/aot/loop/for-test.phpt similarity index 100% rename from tests/aot/for-test.phpt rename to tests/aot/loop/for-test.phpt diff --git a/tests/aot/foreach-complex.phpt b/tests/aot/loop/foreach-complex.phpt similarity index 100% rename from tests/aot/foreach-complex.phpt rename to tests/aot/loop/foreach-complex.phpt diff --git a/tests/aot/foreach-ref.phpt b/tests/aot/loop/foreach-ref.phpt similarity index 100% rename from tests/aot/foreach-ref.phpt rename to tests/aot/loop/foreach-ref.phpt diff --git a/tests/aot/foreach-test.phpt b/tests/aot/loop/foreach-test.phpt similarity index 100% rename from tests/aot/foreach-test.phpt rename to tests/aot/loop/foreach-test.phpt diff --git a/tests/aot/iterators.phpt b/tests/aot/loop/iterators.phpt similarity index 100% rename from tests/aot/iterators.phpt rename to tests/aot/loop/iterators.phpt diff --git a/tests/aot/nullsafe-001.phpt b/tests/aot/nullsafe/nullsafe-001.phpt similarity index 100% rename from tests/aot/nullsafe-001.phpt rename to tests/aot/nullsafe/nullsafe-001.phpt diff --git a/tests/aot/nullsafe-002.phpt b/tests/aot/nullsafe/nullsafe-002.phpt similarity index 100% rename from tests/aot/nullsafe-002.phpt rename to tests/aot/nullsafe/nullsafe-002.phpt diff --git a/tests/aot/nullsafe-003.phpt b/tests/aot/nullsafe/nullsafe-003.phpt similarity index 100% rename from tests/aot/nullsafe-003.phpt rename to tests/aot/nullsafe/nullsafe-003.phpt diff --git a/tests/aot/nullsafe-004.phpt b/tests/aot/nullsafe/nullsafe-004.phpt similarity index 100% rename from tests/aot/nullsafe-004.phpt rename to tests/aot/nullsafe/nullsafe-004.phpt diff --git a/tests/aot/constructor-promotion.phpt b/tests/aot/object_ctor/constructor-promotion.phpt similarity index 100% rename from tests/aot/constructor-promotion.phpt rename to tests/aot/object_ctor/constructor-promotion.phpt diff --git a/tests/aot/ctor.phpt b/tests/aot/object_ctor/ctor.phpt similarity index 100% rename from tests/aot/ctor.phpt rename to tests/aot/object_ctor/ctor.phpt diff --git a/tests/aot/object-cast.phpt b/tests/aot/object_property/object-cast.phpt similarity index 100% rename from tests/aot/object-cast.phpt rename to tests/aot/object_property/object-cast.phpt diff --git a/tests/aot/object-link-002.phpt b/tests/aot/object_property/object-link-002.phpt similarity index 100% rename from tests/aot/object-link-002.phpt rename to tests/aot/object_property/object-link-002.phpt diff --git a/tests/aot/object-link-003.phpt b/tests/aot/object_property/object-link-003.phpt similarity index 100% rename from tests/aot/object-link-003.phpt rename to tests/aot/object_property/object-link-003.phpt diff --git a/tests/aot/object-link.phpt b/tests/aot/object_property/object-link.phpt similarity index 100% rename from tests/aot/object-link.phpt rename to tests/aot/object_property/object-link.phpt diff --git a/tests/aot/private-prop-001.phpt b/tests/aot/object_property/private-prop-001.phpt similarity index 100% rename from tests/aot/private-prop-001.phpt rename to tests/aot/object_property/private-prop-001.phpt diff --git a/tests/aot/private-prop-002.phpt b/tests/aot/object_property/private-prop-002.phpt similarity index 100% rename from tests/aot/private-prop-002.phpt rename to tests/aot/object_property/private-prop-002.phpt diff --git a/tests/aot/prop-001.phpt b/tests/aot/object_property/prop-001.phpt similarity index 100% rename from tests/aot/prop-001.phpt rename to tests/aot/object_property/prop-001.phpt diff --git a/tests/aot/prop-002.phpt b/tests/aot/object_property/prop-002.phpt similarity index 100% rename from tests/aot/prop-002.phpt rename to tests/aot/object_property/prop-002.phpt diff --git a/tests/aot/prop-003.phpt b/tests/aot/object_property/prop-003.phpt similarity index 100% rename from tests/aot/prop-003.phpt rename to tests/aot/object_property/prop-003.phpt diff --git a/tests/aot/prop-004.phpt b/tests/aot/object_property/prop-004.phpt similarity index 100% rename from tests/aot/prop-004.phpt rename to tests/aot/object_property/prop-004.phpt diff --git a/tests/aot/prop-dec-inc.phpt b/tests/aot/object_property/prop-dec-inc.phpt similarity index 100% rename from tests/aot/prop-dec-inc.phpt rename to tests/aot/object_property/prop-dec-inc.phpt diff --git a/tests/aot/prop-ref.phpt b/tests/aot/object_property/prop-ref.phpt similarity index 100% rename from tests/aot/prop-ref.phpt rename to tests/aot/object_property/prop-ref.phpt diff --git a/tests/aot/arithmetic_operators.phpt b/tests/aot/operator/arithmetic_operators.phpt similarity index 100% rename from tests/aot/arithmetic_operators.phpt rename to tests/aot/operator/arithmetic_operators.phpt diff --git a/tests/aot/assign-compare.phpt b/tests/aot/operator/assign-compare.phpt similarity index 100% rename from tests/aot/assign-compare.phpt rename to tests/aot/operator/assign-compare.phpt diff --git a/tests/aot/assign-op-extra.phpt b/tests/aot/operator/assign-op-extra.phpt similarity index 100% rename from tests/aot/assign-op-extra.phpt rename to tests/aot/operator/assign-op-extra.phpt diff --git a/tests/aot/assign-op-mixed-types.phpt b/tests/aot/operator/assign-op-mixed-types.phpt similarity index 100% rename from tests/aot/assign-op-mixed-types.phpt rename to tests/aot/operator/assign-op-mixed-types.phpt diff --git a/tests/aot/assignment_operators.phpt b/tests/aot/operator/assignment_operators.phpt similarity index 100% rename from tests/aot/assignment_operators.phpt rename to tests/aot/operator/assignment_operators.phpt diff --git a/tests/aot/casts.phpt b/tests/aot/operator/casts.phpt similarity index 100% rename from tests/aot/casts.phpt rename to tests/aot/operator/casts.phpt diff --git a/tests/aot/comparison_operators.phpt b/tests/aot/operator/comparison_operators.phpt similarity index 100% rename from tests/aot/comparison_operators.phpt rename to tests/aot/operator/comparison_operators.phpt diff --git a/tests/aot/compound-assign.phpt b/tests/aot/operator/compound-assign.phpt similarity index 100% rename from tests/aot/compound-assign.phpt rename to tests/aot/operator/compound-assign.phpt diff --git a/tests/aot/logical_operators.phpt b/tests/aot/operator/logical_operators.phpt similarity index 100% rename from tests/aot/logical_operators.phpt rename to tests/aot/operator/logical_operators.phpt diff --git a/tests/aot/postincdec.phpt b/tests/aot/operator/postincdec.phpt similarity index 100% rename from tests/aot/postincdec.phpt rename to tests/aot/operator/postincdec.phpt diff --git a/tests/aot/pow-assign-op.phpt b/tests/aot/operator/pow-assign-op.phpt similarity index 100% rename from tests/aot/pow-assign-op.phpt rename to tests/aot/operator/pow-assign-op.phpt diff --git a/tests/aot/property-assign-op.phpt b/tests/aot/operator/property-assign-op.phpt similarity index 100% rename from tests/aot/property-assign-op.phpt rename to tests/aot/operator/property-assign-op.phpt diff --git a/tests/aot/right-associative.phpt b/tests/aot/operator/right-associative.phpt similarity index 100% rename from tests/aot/right-associative.phpt rename to tests/aot/operator/right-associative.phpt diff --git a/tests/aot/ternary-shorthand.phpt b/tests/aot/operator/ternary-shorthand.phpt similarity index 100% rename from tests/aot/ternary-shorthand.phpt rename to tests/aot/operator/ternary-shorthand.phpt diff --git a/tests/aot/ref-call-arg.phpt b/tests/aot/ref/ref-call-arg.phpt similarity index 100% rename from tests/aot/ref-call-arg.phpt rename to tests/aot/ref/ref-call-arg.phpt diff --git a/tests/aot/ref-closure-param.phpt b/tests/aot/ref/ref-closure-param.phpt similarity index 100% rename from tests/aot/ref-closure-param.phpt rename to tests/aot/ref/ref-closure-param.phpt diff --git a/tests/aot/ref-func-param.phpt b/tests/aot/ref/ref-func-param.phpt similarity index 100% rename from tests/aot/ref-func-param.phpt rename to tests/aot/ref/ref-func-param.phpt diff --git a/tests/aot/ref.phpt b/tests/aot/ref/ref.phpt similarity index 100% rename from tests/aot/ref.phpt rename to tests/aot/ref/ref.phpt diff --git a/tests/aot/class-static-001.phpt b/tests/aot/static/class-static-001.phpt similarity index 100% rename from tests/aot/class-static-001.phpt rename to tests/aot/static/class-static-001.phpt diff --git a/tests/aot/class-static-002.phpt b/tests/aot/static/class-static-002.phpt similarity index 100% rename from tests/aot/class-static-002.phpt rename to tests/aot/static/class-static-002.phpt diff --git a/tests/aot/class-static-003.phpt b/tests/aot/static/class-static-003.phpt similarity index 100% rename from tests/aot/class-static-003.phpt rename to tests/aot/static/class-static-003.phpt diff --git a/tests/aot/class-static-004.phpt b/tests/aot/static/class-static-004.phpt similarity index 100% rename from tests/aot/class-static-004.phpt rename to tests/aot/static/class-static-004.phpt diff --git a/tests/aot/class-static-005.phpt b/tests/aot/static/class-static-005.phpt similarity index 100% rename from tests/aot/class-static-005.phpt rename to tests/aot/static/class-static-005.phpt diff --git a/tests/aot/late-static-binding.phpt b/tests/aot/static/late-static-binding.phpt similarity index 100% rename from tests/aot/late-static-binding.phpt rename to tests/aot/static/late-static-binding.phpt diff --git a/tests/aot/static-call.phpt b/tests/aot/static/static-call.phpt similarity index 100% rename from tests/aot/static-call.phpt rename to tests/aot/static/static-call.phpt diff --git a/tests/aot/static-method-001.phpt b/tests/aot/static/static-method-001.phpt similarity index 100% rename from tests/aot/static-method-001.phpt rename to tests/aot/static/static-method-001.phpt diff --git a/tests/aot/static-vars-02.phpt b/tests/aot/static/static-vars-02.phpt similarity index 100% rename from tests/aot/static-vars-02.phpt rename to tests/aot/static/static-vars-02.phpt diff --git a/tests/aot/static-vars.phpt b/tests/aot/static/static-vars.phpt similarity index 100% rename from tests/aot/static-vars.phpt rename to tests/aot/static/static-vars.phpt diff --git a/tests/aot/static_class_property_read_write.phpt b/tests/aot/static/static_class_property_read_write.phpt similarity index 100% rename from tests/aot/static_class_property_read_write.phpt rename to tests/aot/static/static_class_property_read_write.phpt diff --git a/tests/aot/static_prop_write.phpt b/tests/aot/static/static_prop_write.phpt similarity index 100% rename from tests/aot/static_prop_write.phpt rename to tests/aot/static/static_prop_write.phpt diff --git a/tests/aot/static_prop_write_2.phpt b/tests/aot/static/static_prop_write_2.phpt similarity index 100% rename from tests/aot/static_prop_write_2.phpt rename to tests/aot/static/static_prop_write_2.phpt diff --git a/tests/aot/heredoc-nowdoc.phpt b/tests/aot/string_method/heredoc-nowdoc.phpt similarity index 100% rename from tests/aot/heredoc-nowdoc.phpt rename to tests/aot/string_method/heredoc-nowdoc.phpt diff --git a/tests/aot/str-offset-set.phpt b/tests/aot/string_method/str-offset-set.phpt similarity index 100% rename from tests/aot/str-offset-set.phpt rename to tests/aot/string_method/str-offset-set.phpt diff --git a/tests/aot/string-interpolation.phpt b/tests/aot/string_method/string-interpolation.phpt similarity index 100% rename from tests/aot/string-interpolation.phpt rename to tests/aot/string_method/string-interpolation.phpt diff --git a/tests/aot/string_functions.phpt b/tests/aot/string_method/string_functions.phpt similarity index 100% rename from tests/aot/string_functions.phpt rename to tests/aot/string_method/string_functions.phpt diff --git a/tests/aot/strlen.phpt b/tests/aot/string_method/strlen.phpt similarity index 100% rename from tests/aot/strlen.phpt rename to tests/aot/string_method/strlen.phpt diff --git a/tests/aot/to-str.phpt b/tests/aot/string_method/to-str.phpt similarity index 100% rename from tests/aot/to-str.phpt rename to tests/aot/string_method/to-str.phpt diff --git a/tests/aot/trait-basic.phpt b/tests/aot/trait/trait-basic.phpt similarity index 100% rename from tests/aot/trait-basic.phpt rename to tests/aot/trait/trait-basic.phpt diff --git a/tests/aot/union-intersection-types.phpt b/tests/aot/type_decl/union-intersection-types.phpt similarity index 100% rename from tests/aot/union-intersection-types.phpt rename to tests/aot/type_decl/union-intersection-types.phpt diff --git a/tests/aot/native-type.phpt b/tests/aot/type_hits/native-type.phpt similarity index 100% rename from tests/aot/native-type.phpt rename to tests/aot/type_hits/native-type.phpt diff --git a/tests/aot/variadic-args.phpt b/tests/aot/variadic/variadic-args.phpt similarity index 100% rename from tests/aot/variadic-args.phpt rename to tests/aot/variadic/variadic-args.phpt