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