diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_parse.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lj_parse.c b/src/lj_parse.c index 68f3789e..33955ab8 100644 --- a/src/lj_parse.c +++ b/src/lj_parse.c | |||
@@ -853,9 +853,12 @@ static void bcemit_comp(FuncState *fs, BinOpr opr, ExpDesc *e1, ExpDesc *e2) | |||
853 | e1 = e2; e2 = eret; /* Swap operands. */ | 853 | e1 = e2; e2 = eret; /* Swap operands. */ |
854 | op = ((op-BC_ISLT)^3)+BC_ISLT; | 854 | op = ((op-BC_ISLT)^3)+BC_ISLT; |
855 | expr_toval(fs, e1); | 855 | expr_toval(fs, e1); |
856 | ra = expr_toanyreg(fs, e1); | ||
857 | rd = expr_toanyreg(fs, e2); | ||
858 | } else { | ||
859 | rd = expr_toanyreg(fs, e2); | ||
860 | ra = expr_toanyreg(fs, e1); | ||
856 | } | 861 | } |
857 | rd = expr_toanyreg(fs, e2); | ||
858 | ra = expr_toanyreg(fs, e1); | ||
859 | ins = BCINS_AD(op, ra, rd); | 862 | ins = BCINS_AD(op, ra, rd); |
860 | } | 863 | } |
861 | /* Using expr_free might cause asserts if the order is wrong. */ | 864 | /* Using expr_free might cause asserts if the order is wrong. */ |