diff options
-rw-r--r-- | src/lj_asm_arm64.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_asm_arm64.h b/src/lj_asm_arm64.h index 4b7066f2..4e34b3be 100644 --- a/src/lj_asm_arm64.h +++ b/src/lj_asm_arm64.h | |||
@@ -1201,7 +1201,7 @@ dotypecheck: | |||
1201 | tmp = ra_scratch(as, allow); | 1201 | tmp = ra_scratch(as, allow); |
1202 | rset_clear(allow, tmp); | 1202 | rset_clear(allow, tmp); |
1203 | } | 1203 | } |
1204 | if (ra_hasreg(dest) && irt_isnum(t) && !(ir->op2 & IRSLOAD_CONVERT)) | 1204 | if (ra_hasreg(dest) && tmp != dest) |
1205 | emit_dn(as, A64I_FMOV_D_R, (dest & 31), tmp); | 1205 | emit_dn(as, A64I_FMOV_D_R, (dest & 31), tmp); |
1206 | /* Need type check, even if the load result is unused. */ | 1206 | /* Need type check, even if the load result is unused. */ |
1207 | asm_guardcc(as, irt_isnum(t) ? CC_LS : CC_NE); | 1207 | asm_guardcc(as, irt_isnum(t) ? CC_LS : CC_NE); |