ARM: Fix soft-float math.min()/math.max().

Reported by Dong Jianqiang. #1356
This commit is contained in:
Mike Pall 2025-04-10 22:45:38 +02:00
parent c262976486
commit 51d4c26ec7
2 changed files with 3 additions and 3 deletions

View File

@ -1927,7 +1927,7 @@ static void asm_hiop(ASMState *as, IRIns *ir)
} else if ((ir-1)->o == IR_MIN || (ir-1)->o == IR_MAX) { } else if ((ir-1)->o == IR_MIN || (ir-1)->o == IR_MAX) {
as->curins--; /* Always skip the loword min/max. */ as->curins--; /* Always skip the loword min/max. */
if (uselo || usehi) if (uselo || usehi)
asm_sfpmin_max(as, ir-1, (ir-1)->o == IR_MIN ? CC_PL : CC_LE); asm_sfpmin_max(as, ir-1, (ir-1)->o == IR_MIN ? CC_HS : CC_LS);
return; return;
#elif LJ_HASFFI #elif LJ_HASFFI
} else if ((ir-1)->o == IR_CONV) { } else if ((ir-1)->o == IR_CONV) {

View File

@ -1717,8 +1717,8 @@ static void build_subroutines(BuildCtx *ctx)
|.endif |.endif
|.endmacro |.endmacro
| |
| math_minmax math_min, gt, pl | math_minmax math_min, gt, hs
| math_minmax math_max, lt, le | math_minmax math_max, lt, ls
| |
|//-- String library ----------------------------------------------------- |//-- String library -----------------------------------------------------
| |