diff options
| author | Mike Pall <mike> | 2026-01-09 18:46:32 +0100 |
|---|---|---|
| committer | Mike Pall <mike> | 2026-01-09 18:46:32 +0100 |
| commit | 707c12bf00dafdfd3899b1a6c36435dbbf6c7022 (patch) | |
| tree | 0b1d335e5c4700fd8b5a4955d3365c8cdf4bc646 /src/vm_mips.dasc | |
| parent | 3015b6187e00bf39b4b263a1006654600b554eb3 (diff) | |
| download | luajit-707c12bf00dafdfd3899b1a6c36435dbbf6c7022.tar.gz luajit-707c12bf00dafdfd3899b1a6c36435dbbf6c7022.tar.bz2 luajit-707c12bf00dafdfd3899b1a6c36435dbbf6c7022.zip | |
Thanks to Sergey Kaplun. #1422 #1418
Diffstat (limited to 'src/vm_mips.dasc')
| -rw-r--r-- | src/vm_mips.dasc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/vm_mips.dasc b/src/vm_mips.dasc index 5063e7c6..9a39edd6 100644 --- a/src/vm_mips.dasc +++ b/src/vm_mips.dasc | |||
| @@ -3566,7 +3566,8 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
| 3566 | | addu RA, BASE, RA | 3566 | | addu RA, BASE, RA |
| 3567 | | bne SFARG1HI, TISNUM, >2 | 3567 | | bne SFARG1HI, TISNUM, >2 |
| 3568 | |. lw SFARG1LO, LO(RB) | 3568 | |. lw SFARG1LO, LO(RB) |
| 3569 | | lui TMP1, 0x8000 | 3569 | | beqz SFARG1LO, >3 |
| 3570 | |. lui TMP1, 0x8000 | ||
| 3570 | | beq SFARG1LO, TMP1, ->vmeta_unm // Meta handler deals with -2^31. | 3571 | | beq SFARG1LO, TMP1, ->vmeta_unm // Meta handler deals with -2^31. |
| 3571 | |. negu SFARG1LO, SFARG1LO | 3572 | |. negu SFARG1LO, SFARG1LO |
| 3572 | |1: | 3573 | |1: |
| @@ -3580,6 +3581,9 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
| 3580 | |. lui TMP1, 0x8000 | 3581 | |. lui TMP1, 0x8000 |
| 3581 | | b <1 | 3582 | | b <1 |
| 3582 | |. xor SFARG1HI, SFARG1HI, TMP1 | 3583 | |. xor SFARG1HI, SFARG1HI, TMP1 |
| 3584 | |3: | ||
| 3585 | | b <1 | ||
| 3586 | |. lui SFARG1HI, 0x8000 // -0. | ||
| 3583 | break; | 3587 | break; |
| 3584 | case BC_LEN: | 3588 | case BC_LEN: |
| 3585 | | // RA = dst*8, RD = src*8 | 3589 | | // RA = dst*8, RD = src*8 |
