author | pcpa <paulo.cesar.pereira.de.andrade@gmail.com> | 2023年04月24日 17:55:50 -0300 |
---|---|---|
committer | pcpa <paulo.cesar.pereira.de.andrade@gmail.com> | 2023年04月24日 17:55:50 -0300 |
commit | 7c418d4722cc28537d48a276a0b555be3c02f5bf (patch) | |
tree | eeade368f63bcf347e71b0404233529fa830ddc9 /lib/jit_mips-cpu.c | |
parent | 56af4f3bb25ad635de9b443cf1cf6f73fb0aace1 (diff) | |
download | lightning-7c418d4722cc28537d48a276a0b555be3c02f5bf.tar.gz |
-rw-r--r-- | lib/jit_mips-cpu.c | 20 |
diff --git a/lib/jit_mips-cpu.c b/lib/jit_mips-cpu.c index 78871a9..5bdd39f 100644 --- a/lib/jit_mips-cpu.c +++ b/lib/jit_mips-cpu.c @@ -3144,9 +3144,13 @@ _unldr(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_word_t i0) static void _unldi(jit_state_t *_jit, jit_int32_t r0, jit_word_t i0, jit_word_t i1) { - jit_int32_t t0, r2; - if (jit_unaligned_p()) - fallback_unldi(r0, i0, i1); + jit_int32_t t0; + if (jit_unaligned_p()) { + t0 = jit_get_reg(jit_class_gpr); + movi(rn(t0), i0); + unldr(r0, rn(t0), i1); + jit_unget_reg(t0); + } else generic_unldi(r0, i0, i1); } @@ -3235,9 +3239,13 @@ _unldr_u(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_word_t i0) static void _unldi_u(jit_state_t *_jit, jit_int32_t r0, jit_word_t i0, jit_word_t i1) { - jit_int32_t t0, r2; - if (jit_unaligned_p()) - fallback_unldi_u(r0, i0, i1); + jit_int32_t t0; + if (jit_unaligned_p()) { + t0 = jit_get_reg(jit_class_gpr); + movi(rn(t0), i0); + unldr_u(r0, rn(t0), i1); + jit_unget_reg(t0); + } else generic_unldi_u(r0, i0, i1); } |