* notice: The implementation of MAP-ALLOCATED-OBJECTS (the heart of
ROOM, plus a few SB-INTROSPECT functions) has been completely
rewritten; it may now exhibit different bugs than before.
+ * new feature: minimal runtime/compiler intrastructure support for SSE
+ SIMD values, as SB-EXT:SIMD-PACK. Enabled on x86-64 via the build-time
+ feature :sb-simd-pack. This should enable intrinsics extensions as
+ libraries, without patching SBCL itself. Thanks to Alexander Gavrilov
+ for maintaining a branch for so long.
* enhancement: RUN-PROGRAM supports a :DIRECTORY argument to set
the working directory of the spawned process.
(lp#791800) (patch by Matthias Benkard)
;; timer
"TIMER" "MAKE-TIMER" "TIMER-NAME" "TIMER-SCHEDULED-P"
- "SCHEDULE-TIMER" "UNSCHEDULE-TIMER" "LIST-ALL-TIMERS"))
+ "SCHEDULE-TIMER" "UNSCHEDULE-TIMER" "LIST-ALL-TIMERS"
+
+ ;; SIMD pack
+ #!+sb-simd-pack "SIMD-PACK"
+ #!+sb-simd-pack "SIMD-PACK-P"
+ #!+sb-simd-pack "%MAKE-SIMD-PACK-UB32"
+ #!+sb-simd-pack "%MAKE-SIMD-PACK-UB64"
+ #!+sb-simd-pack "%MAKE-SIMD-PACK-DOUBLE"
+ #!+sb-simd-pack "%MAKE-SIMD-PACK-SINGLE"
+ #!+sb-simd-pack "%SIMD-PACK-UB32S"
+ #!+sb-simd-pack "%SIMD-PACK-UB64S"
+ #!+sb-simd-pack "%SIMD-PACK-DOUBLES"
+ #!+sb-simd-pack "%SIMD-PACK-SINGLES"))
#s(sb-cold:package-data
:name "SB!FORMAT"
is a good idea, but see SB-SYS re. blurring of boundaries."
:use ("CL" "SB!ALIEN" "SB!ALIEN-INTERNALS" "SB!BIGNUM"
"SB!EXT" "SB!FASL" "SB!INT" "SB!SYS" "SB!GRAY")
- :reexport ("DEF!STRUCT" "DEF!MACRO")
+ :reexport ("DEF!STRUCT"
+ "DEF!MACRO"
+ #!+sb-simd-pack "SIMD-PACK"
+ #!+sb-simd-pack "SIMD-PACK-P"
+ #!+sb-simd-pack "%MAKE-SIMD-PACK-UB32"
+ #!+sb-simd-pack "%MAKE-SIMD-PACK-UB64"
+ #!+sb-simd-pack "%MAKE-SIMD-PACK-DOUBLE"
+ #!+sb-simd-pack "%MAKE-SIMD-PACK-SINGLE"
+ #!+sb-simd-pack "%SIMD-PACK-UB32S"
+ #!+sb-simd-pack "%SIMD-PACK-UB64S"
+ #!+sb-simd-pack "%SIMD-PACK-DOUBLES"
+ #!+sb-simd-pack "%SIMD-PACK-SINGLES")
:export ("%ACOS"
"%ACOSH"
"%ADJOIN"
"%MAKE-RATIO" "%MAKE-LISP-OBJ"
"%MAKE-INSTANCE"
#!+sb-simd-pack "%MAKE-SIMD-PACK"
- #!+sb-simd-pack "%MAKE-SIMD-PACK-UB32"
- #!+sb-simd-pack "%MAKE-SIMD-PACK-UB64"
- #!+sb-simd-pack "%MAKE-SIMD-PACK-DOUBLE"
- #!+sb-simd-pack "%MAKE-SIMD-PACK-SINGLE"
"%MAKE-STRUCTURE-INSTANCE"
"%MAKE-STRUCTURE-INSTANCE-ALLOCATOR"
"%MAP" "%MAP-TO-SIMPLE-VECTOR-ARITY-1"
#!+sb-simd-pack "%SIMD-PACK-TAG"
#!+sb-simd-pack "%SIMD-PACK-LOW"
#!+sb-simd-pack "%SIMD-PACK-HIGH"
- #!+sb-simd-pack "%SIMD-PACK-UB32S"
- #!+sb-simd-pack "%SIMD-PACK-UB64S"
- #!+sb-simd-pack "%SIMD-PACK-SINGLES"
- #!+sb-simd-pack "%SIMD-PACK-DOUBLES"
"%SXHASH-SIMPLE-SUBSTRING" "%TAN" "%TAN-QUICK" "%TANH"
"%UNARY-ROUND"
"%UNARY-TRUNCATE"
#!+sb-simd-pack "SIMD-PACK-SINGLE"
#!+sb-simd-pack "SIMD-PACK-DOUBLE"
#!+sb-simd-pack "SIMD-PACK-INT"
- #!+sb-simd-pack "SIMD-PACK"
- #!+sb-simd-pack "SIMD-PACK-P"
#!+sb-simd-pack "SIMD-PACK-TYPE"
#!+sb-simd-pack "SIMD-PACK-TYPE-ELEMENT-TYPE"
#!+sb-simd-pack "*SIMD-PACK-ELEMENT-TYPES*"