From 4a9827872073d2d0c90a010639c93406328fddc6 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Thu, 13 May 2010 18:25:46 -0400 Subject: [PATCH] cpu.x86.32: check for SSE2 on bootstrap since Factor now requires it --- basis/cpu/x86/64/64.factor | 2 -- basis/cpu/x86/x86.factor | 29 +++++++++-------------------- 2 files changed, 9 insertions(+), 22 deletions(-) diff --git a/basis/cpu/x86/64/64.factor b/basis/cpu/x86/64/64.factor index 0a43961888..68bade8781 100644 --- a/basis/cpu/x86/64/64.factor +++ b/basis/cpu/x86/64/64.factor @@ -237,5 +237,3 @@ USE: vocabs.loader { [ os unix? ] [ "cpu.x86.64.unix" require ] } { [ os winnt? ] [ "cpu.x86.64.winnt" require ] } } cond - -check-sse diff --git a/basis/cpu/x86/x86.factor b/basis/cpu/x86/x86.factor index 78e6131795..0ee427510c 100644 --- a/basis/cpu/x86/x86.factor +++ b/basis/cpu/x86/x86.factor @@ -1502,26 +1502,15 @@ M: x86 immediate-bitwise? ( n -- ? ) enable-min/max enable-log2 -:: install-sse2-check ( -- ) - [ - sse-version 20 < [ - "This image was built to use SSE2 but your CPU does not support it." print - "You will need to bootstrap Factor again." print - flush - 1 exit - ] when - ] "cpu.x86" add-startup-hook ; - -: enable-sse2 ( version -- ) - 20 >= [ - enable-float-intrinsics - enable-float-functions - enable-float-min/max - enable-fsqrt - install-sse2-check - ] when ; +enable-float-intrinsics +enable-float-functions +enable-float-min/max +enable-fsqrt : check-sse ( -- ) [ { (sse-version) } compile ] with-optimizer - "Checking for multimedia extensions: " write sse-version - [ sse-string write " detected" print ] [ enable-sse2 ] bi ; + sse-version 20 < [ + "Factor requires SSE2, which your CPU does not support." print + flush + 1 exit + ] when ;