mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-20 02:30:23 +02:00
Add untagged bitwise operations
* libguile/vm-engine.c (ulogand, ulogior, ulogsub, ulsh, ursh) (scm->u64/truncate): New ops. * module/language/cps/compile-bytecode.scm (compile-function): * module/language/cps/effects-analysis.scm: * module/language/cps/slot-allocation.scm (compute-var-representations): * module/language/cps/specialize-primcalls.scm (specialize-primcalls): * module/language/cps/types.scm: * module/language/cps/utils.scm (compute-constant-values): * module/system/vm/assembler.scm: Wire up support for the new ops.
This commit is contained in:
parent
eb86afcc7a
commit
3d6dd2f81c
8 changed files with 170 additions and 9 deletions
|
@ -153,6 +153,11 @@
|
|||
(emit-logior* . emit-logior)
|
||||
(emit-logxor* . emit-logxor)
|
||||
(emit-logsub* . emit-logsub)
|
||||
(emit-ulogand* . emit-ulogand)
|
||||
(emit-ulogior* . emit-ulogior)
|
||||
(emit-ulogsub* . emit-ulogsub)
|
||||
(emit-ursh* . emit-ursh)
|
||||
(emit-ulsh* . emit-ulsh)
|
||||
(emit-make-vector* . emit-make-vector)
|
||||
(emit-make-vector/immediate* . emit-make-vector/immediate)
|
||||
(emit-vector-length* . emit-vector-length)
|
||||
|
@ -173,6 +178,7 @@
|
|||
emit-load-f64
|
||||
(emit-f64->scm* . emit-f64->scm)
|
||||
(emit-scm->u64* . emit-scm->u64)
|
||||
(emit-scm->u64/truncate* . emit-scm->u64/truncate)
|
||||
emit-load-u64
|
||||
(emit-u64->scm* . emit-u64->scm)
|
||||
(emit-scm->s64* . emit-scm->s64)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue