1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-17 09:10:22 +02:00

Add unsigned 64-bit arithmetic operators: uadd, usub, umul

* libguile/vm-engine.c (uadd, usub, umul): New ops.
* module/language/cps/effects-analysis.scm (uadd, usub, umul): Add
  effects analysis.
* module/language/cps/slot-allocation.scm (compute-var-representations):
  The new ops define 'u64 values.
* module/language/cps/types.scm (uadd, usub, umul): Add type checkers
  and inferrers.
* module/system/vm/assembler.scm (emit-uadd, emit-usub, emit-umul): New
  assemblers.
This commit is contained in:
Andy Wingo 2015-11-20 10:58:21 +01:00
parent 2906d963ea
commit d294d5d1e1
5 changed files with 71 additions and 4 deletions

View file

@ -142,6 +142,9 @@
(emit-fsub* . emit-fsub)
(emit-fmul* . emit-fmul)
(emit-fdiv* . emit-fdiv)
(emit-uadd* . emit-uadd)
(emit-usub* . emit-usub)
(emit-umul* . emit-umul)
(emit-logand* . emit-logand)
(emit-logior* . emit-logior)
(emit-logxor* . emit-logxor)