mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-18 09:40:25 +02:00
Add compiler support for s64 comparisons.
* module/language/cps/compile-bytecode.scm (compile-function): Add emitters for s64 comparisons. * module/language/cps/effects-analysis.scm: Add entries. * module/language/cps/primitives.scm (*comparisons*): * module/language/cps/type-fold.scm (s64-<, s64-<=, s64-=, s64->=) (s64->): Add folders. * module/language/cps/types.scm (s64-<, s64-<=, s64-=, s64->=, s64->): Add type checkers and inferrers.
This commit is contained in:
parent
73d1502630
commit
79a2748f83
5 changed files with 58 additions and 0 deletions
|
@ -458,6 +458,11 @@
|
|||
(($ $primcall 'u64-= (a b)) (binary-test emit-u64=? a b))
|
||||
(($ $primcall 'u64->= (a b)) (binary* emit-u64<? emit-jnl emit-jl a b))
|
||||
(($ $primcall 'u64-> (a b)) (binary* emit-u64<? emit-jl emit-jnl b a))
|
||||
(($ $primcall 's64-< (a b)) (binary* emit-s64<? emit-jl emit-jnl a b))
|
||||
(($ $primcall 's64-<= (a b)) (binary* emit-s64<? emit-jnl emit-jl b a))
|
||||
(($ $primcall 's64-= (a b)) (binary-test emit-s64=? a b))
|
||||
(($ $primcall 's64->= (a b)) (binary* emit-s64<? emit-jnl emit-jl a b))
|
||||
(($ $primcall 's64-> (a b)) (binary* emit-s64<? emit-jl emit-jnl b a))
|
||||
(($ $primcall 'f64-< (a b)) (binary* emit-f64<? emit-jl emit-jnl a b))
|
||||
(($ $primcall 'f64-<= (a b)) (binary* emit-f64<? emit-jge emit-jnge b a))
|
||||
(($ $primcall 'f64-= (a b)) (binary-test emit-f64=? a b))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue