projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.8.12.37:
[sbcl.git]
/
src
/
compiler
/
ppc
/
arith.lisp
diff --git
a/src/compiler/ppc/arith.lisp
b/src/compiler/ppc/arith.lisp
index
336033d
..
9004b6d
100644
(file)
--- a/
src/compiler/ppc/arith.lisp
+++ b/
src/compiler/ppc/arith.lisp
@@
-371,6
+371,8
@@
(cond
((and (minusp amount) (< amount -31)) (move result zero-tn))
((minusp amount) (inst srwi result number (- amount)))
(cond
((and (minusp amount) (< amount -31)) (move result zero-tn))
((minusp amount) (inst srwi result number (- amount)))
+ ;; possible because this is used in the modular version too
+ ((> amount 31) (move result zero-tn))
(t (inst slwi result number amount)))))
(define-vop (fast-ash/signed=>signed)
(t (inst slwi result number amount)))))
(define-vop (fast-ash/signed=>signed)
@@
-489,6
+491,7
@@
(:translate ,mfun-name))))))))
(define-modular-backend + t)
(define-modular-backend - t)
(:translate ,mfun-name))))))))
(define-modular-backend + t)
(define-modular-backend - t)
+ (define-modular-backend * t)
(define-modular-backend logxor t)
(define-modular-backend logeqv)
(define-modular-backend lognand)
(define-modular-backend logxor t)
(define-modular-backend logeqv)
(define-modular-backend lognand)