summaryrefslogtreecommitdiff
path: root/libguile/dynstack.h
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2016-12-12 22:46:08 -0500
committerDavid Thompson <dthompson@vistahigherlearning.com>2017-01-12 09:27:43 -0500
commit35a90592501ebde7e7ddbf2486ca9d315e317d09 (patch)
tree66279b4dc2b4d7a0625c018120433252ef494c0b /libguile/dynstack.h
parent63bf6ffa0d3cdddf8151cc80ac18fe5dfb614587 (diff)
downloadguile-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