diff options
author | David Thompson <dthompson2@worcester.edu> | 2016-12-12 22:46:08 -0500 |
---|---|---|
committer | David Thompson <dthompson@vistahigherlearning.com> | 2017-01-12 09:27:43 -0500 |
commit | 35a90592501ebde7e7ddbf2486ca9d315e317d09 (patch) | |
tree | 66279b4dc2b4d7a0625c018120433252ef494c0b /libguile/dynstack.h | |
parent | 63bf6ffa0d3cdddf8151cc80ac18fe5dfb614587 (diff) | |
download | guile-35a90592501ebde7e7ddbf2486ca9d315e317d09.tar.gz |
Add unboxed floating point comparison instructions.
* libguile/vm-engine.c (BR_F64_ARITHMETIC): New preprocessor macro.
(br_if_f64_ee, br_if_f64_lt, br_if_f64_le, br_if_f64_gt, br_if_f64_ge):
New VM instructions.
* doc/ref/vm.texi ("Unboxed Floating-Point Arithmetic"): Document them.
* module/language/cps/compile-bytecode.scm (compile-function): Emit f64
comparison instructions.
* module/language/cps/effects-analysis.scm: Define effects for f64
primcalls.
* module/language/cps/primitives.scm (*branching-primcall-arities*): Add
arities for f64 primcalls.
* module/language/cps/specialize-numbers.scm (specialize-f64-comparison):
New procedure.
(specialize-operations): Specialize f64 comparisons.
* module/system/vm/assembler.scm (emit-br-if-f64-=, emit-br-if-f64-<)
(emit-br-if-f64-<=, emit-br-if-f64->, emit-br-if-f64->=): Export.
* module/system/vm/disassembler.scm (code-annotation): Add annotations
for f64 comparison instructions.
Diffstat (limited to 'libguile/dynstack.h')
0 files changed, 0 insertions, 0 deletions