mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-16 16:50:21 +02:00
Add sign-extending make-immediate instruction
* doc/ref/vm.texi (Instruction Set, Constant Instructions): Document new instruction. * libguile/instructions.c (FOR_EACH_INSTRUCTION_WORD_TYPE): New first word kind with zi16 operand. * libguile/jit.c (compile_make_immediate, compile_make_immediate_slow): New compilers. (COMPILE_X8_S8_ZI16): New operand kind. * libguile/vm-engine.c (make-immediate): New instruction. * module/language/bytecode.scm: * module/system/vm/assembler.scm (encode-X8_S8_ZI16<-/shuffle): (signed-bits, load-constant): Support the new instruction kind. * module/system/vm/disassembler.scm (disassemblers) (sign-extended-immediate, code-annotation): Support for zi16 operands.
This commit is contained in:
parent
f13b27a4cc
commit
172e5ccfc1
7 changed files with 88 additions and 5 deletions
|
@ -44,6 +44,7 @@ SCM_SYMBOL (sym_bang, "!");
|
|||
M(X8_L24) \
|
||||
M(X8_C24) \
|
||||
M(X8_S8_I16) \
|
||||
M(X8_S8_ZI16) \
|
||||
M(X8_S12_S12) \
|
||||
M(X8_S12_C12) \
|
||||
M(X8_S12_Z12) \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue