Browse Source

ARM: Fix ordered comparisons for number <=> non-number.

Mike Pall 12 years ago
parent
commit
0613358991
1 changed files with 2 additions and 0 deletions
  1. 2 0
      src/vm_arm.dasc

+ 2 - 0
src/vm_arm.dasc

@@ -2538,6 +2538,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
     |  checktp CARG4, LJ_TISNUM
     |  checktp CARG4, LJ_TISNUM
     |   vldr d1, [RC]
     |   vldr d1, [RC]
     |  blo >5
     |  blo >5
+    |  bhi ->vmeta_comp
     |  // d0 is a number, CARG3 is an integer.
     |  // d0 is a number, CARG3 is an integer.
     |  vmov s4, CARG3
     |  vmov s4, CARG3
     |  vcvt.f64.s32 d1, s4
     |  vcvt.f64.s32 d1, s4
@@ -2568,6 +2569,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
     |  checktp CARG4, LJ_TISNUM
     |  checktp CARG4, LJ_TISNUM
     |  movlo RA, RB			// Save RB.
     |  movlo RA, RB			// Save RB.
     |  blo >5
     |  blo >5
+    |  bhi ->vmeta_comp
     |  // CARG12 is a number, CARG3 is an integer.
     |  // CARG12 is a number, CARG3 is an integer.
     |  mov CARG1, CARG3
     |  mov CARG1, CARG3
     |  mov RC, RA
     |  mov RC, RA