fixed bug in code generation for (fxarithmetic-shift-right x <n>)
where <n> is unknown.
This commit is contained in:
parent
c375d537a3
commit
ad0612905a
|
@ -1 +1 @@
|
||||||
1857
|
1858
|
||||||
|
|
|
@ -1596,6 +1596,7 @@
|
||||||
(define-primop fxarithmetic-shift-right safe
|
(define-primop fxarithmetic-shift-right safe
|
||||||
[(V x n)
|
[(V x n)
|
||||||
(struct-case n
|
(struct-case n
|
||||||
|
;;; FIXME: check for known types
|
||||||
[(constant i)
|
[(constant i)
|
||||||
(cond
|
(cond
|
||||||
[(and (fx? i)
|
[(and (fx? i)
|
||||||
|
@ -1615,7 +1616,7 @@
|
||||||
(interrupt-when
|
(interrupt-when
|
||||||
(prm '>= n (K (- (* wordsize 8) fx-shift))))
|
(prm '>= n (K (- (* wordsize 8) fx-shift))))
|
||||||
(prm 'sll
|
(prm 'sll
|
||||||
(prm 'sra x n)
|
(prm 'sra (prm 'sra x n) (K fx-shift))
|
||||||
(K fx-shift))))])])
|
(K fx-shift))))])])
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue