Implement instructions for unaligned memory access. - lightning.git - Portable just-in-time compiler library

index : lightning.git
Portable just-in-time compiler library
summary refs log tree commit diff
path: root/lib/jit_arm-cpu.c
diff options
context:
space:
mode:
authorpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2023年04月05日 12:08:36 -0300
committerpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2023年04月05日 12:08:36 -0300
commitb5f6ef6c473656a954b774de6ffb8172c48e6254 (patch)
tree568e68626eb91fb063cae6f293dd43dcc8978f55 /lib/jit_arm-cpu.c
parent7e86074b5aee572c8d4d5950e38b638ebb97773d (diff)
downloadlightning-b5f6ef6c473656a954b774de6ffb8172c48e6254.tar.gz
Implement instructions for unaligned memory access.
unld* O1 O2 O3 loads O3 bytes from O2 in O1 unst* O1 O2 O3 stores O3 bytes from O2 in O1 Valid O3 values are 1 to wordsize. This means unld* and unst* are ways to implement 3, 5, 6 and 7 byte integers. unld*_x 01 02 03 loads an O3 sized float from O2 in O1 unst*_x 01 02 03 stores an O3 sized float from O2 in O1 Valid O3 values are 4 and 8. This means there is place for floating point values with 1, 2, 3, 5, 6, and 7 bytes. These are possible for special cases, but not implemented. * include/lightning.h.in: Define new unldr, unldi, unldr_x, unldi_x, unstr, unsti, unldr_x and unstr_x instructions. Remove comment about internal backend specific codes, as they are required by unldr_x and unstr_x in some code paths. * lib/lightning.c: Implement generic movi_f_w, movi_d_w and movi_d_ww that are actually the same for all ports. Define generic load/store implementations when unaligned memory access does not trap.
Diffstat (limited to 'lib/jit_arm-cpu.c')
0 files changed, 0 insertions, 0 deletions
generated by cgit v1.2.3 (git 2.39.1) at 2025年09月16日 14:39:34 +0000

AltStyle によって変換されたページ (->オリジナル) /