From 707c12bf00dafdfd3899b1a6c36435dbbf6c7022 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Fri, 9 Jan 2026 18:46:32 +0100 Subject: DUALNUM: Improve/fix edge cases of unary minus. Thanks to Sergey Kaplun. #1422 #1418 --- src/vm_arm.dasc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/vm_arm.dasc') diff --git a/src/vm_arm.dasc b/src/vm_arm.dasc index d99cdaca..d67dbffc 100644 --- a/src/vm_arm.dasc +++ b/src/vm_arm.dasc @@ -3125,13 +3125,16 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | bhi ->vmeta_unm | eorne CARG2, CARG2, #0x80000000 | bne >5 - | rsbseq CARG1, CARG1, #0 + | rsbs CARG1, CARG1, #0 + | ldrdeq CARG12, >8 | ldrdvs CARG12, >9 |5: | strd CARG12, [BASE, RA] | ins_next3 | |.align 8 + |8: + | .long 0x00000000, 0x80000000 // -0. |9: | .long 0x00000000, 0x41e00000 // 2^31. break; -- cgit v1.2.3-55-g6feb