diff --git a/tools/cross-scripts/cross-x86-x86.lisp b/tools/cross-scripts/cross-x86-x86.lisp index e05c6c3dae22750b50d47574a78cc5f6a4f51f9a..85df423cd139960b278e4453843b32a5059a9cf3 100644 --- a/tools/cross-scripts/cross-x86-x86.lisp +++ b/tools/cross-scripts/cross-x86-x86.lisp @@ -69,9 +69,13 @@ (load "vm:primtype") (load "vm:move") (load "vm:sap") +(when (target-featurep :sse2) + (load "vm:sse2-sap")) (load "vm:system") (load "vm:char") -(load "vm:float") +(if (target-featurep :sse2) + (load "vm:float-sse2") + (load "vm:float")) (load "vm:memory") (load "vm:static-fn") @@ -80,11 +84,18 @@ (load "vm:subprim") (load "vm:debug") (load "vm:c-call") +(when (target-featurep :sse2) + (load "vm:sse2-c-call")) (load "vm:print") (load "vm:alloc") (load "vm:call") (load "vm:nlx") (load "vm:values") +;; These need to be loaded before array because array wants to use +;; some vops as templates. +(load (if (target-featurep :sse2) + "vm:sse2-array" + "vm:x87-array")) (load "vm:array") (load "vm:pred") (load "vm:type-vops")