X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fsparc%2Farith.lisp;h=1bff8c8859d694304fc06861ef1e147a996b6f4d;hb=2d111458bcb73a545ed9ce0a8f75b037b9ca44e4;hp=7acaa6b547ba928591dade5fa0596446e6571448;hpb=43bcf8d9123731a616de9332d247fa6070506054;p=sbcl.git diff --git a/src/compiler/sparc/arith.lisp b/src/compiler/sparc/arith.lisp index 7acaa6b..1bff8c8 100644 --- a/src/compiler/sparc/arith.lisp +++ b/src/compiler/sparc/arith.lisp @@ -175,6 +175,12 @@ (define-binop logxor 2 xor) (define-binop logeqv 2 xnor nil t) +(define-vop (fast-logand/signed-unsigned=>unsigned fast-logand/unsigned=>unsigned) + (:args (x :scs (signed-reg) :target r) + (y :scs (unsigned-reg) :target r)) + (:arg-types signed-num unsigned-num) + (:translate logand)) + ;;; Special case fixnum + and - that trap on overflow. Useful when we ;;; don't know that the output type is a fixnum.