aboutsummaryrefslogtreecommitdiff
path: root/src/vm_mips.dasc
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm_mips.dasc')
-rw-r--r--src/vm_mips.dasc6
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