diff options
Diffstat (limited to 'src/lj_asm_arm64.h')
-rw-r--r-- | src/lj_asm_arm64.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lj_asm_arm64.h b/src/lj_asm_arm64.h index 624cc2da..f640b91b 100644 --- a/src/lj_asm_arm64.h +++ b/src/lj_asm_arm64.h | |||
@@ -1598,7 +1598,7 @@ static void asm_fpmin_max(ASMState *as, IRIns *ir, A64CC fcc) | |||
1598 | Reg dest = (ra_dest(as, ir, RSET_FPR) & 31); | 1598 | Reg dest = (ra_dest(as, ir, RSET_FPR) & 31); |
1599 | Reg right, left = ra_alloc2(as, ir, RSET_FPR); | 1599 | Reg right, left = ra_alloc2(as, ir, RSET_FPR); |
1600 | right = ((left >> 8) & 31); left &= 31; | 1600 | right = ((left >> 8) & 31); left &= 31; |
1601 | emit_dnm(as, A64I_FCSELd | A64F_CC(fcc), dest, left, right); | 1601 | emit_dnm(as, A64I_FCSELd | A64F_CC(fcc), dest, right, left); |
1602 | emit_nm(as, A64I_FCMPd, left, right); | 1602 | emit_nm(as, A64I_FCMPd, left, right); |
1603 | } | 1603 | } |
1604 | 1604 | ||
@@ -1610,8 +1610,8 @@ static void asm_min_max(ASMState *as, IRIns *ir, A64CC cc, A64CC fcc) | |||
1610 | asm_intmin_max(as, ir, cc); | 1610 | asm_intmin_max(as, ir, cc); |
1611 | } | 1611 | } |
1612 | 1612 | ||
1613 | #define asm_max(as, ir) asm_min_max(as, ir, CC_GT, CC_HI) | 1613 | #define asm_min(as, ir) asm_min_max(as, ir, CC_LT, CC_PL) |
1614 | #define asm_min(as, ir) asm_min_max(as, ir, CC_LT, CC_LO) | 1614 | #define asm_max(as, ir) asm_min_max(as, ir, CC_GT, CC_LE) |
1615 | 1615 | ||
1616 | /* -- Comparisons --------------------------------------------------------- */ | 1616 | /* -- Comparisons --------------------------------------------------------- */ |
1617 | 1617 | ||