mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +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
|
||||
;; 3rd (sign) bit.
|
||||
((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)
|
||||
(match (intmap-ref conts label)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue