summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2021-10-02 16:52:57 +0200
committerMike Pall <mike>2021-10-02 16:52:57 +0200
commitd3294fa63b344173db68dd612c6d3801631e28d4 (patch)
tree4f33b471bc1bba353d2a760c8b8f8547dfaddf51
parent1811c4b0f18d4a6e4ebc0a305a564e9339a36d05 (diff)
downloadluajit2-d3294fa63b344173db68dd612c6d3801631e28d4.tar.gz
MIPS: Fix register allocation in assembly of HREF.
Reported by Jakub Piotr Cłapa.
-rw-r--r--src/lj_asm_mips.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lj_asm_mips.h b/src/lj_asm_mips.h
index b55596e6..ee81e5e0 100644
--- a/src/lj_asm_mips.h
+++ b/src/lj_asm_mips.h
@@ -643,9 +643,11 @@ static void asm_href(ASMState *as, IRIns *ir)
if (irt_isnum(kt)) {
key = ra_alloc1(as, refkey, RSET_FPR);
tmpnum = ra_scratch(as, rset_exclude(RSET_FPR, key));
- } else if (!irt_ispri(kt)) {
- key = ra_alloc1(as, refkey, allow);
- rset_clear(allow, key);
+ } else {
+ if (!irt_ispri(kt)) {
+ key = ra_alloc1(as, refkey, allow);
+ rset_clear(allow, key);
+ }
type = ra_allock(as, irt_toitype(irkey->t), allow);
rset_clear(allow, type);
}