aboutsummaryrefslogtreecommitdiff
path: root/src/vm_arm.dasc
diff options
context:
space:
mode:
authorMike Pall <mike>2026-01-09 18:46:32 +0100
committerMike Pall <mike>2026-01-09 18:46:32 +0100
commit707c12bf00dafdfd3899b1a6c36435dbbf6c7022 (patch)
tree0b1d335e5c4700fd8b5a4955d3365c8cdf4bc646 /src/vm_arm.dasc
parent3015b6187e00bf39b4b263a1006654600b554eb3 (diff)
downloadluajit-707c12bf00dafdfd3899b1a6c36435dbbf6c7022.tar.gz
luajit-707c12bf00dafdfd3899b1a6c36435dbbf6c7022.tar.bz2
luajit-707c12bf00dafdfd3899b1a6c36435dbbf6c7022.zip
DUALNUM: Improve/fix edge cases of unary minus.HEADv2.1
Thanks to Sergey Kaplun. #1422 #1418
Diffstat (limited to 'src/vm_arm.dasc')
-rw-r--r--src/vm_arm.dasc5
1 files changed, 4 insertions, 1 deletions
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)
3125 | bhi ->vmeta_unm 3125 | bhi ->vmeta_unm
3126 | eorne CARG2, CARG2, #0x80000000 3126 | eorne CARG2, CARG2, #0x80000000
3127 | bne >5 3127 | bne >5
3128 | rsbseq CARG1, CARG1, #0 3128 | rsbs CARG1, CARG1, #0
3129 | ldrdeq CARG12, >8
3129 | ldrdvs CARG12, >9 3130 | ldrdvs CARG12, >9
3130 |5: 3131 |5:
3131 | strd CARG12, [BASE, RA] 3132 | strd CARG12, [BASE, RA]
3132 | ins_next3 3133 | ins_next3
3133 | 3134 |
3134 |.align 8 3135 |.align 8
3136 |8:
3137 | .long 0x00000000, 0x80000000 // -0.
3135 |9: 3138 |9:
3136 | .long 0x00000000, 0x41e00000 // 2^31. 3139 | .long 0x00000000, 0x41e00000 // 2^31.
3137 break; 3140 break;