-rw-r--r-- | check/ext.tst | 6 | ||||
-rw-r--r-- | check/gen_cbit.c | 34 | ||||
-rw-r--r-- | check/lightning.c | 12 | ||||
-rw-r--r-- | doc/body.texi | 26 | ||||
-rw-r--r-- | include/lightning.h.in | 10 | ||||
-rw-r--r-- | lib/jit_aarch64-cpu.c | 24 | ||||
-rw-r--r-- | lib/jit_aarch64.c | 10 | ||||
-rw-r--r-- | lib/jit_alpha-cpu.c | 22 | ||||
-rw-r--r-- | lib/jit_alpha.c | 12 | ||||
-rw-r--r-- | lib/jit_arm-cpu.c | 24 | ||||
-rw-r--r-- | lib/jit_arm.c | 12 | ||||
-rw-r--r-- | lib/jit_hppa-cpu.c | 24 | ||||
-rw-r--r-- | lib/jit_hppa.c | 12 | ||||
-rw-r--r-- | lib/jit_ia64-cpu.c | 24 | ||||
-rw-r--r-- | lib/jit_ia64.c | 12 | ||||
-rw-r--r-- | lib/jit_loongarch-cpu.c | 12 | ||||
-rw-r--r-- | lib/jit_loongarch.c | 12 | ||||
-rw-r--r-- | lib/jit_mips-cpu.c | 36 | ||||
-rw-r--r-- | lib/jit_mips.c | 12 | ||||
-rw-r--r-- | lib/jit_names.c | 4 | ||||
-rw-r--r-- | lib/jit_ppc-cpu.c | 24 | ||||
-rw-r--r-- | lib/jit_ppc.c | 12 | ||||
-rw-r--r-- | lib/jit_riscv.c | 18 | ||||
-rw-r--r-- | lib/jit_s390.c | 18 | ||||
-rw-r--r-- | lib/jit_sparc.c | 18 | ||||
-rw-r--r-- | lib/jit_x86-cpu.c | 25 | ||||
-rw-r--r-- | lib/jit_x86.c | 12 | ||||
-rw-r--r-- | lib/lightning.c | 2 |
diff --git a/check/ext.tst b/check/ext.tst index 80a5ca9..4ec87ef 100644 --- a/check/ext.tst +++ b/check/ext.tst @@ -37,7 +37,7 @@ OP##R0##R1##OFF##LEN##VAL: #define DEPOSIT(R0, R1, OFF, LEN, VAL, BIT, RES) \ movi %R1 BIT \ movi %R0 VAL \ - dep %R0 %R1 OFF LEN \ + depr %R0 %R1 OFF LEN \ beqi dep##R0##R1##OFF##LEN##VAL %R0 RES \ calli @abort \ dep##R0##R1##OFF##LEN##VAL: @@ -79,9 +79,9 @@ dep##R0##R1##OFF##LEN##VAL: OPTIONAL(DEP2(OFF, LEN, VAL, BIT, RES, V2, R0, R1, R2, V0, V1)) #define EXT(VAL, OFF, LEN, RES) \ - EXT1(ext, OFF, LEN, VAL, RES, r0, r1, r2, v0, v1, v2) + EXT1(extr, OFF, LEN, VAL, RES, r0, r1, r2, v0, v1, v2) #define EXTU(VAL, OFF, LEN, RES) \ - EXT1(ext_u, OFF, LEN, VAL, RES, r0, r1, r2, v0, v1, v2) + EXT1(extr_u, OFF, LEN, VAL, RES, r0, r1, r2, v0, v1, v2) #define DEP(VAL, BIT, OFF, LEN, RES) \ DEP1(OFF, LEN, VAL, BIT, RES, r0, r1, r2, v0, v1, v2) diff --git a/check/gen_cbit.c b/check/gen_cbit.c index 3668602..9d753d6 100644 --- a/check/gen_cbit.c +++ b/check/gen_cbit.c @@ -1,6 +1,6 @@ #include <stdio.h> -/* Test that jit_ext(), jit_ext_u() and jit_dep() work correctly with +/* Test that jit_extr(), jit_extr_u() and jit_depr() work correctly with * C bitfields. * Note that to be compatible with C bitfields, behavior is different * for big endian and little endian. For big endian, the bitfield @@ -347,8 +347,8 @@ main(int argc, char *argv[])\n\ else printf("jit_movi(JIT_R1, 0);\n"); printf("\ - jit_dep(JIT_R2, JIT_R1, 0, %d);\n\ - jit_ext(JIT_R1, JIT_R2, 0, %d);\n\ + jit_depr(JIT_R2, JIT_R1, 0, %d);\n\ + jit_extr(JIT_R1, JIT_R2, 0, %d);\n\ jit_str(JIT_R0, JIT_R2);\n\ jit_retr(JIT_R1);\n\ jit_epilog();\n", i, i); @@ -366,8 +366,8 @@ main(int argc, char *argv[])\n\ else printf("jit_movi(JIT_R1, 0);\n"); printf("\ - jit_dep(JIT_R2, JIT_R1, 0, %d);\n\ - jit_ext(JIT_R1, JIT_R2, 0, %d);\n\ + jit_depr(JIT_R2, JIT_R1, 0, %d);\n\ + jit_extr(JIT_R1, JIT_R2, 0, %d);\n\ jit_str(JIT_R0, JIT_R2);\n\ jit_retr(JIT_R1);\n\ jit_epilog();\n", i, i); @@ -387,8 +387,8 @@ main(int argc, char *argv[])\n\ else printf("jit_movi(JIT_R1, 0);\n"); printf("\ - jit_dep(JIT_R2, JIT_R1, 0, %d);\n\ - jit_ext_u(JIT_R1, JIT_R2, 0, %d);\n\ + jit_depr(JIT_R2, JIT_R1, 0, %d);\n\ + jit_extr_u(JIT_R1, JIT_R2, 0, %d);\n\ jit_str(JIT_R0, JIT_R2);\n\ jit_retr(JIT_R1);\n\ jit_epilog();\n", i, i); @@ -406,8 +406,8 @@ main(int argc, char *argv[])\n\ else printf("jit_movi(JIT_R1, 0);\n"); printf("\ - jit_dep(JIT_R2, JIT_R1, 0, %d);\n\ - jit_ext_u(JIT_R1, JIT_R2, 0, %d);\n\ + jit_depr(JIT_R2, JIT_R1, 0, %d);\n\ + jit_extr_u(JIT_R1, JIT_R2, 0, %d);\n\ jit_str(JIT_R0, JIT_R2);\n\ jit_retr(JIT_R1);\n\ jit_epilog();\n", i, i); @@ -424,8 +424,8 @@ main(int argc, char *argv[])\n\ jit_getarg(JIT_R0, arg);\n\ jit_ldr(JIT_R2, JIT_R0);\n\ jit_movi(JIT_R1, ((ONE << %d) - 1) ^ 1);\n\ - jit_dep(JIT_R2, JIT_R1, %d, %d);\n\ - jit_ext(JIT_R1, JIT_R2, %d, %d);\n\ + jit_depr(JIT_R2, JIT_R1, %d, %d);\n\ + jit_extr(JIT_R1, JIT_R2, %d, %d);\n\ jit_str(JIT_R0, JIT_R2);\n\ jit_retr(JIT_R1);\n\ jit_epilog();\n", i, j, j, i, j, i, j); @@ -443,8 +443,8 @@ main(int argc, char *argv[])\n\ jit_getarg(JIT_R0, arg);\n\ jit_ldr(JIT_R2, JIT_R0);\n\ jit_movi(JIT_R1, ((ONE << %d) - 1) ^ 1);\n\ - jit_dep(JIT_R2, JIT_R1, %d, %d);\n\ - jit_ext(JIT_R1, JIT_R2, %d, %d);\n\ + jit_depr(JIT_R2, JIT_R1, %d, %d);\n\ + jit_extr(JIT_R1, JIT_R2, %d, %d);\n\ jit_str(JIT_R0, JIT_R2);\n\ jit_retr(JIT_R1);\n\ jit_epilog();\n", i, j, j, i, j, i, j); @@ -462,8 +462,8 @@ main(int argc, char *argv[])\n\ jit_getarg(JIT_R0, arg);\n\ jit_ldr(JIT_R2, JIT_R0);\n\ jit_movi(JIT_R1, ((ONE << %d) - 1) ^ 1);\n\ - jit_dep(JIT_R2, JIT_R1, %d, %d);\n\ - jit_ext_u(JIT_R1, JIT_R2, %d, %d);\n\ + jit_depr(JIT_R2, JIT_R1, %d, %d);\n\ + jit_extr_u(JIT_R1, JIT_R2, %d, %d);\n\ jit_str(JIT_R0, JIT_R2);\n\ jit_retr(JIT_R1);\n\ jit_epilog();\n", i, j, j, i, j, i, j); @@ -481,8 +481,8 @@ main(int argc, char *argv[])\n\ jit_getarg(JIT_R0, arg);\n\ jit_ldr(JIT_R2, JIT_R0);\n\ jit_movi(JIT_R1, ((ONE << %d) - 1) ^ 1);\n\ - jit_dep(JIT_R2, JIT_R1, %d, %d);\n\ - jit_ext_u(JIT_R1, JIT_R2, %d, %d);\n\ + jit_depr(JIT_R2, JIT_R1, %d, %d);\n\ + jit_extr_u(JIT_R1, JIT_R2, %d, %d);\n\ jit_str(JIT_R0, JIT_R2);\n\ jit_retr(JIT_R1);\n\ jit_epilog();\n", i, j, j, i, j, i, j); diff --git a/check/lightning.c b/check/lightning.c index de54a6e..66935c7 100644 --- a/check/lightning.c +++ b/check/lightning.c @@ -339,8 +339,8 @@ static void gtr_u(void); static void gti_u(void); static void ner(void); static void nei(void); static void casr(void); static void casi(void); static void movr(void); static void movi(void); -static void ext(void); static void ext_u(void); -static void dep(void); +static void extr(void); static void extr_u(void); +static void depr(void); static void extr_c(void); static void extr_uc(void); static void extr_s(void); static void extr_us(void); #if __WORDSIZE == 64 @@ -705,8 +705,8 @@ static instr_t instr_vector[] = { entry(ner), entry(nei), entry(casr), entry(casi), entry(movr), entry(movi), - entry(ext), entry(ext_u), - entry(dep), + entry(extr), entry(extr_u), + entry(depr), entry(extr_c), entry(extr_uc), entry(extr_s), entry(extr_us), #if __WORDSIZE == 64 @@ -1620,8 +1620,8 @@ movi(void) jit_movi(r0, (jit_word_t)value); } -entry_ir_ir_im_im(ext) entry_ir_ir_im_im(ext_u) -entry_ir_ir_im_im(dep) +entry_ir_ir_im_im(extr) entry_ir_ir_im_im(extr_u) +entry_ir_ir_im_im(depr) entry_ir_ir(extr_c) entry_ir_ir(extr_uc) entry_ir_ir(extr_s) entry_ir_ir(extr_us) #if __WORDSIZE == 64 diff --git a/doc/body.texi b/doc/body.texi index f6d850e..346dc21 100644 --- a/doc/body.texi +++ b/doc/body.texi @@ -375,30 +375,30 @@ movr _f _d O1 = O2 movi _f _d O1 = O2 extr _c _uc _s _us _i _ui _f _d O1 = O2 truncr _f _d O1 = trunc(O2) -ext O1 = sign_extend(O2[O3:O3+04]) -ext_u O1 = O2[O3:O3+04] -dep O1[O3:O3+O4] = O2 +extr O1 = sign_extend(O2[O3:O3+04]) +extr_u O1 = O2[O3:O3+04] +depr O1[O3:O3+O4] = O2 @end example -@code{ext}, @code{ext_u} and @code{dep} are useful to access @code{C} +@code{extr}, @code{extr_u} and @code{depr} are useful to access @code{C} compatible bit fields, provided that these are contained in a machine -word. @code{ext} is used to @emph{extract} and signed extend a value -from a bit field. @code{ext_u} is used to @{emph{extract} and zero -extend a value from a bit field. @code{dep} is used to @emph{deposit} +word. @code{extr} is used to @emph{extract} and signed extend a value +from a bit field. @code{extr_u} is used to @emph{extract} and zero +extend a value from a bit field. @code{depr} is used to @emph{deposit} a value into a bit field. @example -ext(result, source, offset, length) -ext_u(result, source, offset, length) -dep(result, source, offset, length) +extr(result, source, offset, length) +extr_u(result, source, offset, length) +depr(result, source, offset, length) @end example -The usual idiom to declare @code{C} and @lightning{} compatible bit fields is: +A common way to declare @code{C} and @lightning{} compatible bit fields is: @example union @{ struct @{ - jit_word_t signed_bits: @code<length>; - jit_uword_t unsigned_bits: @code<length>; + jit_word_t signed_bits: @code{length}; + jit_uword_t unsigned_bits: @code{length}; ... @} s; jit_word_t signed_value; diff --git a/include/lightning.h.in b/include/lightning.h.in index 47f0e04..7c24efe 100644 --- a/include/lightning.h.in +++ b/include/lightning.h.in @@ -1069,11 +1069,11 @@ typedef enum { #define jit_rroti(u,v,w) jit_new_node_www(jit_code_rroti,u,v,w) jit_code_rrotr, jit_code_rroti, -#define jit_ext(u,v,w,x) jit_new_node_wwq(jit_code_ext, u, v, w, x) -#define jit_ext_u(u,v,w,x) jit_new_node_wwq(jit_code_ext_u, u, v, w, x) -#define jit_dep(u,v,w,x) jit_new_node_wwq(jit_code_dep, u, v, w, x) - jit_code_ext, jit_code_ext_u, - jit_code_dep, +#define jit_extr(u,v,w,x) jit_new_node_wwq(jit_code_extr, u, v, w, x) +#define jit_extr_u(u,v,w,x) jit_new_node_wwq(jit_code_extr_u, u, v, w, x) +#define jit_depr(u,v,w,x) jit_new_node_wwq(jit_code_depr, u, v, w, x) + jit_code_extr, jit_code_extr_u, + jit_code_depr, jit_code_last_code } jit_code_t; diff --git a/lib/jit_aarch64-cpu.c b/lib/jit_aarch64-cpu.c index e615bb2..90cbeea 100644 --- a/lib/jit_aarch64-cpu.c +++ b/lib/jit_aarch64-cpu.c @@ -704,12 +704,12 @@ static void _bswapr_us(jit_state_t*,jit_int32_t,jit_int32_t); # define bswapr_ui(r0,r1) _bswapr_ui(_jit,r0,r1) static void _bswapr_ui(jit_state_t*,jit_int32_t,jit_int32_t); # define bswapr_ul(r0,r1) REV(r0,r1) -#define ext(r0,r1,i0,i1) _ext(_jit,r0,r1,i0,i1) -static void _ext(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -#define ext_u(r0,r1,i0,i1) _ext_u(_jit,r0,r1,i0,i1) -static void _ext_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -#define dep(r0,r1,i0,i1) _dep(_jit,r0,r1,i0,i1) -static void _dep(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +#define extr(r0,r1,i0,i1) _extr(_jit,r0,r1,i0,i1) +static void _extr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +#define extr_u(r0,r1,i0,i1) _extr_u(_jit,r0,r1,i0,i1) +static void _extr_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +#define depr(r0,r1,i0,i1) _depr(_jit,r0,r1,i0,i1) +static void _depr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); # define extr_c(r0,r1) SXTB(r0,r1) # define extr_uc(r0,r1) UXTB(r0,r1) # define extr_s(r0,r1) SXTH(r0,r1) @@ -1452,8 +1452,8 @@ _movzr(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_int32_t r2) } static void -_ext(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_extr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); if ( i1 == __WORDSIZE) @@ -1467,8 +1467,8 @@ _ext(jit_state_t *_jit, } static void -_ext_u(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_extr_u(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); if (i1 == __WORDSIZE) @@ -1482,8 +1482,8 @@ _ext_u(jit_state_t *_jit, } static void -_dep(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_depr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { jit_int32_t t0; jit_word_t mask; diff --git a/lib/jit_aarch64.c b/lib/jit_aarch64.c index 45b1ac9..f0b8a6a 100644 --- a/lib/jit_aarch64.c +++ b/lib/jit_aarch64.c @@ -1514,14 +1514,14 @@ _emit_code(jit_state_t *_jit) case_rr(bswap, _us); case_rr(bswap, _ui); case_rr(bswap, _ul); - case jit_code_ext: - ext(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr: + extr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_ext_u: + case jit_code_extr_u: ext_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_dep: - dep(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_depr: + depr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; case_rr(ext, _c); case_rr(ext, _uc); diff --git a/lib/jit_alpha-cpu.c b/lib/jit_alpha-cpu.c index d0d2140..4d4d3fd 100644 --- a/lib/jit_alpha-cpu.c +++ b/lib/jit_alpha-cpu.c @@ -624,11 +624,11 @@ static void _stxr_l(jit_state_t*,jit_int32_t,jit_int32_t,jit_int32_t); # define stxi(i0,r0,r1) stxi_l(i0,r0,r1) # define stxi_l(i0,r0,r1) _stxi_l(_jit,i0,r0,r1) static void _stxi_l(jit_state_t*,jit_word_t,jit_int32_t,jit_int32_t); -# define ext(r0,r1,i0,i1) _ext(_jit,r0,r1,i0,i1) -static void _ext(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -# define ext_u(r0,r1,i0,i1) _ext_u(_jit,r0,r1,i0,i1) -static void _ext_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -# define dep(r0,r1,i0,i1) _dep(_jit,r0,r1,i0,i1) +# define extr(r0,r1,i0,i1) _extr(_jit,r0,r1,i0,i1) +static void _extr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +# define extr_u(r0,r1,i0,i1) _extr_u(_jit,r0,r1,i0,i1) +static void _extr_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +# define depr(r0,r1,i0,i1) _depr(_jit,r0,r1,i0,i1) static void _dep(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); # define extr_c(r0,r1) SEXTB(r1, r0) # define extr_uc(r0,r1) EXTBLi(r1, 0, r0) @@ -2483,8 +2483,8 @@ _stxi_l(jit_state_t *_jit, jit_word_t i0, jit_int32_t r0, jit_int32_t r1) } static void -_ext(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_extr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); if (i1 == __WORDSIZE) @@ -2499,8 +2499,8 @@ _ext(jit_state_t *_jit, } static void -_ext_u(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_extr_u(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); if (i1 == __WORDSIZE) @@ -2531,8 +2531,8 @@ done:; } static void -_dep(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_depr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { jit_int32_t t0; jit_word_t mask; diff --git a/lib/jit_alpha.c b/lib/jit_alpha.c index 4edaa64..90c6991 100644 --- a/lib/jit_alpha.c +++ b/lib/jit_alpha.c @@ -1103,14 +1103,14 @@ _emit_code(jit_state_t *_jit) case_rr(bswap, _us); case_rr(bswap, _ui); case_rr(bswap, _ul); - case jit_code_ext: - ext(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr: + extr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_ext_u: - ext_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr_u: + extr_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_dep: - dep(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_depr: + depr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; case_rr(ext, _c); case_rr(ext, _uc); diff --git a/lib/jit_arm-cpu.c b/lib/jit_arm-cpu.c index dbc9b5a..d2f1727 100644 --- a/lib/jit_arm-cpu.c +++ b/lib/jit_arm-cpu.c @@ -1202,12 +1202,12 @@ static void _stxi_i(jit_state_t*,jit_word_t,jit_int32_t,jit_int32_t); static void _bswapr_us(jit_state_t*,jit_int32_t,jit_int32_t); # define bswapr_ui(r0,r1) _bswapr_ui(_jit,r0,r1) static void _bswapr_ui(jit_state_t*,jit_int32_t,jit_int32_t); -# define ext(r0,r1,i0,i1) _ext(_jit,r0,r1,i0,i1) -static void _ext(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -# define ext_u(r0,r1,i0,i1) _ext_u(_jit,r0,r1,i0,i1) -static void _ext_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -# define dep(r0,r1,i0,i1) _dep(_jit,r0,r1,i0,i1) -static void _dep(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +# define extr(r0,r1,i0,i1) _extr(_jit,r0,r1,i0,i1) +static void _extr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +# define extr_u(r0,r1,i0,i1) _extr_u(_jit,r0,r1,i0,i1) +static void _extr_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +# define depr(r0,r1,i0,i1) _depr(_jit,r0,r1,i0,i1) +static void _depr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); # define extr_c(r0,r1) _extr_c(_jit,r0,r1) static void _extr_c(jit_state_t*,jit_int32_t,jit_int32_t); # define extr_uc(r0,r1) _extr_uc(_jit,r0,r1) @@ -4001,8 +4001,8 @@ _bswapr_ui(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1) } static void -_ext(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1,jit_word_t i0, jit_word_t i1) +_extr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1,jit_word_t i0, jit_word_t i1) { if (jit_armv7_p()) { /* armv6t2 actually */ # if __BYTE_ORDER == __BIG_ENDIAN @@ -4018,8 +4018,8 @@ _ext(jit_state_t *_jit, } static void -_ext_u(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1,jit_word_t i0, jit_word_t i1) +_extr_u(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1,jit_word_t i0, jit_word_t i1) { if (jit_armv7_p()) { /* armv6t2 actually */ # if __BYTE_ORDER == __BIG_ENDIAN @@ -4035,8 +4035,8 @@ _ext_u(jit_state_t *_jit, } static void -_dep(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1,jit_word_t i0, jit_word_t i1) +_depr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1,jit_word_t i0, jit_word_t i1) { if (jit_armv7_p()) { /* armv6t2 actually */ # if __BYTE_ORDER == __BIG_ENDIAN diff --git a/lib/jit_arm.c b/lib/jit_arm.c index 38f4ec4..1a11ba2 100644 --- a/lib/jit_arm.c +++ b/lib/jit_arm.c @@ -1636,14 +1636,14 @@ _emit_code(jit_state_t *_jit) case_rr(hton, _ui); case_rr(bswap, _us); case_rr(bswap, _ui); - case jit_code_ext: - ext(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr: + extr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_ext_u: - ext_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr_u: + extr_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_dep: - dep(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_depr: + depr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; case_rr(ext, _c); case_rr(ext, _uc); diff --git a/lib/jit_hppa-cpu.c b/lib/jit_hppa-cpu.c index 5640e4f..f889da0 100644 --- a/lib/jit_hppa-cpu.c +++ b/lib/jit_hppa-cpu.c @@ -663,12 +663,12 @@ static void _casx(jit_state_t *_jit,jit_int32_t,jit_int32_t, #define casi(r0, i0, r1, r2) casx(r0, _NOREG, r1, r2, i0) #define comr(r0,r1) UADDCM(_R0_REGNO,r1,r0) #define negr(r0,r1) SUB(_R0_REGNO,r1,r0) -#define ext(r0,r1,i0,i1) _ext(_jit,r0,r1,i0,i1) -static void _ext(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -#define ext_u(r0,r1,i0,i1) _ext_u(_jit,r0,r1,i0,i1) -static void _ext_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -#define dep(r0,r1,i0,i1) _dep(_jit,r0,r1,i0,i1) -static void _dep(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +#define extr(r0,r1,i0,i1) _extr(_jit,r0,r1,i0,i1) +static void _extr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +#define extr_u(r0,r1,i0,i1) _extr_u(_jit,r0,r1,i0,i1) +static void _extr_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +#define depr(r0,r1,i0,i1) _depr(_jit,r0,r1,i0,i1) +static void _depr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); #define extr_c(r0,r1) EXTRWR(r1,31,8,r0) #define extr_uc(r0,r1) EXTRWR_U(r1,31,8,r0) #define extr_s(r0,r1) EXTRWR(r1,31,16,r0) @@ -1710,8 +1710,8 @@ _movzr(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_int32_t r2) } static void -_ext(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_extr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); if ( i1 == __WORDSIZE) @@ -1725,8 +1725,8 @@ _ext(jit_state_t *_jit, } static void -_ext_u(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_extr_u(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); if (i1 == __WORDSIZE) @@ -1740,8 +1740,8 @@ _ext_u(jit_state_t *_jit, } static void -_dep(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_depr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { jit_int32_t t0; jit_word_t mask; diff --git a/lib/jit_hppa.c b/lib/jit_hppa.c index a65be62..9b1e114 100644 --- a/lib/jit_hppa.c +++ b/lib/jit_hppa.c @@ -1084,14 +1084,14 @@ _emit_code(jit_state_t *_jit) case_rr(ctz,); case_rr(rbit,); case_rr(popcnt,); - case jit_code_ext: - ext(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr: + extr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_ext_u: - ext_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr_u: + extr_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_dep: - dep(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_depr: + depr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; case_rr(ext, _c); case_rr(ext, _uc); diff --git a/lib/jit_ia64-cpu.c b/lib/jit_ia64-cpu.c index 7fc56c9..8c6f045 100644 --- a/lib/jit_ia64-cpu.c +++ b/lib/jit_ia64-cpu.c @@ -1332,12 +1332,12 @@ static void _bswapr_us(jit_state_t*,jit_int32_t,jit_int32_t); # define bswapr_ui(r0,r1) _bswapr_ui(_jit,r0,r1) static void _bswapr_ui(jit_state_t*,jit_int32_t,jit_int32_t); # define bswapr_ul(r0,r1) MUX1(r0,r1,MUX_REV) -#define ext(r0,r1,i0,i1) _ext(_jit,r0,r1,i0,i1) -static void _ext(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -#define ext_u(r0,r1,i0,i1) _ext_u(_jit,r0,r1,i0,i1) -static void _ext_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -#define dep(r0,r1,i0,i1) _dep(_jit,r0,r1,i0,i1) -static void _dep(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +#define extr(r0,r1,i0,i1) _extr(_jit,r0,r1,i0,i1) +static void _extr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +#define extr_u(r0,r1,i0,i1) _extr_u(_jit,r0,r1,i0,i1) +static void _extr_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +#define depr(r0,r1,i0,i1) _depr(_jit,r0,r1,i0,i1) +static void _depr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); #define extr_c(r0,r1) SXT1(r0,r1) #define extr_uc(r0,r1) ZXT1(r0,r1) #define extr_s(r0,r1) SXT2(r0,r1) @@ -3578,8 +3578,8 @@ _movzr(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_int32_t r2) } static void -_ext(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_extr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); if ( i1 == __WORDSIZE) @@ -3593,8 +3593,8 @@ _ext(jit_state_t *_jit, } static void -_ext_u(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_extr_u(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); if (i1 == __WORDSIZE) @@ -3608,8 +3608,8 @@ _ext_u(jit_state_t *_jit, } static void -_dep(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_depr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { jit_int32_t t0; jit_word_t mask; diff --git a/lib/jit_ia64.c b/lib/jit_ia64.c index 98c5186..2d67600 100644 --- a/lib/jit_ia64.c +++ b/lib/jit_ia64.c @@ -1242,14 +1242,14 @@ _emit_code(jit_state_t *_jit) case_rr(bswap, _us); case_rr(bswap, _ui); case_rr(bswap, _ul); - case jit_code_ext: - ext(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr: + extr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_ext_u: - ext_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr_u: + extr_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_dep: - dep(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_depr: + depr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; case_rr(ext, _c); case_rr(ext, _uc); diff --git a/lib/jit_loongarch-cpu.c b/lib/jit_loongarch-cpu.c index e33401e..ee06d25 100644 --- a/lib/jit_loongarch-cpu.c +++ b/lib/jit_loongarch-cpu.c @@ -505,10 +505,10 @@ static void _bswapr_us(jit_state_t*, jit_int32_t, jit_int32_t); # define bswapr_ui(r0,r1) _bswapr_ui(_jit,r0,r1) static void _bswapr_ui(jit_state_t*, jit_int32_t, jit_int32_t); # define bswapr_ul(r0, r1) REVB_D(r0, r1) -# define ext(r0,r1,i0,i1) _ext(_jit,r0,r1,i0,i1) -static void _ext(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -# define ext_u(r0,r1,i0,i1) BSTRPICK_D(r0, r1, i0 + i1 - 1, i0) -# define dep(r0,r1,i0,i1) BSTRINS_D(r0, r1, i0 + i1 - 1, i0) +# define extr(r0,r1,i0,i1) _extr(_jit,r0,r1,i0,i1) +static void _extr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +# define extr_u(r0,r1,i0,i1) BSTRPICK_D(r0, r1, i0 + i1 - 1, i0) +# define depr(r0,r1,i0,i1) BSTRINS_D(r0, r1, i0 + i1 - 1, i0) # define extr_c(r0, r1) EXT_W_B(r0, r1) # define extr_uc(r0, r1) BSTRPICK_D(r0, r1, 7, 0) # define extr_s(r0, r1) EXT_W_H(r0, r1) @@ -1720,8 +1720,8 @@ _bswapr_ui(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1) } static void -_ext(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_extr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); lshi(r0, r1, __WORDSIZE - (i0 + i1)); diff --git a/lib/jit_loongarch.c b/lib/jit_loongarch.c index 7604f15..dda37df 100644 --- a/lib/jit_loongarch.c +++ b/lib/jit_loongarch.c @@ -1184,14 +1184,14 @@ _emit_code(jit_state_t *_jit) case_rr(bswap, _us); case_rr(bswap, _ui); case_rr(bswap, _ul); - case jit_code_ext: - ext(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr: + extr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_ext_u: - ext_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr_u: + extr_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_dep: - dep(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_depr: + depr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; case_rr(ext, _c); case_rr(ext, _uc); diff --git a/lib/jit_mips-cpu.c b/lib/jit_mips-cpu.c index 9f85043..569a009 100644 --- a/lib/jit_mips-cpu.c +++ b/lib/jit_mips-cpu.c @@ -539,8 +539,8 @@ static void _rbitr(jit_state_t*, jit_int32_t, jit_int32_t); # define mod_r6(rd,rs,rt) DMOD_R6(rd,rs,rt) # define modu_r6(rd,rs,rt) DMODU_R6(rd,rs,rt) # endif -# define extr(rd,rt,lsb,nb) _extr(_jit,rd,rt,lsb,nb) -static void _extr(jit_state_t*,jit_int32_t,jit_int32_t,jit_int32_t,jit_int32_t); +# define mips_extr(rd,rt,lsb,nb) _mips_extr(_jit,rd,rt,lsb,nb) +static void _mips_extr(jit_state_t*,jit_int32_t,jit_int32_t,jit_int32_t,jit_int32_t); # define insr(rd,rt,lsb,nb) _insr(_jit,rd,rt,lsb,nb) static void _insr(jit_state_t*,jit_int32_t,jit_int32_t,jit_int32_t,jit_int32_t); # define addi(r0,r1,i0) _addi(_jit,r0,r1,i0) @@ -747,12 +747,12 @@ static void _bswapr_ui(jit_state_t*,jit_int32_t,jit_int32_t); # define bswapr_ul(r0,r1) _bswapr_ul(_jit,r0,r1) static void _bswapr_ul(jit_state_t*,jit_int32_t,jit_int32_t); # endif -#define ext(r0,r1,i0,i1) _ext(_jit,r0,r1,i0,i1) -static void _ext(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -#define ext_u(r0,r1,i0,i1) _ext_u(_jit,r0,r1,i0,i1) -static void _ext_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -#define dep(r0,r1,i0,i1) _dep(_jit,r0,r1,i0,i1) -static void _dep(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +#define extr(r0,r1,i0,i1) _extr(_jit,r0,r1,i0,i1) +static void _extr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +#define extr_u(r0,r1,i0,i1) _extr_u(_jit,r0,r1,i0,i1) +static void _extr_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +#define depr(r0,r1,i0,i1) _depr(_jit,r0,r1,i0,i1) +static void _depr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); # define extr_c(r0,r1) _extr_c(_jit,r0,r1) static void _extr_c(jit_state_t*,jit_int32_t,jit_int32_t); # define extr_uc(r0,r1) ANDI(r0,r1,0xff) @@ -1608,7 +1608,7 @@ _nop(jit_state_t *_jit, jit_int32_t i0) } static void -_extr(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, +_mips_extr(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_int32_t pos, jit_int32_t size) { assert(size > 0); @@ -2257,7 +2257,7 @@ _andi(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_word_t i0) ANDI(r0, r1, i0); else if (is_low_mask(i0)) { if (jit_mips2_p()) - extr(r0, r1, 0, masked_bits_count(i0)); + mips_extr(r0, r1, 0, masked_bits_count(i0)); else { lshi(r0, r1, unmasked_bits_count(i0)); rshi_u(r0, r0, unmasked_bits_count(i0)); @@ -2270,7 +2270,7 @@ _andi(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_word_t i0) lshi(r0, r0, unmasked_bits_count(i0)); } } else if (jit_mips2_p() && is_middle_mask(i0)) { - extr(r0, r1, __builtin_ctzl(i0), masked_bits_count(i0)); + mips_extr(r0, r1, __builtin_ctzl(i0), masked_bits_count(i0)); lshi(r0, r0, __builtin_ctzl(i0)); } else if (jit_mips2_p() && is_middle_mask(~i0)) { if (r0 != r1) @@ -2920,7 +2920,7 @@ _bswapr_ui(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1) SLL(r0, r1, 0); WSBH(r0, r0); ROTR(r0, r0, 16); - extr(r0, r0, 0, 32); + mips_extr(r0, r0, 0, 32); } else { WSBH(r0, r1); ROTR(r0, r0, 16); @@ -2944,8 +2944,8 @@ _bswapr_ul(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1) #endif static void -_ext(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_extr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); if ( i1 == __WORDSIZE) @@ -2960,8 +2960,8 @@ _ext(jit_state_t *_jit, } static void -_ext_u(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_extr_u(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); if (jit_mips2_p()) { @@ -2990,8 +2990,8 @@ _ext_u(jit_state_t *_jit, } static void -_dep(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_depr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); if (jit_mips2_p()) { diff --git a/lib/jit_mips.c b/lib/jit_mips.c index 83d5ecd..79d9466 100644 --- a/lib/jit_mips.c +++ b/lib/jit_mips.c @@ -1638,14 +1638,14 @@ _emit_code(jit_state_t *_jit) #if __WORDSIZE == 64 case_rr(bswap, _ul); #endif - case jit_code_ext: - ext(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr: + extr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_ext_u: - ext_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr_u: + extr_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_dep: - dep(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_depr: + depr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; case_rr(ext, _c); case_rr(ext, _uc); diff --git a/lib/jit_names.c b/lib/jit_names.c index 92f6f95..f423018 100644 --- a/lib/jit_names.c +++ b/lib/jit_names.c @@ -259,6 +259,6 @@ static char *code_name[] = { "popcntr", "lrotr", "lroti", "rrotr", "rroti", - "ext", "ext_u", - "dep", + "extr", "extr_u", + "depr", }; diff --git a/lib/jit_ppc-cpu.c b/lib/jit_ppc-cpu.c index aa1c2c9..c056787 100644 --- a/lib/jit_ppc-cpu.c +++ b/lib/jit_ppc-cpu.c @@ -548,12 +548,12 @@ static void _ctor(jit_state_t*, jit_int32_t, jit_int32_t); static void _ctzr(jit_state_t*, jit_int32_t, jit_int32_t); # define popcntr(r0, r1) _popcntr(_jit, r0, r1) static void _popcntr(jit_state_t*, jit_int32_t, jit_int32_t); -# define ext(r0,r1,i0,i1) _ext(_jit,r0,r1,i0,i1) -static void _ext(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -# define ext_u(r0,r1,i0,i1) _ext_u(_jit,r0,r1,i0,i1) -static void _ext_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -# define dep(r0,r1,i0,i1) _dep(_jit,r0,r1,i0,i1) -static void _dep(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +# define extr(r0,r1,i0,i1) _extr(_jit,r0,r1,i0,i1) +static void _extr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +# define extr_u(r0,r1,i0,i1) _extr_u(_jit,r0,r1,i0,i1) +static void _extr_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +# define depr(r0,r1,i0,i1) _depr(_jit,r0,r1,i0,i1) +static void _depr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); # define extr_c(r0,r1) EXTSB(r0,r1) # define extr_uc(r0,r1) ANDI_(r0,r1,0xff) # define extr_s(r0,r1) EXTSH(r0,r1) @@ -1285,8 +1285,8 @@ _popcntr(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1) } static void -_ext(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0 ,jit_word_t i1) +_extr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0 ,jit_word_t i1) { assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); if ( i1 == __WORDSIZE) @@ -1301,8 +1301,8 @@ _ext(jit_state_t *_jit, } static void -_ext_u(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0 ,jit_word_t i1) +_extr_u(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0 ,jit_word_t i1) { assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); if (i1 == __WORDSIZE) @@ -1320,8 +1320,8 @@ _ext_u(jit_state_t *_jit, } static void -_dep(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0 ,jit_word_t i1) +_depr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0 ,jit_word_t i1) { assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); if (i1 == __WORDSIZE) diff --git a/lib/jit_ppc.c b/lib/jit_ppc.c index 11a883c..a0c38f9 100644 --- a/lib/jit_ppc.c +++ b/lib/jit_ppc.c @@ -1355,14 +1355,14 @@ _emit_code(jit_state_t *_jit) case_rrw(lrot,); case_rrr(rrot,); case_rrw(rrot,); - case jit_code_ext: - ext(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr: + extr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_ext_u: - ext_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr_u: + extr_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_dep: - dep(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_depr: + depr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; case_rr(ext, _c); case_rr(ext, _uc); diff --git a/lib/jit_riscv.c b/lib/jit_riscv.c index be07d60..c02ddf2 100644 --- a/lib/jit_riscv.c +++ b/lib/jit_riscv.c @@ -1244,17 +1244,17 @@ _emit_code(jit_state_t *_jit) case_rr(bswap, _us); case_rr(bswap, _ui); case_rr(bswap, _ul); -#define ext(r0, r1, i0, i1) fallback_ext(r0, r1, i0, i1) -#define ext_u(r0, r1, i0, i1) fallback_ext_u(r0, r1, i0, i1) -#define dep(r0, r1, i0, i1) fallback_dep(r0, r1, i0, i1) - case jit_code_ext: - ext(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); +#define extr(r0, r1, i0, i1) fallback_ext(r0, r1, i0, i1) +#define extr_u(r0, r1, i0, i1) fallback_ext_u(r0, r1, i0, i1) +#define depr(r0, r1, i0, i1) fallback_dep(r0, r1, i0, i1) + case jit_code_extr: + extr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_ext_u: - ext_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr_u: + extr_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_dep: - dep(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_depr: + depr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; case_rr(ext, _c); case_rr(ext, _uc); diff --git a/lib/jit_s390.c b/lib/jit_s390.c index eb3f73f..3eb6044 100644 --- a/lib/jit_s390.c +++ b/lib/jit_s390.c @@ -1219,17 +1219,17 @@ _emit_code(jit_state_t *_jit) #if __WORDSIZE == 64 case_rr(bswap, _ul); #endif -#define ext(r0, r1, i0, i1) fallback_ext(r0, r1, i0, i1) -#define ext_u(r0, r1, i0, i1) fallback_ext_u(r0, r1, i0, i1) -#define dep(r0, r1, i0, i1) fallback_dep(r0, r1, i0, i1) - case jit_code_ext: - ext(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); +#define extr(r0, r1, i0, i1) fallback_ext(r0, r1, i0, i1) +#define extr_u(r0, r1, i0, i1) fallback_ext_u(r0, r1, i0, i1) +#define depr(r0, r1, i0, i1) fallback_dep(r0, r1, i0, i1) + case jit_code_extr: + extr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_ext_u: - ext_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr_u: + extr_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_dep: - dep(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_depr: + depr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; case_rr(ext, _c); case_rr(ext, _uc); diff --git a/lib/jit_sparc.c b/lib/jit_sparc.c index 87826a2..e70b670 100644 --- a/lib/jit_sparc.c +++ b/lib/jit_sparc.c @@ -1527,17 +1527,17 @@ _emit_code(jit_state_t *_jit) #if __WORDSIZE == 64 case_rr(bswap, _ul); #endif -#define ext(r0, r1, i0, i1) fallback_ext(r0, r1, i0, i1) -#define ext_u(r0, r1, i0, i1) fallback_ext_u(r0, r1, i0, i1) -#define dep(r0, r1, i0, i1) fallback_dep(r0, r1, i0, i1) - case jit_code_ext: - ext(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); +#define extr(r0, r1, i0, i1) fallback_ext(r0, r1, i0, i1) +#define extr_u(r0, r1, i0, i1) fallback_ext_u(r0, r1, i0, i1) +#define depr(r0, r1, i0, i1) fallback_dep(r0, r1, i0, i1) + case jit_code_extr: + extr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_ext_u: - ext_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr_u: + extr_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_dep: - dep(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_depr: + depr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; case_rr(ext, _c); case_rr(ext, _uc); diff --git a/lib/jit_x86-cpu.c b/lib/jit_x86-cpu.c index cb58bad..2d4eac3 100644 --- a/lib/jit_x86-cpu.c +++ b/lib/jit_x86-cpu.c @@ -448,12 +448,12 @@ static void _bswapr_ui(jit_state_t*,jit_int32_t,jit_int32_t); #define bswapr_ul(r0, r1) _bswapr_ul(_jit, r0, r1) static void _bswapr_ul(jit_state_t*,jit_int32_t,jit_int32_t); #endif -# define ext(r0, r1, i0, i1) _ext(_jit, r0, r1, i0, i1) -static void _ext(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -# define ext_u(r0, r1, i0, i1) _ext_u(_jit, r0, r1, i0, i1) -static void _ext_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); -# define dep(r0, r1, i0, i1) _dep(_jit, r0, r1, i0, i1) -static void _dep(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +# define extr(r0, r1, i0, i1) _extr(_jit, r0, r1, i0, i1) +static void _extr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +# define extr_u(r0, r1, i0, i1) _extr_u(_jit, r0, r1, i0, i1) +static void _extr_u(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); +# define depr(r0, r1, i0, i1) _depr(_jit, r0, r1, i0, i1) +static void _depr(jit_state_t*,jit_int32_t,jit_int32_t,jit_word_t,jit_word_t); # define extr_c(r0, r1) _extr_c(_jit, r0, r1) static void _extr_c(jit_state_t*,jit_int32_t,jit_int32_t); # define extr_uc(r0, r1) _extr_uc(_jit, r0, r1) @@ -2814,14 +2814,13 @@ _bswapr_ul(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1) #endif static void -_ext(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_extr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { jit_word_t mask; assert(i0 >= 0 && i1 >= 1 && i0 + i1 <= __WORDSIZE); if (i1 == __WORDSIZE) movr(r0, r1); - /* Pointless to use PEXT as would still need to sign extend */ else { lshi(r0, r1, __WORDSIZE - (i0 + i1)); rshi(r0, r0, __WORDSIZE - i1); @@ -2829,8 +2828,8 @@ _ext(jit_state_t *_jit, } static void -_ext_u(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_extr_u(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { jit_int32_t t0; jit_word_t mask; @@ -2857,8 +2856,8 @@ _ext_u(jit_state_t *_jit, } static void -_dep(jit_state_t *_jit, - jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) +_depr(jit_state_t *_jit, + jit_int32_t r0, jit_int32_t r1, jit_word_t i0, jit_word_t i1) { jit_word_t mask; jit_int32_t t0, t1; diff --git a/lib/jit_x86.c b/lib/jit_x86.c index 447a8a3..8a00b27 100644 --- a/lib/jit_x86.c +++ b/lib/jit_x86.c @@ -1881,14 +1881,14 @@ _emit_code(jit_state_t *_jit) #if __X64 && !__X64_32 case_rr(bswap, _ul); #endif - case jit_code_ext: - ext(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr: + extr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_ext_u: - ext_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_extr_u: + extr_u(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; - case jit_code_dep: - dep(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); + case jit_code_depr: + depr(rn(node->u.w), rn(node->v.w), node->w.q.l, node->w.q.h); break; case_rr(ext, _c); case_rr(ext, _uc); diff --git a/lib/lightning.c b/lib/lightning.c index 7217d58..7c8ad3b 100644 --- a/lib/lightning.c +++ b/lib/lightning.c @@ -1628,7 +1628,7 @@ _jit_classify(jit_state_t *_jit, jit_code_t code) mask = jit_cc_a0_reg|jit_cc_a0_chg|jit_cc_a1_int| jit_cc_a2_reg|jit_cc_a2_rlh; break; - case jit_code_ext: case jit_code_ext_u: case jit_code_dep: + case jit_code_extr: case jit_code_extr_u: case jit_code_depr: mask = jit_cc_a0_reg|jit_cc_a0_chg|jit_cc_a1_reg|jit_cc_a2_rlh; break; default: |