lightning.git - Portable just-in-time compiler library

index : lightning.git
Portable just-in-time compiler library
summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat
-rw-r--r--lib/jit_ia64-cpu.c 17
1 files changed, 5 insertions, 12 deletions
diff --git a/lib/jit_ia64-cpu.c b/lib/jit_ia64-cpu.c
index a4ec58d..8908ca7 100644
--- a/lib/jit_ia64-cpu.c
+++ b/lib/jit_ia64-cpu.c
@@ -4369,23 +4369,19 @@ _xrshr(jit_state_t *_jit, jit_bool_t sign,
done_over = jmpi(_jit->pc.w);
/* zero */
patch_at(jit_code_beqi, zero, _jit->pc.w);
- if (sign)
- rshi(r1, t2, __WORDSIZE - 1);
- else
- movi(r1, 0);
+ movi(r1, 0);
patch_at(jit_code_jmpi, done, _jit->pc.w);
patch_at(jit_code_jmpi, done_over, _jit->pc.w);
jit_unget_reg(s1);
}
else {
/* zero? */
- if (sign)
- rshi(t0, t2, __WORDSIZE - 1);
- else
- movi(t0, 0);
+ movi(t0, 0);
movzr(r1, t0, t3);
/* underflow? */
eqi(t1, t3, __WORDSIZE);
+ if (sign)
+ rshi(t0, t2, __WORDSIZE - 1);
movnr(r0, t0, t1);
jit_unget_reg(s1);
}
@@ -4402,10 +4398,7 @@ _xrshi(jit_state_t *_jit, jit_bool_t sign,
{
if (i0 == 0) {
movr(r0, r2);
- if (sign)
- rshi(r1, r2, __WORDSIZE - 1);
- else
- movi(r1, 0);
+ movi(r1, 0);
}
else if (i0 == __WORDSIZE) {
movr(r1, r2);
generated by cgit v1.2.3 (git 2.39.1) at 2025年09月17日 14:07:45 +0000

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