mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 19:50:24 +02:00
Add fabricated expressions for u64-s64 conversion
* module/language/cps/cse.scm (compute-equivalent-subexpressions): Add cases for u64->s64 and s64->u64.
This commit is contained in:
parent
bc1fdf73db
commit
aeb7c18b99
1 changed files with 3 additions and 1 deletions
|
@ -312,7 +312,9 @@ false. It could be that both true and false proofs are available."
|
||||||
;; NB: These definitions rely on U having top 2 bits equal to
|
;; NB: These definitions rely on U having top 2 bits equal to
|
||||||
;; 3rd (sign) bit.
|
;; 3rd (sign) bit.
|
||||||
((s <- tag-fixnum #f u) (u <- scm->s64 #f s)
|
((s <- tag-fixnum #f u) (u <- scm->s64 #f s)
|
||||||
(u <- untag-fixnum #f s)))))
|
(u <- untag-fixnum #f s))
|
||||||
|
((s <- u64->s64 #f u) (u <- s64->u64 #f s))
|
||||||
|
((u <- s64->u64 #f s) (s <- u64->s64 #f u)))))
|
||||||
|
|
||||||
(define (visit-label label equiv-labels var-substs)
|
(define (visit-label label equiv-labels var-substs)
|
||||||
(match (intmap-ref conts label)
|
(match (intmap-ref conts label)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue