Add missing jit_htonr to ppc backend. - 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
diff options
context:
space:
mode:
authorpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2012年12月22日 16:30:43 -0200
committerpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2012年12月22日 16:30:43 -0200
commit374f58bb169d2ee0d20a518fe306425cef4eb20c (patch)
tree0efe5c631e6041df7c8d2d27cb26473034cac83f /lib
parentadc854f1a7fa688f4cb3882a32f087cc89b116f6 (diff)
downloadlightning-374f58bb169d2ee0d20a518fe306425cef4eb20c.tar.gz
Add missing jit_htonr to ppc backend.
* lib/jit_ppc-cpu.c, lib/jit_ppc.c: Implement logic for jit_htonr for big endian, so that ppc (big endian) pass the new clobber.tst test case.
Diffstat (limited to 'lib')
-rw-r--r--lib/jit_ppc-cpu.c 5
-rw-r--r--lib/jit_ppc.c 1
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/jit_ppc-cpu.c b/lib/jit_ppc-cpu.c
index 868fcc1..ee1509d 100644
--- a/lib/jit_ppc-cpu.c
+++ b/lib/jit_ppc-cpu.c
@@ -365,6 +365,11 @@ static jit_word_t _movi_p(jit_state_t*,jit_int32_t,jit_word_t);
# define extr_uc(r0,r1) ANDI_(r0,r0,0xff)
# define extr_s(r0,r1) EXTSH(r0,r1)
# define extr_us(r0,r1) ANDI_(r0,r0,0xffff)
+# if __BYTE_ORDER == __BIG_ENDIAN
+# define htonr(r0,r1) movr(r0,r1)
+# else
+# error need htonr implementation
+# endif
# define addr(r0,r1,r2) ADD(r0,r1,r2)
# define addi(r0,r1,i0) _addi(_jit,r0,r1,i0)
static void _addi(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t);
diff --git a/lib/jit_ppc.c b/lib/jit_ppc.c
index ddb6ad0..736b4d8 100644
--- a/lib/jit_ppc.c
+++ b/lib/jit_ppc.c
@@ -744,6 +744,7 @@ _jit_emit(jit_state_t *_jit)
case_rr(ext, _uc);
case_rr(ext, _s);
case_rr(ext, _us);
+ case_rr(hton,);
case_rr(neg,);
case_rr(com,);
case_rr(mov,);
generated by cgit v1.2.3 (git 2.39.1) at 2025年09月26日 18:55:48 +0000

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