X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fpred.lisp;h=f167505b3aa18a95c62cb4f97a00e5c0df019ea6;hb=076d38141d1d2689a1040dc8af71bd7fbf2b54a4;hp=ae1dd7fbce7cf2ee007bfb9e461cde26f1dfad8b;hpb=f3a2cdc53b0e8c329fe56937468931fd84955e26;p=sbcl.git diff --git a/src/code/pred.lisp b/src/code/pred.lisp index ae1dd7f..f167505 100644 --- a/src/code/pred.lisp +++ b/src/code/pred.lisp @@ -120,6 +120,7 @@ (def-type-predicate-wrapper realp) (def-type-predicate-wrapper short-float-p) (def-type-predicate-wrapper single-float-p) + #!+sb-simd-pack (def-type-predicate-wrapper simd-pack-p) (def-type-predicate-wrapper %instancep) (def-type-predicate-wrapper symbolp) (def-type-predicate-wrapper %other-pointer-p) @@ -148,6 +149,12 @@ (def-type-predicate-wrapper stringp) (def-type-predicate-wrapper vectorp) (def-type-predicate-wrapper vector-nil-p)) + +#!+(or x86 x86-64) +(defun fixnum-mod-p (x limit) + (and (fixnump x) + (<= 0 x limit))) + ;;; Return the specifier for the type of object. This is not simply ;;; (TYPE-SPECIFIER (CTYPE-OF OBJECT)) because CTYPE-OF has different @@ -171,7 +178,7 @@ (extended-char 'extended-char) ((member t) 'boolean) (keyword 'keyword) - ((or array complex) + ((or array complex #!+sb-simd-pack sb!kernel:simd-pack) (type-specifier (ctype-of object))) (t (let* ((classoid (layout-classoid (layout-of object)))