From 5ed524c09fec64bed46b4bf74fa03be9083b0963 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Sat, 1 Aug 2026 19:39:35 +0200 Subject: Don't fold -a / -b for unsigned operands. Thanks to Peter Marreck and Peter Cawley. #1499 --- src/lj_opt_fold.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index 03d869d00..3738f3570 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c @@ -867,6 +867,8 @@ LJFOLD(MUL NEG NEG) LJFOLD(DIV NEG NEG) LJFOLDF(simplify_nummuldiv_negneg) { + if (fins->o == IR_DIV && (irt_isu32(fins->t) || irt_isu64(fins->t))) + return NEXTFOLD; PHIBARRIER(fleft); PHIBARRIER(fright); fins->op1 = fleft->op1; /* (-a) o (-b) ==> a o b */ -- cgit v1.2.3-55-g6feb