X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Farith.lisp;h=a281608d6de8c006b261d027c5ce979effd64a94;hb=e33fb894f991b2926d8f3bace9058e4c0b2c3a37;hp=a857524f8b9b4a67194caaa060c4b86e1db2dc70;hpb=898ced2a4d1f2503f3447f6408ddf5b05a906261;p=sbcl.git diff --git a/src/compiler/x86/arith.lisp b/src/compiler/x86/arith.lisp index a857524..a281608 100644 --- a/src/compiler/x86/arith.lisp +++ b/src/compiler/x86/arith.lisp @@ -1004,7 +1004,7 @@ (move r x) (inst and r y))) -(def-source-transform 32bit-logical-nand (x y) +(define-source-transform 32bit-logical-nand (x y) `(32bit-logical-not (32bit-logical-and ,x ,y))) (define-vop (32bit-logical-or 32bit-logical) @@ -1013,7 +1013,7 @@ (move r x) (inst or r y))) -(def-source-transform 32bit-logical-nor (x y) +(define-source-transform 32bit-logical-nor (x y) `(32bit-logical-not (32bit-logical-or ,x ,y))) (define-vop (32bit-logical-xor 32bit-logical) @@ -1022,19 +1022,19 @@ (move r x) (inst xor r y))) -(def-source-transform 32bit-logical-eqv (x y) +(define-source-transform 32bit-logical-eqv (x y) `(32bit-logical-not (32bit-logical-xor ,x ,y))) -(def-source-transform 32bit-logical-orc1 (x y) +(define-source-transform 32bit-logical-orc1 (x y) `(32bit-logical-or (32bit-logical-not ,x) ,y)) -(def-source-transform 32bit-logical-orc2 (x y) +(define-source-transform 32bit-logical-orc2 (x y) `(32bit-logical-or ,x (32bit-logical-not ,y))) -(def-source-transform 32bit-logical-andc1 (x y) +(define-source-transform 32bit-logical-andc1 (x y) `(32bit-logical-and (32bit-logical-not ,x) ,y)) -(def-source-transform 32bit-logical-andc2 (x y) +(define-source-transform 32bit-logical-andc2 (x y) `(32bit-logical-and ,x (32bit-logical-not ,y))) ;;; Only the lower 5 bits of the shift amount are significant.