author | pcpa <paulo.cesar.pereira.de.andrade@gmail.com> | 2023年02月28日 17:47:20 -0300 |
---|---|---|
committer | pcpa <paulo.cesar.pereira.de.andrade@gmail.com> | 2023年02月28日 17:47:20 -0300 |
commit | b71ab4f1b8fe533d943de7ea5ce4aa724cf10e7b (patch) | |
tree | cb9909113687e780528d8dc7036e66850fe65dd8 /lib/jit_arm-cpu.c | |
parent | 9ddb79b50e5cd401ee35c994a47986148e5dfb15 (diff) | |
download | lightning-b71ab4f1b8fe533d943de7ea5ce4aa724cf10e7b.tar.gz |
-rw-r--r-- | lib/jit_arm-cpu.c | 15 |
diff --git a/lib/jit_arm-cpu.c b/lib/jit_arm-cpu.c index a0852a2..78c5814 100644 --- a/lib/jit_arm-cpu.c +++ b/lib/jit_arm-cpu.c @@ -914,6 +914,8 @@ static void _clzr(jit_state_t*, jit_int32_t, jit_int32_t); static void _ctor(jit_state_t*, jit_int32_t, jit_int32_t); # define ctzr(r0, r1) _ctzr(_jit, r0, r1) static void _ctzr(jit_state_t*, jit_int32_t, jit_int32_t); +# define rbitr(r0, r1) _rbitr(_jit, r0, r1) +static void _rbitr(jit_state_t*, jit_int32_t, jit_int32_t); # define addr(r0,r1,r2) _addr(_jit,r0,r1,r2) static void _addr(jit_state_t*,jit_int32_t,jit_int32_t,jit_int32_t); # define addi(r0,r1,i0) _addi(_jit,r0,r1,i0) @@ -1814,6 +1816,19 @@ _ctzr(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1) } static void +_rbitr(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1) +{ + if (jit_armv7_p()) { /* armv6t2 actually */ + if (jit_thumb_p()) + T2_RBIT(r0, r1); + else + RBIT(r0, r1); + } + else + fallback_bitswap(r0, r1); +} + +static void _addr(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_int32_t r2) { if (jit_thumb_p()) { |