lightning.git - Portable just-in-time compiler library

index : lightning.git
Portable just-in-time compiler library
summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat
-rw-r--r--include/lightning.h.in 175
-rw-r--r--lib/jit_aarch64-sz.c 159
-rw-r--r--lib/jit_alpha-sz.c 84
-rw-r--r--lib/jit_arm-sz.c 856
-rw-r--r--lib/jit_hppa-sz.c 507
-rw-r--r--lib/jit_ia64-cpu.c 2
-rw-r--r--lib/jit_ia64-fpu.c 28
-rw-r--r--lib/jit_ia64-sz.c 100
-rw-r--r--lib/jit_loongarch-sz.c 88
-rw-r--r--lib/jit_mips-sz.c 116
-rw-r--r--lib/jit_names.c 76
-rw-r--r--lib/jit_ppc-sz.c 2170
-rw-r--r--lib/jit_riscv-sz.c 504
-rw-r--r--lib/jit_s390-fpu.c 40
-rw-r--r--lib/jit_s390-sz.c 200
-rw-r--r--lib/jit_sparc-sz.c 1250
-rw-r--r--lib/jit_x86-sz.c 312
17 files changed, 3514 insertions, 3153 deletions
diff --git a/include/lightning.h.in b/include/lightning.h.in
index 3c049ed..a4ef49f 100644
--- a/include/lightning.h.in
+++ b/include/lightning.h.in
@@ -365,8 +365,11 @@ typedef enum {
jit_code_rshr_u, jit_code_rshi_u,
#define jit_negr(u,v) jit_new_node_ww(jit_code_negr,u,v)
+#define jit_negi(u,v) jit_new_node_ww(jit_code_negi,u,v)
+ jit_code_negr, jit_code_negi,
#define jit_comr(u,v) jit_new_node_ww(jit_code_comr,u,v)
- jit_code_negr, jit_code_comr,
+#define jit_comi(u,v) jit_new_node_ww(jit_code_comi,u,v)
+ jit_code_comr, jit_code_comi,
#define jit_ltr(u,v,w) jit_new_node_www(jit_code_ltr,u,v,w)
#define jit_lti(u,v,w) jit_new_node_www(jit_code_lti,u,v,w)
@@ -412,25 +415,43 @@ typedef enum {
#define jit_casi(u, v, w, x) jit_new_node_wwq(jit_code_casi, u, v, w, x)
#define jit_extr_c(u,v) jit_new_node_ww(jit_code_extr_c,u,v)
+#define jit_exti_c(u,v) jit_new_node_ww(jit_code_exti_c,u,v)
+ jit_code_extr_c, jit_code_exti_c,
+
#define jit_extr_uc(u,v) jit_new_node_ww(jit_code_extr_uc,u,v)
- jit_code_extr_c, jit_code_extr_uc,
+#define jit_exti_uc(u,v) jit_new_node_ww(jit_code_exti_uc,u,v)
+ jit_code_extr_uc, jit_code_exti_uc,
+
#define jit_extr_s(u,v) jit_new_node_ww(jit_code_extr_s,u,v)
+#define jit_exti_s(u,v) jit_new_node_ww(jit_code_exti_s,u,v)
+ jit_code_extr_s, jit_code_exti_s,
+
#define jit_extr_us(u,v) jit_new_node_ww(jit_code_extr_us,u,v)
- jit_code_extr_s, jit_code_extr_us,
+#define jit_exti_us(u,v) jit_new_node_ww(jit_code_exti_us,u,v)
+ jit_code_extr_us, jit_code_exti_us,
+
#if __WORDSIZE == 64
# define jit_extr_i(u,v) jit_new_node_ww(jit_code_extr_i,u,v)
+# define jit_exti_i(u,v) jit_new_node_ww(jit_code_exti_i,u,v)
# define jit_extr_ui(u,v) jit_new_node_ww(jit_code_extr_ui,u,v)
+# define jit_exti_ui(u,v) jit_new_node_ww(jit_code_exti_ui,u,v)
#endif
- jit_code_extr_i, jit_code_extr_ui,
+ jit_code_extr_i, jit_code_exti_i,
+ jit_code_extr_ui, jit_code_exti_ui,
#define jit_bswapr_us(u,v) jit_new_node_ww(jit_code_bswapr_us,u,v)
+#define jit_bswapi_us(u,v) jit_new_node_ww(jit_code_bswapi_us,u,v)
+ jit_code_bswapr_us, jit_code_bswapi_us,
+
#define jit_bswapr_ui(u,v) jit_new_node_ww(jit_code_bswapr_ui,u,v)
- jit_code_bswapr_us, jit_code_bswapr_ui,
+#define jit_bswapi_ui(u,v) jit_new_node_ww(jit_code_bswapi_ui,u,v)
+ jit_code_bswapr_ui, jit_code_bswapi_ui,
#if __WORDSIZE == 64
# define jit_bswapr_ul(u,v) jit_new_node_ww(jit_code_bswapr_ul,u,v)
+# define jit_bswapi_ul(u,v) jit_new_node_ww(jit_code_bswapi_ul,u,v)
#endif
- jit_code_bswapr_ul,
+ jit_code_bswapr_ul, jit_code_bswapi_ul,
#if __WORDSIZE == 32
# define jit_bswapr(u,v) jit_bswapr_ui(u,v)
@@ -442,22 +463,33 @@ typedef enum {
#define jit_htonr_us(u,v) jit_new_node_ww(jit_code_htonr_us,u,v)
#define jit_ntohr_us(u,v) jit_htonr_us(u,v)
+#define jit_htoni_us(u,v) jit_new_node_ww(jit_code_htoni_us,u,v)
+#define jit_ntohi_us(u,v) jit_htoni_us(u, v)
+ jit_code_htonr_us, jit_code_htoni_us,
+
#define jit_htonr_ui(u,v) jit_new_node_ww(jit_code_htonr_ui,u,v)
#define jit_ntohr_ui(u,v) jit_htonr_ui(u,v)
- jit_code_htonr_us, jit_code_htonr_ui,
+#define jit_htoni_ui(u,v) jit_new_node_ww(jit_code_htoni_ui,u,v)
+#define jit_ntohi_ui(u,v) jit_htoni_ui(u, v)
+ jit_code_htonr_ui, jit_code_htoni_ui,
#if __WORDSIZE == 64
# define jit_htonr_ul(u,v) jit_new_node_ww(jit_code_htonr_ul,u,v)
# define jit_ntohr_ul(u,v) jit_htonr_ul(u,v)
+# define jit_htoni_ul(u,v) jit_new_node_ww(jit_code_htoni_ul,u,v)
+# define jit_ntohi_ul(u,v) jit_htoni_ul(u, v)
#endif
- jit_code_htonr_ul,
+ jit_code_htonr_ul, jit_code_htoni_ul,
#if __WORDSIZE == 32
# define jit_htonr(u,v) jit_htonr_ui(u,v)
+# define jit_htoni(u,v) jit_htoni_ui(u,v)
#else
# define jit_htonr(u,v) jit_htonr_ul(u,v)
+# define jit_htoni(u,v) jit_htoni_ul(u,v)
#endif
#define jit_ntohr(u,v) jit_htonr(u,v)
+#define jit_ntohi(u,v) jit_htoni(u,v)
#define jit_ldr_c(u,v) jit_new_node_ww(jit_code_ldr_c,u,v)
#define jit_ldi_c(u,v) jit_new_node_wp(jit_code_ldi_c,u,v)
@@ -756,10 +788,16 @@ typedef enum {
#define jit_divr_f(u,v,w) jit_new_node_www(jit_code_divr_f,u,v,w)
#define jit_divi_f(u,v,w) jit_new_node_wwf(jit_code_divi_f,u,v,w)
jit_code_divr_f, jit_code_divi_f,
+
#define jit_negr_f(u,v) jit_new_node_ww(jit_code_negr_f,u,v)
+#define jit_negi_f(u,v) _jit_negi_f(_jit,u,v)
+ jit_code_negr_f, jit_code_negi_f,
#define jit_absr_f(u,v) jit_new_node_ww(jit_code_absr_f,u,v)
+#define jit_absi_f(u,v) _jit_absi_f(_jit,u,v)
+ jit_code_absr_f, jit_code_absi_f,
#define jit_sqrtr_f(u,v) jit_new_node_ww(jit_code_sqrtr_f,u,v)
- jit_code_negr_f, jit_code_absr_f, jit_code_sqrtr_f,
+#define jit_sqrti_f(u,v) _jit_sqrti_f(_jit,u,v)
+ jit_code_sqrtr_f, jit_code_sqrti_f,
#define jit_ltr_f(u,v,w) jit_new_node_www(jit_code_ltr_f,u,v,w)
#define jit_lti_f(u,v,w) jit_new_node_wwf(jit_code_lti_f,u,v,w)
@@ -910,9 +948,14 @@ typedef enum {
jit_code_divr_d, jit_code_divi_d,
#define jit_negr_d(u,v) jit_new_node_ww(jit_code_negr_d,u,v)
+#define jit_negi_d(u,v) _jit_negi_d(_jit,u,v)
+ jit_code_negr_d, jit_code_negi_d,
#define jit_absr_d(u,v) jit_new_node_ww(jit_code_absr_d,u,v)
+#define jit_absi_d(u,v) _jit_absi_d(_jit,u,v)
+ jit_code_absr_d, jit_code_absi_d,
#define jit_sqrtr_d(u,v) jit_new_node_ww(jit_code_sqrtr_d,u,v)
- jit_code_negr_d, jit_code_absr_d, jit_code_sqrtr_d,
+#define jit_sqrti_d(u,v) _jit_sqrti_d(_jit,u,v)
+ jit_code_sqrtr_d, jit_code_sqrti_d,
#define jit_ltr_d(u,v,w) jit_new_node_www(jit_code_ltr_d,u,v,w)
#define jit_lti_d(u,v,w) jit_new_node_wwd(jit_code_lti_d,u,v,w)
@@ -1038,36 +1081,54 @@ typedef enum {
#define jit_retval_d(u) _jit_retval_d(_jit,u)
jit_code_retval_d,
- jit_code_movr_w_f, jit_code_movr_ww_d, /* w* -> f|d */
+ /* w* -> f|d */
#define jit_movr_w_f(u, v) jit_new_node_ww(jit_code_movr_w_f, u, v)
+#define jit_movi_w_f(u,v) jit_new_node_ww(jit_code_movi_w_f, u, v)
+ jit_code_movr_w_f, jit_code_movi_w_f,
#define jit_movr_ww_d(u, v, w) jit_new_node_www(jit_code_movr_ww_d, u, v, w)
- jit_code_movr_w_d, /* w -> d */
+#define jit_movi_ww_d(u,v, w) jit_new_node_www(jit_code_movi_ww_d, u, v, w)
+ jit_code_movr_ww_d, jit_code_movi_ww_d,
+
+ /* w -> d */
#define jit_movr_w_d(u, v) jit_new_node_ww(jit_code_movr_w_d, u, v)
+#define jit_movi_w_d(u,v) jit_new_node_ww(jit_code_movi_w_d, u, v)
+ jit_code_movr_w_d, jit_code_movi_w_d,
- jit_code_movr_f_w, jit_code_movi_f_w, /* f|d -> w* */
+ /* f|d -> w* */
#define jit_movr_f_w(u, v) jit_new_node_ww(jit_code_movr_f_w, u, v)
#define jit_movi_f_w(u, v) jit_new_node_wf(jit_code_movi_f_w, u, v)
- jit_code_movr_d_ww, jit_code_movi_d_ww,
+ jit_code_movr_f_w, jit_code_movi_f_w,
#define jit_movr_d_ww(u, v, w) jit_new_node_www(jit_code_movr_d_ww, u, v, w)
#define jit_movi_d_ww(u, v, w) jit_new_node_wwd(jit_code_movi_d_ww, u, v, w)
+ jit_code_movr_d_ww, jit_code_movi_d_ww,
- jit_code_movr_d_w, jit_code_movi_d_w, /* d -> w */
+ /* d -> w */
#define jit_movr_d_w(u, v) jit_new_node_ww(jit_code_movr_d_w, u, v)
#define jit_movi_d_w(u, v) jit_new_node_wd(jit_code_movi_d_w, u, v)
+ jit_code_movr_d_w, jit_code_movi_d_w,
#define jit_clor(u,v) jit_new_node_ww(jit_code_clor,u,v)
+#define jit_cloi(u,v) jit_new_node_ww(jit_code_cloi,u,v)
+ jit_code_clor, jit_code_cloi,
+
#define jit_clzr(u,v) jit_new_node_ww(jit_code_clzr,u,v)
- jit_code_clor, jit_code_clzr,
+#define jit_clzi(u,v) jit_new_node_ww(jit_code_clzi,u,v)
+ jit_code_clzr, jit_code_clzi,
#define jit_ctor(u,v) jit_new_node_ww(jit_code_ctor,u,v)
+#define jit_ctoi(u,v) jit_new_node_ww(jit_code_ctoi,u,v)
+ jit_code_ctor, jit_code_ctoi,
#define jit_ctzr(u,v) jit_new_node_ww(jit_code_ctzr,u,v)
- jit_code_ctor, jit_code_ctzr,
+#define jit_ctzi(u,v) jit_new_node_ww(jit_code_ctzi,u,v)
+ jit_code_ctzr, jit_code_ctzi,
#define jit_rbitr(u,v) jit_new_node_ww(jit_code_rbitr,u,v)
- jit_code_rbitr,
+#define jit_rbiti(u,v) jit_new_node_ww(jit_code_rbiti,u,v)
+ jit_code_rbitr, jit_code_rbiti,
#define jit_popcntr(u,v) jit_new_node_ww(jit_code_popcntr,u,v)
- jit_code_popcntr,
+#define jit_popcnti(u,v) jit_new_node_ww(jit_code_popcnti,u,v)
+ jit_code_popcntr, jit_code_popcnti,
#define jit_lrotr(u,v,w) jit_new_node_www(jit_code_lrotr,u,v,w)
#define jit_lroti(u,v,w) jit_new_node_www(jit_code_lroti,u,v,w)
@@ -1077,77 +1138,15 @@ typedef enum {
jit_code_rrotr, jit_code_rroti,
#define jit_extr(u,v,w,x) jit_new_node_wwq(jit_code_extr, u, v, w, x)
+#define jit_exti(u,v,w,x) jit_new_node_wwq(jit_code_exti, u, v, w, x)
+ jit_code_extr, jit_code_exti,
#define jit_extr_u(u,v,w,x) jit_new_node_wwq(jit_code_extr_u, u, v, w, x)
+#define jit_exti_u(u,v,w,x) jit_new_node_wwq(jit_code_exti_u, u, v, w, x)
+ jit_code_extr_u, jit_code_exti_u,
#define jit_depr(u,v,w,x) jit_new_node_wwq(jit_code_depr, u, v, w, x)
#define jit_depi(u,v,w,x) jit_new_node_wwq(jit_code_depi, u, v, w, x)
- jit_code_extr, jit_code_extr_u,
jit_code_depr, jit_code_depi,
- /* FIXME Reorder in next release/major bump */
-#define jit_negi(u,v) jit_new_node_ww(jit_code_negi,u,v)
-#define jit_comi(u,v) jit_new_node_ww(jit_code_comi,u,v)
- jit_code_negi, jit_code_comi,
-#define jit_exti_c(u,v) jit_new_node_ww(jit_code_exti_c,u,v)
-#define jit_exti_uc(u,v) jit_new_node_ww(jit_code_exti_uc,u,v)
- jit_code_exti_c, jit_code_exti_uc,
-#define jit_exti_s(u,v) jit_new_node_ww(jit_code_exti_s,u,v)
-#define jit_exti_us(u,v) jit_new_node_ww(jit_code_exti_us,u,v)
- jit_code_exti_s, jit_code_exti_us,
-#if __WORDSIZE == 64
-# define jit_exti_i(u,v) jit_new_node_ww(jit_code_exti_i,u,v)
-# define jit_exti_ui(u,v) jit_new_node_ww(jit_code_exti_ui,u,v)
-#endif
- jit_code_exti_i, jit_code_exti_ui,
-#define jit_bswapi_us(u,v) jit_new_node_ww(jit_code_bswapi_us,u,v)
-#define jit_bswapi_ui(u,v) jit_new_node_ww(jit_code_bswapi_ui,u,v)
- jit_code_bswapi_us, jit_code_bswapi_ui,
-#if __WORDSIZE == 64
-# define jit_bswapi_ul(u,v) jit_new_node_ww(jit_code_bswapi_ul,u,v)
-#endif
- jit_code_bswapi_ul,
-#if __WORDSIZE == 32
-# define jit_bswapi(u,v) jit_bswapi_ui(u,v)
-#else
-# define jit_bswapi(u,v) jit_bswapi_ul(u,v)
-#endif
-#define jit_htoni_us(u,v) jit_new_node_ww(jit_code_htoni_us,u,v)
-#define jit_ntohi_us(u,v) jit_htoni_us(u, v)
-#define jit_htoni_ui(u,v) jit_new_node_ww(jit_code_htoni_ui,u,v)
-#define jit_ntohi_ui(u,v) jit_htoni_ui(u, v)
- jit_code_htoni_us, jit_code_htoni_ui,
-#if __WORDSIZE == 64
-# define jit_htoni_ul(u,v) jit_new_node_ww(jit_code_htoni_ul,u,v)
-# define jit_ntohi_ul(u,v) jit_htoni_ul(u, v)
-#endif
- jit_code_htoni_ul,
-#if __WORDSIZE == 32
-# define jit_htoni(u,v) jit_htoni_ui(u,v)
-#else
-# define jit_htoni(u,v) jit_htoni_ul(u,v)
-#endif
-#define jit_ntohi(u,v) jit_htoni(u,v)
-#define jit_negi_f(u,v) _jit_negi_f(_jit,u,v)
-#define jit_absi_f(u,v) _jit_absi_f(_jit,u,v)
-#define jit_sqrti_f(u,v) _jit_sqrti_f(_jit,u,v)
- jit_code_negi_f, jit_code_absi_f, jit_code_sqrti_f,
-#define jit_negi_d(u,v) _jit_negi_d(_jit,u,v)
-#define jit_absi_d(u,v) _jit_absi_d(_jit,u,v)
-#define jit_sqrti_d(u,v) _jit_sqrti_d(_jit,u,v)
- jit_code_negi_d, jit_code_absi_d, jit_code_sqrti_d,
-#define jit_cloi(u,v) jit_new_node_ww(jit_code_cloi,u,v)
-#define jit_clzi(u,v) jit_new_node_ww(jit_code_clzi,u,v)
- jit_code_cloi, jit_code_clzi,
-#define jit_ctoi(u,v) jit_new_node_ww(jit_code_ctoi,u,v)
-#define jit_ctzi(u,v) jit_new_node_ww(jit_code_ctzi,u,v)
- jit_code_ctoi, jit_code_ctzi,
-#define jit_rbiti(u,v) jit_new_node_ww(jit_code_rbiti,u,v)
- jit_code_rbiti,
-#define jit_popcnti(u,v) jit_new_node_ww(jit_code_popcnti,u,v)
- jit_code_popcnti,
-#define jit_exti(u,v,w,x) jit_new_node_wwq(jit_code_exti, u, v, w, x)
-#define jit_exti_u(u,v,w,x) jit_new_node_wwq(jit_code_exti_u, u, v, w, x)
- jit_code_exti, jit_code_exti_u,
-
#define jit_qlshr(l,h,v,w) jit_new_node_qww(jit_code_qlshr,l,h,v,w)
#define jit_qlshi(l,h,v,w) jit_new_node_qww(jit_code_qlshi,l,h,v,w)
jit_code_qlshr, jit_code_qlshi,
@@ -1178,12 +1177,6 @@ typedef enum {
#define jit_unsti_x(u,v,w) jit_new_node_www(jit_code_unsti_x, u, v, w)
jit_code_unstr_x, jit_code_unsti_x,
-#define jit_movi_w_f(u,v) jit_new_node_ww(jit_code_movi_w_f, u, v)
-#define jit_movi_w_d(u,v) jit_new_node_ww(jit_code_movi_w_d, u, v)
-#define jit_movi_ww_d(u,v, w) jit_new_node_www(jit_code_movi_ww_d, u, v, w)
- jit_code_movi_w_f,
- jit_code_movi_w_d, jit_code_movi_ww_d,
-
#define jit_fmar_f(u,v,w,x) jit_new_node_wqw(jit_code_fmar_f, u, v, w, x)
#define jit_fmai_f(u,v,w,x) _jit_fmai_f(_jit, u, v, w, x)
jit_code_fmar_f, jit_code_fmai_f,
diff --git a/lib/jit_aarch64-sz.c b/lib/jit_aarch64-sz.c
index 937eacd..0a7bc2d 100644
--- a/lib/jit_aarch64-sz.c
+++ b/lib/jit_aarch64-sz.c
@@ -89,7 +89,9 @@
4, /* rshr_u */
4, /* rshi_u */
4, /* negr */
+ 4, /* negi */
4, /* comr */
+ 4, /* comi */
8, /* ltr */
8, /* lti */
8, /* ltr_u */
@@ -115,19 +117,31 @@
8, /* movnr */
8, /* movzr */
28, /* casr */
- 40, /* casi */
+ 36, /* casi */
4, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
+ 4, /* exti_uc */
4, /* extr_s */
+ 4, /* exti_s */
4, /* extr_us */
+ 4, /* exti_us */
4, /* extr_i */
+ 12, /* exti_i */
4, /* extr_ui */
+ 4, /* exti_ui */
8, /* bswapr_us */
+ 4, /* bswapi_us */
8, /* bswapr_ui */
+ 8, /* bswapi_ui */
4, /* bswapr_ul */
+ 16, /* bswapi_ul */
8, /* htonr_us */
+ 4, /* htoni_us */
8, /* htonr_ui */
+ 8, /* htoni_ui */
4, /* htonr_ul */
+ 16, /* htoni_ul */
4, /* ldr_c */
16, /* ldi_c */
4, /* ldr_uc */
@@ -270,8 +284,11 @@
4, /* divr_f */
12, /* divi_f */
4, /* negr_f */
+ 0, /* negi_f */
4, /* absr_f */
+ 0, /* absi_f */
4, /* sqrtr_f */
+ 0, /* sqrti_f */
8, /* ltr_f */
16, /* lti_f */
8, /* ler_f */
@@ -361,8 +378,11 @@
4, /* divr_d */
12, /* divi_d */
4, /* negr_d */
+ 0, /* negi_d */
4, /* absr_d */
+ 0, /* absi_d */
4, /* sqrtr_d */
+ 0, /* sqrti_d */
8, /* ltr_d */
16, /* lti_d */
8, /* ler_d */
@@ -439,8 +459,11 @@
0, /* reti_d */
0, /* retval_d */
4, /* movr_w_f */
+ 8, /* movi_w_f */
0, /* movr_ww_d */
+ 0, /* movi_ww_d */
4, /* movr_w_d */
+ 8, /* movi_w_d */
4, /* movr_f_w */
4, /* movi_f_w */
0, /* movr_d_ww */
@@ -448,47 +471,27 @@
4, /* movr_d_w */
4, /* movi_d_w */
8, /* clor */
+ 4, /* cloi */
4, /* clzr */
+ 4, /* clzi */
12, /* ctor */
+ 4, /* ctoi */
8, /* ctzr */
+ 4, /* ctzi */
4, /* rbitr */
+ 16, /* rbiti */
16, /* popcntr */
+ 4, /* popcnti */
12, /* lrotr */
4, /* lroti */
4, /* rrotr */
4, /* rroti */
4, /* extr */
+ 4, /* exti */
4, /* extr_u */
+ 4, /* exti_u */
4, /* depr */
8, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 4, /* exti_us */
- 12, /* exti_i */
- 4, /* exti_ui */
- 4, /* bswapi_us */
- 8, /* bswapi_ui */
- 16, /* bswapi_ul */
- 4, /* htoni_us */
- 8, /* htoni_ui */
- 16, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 4, /* cloi */
- 4, /* clzi */
- 4, /* ctoi */
- 4, /* ctzi */
- 16, /* rbiti */
- 4, /* popcnti */
- 4, /* exti */
- 4, /* exti_u */
56, /* qlshr */
8, /* qlshi */
52, /* qlshr_u */
@@ -507,10 +510,22 @@
20, /* unldi_x */
8, /* unstr_x */
20, /* unsti_x */
- 8, /* movi_w_f */
- 8, /* movi_w_d */
- 0, /* movi_ww_d */
-
+ 4, /* fmar_f */
+ 0, /* fmai_f */
+ 4, /* fmsr_f */
+ 0, /* fmsi_f */
+ 4, /* fmar_d */
+ 0, /* fmai_d */
+ 4, /* fmsr_d */
+ 0, /* fmsi_d */
+ 4, /* fnmar_f */
+ 0, /* fnmai_f */
+ 4, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 4, /* fnmar_d */
+ 0, /* fnmai_d */
+ 4, /* fnmsr_d */
+ 0, /* fnmsi_d */
# else /* PACKED_STACK */
#define JIT_INSTR_MAX 120
0, /* data */
@@ -600,7 +615,9 @@
4, /* rshr_u */
4, /* rshi_u */
4, /* negr */
+ 4, /* negi */
4, /* comr */
+ 4, /* comi */
8, /* ltr */
8, /* lti */
8, /* ltr_u */
@@ -628,17 +645,29 @@
28, /* casr */
40, /* casi */
4, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
+ 4, /* exti_uc */
4, /* extr_s */
+ 4, /* exti_s */
4, /* extr_us */
+ 4, /* exti_us */
4, /* extr_i */
+ 12, /* exti_i */
4, /* extr_ui */
+ 4, /* exti_ui */
8, /* bswapr_us */
+ 4, /* bswapi_us */
8, /* bswapr_ui */
+ 8, /* bswapi_ui */
4, /* bswapr_ul */
+ 16, /* bswapi_ul */
8, /* htonr_us */
+ 4, /* htoni_us */
8, /* htonr_ui */
+ 8, /* htoni_ui */
4, /* htonr_ul */
+ 16, /* htoni_ul */
4, /* ldr_c */
16, /* ldi_c */
4, /* ldr_uc */
@@ -781,8 +810,11 @@
4, /* divr_f */
12, /* divi_f */
4, /* negr_f */
+ 0, /* negi_f */
4, /* absr_f */
+ 0, /* absi_f */
4, /* sqrtr_f */
+ 0, /* sqrti_f */
8, /* ltr_f */
16, /* lti_f */
8, /* ler_f */
@@ -872,8 +904,11 @@
4, /* divr_d */
12, /* divi_d */
4, /* negr_d */
+ 0, /* negi_d */
4, /* absr_d */
+ 0, /* absi_d */
4, /* sqrtr_d */
+ 0, /* sqrti_d */
8, /* ltr_d */
16, /* lti_d */
8, /* ler_d */
@@ -950,8 +985,11 @@
0, /* reti_d */
0, /* retval_d */
4, /* movr_w_f */
+ 8, /* movi_w_f */
0, /* movr_ww_d */
+ 0, /* movi_ww_d */
4, /* movr_w_d */
+ 8, /* movi_w_d */
4, /* movr_f_w */
4, /* movi_f_w */
0, /* movr_d_ww */
@@ -959,47 +997,27 @@
4, /* movr_d_w */
4, /* movi_d_w */
8, /* clor */
+ 4, /* cloi */
4, /* clzr */
+ 4, /* clzi */
12, /* ctor */
+ 4, /* ctoi */
8, /* ctzr */
+ 4, /* ctzi */
4, /* rbitr */
+ 16, /* rbiti */
16, /* popcntr */
+ 4, /* popcnti */
12, /* lrotr */
4, /* lroti */
4, /* rrotr */
4, /* rroti */
4, /* extr */
+ 4, /* exti */
4, /* extr_u */
+ 4, /* exti_u */
4, /* depr */
8, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 4, /* exti_us */
- 12, /* exti_i */
- 4, /* exti_ui */
- 4, /* bswapi_us */
- 8, /* bswapi_ui */
- 16, /* bswapi_ul */
- 4, /* htoni_us */
- 8, /* htoni_ui */
- 16, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 4, /* cloi */
- 4, /* clzi */
- 4, /* ctoi */
- 4, /* ctzi */
- 16, /* rbiti */
- 4, /* popcnti */
- 4, /* exti */
- 4, /* exti_u */
56, /* qlshr */
8, /* qlshi */
52, /* qlshr_u */
@@ -1018,8 +1036,21 @@
20, /* unldi_x */
8, /* unstr_x */
20, /* unsti_x */
- 8, /* movi_w_f */
- 8, /* movi_w_d */
- 0, /* movi_ww_d */
+ 4, /* fmar_f */
+ 0, /* fmai_f */
+ 4, /* fmsr_f */
+ 0, /* fmsi_f */
+ 4, /* fmar_d */
+ 0, /* fmai_d */
+ 4, /* fmsr_d */
+ 0, /* fmsi_d */
+ 4, /* fnmar_f */
+ 0, /* fnmai_f */
+ 4, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 4, /* fnmar_d */
+ 0, /* fnmai_d */
+ 4, /* fnmsr_d */
+ 0, /* fnmsi_d */
# endif
#endif /* __WORDSIZE */
diff --git a/lib/jit_alpha-sz.c b/lib/jit_alpha-sz.c
index 44fccd7..4807384 100644
--- a/lib/jit_alpha-sz.c
+++ b/lib/jit_alpha-sz.c
@@ -1,5 +1,5 @@
#if __WORDSIZE == 64
-#define JIT_INSTR_MAX 140
+#define JIT_INSTR_MAX 204
0, /* data */
0, /* live */
4, /* align */
@@ -87,7 +87,9 @@
4, /* rshr_u */
4, /* rshi_u */
4, /* negr */
+ 4, /* negi */
4, /* comr */
+ 4, /* comi */
4, /* ltr */
4, /* lti */
4, /* ltr_u */
@@ -115,17 +117,29 @@
32, /* casr */
60, /* casi */
4, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
+ 4, /* exti_uc */
4, /* extr_s */
+ 4, /* exti_s */
4, /* extr_us */
+ 16, /* exti_us */
8, /* extr_i */
+ 28, /* exti_i */
4, /* extr_ui */
+ 16, /* exti_ui */
16, /* bswapr_us */
+ 4, /* bswapi_us */
36, /* bswapr_ui */
+ 16, /* bswapi_ui */
36, /* bswapr_ul */
+ 32, /* bswapi_ul */
16, /* htonr_us */
+ 16, /* htoni_us */
36, /* htonr_ui */
+ 16, /* htoni_ui */
36, /* htonr_ul */
+ 32, /* htoni_ul */
8, /* ldr_c */
36, /* ldi_c */
4, /* ldr_uc */
@@ -268,8 +282,11 @@
8, /* divr_f */
40, /* divi_f */
4, /* negr_f */
+ 0, /* negi_f */
4, /* absr_f */
+ 0, /* absi_f */
8, /* sqrtr_f */
+ 0, /* sqrti_f */
32, /* ltr_f */
64, /* lti_f */
32, /* ler_f */
@@ -359,8 +376,11 @@
8, /* divr_d */
40, /* divi_d */
4, /* negr_d */
+ 0, /* negi_d */
4, /* absr_d */
+ 0, /* absi_d */
8, /* sqrtr_d */
+ 0, /* sqrti_d */
32, /* ltr_d */
64, /* lti_d */
32, /* ler_d */
@@ -437,8 +457,11 @@
0, /* reti_d */
0, /* retval_d */
8, /* movr_w_f */
+ 24, /* movi_w_f */
0, /* movr_ww_d */
+ 0, /* movi_ww_d */
8, /* movr_w_d */
+ 20, /* movi_w_d */
8, /* movr_f_w */
16, /* movi_f_w */
0, /* movr_d_ww */
@@ -446,47 +469,27 @@
8, /* movr_d_w */
12, /* movi_d_w */
8, /* clor */
+ 4, /* cloi */
4, /* clzr */
+ 4, /* clzi */
8, /* ctor */
+ 4, /* ctoi */
4, /* ctzr */
+ 4, /* ctzi */
84, /* rbitr */
+ 32, /* rbiti */
4, /* popcntr */
+ 4, /* popcnti */
20, /* lrotr */
12, /* lroti */
20, /* rrotr */
12, /* rroti */
8, /* extr */
+ 4, /* exti */
36, /* extr_u */
+ 4, /* exti_u */
72, /* depr */
24, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 16, /* exti_us */
- 28, /* exti_i */
- 16, /* exti_ui */
- 4, /* bswapi_us */
- 16, /* bswapi_ui */
- 32, /* bswapi_ul */
- 16, /* htoni_us */
- 16, /* htoni_ui */
- 32, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 4, /* cloi */
- 4, /* clzi */
- 4, /* ctoi */
- 4, /* ctzi */
- 32, /* rbiti */
- 4, /* popcnti */
- 4, /* exti */
- 4, /* exti_u */
44, /* qlshr */
8, /* qlshi */
40, /* qlshr_u */
@@ -499,13 +502,26 @@
60, /* unldi */
36, /* unldr_u */
60, /* unldi_u */
- 120, /* unstr */
- 140, /* unsti */
+ 176, /* unstr */
+ 204, /* unsti */
40, /* unldr_x */
68, /* unldi_x */
52, /* unstr_x */
80, /* unsti_x */
- 24, /* movi_w_f */
- 20, /* movi_w_d */
- 0, /* movi_ww_d */
+ 16, /* fmar_f */
+ 0, /* fmai_f */
+ 16, /* fmsr_f */
+ 0, /* fmsi_f */
+ 16, /* fmar_d */
+ 0, /* fmai_d */
+ 16, /* fmsr_d */
+ 0, /* fmsi_d */
+ 20, /* fnmar_f */
+ 0, /* fnmai_f */
+ 20, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 20, /* fnmar_d */
+ 0, /* fnmai_d */
+ 20, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __WORDSIZE */
diff --git a/lib/jit_arm-sz.c b/lib/jit_arm-sz.c
index c764d5e..c60f952 100644
--- a/lib/jit_arm-sz.c
+++ b/lib/jit_arm-sz.c
@@ -1,7 +1,7 @@
#if __WORDSIZE == 32
#if !defined(__ARM_PCS_VFP)
-#define JIT_INSTR_MAX 208
+#define JIT_INSTR_MAX 144
0, /* data */
0, /* live */
20, /* align */
@@ -11,7 +11,7 @@
2, /* #name */
0, /* #note */
0, /* label */
- 30, /* prolog */
+ 26, /* prolog */
0, /* ellipsis */
0, /* va_push */
0, /* allocai */
@@ -43,7 +43,7 @@
0, /* putargi_l */
4, /* va_start */
8, /* va_arg */
- 28, /* va_arg_d */
+ 16, /* va_arg_d */
0, /* va_end */
4, /* addr */
12, /* addi */
@@ -58,7 +58,7 @@
4, /* subxr */
4, /* subxi */
16, /* rsbi */
- 8, /* mulr */
+ 4, /* mulr */
12, /* muli */
4, /* qmulr */
12, /* qmuli */
@@ -89,7 +89,9 @@
4, /* rshr_u */
4, /* rshi_u */
4, /* negr */
+ 4, /* negi */
4, /* comr */
+ 4, /* comi */
14, /* ltr */
14, /* lti */
14, /* ltr_u */
@@ -115,19 +117,31 @@
8, /* movnr */
8, /* movzr */
42, /* casr */
- 46, /* casi */
- 8, /* extr_c */
+ 50, /* casi */
+ 4, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
- 8, /* extr_s */
- 8, /* extr_us */
+ 4, /* exti_uc */
+ 4, /* extr_s */
+ 4, /* exti_s */
+ 4, /* extr_us */
+ 4, /* exti_us */
0, /* extr_i */
+ 0, /* exti_i */
0, /* extr_ui */
- 20, /* bswapr_us */
- 16, /* bswapr_ui */
+ 0, /* exti_ui */
+ 8, /* bswapr_us */
+ 4, /* bswapi_us */
+ 4, /* bswapr_ui */
+ 8, /* bswapi_ui */
0, /* bswapr_ul */
- 20, /* htonr_us */
- 16, /* htonr_ui */
+ 0, /* bswapi_ul */
+ 8, /* htonr_us */
+ 4, /* htoni_us */
+ 4, /* htonr_ui */
+ 8, /* htoni_ui */
0, /* htonr_ul */
+ 0, /* htoni_ul */
4, /* ldr_c */
12, /* ldi_c */
4, /* ldr_uc */
@@ -212,8 +226,8 @@
8, /* bxsubi */
8, /* bxsubr_u */
8, /* bxsubi_u */
- 12, /* jmpr */
- 72, /* jmpi */
+ 4, /* jmpr */
+ 8, /* jmpi */
4, /* callr */
20, /* calli */
0, /* prepare */
@@ -255,93 +269,96 @@
0, /* retval_i */
0, /* retval_ui */
0, /* retval_l */
- 20, /* epilog */
+ 16, /* epilog */
0, /* arg_f */
0, /* getarg_f */
0, /* putargr_f */
0, /* putargi_f */
- 24, /* addr_f */
- 24, /* addi_f */
- 24, /* subr_f */
- 24, /* subi_f */
- 24, /* rsbi_f */
- 24, /* mulr_f */
- 24, /* muli_f */
- 24, /* divr_f */
- 24, /* divi_f */
- 12, /* negr_f */
- 12, /* absr_f */
- 20, /* sqrtr_f */
- 24, /* ltr_f */
+ 4, /* addr_f */
+ 8, /* addi_f */
+ 4, /* subr_f */
+ 8, /* subi_f */
+ 8, /* rsbi_f */
+ 4, /* mulr_f */
+ 8, /* muli_f */
+ 4, /* divr_f */
+ 8, /* divi_f */
+ 4, /* negr_f */
+ 0, /* negi_f */
+ 4, /* absr_f */
+ 0, /* absi_f */
+ 4, /* sqrtr_f */
+ 0, /* sqrti_f */
+ 18, /* ltr_f */
30, /* lti_f */
- 24, /* ler_f */
+ 20, /* ler_f */
32, /* lei_f */
- 24, /* eqr_f */
+ 18, /* eqr_f */
30, /* eqi_f */
- 24, /* ger_f */
+ 18, /* ger_f */
30, /* gei_f */
- 24, /* gtr_f */
+ 18, /* gtr_f */
30, /* gti_f */
- 28, /* ner_f */
- 32, /* nei_f */
- 56, /* unltr_f */
- 64, /* unlti_f */
- 56, /* unler_f */
- 64, /* unlei_f */
- 56, /* uneqr_f */
- 64, /* uneqi_f */
- 56, /* unger_f */
- 64, /* ungei_f */
- 56, /* ungtr_f */
- 64, /* ungti_f */
- 60, /* ltgtr_f */
- 68, /* ltgti_f */
- 28, /* ordr_f */
- 32, /* ordi_f */
- 56, /* unordr_f */
- 64, /* unordi_f */
- 20, /* truncr_f_i */
+ 18, /* ner_f */
+ 30, /* nei_f */
+ 18, /* unltr_f */
+ 30, /* unlti_f */
+ 18, /* unler_f */
+ 30, /* unlei_f */
+ 24, /* uneqr_f */
+ 36, /* uneqi_f */
+ 18, /* unger_f */
+ 30, /* ungei_f */
+ 18, /* ungtr_f */
+ 30, /* ungti_f */
+ 24, /* ltgtr_f */
+ 36, /* ltgti_f */
+ 18, /* ordr_f */
+ 30, /* ordi_f */
+ 18, /* unordr_f */
+ 30, /* unordi_f */
+ 8, /* truncr_f_i */
0, /* truncr_f_l */
- 28, /* extr_f */
- 22, /* extr_d_f */
- 8, /* movr_f */
- 16, /* movi_f */
- 8, /* ldr_f */
- 16, /* ldi_f */
+ 8, /* extr_f */
+ 4, /* extr_d_f */
+ 4, /* movr_f */
+ 12, /* movi_f */
+ 4, /* ldr_f */
+ 12, /* ldi_f */
8, /* ldxr_f */
16, /* ldxi_f */
- 8, /* str_f */
- 16, /* sti_f */
+ 4, /* str_f */
+ 12, /* sti_f */
8, /* stxr_f */
16, /* stxi_f */
- 28, /* bltr_f */
- 32, /* blti_f */
- 28, /* bler_f */
- 32, /* blei_f */
- 28, /* beqr_f */
- 48, /* beqi_f */
- 28, /* bger_f */
- 32, /* bgei_f */
- 28, /* bgtr_f */
- 32, /* bgti_f */
- 28, /* bner_f */
- 32, /* bnei_f */
- 28, /* bunltr_f */
- 32, /* bunlti_f */
- 28, /* bunler_f */
- 32, /* bunlei_f */
- 60, /* buneqr_f */
- 68, /* buneqi_f */
- 28, /* bunger_f */
- 32, /* bungei_f */
- 28, /* bungtr_f */
- 32, /* bungti_f */
- 60, /* bltgtr_f */
- 68, /* bltgti_f */
- 28, /* bordr_f */
- 32, /* bordi_f */
- 28, /* bunordr_f */
- 32, /* bunordi_f */
+ 12, /* bltr_f */
+ 24, /* blti_f */
+ 12, /* bler_f */
+ 24, /* blei_f */
+ 12, /* beqr_f */
+ 24, /* beqi_f */
+ 12, /* bger_f */
+ 24, /* bgei_f */
+ 12, /* bgtr_f */
+ 24, /* bgti_f */
+ 12, /* bner_f */
+ 24, /* bnei_f */
+ 16, /* bunltr_f */
+ 28, /* bunlti_f */
+ 16, /* bunler_f */
+ 28, /* bunlei_f */
+ 20, /* buneqr_f */
+ 32, /* buneqi_f */
+ 16, /* bunger_f */
+ 28, /* bungei_f */
+ 12, /* bungtr_f */
+ 24, /* bungti_f */
+ 20, /* bltgtr_f */
+ 32, /* bltgti_f */
+ 12, /* bordr_f */
+ 24, /* bordi_f */
+ 12, /* bunordr_f */
+ 24, /* bunordi_f */
0, /* pushargr_f */
0, /* pushargi_f */
0, /* retr_f */
@@ -351,144 +368,130 @@
0, /* getarg_d */
0, /* putargr_d */
0, /* putargi_d */
- 34, /* addr_d */
- 36, /* addi_d */
- 34, /* subr_d */
- 36, /* subi_d */
- 36, /* rsbi_d */
- 34, /* mulr_d */
- 36, /* muli_d */
- 34, /* divr_d */
- 36, /* divi_d */
- 20, /* negr_d */
- 20, /* absr_d */
- 26, /* sqrtr_d */
- 28, /* ltr_d */
+ 4, /* addr_d */
+ 20, /* addi_d */
+ 4, /* subr_d */
+ 20, /* subi_d */
+ 20, /* rsbi_d */
+ 4, /* mulr_d */
+ 20, /* muli_d */
+ 4, /* divr_d */
+ 20, /* divi_d */
+ 4, /* negr_d */
+ 0, /* negi_d */
+ 4, /* absr_d */
+ 0, /* absi_d */
+ 4, /* sqrtr_d */
+ 0, /* sqrti_d */
+ 18, /* ltr_d */
34, /* lti_d */
- 28, /* ler_d */
+ 20, /* ler_d */
36, /* lei_d */
- 28, /* eqr_d */
+ 18, /* eqr_d */
34, /* eqi_d */
- 28, /* ger_d */
+ 18, /* ger_d */
34, /* gei_d */
- 28, /* gtr_d */
+ 18, /* gtr_d */
34, /* gti_d */
- 32, /* ner_d */
- 36, /* nei_d */
- 66, /* unltr_d */
- 72, /* unlti_d */
- 66, /* unler_d */
- 72, /* unlei_d */
- 66, /* uneqr_d */
- 72, /* uneqi_d */
- 66, /* unger_d */
- 72, /* ungei_d */
- 66, /* ungtr_d */
- 72, /* ungti_d */
- 70, /* ltgtr_d */
- 76, /* ltgti_d */
- 32, /* ordr_d */
- 36, /* ordi_d */
- 66, /* unordr_d */
- 72, /* unordi_d */
- 20, /* truncr_d_i */
+ 18, /* ner_d */
+ 34, /* nei_d */
+ 18, /* unltr_d */
+ 34, /* unlti_d */
+ 18, /* unler_d */
+ 34, /* unlei_d */
+ 24, /* uneqr_d */
+ 40, /* uneqi_d */
+ 18, /* unger_d */
+ 34, /* ungei_d */
+ 18, /* ungtr_d */
+ 34, /* ungti_d */
+ 24, /* ltgtr_d */
+ 40, /* ltgti_d */
+ 18, /* ordr_d */
+ 34, /* ordi_d */
+ 18, /* unordr_d */
+ 34, /* unordi_d */
+ 8, /* truncr_d_i */
0, /* truncr_d_l */
- 36, /* extr_d */
- 22, /* extr_f_d */
- 16, /* movr_d */
+ 8, /* extr_d */
+ 4, /* extr_f_d */
+ 4, /* movr_d */
32, /* movi_d */
- 16, /* ldr_d */
- 24, /* ldi_d */
- 20, /* ldxr_d */
- 28, /* ldxi_d */
- 16, /* str_d */
- 24, /* sti_d */
- 20, /* stxr_d */
- 28, /* stxi_d */
- 32, /* bltr_d */
- 36, /* blti_d */
- 32, /* bler_d */
- 36, /* blei_d */
- 32, /* beqr_d */
- 52, /* beqi_d */
- 32, /* bger_d */
- 36, /* bgei_d */
- 32, /* bgtr_d */
- 36, /* bgti_d */
- 32, /* bner_d */
- 36, /* bnei_d */
- 32, /* bunltr_d */
- 36, /* bunlti_d */
- 32, /* bunler_d */
- 36, /* bunlei_d */
- 68, /* buneqr_d */
- 76, /* buneqi_d */
- 32, /* bunger_d */
- 36, /* bungei_d */
- 32, /* bungtr_d */
- 36, /* bungti_d */
- 68, /* bltgtr_d */
- 76, /* bltgti_d */
- 32, /* bordr_d */
- 36, /* bordi_d */
- 32, /* bunordr_d */
- 36, /* bunordi_d */
+ 4, /* ldr_d */
+ 12, /* ldi_d */
+ 8, /* ldxr_d */
+ 16, /* ldxi_d */
+ 4, /* str_d */
+ 12, /* sti_d */
+ 8, /* stxr_d */
+ 16, /* stxi_d */
+ 12, /* bltr_d */
+ 28, /* blti_d */
+ 12, /* bler_d */
+ 28, /* blei_d */
+ 12, /* beqr_d */
+ 36, /* beqi_d */
+ 12, /* bger_d */
+ 28, /* bgei_d */
+ 12, /* bgtr_d */
+ 28, /* bgti_d */
+ 12, /* bner_d */
+ 28, /* bnei_d */
+ 16, /* bunltr_d */
+ 32, /* bunlti_d */
+ 16, /* bunler_d */
+ 32, /* bunlei_d */
+ 20, /* buneqr_d */
+ 36, /* buneqi_d */
+ 16, /* bunger_d */
+ 32, /* bungei_d */
+ 12, /* bungtr_d */
+ 28, /* bungti_d */
+ 20, /* bltgtr_d */
+ 36, /* bltgti_d */
+ 12, /* bordr_d */
+ 28, /* bordi_d */
+ 12, /* bunordr_d */
+ 28, /* bunordi_d */
0, /* pushargr_d */
0, /* pushargi_d */
0, /* retr_d */
0, /* reti_d */
0, /* retval_d */
4, /* movr_w_f */
- 8, /* movr_ww_d */
+ 8, /* movi_w_f */
+ 4, /* movr_ww_d */
+ 16, /* movi_ww_d */
0, /* movr_w_d */
+ 0, /* movi_w_d */
4, /* movr_f_w */
- 8, /* movi_f_w */
- 8, /* movr_d_ww */
+ 4, /* movi_f_w */
+ 4, /* movr_d_ww */
12, /* movi_d_ww */
0, /* movr_d_w */
0, /* movi_d_w */
8, /* clor */
+ 4, /* cloi */
4, /* clzr */
+ 4, /* clzi */
12, /* ctor */
+ 4, /* ctoi */
8, /* ctzr */
+ 4, /* ctzi */
4, /* rbitr */
+ 8, /* rbiti */
40, /* popcntr */
+ 4, /* popcnti */
12, /* lrotr */
4, /* lroti */
4, /* rrotr */
4, /* rroti */
- 8, /* extr */
- 12, /* extr_u */
- 24, /* depr */
- 20, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 4, /* exti_us */
- 0, /* exti_i */
- 0, /* exti_ui */
- 4, /* bswapi_us */
- 8, /* bswapi_ui */
- 0, /* bswapi_ul */
- 4, /* htoni_us */
- 8, /* htoni_ui */
- 0, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 4, /* cloi */
- 4, /* clzi */
- 4, /* ctoi */
- 4, /* ctzi */
- 8, /* rbiti */
- 4, /* popcnti */
+ 4, /* extr */
4, /* exti */
+ 4, /* extr_u */
4, /* exti_u */
+ 4, /* depr */
+ 8, /* depi */
50, /* qlshr */
8, /* qlshi */
50, /* qlshr_u */
@@ -497,25 +500,38 @@
8, /* qrshi */
50, /* qrshr_u */
8, /* qrshi_u */
- 100, /* unldr */
- 32, /* unldi */
- 100, /* unldr_u */
- 32, /* unldi_u */
+ 72, /* unldr */
+ 44, /* unldi */
+ 72, /* unldr_u */
+ 44, /* unldi_u */
68, /* unstr */
44, /* unsti */
- 208, /* unldr_x */
- 80, /* unldi_x */
- 148, /* unstr_x */
- 96, /* unsti_x */
- 8, /* movi_w_f */
- 0, /* movi_w_d */
- 20, /* movi_ww_d */
+ 140, /* unldr_x */
+ 76, /* unldi_x */
+ 144, /* unstr_x */
+ 92, /* unsti_x */
+ 8, /* fmar_f */
+ 0, /* fmai_f */
+ 8, /* fmsr_f */
+ 0, /* fmsi_f */
+ 8, /* fmar_d */
+ 0, /* fmai_d */
+ 8, /* fmsr_d */
+ 0, /* fmsi_d */
+ 12, /* fnmar_f */
+ 0, /* fnmai_f */
+ 12, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 12, /* fnmar_d */
+ 0, /* fnmai_d */
+ 12, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __ARM_PCS_VFP */
#endif /* __WORDSIZE */
#if __WORDSIZE == 32
#if defined(__ARM_PCS_VFP)
-#define JIT_INSTR_MAX 204
+#define JIT_INSTR_MAX 276
0, /* data */
0, /* live */
20, /* align */
@@ -525,7 +541,7 @@
2, /* #name */
0, /* #note */
0, /* label */
- 26, /* prolog */
+ 30, /* prolog */
0, /* ellipsis */
0, /* va_push */
0, /* allocai */
@@ -557,7 +573,7 @@
0, /* putargi_l */
4, /* va_start */
8, /* va_arg */
- 16, /* va_arg_d */
+ 28, /* va_arg_d */
0, /* va_end */
4, /* addr */
12, /* addi */
@@ -572,7 +588,7 @@
4, /* subxr */
4, /* subxi */
16, /* rsbi */
- 4, /* mulr */
+ 8, /* mulr */
12, /* muli */
4, /* qmulr */
12, /* qmuli */
@@ -603,7 +619,9 @@
4, /* rshr_u */
4, /* rshi_u */
4, /* negr */
+ 4, /* negi */
4, /* comr */
+ 4, /* comi */
14, /* ltr */
14, /* lti */
14, /* ltr_u */
@@ -629,19 +647,31 @@
8, /* movnr */
8, /* movzr */
42, /* casr */
- 50, /* casi */
- 4, /* extr_c */
+ 46, /* casi */
+ 8, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
- 4, /* extr_s */
- 4, /* extr_us */
+ 4, /* exti_uc */
+ 8, /* extr_s */
+ 4, /* exti_s */
+ 8, /* extr_us */
+ 4, /* exti_us */
0, /* extr_i */
+ 0, /* exti_i */
0, /* extr_ui */
- 8, /* bswapr_us */
- 4, /* bswapr_ui */
+ 0, /* exti_ui */
+ 20, /* bswapr_us */
+ 4, /* bswapi_us */
+ 16, /* bswapr_ui */
+ 8, /* bswapi_ui */
0, /* bswapr_ul */
- 8, /* htonr_us */
- 4, /* htonr_ui */
+ 0, /* bswapi_ul */
+ 20, /* htonr_us */
+ 4, /* htoni_us */
+ 16, /* htonr_ui */
+ 8, /* htoni_ui */
0, /* htonr_ul */
+ 0, /* htoni_ul */
4, /* ldr_c */
12, /* ldi_c */
4, /* ldr_uc */
@@ -726,8 +756,8 @@
8, /* bxsubi */
8, /* bxsubr_u */
8, /* bxsubi_u */
- 4, /* jmpr */
- 8, /* jmpi */
+ 12, /* jmpr */
+ 72, /* jmpi */
4, /* callr */
20, /* calli */
0, /* prepare */
@@ -769,93 +799,96 @@
0, /* retval_i */
0, /* retval_ui */
0, /* retval_l */
- 16, /* epilog */
+ 276, /* epilog */
0, /* arg_f */
0, /* getarg_f */
0, /* putargr_f */
0, /* putargi_f */
- 4, /* addr_f */
- 8, /* addi_f */
- 4, /* subr_f */
- 8, /* subi_f */
- 8, /* rsbi_f */
- 4, /* mulr_f */
- 8, /* muli_f */
- 4, /* divr_f */
- 8, /* divi_f */
- 4, /* negr_f */
- 4, /* absr_f */
- 4, /* sqrtr_f */
- 18, /* ltr_f */
+ 24, /* addr_f */
+ 24, /* addi_f */
+ 24, /* subr_f */
+ 24, /* subi_f */
+ 24, /* rsbi_f */
+ 24, /* mulr_f */
+ 24, /* muli_f */
+ 24, /* divr_f */
+ 24, /* divi_f */
+ 12, /* negr_f */
+ 0, /* negi_f */
+ 12, /* absr_f */
+ 0, /* absi_f */
+ 20, /* sqrtr_f */
+ 0, /* sqrti_f */
+ 24, /* ltr_f */
30, /* lti_f */
- 20, /* ler_f */
+ 24, /* ler_f */
32, /* lei_f */
- 18, /* eqr_f */
+ 24, /* eqr_f */
30, /* eqi_f */
- 18, /* ger_f */
+ 24, /* ger_f */
30, /* gei_f */
- 18, /* gtr_f */
+ 24, /* gtr_f */
30, /* gti_f */
- 18, /* ner_f */
- 30, /* nei_f */
- 18, /* unltr_f */
- 30, /* unlti_f */
- 18, /* unler_f */
- 30, /* unlei_f */
- 24, /* uneqr_f */
- 36, /* uneqi_f */
- 18, /* unger_f */
- 30, /* ungei_f */
- 18, /* ungtr_f */
- 30, /* ungti_f */
- 24, /* ltgtr_f */
- 36, /* ltgti_f */
- 18, /* ordr_f */
- 30, /* ordi_f */
- 18, /* unordr_f */
- 30, /* unordi_f */
- 8, /* truncr_f_i */
+ 28, /* ner_f */
+ 32, /* nei_f */
+ 56, /* unltr_f */
+ 64, /* unlti_f */
+ 56, /* unler_f */
+ 64, /* unlei_f */
+ 56, /* uneqr_f */
+ 64, /* uneqi_f */
+ 56, /* unger_f */
+ 64, /* ungei_f */
+ 56, /* ungtr_f */
+ 64, /* ungti_f */
+ 60, /* ltgtr_f */
+ 68, /* ltgti_f */
+ 28, /* ordr_f */
+ 32, /* ordi_f */
+ 56, /* unordr_f */
+ 64, /* unordi_f */
+ 20, /* truncr_f_i */
0, /* truncr_f_l */
- 8, /* extr_f */
- 4, /* extr_d_f */
- 4, /* movr_f */
- 12, /* movi_f */
- 4, /* ldr_f */
- 12, /* ldi_f */
+ 28, /* extr_f */
+ 22, /* extr_d_f */
+ 8, /* movr_f */
+ 16, /* movi_f */
+ 8, /* ldr_f */
+ 16, /* ldi_f */
8, /* ldxr_f */
16, /* ldxi_f */
- 4, /* str_f */
- 12, /* sti_f */
+ 8, /* str_f */
+ 16, /* sti_f */
8, /* stxr_f */
16, /* stxi_f */
- 12, /* bltr_f */
- 24, /* blti_f */
- 12, /* bler_f */
- 24, /* blei_f */
- 12, /* beqr_f */
- 24, /* beqi_f */
- 12, /* bger_f */
- 24, /* bgei_f */
- 12, /* bgtr_f */
- 24, /* bgti_f */
- 12, /* bner_f */
- 24, /* bnei_f */
- 16, /* bunltr_f */
- 28, /* bunlti_f */
- 16, /* bunler_f */
- 28, /* bunlei_f */
- 20, /* buneqr_f */
- 32, /* buneqi_f */
- 16, /* bunger_f */
- 28, /* bungei_f */
- 12, /* bungtr_f */
- 24, /* bungti_f */
- 20, /* bltgtr_f */
- 32, /* bltgti_f */
- 12, /* bordr_f */
- 24, /* bordi_f */
- 12, /* bunordr_f */
- 24, /* bunordi_f */
+ 28, /* bltr_f */
+ 32, /* blti_f */
+ 28, /* bler_f */
+ 32, /* blei_f */
+ 28, /* beqr_f */
+ 48, /* beqi_f */
+ 28, /* bger_f */
+ 32, /* bgei_f */
+ 28, /* bgtr_f */
+ 32, /* bgti_f */
+ 28, /* bner_f */
+ 32, /* bnei_f */
+ 28, /* bunltr_f */
+ 32, /* bunlti_f */
+ 28, /* bunler_f */
+ 32, /* bunlei_f */
+ 60, /* buneqr_f */
+ 68, /* buneqi_f */
+ 28, /* bunger_f */
+ 32, /* bungei_f */
+ 28, /* bungtr_f */
+ 32, /* bungti_f */
+ 60, /* bltgtr_f */
+ 68, /* bltgti_f */
+ 28, /* bordr_f */
+ 32, /* bordi_f */
+ 28, /* bunordr_f */
+ 32, /* bunordi_f */
0, /* pushargr_f */
0, /* pushargi_f */
0, /* retr_f */
@@ -865,144 +898,130 @@
0, /* getarg_d */
0, /* putargr_d */
0, /* putargi_d */
- 4, /* addr_d */
- 20, /* addi_d */
- 4, /* subr_d */
- 20, /* subi_d */
- 20, /* rsbi_d */
- 4, /* mulr_d */
- 20, /* muli_d */
- 4, /* divr_d */
- 20, /* divi_d */
- 4, /* negr_d */
- 4, /* absr_d */
- 4, /* sqrtr_d */
- 18, /* ltr_d */
+ 34, /* addr_d */
+ 36, /* addi_d */
+ 34, /* subr_d */
+ 36, /* subi_d */
+ 36, /* rsbi_d */
+ 34, /* mulr_d */
+ 36, /* muli_d */
+ 34, /* divr_d */
+ 36, /* divi_d */
+ 20, /* negr_d */
+ 0, /* negi_d */
+ 20, /* absr_d */
+ 0, /* absi_d */
+ 26, /* sqrtr_d */
+ 0, /* sqrti_d */
+ 28, /* ltr_d */
34, /* lti_d */
- 20, /* ler_d */
+ 28, /* ler_d */
36, /* lei_d */
- 18, /* eqr_d */
+ 28, /* eqr_d */
34, /* eqi_d */
- 18, /* ger_d */
+ 28, /* ger_d */
34, /* gei_d */
- 18, /* gtr_d */
+ 28, /* gtr_d */
34, /* gti_d */
- 18, /* ner_d */
- 34, /* nei_d */
- 18, /* unltr_d */
- 34, /* unlti_d */
- 18, /* unler_d */
- 34, /* unlei_d */
- 24, /* uneqr_d */
- 40, /* uneqi_d */
- 18, /* unger_d */
- 34, /* ungei_d */
- 18, /* ungtr_d */
- 34, /* ungti_d */
- 24, /* ltgtr_d */
- 40, /* ltgti_d */
- 18, /* ordr_d */
- 34, /* ordi_d */
- 18, /* unordr_d */
- 34, /* unordi_d */
- 8, /* truncr_d_i */
+ 32, /* ner_d */
+ 36, /* nei_d */
+ 66, /* unltr_d */
+ 72, /* unlti_d */
+ 66, /* unler_d */
+ 72, /* unlei_d */
+ 66, /* uneqr_d */
+ 72, /* uneqi_d */
+ 66, /* unger_d */
+ 72, /* ungei_d */
+ 66, /* ungtr_d */
+ 72, /* ungti_d */
+ 70, /* ltgtr_d */
+ 76, /* ltgti_d */
+ 32, /* ordr_d */
+ 36, /* ordi_d */
+ 66, /* unordr_d */
+ 72, /* unordi_d */
+ 20, /* truncr_d_i */
0, /* truncr_d_l */
- 8, /* extr_d */
- 4, /* extr_f_d */
- 4, /* movr_d */
+ 36, /* extr_d */
+ 22, /* extr_f_d */
+ 16, /* movr_d */
32, /* movi_d */
- 4, /* ldr_d */
- 12, /* ldi_d */
- 8, /* ldxr_d */
- 16, /* ldxi_d */
- 4, /* str_d */
- 12, /* sti_d */
- 8, /* stxr_d */
- 16, /* stxi_d */
- 12, /* bltr_d */
- 28, /* blti_d */
- 12, /* bler_d */
- 28, /* blei_d */
- 12, /* beqr_d */
- 36, /* beqi_d */
- 12, /* bger_d */
- 28, /* bgei_d */
- 12, /* bgtr_d */
- 28, /* bgti_d */
- 12, /* bner_d */
- 28, /* bnei_d */
- 16, /* bunltr_d */
- 32, /* bunlti_d */
- 16, /* bunler_d */
- 32, /* bunlei_d */
- 20, /* buneqr_d */
- 36, /* buneqi_d */
- 16, /* bunger_d */
- 32, /* bungei_d */
- 12, /* bungtr_d */
- 28, /* bungti_d */
- 20, /* bltgtr_d */
- 36, /* bltgti_d */
- 12, /* bordr_d */
- 28, /* bordi_d */
- 12, /* bunordr_d */
- 28, /* bunordi_d */
+ 16, /* ldr_d */
+ 24, /* ldi_d */
+ 20, /* ldxr_d */
+ 28, /* ldxi_d */
+ 16, /* str_d */
+ 24, /* sti_d */
+ 20, /* stxr_d */
+ 28, /* stxi_d */
+ 32, /* bltr_d */
+ 36, /* blti_d */
+ 32, /* bler_d */
+ 36, /* blei_d */
+ 32, /* beqr_d */
+ 52, /* beqi_d */
+ 32, /* bger_d */
+ 36, /* bgei_d */
+ 32, /* bgtr_d */
+ 36, /* bgti_d */
+ 32, /* bner_d */
+ 36, /* bnei_d */
+ 32, /* bunltr_d */
+ 36, /* bunlti_d */
+ 32, /* bunler_d */
+ 36, /* bunlei_d */
+ 68, /* buneqr_d */
+ 76, /* buneqi_d */
+ 32, /* bunger_d */
+ 36, /* bungei_d */
+ 32, /* bungtr_d */
+ 36, /* bungti_d */
+ 68, /* bltgtr_d */
+ 76, /* bltgti_d */
+ 32, /* bordr_d */
+ 36, /* bordi_d */
+ 32, /* bunordr_d */
+ 36, /* bunordi_d */
0, /* pushargr_d */
0, /* pushargi_d */
0, /* retr_d */
0, /* reti_d */
0, /* retval_d */
4, /* movr_w_f */
- 4, /* movr_ww_d */
+ 8, /* movi_w_f */
+ 8, /* movr_ww_d */
+ 20, /* movi_ww_d */
0, /* movr_w_d */
+ 0, /* movi_w_d */
4, /* movr_f_w */
- 4, /* movi_f_w */
- 4, /* movr_d_ww */
+ 8, /* movi_f_w */
+ 8, /* movr_d_ww */
12, /* movi_d_ww */
0, /* movr_d_w */
0, /* movi_d_w */
8, /* clor */
+ 4, /* cloi */
4, /* clzr */
+ 4, /* clzi */
12, /* ctor */
+ 4, /* ctoi */
8, /* ctzr */
+ 4, /* ctzi */
4, /* rbitr */
+ 8, /* rbiti */
40, /* popcntr */
+ 4, /* popcnti */
12, /* lrotr */
4, /* lroti */
4, /* rrotr */
4, /* rroti */
- 4, /* extr */
- 4, /* extr_u */
- 4, /* depr */
- 8, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 4, /* exti_us */
- 0, /* exti_i */
- 0, /* exti_ui */
- 4, /* bswapi_us */
- 8, /* bswapi_ui */
- 0, /* bswapi_ul */
- 4, /* htoni_us */
- 8, /* htoni_ui */
- 0, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 4, /* cloi */
- 4, /* clzi */
- 4, /* ctoi */
- 4, /* ctzi */
- 8, /* rbiti */
- 4, /* popcnti */
+ 8, /* extr */
4, /* exti */
+ 12, /* extr_u */
4, /* exti_u */
+ 24, /* depr */
+ 20, /* depi */
50, /* qlshr */
8, /* qlshi */
50, /* qlshr_u */
@@ -1011,18 +1030,31 @@
8, /* qrshi */
50, /* qrshr_u */
8, /* qrshi_u */
- 100, /* unldr */
- 36, /* unldi */
- 100, /* unldr_u */
- 36, /* unldi_u */
+ 72, /* unldr */
+ 44, /* unldi */
+ 72, /* unldr_u */
+ 44, /* unldi_u */
68, /* unstr */
44, /* unsti */
- 204, /* unldr_x */
- 76, /* unldi_x */
- 144, /* unstr_x */
- 92, /* unsti_x */
- 8, /* movi_w_f */
- 0, /* movi_w_d */
- 16, /* movi_ww_d */
+ 144, /* unldr_x */
+ 80, /* unldi_x */
+ 148, /* unstr_x */
+ 96, /* unsti_x */
+ 48, /* fmar_f */
+ 0, /* fmai_f */
+ 48, /* fmsr_f */
+ 0, /* fmsi_f */
+ 68, /* fmar_d */
+ 0, /* fmai_d */
+ 68, /* fmsr_d */
+ 0, /* fmsi_d */
+ 60, /* fnmar_f */
+ 0, /* fnmai_f */
+ 60, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 88, /* fnmar_d */
+ 0, /* fnmai_d */
+ 88, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __ARM_PCS_VFP */
#endif /* __WORDSIZE */
diff --git a/lib/jit_hppa-sz.c b/lib/jit_hppa-sz.c
index ef3310a..c460264 100644
--- a/lib/jit_hppa-sz.c
+++ b/lib/jit_hppa-sz.c
@@ -1,9 +1,8 @@
-
#if __WORDSIZE == 32
#define JIT_INSTR_MAX 196
0, /* data */
0, /* live */
- 16, /* align */
+ 16, /* align */
0, /* save */
0, /* load */
4, /* skip */
@@ -42,53 +41,55 @@
0, /* putargi_l */
4, /* va_start */
8, /* va_arg */
- 20, /* va_arg_d */
+ 20, /* va_arg_d */
0, /* va_end */
4, /* addr */
- 12, /* addi */
+ 12, /* addi */
4, /* addcr */
- 12, /* addci */
+ 12, /* addci */
4, /* addxr */
8, /* addxi */
4, /* subr */
- 12, /* subi */
+ 12, /* subi */
4, /* subcr */
- 12, /* subci */
+ 12, /* subci */
4, /* subxr */
8, /* subxi */
- 12, /* rsbi */
- 48, /* mulr */
- 56, /* muli */
- 40, /* qmulr */
- 44, /* qmuli */
- 52, /* qmulr_u */
- 60, /* qmuli_u */
- 36, /* divr */
- 40, /* divi */
- 36, /* divr_u */
- 40, /* divi_u */
- 40, /* qdivr */
- 40, /* qdivi */
- 40, /* qdivr_u */
- 40, /* qdivi_u */
- 36, /* remr */
- 40, /* remi */
- 36, /* remr_u */
- 40, /* remi_u */
+ 12, /* rsbi */
+ 48, /* mulr */
+ 56, /* muli */
+ 40, /* qmulr */
+ 44, /* qmuli */
+ 52, /* qmulr_u */
+ 60, /* qmuli_u */
+ 36, /* divr */
+ 40, /* divi */
+ 36, /* divr_u */
+ 40, /* divi_u */
+ 40, /* qdivr */
+ 40, /* qdivi */
+ 40, /* qdivr_u */
+ 40, /* qdivi_u */
+ 36, /* remr */
+ 40, /* remi */
+ 36, /* remr_u */
+ 40, /* remi_u */
4, /* andr */
- 12, /* andi */
+ 12, /* andi */
4, /* orr */
- 12, /* ori */
+ 12, /* ori */
4, /* xorr */
- 12, /* xori */
- 12, /* lshr */
+ 12, /* xori */
+ 12, /* lshr */
4, /* lshi */
- 12, /* rshr */
+ 12, /* rshr */
4, /* rshi */
- 12, /* rshr_u */
+ 12, /* rshr_u */
4, /* rshi_u */
4, /* negr */
+ 4, /* negi */
4, /* comr */
+ 4, /* comi */
8, /* ltr */
8, /* lti */
8, /* ltr_u */
@@ -98,7 +99,7 @@
8, /* ler_u */
8, /* lei_u */
8, /* eqr */
- 12, /* eqi */
+ 12, /* eqi */
8, /* ger */
8, /* gei */
8, /* ger_u */
@@ -111,28 +112,40 @@
8, /* nei */
4, /* movr */
8, /* movi */
- 12, /* movnr */
- 12, /* movzr */
- 88, /* casr */
- 96, /* casi */
+ 12, /* movnr */
+ 12, /* movzr */
+ 0, /* casr */
+ 0, /* casi */
4, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
+ 4, /* exti_uc */
4, /* extr_s */
+ 4, /* exti_s */
4, /* extr_us */
+ 8, /* exti_us */
0, /* extr_i */
+ 0, /* exti_i */
0, /* extr_ui */
- 12, /* bswapr_us */
- 16, /* bswapr_ui */
+ 0, /* exti_ui */
+ 12, /* bswapr_us */
+ 8, /* bswapi_us */
+ 16, /* bswapr_ui */
+ 8, /* bswapi_ui */
0, /* bswapr_ul */
+ 0, /* bswapi_ul */
4, /* htonr_us */
+ 8, /* htoni_us */
4, /* htonr_ui */
+ 8, /* htoni_ui */
0, /* htonr_ul */
+ 0, /* htoni_ul */
8, /* ldr_c */
- 12, /* ldi_c */
+ 12, /* ldi_c */
4, /* ldr_uc */
8, /* ldi_uc */
8, /* ldr_s */
- 12, /* ldi_s */
+ 12, /* ldi_s */
4, /* ldr_us */
8, /* ldi_us */
4, /* ldr_i */
@@ -142,11 +155,11 @@
0, /* ldr_l */
0, /* ldi_l */
8, /* ldxr_c */
- 12, /* ldxi_c */
+ 12, /* ldxi_c */
4, /* ldxr_uc */
8, /* ldxi_uc */
8, /* ldxr_s */
- 12, /* ldxi_s */
+ 12, /* ldxi_s */
4, /* ldxr_us */
8, /* ldxi_us */
4, /* ldxr_i */
@@ -164,23 +177,23 @@
0, /* str_l */
0, /* sti_l */
8, /* stxr_c */
- 12, /* stxi_c */
+ 12, /* stxi_c */
8, /* stxr_s */
- 12, /* stxi_s */
+ 12, /* stxi_s */
8, /* stxr_i */
- 12, /* stxi_i */
+ 12, /* stxi_i */
0, /* stxr_l */
0, /* stxi_l */
8, /* bltr */
- 12, /* blti */
+ 12, /* blti */
8, /* bltr_u */
8, /* blti_u */
8, /* bler */
- 12, /* blei */
+ 12, /* blei */
8, /* bler_u */
8, /* blei_u */
8, /* beqr */
- 16, /* beqi */
+ 16, /* beqi */
8, /* bger */
8, /* bgei */
8, /* bger_u */
@@ -190,11 +203,11 @@
8, /* bgtr_u */
8, /* bgti_u */
8, /* bner */
- 16, /* bnei */
- 12, /* bmsr */
- 16, /* bmsi */
- 12, /* bmcr */
- 16, /* bmci */
+ 16, /* bnei */
+ 12, /* bmsr */
+ 16, /* bmsi */
+ 12, /* bmcr */
+ 16, /* bmci */
8, /* boaddr */
8, /* boaddi */
8, /* boaddr_u */
@@ -203,18 +216,18 @@
8, /* bxaddi */
8, /* bxaddr_u */
8, /* bxaddi_u */
- 12, /* bosubr */
- 16, /* bosubi */
- 16, /* bosubr_u */
- 20, /* bosubi_u */
- 12, /* bxsubr */
- 16, /* bxsubi */
- 16, /* bxsubr_u */
- 20, /* bxsubi_u */
+ 12, /* bosubr */
+ 16, /* bosubi */
+ 16, /* bosubr_u */
+ 20, /* bosubi_u */
+ 12, /* bxsubr */
+ 16, /* bxsubi */
+ 16, /* bxsubr_u */
+ 20, /* bxsubi_u */
4, /* jmpr */
- 12, /* jmpi */
- 40, /* callr */
- 44, /* calli */
+ 12, /* jmpi */
+ 40, /* callr */
+ 44, /* calli */
0, /* prepare */
0, /* pushargr_c */
0, /* pushargi_c */
@@ -260,87 +273,90 @@
0, /* putargr_f */
0, /* putargi_f */
4, /* addr_f */
- 24, /* addi_f */
+ 24, /* addi_f */
4, /* subr_f */
- 24, /* subi_f */
- 24, /* rsbi_f */
+ 24, /* subi_f */
+ 24, /* rsbi_f */
4, /* mulr_f */
- 24, /* muli_f */
+ 24, /* muli_f */
4, /* divr_f */
- 24, /* divi_f */
+ 24, /* divi_f */
4, /* negr_f */
+ 0, /* negi_f */
4, /* absr_f */
+ 0, /* absi_f */
4, /* sqrtr_f */
- 16, /* ltr_f */
- 36, /* lti_f */
- 16, /* ler_f */
- 36, /* lei_f */
- 16, /* eqr_f */
- 36, /* eqi_f */
- 16, /* ger_f */
- 36, /* gei_f */
- 16, /* gtr_f */
- 36, /* gti_f */
- 16, /* ner_f */
- 36, /* nei_f */
- 16, /* unltr_f */
- 36, /* unlti_f */
- 16, /* unler_f */
- 36, /* unlei_f */
- 16, /* uneqr_f */
- 36, /* uneqi_f */
- 16, /* unger_f */
- 36, /* ungei_f */
- 16, /* ungtr_f */
- 36, /* ungti_f */
- 16, /* ltgtr_f */
- 36, /* ltgti_f */
- 16, /* ordr_f */
- 36, /* ordi_f */
- 16, /* unordr_f */
- 36, /* unordi_f */
- 16, /* truncr_f_i */
+ 0, /* sqrti_f */
+ 16, /* ltr_f */
+ 36, /* lti_f */
+ 16, /* ler_f */
+ 36, /* lei_f */
+ 16, /* eqr_f */
+ 36, /* eqi_f */
+ 16, /* ger_f */
+ 36, /* gei_f */
+ 16, /* gtr_f */
+ 36, /* gti_f */
+ 16, /* ner_f */
+ 36, /* nei_f */
+ 16, /* unltr_f */
+ 36, /* unlti_f */
+ 16, /* unler_f */
+ 36, /* unlei_f */
+ 16, /* uneqr_f */
+ 36, /* uneqi_f */
+ 16, /* unger_f */
+ 36, /* ungei_f */
+ 16, /* ungtr_f */
+ 36, /* ungti_f */
+ 16, /* ltgtr_f */
+ 36, /* ltgti_f */
+ 16, /* ordr_f */
+ 36, /* ordi_f */
+ 16, /* unordr_f */
+ 36, /* unordi_f */
+ 16, /* truncr_f_i */
0, /* truncr_f_l */
- 20, /* extr_f */
+ 20, /* extr_f */
4, /* extr_d_f */
4, /* movr_f */
- 20, /* movi_f */
+ 20, /* movi_f */
4, /* ldr_f */
- 12, /* ldi_f */
+ 12, /* ldi_f */
8, /* ldxr_f */
- 12, /* ldxi_f */
+ 12, /* ldxi_f */
4, /* str_f */
- 12, /* sti_f */
+ 12, /* sti_f */
8, /* stxr_f */
- 12, /* stxi_f */
- 16, /* bltr_f */
- 36, /* blti_f */
- 16, /* bler_f */
- 36, /* blei_f */
- 16, /* beqr_f */
- 36, /* beqi_f */
- 16, /* bger_f */
- 36, /* bgei_f */
- 16, /* bgtr_f */
- 36, /* bgti_f */
- 16, /* bner_f */
- 36, /* bnei_f */
- 16, /* bunltr_f */
- 36, /* bunlti_f */
- 16, /* bunler_f */
- 36, /* bunlei_f */
- 16, /* buneqr_f */
- 36, /* buneqi_f */
- 16, /* bunger_f */
- 36, /* bungei_f */
- 16, /* bungtr_f */
- 36, /* bungti_f */
- 16, /* bltgtr_f */
- 36, /* bltgti_f */
- 16, /* bordr_f */
- 36, /* bordi_f */
- 16, /* bunordr_f */
- 36, /* bunordi_f */
+ 12, /* stxi_f */
+ 16, /* bltr_f */
+ 36, /* blti_f */
+ 16, /* bler_f */
+ 36, /* blei_f */
+ 16, /* beqr_f */
+ 36, /* beqi_f */
+ 16, /* bger_f */
+ 36, /* bgei_f */
+ 16, /* bgtr_f */
+ 36, /* bgti_f */
+ 16, /* bner_f */
+ 36, /* bnei_f */
+ 16, /* bunltr_f */
+ 36, /* bunlti_f */
+ 16, /* bunler_f */
+ 36, /* bunlei_f */
+ 16, /* buneqr_f */
+ 36, /* buneqi_f */
+ 16, /* bunger_f */
+ 36, /* bungei_f */
+ 16, /* bungtr_f */
+ 36, /* bungti_f */
+ 16, /* bltgtr_f */
+ 36, /* bltgti_f */
+ 16, /* bordr_f */
+ 36, /* bordi_f */
+ 16, /* bunordr_f */
+ 36, /* bunordi_f */
0, /* pushargr_f */
0, /* pushargi_f */
0, /* retr_f */
@@ -351,150 +367,136 @@
0, /* putargr_d */
0, /* putargi_d */
4, /* addr_d */
- 32, /* addi_d */
+ 32, /* addi_d */
4, /* subr_d */
- 32, /* subi_d */
- 32, /* rsbi_d */
+ 32, /* subi_d */
+ 32, /* rsbi_d */
4, /* mulr_d */
- 32, /* muli_d */
+ 32, /* muli_d */
4, /* divr_d */
- 32, /* divi_d */
+ 32, /* divi_d */
4, /* negr_d */
+ 0, /* negi_d */
4, /* absr_d */
+ 0, /* absi_d */
4, /* sqrtr_d */
- 16, /* ltr_d */
- 44, /* lti_d */
- 16, /* ler_d */
- 44, /* lei_d */
- 16, /* eqr_d */
- 44, /* eqi_d */
- 16, /* ger_d */
- 44, /* gei_d */
- 16, /* gtr_d */
- 44, /* gti_d */
- 16, /* ner_d */
- 44, /* nei_d */
- 16, /* unltr_d */
- 44, /* unlti_d */
- 16, /* unler_d */
- 44, /* unlei_d */
- 16, /* uneqr_d */
- 44, /* uneqi_d */
- 16, /* unger_d */
- 44, /* ungei_d */
- 16, /* ungtr_d */
- 44, /* ungti_d */
- 16, /* ltgtr_d */
- 44, /* ltgti_d */
- 16, /* ordr_d */
- 44, /* ordi_d */
- 16, /* unordr_d */
- 44, /* unordi_d */
- 16, /* truncr_d_i */
+ 0, /* sqrti_d */
+ 16, /* ltr_d */
+ 44, /* lti_d */
+ 16, /* ler_d */
+ 44, /* lei_d */
+ 16, /* eqr_d */
+ 44, /* eqi_d */
+ 16, /* ger_d */
+ 44, /* gei_d */
+ 16, /* gtr_d */
+ 44, /* gti_d */
+ 16, /* ner_d */
+ 44, /* nei_d */
+ 16, /* unltr_d */
+ 44, /* unlti_d */
+ 16, /* unler_d */
+ 44, /* unlei_d */
+ 16, /* uneqr_d */
+ 44, /* uneqi_d */
+ 16, /* unger_d */
+ 44, /* ungei_d */
+ 16, /* ungtr_d */
+ 44, /* ungti_d */
+ 16, /* ltgtr_d */
+ 44, /* ltgti_d */
+ 16, /* ordr_d */
+ 44, /* ordi_d */
+ 16, /* unordr_d */
+ 44, /* unordi_d */
+ 16, /* truncr_d_i */
0, /* truncr_d_l */
- 20, /* extr_d */
+ 20, /* extr_d */
4, /* extr_f_d */
4, /* movr_d */
- 28, /* movi_d */
+ 28, /* movi_d */
4, /* ldr_d */
- 12, /* ldi_d */
+ 12, /* ldi_d */
8, /* ldxr_d */
- 12, /* ldxi_d */
+ 12, /* ldxi_d */
4, /* str_d */
- 12, /* sti_d */
+ 12, /* sti_d */
8, /* stxr_d */
- 12, /* stxi_d */
- 16, /* bltr_d */
- 44, /* blti_d */
- 16, /* bler_d */
- 44, /* blei_d */
- 16, /* beqr_d */
- 44, /* beqi_d */
- 16, /* bger_d */
- 44, /* bgei_d */
- 16, /* bgtr_d */
- 44, /* bgti_d */
- 16, /* bner_d */
- 44, /* bnei_d */
- 16, /* bunltr_d */
- 44, /* bunlti_d */
- 16, /* bunler_d */
- 44, /* bunlei_d */
- 16, /* buneqr_d */
- 44, /* buneqi_d */
- 16, /* bunger_d */
- 44, /* bungei_d */
- 16, /* bungtr_d */
- 44, /* bungti_d */
- 16, /* bltgtr_d */
- 44, /* bltgti_d */
- 16, /* bordr_d */
- 44, /* bordi_d */
- 16, /* bunordr_d */
- 44, /* bunordi_d */
+ 12, /* stxi_d */
+ 16, /* bltr_d */
+ 44, /* blti_d */
+ 16, /* bler_d */
+ 44, /* blei_d */
+ 16, /* beqr_d */
+ 44, /* beqi_d */
+ 16, /* bger_d */
+ 44, /* bgei_d */
+ 16, /* bgtr_d */
+ 44, /* bgti_d */
+ 16, /* bner_d */
+ 44, /* bnei_d */
+ 16, /* bunltr_d */
+ 44, /* bunlti_d */
+ 16, /* bunler_d */
+ 44, /* bunlei_d */
+ 16, /* buneqr_d */
+ 44, /* buneqi_d */
+ 16, /* bunger_d */
+ 44, /* bungei_d */
+ 16, /* bungtr_d */
+ 44, /* bungti_d */
+ 16, /* bltgtr_d */
+ 44, /* bltgti_d */
+ 16, /* bordr_d */
+ 44, /* bordi_d */
+ 16, /* bunordr_d */
+ 44, /* bunordi_d */
0, /* pushargr_d */
0, /* pushargi_d */
0, /* retr_d */
0, /* reti_d */
0, /* retval_d */
- 16, /* movr_w_f */
- 20, /* movr_ww_d */
+ 16, /* movr_w_f */
+ 20, /* movi_w_f */
+ 20, /* movr_ww_d */
+ 28, /* movi_ww_d */
0, /* movr_w_d */
- 12, /* movr_f_w */
+ 0, /* movi_w_d */
+ 12, /* movr_f_w */
4, /* movi_f_w */
- 16, /* movr_d_ww */
+ 16, /* movr_d_ww */
8, /* movi_d_ww */
0, /* movr_d_w */
0, /* movi_d_w */
- 80, /* clor */
- 60, /* clzr */
- 72, /* ctor */
- 52, /* ctzr */
- 68, /* rbitr */
- 64, /* popcntr */
- 32, /* lrotr */
- 8, /* lroti */
- 32, /* rrotr */
- 8, /* rroti */
- 4, /* extr */
- 4, /* extr_u */
- 4, /* depr */
- 8, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 8, /* exti_us */
- 0, /* exti_i */
- 0, /* exti_ui */
- 8, /* bswapi_us */
- 8, /* bswapi_ui */
- 0, /* bswapi_ul */
- 8, /* htoni_us */
- 8, /* htoni_ui */
- 0, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
+ 80, /* clor */
4, /* cloi */
+ 60, /* clzr */
4, /* clzi */
+ 76, /* ctor */
4, /* ctoi */
+ 56, /* ctzr */
4, /* ctzi */
+ 68, /* rbitr */
8, /* rbiti */
+ 64, /* popcntr */
4, /* popcnti */
+ 32, /* lrotr */
+ 8, /* lroti */
+ 32, /* rrotr */
+ 8, /* rroti */
+ 4, /* extr */
4, /* exti */
+ 4, /* extr_u */
4, /* exti_u */
- 72, /* qlshr */
+ 4, /* depr */
+ 8, /* depi */
+ 72, /* qlshr */
8, /* qlshi */
- 72, /* qlshr_u */
+ 72, /* qlshr_u */
8, /* qlshi_u */
- 72, /* qrshr */
+ 72, /* qrshr */
8, /* qrshi */
- 72, /* qrshr_u */
+ 72, /* qrshr_u */
8, /* qrshi_u */
0, /* unldr */
0, /* unldi */
@@ -506,7 +508,20 @@
0, /* unldi_x */
0, /* unstr_x */
0, /* unsti_x */
- 20, /* movi_w_f */
- 0, /* movi_w_d */
- 28, /* movi_ww_d */
+ 8, /* fmar_f */
+ 0, /* fmai_f */
+ 8, /* fmsr_f */
+ 0, /* fmsi_f */
+ 8, /* fmar_d */
+ 0, /* fmai_d */
+ 8, /* fmsr_d */
+ 0, /* fmsi_d */
+ 12, /* fnmar_f */
+ 0, /* fnmai_f */
+ 12, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 12, /* fnmar_d */
+ 0, /* fnmai_d */
+ 12, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __WORDSIZE */
diff --git a/lib/jit_ia64-cpu.c b/lib/jit_ia64-cpu.c
index 4320074..4460940 100644
--- a/lib/jit_ia64-cpu.c
+++ b/lib/jit_ia64-cpu.c
@@ -210,7 +210,7 @@ typedef enum {
#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 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)
diff --git a/lib/jit_ia64-fpu.c b/lib/jit_ia64-fpu.c
index e29bff7..bca90b7 100644
--- a/lib/jit_ia64-fpu.c
+++ b/lib/jit_ia64-fpu.c
@@ -453,19 +453,19 @@ static void _movi_w_d(jit_state_t*, jit_int32_t, jit_word_t);
#define negr_d(r0,r1) FNEG(r0,r1)
#define sqrtr_f(r0,r1) _sqrtr_f(_jit,r0,r1)
static void _sqrtr_f(jit_state_t*,jit_int32_t,jit_int32_t);
-#define fmar_f(r0,r1,r2,r3) FMA_S(r0,r2,r3,r1)
-#define fmsr_f(r0,r1,r2,r3) FMS_S(r0,r2,r3,r1)
-#define fnmar_f(r0,r1,r2,r3) FNMA_S(r0,r2,r3,r1)
-#define fnmsr_f(r0,r1,r2,r3) _fnmsr_f(_jit,r0,r1,r2,r3)
-static void _fnmsr_f(jit_state_t*,
+#define fmar_f(r0,r1,r2,r3) FMA_S(r0,r1,r2,r3)
+#define fmsr_f(r0,r1,r2,r3) FMS_S(r0,r1,r2,r3)
+#define fnmsr_f(r0,r1,r2,r3) FNMA_S(r0,r1,r2,r3)
+#define fnmar_f(r0,r1,r2,r3) _fnmar_f(_jit,r0,r1,r2,r3)
+static void _fnmar_f(jit_state_t*,
jit_int32_t,jit_int32_t,jit_int32_t,jit_int32_t);
#define sqrtr_d(r0,r1) _sqrtr_d(_jit,r0,r1)
static void _sqrtr_d(jit_state_t*,jit_int32_t,jit_int32_t);
-#define fmar_d(r0,r1,r2,r3) FMA_D(r0,r2,r3,r1)
-#define fmsr_d(r0,r1,r2,r3) FMS_D(r0,r2,r3,r1)
-#define fnmar_d(r0,r1,r2,r3) FNMA_D(r0,r2,r3,r1)
-#define fnmsr_d(r0,r1,r2,r3) _fnmsr_d(_jit,r0,r1,r2,r3)
-static void _fnmsr_d(jit_state_t*,
+#define fmar_d(r0,r1,r2,r3) FMA_D(r0,r1,r2,r3)
+#define fmsr_d(r0,r1,r2,r3) FMS_D(r0,r1,r2,r3)
+#define fnmsr_d(r0,r1,r2,r3) FNMA_D(r0,r1,r2,r3)
+#define fnmar_d(r0,r1,r2,r3) _fnmar_d(_jit,r0,r1,r2,r3)
+static void _fnmar_d(jit_state_t*,
jit_int32_t,jit_int32_t,jit_int32_t,jit_int32_t);
#define extr_f_d(r0,r1) FNORM_D(r0,r1)
#define extr_d_f(r0,r1) FNORM_S(r0,r1)
@@ -1573,10 +1573,10 @@ _sqrtr_f(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1)
}
static void
-_fnmsr_f(jit_state_t *_jit,
+_fnmar_f(jit_state_t *_jit,
jit_int32_t r0, jit_int32_t r1, jit_int32_t r2, jit_int32_t r3)
{
- fmsr_f(r0, r1, r2, r3);
+ fmar_f(r0, r1, r2, r3);
negr_f(r0, r0);
}
@@ -1589,10 +1589,10 @@ _sqrtr_d(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1)
}
static void
-_fnmsr_d(jit_state_t *_jit,
+_fnmar_d(jit_state_t *_jit,
jit_int32_t r0, jit_int32_t r1, jit_int32_t r2, jit_int32_t r3)
{
- fmsr_d(r0, r1, r2, r3);
+ fmar_d(r0, r1, r2, r3);
negr_d(r0, r0);
}
diff --git a/lib/jit_ia64-sz.c b/lib/jit_ia64-sz.c
index 4b98116..2a8feaf 100644
--- a/lib/jit_ia64-sz.c
+++ b/lib/jit_ia64-sz.c
@@ -1,5 +1,5 @@
#if __WORDSIZE == 64
-#define JIT_INSTR_MAX 384
+#define JIT_INSTR_MAX 144
0, /* data */
0, /* live */
32, /* align */
@@ -87,7 +87,9 @@
16, /* rshr_u */
16, /* rshi_u */
16, /* negr */
+ 16, /* negi */
16, /* comr */
+ 16, /* comi */
16, /* ltr */
16, /* lti */
16, /* ltr_u */
@@ -115,17 +117,29 @@
32, /* casr */
32, /* casi */
16, /* extr_c */
+ 16, /* exti_c */
16, /* extr_uc */
+ 16, /* exti_uc */
16, /* extr_s */
+ 16, /* exti_s */
16, /* extr_us */
+ 16, /* exti_us */
16, /* extr_i */
+ 16, /* exti_i */
16, /* extr_ui */
+ 16, /* exti_ui */
16, /* bswapr_us */
+ 16, /* bswapi_us */
16, /* bswapr_ui */
+ 16, /* bswapi_ui */
16, /* bswapr_ul */
+ 16, /* bswapi_ul */
16, /* htonr_us */
+ 16, /* htoni_us */
16, /* htonr_ui */
+ 16, /* htoni_ui */
16, /* htonr_ul */
+ 16, /* htoni_ul */
16, /* ldr_c */
16, /* ldi_c */
16, /* ldr_uc */
@@ -268,8 +282,11 @@
64, /* divr_f */
80, /* divi_f */
16, /* negr_f */
+ 0, /* negi_f */
16, /* absr_f */
+ 0, /* absi_f */
32, /* sqrtr_f */
+ 0, /* sqrti_f */
16, /* ltr_f */
32, /* lti_f */
16, /* ler_f */
@@ -359,8 +376,11 @@
64, /* divr_d */
80, /* divi_d */
16, /* negr_d */
+ 0, /* negi_d */
16, /* absr_d */
+ 0, /* absi_d */
32, /* sqrtr_d */
+ 0, /* sqrti_d */
16, /* ltr_d */
32, /* lti_d */
16, /* ler_d */
@@ -437,8 +457,11 @@
0, /* reti_d */
0, /* retval_d */
16, /* movr_w_f */
+ 16, /* movi_w_f */
0, /* movr_ww_d */
+ 0, /* movi_ww_d */
16, /* movr_w_d */
+ 16, /* movi_w_d */
16, /* movr_f_w */
16, /* movi_f_w */
0, /* movr_d_ww */
@@ -446,47 +469,27 @@
16, /* movr_d_w */
16, /* movi_d_w */
96, /* clor */
+ 16, /* cloi */
64, /* clzr */
+ 16, /* clzi */
64, /* ctor */
+ 16, /* ctoi */
48, /* ctzr */
+ 16, /* ctzi */
64, /* rbitr */
+ 16, /* rbiti */
16, /* popcntr */
+ 16, /* popcnti */
32, /* lrotr */
32, /* lroti */
32, /* rrotr */
32, /* rroti */
16, /* extr */
+ 16, /* exti */
16, /* extr_u */
+ 16, /* exti_u */
32, /* depr */
16, /* depi */
- 16, /* negi */
- 16, /* comi */
- 16, /* exti_c */
- 16, /* exti_uc */
- 16, /* exti_s */
- 16, /* exti_us */
- 16, /* exti_i */
- 16, /* exti_ui */
- 16, /* bswapi_us */
- 16, /* bswapi_ui */
- 16, /* bswapi_ul */
- 16, /* htoni_us */
- 16, /* htoni_ui */
- 16, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 16, /* cloi */
- 16, /* clzi */
- 16, /* ctoi */
- 16, /* ctzi */
- 16, /* rbiti */
- 16, /* popcnti */
- 16, /* exti */
- 16, /* exti_u */
48, /* qlshr */
16, /* qlshi */
48, /* qlshr_u */
@@ -495,17 +498,30 @@
16, /* qrshi */
48, /* qrshr_u */
16, /* qrshi_u */
- 384, /* unldr */
- 64, /* unldi */
- 384, /* unldr_u */
- 64, /* unldi_u */
- 192, /* unstr */
- 64, /* unsti */
- 384, /* unldr_x */
- 64, /* unldi_x */
- 208, /* unstr_x */
- 64, /* unsti_x */
- 16, /* movi_w_f */
- 16, /* movi_w_d */
- 0, /* movi_ww_d */
+ 96, /* unldr */
+ 48, /* unldi */
+ 96, /* unldr_u */
+ 48, /* unldi_u */
+ 128, /* unstr */
+ 96, /* unsti */
+ 80, /* unldr_x */
+ 48, /* unldi_x */
+ 144, /* unstr_x */
+ 112, /* unsti_x */
+ 16, /* fmar_f */
+ 0, /* fmai_f */
+ 16, /* fmsr_f */
+ 0, /* fmsi_f */
+ 16, /* fmar_d */
+ 0, /* fmai_d */
+ 16, /* fmsr_d */
+ 0, /* fmsi_d */
+ 16, /* fnmar_f */
+ 0, /* fnmai_f */
+ 16, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 16, /* fnmar_d */
+ 0, /* fnmai_d */
+ 16, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __WORDSIZE */
diff --git a/lib/jit_loongarch-sz.c b/lib/jit_loongarch-sz.c
index 03dadee..377dbc0 100644
--- a/lib/jit_loongarch-sz.c
+++ b/lib/jit_loongarch-sz.c
@@ -87,7 +87,9 @@
4, /* rshr_u */
4, /* rshi_u */
4, /* negr */
+ 4, /* negi */
4, /* comr */
+ 4, /* comi */
4, /* ltr */
4, /* lti */
4, /* ltr_u */
@@ -115,17 +117,29 @@
32, /* casr */
44, /* casi */
4, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
+ 4, /* exti_uc */
4, /* extr_s */
+ 4, /* exti_s */
4, /* extr_us */
+ 8, /* exti_us */
4, /* extr_i */
+ 4, /* exti_i */
4, /* extr_ui */
+ 12, /* exti_ui */
8, /* bswapr_us */
+ 8, /* bswapi_us */
8, /* bswapr_ui */
+ 8, /* bswapi_ui */
4, /* bswapr_ul */
+ 16, /* bswapi_ul */
8, /* htonr_us */
+ 8, /* htoni_us */
8, /* htonr_ui */
+ 8, /* htoni_ui */
4, /* htonr_ul */
+ 16, /* htoni_ul */
4, /* ldr_c */
20, /* ldi_c */
4, /* ldr_uc */
@@ -268,8 +282,11 @@
4, /* divr_f */
12, /* divi_f */
4, /* negr_f */
+ 0, /* negi_f */
4, /* absr_f */
+ 0, /* absi_f */
4, /* sqrtr_f */
+ 0, /* sqrti_f */
8, /* ltr_f */
16, /* lti_f */
8, /* ler_f */
@@ -359,8 +376,11 @@
4, /* divr_d */
20, /* divi_d */
4, /* negr_d */
+ 0, /* negi_d */
4, /* absr_d */
+ 0, /* absi_d */
4, /* sqrtr_d */
+ 0, /* sqrti_d */
8, /* ltr_d */
24, /* lti_d */
8, /* ler_d */
@@ -437,8 +457,11 @@
0, /* reti_d */
0, /* retval_d */
4, /* movr_w_f */
+ 8, /* movi_w_f */
0, /* movr_ww_d */
+ 0, /* movi_ww_d */
4, /* movr_w_d */
+ 12, /* movi_w_d */
4, /* movr_f_w */
4, /* movi_f_w */
0, /* movr_d_ww */
@@ -446,47 +469,27 @@
4, /* movr_d_w */
12, /* movi_d_w */
4, /* clor */
+ 4, /* cloi */
4, /* clzr */
+ 4, /* clzi */
4, /* ctor */
+ 4, /* ctoi */
4, /* ctzr */
+ 4, /* ctzi */
4, /* rbitr */
+ 16, /* rbiti */
52, /* popcntr */
+ 4, /* popcnti */
12, /* lrotr */
4, /* lroti */
4, /* rrotr */
4, /* rroti */
8, /* extr */
+ 4, /* exti */
4, /* extr_u */
+ 4, /* exti_u */
4, /* depr */
8, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 8, /* exti_us */
- 4, /* exti_i */
- 12, /* exti_ui */
- 8, /* bswapi_us */
- 8, /* bswapi_ui */
- 16, /* bswapi_ul */
- 8, /* htoni_us */
- 8, /* htoni_ui */
- 16, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 4, /* cloi */
- 4, /* clzi */
- 4, /* ctoi */
- 4, /* ctzi */
- 16, /* rbiti */
- 4, /* popcnti */
- 4, /* exti */
- 4, /* exti_u */
84, /* qlshr */
8, /* qlshi */
84, /* qlshr_u */
@@ -496,16 +499,29 @@
84, /* qrshr_u */
8, /* qrshi_u */
24, /* unldr */
- 44, /* unldi */
+ 52, /* unldi */
24, /* unldr_u */
- 44, /* unldi_u */
+ 52, /* unldi_u */
20, /* unstr */
- 56, /* unsti */
+ 68, /* unsti */
4, /* unldr_x */
- 16, /* unldi_x */
+ 20, /* unldi_x */
4, /* unstr_x */
- 20, /* unsti_x */
- 8, /* movi_w_f */
- 12, /* movi_w_d */
- 0, /* movi_ww_d */
+ 24, /* unsti_x */
+ 4, /* fmar_f */
+ 0, /* fmai_f */
+ 4, /* fmsr_f */
+ 0, /* fmsi_f */
+ 4, /* fmar_d */
+ 0, /* fmai_d */
+ 4, /* fmsr_d */
+ 0, /* fmsi_d */
+ 4, /* fnmar_f */
+ 0, /* fnmai_f */
+ 4, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 4, /* fnmar_d */
+ 0, /* fnmai_d */
+ 4, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __WORDSIZE */
diff --git a/lib/jit_mips-sz.c b/lib/jit_mips-sz.c
index 94783b3..c107934 100644
--- a/lib/jit_mips-sz.c
+++ b/lib/jit_mips-sz.c
@@ -1,6 +1,6 @@
#if __WORDSIZE == 32
-#define JIT_INSTR_MAX 116
+#define JIT_INSTR_MAX 172
0, /* data */
0, /* live */
12, /* align */
@@ -88,7 +88,9 @@
4, /* rshr_u */
4, /* rshi_u */
4, /* negr */
+ 4, /* negi */
8, /* comr */
+ 4, /* comi */
4, /* ltr */
4, /* lti */
4, /* ltr_u */
@@ -116,17 +118,29 @@
36, /* casr */
44, /* casi */
4, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
+ 4, /* exti_uc */
4, /* extr_s */
+ 4, /* exti_s */
4, /* extr_us */
+ 4, /* exti_us */
0, /* extr_i */
+ 0, /* exti_i */
0, /* extr_ui */
+ 0, /* exti_ui */
8, /* bswapr_us */
+ 4, /* bswapi_us */
8, /* bswapr_ui */
+ 8, /* bswapi_ui */
0, /* bswapr_ul */
+ 0, /* bswapi_ul */
4, /* htonr_us */
+ 4, /* htoni_us */
4, /* htonr_ui */
+ 8, /* htoni_ui */
0, /* htonr_ul */
+ 0, /* htoni_ul */
4, /* ldr_c */
12, /* ldi_c */
4, /* ldr_uc */
@@ -269,8 +283,11 @@
4, /* divr_f */
16, /* divi_f */
4, /* negr_f */
+ 0, /* negi_f */
4, /* absr_f */
+ 0, /* absi_f */
4, /* sqrtr_f */
+ 0, /* sqrti_f */
16, /* ltr_f */
28, /* lti_f */
16, /* ler_f */
@@ -360,8 +377,11 @@
4, /* divr_d */
20, /* divi_d */
4, /* negr_d */
+ 0, /* negi_d */
4, /* absr_d */
+ 0, /* absi_d */
4, /* sqrtr_d */
+ 0, /* sqrti_d */
16, /* ltr_d */
40, /* lti_d */
16, /* ler_d */
@@ -438,8 +458,11 @@
0, /* reti_d */
0, /* retval_d */
4, /* movr_w_f */
+ 8, /* movi_w_f */
8, /* movr_ww_d */
+ 16, /* movi_ww_d */
0, /* movr_w_d */
+ 0, /* movi_w_d */
4, /* movr_f_w */
4, /* movi_f_w */
8, /* movr_d_ww */
@@ -447,47 +470,27 @@
0, /* movr_d_w */
0, /* movi_d_w */
4, /* clor */
+ 4, /* cloi */
4, /* clzr */
+ 4, /* clzi */
28, /* ctor */
+ 4, /* ctoi */
20, /* ctzr */
+ 4, /* ctzi */
68, /* rbitr */
+ 8, /* rbiti */
64, /* popcntr */
+ 4, /* popcnti */
12, /* lrotr */
4, /* lroti */
4, /* rrotr */
4, /* rroti */
8, /* extr */
+ 4, /* exti */
4, /* extr_u */
+ 4, /* exti_u */
4, /* depr */
8, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 4, /* exti_us */
- 0, /* exti_i */
- 0, /* exti_ui */
- 4, /* bswapi_us */
- 8, /* bswapi_ui */
- 0, /* bswapi_ul */
- 4, /* htoni_us */
- 8, /* htoni_ui */
- 0, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 4, /* cloi */
- 4, /* clzi */
- 4, /* ctoi */
- 4, /* ctzi */
- 8, /* rbiti */
- 4, /* popcnti */
- 4, /* exti */
- 4, /* exti_u */
48, /* qlshr */
8, /* qlshi */
44, /* qlshr_u */
@@ -497,22 +500,35 @@
44, /* qrshr_u */
8, /* qrshi_u */
16, /* unldr */
- 36, /* unldi */
+ 40, /* unldi */
16, /* unldr_u */
- 36, /* unldi_u */
- 44, /* unstr */
- 28, /* unsti */
+ 40, /* unldi_u */
+ 172, /* unstr */
+ 104, /* unsti */
32, /* unldr_x */
80, /* unldi_x */
28, /* unstr_x */
40, /* unsti_x */
- 8, /* movi_w_f */
- 0, /* movi_w_d */
- 16, /* movi_ww_d */
+ 4, /* fmar_f */
+ 0, /* fmai_f */
+ 4, /* fmsr_f */
+ 0, /* fmsi_f */
+ 4, /* fmar_d */
+ 0, /* fmai_d */
+ 4, /* fmsr_d */
+ 0, /* fmsi_d */
+ 4, /* fnmar_f */
+ 0, /* fnmai_f */
+ 4, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 4, /* fnmar_d */
+ 0, /* fnmai_d */
+ 4, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __WORDSIZE */
#if __WORDSIZE == 64
-#define JIT_INSTR_MAX 132
+#define JIT_INSTR_MAX 184
0, /* data */
0, /* live */
8, /* align */
@@ -1009,16 +1025,32 @@
44, /* qrshr_u */
8, /* qrshi_u */
16, /* unldr */
- 120, /* unldi */
+ 64, /* unldi */
16, /* unldr_u */
- 120, /* unldi_u */
- 132, /* unstr */
- 108, /* unsti */
+ 64, /* unldi_u */
+ 184, /* unstr */
+ 164, /* unsti */
16, /* unldr_x */
- 124, /* unldi_x */
+ 68, /* unldi_x */
12, /* unstr_x */
32, /* unsti_x */
8, /* movi_w_f */
12, /* movi_w_d */
0, /* movi_ww_d */
+ 4, /* fmar_f */
+ 0, /* fmai_f */
+ 4, /* fmsr_f */
+ 0, /* fmsi_f */
+ 4, /* fmar_d */
+ 0, /* fmai_d */
+ 4, /* fmsr_d */
+ 0, /* fmsi_d */
+ 4, /* fnmar_f */
+ 0, /* fnmai_f */
+ 4, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 4, /* fnmar_d */
+ 0, /* fnmai_d */
+ 4, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __WORDSIZE */
diff --git a/lib/jit_names.c b/lib/jit_names.c
index eba8e30..52f1eef 100644
--- a/lib/jit_names.c
+++ b/lib/jit_names.c
@@ -27,10 +27,8 @@ static char *code_name[] = {
"prolog",
"ellipsis", "va_push",
"allocai", "allocar",
- "arg_c",
- "arg_s",
- "arg_i",
- "arg_l",
+ "arg_c", "arg_s",
+ "arg_i", "arg_l",
"getarg_c", "getarg_uc",
"getarg_s", "getarg_us",
"getarg_i", "getarg_ui",
@@ -67,7 +65,8 @@ static char *code_name[] = {
"lshr", "lshi",
"rshr", "rshi",
"rshr_u", "rshi_u",
- "negr", "comr",
+ "negr", "negi",
+ "comr", "comi",
"ltr", "lti",
"ltr_u", "lti_u",
"ler", "lei",
@@ -81,13 +80,18 @@ static char *code_name[] = {
"movr", "movi",
"movnr", "movzr",
"casr", "casi",
- "extr_c", "extr_uc",
- "extr_s", "extr_us",
- "extr_i", "extr_ui",
- "bswapr_us",
- "bswapr_ui", "bswapr_ul",
- "htonr_us",
- "htonr_ui", "htonr_ul",
+ "extr_c", "exti_c",
+ "extr_uc", "exti_uc",
+ "extr_s", "exti_s",
+ "extr_us", "exti_us",
+ "extr_i", "exti_i",
+ "extr_ui", "exti_ui",
+ "bswapr_us", "bswapi_us",
+ "bswapr_ui", "bswapi_ui",
+ "bswapr_ul", "bswapi_ul",
+ "htonr_us", "htoni_us",
+ "htonr_ui", "htoni_ui",
+ "htonr_ul", "htoni_ul",
"ldr_c", "ldi_c",
"ldr_uc", "ldi_uc",
"ldr_s", "ldi_s",
@@ -161,8 +165,9 @@ static char *code_name[] = {
"rsbi_f",
"mulr_f", "muli_f",
"divr_f", "divi_f",
- "negr_f", "absr_f",
- "sqrtr_f",
+ "negr_f", "negi_f",
+ "absr_f", "absi_f",
+ "sqrtr_f", "sqrti_f",
"ltr_f", "lti_f",
"ler_f", "lei_f",
"eqr_f", "eqi_f",
@@ -208,8 +213,9 @@ static char *code_name[] = {
"rsbi_d",
"mulr_d", "muli_d",
"divr_d", "divi_d",
- "negr_d", "absr_d",
- "sqrtr_d",
+ "negr_d", "negi_d",
+ "absr_d", "absi_d",
+ "sqrtr_d", "sqrti_d",
"ltr_d", "lti_d",
"ler_d", "lei_d",
"eqr_d", "eqi_d",
@@ -224,7 +230,8 @@ static char *code_name[] = {
"ltgtr_d", "ltgti_d",
"ordr_d", "ordi_d",
"unordr_d", "unordi_d",
- "truncr_d_i", "truncr_d_l",
+ "truncr_d_i",
+ "truncr_d_l",
"extr_d", "extr_f_d",
"movr_d", "movi_d",
"ldr_d", "ldi_d",
@@ -248,34 +255,23 @@ static char *code_name[] = {
"pushargr_d", "pushargi_d",
"retr_d", "reti_d",
"retval_d",
- "movr_w_f", "movr_ww_d",
- "movr_w_d",
+ "movr_w_f", "movi_w_f",
+ "movr_ww_d", "movi_ww_d",
+ "movr_w_d", "movi_w_d",
"movr_f_w", "movi_f_w",
"movr_d_ww", "movi_d_ww",
"movr_d_w", "movi_d_w",
- "clor", "clzr",
- "ctor", "ctzr",
- "rbitr", "popcntr",
+ "clor", "cloi",
+ "clzr", "clzi",
+ "ctor", "ctoi",
+ "ctzr", "ctzi",
+ "rbitr", "rbiti",
+ "popcntr", "popcnti",
"lrotr", "lroti",
"rrotr", "rroti",
- "extr", "extr_u",
+ "extr", "exti",
+ "extr_u", "exti_u",
"depr", "depi",
- "negi", "comi",
- "exti_c", "exti_uc",
- "exti_s", "exti_us",
- "exti_i", "exti_ui",
- "bswapi_us", "bswapi_ui",
- "bswapi_ul",
- "htoni_us", "htoni_ui",
- "htoni_ul",
- "negi_f", "absi_f",
- "sqrti_f",
- "negi_d", "absi_d",
- "sqrti_d",
- "cloi", "clzi",
- "ctoi", "ctzi",
- "rbiti", "popcnti",
- "exti", "exti_u",
"qlshr", "qlshi",
"qlshr_u", "qlshi_u",
"qrshr", "qrshi",
@@ -285,8 +281,6 @@ static char *code_name[] = {
"unstr", "unsti",
"unldr_x", "unldi_x",
"unstr_x", "unsti_x",
- "movi_w_f",
- "movi_w_d", "movi_ww_d",
"fmar_f", "fmai_f",
"fmsr_f", "fmsi_f",
"fmar_d", "fmai_d",
diff --git a/lib/jit_ppc-sz.c b/lib/jit_ppc-sz.c
index f33566d..8c8a704 100644
--- a/lib/jit_ppc-sz.c
+++ b/lib/jit_ppc-sz.c
@@ -2,10 +2,10 @@
#if defined(__powerpc__)
#if __BYTE_ORDER == __BIG_ENDIAN
#if !_CALL_SYSV
-#define JIT_INSTR_MAX 136
+#define JIT_INSTR_MAX 384
0, /* data */
0, /* live */
- 16, /* align */
+ 16, /* align */
0, /* save */
0, /* load */
4, /* skip */
@@ -47,42 +47,42 @@
8, /* va_arg_d */
0, /* va_end */
4, /* addr */
- 12, /* addi */
+ 12, /* addi */
4, /* addcr */
- 12, /* addci */
+ 12, /* addci */
4, /* addxr */
8, /* addxi */
4, /* subr */
- 12, /* subi */
+ 12, /* subi */
4, /* subcr */
- 12, /* subci */
+ 12, /* subci */
4, /* subxr */
8, /* subxi */
- 16, /* rsbi */
+ 16, /* rsbi */
4, /* mulr */
- 12, /* muli */
- 12, /* qmulr */
- 16, /* qmuli */
- 12, /* qmulr_u */
- 16, /* qmuli_u */
+ 12, /* muli */
+ 12, /* qmulr */
+ 16, /* qmuli */
+ 12, /* qmulr_u */
+ 16, /* qmuli_u */
4, /* divr */
- 12, /* divi */
+ 12, /* divi */
4, /* divr_u */
- 12, /* divi_u */
- 20, /* qdivr */
- 16, /* qdivi */
- 20, /* qdivr_u */
- 16, /* qdivi_u */
- 12, /* remr */
- 20, /* remi */
- 12, /* remr_u */
- 20, /* remi_u */
+ 12, /* divi_u */
+ 20, /* qdivr */
+ 16, /* qdivi */
+ 20, /* qdivr_u */
+ 16, /* qdivi_u */
+ 12, /* remr */
+ 20, /* remi */
+ 12, /* remr_u */
+ 20, /* remi_u */
4, /* andr */
4, /* andi */
4, /* orr */
- 12, /* ori */
+ 12, /* ori */
4, /* xorr */
- 12, /* xori */
+ 12, /* xori */
4, /* lshr */
4, /* lshi */
4, /* rshr */
@@ -90,47 +90,61 @@
4, /* rshr_u */
4, /* rshi_u */
4, /* negr */
+ 4, /* negi */
4, /* comr */
- 12, /* ltr */
- 12, /* lti */
- 12, /* ltr_u */
- 16, /* lti_u */
- 16, /* ler */
- 16, /* lei */
- 16, /* ler_u */
- 16, /* lei_u */
- 12, /* eqr */
- 12, /* eqi */
- 16, /* ger */
- 16, /* gei */
- 16, /* ger_u */
- 16, /* gei_u */
- 12, /* gtr */
- 12, /* gti */
- 12, /* gtr_u */
- 12, /* gti_u */
- 16, /* ner */
- 16, /* nei */
+ 4, /* comi */
+ 12, /* ltr */
+ 12, /* lti */
+ 12, /* ltr_u */
+ 16, /* lti_u */
+ 16, /* ler */
+ 16, /* lei */
+ 16, /* ler_u */
+ 16, /* lei_u */
+ 12, /* eqr */
+ 12, /* eqi */
+ 16, /* ger */
+ 16, /* gei */
+ 16, /* ger_u */
+ 16, /* gei_u */
+ 12, /* gtr */
+ 12, /* gti */
+ 12, /* gtr_u */
+ 12, /* gti_u */
+ 16, /* ner */
+ 16, /* nei */
4, /* movr */
8, /* movi */
- 12, /* movnr */
- 12, /* movzr */
- 36, /* casr */
- 44, /* casi */
+ 12, /* movnr */
+ 12, /* movzr */
+ 36, /* casr */
+ 44, /* casi */
4, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
+ 4, /* exti_uc */
4, /* extr_s */
+ 4, /* exti_s */
4, /* extr_us */
+ 8, /* exti_us */
0, /* extr_i */
+ 0, /* exti_i */
0, /* extr_ui */
+ 0, /* exti_ui */
8, /* bswapr_us */
- 16, /* bswapr_ui */
+ 4, /* bswapi_us */
+ 16, /* bswapr_ui */
+ 8, /* bswapi_ui */
0, /* bswapr_ul */
+ 0, /* bswapi_ul */
4, /* htonr_us */
+ 8, /* htoni_us */
4, /* htonr_ui */
+ 8, /* htoni_ui */
0, /* htonr_ul */
+ 0, /* htoni_ul */
8, /* ldr_c */
- 12, /* ldi_c */
+ 12, /* ldi_c */
4, /* ldr_uc */
8, /* ldi_uc */
4, /* ldr_s */
@@ -144,15 +158,15 @@
0, /* ldr_l */
0, /* ldi_l */
8, /* ldxr_c */
- 16, /* ldxi_c */
+ 16, /* ldxi_c */
4, /* ldxr_uc */
- 12, /* ldxi_uc */
+ 12, /* ldxi_uc */
4, /* ldxr_s */
- 12, /* ldxi_s */
+ 12, /* ldxi_s */
4, /* ldxr_us */
- 12, /* ldxi_us */
+ 12, /* ldxi_us */
4, /* ldxr_i */
- 12, /* ldxi_i */
+ 12, /* ldxi_i */
0, /* ldxr_ui */
0, /* ldxi_ui */
0, /* ldxr_l */
@@ -166,23 +180,23 @@
0, /* str_l */
0, /* sti_l */
4, /* stxr_c */
- 12, /* stxi_c */
+ 12, /* stxi_c */
4, /* stxr_s */
- 12, /* stxi_s */
+ 12, /* stxi_s */
4, /* stxr_i */
- 12, /* stxi_i */
+ 12, /* stxi_i */
0, /* stxr_l */
0, /* stxi_l */
8, /* bltr */
8, /* blti */
8, /* bltr_u */
- 12, /* blti_u */
+ 12, /* blti_u */
8, /* bler */
8, /* blei */
8, /* bler_u */
- 12, /* blei_u */
+ 12, /* blei_u */
8, /* beqr */
- 16, /* beqi */
+ 16, /* beqi */
8, /* bger */
8, /* bgei */
8, /* bger_u */
@@ -192,31 +206,31 @@
8, /* bgtr_u */
8, /* bgti_u */
8, /* bner */
- 16, /* bnei */
- 12, /* bmsr */
- 12, /* bmsi */
- 12, /* bmcr */
- 12, /* bmci */
- 12, /* boaddr */
- 16, /* boaddi */
- 12, /* boaddr_u */
- 12, /* boaddi_u */
- 12, /* bxaddr */
- 16, /* bxaddi */
- 12, /* bxaddr_u */
- 12, /* bxaddi_u */
- 12, /* bosubr */
- 16, /* bosubi */
- 12, /* bosubr_u */
- 16, /* bosubi_u */
- 12, /* bxsubr */
- 16, /* bxsubi */
- 12, /* bxsubr_u */
- 16, /* bxsubi_u */
+ 16, /* bnei */
+ 12, /* bmsr */
+ 12, /* bmsi */
+ 12, /* bmcr */
+ 12, /* bmci */
+ 12, /* boaddr */
+ 16, /* boaddi */
+ 12, /* boaddr_u */
+ 12, /* boaddi_u */
+ 12, /* bxaddr */
+ 16, /* bxaddi */
+ 12, /* bxaddr_u */
+ 12, /* bxaddi_u */
+ 12, /* bosubr */
+ 16, /* bosubi */
+ 12, /* bosubr_u */
+ 16, /* bosubi_u */
+ 12, /* bxsubr */
+ 16, /* bxsubi */
+ 12, /* bxsubr_u */
+ 16, /* bxsubi_u */
8, /* jmpr */
4, /* jmpi */
- 28, /* callr */
- 36, /* calli */
+ 28, /* callr */
+ 36, /* calli */
0, /* prepare */
0, /* pushargr_c */
0, /* pushargi_c */
@@ -262,87 +276,90 @@
0, /* putargr_f */
0, /* putargi_f */
4, /* addr_f */
- 16, /* addi_f */
+ 16, /* addi_f */
4, /* subr_f */
- 16, /* subi_f */
- 16, /* rsbi_f */
+ 16, /* subi_f */
+ 16, /* rsbi_f */
4, /* mulr_f */
- 16, /* muli_f */
+ 16, /* muli_f */
4, /* divr_f */
- 16, /* divi_f */
+ 16, /* divi_f */
4, /* negr_f */
+ 0, /* negi_f */
4, /* absr_f */
+ 0, /* absi_f */
4, /* sqrtr_f */
- 12, /* ltr_f */
- 24, /* lti_f */
- 16, /* ler_f */
- 28, /* lei_f */
- 12, /* eqr_f */
- 24, /* eqi_f */
- 16, /* ger_f */
- 28, /* gei_f */
- 12, /* gtr_f */
- 24, /* gti_f */
- 16, /* ner_f */
- 28, /* nei_f */
- 16, /* unltr_f */
- 28, /* unlti_f */
- 16, /* unler_f */
- 28, /* unlei_f */
- 16, /* uneqr_f */
- 28, /* uneqi_f */
- 16, /* unger_f */
- 28, /* ungei_f */
- 16, /* ungtr_f */
- 28, /* ungti_f */
- 16, /* ltgtr_f */
- 28, /* ltgti_f */
- 16, /* ordr_f */
- 28, /* ordi_f */
- 12, /* unordr_f */
- 24, /* unordi_f */
- 12, /* truncr_f_i */
+ 0, /* sqrti_f */
+ 12, /* ltr_f */
+ 24, /* lti_f */
+ 16, /* ler_f */
+ 28, /* lei_f */
+ 12, /* eqr_f */
+ 24, /* eqi_f */
+ 16, /* ger_f */
+ 28, /* gei_f */
+ 12, /* gtr_f */
+ 24, /* gti_f */
+ 16, /* ner_f */
+ 28, /* nei_f */
+ 16, /* unltr_f */
+ 28, /* unlti_f */
+ 16, /* unler_f */
+ 28, /* unlei_f */
+ 16, /* uneqr_f */
+ 28, /* uneqi_f */
+ 16, /* unger_f */
+ 28, /* ungei_f */
+ 16, /* ungtr_f */
+ 28, /* ungti_f */
+ 16, /* ltgtr_f */
+ 28, /* ltgti_f */
+ 16, /* ordr_f */
+ 28, /* ordi_f */
+ 12, /* unordr_f */
+ 24, /* unordi_f */
+ 12, /* truncr_f_i */
0, /* truncr_f_l */
- 36, /* extr_f */
+ 36, /* extr_f */
4, /* extr_d_f */
4, /* movr_f */
- 12, /* movi_f */
+ 12, /* movi_f */
4, /* ldr_f */
8, /* ldi_f */
4, /* ldxr_f */
- 12, /* ldxi_f */
+ 12, /* ldxi_f */
4, /* str_f */
8, /* sti_f */
4, /* stxr_f */
- 12, /* stxi_f */
+ 12, /* stxi_f */
8, /* bltr_f */
- 20, /* blti_f */
- 12, /* bler_f */
- 24, /* blei_f */
+ 20, /* blti_f */
+ 12, /* bler_f */
+ 24, /* blei_f */
8, /* beqr_f */
- 20, /* beqi_f */
- 12, /* bger_f */
- 24, /* bgei_f */
+ 20, /* beqi_f */
+ 12, /* bger_f */
+ 24, /* bgei_f */
8, /* bgtr_f */
- 20, /* bgti_f */
+ 20, /* bgti_f */
8, /* bner_f */
- 20, /* bnei_f */
- 12, /* bunltr_f */
- 24, /* bunlti_f */
+ 20, /* bnei_f */
+ 12, /* bunltr_f */
+ 24, /* bunlti_f */
8, /* bunler_f */
- 20, /* bunlei_f */
- 12, /* buneqr_f */
- 24, /* buneqi_f */
+ 20, /* bunlei_f */
+ 12, /* buneqr_f */
+ 24, /* buneqi_f */
8, /* bunger_f */
- 20, /* bungei_f */
- 12, /* bungtr_f */
- 24, /* bungti_f */
- 12, /* bltgtr_f */
- 24, /* bltgti_f */
+ 20, /* bungei_f */
+ 12, /* bungtr_f */
+ 24, /* bungti_f */
+ 12, /* bltgtr_f */
+ 24, /* bltgti_f */
8, /* bordr_f */
- 20, /* bordi_f */
+ 20, /* bordi_f */
8, /* bunordr_f */
- 20, /* bunordi_f */
+ 20, /* bunordi_f */
0, /* pushargr_f */
0, /* pushargi_f */
0, /* retr_f */
@@ -353,164 +370,163 @@
0, /* putargr_d */
0, /* putargi_d */
4, /* addr_d */
- 24, /* addi_d */
+ 24, /* addi_d */
4, /* subr_d */
- 24, /* subi_d */
- 24, /* rsbi_d */
+ 24, /* subi_d */
+ 24, /* rsbi_d */
4, /* mulr_d */
- 24, /* muli_d */
+ 24, /* muli_d */
4, /* divr_d */
- 24, /* divi_d */
+ 24, /* divi_d */
4, /* negr_d */
+ 0, /* negi_d */
4, /* absr_d */
+ 0, /* absi_d */
4, /* sqrtr_d */
- 12, /* ltr_d */
- 32, /* lti_d */
- 16, /* ler_d */
- 36, /* lei_d */
- 12, /* eqr_d */
- 32, /* eqi_d */
- 16, /* ger_d */
- 36, /* gei_d */
- 12, /* gtr_d */
- 32, /* gti_d */
- 16, /* ner_d */
- 36, /* nei_d */
- 16, /* unltr_d */
- 36, /* unlti_d */
- 16, /* unler_d */
- 36, /* unlei_d */
- 16, /* uneqr_d */
- 36, /* uneqi_d */
- 16, /* unger_d */
- 36, /* ungei_d */
- 16, /* ungtr_d */
- 36, /* ungti_d */
- 16, /* ltgtr_d */
- 36, /* ltgti_d */
- 16, /* ordr_d */
- 36, /* ordi_d */
- 12, /* unordr_d */
- 32, /* unordi_d */
- 12, /* truncr_d_i */
+ 0, /* sqrti_d */
+ 12, /* ltr_d */
+ 32, /* lti_d */
+ 16, /* ler_d */
+ 36, /* lei_d */
+ 12, /* eqr_d */
+ 32, /* eqi_d */
+ 16, /* ger_d */
+ 36, /* gei_d */
+ 12, /* gtr_d */
+ 32, /* gti_d */
+ 16, /* ner_d */
+ 36, /* nei_d */
+ 16, /* unltr_d */
+ 36, /* unlti_d */
+ 16, /* unler_d */
+ 36, /* unlei_d */
+ 16, /* uneqr_d */
+ 36, /* uneqi_d */
+ 16, /* unger_d */
+ 36, /* ungei_d */
+ 16, /* ungtr_d */
+ 36, /* ungti_d */
+ 16, /* ltgtr_d */
+ 36, /* ltgti_d */
+ 16, /* ordr_d */
+ 36, /* ordi_d */
+ 12, /* unordr_d */
+ 32, /* unordi_d */
+ 12, /* truncr_d_i */
0, /* truncr_d_l */
- 36, /* extr_d */
+ 36, /* extr_d */
4, /* extr_f_d */
4, /* movr_d */
- 28, /* movi_d */
+ 28, /* movi_d */
4, /* ldr_d */
8, /* ldi_d */
4, /* ldxr_d */
- 12, /* ldxi_d */
+ 12, /* ldxi_d */
4, /* str_d */
8, /* sti_d */
4, /* stxr_d */
- 12, /* stxi_d */
+ 12, /* stxi_d */
8, /* bltr_d */
- 28, /* blti_d */
- 12, /* bler_d */
- 32, /* blei_d */
+ 28, /* blti_d */
+ 12, /* bler_d */
+ 32, /* blei_d */
8, /* beqr_d */
- 32, /* beqi_d */
- 12, /* bger_d */
- 32, /* bgei_d */
+ 32, /* beqi_d */
+ 12, /* bger_d */
+ 32, /* bgei_d */
8, /* bgtr_d */
- 28, /* bgti_d */
+ 28, /* bgti_d */
8, /* bner_d */
- 28, /* bnei_d */
- 12, /* bunltr_d */
- 32, /* bunlti_d */
+ 28, /* bnei_d */
+ 12, /* bunltr_d */
+ 32, /* bunlti_d */
8, /* bunler_d */
- 28, /* bunlei_d */
- 12, /* buneqr_d */
- 32, /* buneqi_d */
+ 28, /* bunlei_d */
+ 12, /* buneqr_d */
+ 32, /* buneqi_d */
8, /* bunger_d */
- 28, /* bungei_d */
- 12, /* bungtr_d */
- 32, /* bungti_d */
- 12, /* bltgtr_d */
- 32, /* bltgti_d */
+ 28, /* bungei_d */
+ 12, /* bungtr_d */
+ 32, /* bungti_d */
+ 12, /* bltgtr_d */
+ 32, /* bltgti_d */
8, /* bordr_d */
- 28, /* bordi_d */
+ 28, /* bordi_d */
8, /* bunordr_d */
- 28, /* bunordi_d */
+ 28, /* bunordi_d */
0, /* pushargr_d */
0, /* pushargi_d */
0, /* retr_d */
0, /* reti_d */
0, /* retval_d */
8, /* movr_w_f */
- 12, /* movr_ww_d */
+ 12, /* movi_w_f */
+ 12, /* movr_ww_d */
+ 20, /* movi_ww_d */
0, /* movr_w_d */
+ 0, /* movi_w_d */
8, /* movr_f_w */
4, /* movi_f_w */
- 12, /* movr_d_ww */
+ 12, /* movr_d_ww */
8, /* movi_d_ww */
0, /* movr_d_w */
0, /* movi_d_w */
8, /* clor */
- 4, /* clzr */
- 32, /* ctor */
- 28, /* ctzr */
- 56, /* rbitr */
- 20, /* popcntr */
- 4, /* lrotr */
- 4, /* lroti */
- 12, /* rrotr */
- 4, /* rroti */
- 8, /* extr */
- 4, /* extr_u */
- 4, /* depr */
- 8, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 8, /* exti_us */
- 0, /* exti_i */
- 0, /* exti_ui */
- 4, /* bswapi_us */
- 8, /* bswapi_ui */
- 0, /* bswapi_ul */
- 8, /* htoni_us */
- 8, /* htoni_ui */
- 0, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
4, /* cloi */
+ 4, /* clzr */
4, /* clzi */
+ 32, /* ctor */
4, /* ctoi */
+ 28, /* ctzr */
4, /* ctzi */
+ 56, /* rbitr */
8, /* rbiti */
+ 20, /* popcntr */
4, /* popcnti */
+ 4, /* lrotr */
+ 4, /* lroti */
+ 12, /* rrotr */
+ 4, /* rroti */
+ 8, /* extr */
4, /* exti */
+ 4, /* extr_u */
4, /* exti_u */
- 56, /* qlshr */
+ 4, /* depr */
+ 8, /* depi */
+ 56, /* qlshr */
8, /* qlshi */
- 56, /* qlshr_u */
+ 56, /* qlshr_u */
8, /* qlshi_u */
- 56, /* qrshr */
+ 56, /* qrshr */
8, /* qrshi */
- 56, /* qrshr_u */
+ 56, /* qrshr_u */
8, /* qrshi_u */
- 100, /* unldr */
- 28, /* unldi */
- 100, /* unldr_u */
- 28, /* unldi_u */
- 68, /* unstr */
- 32, /* unsti */
- 212, /* unldr_x */
- 68, /* unldi_x */
- 152, /* unstr_x */
- 76, /* unsti_x */
- 12, /* movi_w_f */
- 0, /* movi_w_d */
- 20, /* movi_ww_d */
+ 68, /* unldr */
+ 32, /* unldi */
+ 68, /* unldr_u */
+ 32, /* unldi_u */
+ 176, /* unstr */
+ 80, /* unsti */
+ 140, /* unldr_x */
+ 68, /* unldi_x */
+ 384, /* unstr_x */
+ 164, /* unsti_x */
+ 4, /* fmar_f */
+ 0, /* fmai_f */
+ 4, /* fmsr_f */
+ 0, /* fmsi_f */
+ 4, /* fmar_d */
+ 0, /* fmai_d */
+ 4, /* fmsr_d */
+ 0, /* fmsi_d */
+ 4, /* fnmar_f */
+ 0, /* fnmai_f */
+ 4, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 4, /* fnmar_d */
+ 0, /* fnmai_d */
+ 4, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* !_CALL_SYSV */
#endif /* __BYTE_ORDER */
#endif /* __powerpc__ */
@@ -520,10 +536,10 @@
#if defined(__powerpc__)
#if __BYTE_ORDER == __BIG_ENDIAN
#if _CALL_SYSV
-#define JIT_INSTR_MAX 124
+#define JIT_INSTR_MAX 384
0, /* data */
0, /* live */
- 28, /* align */
+ 28, /* align */
0, /* save */
0, /* load */
4, /* skip */
@@ -560,47 +576,47 @@
0, /* putargi_ui */
0, /* putargr_l */
0, /* putargi_l */
- 36, /* va_start */
- 52, /* va_arg */
- 64, /* va_arg_d */
+ 36, /* va_start */
+ 52, /* va_arg */
+ 64, /* va_arg_d */
0, /* va_end */
4, /* addr */
- 12, /* addi */
+ 12, /* addi */
4, /* addcr */
- 12, /* addci */
+ 12, /* addci */
4, /* addxr */
8, /* addxi */
4, /* subr */
- 12, /* subi */
+ 12, /* subi */
4, /* subcr */
- 12, /* subci */
+ 12, /* subci */
4, /* subxr */
8, /* subxi */
- 16, /* rsbi */
+ 16, /* rsbi */
4, /* mulr */
- 12, /* muli */
- 12, /* qmulr */
- 16, /* qmuli */
- 12, /* qmulr_u */
- 16, /* qmuli_u */
+ 12, /* muli */
+ 12, /* qmulr */
+ 16, /* qmuli */
+ 12, /* qmulr_u */
+ 16, /* qmuli_u */
4, /* divr */
- 12, /* divi */
+ 12, /* divi */
4, /* divr_u */
- 12, /* divi_u */
- 20, /* qdivr */
- 16, /* qdivi */
- 20, /* qdivr_u */
- 16, /* qdivi_u */
- 12, /* remr */
- 20, /* remi */
- 12, /* remr_u */
- 20, /* remi_u */
+ 12, /* divi_u */
+ 20, /* qdivr */
+ 16, /* qdivi */
+ 20, /* qdivr_u */
+ 16, /* qdivi_u */
+ 12, /* remr */
+ 20, /* remi */
+ 12, /* remr_u */
+ 20, /* remi_u */
4, /* andr */
4, /* andi */
4, /* orr */
- 12, /* ori */
+ 12, /* ori */
4, /* xorr */
- 12, /* xori */
+ 12, /* xori */
4, /* lshr */
4, /* lshi */
4, /* rshr */
@@ -608,47 +624,61 @@
4, /* rshr_u */
4, /* rshi_u */
4, /* negr */
+ 4, /* negi */
4, /* comr */
- 12, /* ltr */
- 12, /* lti */
- 12, /* ltr_u */
- 16, /* lti_u */
- 16, /* ler */
- 16, /* lei */
- 16, /* ler_u */
- 16, /* lei_u */
- 12, /* eqr */
- 12, /* eqi */
- 16, /* ger */
- 16, /* gei */
- 16, /* ger_u */
- 16, /* gei_u */
- 12, /* gtr */
- 12, /* gti */
- 12, /* gtr_u */
- 12, /* gti_u */
- 16, /* ner */
- 16, /* nei */
+ 4, /* comi */
+ 12, /* ltr */
+ 12, /* lti */
+ 12, /* ltr_u */
+ 16, /* lti_u */
+ 16, /* ler */
+ 16, /* lei */
+ 16, /* ler_u */
+ 16, /* lei_u */
+ 12, /* eqr */
+ 12, /* eqi */
+ 16, /* ger */
+ 16, /* gei */
+ 16, /* ger_u */
+ 16, /* gei_u */
+ 12, /* gtr */
+ 12, /* gti */
+ 12, /* gtr_u */
+ 12, /* gti_u */
+ 16, /* ner */
+ 16, /* nei */
4, /* movr */
8, /* movi */
- 12, /* movnr */
- 12, /* movzr */
- 36, /* casr */
- 44, /* casi */
+ 12, /* movnr */
+ 12, /* movzr */
+ 36, /* casr */
+ 44, /* casi */
4, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
+ 4, /* exti_uc */
4, /* extr_s */
+ 4, /* exti_s */
4, /* extr_us */
+ 8, /* exti_us */
0, /* extr_i */
+ 0, /* exti_i */
0, /* extr_ui */
+ 0, /* exti_ui */
8, /* bswapr_us */
- 16, /* bswapr_ui */
+ 4, /* bswapi_us */
+ 16, /* bswapr_ui */
+ 8, /* bswapi_ui */
0, /* bswapr_ul */
+ 0, /* bswapi_ul */
4, /* htonr_us */
+ 8, /* htoni_us */
4, /* htonr_ui */
+ 8, /* htoni_ui */
0, /* htonr_ul */
+ 0, /* htoni_ul */
8, /* ldr_c */
- 12, /* ldi_c */
+ 12, /* ldi_c */
4, /* ldr_uc */
8, /* ldi_uc */
4, /* ldr_s */
@@ -662,15 +692,15 @@
0, /* ldr_l */
0, /* ldi_l */
8, /* ldxr_c */
- 16, /* ldxi_c */
+ 16, /* ldxi_c */
4, /* ldxr_uc */
- 12, /* ldxi_uc */
+ 12, /* ldxi_uc */
4, /* ldxr_s */
- 12, /* ldxi_s */
+ 12, /* ldxi_s */
4, /* ldxr_us */
- 12, /* ldxi_us */
+ 12, /* ldxi_us */
4, /* ldxr_i */
- 12, /* ldxi_i */
+ 12, /* ldxi_i */
0, /* ldxr_ui */
0, /* ldxi_ui */
0, /* ldxr_l */
@@ -684,23 +714,23 @@
0, /* str_l */
0, /* sti_l */
4, /* stxr_c */
- 12, /* stxi_c */
+ 12, /* stxi_c */
4, /* stxr_s */
- 12, /* stxi_s */
+ 12, /* stxi_s */
4, /* stxr_i */
- 12, /* stxi_i */
+ 12, /* stxi_i */
0, /* stxr_l */
0, /* stxi_l */
8, /* bltr */
8, /* blti */
8, /* bltr_u */
- 12, /* blti_u */
+ 12, /* blti_u */
8, /* bler */
8, /* blei */
8, /* bler_u */
- 12, /* blei_u */
+ 12, /* blei_u */
8, /* beqr */
- 16, /* beqi */
+ 16, /* beqi */
8, /* bger */
8, /* bgei */
8, /* bger_u */
@@ -710,31 +740,31 @@
8, /* bgtr_u */
8, /* bgti_u */
8, /* bner */
- 16, /* bnei */
- 12, /* bmsr */
- 12, /* bmsi */
- 12, /* bmcr */
- 12, /* bmci */
- 12, /* boaddr */
- 16, /* boaddi */
- 12, /* boaddr_u */
- 12, /* boaddi_u */
- 12, /* bxaddr */
- 16, /* bxaddi */
- 12, /* bxaddr_u */
- 12, /* bxaddi_u */
- 12, /* bosubr */
- 16, /* bosubi */
- 12, /* bosubr_u */
- 16, /* bosubi_u */
- 12, /* bxsubr */
- 16, /* bxsubi */
- 12, /* bxsubr_u */
- 16, /* bxsubi_u */
+ 16, /* bnei */
+ 12, /* bmsr */
+ 12, /* bmsi */
+ 12, /* bmcr */
+ 12, /* bmci */
+ 12, /* boaddr */
+ 16, /* boaddi */
+ 12, /* boaddr_u */
+ 12, /* boaddi_u */
+ 12, /* bxaddr */
+ 16, /* bxaddi */
+ 12, /* bxaddr_u */
+ 12, /* bxaddi_u */
+ 12, /* bosubr */
+ 16, /* bosubi */
+ 12, /* bosubr_u */
+ 16, /* bosubi_u */
+ 12, /* bxsubr */
+ 16, /* bxsubi */
+ 12, /* bxsubr_u */
+ 16, /* bxsubi_u */
8, /* jmpr */
4, /* jmpi */
- 12, /* callr */
- 20, /* calli */
+ 12, /* callr */
+ 20, /* calli */
0, /* prepare */
0, /* pushargr_c */
0, /* pushargi_c */
@@ -780,87 +810,90 @@
0, /* putargr_f */
0, /* putargi_f */
4, /* addr_f */
- 16, /* addi_f */
+ 16, /* addi_f */
4, /* subr_f */
- 16, /* subi_f */
- 16, /* rsbi_f */
+ 16, /* subi_f */
+ 16, /* rsbi_f */
4, /* mulr_f */
- 16, /* muli_f */
+ 16, /* muli_f */
4, /* divr_f */
- 16, /* divi_f */
+ 16, /* divi_f */
4, /* negr_f */
+ 0, /* negi_f */
4, /* absr_f */
+ 0, /* absi_f */
4, /* sqrtr_f */
- 12, /* ltr_f */
- 24, /* lti_f */
- 16, /* ler_f */
- 28, /* lei_f */
- 12, /* eqr_f */
- 24, /* eqi_f */
- 16, /* ger_f */
- 28, /* gei_f */
- 12, /* gtr_f */
- 24, /* gti_f */
- 16, /* ner_f */
- 28, /* nei_f */
- 16, /* unltr_f */
- 28, /* unlti_f */
- 16, /* unler_f */
- 28, /* unlei_f */
- 16, /* uneqr_f */
- 28, /* uneqi_f */
- 16, /* unger_f */
- 28, /* ungei_f */
- 16, /* ungtr_f */
- 28, /* ungti_f */
- 16, /* ltgtr_f */
- 28, /* ltgti_f */
- 16, /* ordr_f */
- 28, /* ordi_f */
- 12, /* unordr_f */
- 24, /* unordi_f */
- 12, /* truncr_f_i */
+ 0, /* sqrti_f */
+ 12, /* ltr_f */
+ 24, /* lti_f */
+ 16, /* ler_f */
+ 28, /* lei_f */
+ 12, /* eqr_f */
+ 24, /* eqi_f */
+ 16, /* ger_f */
+ 28, /* gei_f */
+ 12, /* gtr_f */
+ 24, /* gti_f */
+ 16, /* ner_f */
+ 28, /* nei_f */
+ 16, /* unltr_f */
+ 28, /* unlti_f */
+ 16, /* unler_f */
+ 28, /* unlei_f */
+ 16, /* uneqr_f */
+ 28, /* uneqi_f */
+ 16, /* unger_f */
+ 28, /* ungei_f */
+ 16, /* ungtr_f */
+ 28, /* ungti_f */
+ 16, /* ltgtr_f */
+ 28, /* ltgti_f */
+ 16, /* ordr_f */
+ 28, /* ordi_f */
+ 12, /* unordr_f */
+ 24, /* unordi_f */
+ 12, /* truncr_f_i */
0, /* truncr_f_l */
- 36, /* extr_f */
+ 36, /* extr_f */
4, /* extr_d_f */
4, /* movr_f */
- 12, /* movi_f */
+ 12, /* movi_f */
4, /* ldr_f */
8, /* ldi_f */
4, /* ldxr_f */
- 12, /* ldxi_f */
+ 12, /* ldxi_f */
4, /* str_f */
8, /* sti_f */
4, /* stxr_f */
- 12, /* stxi_f */
+ 12, /* stxi_f */
8, /* bltr_f */
- 20, /* blti_f */
- 12, /* bler_f */
- 24, /* blei_f */
+ 20, /* blti_f */
+ 12, /* bler_f */
+ 24, /* blei_f */
8, /* beqr_f */
- 20, /* beqi_f */
- 12, /* bger_f */
- 24, /* bgei_f */
+ 20, /* beqi_f */
+ 12, /* bger_f */
+ 24, /* bgei_f */
8, /* bgtr_f */
- 20, /* bgti_f */
+ 20, /* bgti_f */
8, /* bner_f */
- 20, /* bnei_f */
- 12, /* bunltr_f */
- 24, /* bunlti_f */
+ 20, /* bnei_f */
+ 12, /* bunltr_f */
+ 24, /* bunlti_f */
8, /* bunler_f */
- 20, /* bunlei_f */
- 12, /* buneqr_f */
- 24, /* buneqi_f */
+ 20, /* bunlei_f */
+ 12, /* buneqr_f */
+ 24, /* buneqi_f */
8, /* bunger_f */
- 20, /* bungei_f */
- 12, /* bungtr_f */
- 24, /* bungti_f */
- 12, /* bltgtr_f */
- 24, /* bltgti_f */
+ 20, /* bungei_f */
+ 12, /* bungtr_f */
+ 24, /* bungti_f */
+ 12, /* bltgtr_f */
+ 24, /* bltgti_f */
8, /* bordr_f */
- 20, /* bordi_f */
+ 20, /* bordi_f */
8, /* bunordr_f */
- 20, /* bunordi_f */
+ 20, /* bunordi_f */
0, /* pushargr_f */
0, /* pushargi_f */
0, /* retr_f */
@@ -871,164 +904,163 @@
0, /* putargr_d */
0, /* putargi_d */
4, /* addr_d */
- 24, /* addi_d */
+ 24, /* addi_d */
4, /* subr_d */
- 24, /* subi_d */
- 24, /* rsbi_d */
+ 24, /* subi_d */
+ 24, /* rsbi_d */
4, /* mulr_d */
- 24, /* muli_d */
+ 24, /* muli_d */
4, /* divr_d */
- 24, /* divi_d */
+ 24, /* divi_d */
4, /* negr_d */
+ 0, /* negi_d */
4, /* absr_d */
+ 0, /* absi_d */
4, /* sqrtr_d */
- 12, /* ltr_d */
- 32, /* lti_d */
- 16, /* ler_d */
- 36, /* lei_d */
- 12, /* eqr_d */
- 32, /* eqi_d */
- 16, /* ger_d */
- 36, /* gei_d */
- 12, /* gtr_d */
- 32, /* gti_d */
- 16, /* ner_d */
- 36, /* nei_d */
- 16, /* unltr_d */
- 36, /* unlti_d */
- 16, /* unler_d */
- 36, /* unlei_d */
- 16, /* uneqr_d */
- 36, /* uneqi_d */
- 16, /* unger_d */
- 36, /* ungei_d */
- 16, /* ungtr_d */
- 36, /* ungti_d */
- 16, /* ltgtr_d */
- 36, /* ltgti_d */
- 16, /* ordr_d */
- 36, /* ordi_d */
- 12, /* unordr_d */
- 32, /* unordi_d */
- 12, /* truncr_d_i */
+ 0, /* sqrti_d */
+ 12, /* ltr_d */
+ 32, /* lti_d */
+ 16, /* ler_d */
+ 36, /* lei_d */
+ 12, /* eqr_d */
+ 32, /* eqi_d */
+ 16, /* ger_d */
+ 36, /* gei_d */
+ 12, /* gtr_d */
+ 32, /* gti_d */
+ 16, /* ner_d */
+ 36, /* nei_d */
+ 16, /* unltr_d */
+ 36, /* unlti_d */
+ 16, /* unler_d */
+ 36, /* unlei_d */
+ 16, /* uneqr_d */
+ 36, /* uneqi_d */
+ 16, /* unger_d */
+ 36, /* ungei_d */
+ 16, /* ungtr_d */
+ 36, /* ungti_d */
+ 16, /* ltgtr_d */
+ 36, /* ltgti_d */
+ 16, /* ordr_d */
+ 36, /* ordi_d */
+ 12, /* unordr_d */
+ 32, /* unordi_d */
+ 12, /* truncr_d_i */
0, /* truncr_d_l */
- 36, /* extr_d */
+ 36, /* extr_d */
4, /* extr_f_d */
4, /* movr_d */
- 28, /* movi_d */
+ 28, /* movi_d */
4, /* ldr_d */
8, /* ldi_d */
4, /* ldxr_d */
- 12, /* ldxi_d */
+ 12, /* ldxi_d */
4, /* str_d */
8, /* sti_d */
4, /* stxr_d */
- 12, /* stxi_d */
+ 12, /* stxi_d */
8, /* bltr_d */
- 28, /* blti_d */
- 12, /* bler_d */
- 32, /* blei_d */
+ 28, /* blti_d */
+ 12, /* bler_d */
+ 32, /* blei_d */
8, /* beqr_d */
- 32, /* beqi_d */
- 12, /* bger_d */
- 32, /* bgei_d */
+ 32, /* beqi_d */
+ 12, /* bger_d */
+ 32, /* bgei_d */
8, /* bgtr_d */
- 28, /* bgti_d */
+ 28, /* bgti_d */
8, /* bner_d */
- 28, /* bnei_d */
- 12, /* bunltr_d */
- 32, /* bunlti_d */
+ 28, /* bnei_d */
+ 12, /* bunltr_d */
+ 32, /* bunlti_d */
8, /* bunler_d */
- 28, /* bunlei_d */
- 12, /* buneqr_d */
- 32, /* buneqi_d */
+ 28, /* bunlei_d */
+ 12, /* buneqr_d */
+ 32, /* buneqi_d */
8, /* bunger_d */
- 28, /* bungei_d */
- 12, /* bungtr_d */
- 32, /* bungti_d */
- 12, /* bltgtr_d */
- 32, /* bltgti_d */
+ 28, /* bungei_d */
+ 12, /* bungtr_d */
+ 32, /* bungti_d */
+ 12, /* bltgtr_d */
+ 32, /* bltgti_d */
8, /* bordr_d */
- 28, /* bordi_d */
+ 28, /* bordi_d */
8, /* bunordr_d */
- 28, /* bunordi_d */
+ 28, /* bunordi_d */
0, /* pushargr_d */
0, /* pushargi_d */
0, /* retr_d */
0, /* reti_d */
0, /* retval_d */
8, /* movr_w_f */
- 12, /* movr_ww_d */
+ 12, /* movi_w_f */
+ 12, /* movr_ww_d */
+ 20, /* movi_ww_d */
0, /* movr_w_d */
+ 0, /* movi_w_d */
8, /* movr_f_w */
4, /* movi_f_w */
- 12, /* movr_d_ww */
+ 12, /* movr_d_ww */
8, /* movi_d_ww */
0, /* movr_d_w */
0, /* movi_d_w */
8, /* clor */
- 4, /* clzr */
- 32, /* ctor */
- 28, /* ctzr */
- 56, /* rbitr */
- 20, /* popcntr */
- 4, /* lrotr */
- 4, /* lroti */
- 12, /* rrotr */
- 4, /* rroti */
- 8, /* extr */
- 4, /* extr_u */
- 4, /* depr */
- 8, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 8, /* exti_us */
- 0, /* exti_i */
- 0, /* exti_ui */
- 4, /* bswapi_us */
- 8, /* bswapi_ui */
- 0, /* bswapi_ul */
- 8, /* htoni_us */
- 8, /* htoni_ui */
- 0, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
4, /* cloi */
+ 4, /* clzr */
4, /* clzi */
+ 32, /* ctor */
4, /* ctoi */
+ 28, /* ctzr */
4, /* ctzi */
+ 56, /* rbitr */
8, /* rbiti */
+ 20, /* popcntr */
4, /* popcnti */
+ 4, /* lrotr */
+ 4, /* lroti */
+ 12, /* rrotr */
+ 4, /* rroti */
+ 8, /* extr */
4, /* exti */
+ 4, /* extr_u */
4, /* exti_u */
- 56, /* qlshr */
+ 4, /* depr */
+ 8, /* depi */
+ 56, /* qlshr */
8, /* qlshi */
- 56, /* qlshr_u */
+ 56, /* qlshr_u */
8, /* qlshi_u */
- 56, /* qrshr */
+ 56, /* qrshr */
8, /* qrshi */
- 56, /* qrshr_u */
+ 56, /* qrshr_u */
8, /* qrshi_u */
- 100, /* unldr */
- 28, /* unldi */
- 100, /* unldr_u */
- 28, /* unldi_u */
- 68, /* unstr */
- 32, /* unsti */
- 212, /* unldr_x */
- 68, /* unldi_x */
- 152, /* unstr_x */
- 76, /* unsti_x */
- 12, /* movi_w_f */
- 0, /* movi_w_d */
- 20, /* movi_ww_d */
+ 68, /* unldr */
+ 32, /* unldi */
+ 68, /* unldr_u */
+ 32, /* unldi_u */
+ 176, /* unstr */
+ 80, /* unsti */
+ 140, /* unldr_x */
+ 68, /* unldi_x */
+ 384, /* unstr_x */
+ 164, /* unsti_x */
+ 4, /* fmar_f */
+ 0, /* fmai_f */
+ 4, /* fmsr_f */
+ 0, /* fmsi_f */
+ 4, /* fmar_d */
+ 0, /* fmai_d */
+ 4, /* fmsr_d */
+ 0, /* fmsi_d */
+ 4, /* fnmar_f */
+ 0, /* fnmai_f */
+ 4, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 4, /* fnmar_d */
+ 0, /* fnmai_d */
+ 4, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* _CALL_SYSV */
#endif /* __BYTE_ORDER */
#endif /* __powerpc__ */
@@ -1037,10 +1069,10 @@
#if __WORDSIZE == 64
#if defined(__powerpc__)
#if __BYTE_ORDER == __BIG_ENDIAN
-#define JIT_INSTR_MAX 148
+#define JIT_INSTR_MAX 208
0, /* data */
0, /* live */
- 28, /* align */
+ 28, /* align */
0, /* save */
0, /* load */
4, /* skip */
@@ -1082,42 +1114,42 @@
8, /* va_arg_d */
0, /* va_end */
4, /* addr */
- 28, /* addi */
+ 28, /* addi */
4, /* addcr */
- 28, /* addci */
+ 28, /* addci */
4, /* addxr */
8, /* addxi */
4, /* subr */
- 28, /* subi */
+ 28, /* subi */
4, /* subcr */
- 28, /* subci */
+ 28, /* subci */
4, /* subxr */
8, /* subxi */
- 44, /* rsbi */
+ 44, /* rsbi */
4, /* mulr */
- 28, /* muli */
- 12, /* qmulr */
- 28, /* qmuli */
- 12, /* qmulr_u */
- 28, /* qmuli_u */
+ 28, /* muli */
+ 12, /* qmulr */
+ 28, /* qmuli */
+ 12, /* qmulr_u */
+ 28, /* qmuli_u */
4, /* divr */
- 28, /* divi */
+ 28, /* divi */
4, /* divr_u */
- 28, /* divi_u */
- 20, /* qdivr */
- 16, /* qdivi */
- 20, /* qdivr_u */
- 16, /* qdivi_u */
- 12, /* remr */
- 36, /* remi */
- 12, /* remr_u */
- 36, /* remi_u */
+ 28, /* divi_u */
+ 20, /* qdivr */
+ 16, /* qdivi */
+ 20, /* qdivr_u */
+ 16, /* qdivi_u */
+ 12, /* remr */
+ 36, /* remi */
+ 12, /* remr_u */
+ 36, /* remi_u */
4, /* andr */
- 28, /* andi */
+ 28, /* andi */
4, /* orr */
- 28, /* ori */
+ 28, /* ori */
4, /* xorr */
- 28, /* xori */
+ 28, /* xori */
4, /* lshr */
4, /* lshi */
4, /* rshr */
@@ -1125,99 +1157,113 @@
4, /* rshr_u */
4, /* rshi_u */
4, /* negr */
+ 4, /* negi */
4, /* comr */
- 12, /* ltr */
- 12, /* lti */
- 12, /* ltr_u */
- 16, /* lti_u */
- 16, /* ler */
- 16, /* lei */
- 16, /* ler_u */
- 16, /* lei_u */
- 12, /* eqr */
- 12, /* eqi */
- 16, /* ger */
- 16, /* gei */
- 16, /* ger_u */
- 16, /* gei_u */
- 12, /* gtr */
- 12, /* gti */
- 12, /* gtr_u */
- 12, /* gti_u */
- 16, /* ner */
- 16, /* nei */
+ 4, /* comi */
+ 12, /* ltr */
+ 12, /* lti */
+ 12, /* ltr_u */
+ 16, /* lti_u */
+ 16, /* ler */
+ 16, /* lei */
+ 16, /* ler_u */
+ 16, /* lei_u */
+ 12, /* eqr */
+ 12, /* eqi */
+ 16, /* ger */
+ 16, /* gei */
+ 16, /* ger_u */
+ 16, /* gei_u */
+ 12, /* gtr */
+ 12, /* gti */
+ 12, /* gtr_u */
+ 12, /* gti_u */
+ 16, /* ner */
+ 16, /* nei */
4, /* movr */
- 36, /* movi */
- 12, /* movnr */
- 12, /* movzr */
- 36, /* casr */
- 44, /* casi */
+ 36, /* movi */
+ 12, /* movnr */
+ 12, /* movzr */
+ 36, /* casr */
+ 44, /* casi */
4, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
+ 4, /* exti_uc */
4, /* extr_s */
+ 4, /* exti_s */
4, /* extr_us */
+ 8, /* exti_us */
4, /* extr_i */
+ 4, /* exti_i */
4, /* extr_ui */
+ 16, /* exti_ui */
8, /* bswapr_us */
- 16, /* bswapr_ui */
- 44, /* bswapr_ul */
+ 4, /* bswapi_us */
+ 16, /* bswapr_ui */
+ 8, /* bswapi_ui */
+ 44, /* bswapr_ul */
+ 36, /* bswapi_ul */
4, /* htonr_us */
+ 8, /* htoni_us */
4, /* htonr_ui */
+ 8, /* htoni_ui */
4, /* htonr_ul */
+ 36, /* htoni_ul */
8, /* ldr_c */
- 28, /* ldi_c */
+ 28, /* ldi_c */
4, /* ldr_uc */
- 24, /* ldi_uc */
+ 24, /* ldi_uc */
4, /* ldr_s */
- 24, /* ldi_s */
+ 24, /* ldi_s */
4, /* ldr_us */
- 24, /* ldi_us */
+ 24, /* ldi_us */
4, /* ldr_i */
- 24, /* ldi_i */
+ 24, /* ldi_i */
4, /* ldr_ui */
- 24, /* ldi_ui */
+ 24, /* ldi_ui */
4, /* ldr_l */
- 24, /* ldi_l */
+ 24, /* ldi_l */
8, /* ldxr_c */
- 16, /* ldxi_c */
+ 16, /* ldxi_c */
4, /* ldxr_uc */
- 12, /* ldxi_uc */
+ 12, /* ldxi_uc */
4, /* ldxr_s */
- 12, /* ldxi_s */
+ 12, /* ldxi_s */
4, /* ldxr_us */
- 12, /* ldxi_us */
+ 12, /* ldxi_us */
4, /* ldxr_i */
- 12, /* ldxi_i */
+ 12, /* ldxi_i */
4, /* ldxr_ui */
- 12, /* ldxi_ui */
+ 12, /* ldxi_ui */
4, /* ldxr_l */
- 12, /* ldxi_l */
+ 12, /* ldxi_l */
4, /* str_c */
- 24, /* sti_c */
+ 24, /* sti_c */
4, /* str_s */
- 24, /* sti_s */
+ 24, /* sti_s */
4, /* str_i */
- 24, /* sti_i */
+ 24, /* sti_i */
4, /* str_l */
- 24, /* sti_l */
+ 24, /* sti_l */
4, /* stxr_c */
- 12, /* stxi_c */
+ 12, /* stxi_c */
4, /* stxr_s */
- 12, /* stxi_s */
+ 12, /* stxi_s */
4, /* stxr_i */
- 12, /* stxi_i */
+ 12, /* stxi_i */
4, /* stxr_l */
- 12, /* stxi_l */
+ 12, /* stxi_l */
8, /* bltr */
8, /* blti */
8, /* bltr_u */
- 12, /* blti_u */
+ 12, /* blti_u */
8, /* bler */
8, /* blei */
8, /* bler_u */
- 12, /* blei_u */
+ 12, /* blei_u */
8, /* beqr */
- 44, /* beqi */
+ 44, /* beqi */
8, /* bger */
8, /* bgei */
8, /* bger_u */
@@ -1227,31 +1273,31 @@
8, /* bgtr_u */
8, /* bgti_u */
8, /* bner */
- 44, /* bnei */
- 12, /* bmsr */
- 12, /* bmsi */
- 12, /* bmcr */
- 12, /* bmci */
- 12, /* boaddr */
- 16, /* boaddi */
- 12, /* boaddr_u */
- 12, /* boaddi_u */
- 12, /* bxaddr */
- 16, /* bxaddi */
- 12, /* bxaddr_u */
- 12, /* bxaddi_u */
- 12, /* bosubr */
- 16, /* bosubi */
- 12, /* bosubr_u */
- 16, /* bosubi_u */
- 12, /* bxsubr */
- 16, /* bxsubi */
- 12, /* bxsubr_u */
- 16, /* bxsubi_u */
+ 44, /* bnei */
+ 12, /* bmsr */
+ 12, /* bmsi */
+ 12, /* bmcr */
+ 12, /* bmci */
+ 12, /* boaddr */
+ 16, /* boaddi */
+ 12, /* boaddr_u */
+ 12, /* boaddi_u */
+ 12, /* bxaddr */
+ 16, /* bxaddi */
+ 12, /* bxaddr_u */
+ 12, /* bxaddi_u */
+ 12, /* bosubr */
+ 16, /* bosubi */
+ 12, /* bosubr_u */
+ 16, /* bosubi_u */
+ 12, /* bxsubr */
+ 16, /* bxsubi */
+ 12, /* bxsubr_u */
+ 16, /* bxsubi_u */
8, /* jmpr */
4, /* jmpi */
- 28, /* callr */
- 52, /* calli */
+ 28, /* callr */
+ 52, /* calli */
0, /* prepare */
0, /* pushargr_c */
0, /* pushargi_c */
@@ -1297,87 +1343,90 @@
0, /* putargr_f */
0, /* putargi_f */
4, /* addr_f */
- 28, /* addi_f */
+ 28, /* addi_f */
4, /* subr_f */
- 28, /* subi_f */
- 28, /* rsbi_f */
+ 28, /* subi_f */
+ 28, /* rsbi_f */
4, /* mulr_f */
- 28, /* muli_f */
+ 28, /* muli_f */
4, /* divr_f */
- 28, /* divi_f */
+ 28, /* divi_f */
4, /* negr_f */
+ 0, /* negi_f */
4, /* absr_f */
+ 0, /* absi_f */
4, /* sqrtr_f */
- 12, /* ltr_f */
- 36, /* lti_f */
- 16, /* ler_f */
- 40, /* lei_f */
- 12, /* eqr_f */
- 36, /* eqi_f */
- 16, /* ger_f */
- 40, /* gei_f */
- 12, /* gtr_f */
- 36, /* gti_f */
- 16, /* ner_f */
- 40, /* nei_f */
- 16, /* unltr_f */
- 40, /* unlti_f */
- 16, /* unler_f */
- 40, /* unlei_f */
- 16, /* uneqr_f */
- 40, /* uneqi_f */
- 16, /* unger_f */
- 40, /* ungei_f */
- 16, /* ungtr_f */
- 40, /* ungti_f */
- 16, /* ltgtr_f */
- 40, /* ltgti_f */
- 16, /* ordr_f */
- 40, /* ordi_f */
- 12, /* unordr_f */
- 36, /* unordi_f */
- 12, /* truncr_f_i */
- 12, /* truncr_f_l */
- 12, /* extr_f */
+ 0, /* sqrti_f */
+ 12, /* ltr_f */
+ 36, /* lti_f */
+ 16, /* ler_f */
+ 40, /* lei_f */
+ 12, /* eqr_f */
+ 36, /* eqi_f */
+ 16, /* ger_f */
+ 40, /* gei_f */
+ 12, /* gtr_f */
+ 36, /* gti_f */
+ 16, /* ner_f */
+ 40, /* nei_f */
+ 16, /* unltr_f */
+ 40, /* unlti_f */
+ 16, /* unler_f */
+ 40, /* unlei_f */
+ 16, /* uneqr_f */
+ 40, /* uneqi_f */
+ 16, /* unger_f */
+ 40, /* ungei_f */
+ 16, /* ungtr_f */
+ 40, /* ungti_f */
+ 16, /* ltgtr_f */
+ 40, /* ltgti_f */
+ 16, /* ordr_f */
+ 40, /* ordi_f */
+ 12, /* unordr_f */
+ 36, /* unordi_f */
+ 12, /* truncr_f_i */
+ 12, /* truncr_f_l */
+ 12, /* extr_f */
4, /* extr_d_f */
4, /* movr_f */
- 24, /* movi_f */
+ 24, /* movi_f */
4, /* ldr_f */
- 24, /* ldi_f */
+ 24, /* ldi_f */
4, /* ldxr_f */
- 12, /* ldxi_f */
+ 12, /* ldxi_f */
4, /* str_f */
- 24, /* sti_f */
+ 24, /* sti_f */
4, /* stxr_f */
- 12, /* stxi_f */
+ 12, /* stxi_f */
8, /* bltr_f */
- 32, /* blti_f */
- 12, /* bler_f */
- 36, /* blei_f */
+ 32, /* blti_f */
+ 12, /* bler_f */
+ 36, /* blei_f */
8, /* beqr_f */
- 32, /* beqi_f */
- 12, /* bger_f */
- 36, /* bgei_f */
+ 32, /* beqi_f */
+ 12, /* bger_f */
+ 36, /* bgei_f */
8, /* bgtr_f */
- 32, /* bgti_f */
+ 32, /* bgti_f */
8, /* bner_f */
- 32, /* bnei_f */
- 12, /* bunltr_f */
- 36, /* bunlti_f */
+ 32, /* bnei_f */
+ 12, /* bunltr_f */
+ 36, /* bunlti_f */
8, /* bunler_f */
- 32, /* bunlei_f */
- 12, /* buneqr_f */
- 36, /* buneqi_f */
+ 32, /* bunlei_f */
+ 12, /* buneqr_f */
+ 36, /* buneqi_f */
8, /* bunger_f */
- 32, /* bungei_f */
- 12, /* bungtr_f */
- 36, /* bungti_f */
- 12, /* bltgtr_f */
- 36, /* bltgti_f */
+ 32, /* bungei_f */
+ 12, /* bungtr_f */
+ 36, /* bungti_f */
+ 12, /* bltgtr_f */
+ 36, /* bltgti_f */
8, /* bordr_f */
- 32, /* bordi_f */
+ 32, /* bordi_f */
8, /* bunordr_f */
- 32, /* bunordi_f */
+ 32, /* bunordi_f */
0, /* pushargr_f */
0, /* pushargi_f */
0, /* retr_f */
@@ -1388,95 +1437,101 @@
0, /* putargr_d */
0, /* putargi_d */
4, /* addr_d */
- 28, /* addi_d */
+ 28, /* addi_d */
4, /* subr_d */
- 28, /* subi_d */
- 32, /* rsbi_d */
+ 28, /* subi_d */
+ 32, /* rsbi_d */
4, /* mulr_d */
- 28, /* muli_d */
+ 28, /* muli_d */
4, /* divr_d */
- 28, /* divi_d */
+ 28, /* divi_d */
4, /* negr_d */
+ 0, /* negi_d */
4, /* absr_d */
+ 0, /* absi_d */
4, /* sqrtr_d */
- 12, /* ltr_d */
- 40, /* lti_d */
- 16, /* ler_d */
- 44, /* lei_d */
- 12, /* eqr_d */
- 40, /* eqi_d */
- 16, /* ger_d */
- 44, /* gei_d */
- 12, /* gtr_d */
- 40, /* gti_d */
- 16, /* ner_d */
- 44, /* nei_d */
- 16, /* unltr_d */
- 44, /* unlti_d */
- 16, /* unler_d */
- 44, /* unlei_d */
- 16, /* uneqr_d */
- 44, /* uneqi_d */
- 16, /* unger_d */
- 44, /* ungei_d */
- 16, /* ungtr_d */
- 44, /* ungti_d */
- 16, /* ltgtr_d */
- 44, /* ltgti_d */
- 16, /* ordr_d */
- 44, /* ordi_d */
- 12, /* unordr_d */
- 40, /* unordi_d */
- 12, /* truncr_d_i */
- 12, /* truncr_d_l */
- 12, /* extr_d */
+ 0, /* sqrti_d */
+ 12, /* ltr_d */
+ 40, /* lti_d */
+ 16, /* ler_d */
+ 44, /* lei_d */
+ 12, /* eqr_d */
+ 40, /* eqi_d */
+ 16, /* ger_d */
+ 44, /* gei_d */
+ 12, /* gtr_d */
+ 40, /* gti_d */
+ 16, /* ner_d */
+ 44, /* nei_d */
+ 16, /* unltr_d */
+ 44, /* unlti_d */
+ 16, /* unler_d */
+ 44, /* unlei_d */
+ 16, /* uneqr_d */
+ 44, /* uneqi_d */
+ 16, /* unger_d */
+ 44, /* ungei_d */
+ 16, /* ungtr_d */
+ 44, /* ungti_d */
+ 16, /* ltgtr_d */
+ 44, /* ltgti_d */
+ 16, /* ordr_d */
+ 44, /* ordi_d */
+ 12, /* unordr_d */
+ 40, /* unordi_d */
+ 12, /* truncr_d_i */
+ 12, /* truncr_d_l */
+ 12, /* extr_d */
4, /* extr_f_d */
4, /* movr_d */
- 32, /* movi_d */
+ 32, /* movi_d */
4, /* ldr_d */
- 24, /* ldi_d */
+ 24, /* ldi_d */
4, /* ldxr_d */
- 12, /* ldxi_d */
+ 12, /* ldxi_d */
4, /* str_d */
- 24, /* sti_d */
+ 24, /* sti_d */
4, /* stxr_d */
- 12, /* stxi_d */
+ 12, /* stxi_d */
8, /* bltr_d */
- 32, /* blti_d */
- 12, /* bler_d */
- 36, /* blei_d */
+ 32, /* blti_d */
+ 12, /* bler_d */
+ 36, /* blei_d */
8, /* beqr_d */
- 40, /* beqi_d */
- 12, /* bger_d */
- 40, /* bgei_d */
+ 40, /* beqi_d */
+ 12, /* bger_d */
+ 40, /* bgei_d */
8, /* bgtr_d */
- 36, /* bgti_d */
+ 36, /* bgti_d */
8, /* bner_d */
- 36, /* bnei_d */
- 12, /* bunltr_d */
- 36, /* bunlti_d */
+ 36, /* bnei_d */
+ 12, /* bunltr_d */
+ 36, /* bunlti_d */
8, /* bunler_d */
- 32, /* bunlei_d */
- 12, /* buneqr_d */
- 36, /* buneqi_d */
+ 32, /* bunlei_d */
+ 12, /* buneqr_d */
+ 36, /* buneqi_d */
8, /* bunger_d */
- 36, /* bungei_d */
- 12, /* bungtr_d */
- 40, /* bungti_d */
- 12, /* bltgtr_d */
- 40, /* bltgti_d */
+ 36, /* bungei_d */
+ 12, /* bungtr_d */
+ 40, /* bungti_d */
+ 12, /* bltgtr_d */
+ 40, /* bltgti_d */
8, /* bordr_d */
- 36, /* bordi_d */
+ 36, /* bordi_d */
8, /* bunordr_d */
- 32, /* bunordi_d */
+ 32, /* bunordi_d */
0, /* pushargr_d */
0, /* pushargi_d */
0, /* retr_d */
0, /* reti_d */
0, /* retval_d */
8, /* movr_w_f */
+ 12, /* movi_w_f */
0, /* movr_ww_d */
+ 0, /* movi_ww_d */
8, /* movr_w_d */
+ 16, /* movi_w_d */
8, /* movr_f_w */
4, /* movi_f_w */
0, /* movr_d_ww */
@@ -1484,68 +1539,61 @@
8, /* movr_d_w */
8, /* movi_d_w */
8, /* clor */
+ 4, /* cloi */
4, /* clzr */
- 32, /* ctor */
- 28, /* ctzr */
- 68, /* rbitr */
- 36, /* popcntr */
+ 4, /* clzi */
+ 32, /* ctor */
+ 4, /* ctoi */
+ 28, /* ctzr */
+ 4, /* ctzi */
+ 68, /* rbitr */
+ 36, /* rbiti */
+ 36, /* popcntr */
+ 4, /* popcnti */
4, /* lrotr */
4, /* lroti */
- 12, /* rrotr */
+ 12, /* rrotr */
4, /* rroti */
8, /* extr */
+ 4, /* exti */
4, /* extr_u */
+ 4, /* exti_u */
4, /* depr */
8, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 8, /* exti_us */
- 4, /* exti_i */
- 16, /* exti_ui */
- 4, /* bswapi_us */
- 8, /* bswapi_ui */
- 36, /* bswapi_ul */
- 8, /* htoni_us */
- 8, /* htoni_ui */
- 36, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 4, /* cloi */
- 4, /* clzi */
- 4, /* ctoi */
- 4, /* ctzi */
- 36, /* rbiti */
- 4, /* popcnti */
- 4, /* exti */
- 4, /* exti_u */
- 56, /* qlshr */
+ 56, /* qlshr */
8, /* qlshi */
- 56, /* qlshr_u */
+ 56, /* qlshr_u */
8, /* qlshi_u */
- 56, /* qrshr */
+ 56, /* qrshr */
8, /* qrshi */
- 56, /* qrshr_u */
+ 56, /* qrshr_u */
8, /* qrshi_u */
- 304, /* unldr */
- 124, /* unldi */
- 304, /* unldr_u */
- 124, /* unldi_u */
- 168, /* unstr */
- 108, /* unsti */
- 308, /* unldr_x */
- 132, /* unldi_x */
- 176, /* unstr_x */
- 116, /* unsti_x */
- 12, /* movi_w_f */
- 16, /* movi_w_d */
- 0, /* movi_ww_d */
+ 72, /* unldr */
+ 64, /* unldi */
+ 72, /* unldr_u */
+ 64, /* unldi_u */
+ 200, /* unstr */
+ 164, /* unsti */
+ 76, /* unldr_x */
+ 72, /* unldi_x */
+ 208, /* unstr_x */
+ 172, /* unsti_x */
+ 4, /* fmar_f */
+ 0, /* fmai_f */
+ 4, /* fmsr_f */
+ 0, /* fmsi_f */
+ 4, /* fmar_d */
+ 0, /* fmai_d */
+ 4, /* fmsr_d */
+ 0, /* fmsi_d */
+ 4, /* fnmar_f */
+ 0, /* fnmai_f */
+ 4, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 4, /* fnmar_d */
+ 0, /* fnmai_d */
+ 4, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __BYTE_ORDER */
#endif /* __powerpc__ */
#endif /* __WORDSIZE */
@@ -1553,10 +1601,10 @@
#if __WORDSIZE == 64
#if defined(__powerpc__)
#if __BYTE_ORDER == __LITTLE_ENDIAN
-#define JIT_INSTR_MAX 124
+#define JIT_INSTR_MAX 208
0, /* data */
0, /* live */
- 20, /* align */
+ 20, /* align */
0, /* save */
0, /* load */
4, /* skip */
@@ -1598,42 +1646,42 @@
8, /* va_arg_d */
0, /* va_end */
4, /* addr */
- 28, /* addi */
+ 28, /* addi */
4, /* addcr */
- 28, /* addci */
+ 28, /* addci */
4, /* addxr */
8, /* addxi */
4, /* subr */
- 28, /* subi */
+ 28, /* subi */
4, /* subcr */
- 28, /* subci */
+ 28, /* subci */
4, /* subxr */
8, /* subxi */
- 44, /* rsbi */
+ 44, /* rsbi */
4, /* mulr */
- 28, /* muli */
- 12, /* qmulr */
- 28, /* qmuli */
- 12, /* qmulr_u */
- 28, /* qmuli_u */
+ 28, /* muli */
+ 12, /* qmulr */
+ 28, /* qmuli */
+ 12, /* qmulr_u */
+ 28, /* qmuli_u */
4, /* divr */
- 28, /* divi */
+ 28, /* divi */
4, /* divr_u */
- 28, /* divi_u */
- 20, /* qdivr */
- 16, /* qdivi */
- 20, /* qdivr_u */
- 16, /* qdivi_u */
- 12, /* remr */
- 36, /* remi */
- 12, /* remr_u */
- 36, /* remi_u */
+ 28, /* divi_u */
+ 20, /* qdivr */
+ 16, /* qdivi */
+ 20, /* qdivr_u */
+ 16, /* qdivi_u */
+ 12, /* remr */
+ 36, /* remi */
+ 12, /* remr_u */
+ 36, /* remi_u */
4, /* andr */
- 28, /* andi */
+ 28, /* andi */
4, /* orr */
- 28, /* ori */
+ 28, /* ori */
4, /* xorr */
- 28, /* xori */
+ 28, /* xori */
4, /* lshr */
4, /* lshi */
4, /* rshr */
@@ -1641,99 +1689,113 @@
4, /* rshr_u */
4, /* rshi_u */
4, /* negr */
+ 4, /* negi */
4, /* comr */
- 12, /* ltr */
- 12, /* lti */
- 12, /* ltr_u */
- 16, /* lti_u */
- 16, /* ler */
- 16, /* lei */
- 16, /* ler_u */
- 16, /* lei_u */
- 12, /* eqr */
- 12, /* eqi */
- 16, /* ger */
- 16, /* gei */
- 16, /* ger_u */
- 16, /* gei_u */
- 12, /* gtr */
- 12, /* gti */
- 12, /* gtr_u */
- 12, /* gti_u */
- 16, /* ner */
- 16, /* nei */
+ 4, /* comi */
+ 12, /* ltr */
+ 12, /* lti */
+ 12, /* ltr_u */
+ 16, /* lti_u */
+ 16, /* ler */
+ 16, /* lei */
+ 16, /* ler_u */
+ 16, /* lei_u */
+ 12, /* eqr */
+ 12, /* eqi */
+ 16, /* ger */
+ 16, /* gei */
+ 16, /* ger_u */
+ 16, /* gei_u */
+ 12, /* gtr */
+ 12, /* gti */
+ 12, /* gtr_u */
+ 12, /* gti_u */
+ 16, /* ner */
+ 16, /* nei */
4, /* movr */
- 36, /* movi */
- 12, /* movnr */
- 12, /* movzr */
- 36, /* casr */
- 44, /* casi */
+ 36, /* movi */
+ 12, /* movnr */
+ 12, /* movzr */
+ 36, /* casr */
+ 44, /* casi */
4, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
+ 4, /* exti_uc */
4, /* extr_s */
+ 4, /* exti_s */
4, /* extr_us */
+ 8, /* exti_us */
4, /* extr_i */
+ 4, /* exti_i */
4, /* extr_ui */
+ 16, /* exti_ui */
8, /* bswapr_us */
- 16, /* bswapr_ui */
- 44, /* bswapr_ul */
+ 4, /* bswapi_us */
+ 16, /* bswapr_ui */
+ 8, /* bswapi_ui */
+ 44, /* bswapr_ul */
+ 36, /* bswapi_ul */
8, /* htonr_us */
- 16, /* htonr_ui */
- 44, /* htonr_ul */
+ 8, /* htoni_us */
+ 16, /* htonr_ui */
+ 8, /* htoni_ui */
+ 44, /* htonr_ul */
+ 36, /* htoni_ul */
8, /* ldr_c */
- 28, /* ldi_c */
+ 28, /* ldi_c */
4, /* ldr_uc */
- 24, /* ldi_uc */
+ 24, /* ldi_uc */
4, /* ldr_s */
- 24, /* ldi_s */
+ 24, /* ldi_s */
4, /* ldr_us */
- 24, /* ldi_us */
+ 24, /* ldi_us */
4, /* ldr_i */
- 24, /* ldi_i */
+ 24, /* ldi_i */
4, /* ldr_ui */
- 24, /* ldi_ui */
+ 24, /* ldi_ui */
4, /* ldr_l */
- 24, /* ldi_l */
+ 24, /* ldi_l */
8, /* ldxr_c */
- 16, /* ldxi_c */
+ 16, /* ldxi_c */
4, /* ldxr_uc */
- 12, /* ldxi_uc */
+ 12, /* ldxi_uc */
4, /* ldxr_s */
- 12, /* ldxi_s */
+ 12, /* ldxi_s */
4, /* ldxr_us */
- 12, /* ldxi_us */
+ 12, /* ldxi_us */
4, /* ldxr_i */
- 12, /* ldxi_i */
+ 12, /* ldxi_i */
4, /* ldxr_ui */
- 12, /* ldxi_ui */
+ 12, /* ldxi_ui */
4, /* ldxr_l */
- 12, /* ldxi_l */
+ 12, /* ldxi_l */
4, /* str_c */
- 24, /* sti_c */
+ 24, /* sti_c */
4, /* str_s */
- 24, /* sti_s */
+ 24, /* sti_s */
4, /* str_i */
- 24, /* sti_i */
+ 24, /* sti_i */
4, /* str_l */
- 24, /* sti_l */
+ 24, /* sti_l */
4, /* stxr_c */
- 12, /* stxi_c */
+ 12, /* stxi_c */
4, /* stxr_s */
- 12, /* stxi_s */
+ 12, /* stxi_s */
4, /* stxr_i */
- 12, /* stxi_i */
+ 12, /* stxi_i */
4, /* stxr_l */
- 12, /* stxi_l */
+ 12, /* stxi_l */
8, /* bltr */
8, /* blti */
8, /* bltr_u */
- 12, /* blti_u */
+ 12, /* blti_u */
8, /* bler */
8, /* blei */
8, /* bler_u */
- 12, /* blei_u */
+ 12, /* blei_u */
8, /* beqr */
- 44, /* beqi */
+ 44, /* beqi */
8, /* bger */
8, /* bgei */
8, /* bger_u */
@@ -1743,31 +1805,31 @@
8, /* bgtr_u */
8, /* bgti_u */
8, /* bner */
- 44, /* bnei */
- 12, /* bmsr */
- 12, /* bmsi */
- 12, /* bmcr */
- 12, /* bmci */
- 12, /* boaddr */
- 16, /* boaddi */
- 12, /* boaddr_u */
- 12, /* boaddi_u */
- 12, /* bxaddr */
- 16, /* bxaddi */
- 12, /* bxaddr_u */
- 12, /* bxaddi_u */
- 12, /* bosubr */
- 16, /* bosubi */
- 12, /* bosubr_u */
- 16, /* bosubi_u */
- 12, /* bxsubr */
- 16, /* bxsubi */
- 12, /* bxsubr_u */
- 16, /* bxsubi_u */
+ 44, /* bnei */
+ 12, /* bmsr */
+ 12, /* bmsi */
+ 12, /* bmcr */
+ 12, /* bmci */
+ 12, /* boaddr */
+ 16, /* boaddi */
+ 12, /* boaddr_u */
+ 12, /* boaddi_u */
+ 12, /* bxaddr */
+ 16, /* bxaddi */
+ 12, /* bxaddr_u */
+ 12, /* bxaddi_u */
+ 12, /* bosubr */
+ 16, /* bosubi */
+ 12, /* bosubr_u */
+ 16, /* bosubi_u */
+ 12, /* bxsubr */
+ 16, /* bxsubi */
+ 12, /* bxsubr_u */
+ 16, /* bxsubi_u */
8, /* jmpr */
4, /* jmpi */
- 12, /* callr */
- 32, /* calli */
+ 12, /* callr */
+ 32, /* calli */
0, /* prepare */
0, /* pushargr_c */
0, /* pushargi_c */
@@ -1813,87 +1875,90 @@
0, /* putargr_f */
0, /* putargi_f */
4, /* addr_f */
- 28, /* addi_f */
+ 28, /* addi_f */
4, /* subr_f */
- 28, /* subi_f */
- 28, /* rsbi_f */
+ 28, /* subi_f */
+ 28, /* rsbi_f */
4, /* mulr_f */
- 28, /* muli_f */
+ 28, /* muli_f */
4, /* divr_f */
- 28, /* divi_f */
+ 28, /* divi_f */
4, /* negr_f */
+ 0, /* negi_f */
4, /* absr_f */
+ 0, /* absi_f */
4, /* sqrtr_f */
- 12, /* ltr_f */
- 36, /* lti_f */
- 16, /* ler_f */
- 40, /* lei_f */
- 12, /* eqr_f */
- 36, /* eqi_f */
- 16, /* ger_f */
- 40, /* gei_f */
- 12, /* gtr_f */
- 36, /* gti_f */
- 16, /* ner_f */
- 40, /* nei_f */
- 16, /* unltr_f */
- 40, /* unlti_f */
- 16, /* unler_f */
- 40, /* unlei_f */
- 16, /* uneqr_f */
- 40, /* uneqi_f */
- 16, /* unger_f */
- 40, /* ungei_f */
- 16, /* ungtr_f */
- 40, /* ungti_f */
- 16, /* ltgtr_f */
- 40, /* ltgti_f */
- 16, /* ordr_f */
- 40, /* ordi_f */
- 12, /* unordr_f */
- 36, /* unordi_f */
- 12, /* truncr_f_i */
- 12, /* truncr_f_l */
- 12, /* extr_f */
+ 0, /* sqrti_f */
+ 12, /* ltr_f */
+ 36, /* lti_f */
+ 16, /* ler_f */
+ 40, /* lei_f */
+ 12, /* eqr_f */
+ 36, /* eqi_f */
+ 16, /* ger_f */
+ 40, /* gei_f */
+ 12, /* gtr_f */
+ 36, /* gti_f */
+ 16, /* ner_f */
+ 40, /* nei_f */
+ 16, /* unltr_f */
+ 40, /* unlti_f */
+ 16, /* unler_f */
+ 40, /* unlei_f */
+ 16, /* uneqr_f */
+ 40, /* uneqi_f */
+ 16, /* unger_f */
+ 40, /* ungei_f */
+ 16, /* ungtr_f */
+ 40, /* ungti_f */
+ 16, /* ltgtr_f */
+ 40, /* ltgti_f */
+ 16, /* ordr_f */
+ 40, /* ordi_f */
+ 12, /* unordr_f */
+ 36, /* unordi_f */
+ 12, /* truncr_f_i */
+ 12, /* truncr_f_l */
+ 12, /* extr_f */
4, /* extr_d_f */
4, /* movr_f */
- 24, /* movi_f */
+ 24, /* movi_f */
4, /* ldr_f */
- 24, /* ldi_f */
+ 24, /* ldi_f */
4, /* ldxr_f */
- 12, /* ldxi_f */
+ 12, /* ldxi_f */
4, /* str_f */
- 24, /* sti_f */
+ 24, /* sti_f */
4, /* stxr_f */
- 12, /* stxi_f */
+ 12, /* stxi_f */
8, /* bltr_f */
- 32, /* blti_f */
- 12, /* bler_f */
- 36, /* blei_f */
+ 32, /* blti_f */
+ 12, /* bler_f */
+ 36, /* blei_f */
8, /* beqr_f */
- 32, /* beqi_f */
- 12, /* bger_f */
- 36, /* bgei_f */
+ 32, /* beqi_f */
+ 12, /* bger_f */
+ 36, /* bgei_f */
8, /* bgtr_f */
- 32, /* bgti_f */
+ 32, /* bgti_f */
8, /* bner_f */
- 32, /* bnei_f */
- 12, /* bunltr_f */
- 36, /* bunlti_f */
+ 32, /* bnei_f */
+ 12, /* bunltr_f */
+ 36, /* bunlti_f */
8, /* bunler_f */
- 32, /* bunlei_f */
- 12, /* buneqr_f */
- 36, /* buneqi_f */
+ 32, /* bunlei_f */
+ 12, /* buneqr_f */
+ 36, /* buneqi_f */
8, /* bunger_f */
- 32, /* bungei_f */
- 12, /* bungtr_f */
- 36, /* bungti_f */
- 12, /* bltgtr_f */
- 36, /* bltgti_f */
+ 32, /* bungei_f */
+ 12, /* bungtr_f */
+ 36, /* bungti_f */
+ 12, /* bltgtr_f */
+ 36, /* bltgti_f */
8, /* bordr_f */
- 32, /* bordi_f */
+ 32, /* bordi_f */
8, /* bunordr_f */
- 32, /* bunordi_f */
+ 32, /* bunordi_f */
0, /* pushargr_f */
0, /* pushargi_f */
0, /* retr_f */
@@ -1904,95 +1969,101 @@
0, /* putargr_d */
0, /* putargi_d */
4, /* addr_d */
- 28, /* addi_d */
+ 28, /* addi_d */
4, /* subr_d */
- 28, /* subi_d */
- 32, /* rsbi_d */
+ 28, /* subi_d */
+ 32, /* rsbi_d */
4, /* mulr_d */
- 28, /* muli_d */
+ 28, /* muli_d */
4, /* divr_d */
- 28, /* divi_d */
+ 28, /* divi_d */
4, /* negr_d */
+ 0, /* negi_d */
4, /* absr_d */
+ 0, /* absi_d */
4, /* sqrtr_d */
- 12, /* ltr_d */
- 40, /* lti_d */
- 16, /* ler_d */
- 44, /* lei_d */
- 12, /* eqr_d */
- 40, /* eqi_d */
- 16, /* ger_d */
- 44, /* gei_d */
- 12, /* gtr_d */
- 40, /* gti_d */
- 16, /* ner_d */
- 44, /* nei_d */
- 16, /* unltr_d */
- 44, /* unlti_d */
- 16, /* unler_d */
- 44, /* unlei_d */
- 16, /* uneqr_d */
- 44, /* uneqi_d */
- 16, /* unger_d */
- 44, /* ungei_d */
- 16, /* ungtr_d */
- 44, /* ungti_d */
- 16, /* ltgtr_d */
- 44, /* ltgti_d */
- 16, /* ordr_d */
- 44, /* ordi_d */
- 12, /* unordr_d */
- 40, /* unordi_d */
- 12, /* truncr_d_i */
- 12, /* truncr_d_l */
- 12, /* extr_d */
+ 0, /* sqrti_d */
+ 12, /* ltr_d */
+ 40, /* lti_d */
+ 16, /* ler_d */
+ 44, /* lei_d */
+ 12, /* eqr_d */
+ 40, /* eqi_d */
+ 16, /* ger_d */
+ 44, /* gei_d */
+ 12, /* gtr_d */
+ 40, /* gti_d */
+ 16, /* ner_d */
+ 44, /* nei_d */
+ 16, /* unltr_d */
+ 44, /* unlti_d */
+ 16, /* unler_d */
+ 44, /* unlei_d */
+ 16, /* uneqr_d */
+ 44, /* uneqi_d */
+ 16, /* unger_d */
+ 44, /* ungei_d */
+ 16, /* ungtr_d */
+ 44, /* ungti_d */
+ 16, /* ltgtr_d */
+ 44, /* ltgti_d */
+ 16, /* ordr_d */
+ 44, /* ordi_d */
+ 12, /* unordr_d */
+ 40, /* unordi_d */
+ 12, /* truncr_d_i */
+ 12, /* truncr_d_l */
+ 12, /* extr_d */
4, /* extr_f_d */
4, /* movr_d */
- 32, /* movi_d */
+ 32, /* movi_d */
4, /* ldr_d */
- 24, /* ldi_d */
+ 24, /* ldi_d */
4, /* ldxr_d */
- 12, /* ldxi_d */
+ 12, /* ldxi_d */
4, /* str_d */
- 24, /* sti_d */
+ 24, /* sti_d */
4, /* stxr_d */
- 12, /* stxi_d */
+ 12, /* stxi_d */
8, /* bltr_d */
- 32, /* blti_d */
- 12, /* bler_d */
- 36, /* blei_d */
+ 32, /* blti_d */
+ 12, /* bler_d */
+ 36, /* blei_d */
8, /* beqr_d */
- 40, /* beqi_d */
- 12, /* bger_d */
- 40, /* bgei_d */
+ 40, /* beqi_d */
+ 12, /* bger_d */
+ 40, /* bgei_d */
8, /* bgtr_d */
- 36, /* bgti_d */
+ 36, /* bgti_d */
8, /* bner_d */
- 36, /* bnei_d */
- 12, /* bunltr_d */
- 36, /* bunlti_d */
+ 36, /* bnei_d */
+ 12, /* bunltr_d */
+ 36, /* bunlti_d */
8, /* bunler_d */
- 32, /* bunlei_d */
- 12, /* buneqr_d */
- 36, /* buneqi_d */
+ 32, /* bunlei_d */
+ 12, /* buneqr_d */
+ 36, /* buneqi_d */
8, /* bunger_d */
- 36, /* bungei_d */
- 12, /* bungtr_d */
- 40, /* bungti_d */
- 12, /* bltgtr_d */
- 40, /* bltgti_d */
+ 36, /* bungei_d */
+ 12, /* bungtr_d */
+ 40, /* bungti_d */
+ 12, /* bltgtr_d */
+ 40, /* bltgti_d */
8, /* bordr_d */
- 36, /* bordi_d */
+ 36, /* bordi_d */
8, /* bunordr_d */
- 32, /* bunordi_d */
+ 32, /* bunordi_d */
0, /* pushargr_d */
0, /* pushargi_d */
0, /* retr_d */
0, /* reti_d */
0, /* retval_d */
8, /* movr_w_f */
+ 12, /* movi_w_f */
0, /* movr_ww_d */
+ 0, /* movi_ww_d */
8, /* movr_w_d */
+ 16, /* movi_w_d */
8, /* movr_f_w */
4, /* movi_f_w */
0, /* movr_d_ww */
@@ -2000,68 +2071,61 @@
8, /* movr_d_w */
8, /* movi_d_w */
8, /* clor */
+ 4, /* cloi */
4, /* clzr */
- 32, /* ctor */
- 28, /* ctzr */
- 68, /* rbitr */
- 36, /* popcntr */
+ 4, /* clzi */
+ 32, /* ctor */
+ 4, /* ctoi */
+ 28, /* ctzr */
+ 4, /* ctzi */
+ 68, /* rbitr */
+ 36, /* rbiti */
+ 36, /* popcntr */
+ 4, /* popcnti */
4, /* lrotr */
4, /* lroti */
- 12, /* rrotr */
+ 12, /* rrotr */
4, /* rroti */
8, /* extr */
+ 4, /* exti */
4, /* extr_u */
+ 4, /* exti_u */
4, /* depr */
8, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 8, /* exti_us */
- 4, /* exti_i */
- 16, /* exti_ui */
- 4, /* bswapi_us */
- 8, /* bswapi_ui */
- 36, /* bswapi_ul */
- 8, /* htoni_us */
- 8, /* htoni_ui */
- 36, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 4, /* cloi */
- 4, /* clzi */
- 4, /* ctoi */
- 4, /* ctzi */
- 36, /* rbiti */
- 4, /* popcnti */
- 4, /* exti */
- 4, /* exti_u */
- 56, /* qlshr */
+ 56, /* qlshr */
8, /* qlshi */
- 56, /* qlshr_u */
+ 56, /* qlshr_u */
8, /* qlshi_u */
- 56, /* qrshr */
+ 56, /* qrshr */
8, /* qrshi */
- 56, /* qrshr_u */
+ 56, /* qrshr_u */
8, /* qrshi_u */
- 292, /* unldr */
- 124, /* unldi */
- 292, /* unldr_u */
- 124, /* unldi_u */
- 168, /* unstr */
- 108, /* unsti */
- 296, /* unldr_x */
- 132, /* unldi_x */
- 176, /* unstr_x */
- 116, /* unsti_x */
- 12, /* movi_w_f */
- 16, /* movi_w_d */
- 0, /* movi_ww_d */
+ 76, /* unldr */
+ 68, /* unldi */
+ 76, /* unldr_u */
+ 68, /* unldi_u */
+ 204, /* unstr */
+ 168, /* unsti */
+ 76, /* unldr_x */
+ 72, /* unldi_x */
+ 208, /* unstr_x */
+ 172, /* unsti_x */
+ 4, /* fmar_f */
+ 0, /* fmai_f */
+ 4, /* fmsr_f */
+ 0, /* fmsi_f */
+ 4, /* fmar_d */
+ 0, /* fmai_d */
+ 4, /* fmsr_d */
+ 0, /* fmsi_d */
+ 4, /* fnmar_f */
+ 0, /* fnmai_f */
+ 4, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 4, /* fnmar_d */
+ 0, /* fnmai_d */
+ 4, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __BYTE_ORDER */
#endif /* __powerpc__ */
#endif /* __WORDSIZE */
diff --git a/lib/jit_riscv-sz.c b/lib/jit_riscv-sz.c
index 1f90aa8..887f8dc 100644
--- a/lib/jit_riscv-sz.c
+++ b/lib/jit_riscv-sz.c
@@ -44,42 +44,42 @@
8, /* va_arg_d */
0, /* va_end */
4, /* addr */
- 16, /* addi */
- 12, /* addcr */
- 24, /* addci */
- 28, /* addxr */
- 28, /* addxi */
+ 16, /* addi */
+ 12, /* addcr */
+ 24, /* addci */
+ 28, /* addxr */
+ 28, /* addxi */
4, /* subr */
- 16, /* subi */
- 12, /* subcr */
- 24, /* subci */
- 28, /* subxr */
- 28, /* subxi */
- 20, /* rsbi */
+ 16, /* subi */
+ 12, /* subcr */
+ 24, /* subci */
+ 28, /* subxr */
+ 28, /* subxi */
+ 20, /* rsbi */
4, /* mulr */
- 16, /* muli */
- 12, /* qmulr */
- 20, /* qmuli */
- 12, /* qmulr_u */
- 20, /* qmuli_u */
+ 16, /* muli */
+ 12, /* qmulr */
+ 20, /* qmuli */
+ 12, /* qmulr_u */
+ 20, /* qmuli_u */
4, /* divr */
- 16, /* divi */
+ 16, /* divi */
4, /* divr_u */
- 16, /* divi_u */
- 20, /* qdivr */
- 16, /* qdivi */
- 20, /* qdivr_u */
- 16, /* qdivi_u */
+ 16, /* divi_u */
+ 20, /* qdivr */
+ 16, /* qdivi */
+ 20, /* qdivr_u */
+ 16, /* qdivi_u */
4, /* remr */
- 16, /* remi */
+ 16, /* remi */
4, /* remr_u */
- 16, /* remi_u */
+ 16, /* remi_u */
4, /* andr */
- 16, /* andi */
+ 16, /* andi */
4, /* orr */
- 16, /* ori */
+ 16, /* ori */
4, /* xorr */
- 16, /* xori */
+ 16, /* xori */
4, /* lshr */
4, /* lshi */
4, /* rshr */
@@ -87,21 +87,23 @@
4, /* rshr_u */
4, /* rshi_u */
4, /* negr */
+ 4, /* negi */
4, /* comr */
+ 4, /* comi */
4, /* ltr */
4, /* lti */
4, /* ltr_u */
4, /* lti_u */
8, /* ler */
- 12, /* lei */
+ 12, /* lei */
8, /* ler_u */
- 12, /* lei_u */
- 12, /* eqr */
- 12, /* eqi */
+ 12, /* lei_u */
+ 12, /* eqr */
+ 12, /* eqi */
8, /* ger */
- 12, /* gei */
+ 12, /* gei */
8, /* ger_u */
- 12, /* gei_u */
+ 12, /* gei_u */
4, /* gtr */
8, /* gti */
4, /* gtr_u */
@@ -109,67 +111,79 @@
8, /* ner */
8, /* nei */
4, /* movr */
- 12, /* movi */
- 12, /* movnr */
- 12, /* movzr */
- 28, /* casr */
- 40, /* casi */
+ 12, /* movi */
+ 12, /* movnr */
+ 12, /* movzr */
+ 28, /* casr */
+ 40, /* casi */
8, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
+ 4, /* exti_uc */
8, /* extr_s */
+ 4, /* exti_s */
8, /* extr_us */
+ 8, /* exti_us */
4, /* extr_i */
+ 4, /* exti_i */
8, /* extr_ui */
- 20, /* bswapr_us */
- 52, /* bswapr_ui */
+ 12, /* exti_ui */
+ 20, /* bswapr_us */
+ 8, /* bswapi_us */
+ 52, /* bswapr_ui */
+ 8, /* bswapi_ui */
116, /* bswapr_ul */
- 20, /* htonr_us */
- 52, /* htonr_ui */
+ 12, /* bswapi_ul */
+ 20, /* htonr_us */
+ 8, /* htoni_us */
+ 52, /* htonr_ui */
+ 8, /* htoni_ui */
116, /* htonr_ul */
+ 12, /* htoni_ul */
4, /* ldr_c */
- 16, /* ldi_c */
+ 16, /* ldi_c */
4, /* ldr_uc */
- 16, /* ldi_uc */
+ 16, /* ldi_uc */
4, /* ldr_s */
- 16, /* ldi_s */
+ 16, /* ldi_s */
4, /* ldr_us */
- 16, /* ldi_us */
+ 16, /* ldi_us */
4, /* ldr_i */
- 16, /* ldi_i */
+ 16, /* ldi_i */
4, /* ldr_ui */
- 16, /* ldi_ui */
+ 16, /* ldi_ui */
4, /* ldr_l */
- 16, /* ldi_l */
+ 16, /* ldi_l */
8, /* ldxr_c */
- 16, /* ldxi_c */
+ 16, /* ldxi_c */
8, /* ldxr_uc */
- 16, /* ldxi_uc */
+ 16, /* ldxi_uc */
8, /* ldxr_s */
- 16, /* ldxi_s */
+ 16, /* ldxi_s */
8, /* ldxr_us */
- 16, /* ldxi_us */
+ 16, /* ldxi_us */
8, /* ldxr_i */
- 16, /* ldxi_i */
+ 16, /* ldxi_i */
8, /* ldxr_ui */
- 16, /* ldxi_ui */
+ 16, /* ldxi_ui */
8, /* ldxr_l */
- 16, /* ldxi_l */
+ 16, /* ldxi_l */
4, /* str_c */
- 16, /* sti_c */
+ 16, /* sti_c */
4, /* str_s */
- 16, /* sti_s */
+ 16, /* sti_s */
4, /* str_i */
- 16, /* sti_i */
+ 16, /* sti_i */
4, /* str_l */
- 16, /* sti_l */
+ 16, /* sti_l */
8, /* stxr_c */
- 16, /* stxi_c */
+ 16, /* stxi_c */
8, /* stxr_s */
- 16, /* stxi_s */
+ 16, /* stxi_s */
8, /* stxr_i */
- 16, /* stxi_i */
+ 16, /* stxi_i */
8, /* stxr_l */
- 16, /* stxi_l */
+ 16, /* stxi_l */
4, /* bltr */
8, /* blti */
4, /* bltr_u */
@@ -179,7 +193,7 @@
4, /* bler_u */
8, /* blei_u */
4, /* beqr */
- 16, /* beqi */
+ 16, /* beqi */
4, /* bger */
8, /* bgei */
4, /* bger_u */
@@ -189,31 +203,31 @@
4, /* bgtr_u */
8, /* bgti_u */
4, /* bner */
- 16, /* bnei */
+ 16, /* bnei */
8, /* bmsr */
- 12, /* bmsi */
+ 12, /* bmsi */
8, /* bmcr */
- 12, /* bmci */
- 32, /* boaddr */
- 36, /* boaddi */
- 16, /* boaddr_u */
- 20, /* boaddi_u */
- 32, /* bxaddr */
- 36, /* bxaddi */
- 16, /* bxaddr_u */
- 20, /* bxaddi_u */
- 32, /* bosubr */
- 36, /* bosubi */
- 16, /* bosubr_u */
- 20, /* bosubi_u */
- 32, /* bxsubr */
- 36, /* bxsubi */
- 16, /* bxsubr_u */
- 20, /* bxsubi_u */
+ 12, /* bmci */
+ 32, /* boaddr */
+ 36, /* boaddi */
+ 16, /* boaddr_u */
+ 20, /* boaddi_u */
+ 32, /* bxaddr */
+ 36, /* bxaddi */
+ 16, /* bxaddr_u */
+ 20, /* bxaddi_u */
+ 32, /* bosubr */
+ 36, /* bosubi */
+ 16, /* bosubr_u */
+ 20, /* bosubi_u */
+ 32, /* bxsubr */
+ 36, /* bxsubi */
+ 16, /* bxsubr_u */
+ 20, /* bxsubi_u */
4, /* jmpr */
- 16, /* jmpi */
+ 16, /* jmpi */
4, /* callr */
- 16, /* calli */
+ 16, /* calli */
0, /* prepare */
0, /* pushargr_c */
0, /* pushargi_c */
@@ -259,45 +273,48 @@
0, /* putargr_f */
0, /* putargi_f */
4, /* addr_f */
- 12, /* addi_f */
+ 12, /* addi_f */
4, /* subr_f */
- 12, /* subi_f */
- 12, /* rsbi_f */
+ 12, /* subi_f */
+ 12, /* rsbi_f */
4, /* mulr_f */
- 12, /* muli_f */
+ 12, /* muli_f */
4, /* divr_f */
- 12, /* divi_f */
+ 12, /* divi_f */
4, /* negr_f */
+ 0, /* negi_f */
4, /* absr_f */
+ 0, /* absi_f */
4, /* sqrtr_f */
+ 0, /* sqrti_f */
4, /* ltr_f */
- 12, /* lti_f */
+ 12, /* lti_f */
4, /* ler_f */
- 12, /* lei_f */
+ 12, /* lei_f */
4, /* eqr_f */
- 12, /* eqi_f */
+ 12, /* eqi_f */
4, /* ger_f */
- 12, /* gei_f */
+ 12, /* gei_f */
4, /* gtr_f */
- 12, /* gti_f */
+ 12, /* gti_f */
8, /* ner_f */
- 16, /* nei_f */
- 28, /* unltr_f */
- 36, /* unlti_f */
- 28, /* unler_f */
- 36, /* unlei_f */
- 28, /* uneqr_f */
- 36, /* uneqi_f */
- 28, /* unger_f */
- 36, /* ungei_f */
- 28, /* ungtr_f */
- 36, /* ungti_f */
- 40, /* ltgtr_f */
- 48, /* ltgti_f */
- 28, /* ordr_f */
- 36, /* ordi_f */
- 20, /* unordr_f */
- 28, /* unordi_f */
+ 16, /* nei_f */
+ 28, /* unltr_f */
+ 36, /* unlti_f */
+ 28, /* unler_f */
+ 36, /* unlei_f */
+ 28, /* uneqr_f */
+ 36, /* uneqi_f */
+ 28, /* unger_f */
+ 36, /* ungei_f */
+ 28, /* ungtr_f */
+ 36, /* ungti_f */
+ 40, /* ltgtr_f */
+ 48, /* ltgti_f */
+ 28, /* ordr_f */
+ 36, /* ordi_f */
+ 20, /* unordr_f */
+ 28, /* unordi_f */
4, /* truncr_f_i */
4, /* truncr_f_l */
4, /* extr_f */
@@ -305,41 +322,41 @@
4, /* movr_f */
8, /* movi_f */
4, /* ldr_f */
- 16, /* ldi_f */
+ 16, /* ldi_f */
8, /* ldxr_f */
- 16, /* ldxi_f */
+ 16, /* ldxi_f */
4, /* str_f */
- 16, /* sti_f */
+ 16, /* sti_f */
8, /* stxr_f */
- 16, /* stxi_f */
+ 16, /* stxi_f */
8, /* bltr_f */
- 16, /* blti_f */
+ 16, /* blti_f */
8, /* bler_f */
- 16, /* blei_f */
+ 16, /* blei_f */
8, /* beqr_f */
- 16, /* beqi_f */
+ 16, /* beqi_f */
8, /* bger_f */
- 16, /* bgei_f */
+ 16, /* bgei_f */
8, /* bgtr_f */
- 16, /* bgti_f */
+ 16, /* bgti_f */
8, /* bner_f */
- 16, /* bnei_f */
- 32, /* bunltr_f */
- 40, /* bunlti_f */
- 32, /* bunler_f */
- 40, /* bunlei_f */
- 32, /* buneqr_f */
- 40, /* buneqi_f */
- 32, /* bunger_f */
- 40, /* bungei_f */
- 32, /* bungtr_f */
- 40, /* bungti_f */
- 44, /* bltgtr_f */
- 52, /* bltgti_f */
- 32, /* bordr_f */
- 40, /* bordi_f */
- 24, /* bunordr_f */
- 32, /* bunordi_f */
+ 16, /* bnei_f */
+ 32, /* bunltr_f */
+ 40, /* bunlti_f */
+ 32, /* bunler_f */
+ 40, /* bunlei_f */
+ 32, /* buneqr_f */
+ 40, /* buneqi_f */
+ 32, /* bunger_f */
+ 40, /* bungei_f */
+ 32, /* bungtr_f */
+ 40, /* bungti_f */
+ 44, /* bltgtr_f */
+ 52, /* bltgti_f */
+ 32, /* bordr_f */
+ 40, /* bordi_f */
+ 24, /* bunordr_f */
+ 32, /* bunordi_f */
0, /* pushargr_f */
0, /* pushargi_f */
0, /* retr_f */
@@ -350,162 +367,161 @@
0, /* putargr_d */
0, /* putargi_d */
4, /* addr_d */
- 20, /* addi_d */
+ 20, /* addi_d */
4, /* subr_d */
- 20, /* subi_d */
- 20, /* rsbi_d */
+ 20, /* subi_d */
+ 20, /* rsbi_d */
4, /* mulr_d */
- 20, /* muli_d */
+ 20, /* muli_d */
4, /* divr_d */
- 20, /* divi_d */
+ 20, /* divi_d */
4, /* negr_d */
+ 0, /* negi_d */
4, /* absr_d */
+ 0, /* absi_d */
4, /* sqrtr_d */
+ 0, /* sqrti_d */
4, /* ltr_d */
- 20, /* lti_d */
+ 20, /* lti_d */
4, /* ler_d */
- 20, /* lei_d */
+ 20, /* lei_d */
4, /* eqr_d */
- 20, /* eqi_d */
+ 20, /* eqi_d */
4, /* ger_d */
- 20, /* gei_d */
+ 20, /* gei_d */
4, /* gtr_d */
- 20, /* gti_d */
+ 20, /* gti_d */
8, /* ner_d */
- 24, /* nei_d */
- 28, /* unltr_d */
- 44, /* unlti_d */
- 28, /* unler_d */
- 44, /* unlei_d */
- 28, /* uneqr_d */
- 44, /* uneqi_d */
- 28, /* unger_d */
- 44, /* ungei_d */
- 28, /* ungtr_d */
- 44, /* ungti_d */
- 40, /* ltgtr_d */
- 56, /* ltgti_d */
- 28, /* ordr_d */
- 44, /* ordi_d */
- 20, /* unordr_d */
- 36, /* unordi_d */
+ 24, /* nei_d */
+ 28, /* unltr_d */
+ 44, /* unlti_d */
+ 28, /* unler_d */
+ 44, /* unlei_d */
+ 28, /* uneqr_d */
+ 44, /* uneqi_d */
+ 28, /* unger_d */
+ 44, /* ungei_d */
+ 28, /* ungtr_d */
+ 44, /* ungti_d */
+ 40, /* ltgtr_d */
+ 56, /* ltgti_d */
+ 28, /* ordr_d */
+ 44, /* ordi_d */
+ 20, /* unordr_d */
+ 36, /* unordi_d */
4, /* truncr_d_i */
4, /* truncr_d_l */
4, /* extr_d */
4, /* extr_f_d */
4, /* movr_d */
- 16, /* movi_d */
+ 16, /* movi_d */
4, /* ldr_d */
- 16, /* ldi_d */
+ 16, /* ldi_d */
8, /* ldxr_d */
- 16, /* ldxi_d */
+ 16, /* ldxi_d */
4, /* str_d */
- 16, /* sti_d */
+ 16, /* sti_d */
8, /* stxr_d */
- 16, /* stxi_d */
+ 16, /* stxi_d */
8, /* bltr_d */
- 24, /* blti_d */
+ 24, /* blti_d */
8, /* bler_d */
- 24, /* blei_d */
+ 24, /* blei_d */
8, /* beqr_d */
- 24, /* beqi_d */
+ 24, /* beqi_d */
8, /* bger_d */
- 24, /* bgei_d */
+ 24, /* bgei_d */
8, /* bgtr_d */
- 24, /* bgti_d */
+ 24, /* bgti_d */
8, /* bner_d */
- 24, /* bnei_d */
- 32, /* bunltr_d */
- 48, /* bunlti_d */
- 32, /* bunler_d */
- 48, /* bunlei_d */
- 32, /* buneqr_d */
- 48, /* buneqi_d */
- 32, /* bunger_d */
- 48, /* bungei_d */
- 32, /* bungtr_d */
- 48, /* bungti_d */
- 44, /* bltgtr_d */
- 60, /* bltgti_d */
- 32, /* bordr_d */
- 48, /* bordi_d */
- 24, /* bunordr_d */
- 40, /* bunordi_d */
+ 24, /* bnei_d */
+ 32, /* bunltr_d */
+ 48, /* bunlti_d */
+ 32, /* bunler_d */
+ 48, /* bunlei_d */
+ 32, /* buneqr_d */
+ 48, /* buneqi_d */
+ 32, /* bunger_d */
+ 48, /* bungei_d */
+ 32, /* bungtr_d */
+ 48, /* bungti_d */
+ 44, /* bltgtr_d */
+ 60, /* bltgti_d */
+ 32, /* bordr_d */
+ 48, /* bordi_d */
+ 24, /* bunordr_d */
+ 40, /* bunordi_d */
0, /* pushargr_d */
0, /* pushargi_d */
0, /* retr_d */
0, /* reti_d */
0, /* retval_d */
4, /* movr_w_f */
+ 8, /* movi_w_f */
0, /* movr_ww_d */
+ 0, /* movi_ww_d */
4, /* movr_w_d */
+ 16, /* movi_w_d */
4, /* movr_f_w */
4, /* movi_f_w */
0, /* movr_d_ww */
0, /* movi_d_ww */
4, /* movr_d_w */
- 12, /* movi_d_w */
- 84, /* clor */
- 64, /* clzr */
- 56, /* ctor */
- 36, /* ctzr */
- 68, /* rbitr */
- 64, /* popcntr */
- 20, /* lrotr */
- 12, /* lroti */
- 20, /* rrotr */
- 12, /* rroti */
- 8, /* extr */
- 20, /* extr_u */
- 40, /* depr */
- 20, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 8, /* exti_us */
- 4, /* exti_i */
- 12, /* exti_ui */
- 8, /* bswapi_us */
- 8, /* bswapi_ui */
- 12, /* bswapi_ul */
- 8, /* htoni_us */
- 8, /* htoni_ui */
- 12, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
+ 12, /* movi_d_w */
+ 84, /* clor */
4, /* cloi */
+ 64, /* clzr */
4, /* clzi */
+ 56, /* ctor */
4, /* ctoi */
+ 36, /* ctzr */
4, /* ctzi */
- 12, /* rbiti */
+ 68, /* rbitr */
+ 12, /* rbiti */
+ 64, /* popcntr */
4, /* popcnti */
+ 20, /* lrotr */
+ 12, /* lroti */
+ 20, /* rrotr */
+ 12, /* rroti */
+ 8, /* extr */
4, /* exti */
+ 20, /* extr_u */
4, /* exti_u */
- 56, /* qlshr */
+ 40, /* depr */
+ 20, /* depi */
+ 56, /* qlshr */
8, /* qlshi */
- 56, /* qlshr_u */
+ 56, /* qlshr_u */
8, /* qlshi_u */
- 56, /* qrshr */
+ 56, /* qrshr */
8, /* qrshi */
- 56, /* qrshr_u */
+ 56, /* qrshr_u */
8, /* qrshi_u */
- 24, /* unldr */
- 44, /* unldi */
- 24, /* unldr_u */
- 44, /* unldi_u */
- 20, /* unstr */
- 56, /* unsti */
+ 24, /* unldr */
+ 44, /* unldi */
+ 24, /* unldr_u */
+ 44, /* unldi_u */
+ 20, /* unstr */
+ 56, /* unsti */
4, /* unldr_x */
- 16, /* unldi_x */
+ 16, /* unldi_x */
4, /* unstr_x */
- 20, /* unsti_x */
- 8, /* movi_w_f */
- 16, /* movi_w_d */
- 0, /* movi_ww_d */
+ 20, /* unsti_x */
+ 4, /* fmar_f */
+ 0, /* fmai_f */
+ 4, /* fmsr_f */
+ 0, /* fmsi_f */
+ 4, /* fmar_d */
+ 0, /* fmai_d */
+ 4, /* fmsr_d */
+ 0, /* fmsi_d */
+ 4, /* fnmar_f */
+ 0, /* fnmai_f */
+ 4, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 4, /* fnmar_d */
+ 0, /* fnmai_d */
+ 4, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __WORDSIZE */
diff --git a/lib/jit_s390-fpu.c b/lib/jit_s390-fpu.c
index db848d9..b43f4f6 100644
--- a/lib/jit_s390-fpu.c
+++ b/lib/jit_s390-fpu.c
@@ -997,12 +997,13 @@ static void
_fmar_f(jit_state_t* _jit,
jit_int32_t r0, jit_int32_t r1, jit_int32_t r2, jit_int32_t r3)
{
+ jit_int32_t t0;
if (r0 == r3)
- MAER(r0, r2, r1);
+ MAEBR(r0, r2, r1);
else {
t0 = jit_get_reg(jit_class_fpr);
movr_f(rn(t0), r3);
- MAER(rn(t0), r2, r1);
+ MAEBR(rn(t0), r2, r1);
movr_f(r0, rn(t0));
jit_unget_reg(t0);
}
@@ -1012,12 +1013,13 @@ static void
_fmsr_f(jit_state_t* _jit,
jit_int32_t r0, jit_int32_t r1, jit_int32_t r2, jit_int32_t r3)
{
+ jit_int32_t t0;
if (r0 == r3)
- MSER(r0, r2, r1);
+ MSEBR(r0, r2, r1);
else {
t0 = jit_get_reg(jit_class_fpr);
movr_f(rn(t0), r3);
- MSER(rn(t0), r2, r1);
+ MSEBR(rn(t0), r2, r1);
movr_f(r0, rn(t0));
jit_unget_reg(t0);
}
@@ -1027,14 +1029,15 @@ static void
_fnmar_f(jit_state_t* _jit,
jit_int32_t r0, jit_int32_t r1, jit_int32_t r2, jit_int32_t r3)
{
+ jit_int32_t t0;
if (r0 == r3) {
- MAER(r0, r2, r1);
+ MAEBR(r0, r2, r1);
negr_f(r0, r0);
}
else {
t0 = jit_get_reg(jit_class_fpr);
movr_f(rn(t0), r3);
- MAER(rn(t0), r2, r1);
+ MAEBR(rn(t0), r2, r1);
negr_f(r0, rn(t0));
jit_unget_reg(t0);
}
@@ -1044,14 +1047,15 @@ static void
_fnmsr_f(jit_state_t* _jit,
jit_int32_t r0, jit_int32_t r1, jit_int32_t r2, jit_int32_t r3)
{
+ jit_int32_t t0;
if (r0 == r3) {
- MSER(r0, r2, r1);
+ MSEBR(r0, r2, r1);
negr_f(r0, r0);
}
else {
t0 = jit_get_reg(jit_class_fpr);
movr_f(rn(t0), r3);
- MSER(rn(t0), r2, r1);
+ MSEBR(rn(t0), r2, r1);
negr_f(r0, rn(t0));
jit_unget_reg(t0);
}
@@ -1061,12 +1065,13 @@ static void
_fmar_d(jit_state_t* _jit,
jit_int32_t r0, jit_int32_t r1, jit_int32_t r2, jit_int32_t r3)
{
+ jit_int32_t t0;
if (r0 == r3)
- MADR(r0, r2, r1);
+ MADBR(r0, r2, r1);
else {
t0 = jit_get_reg(jit_class_fpr);
movr_d(rn(t0), r3);
- MADR(rn(t0), r2, r1);
+ MADBR(rn(t0), r2, r1);
movr_d(r0, rn(t0));
jit_unget_reg(t0);
}
@@ -1076,12 +1081,13 @@ static void
_fmsr_d(jit_state_t* _jit,
jit_int32_t r0, jit_int32_t r1, jit_int32_t r2, jit_int32_t r3)
{
+ jit_int32_t t0;
if (r0 == r3)
- MSDR(r0, r2, r1);
+ MSDBR(r0, r2, r1);
else {
t0 = jit_get_reg(jit_class_fpr);
movr_d(rn(t0), r3);
- MSDR(rn(t0), r2, r1);
+ MSDBR(rn(t0), r2, r1);
movr_d(r0, rn(t0));
jit_unget_reg(t0);
}
@@ -1091,14 +1097,15 @@ static void
_fnmar_d(jit_state_t* _jit,
jit_int32_t r0, jit_int32_t r1, jit_int32_t r2, jit_int32_t r3)
{
+ jit_int32_t t0;
if (r0 == r3) {
- MADR(r0, r2, r1);
+ MADBR(r0, r2, r1);
negr_d(r0, r0);
}
else {
t0 = jit_get_reg(jit_class_fpr);
movr_f(rn(t0), r3);
- MADR(rn(t0), r2, r1);
+ MADBR(rn(t0), r2, r1);
negr_d(r0, rn(t0));
jit_unget_reg(t0);
}
@@ -1108,14 +1115,15 @@ static void
_fnmsr_d(jit_state_t* _jit,
jit_int32_t r0, jit_int32_t r1, jit_int32_t r2, jit_int32_t r3)
{
+ jit_int32_t t0;
if (r0 == r3) {
- MSDR(r0, r2, r1);
+ MSDBR(r0, r2, r1);
negr_d(r0, r0);
}
else {
t0 = jit_get_reg(jit_class_fpr);
movr_d(rn(t0), r3);
- MSDR(rn(t0), r2, r1);
+ MSDBR(rn(t0), r2, r1);
negr_d(r0, rn(t0));
jit_unget_reg(t0);
}
diff --git a/lib/jit_s390-sz.c b/lib/jit_s390-sz.c
index e713364..c71b040 100644
--- a/lib/jit_s390-sz.c
+++ b/lib/jit_s390-sz.c
@@ -1,5 +1,5 @@
#if __WORDSIZE == 32
-#define JIT_INSTR_MAX 288
+#define JIT_INSTR_MAX 630
0, /* data */
0, /* live */
4, /* align */
@@ -87,7 +87,9 @@
8, /* rshr_u */
6, /* rshi_u */
2, /* negr */
+ 4, /* negi */
8, /* comr */
+ 4, /* comi */
16, /* ltr */
20, /* lti */
16, /* ltr_u */
@@ -115,17 +117,29 @@
22, /* casr */
28, /* casi */
4, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
+ 4, /* exti_uc */
4, /* extr_s */
+ 4, /* exti_s */
4, /* extr_us */
+ 8, /* exti_us */
0, /* extr_i */
+ 0, /* exti_i */
0, /* extr_ui */
+ 0, /* exti_ui */
12, /* bswapr_us */
+ 4, /* bswapi_us */
4, /* bswapr_ui */
+ 6, /* bswapi_ui */
0, /* bswapr_ul */
+ 0, /* bswapi_ul */
4, /* htonr_us */
+ 8, /* htoni_us */
2, /* htonr_ui */
+ 6, /* htoni_ui */
0, /* htonr_ul */
+ 0, /* htoni_ul */
6, /* ldr_c */
12, /* ldi_c */
6, /* ldr_uc */
@@ -268,8 +282,11 @@
8, /* divr_f */
24, /* divi_f */
4, /* negr_f */
+ 0, /* negi_f */
4, /* absr_f */
+ 0, /* absi_f */
4, /* sqrtr_f */
+ 0, /* sqrti_f */
16, /* ltr_f */
36, /* lti_f */
16, /* ler_f */
@@ -359,8 +376,11 @@
8, /* divr_d */
34, /* divi_d */
4, /* negr_d */
+ 0, /* negi_d */
4, /* absr_d */
+ 0, /* absi_d */
4, /* sqrtr_d */
+ 0, /* sqrti_d */
16, /* ltr_d */
46, /* lti_d */
16, /* ler_d */
@@ -437,8 +457,11 @@
0, /* reti_d */
0, /* retval_d */
12, /* movr_w_f */
+ 18, /* movi_w_f */
18, /* movr_ww_d */
+ 28, /* movi_ww_d */
0, /* movr_w_d */
+ 0, /* movi_w_d */
12, /* movr_f_w */
6, /* movi_f_w */
18, /* movr_d_ww */
@@ -446,47 +469,27 @@
0, /* movr_d_w */
0, /* movi_d_w */
36, /* clor */
+ 4, /* cloi */
28, /* clzr */
+ 4, /* clzi */
62, /* ctor */
+ 4, /* ctoi */
54, /* ctzr */
+ 4, /* ctzi */
64, /* rbitr */
+ 6, /* rbiti */
60, /* popcntr */
+ 4, /* popcnti */
6, /* lrotr */
6, /* lroti */
16, /* rrotr */
6, /* rroti */
10, /* extr */
+ 4, /* exti */
14, /* extr_u */
+ 4, /* exti_u */
24, /* depr */
28, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 8, /* exti_us */
- 0, /* exti_i */
- 0, /* exti_ui */
- 4, /* bswapi_us */
- 6, /* bswapi_ui */
- 0, /* bswapi_ul */
- 8, /* htoni_us */
- 6, /* htoni_ui */
- 0, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 4, /* cloi */
- 4, /* clzi */
- 4, /* ctoi */
- 4, /* ctzi */
- 6, /* rbiti */
- 4, /* popcnti */
- 4, /* exti */
- 4, /* exti_u */
68, /* qlshr */
12, /* qlshi */
66, /* qlshr_u */
@@ -495,23 +498,36 @@
12, /* qrshi */
66, /* qrshr_u */
12, /* qrshi_u */
- 132, /* unldr */
- 36, /* unldi */
- 132, /* unldr_u */
- 36, /* unldi_u */
- 84, /* unstr */
- 42, /* unsti */
- 288, /* unldr_x */
- 90, /* unldi_x */
- 194, /* unstr_x */
- 102, /* unsti_x */
- 18, /* movi_w_f */
- 0, /* movi_w_d */
- 28, /* movi_ww_d */
+ 86, /* unldr */
+ 38, /* unldi */
+ 86, /* unldr_u */
+ 38, /* unldi_u */
+ 238, /* unstr */
+ 100, /* unsti */
+ 200, /* unldr_x */
+ 86, /* unldi_x */
+ 630, /* unstr_x */
+ 294, /* unsti_x */
+ 8, /* fmar_f */
+ 0, /* fmai_f */
+ 8, /* fmsr_f */
+ 0, /* fmsi_f */
+ 8, /* fmar_d */
+ 0, /* fmai_d */
+ 8, /* fmsr_d */
+ 0, /* fmsi_d */
+ 10, /* fnmar_f */
+ 0, /* fnmai_f */
+ 10, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 10, /* fnmar_d */
+ 0, /* fnmai_d */
+ 10, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __WORDSIZE */
#if __WORDSIZE == 64
-#define JIT_INSTR_MAX 440
+#define JIT_INSTR_MAX 364
0, /* data */
0, /* live */
20, /* align */
@@ -599,7 +615,9 @@
6, /* rshr_u */
6, /* rshi_u */
4, /* negr */
+ 4, /* negi */
12, /* comr */
+ 4, /* comi */
20, /* ltr */
24, /* lti */
20, /* ltr_u */
@@ -627,17 +645,29 @@
30, /* casr */
42, /* casi */
4, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
+ 4, /* exti_uc */
4, /* extr_s */
+ 4, /* exti_s */
4, /* extr_us */
+ 8, /* exti_us */
4, /* extr_i */
+ 16, /* exti_i */
4, /* extr_ui */
+ 8, /* exti_ui */
12, /* bswapr_us */
+ 4, /* bswapi_us */
8, /* bswapr_ui */
+ 12, /* bswapi_ui */
4, /* bswapr_ul */
+ 16, /* bswapi_ul */
4, /* htonr_us */
+ 8, /* htoni_us */
4, /* htonr_ui */
+ 12, /* htoni_ui */
4, /* htonr_ul */
+ 16, /* htoni_ul */
6, /* ldr_c */
18, /* ldi_c */
6, /* ldr_uc */
@@ -780,8 +810,11 @@
8, /* divr_f */
26, /* divi_f */
4, /* negr_f */
+ 0, /* negi_f */
4, /* absr_f */
+ 0, /* absi_f */
4, /* sqrtr_f */
+ 0, /* sqrti_f */
16, /* ltr_f */
36, /* lti_f */
16, /* ler_f */
@@ -871,8 +904,11 @@
8, /* divr_d */
26, /* divi_d */
4, /* negr_d */
+ 0, /* negi_d */
4, /* absr_d */
+ 0, /* absi_d */
4, /* sqrtr_d */
+ 0, /* sqrti_d */
16, /* ltr_d */
36, /* lti_d */
16, /* ler_d */
@@ -949,8 +985,11 @@
0, /* reti_d */
0, /* retval_d */
12, /* movr_w_f */
+ 20, /* movi_w_f */
0, /* movr_ww_d */
+ 0, /* movi_ww_d */
12, /* movr_w_d */
+ 20, /* movi_w_d */
12, /* movr_f_w */
8, /* movi_f_w */
0, /* movr_d_ww */
@@ -958,47 +997,27 @@
12, /* movr_d_w */
8, /* movi_d_w */
24, /* clor */
+ 4, /* cloi */
12, /* clzr */
+ 4, /* clzi */
62, /* ctor */
+ 4, /* ctoi */
50, /* ctzr */
+ 4, /* ctzi */
78, /* rbitr */
+ 16, /* rbiti */
72, /* popcntr */
+ 4, /* popcnti */
6, /* lrotr */
6, /* lroti */
16, /* rrotr */
6, /* rroti */
12, /* extr */
+ 4, /* exti */
22, /* extr_u */
+ 4, /* exti_u */
46, /* depr */
50, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 8, /* exti_us */
- 16, /* exti_i */
- 8, /* exti_ui */
- 4, /* bswapi_us */
- 12, /* bswapi_ui */
- 16, /* bswapi_ul */
- 8, /* htoni_us */
- 12, /* htoni_ui */
- 16, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 4, /* cloi */
- 4, /* clzi */
- 4, /* ctoi */
- 4, /* ctzi */
- 16, /* rbiti */
- 4, /* popcnti */
- 4, /* exti */
- 4, /* exti_u */
76, /* qlshr */
12, /* qlshi */
74, /* qlshr_u */
@@ -1007,17 +1026,30 @@
12, /* qrshi */
74, /* qrshr_u */
12, /* qrshi_u */
- 432, /* unldr */
- 102, /* unldi */
- 432, /* unldr_u */
- 102, /* unldi_u */
- 252, /* unstr */
- 82, /* unsti */
- 440, /* unldr_x */
- 114, /* unldi_x */
- 264, /* unstr_x */
- 94, /* unsti_x */
- 20, /* movi_w_f */
- 20, /* movi_w_d */
- 0, /* movi_ww_d */
+ 122, /* unldr */
+ 58, /* unldi */
+ 122, /* unldr_u */
+ 58, /* unldi_u */
+ 296, /* unstr */
+ 150, /* unsti */
+ 130, /* unldr_x */
+ 70, /* unldi_x */
+ 364, /* unstr_x */
+ 194, /* unsti_x */
+ 8, /* fmar_f */
+ 0, /* fmai_f */
+ 8, /* fmsr_f */
+ 0, /* fmsi_f */
+ 8, /* fmar_d */
+ 0, /* fmai_d */
+ 8, /* fmsr_d */
+ 0, /* fmsi_d */
+ 10, /* fnmar_f */
+ 0, /* fnmai_f */
+ 10, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 10, /* fnmar_d */
+ 0, /* fnmai_d */
+ 10, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __WORDSIZE */
diff --git a/lib/jit_sparc-sz.c b/lib/jit_sparc-sz.c
index 0dd9c64..992e5b8 100644
--- a/lib/jit_sparc-sz.c
+++ b/lib/jit_sparc-sz.c
@@ -1,5 +1,5 @@
#if __WORDSIZE == 32
-#define JIT_INSTR_MAX 260
+#define JIT_INSTR_MAX 440
0, /* data */
0, /* live */
0, /* align */
@@ -9,7 +9,7 @@
0, /* #name */
0, /* #note */
0, /* label */
- 36, /* prolog */
+ 36, /* prolog */
0, /* ellipsis */
0, /* va_push */
0, /* allocai */
@@ -41,45 +41,45 @@
0, /* putargi_l */
4, /* va_start */
8, /* va_arg */
- 12, /* va_arg_d */
+ 12, /* va_arg_d */
0, /* va_end */
4, /* addr */
- 12, /* addi */
+ 12, /* addi */
4, /* addcr */
- 12, /* addci */
+ 12, /* addci */
4, /* addxr */
4, /* addxi */
4, /* subr */
- 12, /* subi */
+ 12, /* subi */
4, /* subcr */
- 12, /* subci */
+ 12, /* subci */
4, /* subxr */
4, /* subxi */
- 16, /* rsbi */
+ 16, /* rsbi */
4, /* mulr */
- 12, /* muli */
+ 12, /* muli */
8, /* qmulr */
- 16, /* qmuli */
+ 16, /* qmuli */
8, /* qmulr_u */
- 16, /* qmuli_u */
- 12, /* divr */
- 20, /* divi */
+ 16, /* qmuli_u */
+ 12, /* divr */
+ 20, /* divi */
8, /* divr_u */
- 16, /* divi_u */
- 28, /* qdivr */
- 24, /* qdivi */
- 24, /* qdivr_u */
- 20, /* qdivi_u */
- 20, /* remr */
- 28, /* remi */
- 16, /* remr_u */
- 24, /* remi_u */
+ 16, /* divi_u */
+ 28, /* qdivr */
+ 24, /* qdivi */
+ 24, /* qdivr_u */
+ 20, /* qdivi_u */
+ 20, /* remr */
+ 28, /* remi */
+ 16, /* remr_u */
+ 24, /* remi_u */
4, /* andr */
- 12, /* andi */
+ 12, /* andi */
4, /* orr */
- 12, /* ori */
+ 12, /* ori */
4, /* xorr */
- 12, /* xori */
+ 12, /* xori */
4, /* lshr */
4, /* lshi */
4, /* rshr */
@@ -87,55 +87,69 @@
4, /* rshr_u */
4, /* rshi_u */
4, /* negr */
+ 4, /* negi */
4, /* comr */
- 16, /* ltr */
- 16, /* lti */
- 16, /* ltr_u */
- 16, /* lti_u */
- 16, /* ler */
- 16, /* lei */
- 16, /* ler_u */
- 16, /* lei_u */
- 16, /* eqr */
- 16, /* eqi */
- 16, /* ger */
- 16, /* gei */
- 16, /* ger_u */
- 16, /* gei_u */
- 16, /* gtr */
- 16, /* gti */
- 16, /* gtr_u */
- 16, /* gti_u */
- 16, /* ner */
- 16, /* nei */
+ 4, /* comi */
+ 16, /* ltr */
+ 16, /* lti */
+ 16, /* ltr_u */
+ 16, /* lti_u */
+ 16, /* ler */
+ 16, /* lei */
+ 16, /* ler_u */
+ 16, /* lei_u */
+ 16, /* eqr */
+ 16, /* eqi */
+ 16, /* ger */
+ 16, /* gei */
+ 16, /* ger_u */
+ 16, /* gei_u */
+ 16, /* gtr */
+ 16, /* gti */
+ 16, /* gtr_u */
+ 16, /* gti_u */
+ 16, /* ner */
+ 16, /* nei */
4, /* movr */
8, /* movi */
- 16, /* movnr */
- 16, /* movzr */
- 24, /* casr */
- 32, /* casi */
+ 16, /* movnr */
+ 16, /* movzr */
+ 24, /* casr */
+ 32, /* casi */
8, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
+ 4, /* exti_uc */
8, /* extr_s */
+ 4, /* exti_s */
8, /* extr_us */
+ 8, /* exti_us */
0, /* extr_i */
+ 0, /* exti_i */
0, /* extr_ui */
- 20, /* bswapr_us */
- 52, /* bswapr_ui */
+ 0, /* exti_ui */
+ 20, /* bswapr_us */
+ 8, /* bswapi_us */
+ 52, /* bswapr_ui */
+ 8, /* bswapi_ui */
0, /* bswapr_ul */
+ 0, /* bswapi_ul */
8, /* htonr_us */
+ 8, /* htoni_us */
4, /* htonr_ui */
+ 8, /* htoni_ui */
0, /* htonr_ul */
+ 0, /* htoni_ul */
4, /* ldr_c */
- 12, /* ldi_c */
+ 12, /* ldi_c */
4, /* ldr_uc */
- 12, /* ldi_uc */
+ 12, /* ldi_uc */
4, /* ldr_s */
- 12, /* ldi_s */
+ 12, /* ldi_s */
4, /* ldr_us */
- 12, /* ldi_us */
+ 12, /* ldi_us */
4, /* ldr_i */
- 12, /* ldi_i */
+ 12, /* ldi_i */
0, /* ldr_ui */
0, /* ldi_ui */
0, /* ldr_l */
@@ -155,11 +169,11 @@
0, /* ldxr_l */
0, /* ldxi_l */
4, /* str_c */
- 12, /* sti_c */
+ 12, /* sti_c */
4, /* str_s */
- 12, /* sti_s */
+ 12, /* sti_s */
4, /* str_i */
- 12, /* sti_i */
+ 12, /* sti_i */
0, /* str_l */
0, /* sti_l */
4, /* stxr_c */
@@ -170,46 +184,46 @@
8, /* stxi_i */
0, /* stxr_l */
0, /* stxi_l */
- 12, /* bltr */
- 12, /* blti */
- 12, /* bltr_u */
- 12, /* blti_u */
- 12, /* bler */
- 12, /* blei */
- 12, /* bler_u */
- 12, /* blei_u */
- 12, /* beqr */
- 20, /* beqi */
- 12, /* bger */
- 12, /* bgei */
- 12, /* bger_u */
- 12, /* bgei_u */
- 12, /* bgtr */
- 12, /* bgti */
- 12, /* bgtr_u */
- 12, /* bgti_u */
- 12, /* bner */
- 20, /* bnei */
- 12, /* bmsr */
- 12, /* bmsi */
- 12, /* bmcr */
- 12, /* bmci */
- 12, /* boaddr */
- 12, /* boaddi */
- 12, /* boaddr_u */
- 12, /* boaddi_u */
- 12, /* bxaddr */
- 12, /* bxaddi */
- 12, /* bxaddr_u */
- 12, /* bxaddi_u */
- 12, /* bosubr */
- 12, /* bosubi */
- 12, /* bosubr_u */
- 12, /* bosubi_u */
- 12, /* bxsubr */
- 12, /* bxsubi */
- 12, /* bxsubr_u */
- 12, /* bxsubi_u */
+ 12, /* bltr */
+ 12, /* blti */
+ 12, /* bltr_u */
+ 12, /* blti_u */
+ 12, /* bler */
+ 12, /* blei */
+ 12, /* bler_u */
+ 12, /* blei_u */
+ 12, /* beqr */
+ 20, /* beqi */
+ 12, /* bger */
+ 12, /* bgei */
+ 12, /* bger_u */
+ 12, /* bgei_u */
+ 12, /* bgtr */
+ 12, /* bgti */
+ 12, /* bgtr_u */
+ 12, /* bgti_u */
+ 12, /* bner */
+ 20, /* bnei */
+ 12, /* bmsr */
+ 12, /* bmsi */
+ 12, /* bmcr */
+ 12, /* bmci */
+ 12, /* boaddr */
+ 12, /* boaddi */
+ 12, /* boaddr_u */
+ 12, /* boaddi_u */
+ 12, /* bxaddr */
+ 12, /* bxaddi */
+ 12, /* bxaddr_u */
+ 12, /* bxaddi_u */
+ 12, /* bosubr */
+ 12, /* bosubi */
+ 12, /* bosubr_u */
+ 12, /* bosubi_u */
+ 12, /* bxsubr */
+ 12, /* bxsubi */
+ 12, /* bxsubr_u */
+ 12, /* bxsubi_u */
8, /* jmpr */
8, /* jmpi */
8, /* callr */
@@ -253,93 +267,96 @@
0, /* retval_i */
0, /* retval_ui */
0, /* retval_l */
- 44, /* epilog */
+ 44, /* epilog */
0, /* arg_f */
0, /* getarg_f */
0, /* putargr_f */
0, /* putargi_f */
4, /* addr_f */
- 16, /* addi_f */
+ 16, /* addi_f */
4, /* subr_f */
- 16, /* subi_f */
- 16, /* rsbi_f */
+ 16, /* subi_f */
+ 16, /* rsbi_f */
4, /* mulr_f */
- 16, /* muli_f */
+ 16, /* muli_f */
4, /* divr_f */
- 16, /* divi_f */
+ 16, /* divi_f */
4, /* negr_f */
+ 0, /* negi_f */
4, /* absr_f */
+ 0, /* absi_f */
4, /* sqrtr_f */
- 16, /* ltr_f */
- 32, /* lti_f */
- 16, /* ler_f */
- 32, /* lei_f */
- 16, /* eqr_f */
- 32, /* eqi_f */
- 16, /* ger_f */
- 32, /* gei_f */
- 16, /* gtr_f */
- 32, /* gti_f */
- 16, /* ner_f */
- 32, /* nei_f */
- 16, /* unltr_f */
- 32, /* unlti_f */
- 16, /* unler_f */
- 32, /* unlei_f */
- 16, /* uneqr_f */
- 32, /* uneqi_f */
- 16, /* unger_f */
- 32, /* ungei_f */
- 16, /* ungtr_f */
- 32, /* ungti_f */
- 16, /* ltgtr_f */
- 32, /* ltgti_f */
- 16, /* ordr_f */
- 32, /* ordi_f */
- 16, /* unordr_f */
- 32, /* unordi_f */
- 12, /* truncr_f_i */
+ 0, /* sqrti_f */
+ 16, /* ltr_f */
+ 32, /* lti_f */
+ 16, /* ler_f */
+ 32, /* lei_f */
+ 16, /* eqr_f */
+ 32, /* eqi_f */
+ 16, /* ger_f */
+ 32, /* gei_f */
+ 16, /* gtr_f */
+ 32, /* gti_f */
+ 16, /* ner_f */
+ 32, /* nei_f */
+ 16, /* unltr_f */
+ 32, /* unlti_f */
+ 16, /* unler_f */
+ 32, /* unlei_f */
+ 16, /* uneqr_f */
+ 32, /* uneqi_f */
+ 16, /* unger_f */
+ 32, /* ungei_f */
+ 16, /* ungtr_f */
+ 32, /* ungti_f */
+ 16, /* ltgtr_f */
+ 32, /* ltgti_f */
+ 16, /* ordr_f */
+ 32, /* ordi_f */
+ 16, /* unordr_f */
+ 32, /* unordi_f */
+ 12, /* truncr_f_i */
0, /* truncr_f_l */
- 12, /* extr_f */
+ 12, /* extr_f */
4, /* extr_d_f */
4, /* movr_f */
- 16, /* movi_f */
+ 16, /* movi_f */
4, /* ldr_f */
- 12, /* ldi_f */
+ 12, /* ldi_f */
4, /* ldxr_f */
8, /* ldxi_f */
4, /* str_f */
- 12, /* sti_f */
+ 12, /* sti_f */
4, /* stxr_f */
8, /* stxi_f */
- 12, /* bltr_f */
- 24, /* blti_f */
- 12, /* bler_f */
- 24, /* blei_f */
- 12, /* beqr_f */
- 24, /* beqi_f */
- 12, /* bger_f */
- 24, /* bgei_f */
- 12, /* bgtr_f */
- 24, /* bgti_f */
- 12, /* bner_f */
- 28, /* bnei_f */
- 12, /* bunltr_f */
- 28, /* bunlti_f */
- 12, /* bunler_f */
- 28, /* bunlei_f */
- 12, /* buneqr_f */
- 28, /* buneqi_f */
- 12, /* bunger_f */
- 28, /* bungei_f */
- 12, /* bungtr_f */
- 28, /* bungti_f */
- 12, /* bltgtr_f */
- 24, /* bltgti_f */
- 12, /* bordr_f */
- 24, /* bordi_f */
- 12, /* bunordr_f */
- 28, /* bunordi_f */
+ 12, /* bltr_f */
+ 24, /* blti_f */
+ 12, /* bler_f */
+ 24, /* blei_f */
+ 12, /* beqr_f */
+ 24, /* beqi_f */
+ 12, /* bger_f */
+ 24, /* bgei_f */
+ 12, /* bgtr_f */
+ 24, /* bgti_f */
+ 12, /* bner_f */
+ 28, /* bnei_f */
+ 12, /* bunltr_f */
+ 28, /* bunlti_f */
+ 12, /* bunler_f */
+ 28, /* bunlei_f */
+ 12, /* buneqr_f */
+ 28, /* buneqi_f */
+ 12, /* bunger_f */
+ 28, /* bungei_f */
+ 12, /* bungtr_f */
+ 28, /* bungti_f */
+ 12, /* bltgtr_f */
+ 24, /* bltgti_f */
+ 12, /* bordr_f */
+ 24, /* bordi_f */
+ 12, /* bunordr_f */
+ 28, /* bunordi_f */
0, /* pushargr_f */
0, /* pushargi_f */
0, /* retr_f */
@@ -350,178 +367,177 @@
0, /* putargr_d */
0, /* putargi_d */
4, /* addr_d */
- 24, /* addi_d */
+ 24, /* addi_d */
4, /* subr_d */
- 24, /* subi_d */
- 24, /* rsbi_d */
+ 24, /* subi_d */
+ 24, /* rsbi_d */
4, /* mulr_d */
- 24, /* muli_d */
+ 24, /* muli_d */
4, /* divr_d */
- 24, /* divi_d */
+ 24, /* divi_d */
8, /* negr_d */
+ 0, /* negi_d */
8, /* absr_d */
+ 0, /* absi_d */
4, /* sqrtr_d */
- 16, /* ltr_d */
- 40, /* lti_d */
- 16, /* ler_d */
- 40, /* lei_d */
- 16, /* eqr_d */
- 40, /* eqi_d */
- 16, /* ger_d */
- 40, /* gei_d */
- 16, /* gtr_d */
- 40, /* gti_d */
- 16, /* ner_d */
- 40, /* nei_d */
- 16, /* unltr_d */
- 40, /* unlti_d */
- 16, /* unler_d */
- 40, /* unlei_d */
- 16, /* uneqr_d */
- 40, /* uneqi_d */
- 16, /* unger_d */
- 40, /* ungei_d */
- 16, /* ungtr_d */
- 40, /* ungti_d */
- 16, /* ltgtr_d */
- 40, /* ltgti_d */
- 16, /* ordr_d */
- 40, /* ordi_d */
- 16, /* unordr_d */
- 40, /* unordi_d */
- 12, /* truncr_d_i */
+ 0, /* sqrti_d */
+ 16, /* ltr_d */
+ 40, /* lti_d */
+ 16, /* ler_d */
+ 40, /* lei_d */
+ 16, /* eqr_d */
+ 40, /* eqi_d */
+ 16, /* ger_d */
+ 40, /* gei_d */
+ 16, /* gtr_d */
+ 40, /* gti_d */
+ 16, /* ner_d */
+ 40, /* nei_d */
+ 16, /* unltr_d */
+ 40, /* unlti_d */
+ 16, /* unler_d */
+ 40, /* unlei_d */
+ 16, /* uneqr_d */
+ 40, /* uneqi_d */
+ 16, /* unger_d */
+ 40, /* ungei_d */
+ 16, /* ungtr_d */
+ 40, /* ungti_d */
+ 16, /* ltgtr_d */
+ 40, /* ltgti_d */
+ 16, /* ordr_d */
+ 40, /* ordi_d */
+ 16, /* unordr_d */
+ 40, /* unordi_d */
+ 12, /* truncr_d_i */
0, /* truncr_d_l */
- 16, /* extr_d */
+ 16, /* extr_d */
4, /* extr_f_d */
8, /* movr_d */
- 24, /* movi_d */
+ 24, /* movi_d */
4, /* ldr_d */
- 12, /* ldi_d */
+ 12, /* ldi_d */
4, /* ldxr_d */
8, /* ldxi_d */
4, /* str_d */
- 12, /* sti_d */
+ 12, /* sti_d */
4, /* stxr_d */
8, /* stxi_d */
- 12, /* bltr_d */
- 32, /* blti_d */
- 12, /* bler_d */
- 32, /* blei_d */
- 12, /* beqr_d */
- 32, /* beqi_d */
- 12, /* bger_d */
- 32, /* bgei_d */
- 12, /* bgtr_d */
- 32, /* bgti_d */
- 12, /* bner_d */
- 36, /* bnei_d */
- 12, /* bunltr_d */
- 36, /* bunlti_d */
- 12, /* bunler_d */
- 36, /* bunlei_d */
- 12, /* buneqr_d */
- 36, /* buneqi_d */
- 12, /* bunger_d */
- 36, /* bungei_d */
- 12, /* bungtr_d */
- 36, /* bungti_d */
- 12, /* bltgtr_d */
- 32, /* bltgti_d */
- 12, /* bordr_d */
- 32, /* bordi_d */
- 12, /* bunordr_d */
- 36, /* bunordi_d */
+ 12, /* bltr_d */
+ 32, /* blti_d */
+ 12, /* bler_d */
+ 32, /* blei_d */
+ 12, /* beqr_d */
+ 32, /* beqi_d */
+ 12, /* bger_d */
+ 32, /* bgei_d */
+ 12, /* bgtr_d */
+ 32, /* bgti_d */
+ 12, /* bner_d */
+ 36, /* bnei_d */
+ 12, /* bunltr_d */
+ 36, /* bunlti_d */
+ 12, /* bunler_d */
+ 36, /* bunlei_d */
+ 12, /* buneqr_d */
+ 36, /* buneqi_d */
+ 12, /* bunger_d */
+ 36, /* bungei_d */
+ 12, /* bungtr_d */
+ 36, /* bungti_d */
+ 12, /* bltgtr_d */
+ 32, /* bltgti_d */
+ 12, /* bordr_d */
+ 32, /* bordi_d */
+ 12, /* bunordr_d */
+ 36, /* bunordi_d */
0, /* pushargr_d */
0, /* pushargi_d */
0, /* retr_d */
0, /* reti_d */
0, /* retval_d */
8, /* movr_w_f */
- 12, /* movr_ww_d */
+ 12, /* movi_w_f */
+ 12, /* movr_ww_d */
+ 20, /* movi_ww_d */
0, /* movr_w_d */
+ 0, /* movi_w_d */
8, /* movr_f_w */
4, /* movi_f_w */
- 12, /* movr_d_ww */
+ 12, /* movr_d_ww */
8, /* movi_d_ww */
0, /* movr_d_w */
0, /* movi_d_w */
- 92, /* clor */
- 64, /* clzr */
- 68, /* ctor */
- 40, /* ctzr */
- 60, /* rbitr */
- 56, /* popcntr */
- 20, /* lrotr */
- 12, /* lroti */
- 20, /* rrotr */
- 12, /* rroti */
- 8, /* extr */
- 16, /* extr_u */
- 32, /* depr */
- 20, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 8, /* exti_us */
- 0, /* exti_i */
- 0, /* exti_ui */
- 8, /* bswapi_us */
- 8, /* bswapi_ui */
- 0, /* bswapi_ul */
- 8, /* htoni_us */
- 8, /* htoni_ui */
- 0, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
+ 92, /* clor */
4, /* cloi */
+ 64, /* clzr */
4, /* clzi */
+ 68, /* ctor */
4, /* ctoi */
+ 40, /* ctzr */
4, /* ctzi */
+ 60, /* rbitr */
8, /* rbiti */
+ 56, /* popcntr */
4, /* popcnti */
+ 20, /* lrotr */
+ 12, /* lroti */
+ 20, /* rrotr */
+ 12, /* rroti */
+ 8, /* extr */
4, /* exti */
+ 16, /* extr_u */
4, /* exti_u */
- 72, /* qlshr */
+ 32, /* depr */
+ 20, /* depi */
+ 72, /* qlshr */
8, /* qlshi */
- 72, /* qlshr_u */
+ 72, /* qlshr_u */
8, /* qlshi_u */
- 72, /* qrshr */
+ 72, /* qrshr */
8, /* qrshi */
- 72, /* qrshr_u */
+ 72, /* qrshr_u */
8, /* qrshi_u */
- 124, /* unldr */
- 36, /* unldi */
- 124, /* unldr_u */
- 36, /* unldi_u */
- 84, /* unstr */
- 44, /* unsti */
- 260, /* unldr_x */
- 84, /* unldi_x */
- 184, /* unstr_x */
- 100, /* unsti_x */
- 12, /* movi_w_f */
- 0, /* movi_w_d */
- 20, /* movi_ww_d */
+ 76, /* unldr */
+ 40, /* unldi */
+ 76, /* unldr_u */
+ 40, /* unldi_u */
+ 212, /* unstr */
+ 96, /* unsti */
+ 156, /* unldr_x */
+ 84, /* unldi_x */
+ 440, /* unstr_x */
+ 196, /* unsti_x */
+ 4, /* fmar_f */
+ 0, /* fmai_f */
+ 4, /* fmsr_f */
+ 0, /* fmsi_f */
+ 4, /* fmar_d */
+ 0, /* fmai_d */
+ 4, /* fmsr_d */
+ 0, /* fmsi_d */
+ 4, /* fnmar_f */
+ 0, /* fnmai_f */
+ 4, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 4, /* fnmar_d */
+ 0, /* fnmai_d */
+ 4, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __WORDSIZE */
#if __WORDSIZE == 64
-#define JIT_INSTR_MAX 328
+#define JIT_INSTR_MAX 240
0, /* data */
0, /* live */
- 24, /* align */
+ 24, /* align */
0, /* save */
0, /* load */
4, /* skip */
0, /* #name */
0, /* #note */
4, /* label */
- 36, /* prolog */
+ 36, /* prolog */
0, /* ellipsis */
0, /* va_push */
0, /* allocai */
@@ -556,42 +572,42 @@
8, /* va_arg_d */
0, /* va_end */
4, /* addr */
- 28, /* addi */
- 24, /* addcr */
- 48, /* addci */
- 52, /* addxr */
- 52, /* addxi */
+ 28, /* addi */
+ 24, /* addcr */
+ 48, /* addci */
+ 52, /* addxr */
+ 52, /* addxi */
4, /* subr */
- 28, /* subi */
- 24, /* subcr */
- 48, /* subci */
- 52, /* subxr */
- 52, /* subxi */
- 32, /* rsbi */
+ 28, /* subi */
+ 24, /* subcr */
+ 48, /* subci */
+ 52, /* subxr */
+ 52, /* subxi */
+ 32, /* rsbi */
4, /* mulr */
- 28, /* muli */
- 48, /* qmulr */
- 64, /* qmuli */
- 48, /* qmulr_u */
- 64, /* qmuli_u */
+ 28, /* muli */
+ 48, /* qmulr */
+ 64, /* qmuli */
+ 48, /* qmulr_u */
+ 64, /* qmuli_u */
4, /* divr */
- 28, /* divi */
+ 28, /* divi */
4, /* divr_u */
- 28, /* divi_u */
- 20, /* qdivr */
- 16, /* qdivi */
- 20, /* qdivr_u */
- 16, /* qdivi_u */
- 12, /* remr */
- 36, /* remi */
- 12, /* remr_u */
- 36, /* remi_u */
+ 28, /* divi_u */
+ 20, /* qdivr */
+ 16, /* qdivi */
+ 20, /* qdivr_u */
+ 16, /* qdivi_u */
+ 12, /* remr */
+ 36, /* remi */
+ 12, /* remr_u */
+ 36, /* remi_u */
4, /* andr */
- 28, /* andi */
+ 28, /* andi */
4, /* orr */
- 28, /* ori */
+ 28, /* ori */
4, /* xorr */
- 28, /* xori */
+ 28, /* xori */
4, /* lshr */
4, /* lshi */
4, /* rshr */
@@ -599,133 +615,147 @@
4, /* rshr_u */
4, /* rshi_u */
4, /* negr */
+ 4, /* negi */
4, /* comr */
- 16, /* ltr */
- 16, /* lti */
- 16, /* ltr_u */
- 16, /* lti_u */
- 16, /* ler */
- 16, /* lei */
- 16, /* ler_u */
- 16, /* lei_u */
- 16, /* eqr */
- 16, /* eqi */
- 16, /* ger */
- 16, /* gei */
- 16, /* ger_u */
- 16, /* gei_u */
- 16, /* gtr */
- 16, /* gti */
- 16, /* gtr_u */
- 16, /* gti_u */
- 16, /* ner */
- 16, /* nei */
+ 4, /* comi */
+ 16, /* ltr */
+ 16, /* lti */
+ 16, /* ltr_u */
+ 16, /* lti_u */
+ 16, /* ler */
+ 16, /* lei */
+ 16, /* ler_u */
+ 16, /* lei_u */
+ 16, /* eqr */
+ 16, /* eqi */
+ 16, /* ger */
+ 16, /* gei */
+ 16, /* ger_u */
+ 16, /* gei_u */
+ 16, /* gtr */
+ 16, /* gti */
+ 16, /* gtr_u */
+ 16, /* gti_u */
+ 16, /* ner */
+ 16, /* nei */
4, /* movr */
- 24, /* movi */
- 16, /* movnr */
- 16, /* movzr */
- 24, /* casr */
- 44, /* casi */
+ 24, /* movi */
+ 16, /* movnr */
+ 16, /* movzr */
+ 24, /* casr */
+ 44, /* casi */
8, /* extr_c */
+ 4, /* exti_c */
4, /* extr_uc */
+ 4, /* exti_uc */
8, /* extr_s */
+ 4, /* exti_s */
8, /* extr_us */
+ 8, /* exti_us */
8, /* extr_i */
+ 20, /* exti_i */
8, /* extr_ui */
- 20, /* bswapr_us */
- 52, /* bswapr_ui */
+ 4, /* exti_ui */
+ 20, /* bswapr_us */
+ 8, /* bswapi_us */
+ 52, /* bswapr_ui */
+ 8, /* bswapi_ui */
116, /* bswapr_ul */
+ 24, /* bswapi_ul */
8, /* htonr_us */
+ 8, /* htoni_us */
8, /* htonr_ui */
+ 8, /* htoni_ui */
4, /* htonr_ul */
+ 24, /* htoni_ul */
4, /* ldr_c */
- 24, /* ldi_c */
+ 24, /* ldi_c */
4, /* ldr_uc */
- 28, /* ldi_uc */
+ 28, /* ldi_uc */
4, /* ldr_s */
- 28, /* ldi_s */
+ 28, /* ldi_s */
4, /* ldr_us */
- 28, /* ldi_us */
+ 28, /* ldi_us */
4, /* ldr_i */
- 28, /* ldi_i */
+ 28, /* ldi_i */
4, /* ldr_ui */
- 28, /* ldi_ui */
+ 28, /* ldi_ui */
4, /* ldr_l */
- 28, /* ldi_l */
+ 28, /* ldi_l */
4, /* ldxr_c */
- 24, /* ldxi_c */
+ 24, /* ldxi_c */
4, /* ldxr_uc */
- 24, /* ldxi_uc */
+ 24, /* ldxi_uc */
4, /* ldxr_s */
- 24, /* ldxi_s */
+ 24, /* ldxi_s */
4, /* ldxr_us */
- 24, /* ldxi_us */
+ 24, /* ldxi_us */
4, /* ldxr_i */
- 24, /* ldxi_i */
+ 24, /* ldxi_i */
4, /* ldxr_ui */
- 24, /* ldxi_ui */
+ 24, /* ldxi_ui */
4, /* ldxr_l */
- 24, /* ldxi_l */
+ 24, /* ldxi_l */
4, /* str_c */
- 28, /* sti_c */
+ 28, /* sti_c */
4, /* str_s */
- 28, /* sti_s */
+ 28, /* sti_s */
4, /* str_i */
- 28, /* sti_i */
+ 28, /* sti_i */
4, /* str_l */
- 28, /* sti_l */
+ 28, /* sti_l */
4, /* stxr_c */
- 24, /* stxi_c */
+ 24, /* stxi_c */
4, /* stxr_s */
- 24, /* stxi_s */
+ 24, /* stxi_s */
4, /* stxr_i */
- 24, /* stxi_i */
+ 24, /* stxi_i */
4, /* stxr_l */
- 24, /* stxi_l */
- 12, /* bltr */
- 12, /* blti */
- 12, /* bltr_u */
- 12, /* blti_u */
- 12, /* bler */
- 12, /* blei */
- 12, /* bler_u */
- 12, /* blei_u */
- 12, /* beqr */
- 36, /* beqi */
- 12, /* bger */
- 12, /* bgei */
- 12, /* bger_u */
- 12, /* bgei_u */
- 12, /* bgtr */
- 12, /* bgti */
- 12, /* bgtr_u */
- 12, /* bgti_u */
- 12, /* bner */
- 36, /* bnei */
- 12, /* bmsr */
- 12, /* bmsi */
- 12, /* bmcr */
- 12, /* bmci */
- 12, /* boaddr */
- 12, /* boaddi */
- 12, /* boaddr_u */
- 12, /* boaddi_u */
- 12, /* bxaddr */
- 12, /* bxaddi */
- 12, /* bxaddr_u */
- 12, /* bxaddi_u */
- 12, /* bosubr */
- 12, /* bosubi */
- 12, /* bosubr_u */
- 12, /* bosubi_u */
- 12, /* bxsubr */
- 12, /* bxsubi */
- 12, /* bxsubr_u */
- 12, /* bxsubi_u */
+ 24, /* stxi_l */
+ 12, /* bltr */
+ 12, /* blti */
+ 12, /* bltr_u */
+ 12, /* blti_u */
+ 12, /* bler */
+ 12, /* blei */
+ 12, /* bler_u */
+ 12, /* blei_u */
+ 12, /* beqr */
+ 36, /* beqi */
+ 12, /* bger */
+ 12, /* bgei */
+ 12, /* bger_u */
+ 12, /* bgei_u */
+ 12, /* bgtr */
+ 12, /* bgti */
+ 12, /* bgtr_u */
+ 12, /* bgti_u */
+ 12, /* bner */
+ 36, /* bnei */
+ 12, /* bmsr */
+ 12, /* bmsi */
+ 12, /* bmcr */
+ 12, /* bmci */
+ 12, /* boaddr */
+ 12, /* boaddi */
+ 12, /* boaddr_u */
+ 12, /* boaddi_u */
+ 12, /* bxaddr */
+ 12, /* bxaddi */
+ 12, /* bxaddr_u */
+ 12, /* bxaddi_u */
+ 12, /* bosubr */
+ 12, /* bosubi */
+ 12, /* bosubr_u */
+ 12, /* bosubi_u */
+ 12, /* bxsubr */
+ 12, /* bxsubi */
+ 12, /* bxsubr_u */
+ 12, /* bxsubi_u */
8, /* jmpr */
8, /* jmpi */
8, /* callr */
- 40, /* calli */
+ 40, /* calli */
0, /* prepare */
0, /* pushargr_c */
0, /* pushargi_c */
@@ -765,93 +795,96 @@
0, /* retval_i */
0, /* retval_ui */
0, /* retval_l */
- 44, /* epilog */
+ 44, /* epilog */
0, /* arg_f */
0, /* getarg_f */
0, /* putargr_f */
0, /* putargi_f */
- 16, /* addr_f */
- 40, /* addi_f */
- 24, /* subr_f */
- 40, /* subi_f */
- 40, /* rsbi_f */
- 16, /* mulr_f */
- 40, /* muli_f */
- 16, /* divr_f */
- 40, /* divi_f */
- 12, /* negr_f */
- 12, /* absr_f */
- 12, /* sqrtr_f */
- 24, /* ltr_f */
- 48, /* lti_f */
- 24, /* ler_f */
- 48, /* lei_f */
- 24, /* eqr_f */
- 48, /* eqi_f */
- 24, /* ger_f */
- 48, /* gei_f */
- 24, /* gtr_f */
- 48, /* gti_f */
- 24, /* ner_f */
- 48, /* nei_f */
- 24, /* unltr_f */
- 48, /* unlti_f */
- 24, /* unler_f */
- 48, /* unlei_f */
- 24, /* uneqr_f */
- 48, /* uneqi_f */
- 24, /* unger_f */
- 48, /* ungei_f */
- 24, /* ungtr_f */
- 48, /* ungti_f */
- 24, /* ltgtr_f */
- 48, /* ltgti_f */
- 24, /* ordr_f */
- 48, /* ordi_f */
- 24, /* unordr_f */
- 48, /* unordi_f */
- 16, /* truncr_f_i */
- 16, /* truncr_f_l */
- 20, /* extr_f */
- 12, /* extr_d_f */
- 24, /* movr_f */
- 32, /* movi_f */
+ 16, /* addr_f */
+ 40, /* addi_f */
+ 24, /* subr_f */
+ 40, /* subi_f */
+ 40, /* rsbi_f */
+ 16, /* mulr_f */
+ 40, /* muli_f */
+ 16, /* divr_f */
+ 40, /* divi_f */
+ 12, /* negr_f */
+ 0, /* negi_f */
+ 12, /* absr_f */
+ 0, /* absi_f */
+ 12, /* sqrtr_f */
+ 0, /* sqrti_f */
+ 24, /* ltr_f */
+ 48, /* lti_f */
+ 24, /* ler_f */
+ 48, /* lei_f */
+ 24, /* eqr_f */
+ 48, /* eqi_f */
+ 24, /* ger_f */
+ 48, /* gei_f */
+ 24, /* gtr_f */
+ 48, /* gti_f */
+ 24, /* ner_f */
+ 48, /* nei_f */
+ 24, /* unltr_f */
+ 48, /* unlti_f */
+ 24, /* unler_f */
+ 48, /* unlei_f */
+ 24, /* uneqr_f */
+ 48, /* uneqi_f */
+ 24, /* unger_f */
+ 48, /* ungei_f */
+ 24, /* ungtr_f */
+ 48, /* ungti_f */
+ 24, /* ltgtr_f */
+ 48, /* ltgti_f */
+ 24, /* ordr_f */
+ 48, /* ordi_f */
+ 24, /* unordr_f */
+ 48, /* unordi_f */
+ 16, /* truncr_f_i */
+ 16, /* truncr_f_l */
+ 20, /* extr_f */
+ 12, /* extr_d_f */
+ 24, /* movr_f */
+ 32, /* movi_f */
8, /* ldr_f */
- 32, /* ldi_f */
+ 32, /* ldi_f */
8, /* ldxr_f */
- 28, /* ldxi_f */
+ 28, /* ldxi_f */
8, /* str_f */
- 32, /* sti_f */
+ 32, /* sti_f */
8, /* stxr_f */
- 28, /* stxi_f */
- 20, /* bltr_f */
- 44, /* blti_f */
- 20, /* bler_f */
- 44, /* blei_f */
- 28, /* beqr_f */
- 52, /* beqi_f */
- 20, /* bger_f */
- 44, /* bgei_f */
- 20, /* bgtr_f */
- 44, /* bgti_f */
- 20, /* bner_f */
- 60, /* bnei_f */
- 20, /* bunltr_f */
- 44, /* bunlti_f */
- 20, /* bunler_f */
- 44, /* bunlei_f */
- 20, /* buneqr_f */
- 44, /* buneqi_f */
- 20, /* bunger_f */
- 44, /* bungei_f */
- 20, /* bungtr_f */
- 44, /* bungti_f */
- 20, /* bltgtr_f */
- 44, /* bltgti_f */
- 20, /* bordr_f */
- 44, /* bordi_f */
- 20, /* bunordr_f */
- 44, /* bunordi_f */
+ 28, /* stxi_f */
+ 20, /* bltr_f */
+ 44, /* blti_f */
+ 20, /* bler_f */
+ 44, /* blei_f */
+ 28, /* beqr_f */
+ 52, /* beqi_f */
+ 20, /* bger_f */
+ 44, /* bgei_f */
+ 20, /* bgtr_f */
+ 44, /* bgti_f */
+ 20, /* bner_f */
+ 60, /* bnei_f */
+ 20, /* bunltr_f */
+ 44, /* bunlti_f */
+ 20, /* bunler_f */
+ 44, /* bunlei_f */
+ 20, /* buneqr_f */
+ 44, /* buneqi_f */
+ 20, /* bunger_f */
+ 44, /* bungei_f */
+ 20, /* bungtr_f */
+ 44, /* bungti_f */
+ 20, /* bltgtr_f */
+ 44, /* bltgti_f */
+ 20, /* bordr_f */
+ 44, /* bordi_f */
+ 20, /* bunordr_f */
+ 44, /* bunordi_f */
0, /* pushargr_f */
0, /* pushargi_f */
0, /* retr_f */
@@ -862,162 +895,161 @@
0, /* putargr_d */
0, /* putargi_d */
4, /* addr_d */
- 32, /* addi_d */
+ 32, /* addi_d */
4, /* subr_d */
- 32, /* subi_d */
- 32, /* rsbi_d */
+ 32, /* subi_d */
+ 32, /* rsbi_d */
4, /* mulr_d */
- 32, /* muli_d */
+ 32, /* muli_d */
4, /* divr_d */
- 32, /* divi_d */
+ 32, /* divi_d */
4, /* negr_d */
+ 0, /* negi_d */
4, /* absr_d */
+ 0, /* absi_d */
4, /* sqrtr_d */
- 16, /* ltr_d */
- 48, /* lti_d */
- 16, /* ler_d */
- 48, /* lei_d */
- 16, /* eqr_d */
- 48, /* eqi_d */
- 16, /* ger_d */
- 48, /* gei_d */
- 16, /* gtr_d */
- 48, /* gti_d */
- 16, /* ner_d */
- 48, /* nei_d */
- 16, /* unltr_d */
- 48, /* unlti_d */
- 16, /* unler_d */
- 48, /* unlei_d */
- 16, /* uneqr_d */
- 48, /* uneqi_d */
- 16, /* unger_d */
- 48, /* ungei_d */
- 16, /* ungtr_d */
- 48, /* ungti_d */
- 16, /* ltgtr_d */
- 48, /* ltgti_d */
- 16, /* ordr_d */
- 48, /* ordi_d */
- 16, /* unordr_d */
- 48, /* unordi_d */
- 16, /* truncr_d_i */
- 12, /* truncr_d_l */
- 12, /* extr_d */
+ 0, /* sqrti_d */
+ 16, /* ltr_d */
+ 48, /* lti_d */
+ 16, /* ler_d */
+ 48, /* lei_d */
+ 16, /* eqr_d */
+ 48, /* eqi_d */
+ 16, /* ger_d */
+ 48, /* gei_d */
+ 16, /* gtr_d */
+ 48, /* gti_d */
+ 16, /* ner_d */
+ 48, /* nei_d */
+ 16, /* unltr_d */
+ 48, /* unlti_d */
+ 16, /* unler_d */
+ 48, /* unlei_d */
+ 16, /* uneqr_d */
+ 48, /* uneqi_d */
+ 16, /* unger_d */
+ 48, /* ungei_d */
+ 16, /* ungtr_d */
+ 48, /* ungti_d */
+ 16, /* ltgtr_d */
+ 48, /* ltgti_d */
+ 16, /* ordr_d */
+ 48, /* ordi_d */
+ 16, /* unordr_d */
+ 48, /* unordi_d */
+ 16, /* truncr_d_i */
+ 12, /* truncr_d_l */
+ 12, /* extr_d */
8, /* extr_f_d */
4, /* movr_d */
- 32, /* movi_d */
+ 32, /* movi_d */
4, /* ldr_d */
- 28, /* ldi_d */
+ 28, /* ldi_d */
4, /* ldxr_d */
- 24, /* ldxi_d */
+ 24, /* ldxi_d */
4, /* str_d */
- 28, /* sti_d */
+ 28, /* sti_d */
4, /* stxr_d */
- 24, /* stxi_d */
- 12, /* bltr_d */
- 40, /* blti_d */
- 12, /* bler_d */
- 40, /* blei_d */
- 12, /* beqr_d */
- 40, /* beqi_d */
- 12, /* bger_d */
- 40, /* bgei_d */
- 12, /* bgtr_d */
- 40, /* bgti_d */
- 12, /* bner_d */
- 44, /* bnei_d */
- 12, /* bunltr_d */
- 44, /* bunlti_d */
- 12, /* bunler_d */
- 44, /* bunlei_d */
- 12, /* buneqr_d */
- 44, /* buneqi_d */
- 12, /* bunger_d */
- 44, /* bungei_d */
- 12, /* bungtr_d */
- 44, /* bungti_d */
- 12, /* bltgtr_d */
- 40, /* bltgti_d */
- 12, /* bordr_d */
- 40, /* bordi_d */
- 12, /* bunordr_d */
- 44, /* bunordi_d */
+ 24, /* stxi_d */
+ 12, /* bltr_d */
+ 40, /* blti_d */
+ 12, /* bler_d */
+ 40, /* blei_d */
+ 12, /* beqr_d */
+ 40, /* beqi_d */
+ 12, /* bger_d */
+ 40, /* bgei_d */
+ 12, /* bgtr_d */
+ 40, /* bgti_d */
+ 12, /* bner_d */
+ 44, /* bnei_d */
+ 12, /* bunltr_d */
+ 44, /* bunlti_d */
+ 12, /* bunler_d */
+ 44, /* bunlei_d */
+ 12, /* buneqr_d */
+ 44, /* buneqi_d */
+ 12, /* bunger_d */
+ 44, /* bungei_d */
+ 12, /* bungtr_d */
+ 44, /* bungti_d */
+ 12, /* bltgtr_d */
+ 40, /* bltgti_d */
+ 12, /* bordr_d */
+ 40, /* bordi_d */
+ 12, /* bunordr_d */
+ 44, /* bunordi_d */
0, /* pushargr_d */
0, /* pushargi_d */
0, /* retr_d */
0, /* reti_d */
0, /* retval_d */
- 12, /* movr_w_f */
+ 12, /* movr_w_f */
+ 16, /* movi_w_f */
0, /* movr_ww_d */
+ 0, /* movi_ww_d */
8, /* movr_w_d */
- 12, /* movr_f_w */
+ 24, /* movi_w_d */
+ 12, /* movr_f_w */
4, /* movi_f_w */
0, /* movr_d_ww */
0, /* movi_d_ww */
8, /* movr_d_w */
- 16, /* movi_d_w */
+ 16, /* movi_d_w */
108, /* clor */
- 80, /* clzr */
- 80, /* ctor */
- 52, /* ctzr */
- 76, /* rbitr */
- 72, /* popcntr */
- 20, /* lrotr */
- 12, /* lroti */
- 20, /* rrotr */
- 12, /* rroti */
- 8, /* extr */
- 32, /* extr_u */
- 60, /* depr */
- 20, /* depi */
- 4, /* negi */
- 4, /* comi */
- 4, /* exti_c */
- 4, /* exti_uc */
- 4, /* exti_s */
- 8, /* exti_us */
- 20, /* exti_i */
- 4, /* exti_ui */
- 8, /* bswapi_us */
- 8, /* bswapi_ui */
- 24, /* bswapi_ul */
- 8, /* htoni_us */
- 8, /* htoni_ui */
- 24, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
4, /* cloi */
+ 80, /* clzr */
4, /* clzi */
+ 80, /* ctor */
4, /* ctoi */
+ 52, /* ctzr */
4, /* ctzi */
- 24, /* rbiti */
+ 76, /* rbitr */
+ 24, /* rbiti */
+ 72, /* popcntr */
4, /* popcnti */
+ 20, /* lrotr */
+ 12, /* lroti */
+ 20, /* rrotr */
+ 12, /* rroti */
+ 8, /* extr */
4, /* exti */
+ 32, /* extr_u */
4, /* exti_u */
- 72, /* qlshr */
+ 60, /* depr */
+ 20, /* depi */
+ 72, /* qlshr */
8, /* qlshi */
- 72, /* qlshr_u */
+ 72, /* qlshr_u */
8, /* qlshi_u */
- 72, /* qrshr */
+ 72, /* qrshr */
8, /* qrshi */
- 72, /* qrshr_u */
+ 72, /* qrshr_u */
8, /* qrshi_u */
- 324, /* unldr */
- 120, /* unldi */
- 324, /* unldr_u */
- 120, /* unldi_u */
- 188, /* unstr */
- 108, /* unsti */
- 328, /* unldr_x */
- 128, /* unldi_x */
- 196, /* unstr_x */
- 116, /* unsti_x */
- 16, /* movi_w_f */
- 24, /* movi_w_d */
- 0, /* movi_ww_d */
+ 76, /* unldr */
+ 64, /* unldi */
+ 76, /* unldr_u */
+ 64, /* unldi_u */
+ 228, /* unstr */
+ 160, /* unsti */
+ 84, /* unldr_x */
+ 76, /* unldi_x */
+ 240, /* unstr_x */
+ 172, /* unsti_x */
+ 20, /* fmar_f */
+ 0, /* fmai_f */
+ 20, /* fmsr_f */
+ 0, /* fmsi_f */
+ 20, /* fmar_d */
+ 0, /* fmai_d */
+ 20, /* fmsr_d */
+ 0, /* fmsi_d */
+ 20, /* fnmar_f */
+ 0, /* fnmai_f */
+ 20, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 20, /* fnmar_d */
+ 0, /* fnmai_d */
+ 20, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __WORDSIZE */
diff --git a/lib/jit_x86-sz.c b/lib/jit_x86-sz.c
index 6d9eebb..a2b608c 100644
--- a/lib/jit_x86-sz.c
+++ b/lib/jit_x86-sz.c
@@ -88,7 +88,9 @@
16, /* rshr_u */
5, /* rshi_u */
4, /* negr */
+ 5, /* negi */
4, /* comr */
+ 5, /* comi */
15, /* ltr */
16, /* lti */
15, /* ltr_u */
@@ -116,17 +118,29 @@
9, /* casr */
13, /* casi */
11, /* extr_c */
+ 5, /* exti_c */
11, /* extr_uc */
+ 5, /* exti_uc */
3, /* extr_s */
+ 5, /* exti_s */
3, /* extr_us */
+ 5, /* exti_us */
0, /* extr_i */
+ 0, /* exti_i */
0, /* extr_ui */
+ 0, /* exti_ui */
7, /* bswapr_us */
+ 5, /* bswapi_us */
4, /* bswapr_ui */
+ 5, /* bswapi_ui */
0, /* bswapr_ul */
+ 0, /* bswapi_ul */
7, /* htonr_us */
+ 5, /* htoni_us */
4, /* htonr_ui */
+ 5, /* htoni_ui */
0, /* htonr_ul */
+ 0, /* htoni_ul */
3, /* ldr_c */
7, /* ldi_c */
3, /* ldr_uc */
@@ -269,8 +283,11 @@
12, /* divr_f */
19, /* divi_f */
12, /* negr_f */
+ 0, /* negi_f */
12, /* absr_f */
+ 0, /* absi_f */
6, /* sqrtr_f */
+ 0, /* sqrti_f */
13, /* ltr_f */
27, /* lti_f */
13, /* ler_f */
@@ -360,8 +377,11 @@
12, /* divr_d */
26, /* divi_d */
18, /* negr_d */
+ 0, /* negi_d */
13, /* absr_d */
+ 0, /* absi_d */
6, /* sqrtr_d */
+ 0, /* sqrti_d */
13, /* ltr_d */
37, /* lti_d */
13, /* ler_d */
@@ -438,8 +458,11 @@
0, /* reti_d */
10, /* retval_d */
8, /* movr_w_f */
+ 13, /* movi_w_f */
11, /* movr_ww_d */
+ 18, /* movi_ww_d */
0, /* movr_w_d */
+ 0, /* movi_w_d */
10, /* movr_f_w */
5, /* movi_f_w */
13, /* movr_d_ww */
@@ -447,47 +470,27 @@
0, /* movr_d_w */
0, /* movi_d_w */
21, /* clor */
+ 5, /* cloi */
17, /* clzr */
+ 5, /* clzi */
15, /* ctor */
+ 5, /* ctoi */
11, /* ctzr */
+ 5, /* ctzi */
61, /* rbitr */
+ 5, /* rbiti */
58, /* popcntr */
+ 5, /* popcnti */
16, /* lrotr */
5, /* lroti */
16, /* rrotr */
5, /* rroti */
10, /* extr */
+ 5, /* exti */
11, /* extr_u */
+ 5, /* exti_u */
22, /* depr */
24, /* depi */
- 5, /* negi */
- 5, /* comi */
- 5, /* exti_c */
- 5, /* exti_uc */
- 5, /* exti_s */
- 5, /* exti_us */
- 0, /* exti_i */
- 0, /* exti_ui */
- 5, /* bswapi_us */
- 5, /* bswapi_ui */
- 0, /* bswapi_ul */
- 5, /* htoni_us */
- 5, /* htoni_ui */
- 0, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 5, /* cloi */
- 5, /* clzi */
- 5, /* ctoi */
- 5, /* ctzi */
- 5, /* rbiti */
- 5, /* popcnti */
- 5, /* exti */
- 5, /* exti_u */
63, /* qlshr */
12, /* qlshi */
60, /* qlshr_u */
@@ -506,9 +509,22 @@
8, /* unldi_x */
6, /* unstr_x */
10, /* unsti_x */
- 13, /* movi_w_f */
- 0, /* movi_w_d */
- 18, /* movi_ww_d */
+ 13, /* fmar_f */
+ 0, /* fmai_f */
+ 13, /* fmsr_f */
+ 0, /* fmsi_f */
+ 13, /* fmar_d */
+ 0, /* fmai_d */
+ 13, /* fmsr_d */
+ 0, /* fmsi_d */
+ 21, /* fnmar_f */
+ 0, /* fnmai_f */
+ 21, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 27, /* fnmar_d */
+ 0, /* fnmai_d */
+ 27, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __X32 */
#if __X64
@@ -601,7 +617,9 @@
9, /* rshr_u */
7, /* rshi_u */
6, /* negr */
+ 7, /* negi */
6, /* comr */
+ 7, /* comi */
13, /* ltr */
14, /* lti */
13, /* ltr_u */
@@ -629,17 +647,29 @@
11, /* casr */
16, /* casi */
7, /* extr_c */
+ 7, /* exti_c */
7, /* extr_uc */
+ 5, /* exti_uc */
4, /* extr_s */
+ 7, /* exti_s */
4, /* extr_us */
+ 5, /* exti_us */
3, /* extr_i */
+ 10, /* exti_i */
3, /* extr_ui */
+ 5, /* exti_ui */
9, /* bswapr_us */
+ 5, /* bswapi_us */
6, /* bswapr_ui */
+ 5, /* bswapi_ui */
6, /* bswapr_ul */
+ 10, /* bswapi_ul */
9, /* htonr_us */
+ 5, /* htoni_us */
6, /* htonr_ui */
+ 5, /* htoni_ui */
6, /* htonr_ul */
+ 10, /* htoni_ul */
4, /* ldr_c */
9, /* ldi_c */
4, /* ldr_uc */
@@ -782,8 +812,11 @@
15, /* divr_f */
19, /* divi_f */
14, /* negr_f */
+ 0, /* negi_f */
15, /* absr_f */
+ 0, /* absi_f */
5, /* sqrtr_f */
+ 0, /* sqrti_f */
16, /* ltr_f */
27, /* lti_f */
16, /* ler_f */
@@ -873,8 +906,11 @@
15, /* divr_d */
25, /* divi_d */
21, /* negr_d */
+ 0, /* negi_d */
16, /* absr_d */
+ 0, /* absi_d */
5, /* sqrtr_d */
+ 0, /* sqrti_d */
17, /* ltr_d */
32, /* lti_d */
17, /* ler_d */
@@ -951,8 +987,11 @@
0, /* reti_d */
0, /* retval_d */
5, /* movr_w_f */
+ 10, /* movi_w_f */
0, /* movr_ww_d */
+ 0, /* movi_ww_d */
5, /* movr_w_d */
+ 15, /* movi_w_d */
5, /* movr_f_w */
6, /* movi_f_w */
0, /* movr_d_ww */
@@ -960,47 +999,27 @@
5, /* movr_d_w */
10, /* movi_d_w */
27, /* clor */
+ 5, /* cloi */
21, /* clzr */
+ 5, /* clzi */
20, /* ctor */
+ 5, /* ctoi */
14, /* ctzr */
+ 5, /* ctzi */
61, /* rbitr */
+ 10, /* rbiti */
57, /* popcntr */
+ 5, /* popcnti */
9, /* lrotr */
7, /* lroti */
9, /* rrotr */
7, /* rroti */
12, /* extr */
+ 7, /* exti */
20, /* extr_u */
+ 5, /* exti_u */
37, /* depr */
30, /* depi */
- 7, /* negi */
- 7, /* comi */
- 7, /* exti_c */
- 5, /* exti_uc */
- 7, /* exti_s */
- 5, /* exti_us */
- 10, /* exti_i */
- 5, /* exti_ui */
- 5, /* bswapi_us */
- 5, /* bswapi_ui */
- 10, /* bswapi_ul */
- 5, /* htoni_us */
- 5, /* htoni_ui */
- 10, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 5, /* cloi */
- 5, /* clzi */
- 5, /* ctoi */
- 5, /* ctzi */
- 10, /* rbiti */
- 5, /* popcnti */
- 7, /* exti */
- 5, /* exti_u */
58, /* qlshr */
15, /* qlshi */
54, /* qlshr_u */
@@ -1019,9 +1038,22 @@
10, /* unldi_x */
5, /* unstr_x */
10, /* unsti_x */
- 10, /* movi_w_f */
- 15, /* movi_w_d */
- 0, /* movi_ww_d */
+ 12, /* fmar_f */
+ 0, /* fmai_f */
+ 20, /* fmsr_f */
+ 0, /* fmsi_f */
+ 12, /* fmar_d */
+ 0, /* fmai_d */
+ 20, /* fmsr_d */
+ 0, /* fmsi_d */
+ 28, /* fnmar_f */
+ 0, /* fnmai_f */
+ 24, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 34, /* fnmar_d */
+ 0, /* fnmai_d */
+ 30, /* fnmsr_d */
+ 0, /* fnmsi_d */
#else
# if __X64_32
@@ -1113,7 +1145,9 @@
9, /* rshr_u */
7, /* rshi_u */
6, /* negr */
+ 5, /* negi */
6, /* comr */
+ 5, /* comi */
13, /* ltr */
14, /* lti */
13, /* ltr_u */
@@ -1141,17 +1175,29 @@
11, /* casr */
16, /* casi */
7, /* extr_c */
+ 5, /* exti_c */
7, /* extr_uc */
+ 5, /* exti_uc */
4, /* extr_s */
+ 5, /* exti_s */
4, /* extr_us */
+ 5, /* exti_us */
0, /* extr_i */
+ 0, /* exti_i */
0, /* extr_ui */
+ 0, /* exti_ui */
9, /* bswapr_us */
+ 5, /* bswapi_us */
6, /* bswapr_ui */
+ 5, /* bswapi_ui */
0, /* bswapr_ul */
+ 0, /* bswapi_ul */
9, /* htonr_us */
+ 5, /* htoni_us */
6, /* htonr_ui */
+ 5, /* htoni_ui */
0, /* htonr_ul */
+ 0, /* htoni_ul */
5, /* ldr_c */
10, /* ldi_c */
5, /* ldr_uc */
@@ -1294,8 +1340,11 @@
15, /* divr_f */
20, /* divi_f */
15, /* negr_f */
+ 0, /* negi_f */
15, /* absr_f */
+ 0, /* absi_f */
5, /* sqrtr_f */
+ 0, /* sqrti_f */
15, /* ltr_f */
26, /* lti_f */
15, /* ler_f */
@@ -1385,8 +1434,11 @@
15, /* divr_d */
29, /* divi_d */
22, /* negr_d */
+ 0, /* negi_d */
16, /* absr_d */
+ 0, /* absi_d */
5, /* sqrtr_d */
+ 0, /* sqrti_d */
16, /* ltr_d */
39, /* lti_d */
16, /* ler_d */
@@ -1463,8 +1515,11 @@
0, /* reti_d */
0, /* retval_d */
5, /* movr_w_f */
+ 10, /* movi_w_f */
14, /* movr_ww_d */
+ 19, /* movi_ww_d */
0, /* movr_w_d */
+ 0, /* movi_w_d */
5, /* movr_f_w */
6, /* movi_f_w */
14, /* movr_d_ww */
@@ -1472,47 +1527,27 @@
0, /* movr_d_w */
0, /* movi_d_w */
11, /* clor */
+ 5, /* cloi */
5, /* clzr */
+ 5, /* clzi */
11, /* ctor */
+ 5, /* ctoi */
5, /* ctzr */
+ 5, /* ctzi */
64, /* rbitr */
+ 5, /* rbiti */
5, /* popcntr */
+ 5, /* popcnti */
9, /* lrotr */
7, /* lroti */
9, /* rrotr */
7, /* rroti */
12, /* extr */
+ 5, /* exti */
11, /* extr_u */
+ 5, /* exti_u */
24, /* depr */
27, /* depi */
- 5, /* negi */
- 5, /* comi */
- 5, /* exti_c */
- 5, /* exti_uc */
- 5, /* exti_s */
- 5, /* exti_us */
- 0, /* exti_i */
- 0, /* exti_ui */
- 5, /* bswapi_us */
- 5, /* bswapi_ui */
- 0, /* bswapi_ul */
- 5, /* htoni_us */
- 5, /* htoni_ui */
- 0, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 5, /* cloi */
- 5, /* clzi */
- 5, /* ctoi */
- 5, /* ctzi */
- 5, /* rbiti */
- 5, /* popcnti */
- 5, /* exti */
- 5, /* exti_u */
56, /* qlshr */
15, /* qlshi */
52, /* qlshr_u */
@@ -1531,9 +1566,22 @@
10, /* unldi_x */
5, /* unstr_x */
10, /* unsti_x */
- 10, /* movi_w_f */
- 0, /* movi_w_d */
- 19, /* movi_ww_d */
+ 15, /* fmar_f */
+ 0, /* fmai_f */
+ 15, /* fmsr_f */
+ 0, /* fmsi_f */
+ 15, /* fmar_d */
+ 0, /* fmai_d */
+ 15, /* fmsr_d */
+ 0, /* fmsi_d */
+ 24, /* fnmar_f */
+ 0, /* fnmai_f */
+ 24, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 31, /* fnmar_d */
+ 0, /* fnmai_d */
+ 31, /* fnmsr_d */
+ 0, /* fnmsi_d */
#else
#define JIT_INSTR_MAX 112
@@ -1624,7 +1672,9 @@
9, /* rshr_u */
7, /* rshi_u */
6, /* negr */
+ 7, /* negi */
6, /* comr */
+ 7, /* comi */
13, /* ltr */
14, /* lti */
13, /* ltr_u */
@@ -1652,17 +1702,29 @@
11, /* casr */
16, /* casi */
4, /* extr_c */
+ 7, /* exti_c */
4, /* extr_uc */
+ 5, /* exti_uc */
4, /* extr_s */
+ 7, /* exti_s */
4, /* extr_us */
+ 5, /* exti_us */
3, /* extr_i */
+ 10, /* exti_i */
3, /* extr_ui */
+ 5, /* exti_ui */
9, /* bswapr_us */
+ 5, /* bswapi_us */
6, /* bswapr_ui */
+ 5, /* bswapi_ui */
6, /* bswapr_ul */
+ 10, /* bswapi_ul */
9, /* htonr_us */
+ 5, /* htoni_us */
6, /* htonr_ui */
+ 5, /* htoni_ui */
6, /* htonr_ul */
+ 10, /* htoni_ul */
5, /* ldr_c */
9, /* ldi_c */
5, /* ldr_uc */
@@ -1805,8 +1867,11 @@
15, /* divr_f */
20, /* divi_f */
15, /* negr_f */
+ 0, /* negi_f */
15, /* absr_f */
+ 0, /* absi_f */
5, /* sqrtr_f */
+ 0, /* sqrti_f */
11, /* ltr_f */
23, /* lti_f */
11, /* ler_f */
@@ -1896,8 +1961,11 @@
15, /* divr_d */
25, /* divi_d */
22, /* negr_d */
+ 0, /* negi_d */
16, /* absr_d */
+ 0, /* absi_d */
5, /* sqrtr_d */
+ 0, /* sqrti_d */
12, /* ltr_d */
27, /* lti_d */
12, /* ler_d */
@@ -1974,8 +2042,11 @@
0, /* reti_d */
0, /* retval_d */
5, /* movr_w_f */
+ 10, /* movi_w_f */
0, /* movr_ww_d */
+ 0, /* movi_ww_d */
5, /* movr_w_d */
+ 15, /* movi_w_d */
5, /* movr_f_w */
6, /* movi_f_w */
0, /* movr_d_ww */
@@ -1983,47 +2054,27 @@
5, /* movr_d_w */
10, /* movi_d_w */
11, /* clor */
+ 5, /* cloi */
5, /* clzr */
+ 5, /* clzi */
11, /* ctor */
+ 5, /* ctoi */
5, /* ctzr */
+ 5, /* ctzi */
56, /* rbitr */
+ 10, /* rbiti */
5, /* popcntr */
+ 5, /* popcnti */
9, /* lrotr */
7, /* lroti */
9, /* rrotr */
7, /* rroti */
12, /* extr */
+ 7, /* exti */
15, /* extr_u */
+ 5, /* exti_u */
34, /* depr */
27, /* depi */
- 7, /* negi */
- 7, /* comi */
- 7, /* exti_c */
- 5, /* exti_uc */
- 7, /* exti_s */
- 5, /* exti_us */
- 10, /* exti_i */
- 5, /* exti_ui */
- 5, /* bswapi_us */
- 5, /* bswapi_ui */
- 10, /* bswapi_ul */
- 5, /* htoni_us */
- 5, /* htoni_ui */
- 10, /* htoni_ul */
- 0, /* negi_f */
- 0, /* absi_f */
- 0, /* sqrti_f */
- 0, /* negi_d */
- 0, /* absi_d */
- 0, /* sqrti_d */
- 5, /* cloi */
- 5, /* clzi */
- 5, /* ctoi */
- 5, /* ctzi */
- 10, /* rbiti */
- 5, /* popcnti */
- 7, /* exti */
- 5, /* exti_u */
58, /* qlshr */
15, /* qlshi */
54, /* qlshr_u */
@@ -2042,9 +2093,22 @@
10, /* unldi_x */
5, /* unstr_x */
10, /* unsti_x */
- 10, /* movi_w_f */
- 15, /* movi_w_d */
- 0, /* movi_ww_d */
+ 15, /* fmar_f */
+ 0, /* fmai_f */
+ 15, /* fmsr_f */
+ 0, /* fmsi_f */
+ 15, /* fmar_d */
+ 0, /* fmai_d */
+ 15, /* fmsr_d */
+ 0, /* fmsi_d */
+ 24, /* fnmar_f */
+ 0, /* fnmai_f */
+ 24, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 31, /* fnmar_d */
+ 0, /* fnmai_d */
+ 31, /* fnmsr_d */
+ 0, /* fnmsi_d */
#endif /* __CYGWIN__ || _WIN32 */
# endif /* __X64_32 */
#endif /* __X64 */
generated by cgit v1.2.3 (git 2.39.1) at 2025年09月25日 10:32:04 +0000

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