author | pcpa <paulo.cesar.pereira.de.andrade@gmail.com> | 2023年04月14日 18:07:17 -0300 |
---|---|---|
committer | pcpa <paulo.cesar.pereira.de.andrade@gmail.com> | 2023年04月14日 18:07:17 -0300 |
commit | dbc4762e5486a3f5c83bfa71f183c9e7d4ea7704 (patch) | |
tree | 2bf1adff8c6057634d28fa7d422ec40511134baf /lib | |
parent | e86802c6db7556f2b80ca353fd78a6fed35a43e1 (diff) | |
download | lightning-dbc4762e5486a3f5c83bfa71f183c9e7d4ea7704.tar.gz |
-rw-r--r-- | lib/jit_aarch64-cpu.c | 4 | ||||
-rw-r--r-- | lib/jit_alpha-cpu.c | 12 | ||||
-rw-r--r-- | lib/jit_arm-cpu.c | 6 | ||||
-rw-r--r-- | lib/jit_hppa-cpu.c | 12 | ||||
-rw-r--r-- | lib/jit_ia64-cpu.c | 4 | ||||
-rw-r--r-- | lib/jit_loongarch-cpu.c | 3 | ||||
-rw-r--r-- | lib/jit_mips-cpu.c | 6 | ||||
-rw-r--r-- | lib/jit_ppc-cpu.c | 4 | ||||
-rw-r--r-- | lib/jit_s390-cpu.c | 6 | ||||
-rw-r--r-- | lib/jit_x86-cpu.c | 4 |
diff --git a/lib/jit_aarch64-cpu.c b/lib/jit_aarch64-cpu.c index 53bfd0c..d414cec 100644 --- a/lib/jit_aarch64-cpu.c +++ b/lib/jit_aarch64-cpu.c @@ -213,8 +213,12 @@ typedef union { # define s26_p(d) ((d) >= -33554432 && (d) <= 33554431) # define ii(i) *_jit->pc.ui++ = i # define ldr(r0,r1) ldr_l(r0,r1) +# define ldi(r0,i0) ldi_l(r0,i0) # define ldxr(r0,r1,r2) ldxr_l(r0,r1,r2) # define ldxi(r0,r1,i0) ldxi_l(r0,r1,i0) +# define str(r0,r1) str_l(r0,r1) +# define sti(i0,r0) sti_l(i0,r0) +# define stxr(r0,r1,r2) stxr_l(r0,r1,r2) # define stxi(i0,r0,r1) stxi_l(i0,r0,r1) # define FP_REGNO 0x1d # define LR_REGNO 0x1e diff --git a/lib/jit_alpha-cpu.c b/lib/jit_alpha-cpu.c index 4b862b2..7791063 100644 --- a/lib/jit_alpha-cpu.c +++ b/lib/jit_alpha-cpu.c @@ -52,6 +52,14 @@ # define _s32_p(v) ((v) >= -0x80000000 && (v) <= 0x7fffffff) # define _u32_p(v) ((v) >= 0 && (v) <= 0xffffffff) # define ii(i) *_jit->pc.ui++ = i +# define ldr(r0,r1) ldr_l(r0,r1) +# define ldi(r0,i0) ldi_l(r0,i0) +# define ldxr(r0,r1,r2) ldxr_l(r0,r1,r2) +# define ldxi(r0,r1,i0) ldxi_l(r0,r1,i0) +# define str(r0,r1) str_l(r0,r1) +# define sti(i0,r0) sti_l(i0,r0) +# define stxr(r0,r1,r2) stxr_l(r0,r1,r2) +# define stxi(i0,r0,r1) stxi_l(i0,r0,r1) # define stack_framesize 224 # define _S0_REGNO 0x09 # define _S1_REGNO 0x0a @@ -580,7 +588,6 @@ static void _ldi_i(jit_state_t*,jit_int32_t,jit_word_t); static void _ldr_ui(jit_state_t*,jit_int32_t,jit_int32_t); # define ldi_ui(r0,i0) _ldi_ui(_jit,r0,i0) static void _ldi_ui(jit_state_t*,jit_int32_t,jit_word_t); -# define ldr(r0,r1) ldr_l(r0,r1) # define ldr_l(r0,r1) LDQ(r0,r1,0) # define ldi_l(r0,i0) _ldi_l(_jit,r0,i0) static void _ldi_l(jit_state_t*,jit_int32_t,jit_word_t); @@ -608,10 +615,8 @@ static void _ldxi_i(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t); static void _ldxr_ui(jit_state_t*,jit_int32_t,jit_int32_t,jit_int32_t); # define ldxi_ui(r0,r1,i0) _ldxi_ui(_jit,r0,r1,i0) static void _ldxi_ui(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t); -# define ldxr(r0,r1,r2) ldxr_l(r0,r1,r2) # define ldxr_l(r0,r1,r2) _ldxr_l(_jit,r0,r1,r2) static void _ldxr_l(jit_state_t*,jit_int32_t,jit_int32_t,jit_int32_t); -# define ldxi(r0,r1,i0) ldxi_l(r0,r1,i0) # define ldxi_l(r0,r1,i0) _ldxi_l(_jit,r0,r1,i0) static void _ldxi_l(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t); # define unldr(r0, r1, i0) _unldr(_jit, r0, r1, i0) @@ -631,7 +636,6 @@ static void _sti_s(jit_state_t*,jit_word_t,jit_int32_t); # define str_i(r0,r1) STL(r1,r0,0) # define sti_i(i0,r0) _sti_i(_jit,i0,r0) static void _sti_i(jit_state_t*,jit_word_t,jit_int32_t); -# define str(r0,r1) str_l(r0,r1) # define str_l(r0,r1) STQ(r1,r0,0) # define sti_l(i0,r0) _sti_l(_jit,i0,r0) static void _sti_l(jit_state_t*,jit_word_t,jit_int32_t); diff --git a/lib/jit_arm-cpu.c b/lib/jit_arm-cpu.c index 080275c..9e19434 100644 --- a/lib/jit_arm-cpu.c +++ b/lib/jit_arm-cpu.c @@ -20,12 +20,14 @@ #if PROTO # define jit_unaligned_p() (jit_cpu.unaligned) # define jit_vfp_unaligned_p() (jit_cpu.vfp_unaligned) -# define stxi(i0,r0,r1) stxi_i(i0,r0,r1) -# define ldxi(r0,r1,i0) ldxi_i(r0,r1,i0) # define ldr(r0,r1) ldr_i(r0,r1) # define ldi(r0,i0) ldi_i(r0,i0) +# define ldxr(r0,r1,r2) ldxr_i(r0,r1,r2) +# define ldxi(r0,r1,i0) ldxi_i(r0,r1,i0) # define str(r0,r1) str_i(r0,r1) # define sti(i0,r0) sti_i(i0,r0) +# define stxr(r0,r1,r2) stxr_i(r0,r1,r2) +# define stxi(i0,r0,r1) stxi_i(i0,r0,r1) # define _s20P(d) ((d) >= -(int)0x80000 && d <= 0x7ffff) # define _s24P(d) ((d) >= -(int)0x800000 && d <= 0x7fffff) # define _u3(v) ((v) & 0x7) diff --git a/lib/jit_hppa-cpu.c b/lib/jit_hppa-cpu.c index ba1dfb8..eb340c1 100644 --- a/lib/jit_hppa-cpu.c +++ b/lib/jit_hppa-cpu.c @@ -47,6 +47,14 @@ typedef struct udiv { #define _R31_REGNO 31 #define _CR11_REGNO 11 #define ii(v) *_jit->pc.ui++ = v +#define ldr(r0,r1) ldr_ui(r0,r1) +#define ldi(r0,i0) ldi_ui(r0,i0) +#define ldxi(r0,r1,r2) ldxr_ui(r0,r1,r2) +#define ldxi(r0,r1,i0) ldxi_ui(r0,r1,i0) +#define str(r0,r1) str_i(r0,r1) +#define sti(i0,r0) sti_i(i0,r0) +#define stxr(r0,r1,r2) stxr_i(r0,r1,r2) +#define stxi(i0,r0,r1) stxi_i(i0,r0,r1) #define f1(o,b,t,i) _f1(_jit,o,b,t,i) static void _f1(jit_state_t*,jit_int32_t, jit_int32_t,jit_int32_t,jit_int32_t); @@ -822,8 +830,6 @@ static void _ldi_us(jit_state_t*,jit_int32_t,jit_word_t); #define ldxr_us(r0,r1,r2) LDH(r2,r1,r0) #define ldxi_us(r0,r1,i0) _ldxi_us(_jit,r0,r1,i0) static void _ldxi_us(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t); -#define ldr(r0,r1) ldr_ui(r0,r1) -#define ldi(r0,i0) ldi_ui(r0,i0) #define ldr_i(r0,r1) ldr_ui(r0,r1) #define ldr_ui(r0,r1) LDWI(_R0_REGNO,r1,r0) #define ldi_i(r0,i0) ldi_ui(r0,i0) @@ -831,7 +837,6 @@ static void _ldxi_us(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t); static void _ldi_ui(jit_state_t*,jit_int32_t,jit_word_t); #define ldxr_i(r0,r1,r2) ldxr_ui(r0,r1,r2) #define ldxr_ui(r0,r1,r2) LDW(r2,r1,r0) -#define ldxi(r0,r1,i0) ldxi_ui(r0,r1,i0) #define ldxi_i(r0,r1,i0) ldxi_ui(r0,r1,i0) #define ldxi_ui(r0,r1,i0) _ldxi_ui(_jit,r0,r1,i0) static void _ldxi_ui(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t); @@ -854,7 +859,6 @@ static void _stxi_s(jit_state_t*,jit_word_t,jit_int32_t,jit_int32_t); static void _sti_i(jit_state_t*,jit_word_t,jit_int32_t); #define stxr_i(r0,r1,r2) _stxr_i(_jit,r0,r1,r2) static void _stxr_i(jit_state_t*,jit_int32_t,jit_int32_t,jit_int32_t); -#define stxi(i0,r0,r1) stxi_i(i0,r0,r1) #define stxi_i(i0,r0,r1) _stxi_i(_jit,i0,r0,r1) static void _stxi_i(jit_state_t*,jit_word_t,jit_int32_t,jit_int32_t); #define bcmpr(c,i0,r0,r1) _bcmpr(_jit,c,i0,r0,r1) diff --git a/lib/jit_ia64-cpu.c b/lib/jit_ia64-cpu.c index 1553eef..4320074 100644 --- a/lib/jit_ia64-cpu.c +++ b/lib/jit_ia64-cpu.c @@ -207,10 +207,10 @@ typedef enum { #define ldr(r0,r1) ldr_l(r0,r1) #define ldi(r0,i0) ldi_l(r0,i0) -#define str(r0,r1) str_l(r0,r1) -#define sti(i0,r0) str_l(i0,r0) #define ldxr(r0,r1,r2) ldxr_l(r0,r1,r2) #define ldxi(r0,r1,i0) ldxi_l(r0,r1,i0) +#define str(r0,r1) str_l(r0,r1) +#define sti(i0,r0) str_l(i0,r0) #define stxr(r0,r1,r2) stxr_l(r0,r1,r2) #define stxi(i0,r0,r1) stxi_l(i0,r0,r1) diff --git a/lib/jit_loongarch-cpu.c b/lib/jit_loongarch-cpu.c index ef8261f..46e8ce7 100644 --- a/lib/jit_loongarch-cpu.c +++ b/lib/jit_loongarch-cpu.c @@ -34,8 +34,11 @@ # define _FP_REGNO 22 # define ldr(u, v) ldr_l(u, v) # define ldi(u, v) ldi_l(u, v) +# define ldxr(u, v, w) ldxr_l(u, v, w) # define ldxi(u, v, w) ldxi_l(u, v, w) +# define str(u, v) str_l(u, v) # define sti(u, v) sti_l(u, v) +# define stxr(u, v, w) stxr_l(u, v, w) # define stxi(u, v, w) stxi_l(u, v, w) # define orrr(op, rk, rj, rd) _orrr(_jit, op, rk, rj, rd) # define ou5rr(op, i5, rj, rd) _orrr(_jit, op, i5, rj, rd) diff --git a/lib/jit_mips-cpu.c b/lib/jit_mips-cpu.c index 104ede7..596ff62 100644 --- a/lib/jit_mips-cpu.c +++ b/lib/jit_mips-cpu.c @@ -102,14 +102,20 @@ typedef union { # if __WORDSIZE == 32 # define ldr(u,v) ldr_i(u,v) # define ldi(u,v) ldi_i(u,v) +# define ldxr(u,v,w) ldxr_i(u,v,w) # define ldxi(u,v,w) ldxi_i(u,v,w) +# define str(u,v) str_i(u,v) # define sti(u,v) sti_i(u,v) +# define stxr(u,v,w) stxr_i(u,v,w) # define stxi(u,v,w) stxi_i(u,v,w) # else # define ldr(u,v) ldr_l(u,v) # define ldi(u,v) ldi_l(u,v) +# define ldxr(u,v,w) ldxr_l(u,v,w) # define ldxi(u,v,w) ldxi_l(u,v,w) +# define str(u,v) str_l(u,v) # define sti(u,v) sti_l(u,v) +# define stxr(u,v,w) stxr_l(u,v,w) # define stxi(u,v,w) stxi_l(u,v,w) # endif /* can_relative_jump_p(im) => can_sign_extend_short_p(im << 2) */ diff --git a/lib/jit_ppc-cpu.c b/lib/jit_ppc-cpu.c index d59b487..21672c1 100644 --- a/lib/jit_ppc-cpu.c +++ b/lib/jit_ppc-cpu.c @@ -64,6 +64,8 @@ # define ldi(r0,i0) ldi_i(r0,i0) # define ldxi(r0,r1,i0) ldxi_i(r0,r1,i0) # define ldxr(r0,r1,r2) ldxr_i(r0,r1,r2) +# define str(r0,r1) str_i(r0,r1) +# define sti(i0,r0) sti_i(i0,r0) # define stxi(i0,r0,r1) stxi_i(i0,r0,r1) # define stxr(r0,r1,r2) stxr_i(r0,r1,r2) # else @@ -71,6 +73,8 @@ # define ldi(r0,i0) ldi_l(r0,i0) # define ldxi(r0,r1,i0) ldxi_l(r0,r1,i0) # define ldxr(r0,r1,r2) ldxr_l(r0,r1,r2) +# define str(r0,r1) str_l(r0,r1) +# define sti(i0,r0) sti_l(i0,r0) # define stxi(i0,r0,r1) stxi_l(i0,r0,r1) # define stxr(r0,r1,r2) stxr_l(r0,r1,r2) # endif diff --git a/lib/jit_s390-cpu.c b/lib/jit_s390-cpu.c index f4784ab..3fe3e07 100644 --- a/lib/jit_s390-cpu.c +++ b/lib/jit_s390-cpu.c @@ -23,12 +23,18 @@ # define ldi(r0,i0) ldi_i(r0,i0) # define ldxr(r0,r1,r2) ldxr_i(r0,r1,r2) # define ldxi(r0,r1,i0) ldxi_i(r0,r1,i0) +# define str(r0,r1) str_i(r0,r1) +# define sti(i0,r0) sti_i(i0,r0) +# define stxr(r0,r1,r2) stxr_i(r0,r1,r2) # define stxi(i0,r0,r1) stxi_i(i0,r0,r1) # else # define ldr(r0,r1) ldr_l(r0,r1) # define ldi(r0,i0) ldi_l(r0,i0) # define ldxr(r0,r1,r2) ldxr_l(r0,r1,r2) # define ldxi(r0,r1,i0) ldxi_l(r0,r1,i0) +# define str(r0,r1) str_l(r0,r1) +# define sti(i0,r0) sti_l(i0,r0) +# define stxr(r0,r1,r2) stxr_l(r0,r1,r2) # define stxi(i0,r0,r1) stxi_l(i0,r0,r1) # endif # define is(i) *_jit->pc.us++ = i diff --git a/lib/jit_x86-cpu.c b/lib/jit_x86-cpu.c index a5ed1e9..e185d14 100644 --- a/lib/jit_x86-cpu.c +++ b/lib/jit_x86-cpu.c @@ -32,7 +32,9 @@ # define ldr(u, v) ldr_i(u, v) # define ldxr(u, v, w) ldxr_i(u, v, w) # define ldxi(u, v, w) ldxi_i(u, v, w) +# define str(u, v) str_i(u, v) # define sti(u, v) sti_i(u, v) +# define stxr(u, v, w) stxr_i(u, v, w) # define stxi(u, v, w) stxi_i(u, v, w) # define can_sign_extend_int_p(im) 1 # define can_zero_extend_int_p(im) 1 @@ -43,7 +45,9 @@ # define ldr(u, v) ldr_l(u, v) # define ldxr(u, v, w) ldxr_l(u, v, w) # define ldxi(u, v, w) ldxi_l(u, v, w) +# define str(u, v) str_l(u, v) # define sti(u, v) sti_l(u, v) +# define stxr(u, v, w) stxr_l(u, v, w) # define stxi(u, v, w) stxi_l(u, v, w) # define can_sign_extend_int_p(im) \ (((im) >= 0 && (long long)(im) <= 0x7fffffffLL) || \ |