From 5041f8326b49b88aa1f982787de96c154ccf4da3 Mon Sep 17 00:00:00 2001 From: pcpa Date: 2023年3月20日 17:52:16 -0300 Subject: Minor optimization to jit_extr. Most backends do not check for a 0 (or wordsize) shift. Make sure to test it to avoid a nop, or possibly undefined behavior. --- lib/jit_mips-cpu.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'lib/jit_mips-cpu.c') diff --git a/lib/jit_mips-cpu.c b/lib/jit_mips-cpu.c index 569a009..ce364f2 100644 --- a/lib/jit_mips-cpu.c +++ b/lib/jit_mips-cpu.c @@ -2954,8 +2954,12 @@ _extr(jit_state_t *_jit, # if __BYTE_ORDER == __BIG_ENDIAN i0 = __WORDSIZE - (i0 + i1); # endif - lshi(r0, r1, __WORDSIZE - (i0 + i1)); - rshi(r0, r0, __WORDSIZE - i1); + if (__WORDSIZE - (i0 + i1)) { + lshi(r0, r1, __WORDSIZE - (i0 + i1)); + rshi(r0, r0, __WORDSIZE - i1); + } + else + rshi(r0, r1, __WORDSIZE - i1); } } -- cgit v1.2.3

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