mips: Pass all tests in mips release 1 - lightning.git - Portable just-in-time compiler library

index : lightning.git
Portable just-in-time compiler library
summary refs log tree commit diff
path: root/lib/jit_mips-cpu.c
diff options
context:
space:
mode:
authorpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2023年04月06日 17:56:36 -0300
committerpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2023年04月06日 17:56:36 -0300
commitcdde44165ff033803d978371d05f9a5d6d74e34e (patch)
tree579351a3f8633ab16f4aabd2c7e7eb29bf2703ec /lib/jit_mips-cpu.c
parentfbe1dacb4237c0c76565b57df34dc1cd286bd88c (diff)
downloadlightning-cdde44165ff033803d978371d05f9a5d6d74e34e.tar.gz
mips: Pass all tests in mips release 1
Diffstat (limited to 'lib/jit_mips-cpu.c')
-rw-r--r--lib/jit_mips-cpu.c 54
1 files changed, 29 insertions, 25 deletions
diff --git a/lib/jit_mips-cpu.c b/lib/jit_mips-cpu.c
index 6ac2baf..104ede7 100644
--- a/lib/jit_mips-cpu.c
+++ b/lib/jit_mips-cpu.c
@@ -1702,35 +1702,39 @@ _insr(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1,
static void
_clor(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1)
{
- if (__WORDSIZE == 32) {
- if (jit_mips6_p())
- CLO_R6(r0, r1);
- else
- CLO(r0, r1);
- }
- else {
- if (jit_mips6_p())
- DCLO_R6(r0, r1);
- else
- DCLO(r0, r1);
- }
+#if __WORDSIZE == 32
+ if (jit_mips6_p())
+ CLO_R6(r0, r1);
+ else if (jit_mips2_p())
+ CLO(r0, r1);
+ else
+ fallback_clo(r0, r1);
+#else
+ assert(jit_mips2_p());
+ if (jit_mips6_p())
+ DCLO_R6(r0, r1);
+ else
+ DCLO(r0, r1);
+#endif
}
static void
_clzr(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1)
{
- if (__WORDSIZE == 32) {
- if (jit_mips6_p())
- CLZ_R6(r0, r1);
- else
- CLZ(r0, r1);
- }
- else {
- if (jit_mips6_p())
- DCLZ_R6(r0, r1);
- else
- DCLZ(r0, r1);
- }
+#if __WORDSIZE == 32
+ if (jit_mips6_p())
+ CLZ_R6(r0, r1);
+ else if (jit_mips2_p())
+ CLZ(r0, r1);
+ else
+ fallback_clz(r0, r1);
+#else
+ assert(jit_mips2_p());
+ if (jit_mips6_p())
+ DCLZ_R6(r0, r1);
+ else
+ DCLZ(r0, r1);
+#endif
}
static void
@@ -2514,7 +2518,7 @@ _rroti(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_word_t i0)
#endif
}
else
- fallback_lroti(r0, r1, i0);
+ fallback_rroti(r0, r1, i0);
}
static void
generated by cgit v1.2.3 (git 2.39.1) at 2025年09月17日 12:47:08 +0000

AltStyle によって変換されたページ (->オリジナル) /