On 8/8/24 09:23, Pavel Pisa via fpc-devel wrote:
The problem with keeping virtual registers instead of mapping
to RV64 hardware ones in full Lazarus make bigide build
seems to be exactly reproducible on real hardware same
as in user space QEMU RISC-V Debian in chroot install.
Assembling formed
Hi,
A much more deterministic version would do it as this:
function HiInteger(value: LongInt): LongInt; nostackframe; assembler;
asm
mov r0, r0, asr #16
end;
If you do it with an inline ASM block and without stackframes it becomes
much harder to predict how you need to address variables by n
On 4/16/22 16:41, Sven Barth via fpc-devel wrote:
Benito van der Zander via fpc-devel
schrieb am Sa., 16. Apr. 2022, 15:43:
Hi,
it could always inline it.
For small sizes do that mov and for large sizes do rep stosb on
x86. It is very fast nowadays. Faster than FillChar on my