diff --git a/ChangeLog b/ChangeLog index cba892204..eef40a4ec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2014-10-17 Paulo Andrade + + * lib/jit_names.c: New file with single definition of string + representation of lightning IR codes. + + * size.c: Modified to append the code name in a C comment + after the maximum instruction size. + + * lib/jit_print.c: Minor change to not duplicate jit_names.c + contents. + + * lib/jit_aarch64-sz.c, lib/jit_alpha-sz.c, lib/jit_arm-sz.c, + lib/jit_hppa-sz.c, lib/jit_ia64-sz.c, lib/jit_mips-sz.c, + lib/jit_ppc-sz.c, lib/jit_s390x-sz.c, lib/jit_sparc-sz.c, + lib/jit_x86-sz.c: Rewritten to add string representation of + IR codes in a C comment. + 2014-10-14 Paulo Andrade * lib/jit_aarch64-cpu.c, lib/jit_alpha-cpu.c, lib/jit_arm-cpu.c, diff --git a/lib/Makefile.am b/lib/Makefile.am index e1f99ce44..3bd7cb723 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -26,6 +26,7 @@ liblightningdir = $(libdir) liblightning_la_SOURCES = \ jit_disasm.c \ jit_memory.c \ + jit_names.c \ jit_note.c \ jit_print.c \ jit_size.c \ diff --git a/lib/jit_aarch64-sz.c b/lib/jit_aarch64-sz.c index 01b18f2c4..98a30f322 100644 --- a/lib/jit_aarch64-sz.c +++ b/lib/jit_aarch64-sz.c @@ -1,351 +1,351 @@ #if __WORDSIZE == 64 #define JIT_INSTR_MAX 64 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 64, - 0, - 4, - 12, - 4, - 12, - 4, - 8, - 4, - 16, - 4, - 12, - 4, - 8, - 4, - 12, - 12, - 20, - 12, - 20, - 4, - 12, - 4, - 12, - 20, - 16, - 20, - 16, - 12, - 20, - 12, - 20, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 4, - 16, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 8, - 8, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 24, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 24, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 0, - 20, - 4, - 20, - 64, - 0, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 4, - 4, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 16, - 24, - 8, - 16, - 8, - 16, - 16, - 24, - 8, - 16, - 8, - 16, - 8, - 4, - 4, - 4, - 4, - 8, - 8, - 16, - 8, - 8, - 8, - 16, - 8, - 8, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 16, - 24, - 8, - 16, - 8, - 16, - 16, - 24, - 8, - 16, - 8, - 16, - 0, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 4, - 4, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 16, - 24, - 8, - 16, - 8, - 16, - 16, - 24, - 8, - 16, - 8, - 16, - 8, - 4, - 4, - 4, - 4, - 12, - 8, - 16, - 8, - 8, - 8, - 16, - 8, - 8, - 8, - 16, - 8, - 16, - 8, - 20, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 8, - 16, - 16, - 24, - 8, - 16, - 8, - 16, - 16, - 24, - 8, - 16, - 8, - 16, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, /* data */ + 0, /* live */ + 4, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 0, /* label */ + 64, /* prolog */ + 0, /* arg */ + 4, /* addr */ + 12, /* addi */ + 4, /* addcr */ + 12, /* addci */ + 4, /* addxr */ + 8, /* addxi */ + 4, /* subr */ + 16, /* subi */ + 4, /* subcr */ + 12, /* subci */ + 4, /* subxr */ + 8, /* subxi */ + 4, /* mulr */ + 12, /* muli */ + 12, /* qmulr */ + 20, /* qmuli */ + 12, /* qmulr_u */ + 20, /* qmuli_u */ + 4, /* divr */ + 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 */ + 4, /* andr */ + 12, /* andi */ + 4, /* orr */ + 12, /* ori */ + 4, /* xorr */ + 12, /* xori */ + 4, /* lshr */ + 4, /* lshi */ + 4, /* rshr */ + 4, /* rshi */ + 4, /* rshr_u */ + 4, /* rshi_u */ + 4, /* negr */ + 4, /* comr */ + 8, /* ltr */ + 8, /* lti */ + 8, /* ltr_u */ + 8, /* lti_u */ + 8, /* ler */ + 8, /* lei */ + 8, /* ler_u */ + 8, /* lei_u */ + 8, /* eqr */ + 8, /* eqi */ + 8, /* ger */ + 8, /* gei */ + 8, /* ger_u */ + 8, /* gei_u */ + 8, /* gtr */ + 8, /* gti */ + 8, /* gtr_u */ + 8, /* gti_u */ + 8, /* ner */ + 8, /* nei */ + 4, /* movr */ + 16, /* movi */ + 4, /* extr_c */ + 4, /* extr_uc */ + 4, /* extr_s */ + 4, /* extr_us */ + 4, /* extr_i */ + 4, /* extr_ui */ + 4, /* htonr */ + 4, /* ldr_c */ + 12, /* ldi_c */ + 4, /* ldr_uc */ + 12, /* ldi_uc */ + 4, /* ldr_s */ + 12, /* ldi_s */ + 4, /* ldr_us */ + 12, /* ldi_us */ + 4, /* ldr_i */ + 12, /* ldi_i */ + 4, /* ldr_ui */ + 12, /* ldi_ui */ + 4, /* ldr_l */ + 12, /* ldi_l */ + 8, /* ldxr_c */ + 8, /* ldxi_c */ + 4, /* ldxr_uc */ + 4, /* ldxi_uc */ + 4, /* ldxr_s */ + 4, /* ldxi_s */ + 4, /* ldxr_us */ + 4, /* ldxi_us */ + 4, /* ldxr_i */ + 4, /* ldxi_i */ + 4, /* ldxr_ui */ + 4, /* ldxi_ui */ + 4, /* ldxr_l */ + 4, /* ldxi_l */ + 4, /* str_c */ + 12, /* sti_c */ + 4, /* str_s */ + 12, /* sti_s */ + 4, /* str_i */ + 12, /* sti_i */ + 4, /* str_l */ + 12, /* sti_l */ + 4, /* stxr_c */ + 4, /* stxi_c */ + 4, /* stxr_s */ + 4, /* stxi_s */ + 4, /* stxr_i */ + 4, /* stxi_i */ + 4, /* stxr_l */ + 4, /* stxi_l */ + 8, /* bltr */ + 8, /* blti */ + 8, /* bltr_u */ + 8, /* blti_u */ + 8, /* bler */ + 8, /* blei */ + 8, /* bler_u */ + 8, /* blei_u */ + 8, /* beqr */ + 24, /* beqi */ + 8, /* bger */ + 8, /* bgei */ + 8, /* bger_u */ + 8, /* bgei_u */ + 8, /* bgtr */ + 8, /* bgti */ + 8, /* bgtr_u */ + 8, /* bgti_u */ + 8, /* bner */ + 24, /* bnei */ + 8, /* bmsr */ + 8, /* bmsi */ + 8, /* bmcr */ + 8, /* bmci */ + 8, /* boaddr */ + 8, /* boaddi */ + 8, /* boaddr_u */ + 8, /* boaddi_u */ + 8, /* bxaddr */ + 8, /* bxaddi */ + 8, /* bxaddr_u */ + 8, /* bxaddi_u */ + 8, /* bosubr */ + 8, /* bosubi */ + 8, /* bosubr_u */ + 8, /* bosubi_u */ + 8, /* bxsubr */ + 8, /* bxsubi */ + 8, /* bxsubr_u */ + 8, /* bxsubi_u */ + 0, /* jmpr */ + 20, /* jmpi */ + 4, /* callr */ + 20, /* calli */ + 64, /* epilog */ + 0, /* arg_f */ + 4, /* addr_f */ + 12, /* addi_f */ + 4, /* subr_f */ + 12, /* subi_f */ + 4, /* mulr_f */ + 12, /* muli_f */ + 4, /* divr_f */ + 12, /* divi_f */ + 4, /* negr_f */ + 4, /* absr_f */ + 4, /* sqrtr_f */ + 8, /* ltr_f */ + 16, /* lti_f */ + 8, /* ler_f */ + 16, /* lei_f */ + 8, /* eqr_f */ + 16, /* eqi_f */ + 8, /* ger_f */ + 16, /* gei_f */ + 8, /* gtr_f */ + 16, /* gti_f */ + 8, /* ner_f */ + 16, /* nei_f */ + 8, /* unltr_f */ + 16, /* unlti_f */ + 8, /* unler_f */ + 16, /* unlei_f */ + 16, /* uneqr_f */ + 24, /* uneqi_f */ + 8, /* unger_f */ + 16, /* ungei_f */ + 8, /* ungtr_f */ + 16, /* ungti_f */ + 16, /* ltgtr_f */ + 24, /* ltgti_f */ + 8, /* ordr_f */ + 16, /* ordi_f */ + 8, /* unordr_f */ + 16, /* unordi_f */ + 8, /* truncr_f_i */ + 4, /* truncr_f_l */ + 4, /* extr_f */ + 4, /* extr_d_f */ + 4, /* movr_f */ + 8, /* movi_f */ + 8, /* ldr_f */ + 16, /* ldi_f */ + 8, /* ldxr_f */ + 8, /* ldxi_f */ + 8, /* str_f */ + 16, /* sti_f */ + 8, /* stxr_f */ + 8, /* stxi_f */ + 8, /* bltr_f */ + 16, /* blti_f */ + 8, /* bler_f */ + 16, /* blei_f */ + 8, /* beqr_f */ + 16, /* beqi_f */ + 8, /* bger_f */ + 16, /* bgei_f */ + 8, /* bgtr_f */ + 16, /* bgti_f */ + 8, /* bner_f */ + 16, /* bnei_f */ + 8, /* bunltr_f */ + 16, /* bunlti_f */ + 8, /* bunler_f */ + 16, /* bunlei_f */ + 16, /* buneqr_f */ + 24, /* buneqi_f */ + 8, /* bunger_f */ + 16, /* bungei_f */ + 8, /* bungtr_f */ + 16, /* bungti_f */ + 16, /* bltgtr_f */ + 24, /* bltgti_f */ + 8, /* bordr_f */ + 16, /* bordi_f */ + 8, /* bunordr_f */ + 16, /* bunordi_f */ + 0, /* arg_d */ + 4, /* addr_d */ + 12, /* addi_d */ + 4, /* subr_d */ + 12, /* subi_d */ + 4, /* mulr_d */ + 12, /* muli_d */ + 4, /* divr_d */ + 12, /* divi_d */ + 4, /* negr_d */ + 4, /* absr_d */ + 4, /* sqrtr_d */ + 8, /* ltr_d */ + 16, /* lti_d */ + 8, /* ler_d */ + 16, /* lei_d */ + 8, /* eqr_d */ + 16, /* eqi_d */ + 8, /* ger_d */ + 16, /* gei_d */ + 8, /* gtr_d */ + 16, /* gti_d */ + 8, /* ner_d */ + 16, /* nei_d */ + 8, /* unltr_d */ + 16, /* unlti_d */ + 8, /* unler_d */ + 16, /* unlei_d */ + 16, /* uneqr_d */ + 24, /* uneqi_d */ + 8, /* unger_d */ + 16, /* ungei_d */ + 8, /* ungtr_d */ + 16, /* ungti_d */ + 16, /* ltgtr_d */ + 24, /* ltgti_d */ + 8, /* ordr_d */ + 16, /* ordi_d */ + 8, /* unordr_d */ + 16, /* unordi_d */ + 8, /* truncr_d_i */ + 4, /* truncr_d_l */ + 4, /* extr_d */ + 4, /* extr_f_d */ + 4, /* movr_d */ + 12, /* movi_d */ + 8, /* ldr_d */ + 16, /* ldi_d */ + 8, /* ldxr_d */ + 8, /* ldxi_d */ + 8, /* str_d */ + 16, /* sti_d */ + 8, /* stxr_d */ + 8, /* stxi_d */ + 8, /* bltr_d */ + 16, /* blti_d */ + 8, /* bler_d */ + 16, /* blei_d */ + 8, /* beqr_d */ + 20, /* beqi_d */ + 8, /* bger_d */ + 16, /* bgei_d */ + 8, /* bgtr_d */ + 16, /* bgti_d */ + 8, /* bner_d */ + 16, /* bnei_d */ + 8, /* bunltr_d */ + 16, /* bunlti_d */ + 8, /* bunler_d */ + 16, /* bunlei_d */ + 16, /* buneqr_d */ + 24, /* buneqi_d */ + 8, /* bunger_d */ + 16, /* bungei_d */ + 8, /* bungtr_d */ + 16, /* bungti_d */ + 16, /* bltgtr_d */ + 24, /* bltgti_d */ + 8, /* bordr_d */ + 16, /* bordi_d */ + 8, /* bunordr_d */ + 16, /* bunordi_d */ + 0, /* movr_w_f */ + 0, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 0, /* movi_f_w */ + 0, /* movr_d_ww */ + 0, /* movi_d_ww */ + 0, /* movr_d_w */ + 0, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #endif /* __WORDSIZE */ diff --git a/lib/jit_alpha-sz.c b/lib/jit_alpha-sz.c index bf914d034..a5c9ad227 100644 --- a/lib/jit_alpha-sz.c +++ b/lib/jit_alpha-sz.c @@ -1,351 +1,351 @@ #if __WORDSIZE == 64 #define JIT_INSTR_MAX 76 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 76, - 0, - 4, - 32, - 12, - 40, - 28, - 28, - 4, - 32, - 12, - 40, - 28, - 28, - 4, - 32, - 44, - 56, - 12, - 32, - 48, - 72, - 48, - 72, - 56, - 56, - 56, - 56, - 48, - 72, - 48, - 72, - 4, - 32, - 4, - 32, - 4, - 32, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 8, - 4, - 8, - 4, - 4, - 4, - 4, - 4, - 8, - 4, - 8, - 4, - 8, - 4, - 8, - 8, - 12, - 4, - 32, - 8, - 8, - 8, - 8, - 8, - 8, - 36, - 12, - 40, - 4, - 32, - 12, - 40, - 4, - 32, - 4, - 32, - 12, - 40, - 4, - 32, - 16, - 12, - 8, - 4, - 16, - 12, - 8, - 4, - 8, - 4, - 16, - 12, - 8, - 4, - 4, - 32, - 4, - 32, - 4, - 32, - 4, - 32, - 8, - 4, - 8, - 4, - 8, - 4, - 8, - 4, - 8, - 8, - 8, - 12, - 8, - 12, - 8, - 12, - 8, - 40, - 8, - 12, - 8, - 12, - 8, - 12, - 8, - 12, - 8, - 36, - 8, - 8, - 8, - 8, - 28, - 32, - 16, - 16, - 28, - 32, - 16, - 16, - 28, - 32, - 16, - 16, - 28, - 32, - 16, - 16, - 0, - 36, - 8, - 36, - 68, - 0, - 8, - 32, - 8, - 32, - 8, - 32, - 8, - 32, - 4, - 4, - 8, - 32, - 56, - 32, - 56, - 32, - 56, - 32, - 56, - 32, - 56, - 32, - 56, - 32, - 56, - 32, - 56, - 32, - 56, - 32, - 56, - 32, - 56, - 32, - 56, - 20, - 44, - 20, - 44, - 16, - 16, - 12, - 4, - 4, - 24, - 4, - 32, - 8, - 4, - 4, - 32, - 8, - 4, - 24, - 48, - 24, - 48, - 24, - 48, - 24, - 48, - 24, - 48, - 28, - 52, - 28, - 52, - 28, - 52, - 28, - 52, - 28, - 52, - 28, - 52, - 28, - 52, - 12, - 36, - 12, - 36, - 0, - 8, - 28, - 8, - 28, - 8, - 28, - 8, - 28, - 4, - 4, - 8, - 32, - 52, - 32, - 52, - 32, - 52, - 32, - 52, - 32, - 52, - 32, - 52, - 32, - 52, - 32, - 52, - 32, - 52, - 32, - 52, - 32, - 52, - 32, - 52, - 20, - 40, - 20, - 40, - 16, - 16, - 12, - 4, - 4, - 20, - 4, - 32, - 8, - 4, - 4, - 32, - 8, - 4, - 24, - 44, - 24, - 44, - 24, - 44, - 24, - 44, - 24, - 44, - 28, - 48, - 28, - 48, - 28, - 48, - 28, - 48, - 28, - 48, - 28, - 48, - 28, - 48, - 12, - 32, - 12, - 32, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, /* data */ + 0, /* live */ + 4, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 0, /* label */ + 76, /* prolog */ + 0, /* arg */ + 4, /* addr */ + 32, /* addi */ + 12, /* addcr */ + 40, /* addci */ + 28, /* addxr */ + 28, /* addxi */ + 4, /* subr */ + 32, /* subi */ + 12, /* subcr */ + 40, /* subci */ + 28, /* subxr */ + 28, /* subxi */ + 4, /* mulr */ + 32, /* muli */ + 44, /* qmulr */ + 56, /* qmuli */ + 12, /* qmulr_u */ + 32, /* qmuli_u */ + 48, /* divr */ + 72, /* divi */ + 48, /* divr_u */ + 72, /* divi_u */ + 56, /* qdivr */ + 56, /* qdivi */ + 56, /* qdivr_u */ + 56, /* qdivi_u */ + 48, /* remr */ + 72, /* remi */ + 48, /* remr_u */ + 72, /* remi_u */ + 4, /* andr */ + 32, /* andi */ + 4, /* orr */ + 32, /* ori */ + 4, /* xorr */ + 32, /* xori */ + 4, /* lshr */ + 4, /* lshi */ + 4, /* rshr */ + 4, /* rshi */ + 4, /* rshr_u */ + 4, /* rshi_u */ + 4, /* negr */ + 4, /* comr */ + 4, /* ltr */ + 4, /* lti */ + 4, /* ltr_u */ + 8, /* lti_u */ + 4, /* ler */ + 8, /* lei */ + 4, /* ler_u */ + 4, /* lei_u */ + 4, /* eqr */ + 4, /* eqi */ + 4, /* ger */ + 8, /* gei */ + 4, /* ger_u */ + 8, /* gei_u */ + 4, /* gtr */ + 8, /* gti */ + 4, /* gtr_u */ + 8, /* gti_u */ + 8, /* ner */ + 12, /* nei */ + 4, /* movr */ + 32, /* movi */ + 8, /* extr_c */ + 8, /* extr_uc */ + 8, /* extr_s */ + 8, /* extr_us */ + 8, /* extr_i */ + 8, /* extr_ui */ + 36, /* htonr */ + 12, /* ldr_c */ + 40, /* ldi_c */ + 4, /* ldr_uc */ + 32, /* ldi_uc */ + 12, /* ldr_s */ + 40, /* ldi_s */ + 4, /* ldr_us */ + 32, /* ldi_us */ + 4, /* ldr_i */ + 32, /* ldi_i */ + 12, /* ldr_ui */ + 40, /* ldi_ui */ + 4, /* ldr_l */ + 32, /* ldi_l */ + 16, /* ldxr_c */ + 12, /* ldxi_c */ + 8, /* ldxr_uc */ + 4, /* ldxi_uc */ + 16, /* ldxr_s */ + 12, /* ldxi_s */ + 8, /* ldxr_us */ + 4, /* ldxi_us */ + 8, /* ldxr_i */ + 4, /* ldxi_i */ + 16, /* ldxr_ui */ + 12, /* ldxi_ui */ + 8, /* ldxr_l */ + 4, /* ldxi_l */ + 4, /* str_c */ + 32, /* sti_c */ + 4, /* str_s */ + 32, /* sti_s */ + 4, /* str_i */ + 32, /* sti_i */ + 4, /* str_l */ + 32, /* sti_l */ + 8, /* stxr_c */ + 4, /* stxi_c */ + 8, /* stxr_s */ + 4, /* stxi_s */ + 8, /* stxr_i */ + 4, /* stxi_i */ + 8, /* stxr_l */ + 4, /* stxi_l */ + 8, /* bltr */ + 8, /* blti */ + 8, /* bltr_u */ + 12, /* blti_u */ + 8, /* bler */ + 12, /* blei */ + 8, /* bler_u */ + 12, /* blei_u */ + 8, /* beqr */ + 40, /* beqi */ + 8, /* bger */ + 12, /* bgei */ + 8, /* bger_u */ + 12, /* bgei_u */ + 8, /* bgtr */ + 12, /* bgti */ + 8, /* bgtr_u */ + 12, /* bgti_u */ + 8, /* bner */ + 36, /* bnei */ + 8, /* bmsr */ + 8, /* bmsi */ + 8, /* bmcr */ + 8, /* bmci */ + 28, /* boaddr */ + 32, /* boaddi */ + 16, /* boaddr_u */ + 16, /* boaddi_u */ + 28, /* bxaddr */ + 32, /* bxaddi */ + 16, /* bxaddr_u */ + 16, /* bxaddi_u */ + 28, /* bosubr */ + 32, /* bosubi */ + 16, /* bosubr_u */ + 16, /* bosubi_u */ + 28, /* bxsubr */ + 32, /* bxsubi */ + 16, /* bxsubr_u */ + 16, /* bxsubi_u */ + 0, /* jmpr */ + 36, /* jmpi */ + 8, /* callr */ + 36, /* calli */ + 68, /* epilog */ + 0, /* arg_f */ + 8, /* addr_f */ + 32, /* addi_f */ + 8, /* subr_f */ + 32, /* subi_f */ + 8, /* mulr_f */ + 32, /* muli_f */ + 8, /* divr_f */ + 32, /* divi_f */ + 4, /* negr_f */ + 4, /* absr_f */ + 8, /* sqrtr_f */ + 32, /* ltr_f */ + 56, /* lti_f */ + 32, /* ler_f */ + 56, /* lei_f */ + 32, /* eqr_f */ + 56, /* eqi_f */ + 32, /* ger_f */ + 56, /* gei_f */ + 32, /* gtr_f */ + 56, /* gti_f */ + 32, /* ner_f */ + 56, /* nei_f */ + 32, /* unltr_f */ + 56, /* unlti_f */ + 32, /* unler_f */ + 56, /* unlei_f */ + 32, /* uneqr_f */ + 56, /* uneqi_f */ + 32, /* unger_f */ + 56, /* ungei_f */ + 32, /* ungtr_f */ + 56, /* ungti_f */ + 32, /* ltgtr_f */ + 56, /* ltgti_f */ + 20, /* ordr_f */ + 44, /* ordi_f */ + 20, /* unordr_f */ + 44, /* unordi_f */ + 16, /* truncr_f_i */ + 16, /* truncr_f_l */ + 12, /* extr_f */ + 4, /* extr_d_f */ + 4, /* movr_f */ + 24, /* movi_f */ + 4, /* ldr_f */ + 32, /* ldi_f */ + 8, /* ldxr_f */ + 4, /* ldxi_f */ + 4, /* str_f */ + 32, /* sti_f */ + 8, /* stxr_f */ + 4, /* stxi_f */ + 24, /* bltr_f */ + 48, /* blti_f */ + 24, /* bler_f */ + 48, /* blei_f */ + 24, /* beqr_f */ + 48, /* beqi_f */ + 24, /* bger_f */ + 48, /* bgei_f */ + 24, /* bgtr_f */ + 48, /* bgti_f */ + 28, /* bner_f */ + 52, /* bnei_f */ + 28, /* bunltr_f */ + 52, /* bunlti_f */ + 28, /* bunler_f */ + 52, /* bunlei_f */ + 28, /* buneqr_f */ + 52, /* buneqi_f */ + 28, /* bunger_f */ + 52, /* bungei_f */ + 28, /* bungtr_f */ + 52, /* bungti_f */ + 28, /* bltgtr_f */ + 52, /* bltgti_f */ + 12, /* bordr_f */ + 36, /* bordi_f */ + 12, /* bunordr_f */ + 36, /* bunordi_f */ + 0, /* arg_d */ + 8, /* addr_d */ + 28, /* addi_d */ + 8, /* subr_d */ + 28, /* subi_d */ + 8, /* mulr_d */ + 28, /* muli_d */ + 8, /* divr_d */ + 28, /* divi_d */ + 4, /* negr_d */ + 4, /* absr_d */ + 8, /* sqrtr_d */ + 32, /* ltr_d */ + 52, /* lti_d */ + 32, /* ler_d */ + 52, /* lei_d */ + 32, /* eqr_d */ + 52, /* eqi_d */ + 32, /* ger_d */ + 52, /* gei_d */ + 32, /* gtr_d */ + 52, /* gti_d */ + 32, /* ner_d */ + 52, /* nei_d */ + 32, /* unltr_d */ + 52, /* unlti_d */ + 32, /* unler_d */ + 52, /* unlei_d */ + 32, /* uneqr_d */ + 52, /* uneqi_d */ + 32, /* unger_d */ + 52, /* ungei_d */ + 32, /* ungtr_d */ + 52, /* ungti_d */ + 32, /* ltgtr_d */ + 52, /* ltgti_d */ + 20, /* ordr_d */ + 40, /* ordi_d */ + 20, /* unordr_d */ + 40, /* unordi_d */ + 16, /* truncr_d_i */ + 16, /* truncr_d_l */ + 12, /* extr_d */ + 4, /* extr_f_d */ + 4, /* movr_d */ + 20, /* movi_d */ + 4, /* ldr_d */ + 32, /* ldi_d */ + 8, /* ldxr_d */ + 4, /* ldxi_d */ + 4, /* str_d */ + 32, /* sti_d */ + 8, /* stxr_d */ + 4, /* stxi_d */ + 24, /* bltr_d */ + 44, /* blti_d */ + 24, /* bler_d */ + 44, /* blei_d */ + 24, /* beqr_d */ + 44, /* beqi_d */ + 24, /* bger_d */ + 44, /* bgei_d */ + 24, /* bgtr_d */ + 44, /* bgti_d */ + 28, /* bner_d */ + 48, /* bnei_d */ + 28, /* bunltr_d */ + 48, /* bunlti_d */ + 28, /* bunler_d */ + 48, /* bunlei_d */ + 28, /* buneqr_d */ + 48, /* buneqi_d */ + 28, /* bunger_d */ + 48, /* bungei_d */ + 28, /* bungtr_d */ + 48, /* bungti_d */ + 28, /* bltgtr_d */ + 48, /* bltgti_d */ + 12, /* bordr_d */ + 32, /* bordi_d */ + 12, /* bunordr_d */ + 32, /* bunordi_d */ + 0, /* movr_w_f */ + 0, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 0, /* movi_f_w */ + 0, /* movr_d_ww */ + 0, /* movi_d_ww */ + 0, /* movr_d_w */ + 0, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #endif /* __WORDSIZE */ diff --git a/lib/jit_arm-sz.c b/lib/jit_arm-sz.c index a9f217b66..988cc0a36 100644 --- a/lib/jit_arm-sz.c +++ b/lib/jit_arm-sz.c @@ -2,705 +2,705 @@ #if __WORDSIZE == 32 #if defined(__ARM_PCS_VFP) #define JIT_INSTR_MAX 44 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 26, - 0, - 4, - 8, - 4, - 8, - 4, - 4, - 4, - 8, - 4, - 8, - 4, - 4, - 4, - 8, - 4, - 12, - 4, - 8, - 32, - 44, - 24, - 28, - 18, - 22, - 18, - 22, - 24, - 28, - 24, - 28, - 4, - 4, - 4, - 8, - 4, - 8, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 4, - 8, - 4, - 4, - 4, - 4, - 0, - 0, - 4, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 0, - 0, - 0, - 0, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 0, - 0, - 0, - 0, - 4, - 12, - 4, - 12, - 4, - 12, - 0, - 0, - 4, - 4, - 4, - 4, - 4, - 4, - 0, - 0, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 16, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 16, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 0, - 4, - 4, - 12, - 16, - 0, - 4, - 8, - 4, - 8, - 4, - 8, - 4, - 8, - 4, - 4, - 4, - 18, - 30, - 20, - 32, - 18, - 30, - 18, - 30, - 18, - 30, - 18, - 30, - 18, - 30, - 18, - 30, - 24, - 36, - 18, - 30, - 18, - 30, - 24, - 36, - 18, - 30, - 18, - 30, - 8, - 0, - 8, - 4, - 4, - 12, - 4, - 12, - 8, - 4, - 4, - 12, - 8, - 4, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 16, - 28, - 16, - 28, - 20, - 32, - 16, - 28, - 12, - 24, - 20, - 32, - 12, - 24, - 12, - 24, - 0, - 4, - 20, - 4, - 20, - 4, - 20, - 4, - 20, - 4, - 4, - 4, - 18, - 34, - 20, - 36, - 18, - 34, - 18, - 34, - 18, - 34, - 18, - 34, - 18, - 34, - 18, - 34, - 24, - 40, - 18, - 34, - 18, - 34, - 24, - 40, - 18, - 34, - 18, - 34, - 8, - 0, - 8, - 4, - 4, - 16, - 4, - 12, - 8, - 4, - 4, - 12, - 8, - 4, - 12, - 28, - 12, - 28, - 12, - 28, - 12, - 28, - 12, - 28, - 12, - 28, - 16, - 32, - 16, - 32, - 20, - 36, - 16, - 32, - 12, - 28, - 20, - 36, - 12, - 28, - 12, - 28, - 0, - 0, - 0, - 0, - 0, - 4, - 8, - 0, - 0, - 0, - 0, + 0, /* data */ + 0, /* live */ + 2, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 0, /* label */ + 26, /* prolog */ + 0, /* arg */ + 4, /* addr */ + 8, /* addi */ + 4, /* addcr */ + 8, /* addci */ + 4, /* addxr */ + 4, /* addxi */ + 4, /* subr */ + 8, /* subi */ + 4, /* subcr */ + 8, /* subci */ + 4, /* subxr */ + 4, /* subxi */ + 4, /* mulr */ + 8, /* muli */ + 4, /* qmulr */ + 12, /* qmuli */ + 4, /* qmulr_u */ + 8, /* qmuli_u */ + 32, /* divr */ + 44, /* divi */ + 24, /* divr_u */ + 28, /* divi_u */ + 18, /* qdivr */ + 22, /* qdivi */ + 18, /* qdivr_u */ + 22, /* qdivi_u */ + 24, /* remr */ + 28, /* remi */ + 24, /* remr_u */ + 28, /* remi_u */ + 4, /* andr */ + 4, /* andi */ + 4, /* orr */ + 8, /* ori */ + 4, /* xorr */ + 8, /* xori */ + 4, /* lshr */ + 4, /* lshi */ + 4, /* rshr */ + 4, /* rshi */ + 4, /* rshr_u */ + 4, /* rshi_u */ + 4, /* negr */ + 4, /* comr */ + 14, /* ltr */ + 14, /* lti */ + 14, /* ltr_u */ + 14, /* lti_u */ + 14, /* ler */ + 14, /* lei */ + 14, /* ler_u */ + 14, /* lei_u */ + 14, /* eqr */ + 14, /* eqi */ + 14, /* ger */ + 14, /* gei */ + 14, /* ger_u */ + 14, /* gei_u */ + 14, /* gtr */ + 14, /* gti */ + 14, /* gtr_u */ + 14, /* gti_u */ + 14, /* ner */ + 14, /* nei */ + 4, /* movr */ + 8, /* movi */ + 4, /* extr_c */ + 4, /* extr_uc */ + 4, /* extr_s */ + 4, /* extr_us */ + 0, /* extr_i */ + 0, /* extr_ui */ + 4, /* htonr */ + 4, /* ldr_c */ + 12, /* ldi_c */ + 4, /* ldr_uc */ + 12, /* ldi_uc */ + 4, /* ldr_s */ + 12, /* ldi_s */ + 4, /* ldr_us */ + 12, /* ldi_us */ + 4, /* ldr_i */ + 12, /* ldi_i */ + 0, /* ldr_ui */ + 0, /* ldi_ui */ + 0, /* ldr_l */ + 0, /* ldi_l */ + 4, /* ldxr_c */ + 4, /* ldxi_c */ + 4, /* ldxr_uc */ + 4, /* ldxi_uc */ + 4, /* ldxr_s */ + 4, /* ldxi_s */ + 4, /* ldxr_us */ + 4, /* ldxi_us */ + 4, /* ldxr_i */ + 4, /* ldxi_i */ + 0, /* ldxr_ui */ + 0, /* ldxi_ui */ + 0, /* ldxr_l */ + 0, /* ldxi_l */ + 4, /* str_c */ + 12, /* sti_c */ + 4, /* str_s */ + 12, /* sti_s */ + 4, /* str_i */ + 12, /* sti_i */ + 0, /* str_l */ + 0, /* sti_l */ + 4, /* stxr_c */ + 4, /* stxi_c */ + 4, /* stxr_s */ + 4, /* stxi_s */ + 4, /* stxr_i */ + 4, /* stxi_i */ + 0, /* stxr_l */ + 0, /* stxi_l */ + 8, /* bltr */ + 8, /* blti */ + 8, /* bltr_u */ + 8, /* blti_u */ + 8, /* bler */ + 8, /* blei */ + 8, /* bler_u */ + 8, /* blei_u */ + 8, /* beqr */ + 16, /* beqi */ + 8, /* bger */ + 8, /* bgei */ + 8, /* bger_u */ + 8, /* bgei_u */ + 8, /* bgtr */ + 8, /* bgti */ + 8, /* bgtr_u */ + 8, /* bgti_u */ + 8, /* bner */ + 16, /* bnei */ + 8, /* bmsr */ + 8, /* bmsi */ + 8, /* bmcr */ + 8, /* bmci */ + 8, /* boaddr */ + 8, /* boaddi */ + 8, /* boaddr_u */ + 8, /* boaddi_u */ + 8, /* bxaddr */ + 8, /* bxaddi */ + 8, /* bxaddr_u */ + 8, /* bxaddi_u */ + 8, /* bosubr */ + 8, /* bosubi */ + 8, /* bosubr_u */ + 8, /* bosubi_u */ + 8, /* bxsubr */ + 8, /* bxsubi */ + 8, /* bxsubr_u */ + 8, /* bxsubi_u */ + 0, /* jmpr */ + 4, /* jmpi */ + 4, /* callr */ + 12, /* calli */ + 16, /* epilog */ + 0, /* arg_f */ + 4, /* addr_f */ + 8, /* addi_f */ + 4, /* subr_f */ + 8, /* subi_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 */ + 30, /* lti_f */ + 20, /* ler_f */ + 32, /* lei_f */ + 18, /* eqr_f */ + 30, /* eqi_f */ + 18, /* ger_f */ + 30, /* gei_f */ + 18, /* 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 */ + 0, /* truncr_f_l */ + 8, /* extr_f */ + 4, /* extr_d_f */ + 4, /* movr_f */ + 12, /* movi_f */ + 4, /* ldr_f */ + 12, /* ldi_f */ + 8, /* ldxr_f */ + 4, /* ldxi_f */ + 4, /* str_f */ + 12, /* sti_f */ + 8, /* stxr_f */ + 4, /* 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 */ + 0, /* arg_d */ + 4, /* addr_d */ + 20, /* addi_d */ + 4, /* subr_d */ + 20, /* subi_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, /* lti_d */ + 20, /* ler_d */ + 36, /* lei_d */ + 18, /* eqr_d */ + 34, /* eqi_d */ + 18, /* ger_d */ + 34, /* gei_d */ + 18, /* 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 */ + 0, /* truncr_d_l */ + 8, /* extr_d */ + 4, /* extr_f_d */ + 4, /* movr_d */ + 16, /* movi_d */ + 4, /* ldr_d */ + 12, /* ldi_d */ + 8, /* ldxr_d */ + 4, /* ldxi_d */ + 4, /* str_d */ + 12, /* sti_d */ + 8, /* stxr_d */ + 4, /* stxi_d */ + 12, /* bltr_d */ + 28, /* blti_d */ + 12, /* bler_d */ + 28, /* blei_d */ + 12, /* beqr_d */ + 28, /* 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, /* movr_w_f */ + 0, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 0, /* movi_f_w */ + 4, /* movr_d_ww */ + 8, /* movi_d_ww */ + 0, /* movr_d_w */ + 0, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #endif /* __ARM_PCS_VFP */ #endif /* __WORDSIZE */ #if __WORDSIZE == 32 #if !defined(__ARM_PCS_VFP) #define JIT_INSTR_MAX 90 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 18, - 0, - 4, - 8, - 4, - 8, - 4, - 4, - 4, - 8, - 4, - 8, - 4, - 4, - 4, - 8, - 4, - 12, - 4, - 8, - 40, - 44, - 40, - 44, - 34, - 38, - 34, - 38, - 40, - 44, - 40, - 44, - 4, - 4, - 4, - 8, - 4, - 8, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 4, - 8, - 4, - 4, - 4, - 4, - 0, - 0, - 4, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 0, - 0, - 0, - 0, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 0, - 0, - 0, - 0, - 4, - 12, - 4, - 12, - 4, - 12, - 0, - 0, - 4, - 4, - 4, - 4, - 4, - 4, - 0, - 0, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 16, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 16, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 0, - 4, - 4, - 12, - 12, - 0, - 38, - 38, - 38, - 38, - 38, - 38, - 38, - 38, - 12, - 12, - 34, - 36, - 40, - 36, - 40, - 36, - 40, - 36, - 40, - 36, - 40, - 40, - 44, - 66, - 74, - 66, - 74, - 66, - 74, - 66, - 74, - 66, - 74, - 70, - 78, - 40, - 44, - 66, - 74, - 32, - 0, - 32, - 38, - 8, - 12, - 8, - 16, - 8, - 8, - 8, - 16, - 8, - 8, - 40, - 40, - 40, - 44, - 40, - 44, - 40, - 44, - 40, - 44, - 40, - 44, - 40, - 44, - 40, - 44, - 68, - 76, - 40, - 44, - 40, - 44, - 68, - 76, - 40, - 44, - 40, - 44, - 0, - 50, - 52, - 50, - 52, - 50, - 52, - 50, - 52, - 20, - 20, - 42, - 44, - 46, - 44, - 46, - 44, - 46, - 44, - 46, - 44, - 46, - 48, - 50, - 82, - 86, - 82, - 86, - 82, - 86, - 82, - 86, - 82, - 86, - 86, - 90, - 48, - 50, - 82, - 86, - 36, - 0, - 36, - 38, - 16, - 20, - 16, - 24, - 20, - 16, - 16, - 24, - 20, - 16, - 48, - 50, - 48, - 50, - 48, - 50, - 48, - 50, - 48, - 50, - 48, - 50, - 48, - 50, - 48, - 50, - 84, - 88, - 48, - 50, - 48, - 50, - 84, - 88, - 48, - 50, - 48, - 50, - 4, - 8, - 0, - 6, - 8, - 12, - 12, - 0, - 0, - 0, - 0, + 0, /* data */ + 0, /* live */ + 2, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 0, /* label */ + 18, /* prolog */ + 0, /* arg */ + 4, /* addr */ + 8, /* addi */ + 4, /* addcr */ + 8, /* addci */ + 4, /* addxr */ + 4, /* addxi */ + 4, /* subr */ + 8, /* subi */ + 4, /* subcr */ + 8, /* subci */ + 4, /* subxr */ + 4, /* subxi */ + 4, /* mulr */ + 8, /* muli */ + 4, /* qmulr */ + 12, /* qmuli */ + 4, /* qmulr_u */ + 8, /* qmuli_u */ + 40, /* divr */ + 44, /* divi */ + 40, /* divr_u */ + 44, /* divi_u */ + 34, /* qdivr */ + 38, /* qdivi */ + 34, /* qdivr_u */ + 38, /* qdivi_u */ + 40, /* remr */ + 44, /* remi */ + 40, /* remr_u */ + 44, /* remi_u */ + 4, /* andr */ + 4, /* andi */ + 4, /* orr */ + 8, /* ori */ + 4, /* xorr */ + 8, /* xori */ + 4, /* lshr */ + 4, /* lshi */ + 4, /* rshr */ + 4, /* rshi */ + 4, /* rshr_u */ + 4, /* rshi_u */ + 4, /* negr */ + 4, /* comr */ + 14, /* ltr */ + 14, /* lti */ + 14, /* ltr_u */ + 14, /* lti_u */ + 14, /* ler */ + 14, /* lei */ + 14, /* ler_u */ + 14, /* lei_u */ + 14, /* eqr */ + 14, /* eqi */ + 14, /* ger */ + 14, /* gei */ + 14, /* ger_u */ + 14, /* gei_u */ + 14, /* gtr */ + 14, /* gti */ + 14, /* gtr_u */ + 14, /* gti_u */ + 14, /* ner */ + 14, /* nei */ + 4, /* movr */ + 8, /* movi */ + 4, /* extr_c */ + 4, /* extr_uc */ + 4, /* extr_s */ + 4, /* extr_us */ + 0, /* extr_i */ + 0, /* extr_ui */ + 4, /* htonr */ + 4, /* ldr_c */ + 12, /* ldi_c */ + 4, /* ldr_uc */ + 12, /* ldi_uc */ + 4, /* ldr_s */ + 12, /* ldi_s */ + 4, /* ldr_us */ + 12, /* ldi_us */ + 4, /* ldr_i */ + 12, /* ldi_i */ + 0, /* ldr_ui */ + 0, /* ldi_ui */ + 0, /* ldr_l */ + 0, /* ldi_l */ + 4, /* ldxr_c */ + 4, /* ldxi_c */ + 4, /* ldxr_uc */ + 4, /* ldxi_uc */ + 4, /* ldxr_s */ + 4, /* ldxi_s */ + 4, /* ldxr_us */ + 4, /* ldxi_us */ + 4, /* ldxr_i */ + 4, /* ldxi_i */ + 0, /* ldxr_ui */ + 0, /* ldxi_ui */ + 0, /* ldxr_l */ + 0, /* ldxi_l */ + 4, /* str_c */ + 12, /* sti_c */ + 4, /* str_s */ + 12, /* sti_s */ + 4, /* str_i */ + 12, /* sti_i */ + 0, /* str_l */ + 0, /* sti_l */ + 4, /* stxr_c */ + 4, /* stxi_c */ + 4, /* stxr_s */ + 4, /* stxi_s */ + 4, /* stxr_i */ + 4, /* stxi_i */ + 0, /* stxr_l */ + 0, /* stxi_l */ + 8, /* bltr */ + 8, /* blti */ + 8, /* bltr_u */ + 8, /* blti_u */ + 8, /* bler */ + 8, /* blei */ + 8, /* bler_u */ + 8, /* blei_u */ + 8, /* beqr */ + 16, /* beqi */ + 8, /* bger */ + 8, /* bgei */ + 8, /* bger_u */ + 8, /* bgei_u */ + 8, /* bgtr */ + 8, /* bgti */ + 8, /* bgtr_u */ + 8, /* bgti_u */ + 8, /* bner */ + 16, /* bnei */ + 8, /* bmsr */ + 8, /* bmsi */ + 8, /* bmcr */ + 8, /* bmci */ + 8, /* boaddr */ + 8, /* boaddi */ + 8, /* boaddr_u */ + 8, /* boaddi_u */ + 8, /* bxaddr */ + 8, /* bxaddi */ + 8, /* bxaddr_u */ + 8, /* bxaddi_u */ + 8, /* bosubr */ + 8, /* bosubi */ + 8, /* bosubr_u */ + 8, /* bosubi_u */ + 8, /* bxsubr */ + 8, /* bxsubi */ + 8, /* bxsubr_u */ + 8, /* bxsubi_u */ + 0, /* jmpr */ + 4, /* jmpi */ + 4, /* callr */ + 12, /* calli */ + 12, /* epilog */ + 0, /* arg_f */ + 38, /* addr_f */ + 38, /* addi_f */ + 38, /* subr_f */ + 38, /* subi_f */ + 38, /* mulr_f */ + 38, /* muli_f */ + 38, /* divr_f */ + 38, /* divi_f */ + 12, /* negr_f */ + 12, /* absr_f */ + 34, /* sqrtr_f */ + 36, /* ltr_f */ + 40, /* lti_f */ + 36, /* ler_f */ + 40, /* lei_f */ + 36, /* eqr_f */ + 40, /* eqi_f */ + 36, /* ger_f */ + 40, /* gei_f */ + 36, /* gtr_f */ + 40, /* gti_f */ + 40, /* ner_f */ + 44, /* nei_f */ + 66, /* unltr_f */ + 74, /* unlti_f */ + 66, /* unler_f */ + 74, /* unlei_f */ + 66, /* uneqr_f */ + 74, /* uneqi_f */ + 66, /* unger_f */ + 74, /* ungei_f */ + 66, /* ungtr_f */ + 74, /* ungti_f */ + 70, /* ltgtr_f */ + 78, /* ltgti_f */ + 40, /* ordr_f */ + 44, /* ordi_f */ + 66, /* unordr_f */ + 74, /* unordi_f */ + 32, /* truncr_f_i */ + 0, /* truncr_f_l */ + 32, /* extr_f */ + 38, /* extr_d_f */ + 8, /* movr_f */ + 12, /* movi_f */ + 8, /* ldr_f */ + 16, /* ldi_f */ + 8, /* ldxr_f */ + 8, /* ldxi_f */ + 8, /* str_f */ + 16, /* sti_f */ + 8, /* stxr_f */ + 8, /* stxi_f */ + 40, /* bltr_f */ + 40, /* blti_f */ + 40, /* bler_f */ + 44, /* blei_f */ + 40, /* beqr_f */ + 44, /* beqi_f */ + 40, /* bger_f */ + 44, /* bgei_f */ + 40, /* bgtr_f */ + 44, /* bgti_f */ + 40, /* bner_f */ + 44, /* bnei_f */ + 40, /* bunltr_f */ + 44, /* bunlti_f */ + 40, /* bunler_f */ + 44, /* bunlei_f */ + 68, /* buneqr_f */ + 76, /* buneqi_f */ + 40, /* bunger_f */ + 44, /* bungei_f */ + 40, /* bungtr_f */ + 44, /* bungti_f */ + 68, /* bltgtr_f */ + 76, /* bltgti_f */ + 40, /* bordr_f */ + 44, /* bordi_f */ + 40, /* bunordr_f */ + 44, /* bunordi_f */ + 0, /* arg_d */ + 50, /* addr_d */ + 52, /* addi_d */ + 50, /* subr_d */ + 52, /* subi_d */ + 50, /* mulr_d */ + 52, /* muli_d */ + 50, /* divr_d */ + 52, /* divi_d */ + 20, /* negr_d */ + 20, /* absr_d */ + 42, /* sqrtr_d */ + 44, /* ltr_d */ + 46, /* lti_d */ + 44, /* ler_d */ + 46, /* lei_d */ + 44, /* eqr_d */ + 46, /* eqi_d */ + 44, /* ger_d */ + 46, /* gei_d */ + 44, /* gtr_d */ + 46, /* gti_d */ + 48, /* ner_d */ + 50, /* nei_d */ + 82, /* unltr_d */ + 86, /* unlti_d */ + 82, /* unler_d */ + 86, /* unlei_d */ + 82, /* uneqr_d */ + 86, /* uneqi_d */ + 82, /* unger_d */ + 86, /* ungei_d */ + 82, /* ungtr_d */ + 86, /* ungti_d */ + 86, /* ltgtr_d */ + 90, /* ltgti_d */ + 48, /* ordr_d */ + 50, /* ordi_d */ + 82, /* unordr_d */ + 86, /* unordi_d */ + 36, /* truncr_d_i */ + 0, /* truncr_d_l */ + 36, /* extr_d */ + 38, /* extr_f_d */ + 16, /* movr_d */ + 20, /* movi_d */ + 16, /* ldr_d */ + 24, /* ldi_d */ + 20, /* ldxr_d */ + 16, /* ldxi_d */ + 16, /* str_d */ + 24, /* sti_d */ + 20, /* stxr_d */ + 16, /* stxi_d */ + 48, /* bltr_d */ + 50, /* blti_d */ + 48, /* bler_d */ + 50, /* blei_d */ + 48, /* beqr_d */ + 50, /* beqi_d */ + 48, /* bger_d */ + 50, /* bgei_d */ + 48, /* bgtr_d */ + 50, /* bgti_d */ + 48, /* bner_d */ + 50, /* bnei_d */ + 48, /* bunltr_d */ + 50, /* bunlti_d */ + 48, /* bunler_d */ + 50, /* bunlei_d */ + 84, /* buneqr_d */ + 88, /* buneqi_d */ + 48, /* bunger_d */ + 50, /* bungei_d */ + 48, /* bungtr_d */ + 50, /* bungti_d */ + 84, /* bltgtr_d */ + 88, /* bltgti_d */ + 48, /* bordr_d */ + 50, /* bordi_d */ + 48, /* bunordr_d */ + 50, /* bunordi_d */ + 4, /* movr_w_f */ + 8, /* movr_ww_d */ + 0, /* movr_w_d */ + 6, /* movr_f_w */ + 8, /* movi_f_w */ + 12, /* movr_d_ww */ + 12, /* movi_d_ww */ + 0, /* movr_d_w */ + 0, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #endif /* __ARM_PCS_VFP */ #endif /* __WORDSIZE */ diff --git a/lib/jit_hppa-sz.c b/lib/jit_hppa-sz.c index f2b191832..2c6916f8a 100644 --- a/lib/jit_hppa-sz.c +++ b/lib/jit_hppa-sz.c @@ -1,351 +1,351 @@ #if __WORDSIZE == 32 #define JIT_INSTR_MAX 64 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 64, - 0, - 4, - 12, - 4, - 12, - 4, - 8, - 4, - 12, - 4, - 12, - 4, - 8, - 28, - 36, - 40, - 44, - 32, - 40, - 36, - 40, - 36, - 40, - 40, - 40, - 40, - 40, - 36, - 40, - 36, - 40, - 4, - 12, - 4, - 12, - 4, - 12, - 12, - 4, - 12, - 4, - 12, - 4, - 4, - 4, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 12, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 4, - 8, - 4, - 4, - 4, - 4, - 0, - 0, - 4, - 8, - 12, - 4, - 8, - 8, - 12, - 4, - 8, - 4, - 8, - 0, - 0, - 0, - 0, - 8, - 8, - 4, - 4, - 8, - 8, - 4, - 4, - 4, - 4, - 0, - 0, - 0, - 0, - 4, - 8, - 4, - 8, - 4, - 8, - 0, - 0, - 8, - 4, - 8, - 4, - 8, - 4, - 0, - 0, - 8, - 8, - 8, - 8, - 8, - 12, - 8, - 8, - 8, - 16, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 16, - 12, - 16, - 12, - 16, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 12, - 16, - 16, - 20, - 12, - 16, - 16, - 20, - 0, - 12, - 40, - 44, - 64, - 0, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 4, - 4, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 12, - 0, - 12, - 4, - 4, - 12, - 4, - 12, - 4, - 4, - 4, - 12, - 8, - 4, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 0, - 4, - 24, - 4, - 24, - 4, - 24, - 4, - 24, - 4, - 4, - 4, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 12, - 0, - 12, - 4, - 4, - 20, - 4, - 12, - 4, - 4, - 4, - 12, - 8, - 4, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, /* data */ + 0, /* live */ + 0, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 0, /* label */ + 64, /* prolog */ + 0, /* arg */ + 4, /* addr */ + 12, /* addi */ + 4, /* addcr */ + 12, /* addci */ + 4, /* addxr */ + 8, /* addxi */ + 4, /* subr */ + 12, /* subi */ + 4, /* subcr */ + 12, /* subci */ + 4, /* subxr */ + 8, /* subxi */ + 28, /* mulr */ + 36, /* muli */ + 40, /* qmulr */ + 44, /* qmuli */ + 32, /* qmulr_u */ + 40, /* 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 */ + 4, /* orr */ + 12, /* ori */ + 4, /* xorr */ + 12, /* xori */ + 12, /* lshr */ + 4, /* lshi */ + 12, /* rshr */ + 4, /* rshi */ + 12, /* rshr_u */ + 4, /* rshi_u */ + 4, /* negr */ + 4, /* comr */ + 8, /* ltr */ + 8, /* lti */ + 8, /* ltr_u */ + 8, /* lti_u */ + 8, /* ler */ + 8, /* lei */ + 8, /* ler_u */ + 8, /* lei_u */ + 8, /* eqr */ + 12, /* eqi */ + 8, /* ger */ + 8, /* gei */ + 8, /* ger_u */ + 8, /* gei_u */ + 8, /* gtr */ + 8, /* gti */ + 8, /* gtr_u */ + 8, /* gti_u */ + 8, /* ner */ + 8, /* nei */ + 4, /* movr */ + 8, /* movi */ + 4, /* extr_c */ + 4, /* extr_uc */ + 4, /* extr_s */ + 4, /* extr_us */ + 0, /* extr_i */ + 0, /* extr_ui */ + 4, /* htonr */ + 8, /* ldr_c */ + 12, /* ldi_c */ + 4, /* ldr_uc */ + 8, /* ldi_uc */ + 8, /* ldr_s */ + 12, /* ldi_s */ + 4, /* ldr_us */ + 8, /* ldi_us */ + 4, /* ldr_i */ + 8, /* ldi_i */ + 0, /* ldr_ui */ + 0, /* ldi_ui */ + 0, /* ldr_l */ + 0, /* ldi_l */ + 8, /* ldxr_c */ + 8, /* ldxi_c */ + 4, /* ldxr_uc */ + 4, /* ldxi_uc */ + 8, /* ldxr_s */ + 8, /* ldxi_s */ + 4, /* ldxr_us */ + 4, /* ldxi_us */ + 4, /* ldxr_i */ + 4, /* ldxi_i */ + 0, /* ldxr_ui */ + 0, /* ldxi_ui */ + 0, /* ldxr_l */ + 0, /* ldxi_l */ + 4, /* str_c */ + 8, /* sti_c */ + 4, /* str_s */ + 8, /* sti_s */ + 4, /* str_i */ + 8, /* sti_i */ + 0, /* str_l */ + 0, /* sti_l */ + 8, /* stxr_c */ + 4, /* stxi_c */ + 8, /* stxr_s */ + 4, /* stxi_s */ + 8, /* stxr_i */ + 4, /* stxi_i */ + 0, /* stxr_l */ + 0, /* stxi_l */ + 8, /* bltr */ + 8, /* blti */ + 8, /* bltr_u */ + 8, /* blti_u */ + 8, /* bler */ + 12, /* blei */ + 8, /* bler_u */ + 8, /* blei_u */ + 8, /* beqr */ + 16, /* beqi */ + 8, /* bger */ + 8, /* bgei */ + 8, /* bger_u */ + 8, /* bgei_u */ + 8, /* bgtr */ + 8, /* bgti */ + 8, /* bgtr_u */ + 8, /* bgti_u */ + 8, /* bner */ + 16, /* bnei */ + 12, /* bmsr */ + 16, /* bmsi */ + 12, /* bmcr */ + 16, /* bmci */ + 8, /* boaddr */ + 8, /* boaddi */ + 8, /* boaddr_u */ + 8, /* boaddi_u */ + 8, /* bxaddr */ + 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 */ + 0, /* jmpr */ + 12, /* jmpi */ + 40, /* callr */ + 44, /* calli */ + 64, /* epilog */ + 0, /* arg_f */ + 4, /* addr_f */ + 16, /* addi_f */ + 4, /* subr_f */ + 16, /* subi_f */ + 4, /* mulr_f */ + 16, /* muli_f */ + 4, /* divr_f */ + 16, /* divi_f */ + 4, /* negr_f */ + 4, /* absr_f */ + 4, /* sqrtr_f */ + 16, /* ltr_f */ + 28, /* lti_f */ + 16, /* ler_f */ + 28, /* lei_f */ + 16, /* eqr_f */ + 28, /* eqi_f */ + 16, /* ger_f */ + 28, /* gei_f */ + 16, /* gtr_f */ + 28, /* 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 */ + 16, /* unordr_f */ + 28, /* unordi_f */ + 12, /* truncr_f_i */ + 0, /* truncr_f_l */ + 12, /* extr_f */ + 4, /* extr_d_f */ + 4, /* movr_f */ + 12, /* movi_f */ + 4, /* ldr_f */ + 12, /* ldi_f */ + 4, /* ldxr_f */ + 4, /* ldxi_f */ + 4, /* str_f */ + 12, /* sti_f */ + 8, /* stxr_f */ + 4, /* stxi_f */ + 16, /* bltr_f */ + 28, /* blti_f */ + 16, /* bler_f */ + 28, /* blei_f */ + 16, /* beqr_f */ + 28, /* beqi_f */ + 16, /* bger_f */ + 28, /* bgei_f */ + 16, /* bgtr_f */ + 28, /* bgti_f */ + 16, /* bner_f */ + 28, /* bnei_f */ + 16, /* bunltr_f */ + 28, /* bunlti_f */ + 16, /* bunler_f */ + 28, /* bunlei_f */ + 16, /* buneqr_f */ + 28, /* buneqi_f */ + 16, /* bunger_f */ + 28, /* bungei_f */ + 16, /* bungtr_f */ + 28, /* bungti_f */ + 16, /* bltgtr_f */ + 28, /* bltgti_f */ + 16, /* bordr_f */ + 28, /* bordi_f */ + 16, /* bunordr_f */ + 28, /* bunordi_f */ + 0, /* arg_d */ + 4, /* addr_d */ + 24, /* addi_d */ + 4, /* subr_d */ + 24, /* subi_d */ + 4, /* mulr_d */ + 24, /* muli_d */ + 4, /* divr_d */ + 24, /* divi_d */ + 4, /* negr_d */ + 4, /* absr_d */ + 4, /* sqrtr_d */ + 16, /* ltr_d */ + 36, /* lti_d */ + 16, /* ler_d */ + 36, /* lei_d */ + 16, /* eqr_d */ + 36, /* eqi_d */ + 16, /* ger_d */ + 36, /* gei_d */ + 16, /* gtr_d */ + 36, /* 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 */ + 16, /* unordr_d */ + 36, /* unordi_d */ + 12, /* truncr_d_i */ + 0, /* truncr_d_l */ + 12, /* extr_d */ + 4, /* extr_f_d */ + 4, /* movr_d */ + 20, /* movi_d */ + 4, /* ldr_d */ + 12, /* ldi_d */ + 4, /* ldxr_d */ + 4, /* ldxi_d */ + 4, /* str_d */ + 12, /* sti_d */ + 8, /* stxr_d */ + 4, /* stxi_d */ + 16, /* bltr_d */ + 36, /* blti_d */ + 16, /* bler_d */ + 36, /* blei_d */ + 16, /* beqr_d */ + 36, /* beqi_d */ + 16, /* bger_d */ + 36, /* bgei_d */ + 16, /* bgtr_d */ + 36, /* bgti_d */ + 16, /* bner_d */ + 36, /* bnei_d */ + 16, /* bunltr_d */ + 36, /* bunlti_d */ + 16, /* bunler_d */ + 36, /* bunlei_d */ + 16, /* buneqr_d */ + 36, /* buneqi_d */ + 16, /* bunger_d */ + 36, /* bungei_d */ + 16, /* bungtr_d */ + 36, /* bungti_d */ + 16, /* bltgtr_d */ + 36, /* bltgti_d */ + 16, /* bordr_d */ + 36, /* bordi_d */ + 16, /* bunordr_d */ + 36, /* bunordi_d */ + 0, /* movr_w_f */ + 0, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 0, /* movi_f_w */ + 0, /* movr_d_ww */ + 0, /* movi_d_ww */ + 0, /* movr_d_w */ + 0, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #endif /* __WORDSIZE */ diff --git a/lib/jit_ia64-sz.c b/lib/jit_ia64-sz.c index 5d8850099..4711f6160 100644 --- a/lib/jit_ia64-sz.c +++ b/lib/jit_ia64-sz.c @@ -1,351 +1,351 @@ #if __WORDSIZE == 64 #define JIT_INSTR_MAX 144 - 0, - 0, - 0, - 0, - 0, - 16, - 16, - 48, - 128, - 0, - 16, - 32, - 48, - 48, - 64, - 64, - 16, - 32, - 48, - 48, - 64, - 64, - 32, - 48, - 96, - 80, - 96, - 80, - 64, - 80, - 64, - 80, - 128, - 112, - 128, - 112, - 64, - 80, - 64, - 80, - 16, - 32, - 16, - 32, - 16, - 32, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 0, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 32, - 16, - 16, - 16, - 16, - 16, - 16, - 0, - 16, - 32, - 0, - 16, - 16, - 32, - 0, - 16, - 16, - 32, - 0, - 16, - 16, - 16, - 32, - 48, - 16, - 32, - 32, - 48, - 16, - 32, - 32, - 48, - 16, - 32, - 16, - 32, - 16, - 32, - 0, - 32, - 16, - 32, - 0, - 32, - 16, - 16, - 32, - 16, - 16, - 16, - 32, - 16, - 16, - 16, - 16, - 32, - 32, - 32, - 32, - 16, - 64, - 64, - 32, - 48, - 32, - 16, - 16, - 16, - 16, - 16, - 64, - 64, - 32, - 32, - 32, - 32, - 112, - 112, - 64, - 64, - 112, - 112, - 64, - 64, - 112, - 112, - 64, - 64, - 112, - 112, - 64, - 64, - 0, - 48, - 32, - 64, - 144, - 0, - 0, - 32, - 16, - 16, - 0, - 16, - 144, - 144, - 16, - 16, - 80, - 16, - 48, - 16, - 48, - 16, - 48, - 16, - 48, - 16, - 48, - 16, - 48, - 16, - 48, - 16, - 48, - 48, - 80, - 16, - 48, - 16, - 48, - 48, - 80, - 16, - 48, - 16, - 48, - 32, - 32, - 32, - 16, - 16, - 48, - 16, - 16, - 0, - 32, - 16, - 16, - 16, - 16, - 32, - 64, - 48, - 64, - 64, - 96, - 48, - 64, - 32, - 64, - 48, - 64, - 48, - 64, - 48, - 64, - 112, - 144, - 48, - 64, - 48, - 64, - 96, - 128, - 48, - 64, - 32, - 64, - 0, - 0, - 32, - 16, - 16, - 0, - 16, - 128, - 144, - 16, - 16, - 80, - 16, - 48, - 16, - 48, - 16, - 48, - 16, - 48, - 16, - 48, - 16, - 48, - 16, - 48, - 16, - 48, - 48, - 80, - 16, - 48, - 16, - 48, - 48, - 80, - 16, - 48, - 16, - 48, - 32, - 32, - 32, - 16, - 16, - 48, - 16, - 16, - 0, - 32, - 16, - 16, - 16, - 16, - 32, - 64, - 48, - 64, - 64, - 96, - 48, - 80, - 32, - 64, - 48, - 64, - 48, - 64, - 48, - 64, - 112, - 144, - 48, - 64, - 48, - 64, - 96, - 128, - 48, - 64, - 32, - 64, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 16, - 32, - 0, - 0, + 0, /* data */ + 0, /* live */ + 0, /* align */ + 0, /* save */ + 0, /* load */ + 16, /* #name */ + 16, /* #note */ + 48, /* label */ + 128, /* prolog */ + 0, /* arg */ + 16, /* addr */ + 32, /* addi */ + 48, /* addcr */ + 48, /* addci */ + 64, /* addxr */ + 64, /* addxi */ + 16, /* subr */ + 32, /* subi */ + 48, /* subcr */ + 48, /* subci */ + 64, /* subxr */ + 64, /* subxi */ + 32, /* mulr */ + 48, /* muli */ + 96, /* qmulr */ + 80, /* qmuli */ + 96, /* qmulr_u */ + 80, /* qmuli_u */ + 64, /* divr */ + 80, /* divi */ + 64, /* divr_u */ + 80, /* divi_u */ + 128, /* qdivr */ + 112, /* qdivi */ + 128, /* qdivr_u */ + 112, /* qdivi_u */ + 64, /* remr */ + 80, /* remi */ + 64, /* remr_u */ + 80, /* remi_u */ + 16, /* andr */ + 32, /* andi */ + 16, /* orr */ + 32, /* ori */ + 16, /* xorr */ + 32, /* xori */ + 16, /* lshr */ + 16, /* lshi */ + 16, /* rshr */ + 16, /* rshi */ + 16, /* rshr_u */ + 16, /* rshi_u */ + 16, /* negr */ + 0, /* 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 */ + 16, /* movr */ + 32, /* movi */ + 16, /* extr_c */ + 16, /* extr_uc */ + 16, /* extr_s */ + 16, /* extr_us */ + 16, /* extr_i */ + 16, /* extr_ui */ + 0, /* htonr */ + 16, /* ldr_c */ + 32, /* ldi_c */ + 0, /* ldr_uc */ + 16, /* ldi_uc */ + 16, /* ldr_s */ + 32, /* ldi_s */ + 0, /* ldr_us */ + 16, /* ldi_us */ + 16, /* ldr_i */ + 32, /* ldi_i */ + 0, /* ldr_ui */ + 16, /* ldi_ui */ + 16, /* ldr_l */ + 16, /* ldi_l */ + 32, /* ldxr_c */ + 48, /* ldxi_c */ + 16, /* ldxr_uc */ + 32, /* ldxi_uc */ + 32, /* ldxr_s */ + 48, /* ldxi_s */ + 16, /* ldxr_us */ + 32, /* ldxi_us */ + 32, /* ldxr_i */ + 48, /* ldxi_i */ + 16, /* ldxr_ui */ + 32, /* ldxi_ui */ + 16, /* ldxr_l */ + 32, /* ldxi_l */ + 16, /* str_c */ + 32, /* sti_c */ + 0, /* str_s */ + 32, /* sti_s */ + 16, /* str_i */ + 32, /* sti_i */ + 0, /* str_l */ + 32, /* sti_l */ + 16, /* stxr_c */ + 16, /* stxi_c */ + 32, /* stxr_s */ + 16, /* stxi_s */ + 16, /* stxr_i */ + 16, /* stxi_i */ + 32, /* stxr_l */ + 16, /* stxi_l */ + 16, /* bltr */ + 16, /* blti */ + 16, /* bltr_u */ + 32, /* blti_u */ + 32, /* bler */ + 32, /* blei */ + 32, /* bler_u */ + 16, /* blei_u */ + 64, /* beqr */ + 64, /* beqi */ + 32, /* bger */ + 48, /* bgei */ + 32, /* bger_u */ + 16, /* bgei_u */ + 16, /* bgtr */ + 16, /* bgti */ + 16, /* bgtr_u */ + 16, /* bgti_u */ + 64, /* bner */ + 64, /* bnei */ + 32, /* bmsr */ + 32, /* bmsi */ + 32, /* bmcr */ + 32, /* bmci */ + 112, /* boaddr */ + 112, /* boaddi */ + 64, /* boaddr_u */ + 64, /* boaddi_u */ + 112, /* bxaddr */ + 112, /* bxaddi */ + 64, /* bxaddr_u */ + 64, /* bxaddi_u */ + 112, /* bosubr */ + 112, /* bosubi */ + 64, /* bosubr_u */ + 64, /* bosubi_u */ + 112, /* bxsubr */ + 112, /* bxsubi */ + 64, /* bxsubr_u */ + 64, /* bxsubi_u */ + 0, /* jmpr */ + 48, /* jmpi */ + 32, /* callr */ + 64, /* calli */ + 144, /* epilog */ + 0, /* arg_f */ + 0, /* addr_f */ + 32, /* addi_f */ + 16, /* subr_f */ + 16, /* subi_f */ + 0, /* mulr_f */ + 16, /* muli_f */ + 144, /* divr_f */ + 144, /* divi_f */ + 16, /* negr_f */ + 16, /* absr_f */ + 80, /* sqrtr_f */ + 16, /* ltr_f */ + 48, /* lti_f */ + 16, /* ler_f */ + 48, /* lei_f */ + 16, /* eqr_f */ + 48, /* eqi_f */ + 16, /* ger_f */ + 48, /* gei_f */ + 16, /* gtr_f */ + 48, /* gti_f */ + 16, /* ner_f */ + 48, /* nei_f */ + 16, /* unltr_f */ + 48, /* unlti_f */ + 16, /* unler_f */ + 48, /* unlei_f */ + 48, /* uneqr_f */ + 80, /* uneqi_f */ + 16, /* unger_f */ + 48, /* ungei_f */ + 16, /* ungtr_f */ + 48, /* ungti_f */ + 48, /* ltgtr_f */ + 80, /* ltgti_f */ + 16, /* ordr_f */ + 48, /* ordi_f */ + 16, /* unordr_f */ + 48, /* unordi_f */ + 32, /* truncr_f_i */ + 32, /* truncr_f_l */ + 32, /* extr_f */ + 16, /* extr_d_f */ + 16, /* movr_f */ + 48, /* movi_f */ + 16, /* ldr_f */ + 16, /* ldi_f */ + 0, /* ldxr_f */ + 32, /* ldxi_f */ + 16, /* str_f */ + 16, /* sti_f */ + 16, /* stxr_f */ + 16, /* stxi_f */ + 32, /* bltr_f */ + 64, /* blti_f */ + 48, /* bler_f */ + 64, /* blei_f */ + 64, /* beqr_f */ + 96, /* beqi_f */ + 48, /* bger_f */ + 64, /* bgei_f */ + 32, /* bgtr_f */ + 64, /* bgti_f */ + 48, /* bner_f */ + 64, /* bnei_f */ + 48, /* bunltr_f */ + 64, /* bunlti_f */ + 48, /* bunler_f */ + 64, /* bunlei_f */ + 112, /* buneqr_f */ + 144, /* buneqi_f */ + 48, /* bunger_f */ + 64, /* bungei_f */ + 48, /* bungtr_f */ + 64, /* bungti_f */ + 96, /* bltgtr_f */ + 128, /* bltgti_f */ + 48, /* bordr_f */ + 64, /* bordi_f */ + 32, /* bunordr_f */ + 64, /* bunordi_f */ + 0, /* arg_d */ + 0, /* addr_d */ + 32, /* addi_d */ + 16, /* subr_d */ + 16, /* subi_d */ + 0, /* mulr_d */ + 16, /* muli_d */ + 128, /* divr_d */ + 144, /* divi_d */ + 16, /* negr_d */ + 16, /* absr_d */ + 80, /* 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 */ + 48, /* uneqr_d */ + 80, /* uneqi_d */ + 16, /* unger_d */ + 48, /* ungei_d */ + 16, /* ungtr_d */ + 48, /* ungti_d */ + 48, /* ltgtr_d */ + 80, /* ltgti_d */ + 16, /* ordr_d */ + 48, /* ordi_d */ + 16, /* unordr_d */ + 48, /* unordi_d */ + 32, /* truncr_d_i */ + 32, /* truncr_d_l */ + 32, /* extr_d */ + 16, /* extr_f_d */ + 16, /* movr_d */ + 48, /* movi_d */ + 16, /* ldr_d */ + 16, /* ldi_d */ + 0, /* ldxr_d */ + 32, /* ldxi_d */ + 16, /* str_d */ + 16, /* sti_d */ + 16, /* stxr_d */ + 16, /* stxi_d */ + 32, /* bltr_d */ + 64, /* blti_d */ + 48, /* bler_d */ + 64, /* blei_d */ + 64, /* beqr_d */ + 96, /* beqi_d */ + 48, /* bger_d */ + 80, /* bgei_d */ + 32, /* bgtr_d */ + 64, /* bgti_d */ + 48, /* bner_d */ + 64, /* bnei_d */ + 48, /* bunltr_d */ + 64, /* bunlti_d */ + 48, /* bunler_d */ + 64, /* bunlei_d */ + 112, /* buneqr_d */ + 144, /* buneqi_d */ + 48, /* bunger_d */ + 64, /* bungei_d */ + 48, /* bungtr_d */ + 64, /* bungti_d */ + 96, /* bltgtr_d */ + 128, /* bltgti_d */ + 48, /* bordr_d */ + 64, /* bordi_d */ + 32, /* bunordr_d */ + 64, /* bunordi_d */ + 0, /* movr_w_f */ + 0, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 0, /* movi_f_w */ + 0, /* movr_d_ww */ + 0, /* movi_d_ww */ + 16, /* movr_d_w */ + 32, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #endif /* __WORDSIZE */ diff --git a/lib/jit_mips-sz.c b/lib/jit_mips-sz.c index 9b5b57b29..2efe8f822 100644 --- a/lib/jit_mips-sz.c +++ b/lib/jit_mips-sz.c @@ -2,1056 +2,1056 @@ #if __WORDSIZE == 32 #if NEW_ABI #define JIT_INSTR_MAX 44 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 44, - 0, - 4, - 12, - 12, - 20, - 28, - 28, - 4, - 12, - 12, - 20, - 28, - 28, - 8, - 16, - 12, - 20, - 12, - 20, - 8, - 16, - 8, - 16, - 12, - 16, - 12, - 16, - 8, - 16, - 8, - 16, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 8, - 4, - 4, - 4, - 4, - 8, - 12, - 8, - 12, - 12, - 12, - 8, - 12, - 8, - 12, - 4, - 8, - 4, - 8, - 8, - 8, - 4, - 8, - 8, - 4, - 8, - 4, - 0, - 0, - 4, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 0, - 0, - 0, - 0, - 8, - 4, - 8, - 4, - 8, - 4, - 8, - 4, - 8, - 4, - 0, - 0, - 0, - 0, - 4, - 12, - 4, - 12, - 4, - 12, - 0, - 0, - 8, - 4, - 8, - 4, - 8, - 4, - 0, - 0, - 12, - 12, - 12, - 12, - 12, - 16, - 12, - 16, - 8, - 16, - 12, - 12, - 12, - 12, - 12, - 16, - 12, - 16, - 8, - 16, - 12, - 12, - 12, - 12, - 28, - 28, - 16, - 20, - 28, - 28, - 16, - 20, - 28, - 28, - 16, - 20, - 28, - 28, - 16, - 20, - 0, - 8, - 12, - 16, - 44, - 0, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 4, - 4, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 8, - 0, - 8, - 4, - 4, - 12, - 4, - 12, - 8, - 4, - 4, - 12, - 8, - 4, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 0, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 4, - 4, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 8, - 0, - 8, - 4, - 4, - 12, - 4, - 12, - 8, - 4, - 4, - 12, - 8, - 4, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 4, - 12, - 0, - 0, + 0, /* data */ + 0, /* live */ + 0, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 0, /* label */ + 44, /* prolog */ + 0, /* arg */ + 4, /* addr */ + 12, /* addi */ + 12, /* addcr */ + 20, /* addci */ + 28, /* addxr */ + 28, /* addxi */ + 4, /* subr */ + 12, /* subi */ + 12, /* subcr */ + 20, /* subci */ + 28, /* subxr */ + 28, /* subxi */ + 8, /* mulr */ + 16, /* muli */ + 12, /* qmulr */ + 20, /* qmuli */ + 12, /* qmulr_u */ + 20, /* qmuli_u */ + 8, /* divr */ + 16, /* divi */ + 8, /* divr_u */ + 16, /* divi_u */ + 12, /* qdivr */ + 16, /* qdivi */ + 12, /* qdivr_u */ + 16, /* qdivi_u */ + 8, /* remr */ + 16, /* remi */ + 8, /* remr_u */ + 16, /* remi_u */ + 4, /* andr */ + 12, /* andi */ + 4, /* orr */ + 12, /* ori */ + 4, /* xorr */ + 12, /* xori */ + 4, /* lshr */ + 4, /* lshi */ + 4, /* rshr */ + 4, /* rshi */ + 4, /* rshr_u */ + 4, /* rshi_u */ + 4, /* negr */ + 8, /* comr */ + 4, /* ltr */ + 4, /* lti */ + 4, /* ltr_u */ + 4, /* lti_u */ + 8, /* ler */ + 12, /* lei */ + 8, /* ler_u */ + 12, /* lei_u */ + 12, /* eqr */ + 12, /* eqi */ + 8, /* ger */ + 12, /* gei */ + 8, /* ger_u */ + 12, /* gei_u */ + 4, /* gtr */ + 8, /* gti */ + 4, /* gtr_u */ + 8, /* gti_u */ + 8, /* ner */ + 8, /* nei */ + 4, /* movr */ + 8, /* movi */ + 8, /* extr_c */ + 4, /* extr_uc */ + 8, /* extr_s */ + 4, /* extr_us */ + 0, /* extr_i */ + 0, /* extr_ui */ + 4, /* htonr */ + 4, /* ldr_c */ + 12, /* ldi_c */ + 4, /* ldr_uc */ + 12, /* ldi_uc */ + 4, /* ldr_s */ + 12, /* ldi_s */ + 4, /* ldr_us */ + 12, /* ldi_us */ + 4, /* ldr_i */ + 12, /* ldi_i */ + 0, /* ldr_ui */ + 0, /* ldi_ui */ + 0, /* ldr_l */ + 0, /* ldi_l */ + 8, /* ldxr_c */ + 4, /* ldxi_c */ + 8, /* ldxr_uc */ + 4, /* ldxi_uc */ + 8, /* ldxr_s */ + 4, /* ldxi_s */ + 8, /* ldxr_us */ + 4, /* ldxi_us */ + 8, /* ldxr_i */ + 4, /* ldxi_i */ + 0, /* ldxr_ui */ + 0, /* ldxi_ui */ + 0, /* ldxr_l */ + 0, /* ldxi_l */ + 4, /* str_c */ + 12, /* sti_c */ + 4, /* str_s */ + 12, /* sti_s */ + 4, /* str_i */ + 12, /* sti_i */ + 0, /* str_l */ + 0, /* sti_l */ + 8, /* stxr_c */ + 4, /* stxi_c */ + 8, /* stxr_s */ + 4, /* stxi_s */ + 8, /* stxr_i */ + 4, /* stxi_i */ + 0, /* stxr_l */ + 0, /* stxi_l */ + 12, /* bltr */ + 12, /* blti */ + 12, /* bltr_u */ + 12, /* blti_u */ + 12, /* bler */ + 16, /* blei */ + 12, /* bler_u */ + 16, /* blei_u */ + 8, /* beqr */ + 16, /* beqi */ + 12, /* bger */ + 12, /* bgei */ + 12, /* bger_u */ + 12, /* bgei_u */ + 12, /* bgtr */ + 16, /* bgti */ + 12, /* bgtr_u */ + 16, /* bgti_u */ + 8, /* bner */ + 16, /* bnei */ + 12, /* bmsr */ + 12, /* bmsi */ + 12, /* bmcr */ + 12, /* bmci */ + 28, /* boaddr */ + 28, /* boaddi */ + 16, /* boaddr_u */ + 20, /* boaddi_u */ + 28, /* bxaddr */ + 28, /* bxaddi */ + 16, /* bxaddr_u */ + 20, /* bxaddi_u */ + 28, /* bosubr */ + 28, /* bosubi */ + 16, /* bosubr_u */ + 20, /* bosubi_u */ + 28, /* bxsubr */ + 28, /* bxsubi */ + 16, /* bxsubr_u */ + 20, /* bxsubi_u */ + 0, /* jmpr */ + 8, /* jmpi */ + 12, /* callr */ + 16, /* calli */ + 44, /* epilog */ + 0, /* arg_f */ + 4, /* addr_f */ + 16, /* addi_f */ + 4, /* subr_f */ + 16, /* subi_f */ + 4, /* mulr_f */ + 16, /* muli_f */ + 4, /* divr_f */ + 16, /* divi_f */ + 4, /* negr_f */ + 4, /* absr_f */ + 4, /* sqrtr_f */ + 16, /* ltr_f */ + 28, /* lti_f */ + 16, /* ler_f */ + 28, /* lei_f */ + 16, /* eqr_f */ + 28, /* eqi_f */ + 16, /* ger_f */ + 28, /* gei_f */ + 16, /* gtr_f */ + 28, /* 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 */ + 16, /* unordr_f */ + 28, /* unordi_f */ + 8, /* 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 */ + 8, /* ldxr_f */ + 4, /* ldxi_f */ + 4, /* str_f */ + 12, /* sti_f */ + 8, /* stxr_f */ + 4, /* 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 */ + 12, /* bunltr_f */ + 24, /* bunlti_f */ + 12, /* bunler_f */ + 24, /* bunlei_f */ + 12, /* buneqr_f */ + 24, /* buneqi_f */ + 12, /* bunger_f */ + 24, /* bungei_f */ + 12, /* bungtr_f */ + 24, /* bungti_f */ + 12, /* bltgtr_f */ + 24, /* bltgti_f */ + 12, /* bordr_f */ + 24, /* bordi_f */ + 12, /* bunordr_f */ + 24, /* bunordi_f */ + 0, /* arg_d */ + 4, /* addr_d */ + 16, /* addi_d */ + 4, /* subr_d */ + 16, /* subi_d */ + 4, /* mulr_d */ + 16, /* muli_d */ + 4, /* divr_d */ + 16, /* divi_d */ + 4, /* negr_d */ + 4, /* absr_d */ + 4, /* sqrtr_d */ + 16, /* ltr_d */ + 28, /* lti_d */ + 16, /* ler_d */ + 28, /* lei_d */ + 16, /* eqr_d */ + 28, /* eqi_d */ + 16, /* ger_d */ + 28, /* gei_d */ + 16, /* gtr_d */ + 28, /* gti_d */ + 16, /* ner_d */ + 28, /* nei_d */ + 16, /* unltr_d */ + 28, /* unlti_d */ + 16, /* unler_d */ + 28, /* unlei_d */ + 16, /* uneqr_d */ + 28, /* uneqi_d */ + 16, /* unger_d */ + 28, /* ungei_d */ + 16, /* ungtr_d */ + 28, /* ungti_d */ + 16, /* ltgtr_d */ + 28, /* ltgti_d */ + 16, /* ordr_d */ + 28, /* ordi_d */ + 16, /* unordr_d */ + 28, /* unordi_d */ + 8, /* truncr_d_i */ + 0, /* truncr_d_l */ + 8, /* extr_d */ + 4, /* extr_f_d */ + 4, /* movr_d */ + 12, /* movi_d */ + 4, /* ldr_d */ + 12, /* ldi_d */ + 8, /* ldxr_d */ + 4, /* ldxi_d */ + 4, /* str_d */ + 12, /* sti_d */ + 8, /* stxr_d */ + 4, /* stxi_d */ + 12, /* bltr_d */ + 24, /* blti_d */ + 12, /* bler_d */ + 24, /* blei_d */ + 12, /* beqr_d */ + 24, /* beqi_d */ + 12, /* bger_d */ + 24, /* bgei_d */ + 12, /* bgtr_d */ + 24, /* bgti_d */ + 12, /* bner_d */ + 24, /* bnei_d */ + 12, /* bunltr_d */ + 24, /* bunlti_d */ + 12, /* bunler_d */ + 24, /* bunlei_d */ + 12, /* buneqr_d */ + 24, /* buneqi_d */ + 12, /* bunger_d */ + 24, /* bungei_d */ + 12, /* bungtr_d */ + 24, /* bungti_d */ + 12, /* bltgtr_d */ + 24, /* bltgti_d */ + 12, /* bordr_d */ + 24, /* bordi_d */ + 12, /* bunordr_d */ + 24, /* bunordi_d */ + 0, /* movr_w_f */ + 0, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 0, /* movi_f_w */ + 0, /* movr_d_ww */ + 0, /* movi_d_ww */ + 4, /* movr_d_w */ + 12, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #endif /* NEW_ABI */ #endif /* __WORDSIZE */ #if __WORDSIZE == 32 #if !NEW_ABI #define JIT_INSTR_MAX 96 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 96, - 0, - 4, - 12, - 12, - 20, - 28, - 28, - 4, - 12, - 12, - 20, - 28, - 28, - 8, - 16, - 12, - 20, - 12, - 20, - 8, - 16, - 8, - 16, - 12, - 16, - 12, - 16, - 8, - 16, - 8, - 16, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 8, - 4, - 4, - 4, - 4, - 8, - 12, - 8, - 12, - 12, - 12, - 8, - 12, - 8, - 12, - 4, - 8, - 4, - 8, - 8, - 8, - 4, - 8, - 8, - 4, - 8, - 4, - 0, - 0, - 56, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 0, - 0, - 0, - 0, - 8, - 4, - 8, - 4, - 8, - 4, - 8, - 4, - 8, - 4, - 0, - 0, - 0, - 0, - 4, - 12, - 4, - 12, - 4, - 12, - 0, - 0, - 8, - 4, - 8, - 4, - 8, - 4, - 0, - 0, - 12, - 12, - 12, - 12, - 12, - 16, - 12, - 16, - 8, - 16, - 12, - 12, - 12, - 12, - 12, - 16, - 12, - 16, - 8, - 16, - 12, - 12, - 12, - 12, - 28, - 28, - 16, - 20, - 28, - 28, - 16, - 20, - 28, - 28, - 16, - 20, - 28, - 28, - 16, - 20, - 0, - 8, - 12, - 16, - 96, - 0, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 4, - 4, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 8, - 0, - 8, - 4, - 4, - 12, - 4, - 12, - 8, - 4, - 4, - 12, - 8, - 4, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 0, - 4, - 20, - 4, - 20, - 4, - 20, - 4, - 20, - 4, - 4, - 4, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 8, - 0, - 8, - 4, - 4, - 24, - 8, - 16, - 12, - 8, - 8, - 16, - 12, - 8, - 12, - 28, - 12, - 28, - 12, - 28, - 12, - 28, - 12, - 28, - 12, - 36, - 12, - 36, - 12, - 36, - 12, - 36, - 12, - 36, - 12, - 36, - 12, - 28, - 12, - 28, - 12, - 36, - 4, - 8, - 0, - 0, - 4, - 8, - 8, - 0, - 0, - 0, - 0, + 0, /* data */ + 0, /* live */ + 0, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 0, /* label */ + 96, /* prolog */ + 0, /* arg */ + 4, /* addr */ + 12, /* addi */ + 12, /* addcr */ + 20, /* addci */ + 28, /* addxr */ + 28, /* addxi */ + 4, /* subr */ + 12, /* subi */ + 12, /* subcr */ + 20, /* subci */ + 28, /* subxr */ + 28, /* subxi */ + 8, /* mulr */ + 16, /* muli */ + 12, /* qmulr */ + 20, /* qmuli */ + 12, /* qmulr_u */ + 20, /* qmuli_u */ + 8, /* divr */ + 16, /* divi */ + 8, /* divr_u */ + 16, /* divi_u */ + 12, /* qdivr */ + 16, /* qdivi */ + 12, /* qdivr_u */ + 16, /* qdivi_u */ + 8, /* remr */ + 16, /* remi */ + 8, /* remr_u */ + 16, /* remi_u */ + 4, /* andr */ + 12, /* andi */ + 4, /* orr */ + 12, /* ori */ + 4, /* xorr */ + 12, /* xori */ + 4, /* lshr */ + 4, /* lshi */ + 4, /* rshr */ + 4, /* rshi */ + 4, /* rshr_u */ + 4, /* rshi_u */ + 4, /* negr */ + 8, /* comr */ + 4, /* ltr */ + 4, /* lti */ + 4, /* ltr_u */ + 4, /* lti_u */ + 8, /* ler */ + 12, /* lei */ + 8, /* ler_u */ + 12, /* lei_u */ + 12, /* eqr */ + 12, /* eqi */ + 8, /* ger */ + 12, /* gei */ + 8, /* ger_u */ + 12, /* gei_u */ + 4, /* gtr */ + 8, /* gti */ + 4, /* gtr_u */ + 8, /* gti_u */ + 8, /* ner */ + 8, /* nei */ + 4, /* movr */ + 8, /* movi */ + 8, /* extr_c */ + 4, /* extr_uc */ + 8, /* extr_s */ + 4, /* extr_us */ + 0, /* extr_i */ + 0, /* extr_ui */ + 56, /* htonr */ + 4, /* ldr_c */ + 12, /* ldi_c */ + 4, /* ldr_uc */ + 12, /* ldi_uc */ + 4, /* ldr_s */ + 12, /* ldi_s */ + 4, /* ldr_us */ + 12, /* ldi_us */ + 4, /* ldr_i */ + 12, /* ldi_i */ + 0, /* ldr_ui */ + 0, /* ldi_ui */ + 0, /* ldr_l */ + 0, /* ldi_l */ + 8, /* ldxr_c */ + 4, /* ldxi_c */ + 8, /* ldxr_uc */ + 4, /* ldxi_uc */ + 8, /* ldxr_s */ + 4, /* ldxi_s */ + 8, /* ldxr_us */ + 4, /* ldxi_us */ + 8, /* ldxr_i */ + 4, /* ldxi_i */ + 0, /* ldxr_ui */ + 0, /* ldxi_ui */ + 0, /* ldxr_l */ + 0, /* ldxi_l */ + 4, /* str_c */ + 12, /* sti_c */ + 4, /* str_s */ + 12, /* sti_s */ + 4, /* str_i */ + 12, /* sti_i */ + 0, /* str_l */ + 0, /* sti_l */ + 8, /* stxr_c */ + 4, /* stxi_c */ + 8, /* stxr_s */ + 4, /* stxi_s */ + 8, /* stxr_i */ + 4, /* stxi_i */ + 0, /* stxr_l */ + 0, /* stxi_l */ + 12, /* bltr */ + 12, /* blti */ + 12, /* bltr_u */ + 12, /* blti_u */ + 12, /* bler */ + 16, /* blei */ + 12, /* bler_u */ + 16, /* blei_u */ + 8, /* beqr */ + 16, /* beqi */ + 12, /* bger */ + 12, /* bgei */ + 12, /* bger_u */ + 12, /* bgei_u */ + 12, /* bgtr */ + 16, /* bgti */ + 12, /* bgtr_u */ + 16, /* bgti_u */ + 8, /* bner */ + 16, /* bnei */ + 12, /* bmsr */ + 12, /* bmsi */ + 12, /* bmcr */ + 12, /* bmci */ + 28, /* boaddr */ + 28, /* boaddi */ + 16, /* boaddr_u */ + 20, /* boaddi_u */ + 28, /* bxaddr */ + 28, /* bxaddi */ + 16, /* bxaddr_u */ + 20, /* bxaddi_u */ + 28, /* bosubr */ + 28, /* bosubi */ + 16, /* bosubr_u */ + 20, /* bosubi_u */ + 28, /* bxsubr */ + 28, /* bxsubi */ + 16, /* bxsubr_u */ + 20, /* bxsubi_u */ + 0, /* jmpr */ + 8, /* jmpi */ + 12, /* callr */ + 16, /* calli */ + 96, /* epilog */ + 0, /* arg_f */ + 4, /* addr_f */ + 16, /* addi_f */ + 4, /* subr_f */ + 16, /* subi_f */ + 4, /* mulr_f */ + 16, /* muli_f */ + 4, /* divr_f */ + 16, /* divi_f */ + 4, /* negr_f */ + 4, /* absr_f */ + 4, /* sqrtr_f */ + 16, /* ltr_f */ + 28, /* lti_f */ + 16, /* ler_f */ + 28, /* lei_f */ + 16, /* eqr_f */ + 28, /* eqi_f */ + 16, /* ger_f */ + 28, /* gei_f */ + 16, /* gtr_f */ + 28, /* 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 */ + 16, /* unordr_f */ + 28, /* unordi_f */ + 8, /* 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 */ + 8, /* ldxr_f */ + 4, /* ldxi_f */ + 4, /* str_f */ + 12, /* sti_f */ + 8, /* stxr_f */ + 4, /* 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 */ + 12, /* bunltr_f */ + 24, /* bunlti_f */ + 12, /* bunler_f */ + 24, /* bunlei_f */ + 12, /* buneqr_f */ + 24, /* buneqi_f */ + 12, /* bunger_f */ + 24, /* bungei_f */ + 12, /* bungtr_f */ + 24, /* bungti_f */ + 12, /* bltgtr_f */ + 24, /* bltgti_f */ + 12, /* bordr_f */ + 24, /* bordi_f */ + 12, /* bunordr_f */ + 24, /* bunordi_f */ + 0, /* arg_d */ + 4, /* addr_d */ + 20, /* addi_d */ + 4, /* subr_d */ + 20, /* subi_d */ + 4, /* mulr_d */ + 20, /* muli_d */ + 4, /* divr_d */ + 20, /* divi_d */ + 4, /* negr_d */ + 4, /* absr_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 */ + 8, /* truncr_d_i */ + 0, /* truncr_d_l */ + 8, /* extr_d */ + 4, /* extr_f_d */ + 4, /* movr_d */ + 24, /* movi_d */ + 8, /* ldr_d */ + 16, /* ldi_d */ + 12, /* ldxr_d */ + 8, /* ldxi_d */ + 8, /* str_d */ + 16, /* sti_d */ + 12, /* stxr_d */ + 8, /* stxi_d */ + 12, /* bltr_d */ + 28, /* blti_d */ + 12, /* bler_d */ + 28, /* blei_d */ + 12, /* beqr_d */ + 28, /* beqi_d */ + 12, /* bger_d */ + 28, /* bgei_d */ + 12, /* bgtr_d */ + 28, /* 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 */ + 28, /* bltgti_d */ + 12, /* bordr_d */ + 28, /* bordi_d */ + 12, /* bunordr_d */ + 36, /* bunordi_d */ + 4, /* movr_w_f */ + 8, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 4, /* movi_f_w */ + 8, /* movr_d_ww */ + 8, /* movi_d_ww */ + 0, /* movr_d_w */ + 0, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #endif /* NEW_ABI */ #endif /* __WORDSIZE */ #if __WORDSIZE == 64 #define JIT_INSTR_MAX 44 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 44, - 0, - 4, - 28, - 12, - 36, - 28, - 28, - 4, - 28, - 12, - 36, - 28, - 28, - 8, - 32, - 12, - 32, - 12, - 32, - 8, - 32, - 8, - 32, - 12, - 16, - 12, - 16, - 8, - 32, - 8, - 32, - 4, - 28, - 4, - 28, - 4, - 28, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 8, - 4, - 4, - 4, - 4, - 8, - 12, - 8, - 12, - 12, - 12, - 8, - 12, - 8, - 12, - 4, - 8, - 4, - 8, - 8, - 8, - 4, - 28, - 8, - 4, - 8, - 4, - 4, - 8, - 4, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 8, - 4, - 8, - 4, - 8, - 4, - 8, - 4, - 8, - 4, - 8, - 4, - 8, - 4, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 8, - 4, - 8, - 4, - 8, - 4, - 8, - 4, - 12, - 12, - 12, - 12, - 12, - 16, - 12, - 16, - 8, - 36, - 12, - 12, - 12, - 12, - 12, - 16, - 12, - 16, - 8, - 32, - 12, - 12, - 12, - 12, - 28, - 28, - 16, - 20, - 28, - 28, - 16, - 20, - 28, - 28, - 16, - 20, - 28, - 28, - 16, - 20, - 0, - 8, - 12, - 32, - 44, - 0, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 4, - 4, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 8, - 8, - 8, - 4, - 4, - 12, - 4, - 12, - 8, - 4, - 4, - 12, - 8, - 4, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 0, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 4, - 4, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 8, - 8, - 8, - 4, - 4, - 12, - 4, - 12, - 8, - 4, - 4, - 12, - 8, - 4, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 4, - 12, - 0, - 0, + 0, /* data */ + 0, /* live */ + 4, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 0, /* label */ + 44, /* prolog */ + 0, /* arg */ + 4, /* addr */ + 28, /* addi */ + 12, /* addcr */ + 36, /* addci */ + 28, /* addxr */ + 28, /* addxi */ + 4, /* subr */ + 28, /* subi */ + 12, /* subcr */ + 36, /* subci */ + 28, /* subxr */ + 28, /* subxi */ + 8, /* mulr */ + 32, /* muli */ + 12, /* qmulr */ + 32, /* qmuli */ + 12, /* qmulr_u */ + 32, /* qmuli_u */ + 8, /* divr */ + 32, /* divi */ + 8, /* divr_u */ + 32, /* divi_u */ + 12, /* qdivr */ + 16, /* qdivi */ + 12, /* qdivr_u */ + 16, /* qdivi_u */ + 8, /* remr */ + 32, /* remi */ + 8, /* remr_u */ + 32, /* remi_u */ + 4, /* andr */ + 28, /* andi */ + 4, /* orr */ + 28, /* ori */ + 4, /* xorr */ + 28, /* xori */ + 4, /* lshr */ + 4, /* lshi */ + 4, /* rshr */ + 4, /* rshi */ + 4, /* rshr_u */ + 4, /* rshi_u */ + 4, /* negr */ + 8, /* comr */ + 4, /* ltr */ + 4, /* lti */ + 4, /* ltr_u */ + 4, /* lti_u */ + 8, /* ler */ + 12, /* lei */ + 8, /* ler_u */ + 12, /* lei_u */ + 12, /* eqr */ + 12, /* eqi */ + 8, /* ger */ + 12, /* gei */ + 8, /* ger_u */ + 12, /* gei_u */ + 4, /* gtr */ + 8, /* gti */ + 4, /* gtr_u */ + 8, /* gti_u */ + 8, /* ner */ + 8, /* nei */ + 4, /* movr */ + 28, /* movi */ + 8, /* extr_c */ + 4, /* extr_uc */ + 8, /* extr_s */ + 4, /* extr_us */ + 4, /* extr_i */ + 8, /* extr_ui */ + 4, /* htonr */ + 4, /* ldr_c */ + 12, /* ldi_c */ + 4, /* ldr_uc */ + 12, /* ldi_uc */ + 4, /* ldr_s */ + 12, /* ldi_s */ + 4, /* ldr_us */ + 12, /* ldi_us */ + 4, /* ldr_i */ + 12, /* ldi_i */ + 4, /* ldr_ui */ + 12, /* ldi_ui */ + 4, /* ldr_l */ + 12, /* ldi_l */ + 8, /* ldxr_c */ + 4, /* ldxi_c */ + 8, /* ldxr_uc */ + 4, /* ldxi_uc */ + 8, /* ldxr_s */ + 4, /* ldxi_s */ + 8, /* ldxr_us */ + 4, /* ldxi_us */ + 8, /* ldxr_i */ + 4, /* ldxi_i */ + 8, /* ldxr_ui */ + 4, /* ldxi_ui */ + 8, /* ldxr_l */ + 4, /* ldxi_l */ + 4, /* str_c */ + 12, /* sti_c */ + 4, /* str_s */ + 12, /* sti_s */ + 4, /* str_i */ + 12, /* sti_i */ + 4, /* str_l */ + 12, /* sti_l */ + 8, /* stxr_c */ + 4, /* stxi_c */ + 8, /* stxr_s */ + 4, /* stxi_s */ + 8, /* stxr_i */ + 4, /* stxi_i */ + 8, /* stxr_l */ + 4, /* stxi_l */ + 12, /* bltr */ + 12, /* blti */ + 12, /* bltr_u */ + 12, /* blti_u */ + 12, /* bler */ + 16, /* blei */ + 12, /* bler_u */ + 16, /* blei_u */ + 8, /* beqr */ + 36, /* beqi */ + 12, /* bger */ + 12, /* bgei */ + 12, /* bger_u */ + 12, /* bgei_u */ + 12, /* bgtr */ + 16, /* bgti */ + 12, /* bgtr_u */ + 16, /* bgti_u */ + 8, /* bner */ + 32, /* bnei */ + 12, /* bmsr */ + 12, /* bmsi */ + 12, /* bmcr */ + 12, /* bmci */ + 28, /* boaddr */ + 28, /* boaddi */ + 16, /* boaddr_u */ + 20, /* boaddi_u */ + 28, /* bxaddr */ + 28, /* bxaddi */ + 16, /* bxaddr_u */ + 20, /* bxaddi_u */ + 28, /* bosubr */ + 28, /* bosubi */ + 16, /* bosubr_u */ + 20, /* bosubi_u */ + 28, /* bxsubr */ + 28, /* bxsubi */ + 16, /* bxsubr_u */ + 20, /* bxsubi_u */ + 0, /* jmpr */ + 8, /* jmpi */ + 12, /* callr */ + 32, /* calli */ + 44, /* epilog */ + 0, /* arg_f */ + 4, /* addr_f */ + 16, /* addi_f */ + 4, /* subr_f */ + 16, /* subi_f */ + 4, /* mulr_f */ + 16, /* muli_f */ + 4, /* divr_f */ + 16, /* divi_f */ + 4, /* negr_f */ + 4, /* absr_f */ + 4, /* sqrtr_f */ + 16, /* ltr_f */ + 28, /* lti_f */ + 16, /* ler_f */ + 28, /* lei_f */ + 16, /* eqr_f */ + 28, /* eqi_f */ + 16, /* ger_f */ + 28, /* gei_f */ + 16, /* gtr_f */ + 28, /* 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 */ + 16, /* unordr_f */ + 28, /* unordi_f */ + 8, /* truncr_f_i */ + 8, /* truncr_f_l */ + 8, /* extr_f */ + 4, /* extr_d_f */ + 4, /* movr_f */ + 12, /* movi_f */ + 4, /* ldr_f */ + 12, /* ldi_f */ + 8, /* ldxr_f */ + 4, /* ldxi_f */ + 4, /* str_f */ + 12, /* sti_f */ + 8, /* stxr_f */ + 4, /* 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 */ + 12, /* bunltr_f */ + 24, /* bunlti_f */ + 12, /* bunler_f */ + 24, /* bunlei_f */ + 12, /* buneqr_f */ + 24, /* buneqi_f */ + 12, /* bunger_f */ + 24, /* bungei_f */ + 12, /* bungtr_f */ + 24, /* bungti_f */ + 12, /* bltgtr_f */ + 24, /* bltgti_f */ + 12, /* bordr_f */ + 24, /* bordi_f */ + 12, /* bunordr_f */ + 24, /* bunordi_f */ + 0, /* arg_d */ + 4, /* addr_d */ + 16, /* addi_d */ + 4, /* subr_d */ + 16, /* subi_d */ + 4, /* mulr_d */ + 16, /* muli_d */ + 4, /* divr_d */ + 16, /* divi_d */ + 4, /* negr_d */ + 4, /* absr_d */ + 4, /* sqrtr_d */ + 16, /* ltr_d */ + 28, /* lti_d */ + 16, /* ler_d */ + 28, /* lei_d */ + 16, /* eqr_d */ + 28, /* eqi_d */ + 16, /* ger_d */ + 28, /* gei_d */ + 16, /* gtr_d */ + 28, /* gti_d */ + 16, /* ner_d */ + 28, /* nei_d */ + 16, /* unltr_d */ + 28, /* unlti_d */ + 16, /* unler_d */ + 28, /* unlei_d */ + 16, /* uneqr_d */ + 28, /* uneqi_d */ + 16, /* unger_d */ + 28, /* ungei_d */ + 16, /* ungtr_d */ + 28, /* ungti_d */ + 16, /* ltgtr_d */ + 28, /* ltgti_d */ + 16, /* ordr_d */ + 28, /* ordi_d */ + 16, /* unordr_d */ + 28, /* unordi_d */ + 8, /* truncr_d_i */ + 8, /* truncr_d_l */ + 8, /* extr_d */ + 4, /* extr_f_d */ + 4, /* movr_d */ + 12, /* movi_d */ + 4, /* ldr_d */ + 12, /* ldi_d */ + 8, /* ldxr_d */ + 4, /* ldxi_d */ + 4, /* str_d */ + 12, /* sti_d */ + 8, /* stxr_d */ + 4, /* stxi_d */ + 12, /* bltr_d */ + 24, /* blti_d */ + 12, /* bler_d */ + 24, /* blei_d */ + 12, /* beqr_d */ + 24, /* beqi_d */ + 12, /* bger_d */ + 24, /* bgei_d */ + 12, /* bgtr_d */ + 24, /* bgti_d */ + 12, /* bner_d */ + 24, /* bnei_d */ + 12, /* bunltr_d */ + 24, /* bunlti_d */ + 12, /* bunler_d */ + 24, /* bunlei_d */ + 12, /* buneqr_d */ + 24, /* buneqi_d */ + 12, /* bunger_d */ + 24, /* bungei_d */ + 12, /* bungtr_d */ + 24, /* bungti_d */ + 12, /* bltgtr_d */ + 24, /* bltgti_d */ + 12, /* bordr_d */ + 24, /* bordi_d */ + 12, /* bunordr_d */ + 24, /* bunordi_d */ + 0, /* movr_w_f */ + 0, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 0, /* movi_f_w */ + 0, /* movr_d_ww */ + 0, /* movi_d_ww */ + 4, /* movr_d_w */ + 12, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #endif /* __WORDSIZE */ diff --git a/lib/jit_names.c b/lib/jit_names.c new file mode 100644 index 000000000..171fbfcd5 --- /dev/null +++ b/lib/jit_names.c @@ -0,0 +1,200 @@ +/* + * Copyright (C) 2014 Free Software Foundation, Inc. + * + * This file is part of GNU lightning. + * + * GNU lightning is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU lightning is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * Authors: + * Paulo Cesar Pereira de Andrade + */ + +static char *code_name[] = { + "data", + "live", "align", + "save", "load", + "#name", "#note", + "label", + "prolog", + "arg", + "addr", "addi", + "addcr", "addci", + "addxr", "addxi", + "subr", "subi", + "subcr", "subci", + "subxr", "subxi", + "mulr", "muli", + "qmulr", "qmuli", + "qmulr_u", "qmuli_u", + "divr", "divi", + "divr_u", "divi_u", + "qdivr", "qdivi", + "qdivr_u", "qdivi_u", + "remr", "remi", + "remr_u", "remi_u", + "andr", "andi", + "orr", "ori", + "xorr", "xori", + "lshr", "lshi", + "rshr", "rshi", + "rshr_u", "rshi_u", + "negr", "comr", + "ltr", "lti", + "ltr_u", "lti_u", + "ler", "lei", + "ler_u", "lei_u", + "eqr", "eqi", + "ger", "gei", + "ger_u", "gei_u", + "gtr", "gti", + "gtr_u", "gti_u", + "ner", "nei", + "movr", "movi", + "extr_c", "extr_uc", + "extr_s", "extr_us", + "extr_i", "extr_ui", + "htonr", + "ldr_c", "ldi_c", + "ldr_uc", "ldi_uc", + "ldr_s", "ldi_s", + "ldr_us", "ldi_us", + "ldr_i", "ldi_i", + "ldr_ui", "ldi_ui", + "ldr_l", "ldi_l", + "ldxr_c", "ldxi_c", + "ldxr_uc", "ldxi_uc", + "ldxr_s", "ldxi_s", + "ldxr_us", "ldxi_us", + "ldxr_i", "ldxi_i", + "ldxr_ui", "ldxi_ui", + "ldxr_l", "ldxi_l", + "str_c", "sti_c", + "str_s", "sti_s", + "str_i", "sti_i", + "str_l", "sti_l", + "stxr_c", "stxi_c", + "stxr_s", "stxi_s", + "stxr_i", "stxi_i", + "stxr_l", "stxi_l", + "bltr", "blti", + "bltr_u", "blti_u", + "bler", "blei", + "bler_u", "blei_u", + "beqr", "beqi", + "bger", "bgei", + "bger_u", "bgei_u", + "bgtr", "bgti", + "bgtr_u", "bgti_u", + "bner", "bnei", + "bmsr", "bmsi", + "bmcr", "bmci", + "boaddr", "boaddi", + "boaddr_u", "boaddi_u", + "bxaddr", "bxaddi", + "bxaddr_u", "bxaddi_u", + "bosubr", "bosubi", + "bosubr_u", "bosubi_u", + "bxsubr", "bxsubi", + "bxsubr_u", "bxsubi_u", + "jmpr", "jmpi", + "callr", "calli", + "epilog", + "arg_f", + "addr_f", "addi_f", + "subr_f", "subi_f", + "mulr_f", "muli_f", + "divr_f", "divi_f", + "negr_f", "absr_f", + "sqrtr_f", + "ltr_f", "lti_f", + "ler_f", "lei_f", + "eqr_f", "eqi_f", + "ger_f", "gei_f", + "gtr_f", "gti_f", + "ner_f", "nei_f", + "unltr_f", "unlti_f", + "unler_f", "unlei_f", + "uneqr_f", "uneqi_f", + "unger_f", "ungei_f", + "ungtr_f", "ungti_f", + "ltgtr_f", "ltgti_f", + "ordr_f", "ordi_f", + "unordr_f", "unordi_f", + "truncr_f_i", "truncr_f_l", + "extr_f", "extr_d_f", + "movr_f", "movi_f", + "ldr_f", "ldi_f", + "ldxr_f", "ldxi_f", + "str_f", "sti_f", + "stxr_f", "stxi_f", + "bltr_f", "blti_f", + "bler_f", "blei_f", + "beqr_f", "beqi_f", + "bger_f", "bgei_f", + "bgtr_f", "bgti_f", + "bner_f", "bnei_f", + "bunltr_f", "bunlti_f", + "bunler_f", "bunlei_f", + "buneqr_f", "buneqi_f", + "bunger_f", "bungei_f", + "bungtr_f", "bungti_f", + "bltgtr_f", "bltgti_f", + "bordr_f", "bordi_f", + "bunordr_f", "bunordi_f", + "arg_d", + "addr_d", "addi_d", + "subr_d", "subi_d", + "mulr_d", "muli_d", + "divr_d", "divi_d", + "negr_d", "absr_d", + "sqrtr_d", + "ltr_d", "lti_d", + "ler_d", "lei_d", + "eqr_d", "eqi_d", + "ger_d", "gei_d", + "gtr_d", "gti_d", + "ner_d", "nei_d", + "unltr_d", "unlti_d", + "unler_d", "unlei_d", + "uneqr_d", "uneqi_d", + "unger_d", "ungei_d", + "ungtr_d", "ungti_d", + "ltgtr_d", "ltgti_d", + "ordr_d", "ordi_d", + "unordr_d", "unordi_d", + "truncr_d_i", "truncr_d_l", + "extr_d", "extr_f_d", + "movr_d", "movi_d", + "ldr_d", "ldi_d", + "ldxr_d", "ldxi_d", + "str_d", "sti_d", + "stxr_d", "stxi_d", + "bltr_d", "blti_d", + "bler_d", "blei_d", + "beqr_d", "beqi_d", + "bger_d", "bgei_d", + "bgtr_d", "bgti_d", + "bner_d", "bnei_d", + "bunltr_d", "bunlti_d", + "bunler_d", "bunlei_d", + "buneqr_d", "buneqi_d", + "bunger_d", "bungei_d", + "bungtr_d", "bungti_d", + "bltgtr_d", "bltgti_d", + "bordr_d", "bordi_d", + "bunordr_d", "bunordi_d", + "movr_w_f", "movr_ww_d", + "movr_w_d", + "movr_f_w", "movi_f_w", + "movr_d_ww", "movi_d_ww", + "movr_d_w", "movi_d_w", + "x86_retval_f", "x86_retval_d", +}; diff --git a/lib/jit_ppc-sz.c b/lib/jit_ppc-sz.c index 6025ffcfd..7fae39436 100644 --- a/lib/jit_ppc-sz.c +++ b/lib/jit_ppc-sz.c @@ -2,1058 +2,1058 @@ #if __WORDSIZE == 32 #if defined(__ppc__) #define JIT_INSTR_MAX 44 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 44, - 0, - 4, - 12, - 4, - 12, - 4, - 8, - 4, - 12, - 4, - 12, - 4, - 8, - 4, - 12, - 12, - 16, - 12, - 16, - 4, - 12, - 4, - 12, - 20, - 16, - 20, - 16, - 12, - 20, - 12, - 20, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 12, - 12, - 12, - 16, - 16, - 16, - 16, - 16, - 12, - 12, - 16, - 16, - 16, - 16, - 12, - 12, - 12, - 12, - 16, - 16, - 4, - 8, - 4, - 4, - 4, - 4, - 0, - 0, - 4, - 8, - 12, - 4, - 8, - 4, - 8, - 4, - 8, - 4, - 8, - 0, - 0, - 0, - 0, - 8, - 8, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 0, - 0, - 0, - 0, - 4, - 8, - 4, - 8, - 4, - 8, - 0, - 0, - 4, - 4, - 4, - 4, - 4, - 4, - 0, - 0, - 8, - 8, - 8, - 12, - 8, - 8, - 8, - 12, - 8, - 16, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 16, - 12, - 12, - 12, - 12, - 12, - 16, - 12, - 12, - 12, - 16, - 12, - 12, - 12, - 16, - 12, - 16, - 12, - 16, - 12, - 16, - 0, - 4, - 8, - 16, - 44, - 0, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 4, - 4, - 12, - 20, - 16, - 24, - 12, - 20, - 16, - 24, - 12, - 20, - 16, - 24, - 16, - 24, - 16, - 24, - 16, - 24, - 16, - 24, - 16, - 24, - 16, - 24, - 16, - 24, - 12, - 20, - 12, - 0, - 20, - 4, - 4, - 8, - 4, - 8, - 4, - 4, - 4, - 8, - 4, - 4, - 8, - 16, - 12, - 20, - 8, - 16, - 12, - 20, - 8, - 16, - 8, - 16, - 12, - 20, - 8, - 16, - 12, - 20, - 8, - 16, - 12, - 20, - 12, - 20, - 8, - 16, - 8, - 16, - 0, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 4, - 4, - 12, - 20, - 16, - 24, - 12, - 20, - 16, - 24, - 12, - 20, - 16, - 24, - 16, - 24, - 16, - 24, - 16, - 24, - 16, - 24, - 16, - 24, - 16, - 24, - 16, - 24, - 12, - 20, - 12, - 0, - 20, - 4, - 4, - 8, - 4, - 8, - 4, - 4, - 4, - 8, - 4, - 4, - 8, - 16, - 12, - 20, - 8, - 16, - 12, - 20, - 8, - 16, - 8, - 16, - 12, - 20, - 8, - 16, - 12, - 20, - 8, - 16, - 12, - 20, - 12, - 20, - 8, - 16, - 8, - 16, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, /* data */ + 0, /* live */ + 0, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 0, /* label */ + 44, /* prolog */ + 0, /* arg */ + 4, /* addr */ + 12, /* addi */ + 4, /* addcr */ + 12, /* addci */ + 4, /* addxr */ + 8, /* addxi */ + 4, /* subr */ + 12, /* subi */ + 4, /* subcr */ + 12, /* subci */ + 4, /* subxr */ + 8, /* subxi */ + 4, /* mulr */ + 12, /* muli */ + 12, /* qmulr */ + 16, /* qmuli */ + 12, /* qmulr_u */ + 16, /* qmuli_u */ + 4, /* divr */ + 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 */ + 4, /* andr */ + 12, /* andi */ + 4, /* orr */ + 12, /* ori */ + 4, /* xorr */ + 12, /* xori */ + 4, /* lshr */ + 4, /* lshi */ + 4, /* rshr */ + 4, /* rshi */ + 4, /* rshr_u */ + 4, /* rshi_u */ + 4, /* negr */ + 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, /* movr */ + 8, /* movi */ + 4, /* extr_c */ + 4, /* extr_uc */ + 4, /* extr_s */ + 4, /* extr_us */ + 0, /* extr_i */ + 0, /* extr_ui */ + 4, /* htonr */ + 8, /* ldr_c */ + 12, /* ldi_c */ + 4, /* ldr_uc */ + 8, /* ldi_uc */ + 4, /* ldr_s */ + 8, /* ldi_s */ + 4, /* ldr_us */ + 8, /* ldi_us */ + 4, /* ldr_i */ + 8, /* ldi_i */ + 0, /* ldr_ui */ + 0, /* ldi_ui */ + 0, /* ldr_l */ + 0, /* ldi_l */ + 8, /* ldxr_c */ + 8, /* ldxi_c */ + 4, /* ldxr_uc */ + 4, /* ldxi_uc */ + 4, /* ldxr_s */ + 4, /* ldxi_s */ + 4, /* ldxr_us */ + 4, /* ldxi_us */ + 4, /* ldxr_i */ + 4, /* ldxi_i */ + 0, /* ldxr_ui */ + 0, /* ldxi_ui */ + 0, /* ldxr_l */ + 0, /* ldxi_l */ + 4, /* str_c */ + 8, /* sti_c */ + 4, /* str_s */ + 8, /* sti_s */ + 4, /* str_i */ + 8, /* sti_i */ + 0, /* str_l */ + 0, /* sti_l */ + 4, /* stxr_c */ + 4, /* stxi_c */ + 4, /* stxr_s */ + 4, /* stxi_s */ + 4, /* stxr_i */ + 4, /* stxi_i */ + 0, /* stxr_l */ + 0, /* stxi_l */ + 8, /* bltr */ + 8, /* blti */ + 8, /* bltr_u */ + 12, /* blti_u */ + 8, /* bler */ + 8, /* blei */ + 8, /* bler_u */ + 12, /* blei_u */ + 8, /* beqr */ + 16, /* beqi */ + 8, /* bger */ + 8, /* bgei */ + 8, /* bger_u */ + 8, /* bgei_u */ + 8, /* bgtr */ + 8, /* bgti */ + 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 */ + 0, /* jmpr */ + 4, /* jmpi */ + 8, /* callr */ + 16, /* calli */ + 44, /* epilog */ + 0, /* arg_f */ + 4, /* addr_f */ + 12, /* addi_f */ + 4, /* subr_f */ + 12, /* subi_f */ + 4, /* mulr_f */ + 12, /* muli_f */ + 4, /* divr_f */ + 12, /* divi_f */ + 4, /* negr_f */ + 4, /* absr_f */ + 4, /* sqrtr_f */ + 12, /* ltr_f */ + 20, /* lti_f */ + 16, /* ler_f */ + 24, /* lei_f */ + 12, /* eqr_f */ + 20, /* eqi_f */ + 16, /* ger_f */ + 24, /* gei_f */ + 12, /* gtr_f */ + 20, /* gti_f */ + 16, /* ner_f */ + 24, /* nei_f */ + 16, /* unltr_f */ + 24, /* unlti_f */ + 16, /* unler_f */ + 24, /* unlei_f */ + 16, /* uneqr_f */ + 24, /* uneqi_f */ + 16, /* unger_f */ + 24, /* ungei_f */ + 16, /* ungtr_f */ + 24, /* ungti_f */ + 16, /* ltgtr_f */ + 24, /* ltgti_f */ + 16, /* ordr_f */ + 24, /* ordi_f */ + 12, /* unordr_f */ + 20, /* unordi_f */ + 12, /* truncr_f_i */ + 0, /* truncr_f_l */ + 20, /* extr_f */ + 4, /* extr_d_f */ + 4, /* movr_f */ + 8, /* movi_f */ + 4, /* ldr_f */ + 8, /* ldi_f */ + 4, /* ldxr_f */ + 4, /* ldxi_f */ + 4, /* str_f */ + 8, /* sti_f */ + 4, /* stxr_f */ + 4, /* stxi_f */ + 8, /* bltr_f */ + 16, /* blti_f */ + 12, /* bler_f */ + 20, /* blei_f */ + 8, /* beqr_f */ + 16, /* beqi_f */ + 12, /* bger_f */ + 20, /* bgei_f */ + 8, /* bgtr_f */ + 16, /* bgti_f */ + 8, /* bner_f */ + 16, /* bnei_f */ + 12, /* bunltr_f */ + 20, /* bunlti_f */ + 8, /* bunler_f */ + 16, /* bunlei_f */ + 12, /* buneqr_f */ + 20, /* buneqi_f */ + 8, /* bunger_f */ + 16, /* bungei_f */ + 12, /* bungtr_f */ + 20, /* bungti_f */ + 12, /* bltgtr_f */ + 20, /* bltgti_f */ + 8, /* bordr_f */ + 16, /* bordi_f */ + 8, /* bunordr_f */ + 16, /* bunordi_f */ + 0, /* arg_d */ + 4, /* addr_d */ + 12, /* addi_d */ + 4, /* subr_d */ + 12, /* subi_d */ + 4, /* mulr_d */ + 12, /* muli_d */ + 4, /* divr_d */ + 12, /* divi_d */ + 4, /* negr_d */ + 4, /* absr_d */ + 4, /* sqrtr_d */ + 12, /* ltr_d */ + 20, /* lti_d */ + 16, /* ler_d */ + 24, /* lei_d */ + 12, /* eqr_d */ + 20, /* eqi_d */ + 16, /* ger_d */ + 24, /* gei_d */ + 12, /* gtr_d */ + 20, /* gti_d */ + 16, /* ner_d */ + 24, /* nei_d */ + 16, /* unltr_d */ + 24, /* unlti_d */ + 16, /* unler_d */ + 24, /* unlei_d */ + 16, /* uneqr_d */ + 24, /* uneqi_d */ + 16, /* unger_d */ + 24, /* ungei_d */ + 16, /* ungtr_d */ + 24, /* ungti_d */ + 16, /* ltgtr_d */ + 24, /* ltgti_d */ + 16, /* ordr_d */ + 24, /* ordi_d */ + 12, /* unordr_d */ + 20, /* unordi_d */ + 12, /* truncr_d_i */ + 0, /* truncr_d_l */ + 20, /* extr_d */ + 4, /* extr_f_d */ + 4, /* movr_d */ + 8, /* movi_d */ + 4, /* ldr_d */ + 8, /* ldi_d */ + 4, /* ldxr_d */ + 4, /* ldxi_d */ + 4, /* str_d */ + 8, /* sti_d */ + 4, /* stxr_d */ + 4, /* stxi_d */ + 8, /* bltr_d */ + 16, /* blti_d */ + 12, /* bler_d */ + 20, /* blei_d */ + 8, /* beqr_d */ + 16, /* beqi_d */ + 12, /* bger_d */ + 20, /* bgei_d */ + 8, /* bgtr_d */ + 16, /* bgti_d */ + 8, /* bner_d */ + 16, /* bnei_d */ + 12, /* bunltr_d */ + 20, /* bunlti_d */ + 8, /* bunler_d */ + 16, /* bunlei_d */ + 12, /* buneqr_d */ + 20, /* buneqi_d */ + 8, /* bunger_d */ + 16, /* bungei_d */ + 12, /* bungtr_d */ + 20, /* bungti_d */ + 12, /* bltgtr_d */ + 20, /* bltgti_d */ + 8, /* bordr_d */ + 16, /* bordi_d */ + 8, /* bunordr_d */ + 16, /* bunordi_d */ + 0, /* movr_w_f */ + 0, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 0, /* movi_f_w */ + 0, /* movr_d_ww */ + 0, /* movi_d_ww */ + 0, /* movr_d_w */ + 0, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #endif /* __ppc__ */ #endif /* __WORDSIZE */ #if __WORDSIZE == 32 #if defined(__powerpc__) #define JIT_INSTR_MAX 72 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 72, - 0, - 4, - 12, - 4, - 12, - 4, - 8, - 4, - 12, - 4, - 12, - 4, - 8, - 4, - 12, - 12, - 16, - 12, - 16, - 4, - 12, - 4, - 12, - 20, - 16, - 20, - 16, - 12, - 20, - 12, - 20, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 12, - 12, - 12, - 16, - 16, - 16, - 16, - 16, - 12, - 12, - 16, - 16, - 16, - 16, - 12, - 12, - 12, - 12, - 16, - 16, - 4, - 8, - 4, - 4, - 4, - 4, - 0, - 0, - 4, - 8, - 12, - 4, - 8, - 4, - 8, - 4, - 8, - 4, - 8, - 0, - 0, - 0, - 0, - 8, - 8, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 0, - 0, - 0, - 0, - 4, - 8, - 4, - 8, - 4, - 8, - 0, - 0, - 4, - 4, - 4, - 4, - 4, - 4, - 0, - 0, - 8, - 8, - 8, - 12, - 8, - 8, - 8, - 12, - 8, - 16, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 16, - 12, - 12, - 12, - 12, - 12, - 16, - 12, - 12, - 12, - 16, - 12, - 12, - 12, - 16, - 12, - 16, - 12, - 16, - 12, - 16, - 0, - 4, - 28, - 40, - 72, - 0, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 4, - 4, - 12, - 24, - 16, - 28, - 12, - 24, - 16, - 28, - 12, - 24, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 16, - 28, - 12, - 24, - 12, - 0, - 20, - 4, - 4, - 12, - 4, - 8, - 4, - 4, - 4, - 8, - 4, - 4, - 8, - 20, - 12, - 24, - 8, - 20, - 12, - 24, - 8, - 20, - 8, - 20, - 12, - 24, - 8, - 20, - 12, - 24, - 8, - 20, - 12, - 24, - 12, - 24, - 8, - 20, - 8, - 20, - 0, - 4, - 24, - 4, - 24, - 4, - 24, - 4, - 24, - 4, - 4, - 4, - 12, - 32, - 16, - 36, - 12, - 32, - 16, - 36, - 12, - 32, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 12, - 32, - 12, - 0, - 20, - 4, - 4, - 24, - 4, - 8, - 4, - 4, - 4, - 8, - 4, - 4, - 8, - 28, - 12, - 32, - 8, - 32, - 12, - 32, - 8, - 28, - 8, - 28, - 12, - 32, - 8, - 28, - 12, - 32, - 8, - 28, - 12, - 32, - 12, - 32, - 8, - 28, - 8, - 28, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, /* data */ + 0, /* live */ + 0, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 0, /* label */ + 72, /* prolog */ + 0, /* arg */ + 4, /* addr */ + 12, /* addi */ + 4, /* addcr */ + 12, /* addci */ + 4, /* addxr */ + 8, /* addxi */ + 4, /* subr */ + 12, /* subi */ + 4, /* subcr */ + 12, /* subci */ + 4, /* subxr */ + 8, /* subxi */ + 4, /* mulr */ + 12, /* muli */ + 12, /* qmulr */ + 16, /* qmuli */ + 12, /* qmulr_u */ + 16, /* qmuli_u */ + 4, /* divr */ + 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 */ + 4, /* andr */ + 12, /* andi */ + 4, /* orr */ + 12, /* ori */ + 4, /* xorr */ + 12, /* xori */ + 4, /* lshr */ + 4, /* lshi */ + 4, /* rshr */ + 4, /* rshi */ + 4, /* rshr_u */ + 4, /* rshi_u */ + 4, /* negr */ + 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, /* movr */ + 8, /* movi */ + 4, /* extr_c */ + 4, /* extr_uc */ + 4, /* extr_s */ + 4, /* extr_us */ + 0, /* extr_i */ + 0, /* extr_ui */ + 4, /* htonr */ + 8, /* ldr_c */ + 12, /* ldi_c */ + 4, /* ldr_uc */ + 8, /* ldi_uc */ + 4, /* ldr_s */ + 8, /* ldi_s */ + 4, /* ldr_us */ + 8, /* ldi_us */ + 4, /* ldr_i */ + 8, /* ldi_i */ + 0, /* ldr_ui */ + 0, /* ldi_ui */ + 0, /* ldr_l */ + 0, /* ldi_l */ + 8, /* ldxr_c */ + 8, /* ldxi_c */ + 4, /* ldxr_uc */ + 4, /* ldxi_uc */ + 4, /* ldxr_s */ + 4, /* ldxi_s */ + 4, /* ldxr_us */ + 4, /* ldxi_us */ + 4, /* ldxr_i */ + 4, /* ldxi_i */ + 0, /* ldxr_ui */ + 0, /* ldxi_ui */ + 0, /* ldxr_l */ + 0, /* ldxi_l */ + 4, /* str_c */ + 8, /* sti_c */ + 4, /* str_s */ + 8, /* sti_s */ + 4, /* str_i */ + 8, /* sti_i */ + 0, /* str_l */ + 0, /* sti_l */ + 4, /* stxr_c */ + 4, /* stxi_c */ + 4, /* stxr_s */ + 4, /* stxi_s */ + 4, /* stxr_i */ + 4, /* stxi_i */ + 0, /* stxr_l */ + 0, /* stxi_l */ + 8, /* bltr */ + 8, /* blti */ + 8, /* bltr_u */ + 12, /* blti_u */ + 8, /* bler */ + 8, /* blei */ + 8, /* bler_u */ + 12, /* blei_u */ + 8, /* beqr */ + 16, /* beqi */ + 8, /* bger */ + 8, /* bgei */ + 8, /* bger_u */ + 8, /* bgei_u */ + 8, /* bgtr */ + 8, /* bgti */ + 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 */ + 0, /* jmpr */ + 4, /* jmpi */ + 28, /* callr */ + 40, /* calli */ + 72, /* epilog */ + 0, /* arg_f */ + 4, /* addr_f */ + 16, /* addi_f */ + 4, /* subr_f */ + 16, /* subi_f */ + 4, /* mulr_f */ + 16, /* muli_f */ + 4, /* divr_f */ + 16, /* divi_f */ + 4, /* negr_f */ + 4, /* absr_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, /* truncr_f_l */ + 20, /* extr_f */ + 4, /* extr_d_f */ + 4, /* movr_f */ + 12, /* movi_f */ + 4, /* ldr_f */ + 8, /* ldi_f */ + 4, /* ldxr_f */ + 4, /* ldxi_f */ + 4, /* str_f */ + 8, /* sti_f */ + 4, /* stxr_f */ + 4, /* stxi_f */ + 8, /* bltr_f */ + 20, /* blti_f */ + 12, /* bler_f */ + 24, /* blei_f */ + 8, /* beqr_f */ + 20, /* beqi_f */ + 12, /* bger_f */ + 24, /* bgei_f */ + 8, /* bgtr_f */ + 20, /* bgti_f */ + 8, /* bner_f */ + 20, /* bnei_f */ + 12, /* bunltr_f */ + 24, /* bunlti_f */ + 8, /* bunler_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 */ + 8, /* bordr_f */ + 20, /* bordi_f */ + 8, /* bunordr_f */ + 20, /* bunordi_f */ + 0, /* arg_d */ + 4, /* addr_d */ + 24, /* addi_d */ + 4, /* subr_d */ + 24, /* subi_d */ + 4, /* mulr_d */ + 24, /* muli_d */ + 4, /* divr_d */ + 24, /* divi_d */ + 4, /* negr_d */ + 4, /* absr_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, /* truncr_d_l */ + 20, /* extr_d */ + 4, /* extr_f_d */ + 4, /* movr_d */ + 24, /* movi_d */ + 4, /* ldr_d */ + 8, /* ldi_d */ + 4, /* ldxr_d */ + 4, /* ldxi_d */ + 4, /* str_d */ + 8, /* sti_d */ + 4, /* stxr_d */ + 4, /* stxi_d */ + 8, /* bltr_d */ + 28, /* blti_d */ + 12, /* bler_d */ + 32, /* blei_d */ + 8, /* beqr_d */ + 32, /* beqi_d */ + 12, /* bger_d */ + 32, /* bgei_d */ + 8, /* bgtr_d */ + 28, /* bgti_d */ + 8, /* bner_d */ + 28, /* bnei_d */ + 12, /* bunltr_d */ + 32, /* bunlti_d */ + 8, /* bunler_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 */ + 8, /* bordr_d */ + 28, /* bordi_d */ + 8, /* bunordr_d */ + 28, /* bunordi_d */ + 0, /* movr_w_f */ + 0, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 0, /* movi_f_w */ + 0, /* movr_d_ww */ + 0, /* movi_d_ww */ + 0, /* movr_d_w */ + 0, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #endif /* __powerpc__ */ #endif /* __WORDSIZE */ #if __WORDSIZE == 64 #if defined(__powerpc__) #define JIT_INSTR_MAX 72 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 72, - 0, - 4, - 28, - 4, - 28, - 4, - 8, - 4, - 28, - 4, - 28, - 4, - 8, - 4, - 28, - 12, - 28, - 12, - 28, - 4, - 28, - 4, - 28, - 20, - 16, - 20, - 16, - 12, - 36, - 12, - 36, - 4, - 28, - 4, - 28, - 4, - 28, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 12, - 12, - 12, - 16, - 16, - 16, - 16, - 16, - 12, - 12, - 16, - 16, - 16, - 16, - 12, - 12, - 12, - 12, - 16, - 16, - 4, - 36, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 8, - 28, - 4, - 24, - 4, - 24, - 4, - 24, - 4, - 24, - 4, - 24, - 4, - 24, - 8, - 8, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 24, - 4, - 24, - 4, - 24, - 4, - 24, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 8, - 8, - 8, - 12, - 8, - 8, - 8, - 12, - 8, - 44, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 36, - 12, - 12, - 12, - 12, - 12, - 16, - 12, - 12, - 12, - 16, - 12, - 12, - 12, - 16, - 12, - 16, - 12, - 16, - 12, - 16, - 0, - 4, - 28, - 56, - 72, - 0, - 4, - 28, - 4, - 28, - 4, - 28, - 4, - 28, - 4, - 4, - 4, - 12, - 36, - 16, - 40, - 12, - 36, - 16, - 40, - 12, - 36, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 12, - 36, - 12, - 12, - 12, - 4, - 4, - 24, - 4, - 24, - 4, - 4, - 4, - 24, - 4, - 4, - 8, - 32, - 12, - 36, - 8, - 32, - 12, - 36, - 8, - 32, - 8, - 32, - 12, - 36, - 8, - 32, - 12, - 36, - 8, - 32, - 12, - 36, - 12, - 36, - 8, - 32, - 8, - 32, - 0, - 4, - 28, - 4, - 28, - 4, - 28, - 4, - 28, - 4, - 4, - 4, - 12, - 40, - 16, - 44, - 12, - 40, - 16, - 44, - 12, - 40, - 16, - 44, - 16, - 44, - 16, - 44, - 16, - 44, - 16, - 44, - 16, - 44, - 16, - 44, - 16, - 44, - 12, - 40, - 12, - 12, - 12, - 4, - 4, - 32, - 4, - 24, - 4, - 4, - 4, - 24, - 4, - 4, - 8, - 32, - 12, - 36, - 8, - 40, - 12, - 40, - 8, - 36, - 8, - 36, - 12, - 36, - 8, - 32, - 12, - 36, - 8, - 36, - 12, - 40, - 12, - 40, - 8, - 36, - 8, - 32, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, /* data */ + 0, /* live */ + 4, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 0, /* label */ + 72, /* prolog */ + 0, /* arg */ + 4, /* addr */ + 28, /* addi */ + 4, /* addcr */ + 28, /* addci */ + 4, /* addxr */ + 8, /* addxi */ + 4, /* subr */ + 28, /* subi */ + 4, /* subcr */ + 28, /* subci */ + 4, /* subxr */ + 8, /* subxi */ + 4, /* mulr */ + 28, /* muli */ + 12, /* qmulr */ + 28, /* qmuli */ + 12, /* qmulr_u */ + 28, /* qmuli_u */ + 4, /* divr */ + 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 */ + 4, /* andr */ + 28, /* andi */ + 4, /* orr */ + 28, /* ori */ + 4, /* xorr */ + 28, /* xori */ + 4, /* lshr */ + 4, /* lshi */ + 4, /* rshr */ + 4, /* rshi */ + 4, /* rshr_u */ + 4, /* rshi_u */ + 4, /* negr */ + 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, /* movr */ + 36, /* movi */ + 4, /* extr_c */ + 4, /* extr_uc */ + 4, /* extr_s */ + 4, /* extr_us */ + 4, /* extr_i */ + 4, /* extr_ui */ + 4, /* htonr */ + 8, /* ldr_c */ + 28, /* ldi_c */ + 4, /* ldr_uc */ + 24, /* ldi_uc */ + 4, /* ldr_s */ + 24, /* ldi_s */ + 4, /* ldr_us */ + 24, /* ldi_us */ + 4, /* ldr_i */ + 24, /* ldi_i */ + 4, /* ldr_ui */ + 24, /* ldi_ui */ + 4, /* ldr_l */ + 24, /* ldi_l */ + 8, /* ldxr_c */ + 8, /* ldxi_c */ + 4, /* ldxr_uc */ + 4, /* ldxi_uc */ + 4, /* ldxr_s */ + 4, /* ldxi_s */ + 4, /* ldxr_us */ + 4, /* ldxi_us */ + 4, /* ldxr_i */ + 4, /* ldxi_i */ + 4, /* ldxr_ui */ + 4, /* ldxi_ui */ + 4, /* ldxr_l */ + 4, /* ldxi_l */ + 4, /* str_c */ + 24, /* sti_c */ + 4, /* str_s */ + 24, /* sti_s */ + 4, /* str_i */ + 24, /* sti_i */ + 4, /* str_l */ + 24, /* sti_l */ + 4, /* stxr_c */ + 4, /* stxi_c */ + 4, /* stxr_s */ + 4, /* stxi_s */ + 4, /* stxr_i */ + 4, /* stxi_i */ + 4, /* stxr_l */ + 4, /* stxi_l */ + 8, /* bltr */ + 8, /* blti */ + 8, /* bltr_u */ + 12, /* blti_u */ + 8, /* bler */ + 8, /* blei */ + 8, /* bler_u */ + 12, /* blei_u */ + 8, /* beqr */ + 44, /* beqi */ + 8, /* bger */ + 8, /* bgei */ + 8, /* bger_u */ + 8, /* bgei_u */ + 8, /* bgtr */ + 8, /* bgti */ + 8, /* bgtr_u */ + 8, /* bgti_u */ + 8, /* bner */ + 36, /* 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 */ + 0, /* jmpr */ + 4, /* jmpi */ + 28, /* callr */ + 56, /* calli */ + 72, /* epilog */ + 0, /* arg_f */ + 4, /* addr_f */ + 28, /* addi_f */ + 4, /* subr_f */ + 28, /* subi_f */ + 4, /* mulr_f */ + 28, /* muli_f */ + 4, /* divr_f */ + 28, /* divi_f */ + 4, /* negr_f */ + 4, /* absr_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 */ + 4, /* extr_d_f */ + 4, /* movr_f */ + 24, /* movi_f */ + 4, /* ldr_f */ + 24, /* ldi_f */ + 4, /* ldxr_f */ + 4, /* ldxi_f */ + 4, /* str_f */ + 24, /* sti_f */ + 4, /* stxr_f */ + 4, /* stxi_f */ + 8, /* bltr_f */ + 32, /* blti_f */ + 12, /* bler_f */ + 36, /* blei_f */ + 8, /* beqr_f */ + 32, /* beqi_f */ + 12, /* bger_f */ + 36, /* bgei_f */ + 8, /* bgtr_f */ + 32, /* bgti_f */ + 8, /* bner_f */ + 32, /* bnei_f */ + 12, /* bunltr_f */ + 36, /* bunlti_f */ + 8, /* bunler_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 */ + 8, /* bordr_f */ + 32, /* bordi_f */ + 8, /* bunordr_f */ + 32, /* bunordi_f */ + 0, /* arg_d */ + 4, /* addr_d */ + 28, /* addi_d */ + 4, /* subr_d */ + 28, /* subi_d */ + 4, /* mulr_d */ + 28, /* muli_d */ + 4, /* divr_d */ + 28, /* divi_d */ + 4, /* negr_d */ + 4, /* absr_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 */ + 4, /* extr_f_d */ + 4, /* movr_d */ + 32, /* movi_d */ + 4, /* ldr_d */ + 24, /* ldi_d */ + 4, /* ldxr_d */ + 4, /* ldxi_d */ + 4, /* str_d */ + 24, /* sti_d */ + 4, /* stxr_d */ + 4, /* stxi_d */ + 8, /* bltr_d */ + 32, /* blti_d */ + 12, /* bler_d */ + 36, /* blei_d */ + 8, /* beqr_d */ + 40, /* beqi_d */ + 12, /* bger_d */ + 40, /* bgei_d */ + 8, /* bgtr_d */ + 36, /* bgti_d */ + 8, /* bner_d */ + 36, /* bnei_d */ + 12, /* bunltr_d */ + 36, /* bunlti_d */ + 8, /* bunler_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 */ + 8, /* bordr_d */ + 36, /* bordi_d */ + 8, /* bunordr_d */ + 32, /* bunordi_d */ + 0, /* movr_w_f */ + 0, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 0, /* movi_f_w */ + 0, /* movr_d_ww */ + 0, /* movi_d_ww */ + 0, /* movr_d_w */ + 0, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #endif /* __powerpc__ */ #endif /* __WORDSIZE */ diff --git a/lib/jit_print.c b/lib/jit_print.c index 49a553685..790a268d0 100644 --- a/lib/jit_print.c +++ b/lib/jit_print.c @@ -36,187 +36,7 @@ /* * Initialization */ -static char *code_name[] = { - "data", - "live", "align", - "save", "load", - "#name", "#note", - "label", - "prolog", - "arg", - "addr", "addi", - "addcr", "addci", - "addxr", "addxi", - "subr", "subi", - "subcr", "subci", - "subxr", "subxi", - "mulr", "muli", - "qmulr", "qmuli", - "qmulr_u", "qmuli_u", - "divr", "divi", - "divr_u", "divi_u", - "qdivr", "qdivi", - "qdivr_u", "qdivi_u", - "remr", "remi", - "remr_u", "remi_u", - "andr", "andi", - "orr", "ori", - "xorr", "xori", - "lshr", "lshi", - "rshr", "rshi", - "rshr_u", "rshi_u", - "negr", "comr", - "ltr", "lti", - "ltr_u", "lti_u", - "ler", "lei", - "ler_u", "lei_u", - "eqr", "eqi", - "ger", "gei", - "ger_u", "gei_u", - "gtr", "gti", - "gtr_u", "gti_u", - "ner", "nei", - "movr", "movi", - "extr_c", "extr_uc", - "extr_s", "extr_us", - "extr_i", "extr_ui", - "htonr", - "ldr_c", "ldi_c", - "ldr_uc", "ldi_uc", - "ldr_s", "ldi_s", - "ldr_us", "ldi_us", - "ldr_i", "ldi_i", - "ldr_ui", "ldi_ui", - "ldr_l", "ldi_l", - "ldxr_c", "ldxi_c", - "ldxr_uc", "ldxi_uc", - "ldxr_s", "ldxi_s", - "ldxr_us", "ldxi_us", - "ldxr_i", "ldxi_i", - "ldxr_ui", "ldxi_ui", - "ldxr_l", "ldxi_l", - "str_c", "sti_c", - "str_s", "sti_s", - "str_i", "sti_i", - "str_l", "sti_l", - "stxr_c", "stxi_c", - "stxr_s", "stxi_s", - "stxr_i", "stxi_i", - "stxr_l", "stxi_l", - "bltr", "blti", - "bltr_u", "blti_u", - "bler", "blei", - "bler_u", "blei_u", - "beqr", "beqi", - "bger", "bgei", - "bger_u", "bgei_u", - "bgtr", "bgti", - "bgtr_u", "bgti_u", - "bner", "bnei", - "bmsr", "bmsi", - "bmcr", "bmci", - "boaddr", "boaddi", - "boaddr_u", "boaddi_u", - "bxaddr", "bxaddi", - "bxaddr_u", "bxaddi_u", - "bosubr", "bosubi", - "bosubr_u", "bosubi_u", - "bxsubr", "bxsubi", - "bxsubr_u", "bxsubi_u", - "jmpr", "jmpi", - "callr", "calli", - "epilog", - "arg_f", - "addr_f", "addi_f", - "subr_f", "subi_f", - "mulr_f", "muli_f", - "divr_f", "divi_f", - "negr_f", "absr_f", - "sqrtr_f", - "ltr_f", "lti_f", - "ler_f", "lei_f", - "eqr_f", "eqi_f", - "ger_f", "gei_f", - "gtr_f", "gti_f", - "ner_f", "nei_f", - "unltr_f", "unlti_f", - "unler_f", "unlei_f", - "uneqr_f", "uneqi_f", - "unger_f", "ungei_f", - "ungtr_f", "ungti_f", - "ltgtr_f", "ltgti_f", - "ordr_f", "ordi_f", - "unordr_f", "unordi_f", - "truncr_f_i", "truncr_f_l", - "extr_f", "extr_d_f", - "movr_f", "movi_f", - "ldr_f", "ldi_f", - "ldxr_f", "ldxi_f", - "str_f", "sti_f", - "stxr_f", "stxi_f", - "bltr_f", "blti_f", - "bler_f", "blei_f", - "beqr_f", "beqi_f", - "bger_f", "bgei_f", - "bgtr_f", "bgti_f", - "bner_f", "bnei_f", - "bunltr_f", "bunlti_f", - "bunler_f", "bunlei_f", - "buneqr_f", "buneqi_f", - "bunger_f", "bungei_f", - "bungtr_f", "bungti_f", - "bltgtr_f", "bltgti_f", - "bordr_f", "bordi_f", - "bunordr_f", "bunordi_f", - "arg_d", - "addr_d", "addi_d", - "subr_d", "subi_d", - "mulr_d", "muli_d", - "divr_d", "divi_d", - "negr_d", "absr_d", - "sqrtr_d", - "ltr_d", "lti_d", - "ler_d", "lei_d", - "eqr_d", "eqi_d", - "ger_d", "gei_d", - "gtr_d", "gti_d", - "ner_d", "nei_d", - "unltr_d", "unlti_d", - "unler_d", "unlei_d", - "uneqr_d", "uneqi_d", - "unger_d", "ungei_d", - "ungtr_d", "ungti_d", - "ltgtr_d", "ltgti_d", - "ordr_d", "ordi_d", - "unordr_d", "unordi_d", - "truncr_d_i", "truncr_d_l", - "extr_d", "extr_f_d", - "movr_d", "movi_d", - "ldr_d", "ldi_d", - "ldxr_d", "ldxi_d", - "str_d", "sti_d", - "stxr_d", "stxi_d", - "bltr_d", "blti_d", - "bler_d", "blei_d", - "beqr_d", "beqi_d", - "bger_d", "bgei_d", - "bgtr_d", "bgti_d", - "bner_d", "bnei_d", - "bunltr_d", "bunlti_d", - "bunler_d", "bunlei_d", - "buneqr_d", "buneqi_d", - "bunger_d", "bungei_d", - "bungtr_d", "bungti_d", - "bltgtr_d", "bltgti_d", - "bordr_d", "bordi_d", - "bunordr_d", "bunordi_d", - "movr_w_f", "movr_ww_d", - "movr_w_d", - "movr_f_w", "movi_f_w", - "movr_d_ww", "movi_d_ww", - "movr_d_w", "movi_d_w", - "x86_retval_f", "x86_retval_d", -}; +#include "jit_names.c" /* * Implementation diff --git a/lib/jit_s390x-sz.c b/lib/jit_s390x-sz.c index d3df0c64f..a80b97346 100644 --- a/lib/jit_s390x-sz.c +++ b/lib/jit_s390x-sz.c @@ -1,351 +1,351 @@ #if __WORDSIZE == 64 #define JIT_INSTR_MAX 68 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 2, - 38, - 0, - 8, - 24, - 8, - 20, - 8, - 12, - 12, - 24, - 12, - 20, - 12, - 12, - 8, - 24, - 60, - 68, - 16, - 32, - 12, - 28, - 16, - 32, - 16, - 20, - 20, - 24, - 12, - 28, - 16, - 32, - 8, - 20, - 8, - 20, - 8, - 24, - 6, - 10, - 6, - 10, - 6, - 10, - 4, - 12, - 20, - 24, - 20, - 24, - 20, - 24, - 20, - 24, - 20, - 24, - 20, - 24, - 20, - 24, - 20, - 24, - 20, - 24, - 20, - 24, - 4, - 16, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 6, - 18, - 6, - 18, - 6, - 18, - 6, - 18, - 6, - 18, - 6, - 18, - 6, - 18, - 14, - 6, - 14, - 6, - 14, - 6, - 14, - 6, - 14, - 6, - 14, - 6, - 14, - 6, - 4, - 16, - 4, - 16, - 4, - 16, - 6, - 18, - 12, - 4, - 12, - 4, - 12, - 6, - 14, - 6, - 10, - 14, - 10, - 14, - 10, - 14, - 10, - 14, - 10, - 26, - 10, - 14, - 10, - 14, - 10, - 14, - 10, - 14, - 10, - 26, - 18, - 18, - 18, - 18, - 10, - 14, - 10, - 14, - 10, - 14, - 10, - 14, - 10, - 14, - 10, - 14, - 10, - 14, - 10, - 14, - 0, - 18, - 2, - 18, - 36, - 0, - 6, - 26, - 8, - 26, - 6, - 26, - 8, - 26, - 4, - 4, - 4, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 20, - 40, - 16, - 36, - 16, - 36, - 20, - 40, - 16, - 36, - 16, - 36, - 4, - 4, - 4, - 4, - 2, - 20, - 4, - 16, - 12, - 4, - 4, - 16, - 12, - 4, - 10, - 30, - 10, - 30, - 10, - 30, - 10, - 30, - 10, - 30, - 10, - 30, - 10, - 30, - 10, - 30, - 18, - 38, - 10, - 30, - 10, - 30, - 18, - 38, - 10, - 30, - 10, - 30, - 0, - 6, - 26, - 8, - 26, - 6, - 26, - 8, - 26, - 4, - 4, - 4, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 16, - 36, - 20, - 40, - 16, - 36, - 16, - 36, - 20, - 40, - 16, - 36, - 16, - 36, - 4, - 4, - 4, - 4, - 2, - 24, - 4, - 16, - 12, - 4, - 4, - 16, - 12, - 4, - 10, - 30, - 10, - 30, - 10, - 34, - 10, - 30, - 10, - 30, - 10, - 30, - 10, - 30, - 10, - 30, - 18, - 38, - 10, - 30, - 10, - 30, - 18, - 38, - 10, - 30, - 10, - 30, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, /* data */ + 0, /* live */ + 6, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 2, /* label */ + 38, /* prolog */ + 0, /* arg */ + 8, /* addr */ + 24, /* addi */ + 8, /* addcr */ + 20, /* addci */ + 8, /* addxr */ + 12, /* addxi */ + 12, /* subr */ + 24, /* subi */ + 12, /* subcr */ + 20, /* subci */ + 12, /* subxr */ + 12, /* subxi */ + 8, /* mulr */ + 24, /* muli */ + 60, /* qmulr */ + 68, /* qmuli */ + 16, /* qmulr_u */ + 32, /* qmuli_u */ + 12, /* divr */ + 28, /* divi */ + 16, /* divr_u */ + 32, /* divi_u */ + 16, /* qdivr */ + 20, /* qdivi */ + 20, /* qdivr_u */ + 24, /* qdivi_u */ + 12, /* remr */ + 28, /* remi */ + 16, /* remr_u */ + 32, /* remi_u */ + 8, /* andr */ + 20, /* andi */ + 8, /* orr */ + 20, /* ori */ + 8, /* xorr */ + 24, /* xori */ + 6, /* lshr */ + 10, /* lshi */ + 6, /* rshr */ + 10, /* rshi */ + 6, /* rshr_u */ + 10, /* rshi_u */ + 4, /* negr */ + 12, /* comr */ + 20, /* ltr */ + 24, /* lti */ + 20, /* ltr_u */ + 24, /* lti_u */ + 20, /* ler */ + 24, /* lei */ + 20, /* ler_u */ + 24, /* lei_u */ + 20, /* eqr */ + 24, /* eqi */ + 20, /* ger */ + 24, /* gei */ + 20, /* ger_u */ + 24, /* gei_u */ + 20, /* gtr */ + 24, /* gti */ + 20, /* gtr_u */ + 24, /* gti_u */ + 20, /* ner */ + 24, /* nei */ + 4, /* movr */ + 16, /* movi */ + 4, /* extr_c */ + 4, /* extr_uc */ + 4, /* extr_s */ + 4, /* extr_us */ + 4, /* extr_i */ + 4, /* extr_ui */ + 4, /* htonr */ + 6, /* ldr_c */ + 18, /* ldi_c */ + 6, /* ldr_uc */ + 18, /* ldi_uc */ + 6, /* ldr_s */ + 18, /* ldi_s */ + 6, /* ldr_us */ + 18, /* ldi_us */ + 6, /* ldr_i */ + 18, /* ldi_i */ + 6, /* ldr_ui */ + 18, /* ldi_ui */ + 6, /* ldr_l */ + 18, /* ldi_l */ + 14, /* ldxr_c */ + 6, /* ldxi_c */ + 14, /* ldxr_uc */ + 6, /* ldxi_uc */ + 14, /* ldxr_s */ + 6, /* ldxi_s */ + 14, /* ldxr_us */ + 6, /* ldxi_us */ + 14, /* ldxr_i */ + 6, /* ldxi_i */ + 14, /* ldxr_ui */ + 6, /* ldxi_ui */ + 14, /* ldxr_l */ + 6, /* ldxi_l */ + 4, /* str_c */ + 16, /* sti_c */ + 4, /* str_s */ + 16, /* sti_s */ + 4, /* str_i */ + 16, /* sti_i */ + 6, /* str_l */ + 18, /* sti_l */ + 12, /* stxr_c */ + 4, /* stxi_c */ + 12, /* stxr_s */ + 4, /* stxi_s */ + 12, /* stxr_i */ + 6, /* stxi_i */ + 14, /* stxr_l */ + 6, /* stxi_l */ + 10, /* bltr */ + 14, /* blti */ + 10, /* bltr_u */ + 14, /* blti_u */ + 10, /* bler */ + 14, /* blei */ + 10, /* bler_u */ + 14, /* blei_u */ + 10, /* beqr */ + 26, /* beqi */ + 10, /* bger */ + 14, /* bgei */ + 10, /* bger_u */ + 14, /* bgei_u */ + 10, /* bgtr */ + 14, /* bgti */ + 10, /* bgtr_u */ + 14, /* bgti_u */ + 10, /* bner */ + 26, /* bnei */ + 18, /* bmsr */ + 18, /* bmsi */ + 18, /* bmcr */ + 18, /* bmci */ + 10, /* boaddr */ + 14, /* boaddi */ + 10, /* boaddr_u */ + 14, /* boaddi_u */ + 10, /* bxaddr */ + 14, /* bxaddi */ + 10, /* bxaddr_u */ + 14, /* bxaddi_u */ + 10, /* bosubr */ + 14, /* bosubi */ + 10, /* bosubr_u */ + 14, /* bosubi_u */ + 10, /* bxsubr */ + 14, /* bxsubi */ + 10, /* bxsubr_u */ + 14, /* bxsubi_u */ + 0, /* jmpr */ + 18, /* jmpi */ + 2, /* callr */ + 18, /* calli */ + 36, /* epilog */ + 0, /* arg_f */ + 6, /* addr_f */ + 26, /* addi_f */ + 8, /* subr_f */ + 26, /* subi_f */ + 6, /* mulr_f */ + 26, /* muli_f */ + 8, /* divr_f */ + 26, /* divi_f */ + 4, /* negr_f */ + 4, /* absr_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 */ + 20, /* uneqr_f */ + 40, /* uneqi_f */ + 16, /* unger_f */ + 36, /* ungei_f */ + 16, /* ungtr_f */ + 36, /* ungti_f */ + 20, /* ltgtr_f */ + 40, /* ltgti_f */ + 16, /* ordr_f */ + 36, /* ordi_f */ + 16, /* unordr_f */ + 36, /* unordi_f */ + 4, /* truncr_f_i */ + 4, /* truncr_f_l */ + 4, /* extr_f */ + 4, /* extr_d_f */ + 2, /* movr_f */ + 20, /* movi_f */ + 4, /* ldr_f */ + 16, /* ldi_f */ + 12, /* ldxr_f */ + 4, /* ldxi_f */ + 4, /* str_f */ + 16, /* sti_f */ + 12, /* stxr_f */ + 4, /* stxi_f */ + 10, /* bltr_f */ + 30, /* blti_f */ + 10, /* bler_f */ + 30, /* blei_f */ + 10, /* beqr_f */ + 30, /* beqi_f */ + 10, /* bger_f */ + 30, /* bgei_f */ + 10, /* bgtr_f */ + 30, /* bgti_f */ + 10, /* bner_f */ + 30, /* bnei_f */ + 10, /* bunltr_f */ + 30, /* bunlti_f */ + 10, /* bunler_f */ + 30, /* bunlei_f */ + 18, /* buneqr_f */ + 38, /* buneqi_f */ + 10, /* bunger_f */ + 30, /* bungei_f */ + 10, /* bungtr_f */ + 30, /* bungti_f */ + 18, /* bltgtr_f */ + 38, /* bltgti_f */ + 10, /* bordr_f */ + 30, /* bordi_f */ + 10, /* bunordr_f */ + 30, /* bunordi_f */ + 0, /* arg_d */ + 6, /* addr_d */ + 26, /* addi_d */ + 8, /* subr_d */ + 26, /* subi_d */ + 6, /* mulr_d */ + 26, /* muli_d */ + 8, /* divr_d */ + 26, /* divi_d */ + 4, /* negr_d */ + 4, /* absr_d */ + 4, /* sqrtr_d */ + 16, /* ltr_d */ + 36, /* lti_d */ + 16, /* ler_d */ + 36, /* lei_d */ + 16, /* eqr_d */ + 36, /* eqi_d */ + 16, /* ger_d */ + 36, /* gei_d */ + 16, /* gtr_d */ + 36, /* gti_d */ + 16, /* ner_d */ + 36, /* nei_d */ + 16, /* unltr_d */ + 36, /* unlti_d */ + 16, /* unler_d */ + 36, /* unlei_d */ + 20, /* uneqr_d */ + 40, /* uneqi_d */ + 16, /* unger_d */ + 36, /* ungei_d */ + 16, /* ungtr_d */ + 36, /* ungti_d */ + 20, /* ltgtr_d */ + 40, /* ltgti_d */ + 16, /* ordr_d */ + 36, /* ordi_d */ + 16, /* unordr_d */ + 36, /* unordi_d */ + 4, /* truncr_d_i */ + 4, /* truncr_d_l */ + 4, /* extr_d */ + 4, /* extr_f_d */ + 2, /* movr_d */ + 24, /* movi_d */ + 4, /* ldr_d */ + 16, /* ldi_d */ + 12, /* ldxr_d */ + 4, /* ldxi_d */ + 4, /* str_d */ + 16, /* sti_d */ + 12, /* stxr_d */ + 4, /* stxi_d */ + 10, /* bltr_d */ + 30, /* blti_d */ + 10, /* bler_d */ + 30, /* blei_d */ + 10, /* beqr_d */ + 34, /* beqi_d */ + 10, /* bger_d */ + 30, /* bgei_d */ + 10, /* bgtr_d */ + 30, /* bgti_d */ + 10, /* bner_d */ + 30, /* bnei_d */ + 10, /* bunltr_d */ + 30, /* bunlti_d */ + 10, /* bunler_d */ + 30, /* bunlei_d */ + 18, /* buneqr_d */ + 38, /* buneqi_d */ + 10, /* bunger_d */ + 30, /* bungei_d */ + 10, /* bungtr_d */ + 30, /* bungti_d */ + 18, /* bltgtr_d */ + 38, /* bltgti_d */ + 10, /* bordr_d */ + 30, /* bordi_d */ + 10, /* bunordr_d */ + 30, /* bunordi_d */ + 0, /* movr_w_f */ + 0, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 0, /* movi_f_w */ + 0, /* movr_d_ww */ + 0, /* movi_d_ww */ + 0, /* movr_d_w */ + 0, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #endif /* __WORDSIZE */ diff --git a/lib/jit_sparc-sz.c b/lib/jit_sparc-sz.c index 730a16aa1..df52ca357 100644 --- a/lib/jit_sparc-sz.c +++ b/lib/jit_sparc-sz.c @@ -1,351 +1,351 @@ #if __WORDSIZE == 32 #define JIT_INSTR_MAX 40 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 16, - 0, - 4, - 12, - 4, - 12, - 4, - 4, - 4, - 12, - 4, - 12, - 4, - 4, - 4, - 12, - 8, - 16, - 8, - 16, - 12, - 20, - 8, - 16, - 28, - 24, - 24, - 20, - 20, - 28, - 16, - 24, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 4, - 8, - 8, - 4, - 8, - 8, - 0, - 0, - 4, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 4, - 12, - 0, - 0, - 0, - 0, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 0, - 0, - 0, - 0, - 4, - 12, - 4, - 12, - 4, - 12, - 0, - 0, - 4, - 4, - 4, - 4, - 4, - 4, - 0, - 0, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 20, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 20, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 12, - 0, - 16, - 8, - 16, - 24, - 0, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 16, - 4, - 4, - 4, - 16, - 32, - 16, - 32, - 16, - 32, - 16, - 32, - 16, - 32, - 16, - 32, - 16, - 32, - 16, - 32, - 16, - 32, - 16, - 32, - 16, - 32, - 16, - 32, - 16, - 32, - 16, - 32, - 12, - 0, - 12, - 4, - 4, - 16, - 4, - 12, - 4, - 4, - 4, - 12, - 4, - 4, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 24, - 12, - 28, - 12, - 28, - 12, - 28, - 12, - 28, - 12, - 28, - 12, - 28, - 12, - 24, - 12, - 24, - 12, - 28, - 0, - 4, - 24, - 4, - 24, - 4, - 24, - 4, - 24, - 8, - 8, - 4, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 16, - 40, - 12, - 0, - 16, - 4, - 8, - 24, - 4, - 12, - 4, - 4, - 4, - 12, - 4, - 4, - 12, - 32, - 12, - 32, - 12, - 32, - 12, - 32, - 12, - 32, - 12, - 36, - 12, - 36, - 12, - 36, - 12, - 36, - 12, - 36, - 12, - 36, - 12, - 32, - 12, - 32, - 12, - 36, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, /* data */ + 0, /* live */ + 0, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 0, /* label */ + 16, /* prolog */ + 0, /* arg */ + 4, /* addr */ + 12, /* addi */ + 4, /* addcr */ + 12, /* addci */ + 4, /* addxr */ + 4, /* addxi */ + 4, /* subr */ + 12, /* subi */ + 4, /* subcr */ + 12, /* subci */ + 4, /* subxr */ + 4, /* subxi */ + 4, /* mulr */ + 12, /* muli */ + 8, /* qmulr */ + 16, /* qmuli */ + 8, /* qmulr_u */ + 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 */ + 4, /* andr */ + 12, /* andi */ + 4, /* orr */ + 12, /* ori */ + 4, /* xorr */ + 12, /* xori */ + 4, /* lshr */ + 4, /* lshi */ + 4, /* rshr */ + 4, /* rshi */ + 4, /* rshr_u */ + 4, /* rshi_u */ + 4, /* negr */ + 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, /* movr */ + 8, /* movi */ + 8, /* extr_c */ + 4, /* extr_uc */ + 8, /* extr_s */ + 8, /* extr_us */ + 0, /* extr_i */ + 0, /* extr_ui */ + 4, /* htonr */ + 4, /* ldr_c */ + 12, /* ldi_c */ + 4, /* ldr_uc */ + 12, /* ldi_uc */ + 4, /* ldr_s */ + 12, /* ldi_s */ + 4, /* ldr_us */ + 12, /* ldi_us */ + 4, /* ldr_i */ + 12, /* ldi_i */ + 0, /* ldr_ui */ + 0, /* ldi_ui */ + 0, /* ldr_l */ + 0, /* ldi_l */ + 4, /* ldxr_c */ + 4, /* ldxi_c */ + 4, /* ldxr_uc */ + 4, /* ldxi_uc */ + 4, /* ldxr_s */ + 4, /* ldxi_s */ + 4, /* ldxr_us */ + 4, /* ldxi_us */ + 4, /* ldxr_i */ + 4, /* ldxi_i */ + 0, /* ldxr_ui */ + 0, /* ldxi_ui */ + 0, /* ldxr_l */ + 0, /* ldxi_l */ + 4, /* str_c */ + 12, /* sti_c */ + 4, /* str_s */ + 12, /* sti_s */ + 4, /* str_i */ + 12, /* sti_i */ + 0, /* str_l */ + 0, /* sti_l */ + 4, /* stxr_c */ + 4, /* stxi_c */ + 4, /* stxr_s */ + 4, /* stxi_s */ + 4, /* stxr_i */ + 4, /* 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 */ + 0, /* jmpr */ + 16, /* jmpi */ + 8, /* callr */ + 16, /* calli */ + 24, /* epilog */ + 0, /* arg_f */ + 4, /* addr_f */ + 16, /* addi_f */ + 4, /* subr_f */ + 16, /* subi_f */ + 4, /* mulr_f */ + 16, /* muli_f */ + 4, /* divr_f */ + 16, /* divi_f */ + 4, /* negr_f */ + 4, /* absr_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, /* truncr_f_l */ + 12, /* extr_f */ + 4, /* extr_d_f */ + 4, /* movr_f */ + 16, /* movi_f */ + 4, /* ldr_f */ + 12, /* ldi_f */ + 4, /* ldxr_f */ + 4, /* ldxi_f */ + 4, /* str_f */ + 12, /* sti_f */ + 4, /* stxr_f */ + 4, /* 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 */ + 0, /* arg_d */ + 4, /* addr_d */ + 24, /* addi_d */ + 4, /* subr_d */ + 24, /* subi_d */ + 4, /* mulr_d */ + 24, /* muli_d */ + 4, /* divr_d */ + 24, /* divi_d */ + 8, /* negr_d */ + 8, /* absr_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, /* truncr_d_l */ + 16, /* extr_d */ + 4, /* extr_f_d */ + 8, /* movr_d */ + 24, /* movi_d */ + 4, /* ldr_d */ + 12, /* ldi_d */ + 4, /* ldxr_d */ + 4, /* ldxi_d */ + 4, /* str_d */ + 12, /* sti_d */ + 4, /* stxr_d */ + 4, /* 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 */ + 0, /* movr_w_f */ + 0, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 0, /* movi_f_w */ + 0, /* movr_d_ww */ + 0, /* movi_d_ww */ + 0, /* movr_d_w */ + 0, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #endif /* __WORDSIZE */ diff --git a/lib/jit_x86-sz.c b/lib/jit_x86-sz.c index 52101e4a3..70f8a03ff 100644 --- a/lib/jit_x86-sz.c +++ b/lib/jit_x86-sz.c @@ -1,1053 +1,1054 @@ #if __WORDSIZE == 32 #define JIT_INSTR_MAX 42 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 3, - 26, - 0, - 3, - 6, - 4, - 6, - 4, - 5, - 4, - 6, - 6, - 6, - 6, - 5, - 5, - 7, - 20, - 23, - 20, - 23, - 21, - 24, - 22, - 25, - 23, - 24, - 24, - 25, - 21, - 24, - 22, - 25, - 4, - 7, - 4, - 8, - 4, - 8, - 16, - 7, - 16, - 5, - 16, - 5, - 4, - 4, - 15, - 16, - 15, - 16, - 15, - 16, - 15, - 16, - 15, - 16, - 15, - 16, - 15, - 16, - 15, - 16, - 15, - 16, - 15, - 16, - 2, - 5, - 11, - 11, - 3, - 3, - 0, - 0, - 4, - 3, - 7, - 3, - 7, - 3, - 7, - 3, - 7, - 2, - 6, - 0, - 0, - 0, - 0, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 3, - 6, - 0, - 0, - 0, - 0, - 10, - 14, - 3, - 7, - 2, - 6, - 0, - 0, - 11, - 11, - 4, - 4, - 3, - 6, - 0, - 0, - 8, - 9, - 8, - 9, - 8, - 12, - 8, - 9, - 8, - 12, - 8, - 9, - 8, - 9, - 8, - 9, - 8, - 9, - 8, - 12, - 8, - 12, - 8, - 12, - 8, - 9, - 8, - 9, - 8, - 9, - 8, - 9, - 8, - 9, - 8, - 9, - 8, - 9, - 8, - 9, - 0, - 5, - 4, - 7, - 24, - 0, - 8, - 17, - 12, - 17, - 8, - 17, - 12, - 17, - 12, - 12, - 6, - 13, - 27, - 13, - 27, - 15, - 29, - 13, - 27, - 13, - 27, - 18, - 32, - 13, - 27, - 13, - 27, - 13, - 27, - 13, - 27, - 13, - 27, - 13, - 27, - 13, - 27, - 13, - 27, - 8, - 0, - 8, - 4, - 10, - 15, - 4, - 8, - 5, - 5, - 6, - 10, - 7, - 7, - 10, - 18, - 10, - 18, - 12, - 20, - 10, - 18, - 10, - 18, - 13, - 21, - 10, - 18, - 10, - 18, - 10, - 18, - 10, - 18, - 10, - 18, - 10, - 18, - 10, - 18, - 10, - 18, - 0, - 8, - 26, - 12, - 26, - 8, - 26, - 12, - 26, - 18, - 13, - 6, - 13, - 37, - 13, - 37, - 15, - 39, - 13, - 37, - 13, - 37, - 18, - 42, - 13, - 37, - 13, - 37, - 13, - 37, - 13, - 37, - 13, - 37, - 13, - 37, - 13, - 37, - 13, - 37, - 8, - 0, - 8, - 4, - 10, - 24, - 4, - 8, - 5, - 8, - 6, - 10, - 7, - 7, - 10, - 28, - 10, - 28, - 12, - 30, - 10, - 28, - 10, - 28, - 13, - 31, - 10, - 28, - 10, - 28, - 10, - 28, - 10, - 28, - 10, - 28, - 10, - 28, - 10, - 28, - 10, - 28, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 10, + 0, /* data */ + 0, /* live */ + 3, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 3, /* label */ + 26, /* prolog */ + 0, /* arg */ + 3, /* addr */ + 6, /* addi */ + 4, /* addcr */ + 6, /* addci */ + 4, /* addxr */ + 5, /* addxi */ + 4, /* subr */ + 6, /* subi */ + 6, /* subcr */ + 6, /* subci */ + 6, /* subxr */ + 5, /* subxi */ + 5, /* mulr */ + 7, /* muli */ + 20, /* qmulr */ + 25, /* qmuli */ + 20, /* qmulr_u */ + 25, /* qmuli_u */ + 21, /* divr */ + 24, /* divi */ + 22, /* divr_u */ + 25, /* divi_u */ + 23, /* qdivr */ + 26, /* qdivi */ + 24, /* qdivr_u */ + 27, /* qdivi_u */ + 21, /* remr */ + 24, /* remi */ + 22, /* remr_u */ + 25, /* remi_u */ + 4, /* andr */ + 7, /* andi */ + 4, /* orr */ + 8, /* ori */ + 4, /* xorr */ + 8, /* xori */ + 16, /* lshr */ + 7, /* lshi */ + 16, /* rshr */ + 5, /* rshi */ + 16, /* rshr_u */ + 5, /* rshi_u */ + 4, /* negr */ + 4, /* comr */ + 15, /* ltr */ + 16, /* lti */ + 15, /* ltr_u */ + 16, /* lti_u */ + 15, /* ler */ + 16, /* lei */ + 15, /* ler_u */ + 16, /* lei_u */ + 15, /* eqr */ + 16, /* eqi */ + 15, /* ger */ + 16, /* gei */ + 15, /* ger_u */ + 16, /* gei_u */ + 15, /* gtr */ + 16, /* gti */ + 15, /* gtr_u */ + 16, /* gti_u */ + 15, /* ner */ + 16, /* nei */ + 2, /* movr */ + 5, /* movi */ + 11, /* extr_c */ + 11, /* extr_uc */ + 3, /* extr_s */ + 3, /* extr_us */ + 0, /* extr_i */ + 0, /* extr_ui */ + 4, /* htonr */ + 3, /* ldr_c */ + 7, /* ldi_c */ + 3, /* ldr_uc */ + 7, /* ldi_uc */ + 3, /* ldr_s */ + 7, /* ldi_s */ + 3, /* ldr_us */ + 7, /* ldi_us */ + 2, /* ldr_i */ + 6, /* ldi_i */ + 0, /* ldr_ui */ + 0, /* ldi_ui */ + 0, /* ldr_l */ + 0, /* ldi_l */ + 4, /* ldxr_c */ + 4, /* ldxi_c */ + 4, /* ldxr_uc */ + 4, /* ldxi_uc */ + 4, /* ldxr_s */ + 4, /* ldxi_s */ + 4, /* ldxr_us */ + 4, /* ldxi_us */ + 3, /* ldxr_i */ + 6, /* ldxi_i */ + 0, /* ldxr_ui */ + 0, /* ldxi_ui */ + 0, /* ldxr_l */ + 0, /* ldxi_l */ + 10, /* str_c */ + 14, /* sti_c */ + 3, /* str_s */ + 7, /* sti_s */ + 2, /* str_i */ + 6, /* sti_i */ + 0, /* str_l */ + 0, /* sti_l */ + 11, /* stxr_c */ + 11, /* stxi_c */ + 4, /* stxr_s */ + 4, /* stxi_s */ + 3, /* stxr_i */ + 6, /* stxi_i */ + 0, /* stxr_l */ + 0, /* stxi_l */ + 8, /* bltr */ + 9, /* blti */ + 8, /* bltr_u */ + 9, /* blti_u */ + 8, /* bler */ + 12, /* blei */ + 8, /* bler_u */ + 9, /* blei_u */ + 8, /* beqr */ + 12, /* beqi */ + 8, /* bger */ + 9, /* bgei */ + 8, /* bger_u */ + 9, /* bgei_u */ + 8, /* bgtr */ + 9, /* bgti */ + 8, /* bgtr_u */ + 9, /* bgti_u */ + 8, /* bner */ + 12, /* bnei */ + 8, /* bmsr */ + 12, /* bmsi */ + 8, /* bmcr */ + 12, /* bmci */ + 8, /* boaddr */ + 9, /* boaddi */ + 8, /* boaddr_u */ + 9, /* boaddi_u */ + 8, /* bxaddr */ + 9, /* bxaddi */ + 8, /* bxaddr_u */ + 9, /* bxaddi_u */ + 8, /* bosubr */ + 9, /* bosubi */ + 8, /* bosubr_u */ + 9, /* bosubi_u */ + 8, /* bxsubr */ + 9, /* bxsubi */ + 8, /* bxsubr_u */ + 9, /* bxsubi_u */ + 2, /* jmpr */ + 5, /* jmpi */ + 4, /* callr */ + 7, /* calli */ + 24, /* epilog */ + 0, /* arg_f */ + 8, /* addr_f */ + 19, /* addi_f */ + 12, /* subr_f */ + 19, /* subi_f */ + 8, /* mulr_f */ + 19, /* muli_f */ + 12, /* divr_f */ + 19, /* divi_f */ + 12, /* negr_f */ + 12, /* absr_f */ + 6, /* sqrtr_f */ + 13, /* ltr_f */ + 27, /* lti_f */ + 13, /* ler_f */ + 27, /* lei_f */ + 15, /* eqr_f */ + 29, /* eqi_f */ + 13, /* ger_f */ + 27, /* gei_f */ + 13, /* gtr_f */ + 27, /* gti_f */ + 18, /* ner_f */ + 32, /* nei_f */ + 13, /* unltr_f */ + 27, /* unlti_f */ + 13, /* unler_f */ + 27, /* unlei_f */ + 13, /* uneqr_f */ + 27, /* uneqi_f */ + 13, /* unger_f */ + 27, /* ungei_f */ + 13, /* ungtr_f */ + 27, /* ungti_f */ + 13, /* ltgtr_f */ + 27, /* ltgti_f */ + 13, /* ordr_f */ + 27, /* ordi_f */ + 13, /* unordr_f */ + 27, /* unordi_f */ + 8, /* truncr_f_i */ + 0, /* truncr_f_l */ + 8, /* extr_f */ + 4, /* extr_d_f */ + 10, /* movr_f */ + 19, /* movi_f */ + 4, /* ldr_f */ + 8, /* ldi_f */ + 5, /* ldxr_f */ + 5, /* ldxi_f */ + 6, /* str_f */ + 10, /* sti_f */ + 7, /* stxr_f */ + 7, /* stxi_f */ + 10, /* bltr_f */ + 23, /* blti_f */ + 10, /* bler_f */ + 23, /* blei_f */ + 12, /* beqr_f */ + 25, /* beqi_f */ + 10, /* bger_f */ + 23, /* bgei_f */ + 10, /* bgtr_f */ + 23, /* bgti_f */ + 13, /* bner_f */ + 26, /* bnei_f */ + 10, /* bunltr_f */ + 23, /* bunlti_f */ + 10, /* bunler_f */ + 23, /* bunlei_f */ + 10, /* buneqr_f */ + 23, /* buneqi_f */ + 10, /* bunger_f */ + 23, /* bungei_f */ + 10, /* bungtr_f */ + 23, /* bungti_f */ + 10, /* bltgtr_f */ + 23, /* bltgti_f */ + 10, /* bordr_f */ + 23, /* bordi_f */ + 10, /* bunordr_f */ + 23, /* bunordi_f */ + 0, /* arg_d */ + 8, /* addr_d */ + 26, /* addi_d */ + 12, /* subr_d */ + 26, /* subi_d */ + 8, /* mulr_d */ + 26, /* muli_d */ + 12, /* divr_d */ + 26, /* divi_d */ + 18, /* negr_d */ + 13, /* absr_d */ + 6, /* sqrtr_d */ + 13, /* ltr_d */ + 37, /* lti_d */ + 13, /* ler_d */ + 37, /* lei_d */ + 15, /* eqr_d */ + 39, /* eqi_d */ + 13, /* ger_d */ + 37, /* gei_d */ + 13, /* gtr_d */ + 37, /* gti_d */ + 18, /* ner_d */ + 42, /* nei_d */ + 13, /* unltr_d */ + 37, /* unlti_d */ + 13, /* unler_d */ + 37, /* unlei_d */ + 13, /* uneqr_d */ + 37, /* uneqi_d */ + 13, /* unger_d */ + 37, /* ungei_d */ + 13, /* ungtr_d */ + 37, /* ungti_d */ + 13, /* ltgtr_d */ + 37, /* ltgti_d */ + 13, /* ordr_d */ + 37, /* ordi_d */ + 13, /* unordr_d */ + 37, /* unordi_d */ + 8, /* truncr_d_i */ + 0, /* truncr_d_l */ + 8, /* extr_d */ + 4, /* extr_f_d */ + 10, /* movr_d */ + 24, /* movi_d */ + 4, /* ldr_d */ + 8, /* ldi_d */ + 5, /* ldxr_d */ + 8, /* ldxi_d */ + 6, /* str_d */ + 10, /* sti_d */ + 7, /* stxr_d */ + 7, /* stxi_d */ + 10, /* bltr_d */ + 28, /* blti_d */ + 10, /* bler_d */ + 28, /* blei_d */ + 12, /* beqr_d */ + 30, /* beqi_d */ + 10, /* bger_d */ + 28, /* bgei_d */ + 10, /* bgtr_d */ + 28, /* bgti_d */ + 13, /* bner_d */ + 31, /* bnei_d */ + 10, /* bunltr_d */ + 28, /* bunlti_d */ + 10, /* bunler_d */ + 28, /* bunlei_d */ + 10, /* buneqr_d */ + 28, /* buneqi_d */ + 10, /* bunger_d */ + 28, /* bungei_d */ + 10, /* bungtr_d */ + 28, /* bungti_d */ + 10, /* bltgtr_d */ + 28, /* bltgti_d */ + 10, /* bordr_d */ + 28, /* bordi_d */ + 10, /* bunordr_d */ + 28, /* bunordi_d */ + 0, /* movr_w_f */ + 0, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 0, /* movi_f_w */ + 0, /* movr_d_ww */ + 0, /* movi_d_ww */ + 0, /* movr_d_w */ + 0, /* movi_d_w */ + 10, /* x86_retval_f */ + 10, /* x86_retval_d */ #endif /* __WORDSIZE */ #if __WORDSIZE == 64 #if __CYGWIN__ #define JIT_INSTR_MAX 71 - 0, - 0, - 0, - 0, - 0, - 0, - 7, - 71, - 0, - 4, - 13, - 6, - 13, - 6, - 7, - 6, - 13, - 9, - 13, - 9, - 7, - 7, - 14, - 20, - 30, - 20, - 30, - 22, - 29, - 23, - 30, - 25, - 32, - 26, - 33, - 22, - 29, - 23, - 30, - 6, - 13, - 6, - 13, - 6, - 13, - 9, - 8, - 9, - 7, - 9, - 7, - 6, - 6, - 13, - 14, - 13, - 14, - 13, - 14, - 13, - 14, - 13, - 14, - 13, - 14, - 13, - 14, - 13, - 14, - 13, - 14, - 13, - 14, - 3, - 10, - 7, - 7, - 4, - 4, - 3, - 3, - 6, - 4, - 15, - 4, - 15, - 4, - 15, - 4, - 15, - 3, - 14, - 3, - 14, - 3, - 14, - 5, - 8, - 5, - 8, - 5, - 8, - 5, - 8, - 4, - 7, - 4, - 6, - 4, - 7, - 6, - 17, - 4, - 15, - 3, - 14, - 3, - 14, - 7, - 7, - 5, - 5, - 4, - 6, - 4, - 8, - 9, - 10, - 9, - 10, - 9, - 13, - 9, - 10, - 9, - 19, - 9, - 10, - 9, - 10, - 9, - 10, - 9, - 10, - 9, - 19, - 9, - 13, - 9, - 13, - 9, - 10, - 9, - 10, - 9, - 10, - 9, - 10, - 9, - 10, - 9, - 10, - 9, - 10, - 9, - 10, - 3, - 5, - 3, - 13, - 68, - 0, - 10, - 21, - 15, - 21, - 10, - 21, - 15, - 21, - 15, - 15, - 5, - 16, - 31, - 16, - 31, - 18, - 33, - 16, - 31, - 16, - 31, - 20, - 35, - 16, - 31, - 16, - 31, - 16, - 31, - 16, - 31, - 16, - 31, - 16, - 31, - 16, - 31, - 16, - 31, - 5, - 5, - 5, - 5, - 5, - 15, - 5, - 16, - 6, - 8, - 5, - 16, - 6, - 9, - 10, - 21, - 10, - 24, - 12, - 27, - 10, - 25, - 10, - 25, - 13, - 28, - 10, - 25, - 10, - 25, - 10, - 25, - 10, - 25, - 10, - 25, - 10, - 25, - 10, - 25, - 10, - 25, - 0, - 10, - 25, - 15, - 25, - 10, - 25, - 15, - 25, - 22, - 16, - 5, - 17, - 32, - 17, - 32, - 19, - 34, - 17, - 32, - 17, - 32, - 21, - 36, - 17, - 32, - 17, - 32, - 17, - 32, - 17, - 32, - 17, - 32, - 17, - 32, - 17, - 32, - 17, - 32, - 5, - 5, - 5, - 5, - 5, - 15, - 5, - 16, - 6, - 8, - 5, - 16, - 6, - 9, - 11, - 26, - 11, - 26, - 13, - 28, - 11, - 26, - 11, - 26, - 14, - 29, - 11, - 26, - 11, - 26, - 11, - 26, - 11, - 26, - 11, - 26, - 11, - 26, - 11, - 26, - 11, - 26, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, /* data */ + 0, /* live */ + 7, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 7, /* label */ + 71, /* prolog */ + 0, /* arg */ + 4, /* addr */ + 13, /* addi */ + 6, /* addcr */ + 13, /* addci */ + 6, /* addxr */ + 7, /* addxi */ + 6, /* subr */ + 13, /* subi */ + 9, /* subcr */ + 13, /* subci */ + 9, /* subxr */ + 7, /* subxi */ + 7, /* mulr */ + 14, /* muli */ + 20, /* qmulr */ + 30, /* qmuli */ + 20, /* qmulr_u */ + 30, /* qmuli_u */ + 22, /* divr */ + 29, /* divi */ + 23, /* divr_u */ + 30, /* divi_u */ + 25, /* qdivr */ + 32, /* qdivi */ + 26, /* qdivr_u */ + 33, /* qdivi_u */ + 22, /* remr */ + 29, /* remi */ + 23, /* remr_u */ + 30, /* remi_u */ + 6, /* andr */ + 13, /* andi */ + 6, /* orr */ + 13, /* ori */ + 6, /* xorr */ + 13, /* xori */ + 9, /* lshr */ + 8, /* lshi */ + 9, /* rshr */ + 7, /* rshi */ + 9, /* rshr_u */ + 7, /* rshi_u */ + 6, /* negr */ + 6, /* comr */ + 13, /* ltr */ + 14, /* lti */ + 13, /* ltr_u */ + 14, /* lti_u */ + 13, /* ler */ + 14, /* lei */ + 13, /* ler_u */ + 14, /* lei_u */ + 13, /* eqr */ + 14, /* eqi */ + 13, /* ger */ + 14, /* gei */ + 13, /* ger_u */ + 14, /* gei_u */ + 13, /* gtr */ + 14, /* gti */ + 13, /* gtr_u */ + 14, /* gti_u */ + 13, /* ner */ + 14, /* nei */ + 3, /* movr */ + 10, /* movi */ + 7, /* extr_c */ + 7, /* extr_uc */ + 4, /* extr_s */ + 4, /* extr_us */ + 3, /* extr_i */ + 3, /* extr_ui */ + 6, /* htonr */ + 4, /* ldr_c */ + 15, /* ldi_c */ + 4, /* ldr_uc */ + 15, /* ldi_uc */ + 4, /* ldr_s */ + 15, /* ldi_s */ + 4, /* ldr_us */ + 15, /* ldi_us */ + 3, /* ldr_i */ + 14, /* ldi_i */ + 3, /* ldr_ui */ + 14, /* ldi_ui */ + 3, /* ldr_l */ + 14, /* ldi_l */ + 5, /* ldxr_c */ + 8, /* ldxi_c */ + 5, /* ldxr_uc */ + 8, /* ldxi_uc */ + 5, /* ldxr_s */ + 8, /* ldxi_s */ + 5, /* ldxr_us */ + 8, /* ldxi_us */ + 4, /* ldxr_i */ + 7, /* ldxi_i */ + 4, /* ldxr_ui */ + 6, /* ldxi_ui */ + 4, /* ldxr_l */ + 7, /* ldxi_l */ + 6, /* str_c */ + 17, /* sti_c */ + 4, /* str_s */ + 15, /* sti_s */ + 3, /* str_i */ + 14, /* sti_i */ + 3, /* str_l */ + 14, /* sti_l */ + 7, /* stxr_c */ + 7, /* stxi_c */ + 5, /* stxr_s */ + 5, /* stxi_s */ + 4, /* stxr_i */ + 6, /* stxi_i */ + 4, /* stxr_l */ + 8, /* stxi_l */ + 9, /* bltr */ + 10, /* blti */ + 9, /* bltr_u */ + 10, /* blti_u */ + 9, /* bler */ + 13, /* blei */ + 9, /* bler_u */ + 10, /* blei_u */ + 9, /* beqr */ + 19, /* beqi */ + 9, /* bger */ + 10, /* bgei */ + 9, /* bger_u */ + 10, /* bgei_u */ + 9, /* bgtr */ + 10, /* bgti */ + 9, /* bgtr_u */ + 10, /* bgti_u */ + 9, /* bner */ + 19, /* bnei */ + 9, /* bmsr */ + 13, /* bmsi */ + 9, /* bmcr */ + 13, /* bmci */ + 9, /* boaddr */ + 10, /* boaddi */ + 9, /* boaddr_u */ + 10, /* boaddi_u */ + 9, /* bxaddr */ + 10, /* bxaddi */ + 9, /* bxaddr_u */ + 10, /* bxaddi_u */ + 9, /* bosubr */ + 10, /* bosubi */ + 9, /* bosubr_u */ + 10, /* bosubi_u */ + 9, /* bxsubr */ + 10, /* bxsubi */ + 9, /* bxsubr_u */ + 10, /* bxsubi_u */ + 3, /* jmpr */ + 5, /* jmpi */ + 3, /* callr */ + 13, /* calli */ + 68, /* epilog */ + 0, /* arg_f */ + 10, /* addr_f */ + 21, /* addi_f */ + 15, /* subr_f */ + 21, /* subi_f */ + 10, /* mulr_f */ + 21, /* muli_f */ + 15, /* divr_f */ + 21, /* divi_f */ + 15, /* negr_f */ + 15, /* absr_f */ + 5, /* sqrtr_f */ + 16, /* ltr_f */ + 31, /* lti_f */ + 16, /* ler_f */ + 31, /* lei_f */ + 18, /* eqr_f */ + 33, /* eqi_f */ + 16, /* ger_f */ + 31, /* gei_f */ + 16, /* gtr_f */ + 31, /* gti_f */ + 20, /* ner_f */ + 35, /* nei_f */ + 16, /* unltr_f */ + 31, /* unlti_f */ + 16, /* unler_f */ + 31, /* unlei_f */ + 16, /* uneqr_f */ + 31, /* uneqi_f */ + 16, /* unger_f */ + 31, /* ungei_f */ + 16, /* ungtr_f */ + 31, /* ungti_f */ + 16, /* ltgtr_f */ + 31, /* ltgti_f */ + 16, /* ordr_f */ + 31, /* ordi_f */ + 16, /* unordr_f */ + 31, /* unordi_f */ + 5, /* truncr_f_i */ + 5, /* truncr_f_l */ + 5, /* extr_f */ + 5, /* extr_d_f */ + 5, /* movr_f */ + 15, /* movi_f */ + 5, /* ldr_f */ + 16, /* ldi_f */ + 6, /* ldxr_f */ + 8, /* ldxi_f */ + 5, /* str_f */ + 16, /* sti_f */ + 6, /* stxr_f */ + 9, /* stxi_f */ + 10, /* bltr_f */ + 21, /* blti_f */ + 10, /* bler_f */ + 24, /* blei_f */ + 12, /* beqr_f */ + 27, /* beqi_f */ + 10, /* bger_f */ + 25, /* bgei_f */ + 10, /* bgtr_f */ + 25, /* bgti_f */ + 13, /* bner_f */ + 28, /* bnei_f */ + 10, /* bunltr_f */ + 25, /* bunlti_f */ + 10, /* bunler_f */ + 25, /* bunlei_f */ + 10, /* buneqr_f */ + 25, /* buneqi_f */ + 10, /* bunger_f */ + 25, /* bungei_f */ + 10, /* bungtr_f */ + 25, /* bungti_f */ + 10, /* bltgtr_f */ + 25, /* bltgti_f */ + 10, /* bordr_f */ + 25, /* bordi_f */ + 10, /* bunordr_f */ + 25, /* bunordi_f */ + 0, /* arg_d */ + 10, /* addr_d */ + 25, /* addi_d */ + 15, /* subr_d */ + 25, /* subi_d */ + 10, /* mulr_d */ + 25, /* muli_d */ + 15, /* divr_d */ + 25, /* divi_d */ + 22, /* negr_d */ + 16, /* absr_d */ + 5, /* sqrtr_d */ + 17, /* ltr_d */ + 32, /* lti_d */ + 17, /* ler_d */ + 32, /* lei_d */ + 19, /* eqr_d */ + 34, /* eqi_d */ + 17, /* ger_d */ + 32, /* gei_d */ + 17, /* gtr_d */ + 32, /* gti_d */ + 21, /* ner_d */ + 36, /* nei_d */ + 17, /* unltr_d */ + 32, /* unlti_d */ + 17, /* unler_d */ + 32, /* unlei_d */ + 17, /* uneqr_d */ + 32, /* uneqi_d */ + 17, /* unger_d */ + 32, /* ungei_d */ + 17, /* ungtr_d */ + 32, /* ungti_d */ + 17, /* ltgtr_d */ + 32, /* ltgti_d */ + 17, /* ordr_d */ + 32, /* ordi_d */ + 17, /* unordr_d */ + 32, /* unordi_d */ + 5, /* truncr_d_i */ + 5, /* truncr_d_l */ + 5, /* extr_d */ + 5, /* extr_f_d */ + 5, /* movr_d */ + 15, /* movi_d */ + 5, /* ldr_d */ + 16, /* ldi_d */ + 6, /* ldxr_d */ + 8, /* ldxi_d */ + 5, /* str_d */ + 16, /* sti_d */ + 6, /* stxr_d */ + 9, /* stxi_d */ + 11, /* bltr_d */ + 26, /* blti_d */ + 11, /* bler_d */ + 26, /* blei_d */ + 13, /* beqr_d */ + 28, /* beqi_d */ + 11, /* bger_d */ + 26, /* bgei_d */ + 11, /* bgtr_d */ + 26, /* bgti_d */ + 14, /* bner_d */ + 29, /* bnei_d */ + 11, /* bunltr_d */ + 26, /* bunlti_d */ + 11, /* bunler_d */ + 26, /* bunlei_d */ + 11, /* buneqr_d */ + 26, /* buneqi_d */ + 11, /* bunger_d */ + 26, /* bungei_d */ + 11, /* bungtr_d */ + 26, /* bungti_d */ + 11, /* bltgtr_d */ + 26, /* bltgti_d */ + 11, /* bordr_d */ + 26, /* bordi_d */ + 11, /* bunordr_d */ + 26, /* bunordi_d */ + 0, /* movr_w_f */ + 0, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 0, /* movi_f_w */ + 0, /* movr_d_ww */ + 0, /* movi_d_ww */ + 0, /* movr_d_w */ + 0, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #else #define JIT_INSTR_MAX 43 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 7, - 43, - 0, - 5, - 13, - 6, - 13, - 6, - 7, - 6, - 13, - 9, - 13, - 9, - 7, - 7, - 14, - 20, - 30, - 20, - 30, - 22, - 29, - 23, - 30, - 25, - 32, - 26, - 33, - 22, - 29, - 23, - 30, - 6, - 13, - 6, - 13, - 6, - 13, - 9, - 8, - 9, - 7, - 9, - 7, - 6, - 6, - 13, - 14, - 13, - 14, - 13, - 14, - 13, - 14, - 13, - 14, - 13, - 14, - 13, - 14, - 13, - 14, - 13, - 14, - 13, - 14, - 3, - 10, - 4, - 4, - 4, - 4, - 3, - 3, - 6, - 5, - 9, - 5, - 9, - 5, - 9, - 5, - 9, - 4, - 8, - 4, - 8, - 4, - 8, - 6, - 5, - 6, - 5, - 6, - 5, - 6, - 5, - 5, - 7, - 5, - 4, - 5, - 7, - 4, - 8, - 5, - 9, - 4, - 8, - 4, - 8, - 5, - 4, - 6, - 5, - 5, - 6, - 5, - 7, - 9, - 10, - 9, - 10, - 9, - 13, - 9, - 10, - 9, - 19, - 9, - 10, - 9, - 10, - 9, - 10, - 9, - 10, - 9, - 19, - 9, - 13, - 9, - 13, - 9, - 10, - 9, - 10, - 9, - 10, - 9, - 10, - 9, - 10, - 9, - 10, - 9, - 10, - 9, - 10, - 0, - 5, - 3, - 13, - 37, - 0, - 10, - 20, - 15, - 20, - 10, - 20, - 15, - 20, - 14, - 15, - 5, - 11, - 26, - 11, - 26, - 13, - 28, - 11, - 26, - 11, - 26, - 16, - 31, - 11, - 26, - 11, - 26, - 11, - 26, - 11, - 26, - 11, - 26, - 11, - 26, - 11, - 26, - 11, - 26, - 5, - 5, - 5, - 5, - 5, - 15, - 6, - 10, - 7, - 6, - 6, - 10, - 7, - 7, - 10, - 20, - 10, - 25, - 12, - 27, - 10, - 25, - 10, - 25, - 13, - 28, - 10, - 25, - 10, - 25, - 10, - 25, - 10, - 25, - 10, - 25, - 10, - 25, - 10, - 25, - 10, - 25, - 0, - 10, - 25, - 15, - 25, - 10, - 25, - 15, - 25, - 21, - 16, - 5, - 12, - 27, - 12, - 27, - 14, - 29, - 12, - 27, - 12, - 27, - 17, - 32, - 12, - 27, - 12, - 27, - 12, - 27, - 12, - 27, - 12, - 27, - 12, - 27, - 12, - 27, - 12, - 27, - 5, - 5, - 5, - 5, - 5, - 15, - 6, - 10, - 7, - 6, - 6, - 10, - 7, - 7, - 11, - 26, - 11, - 26, - 13, - 28, - 11, - 26, - 11, - 26, - 14, - 29, - 11, - 26, - 11, - 26, - 11, - 26, - 11, - 26, - 11, - 26, - 11, - 26, - 11, - 26, - 11, - 26, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, /* data */ + 0, /* live */ + 7, /* align */ + 0, /* save */ + 0, /* load */ + 0, /* #name */ + 0, /* #note */ + 7, /* label */ + 43, /* prolog */ + 0, /* arg */ + 5, /* addr */ + 13, /* addi */ + 6, /* addcr */ + 13, /* addci */ + 6, /* addxr */ + 7, /* addxi */ + 6, /* subr */ + 13, /* subi */ + 9, /* subcr */ + 13, /* subci */ + 9, /* subxr */ + 7, /* subxi */ + 7, /* mulr */ + 14, /* muli */ + 20, /* qmulr */ + 30, /* qmuli */ + 20, /* qmulr_u */ + 30, /* qmuli_u */ + 22, /* divr */ + 29, /* divi */ + 23, /* divr_u */ + 30, /* divi_u */ + 25, /* qdivr */ + 32, /* qdivi */ + 26, /* qdivr_u */ + 33, /* qdivi_u */ + 22, /* remr */ + 29, /* remi */ + 23, /* remr_u */ + 30, /* remi_u */ + 6, /* andr */ + 13, /* andi */ + 6, /* orr */ + 13, /* ori */ + 6, /* xorr */ + 13, /* xori */ + 9, /* lshr */ + 8, /* lshi */ + 9, /* rshr */ + 7, /* rshi */ + 9, /* rshr_u */ + 7, /* rshi_u */ + 6, /* negr */ + 6, /* comr */ + 13, /* ltr */ + 14, /* lti */ + 13, /* ltr_u */ + 14, /* lti_u */ + 13, /* ler */ + 14, /* lei */ + 13, /* ler_u */ + 14, /* lei_u */ + 13, /* eqr */ + 14, /* eqi */ + 13, /* ger */ + 14, /* gei */ + 13, /* ger_u */ + 14, /* gei_u */ + 13, /* gtr */ + 14, /* gti */ + 13, /* gtr_u */ + 14, /* gti_u */ + 13, /* ner */ + 14, /* nei */ + 3, /* movr */ + 10, /* movi */ + 4, /* extr_c */ + 4, /* extr_uc */ + 4, /* extr_s */ + 4, /* extr_us */ + 3, /* extr_i */ + 3, /* extr_ui */ + 6, /* htonr */ + 5, /* ldr_c */ + 9, /* ldi_c */ + 5, /* ldr_uc */ + 9, /* ldi_uc */ + 5, /* ldr_s */ + 9, /* ldi_s */ + 5, /* ldr_us */ + 9, /* ldi_us */ + 4, /* ldr_i */ + 8, /* ldi_i */ + 4, /* ldr_ui */ + 8, /* ldi_ui */ + 4, /* ldr_l */ + 8, /* ldi_l */ + 6, /* ldxr_c */ + 5, /* ldxi_c */ + 6, /* ldxr_uc */ + 5, /* ldxi_uc */ + 6, /* ldxr_s */ + 5, /* ldxi_s */ + 6, /* ldxr_us */ + 5, /* ldxi_us */ + 5, /* ldxr_i */ + 7, /* ldxi_i */ + 5, /* ldxr_ui */ + 4, /* ldxi_ui */ + 5, /* ldxr_l */ + 7, /* ldxi_l */ + 4, /* str_c */ + 8, /* sti_c */ + 5, /* str_s */ + 9, /* sti_s */ + 4, /* str_i */ + 8, /* sti_i */ + 4, /* str_l */ + 8, /* sti_l */ + 5, /* stxr_c */ + 4, /* stxi_c */ + 6, /* stxr_s */ + 5, /* stxi_s */ + 5, /* stxr_i */ + 6, /* stxi_i */ + 5, /* stxr_l */ + 7, /* stxi_l */ + 9, /* bltr */ + 10, /* blti */ + 9, /* bltr_u */ + 10, /* blti_u */ + 9, /* bler */ + 13, /* blei */ + 9, /* bler_u */ + 10, /* blei_u */ + 9, /* beqr */ + 19, /* beqi */ + 9, /* bger */ + 10, /* bgei */ + 9, /* bger_u */ + 10, /* bgei_u */ + 9, /* bgtr */ + 10, /* bgti */ + 9, /* bgtr_u */ + 10, /* bgti_u */ + 9, /* bner */ + 19, /* bnei */ + 9, /* bmsr */ + 13, /* bmsi */ + 9, /* bmcr */ + 13, /* bmci */ + 9, /* boaddr */ + 10, /* boaddi */ + 9, /* boaddr_u */ + 10, /* boaddi_u */ + 9, /* bxaddr */ + 10, /* bxaddi */ + 9, /* bxaddr_u */ + 10, /* bxaddi_u */ + 9, /* bosubr */ + 10, /* bosubi */ + 9, /* bosubr_u */ + 10, /* bosubi_u */ + 9, /* bxsubr */ + 10, /* bxsubi */ + 9, /* bxsubr_u */ + 10, /* bxsubi_u */ + 0, /* jmpr */ + 5, /* jmpi */ + 3, /* callr */ + 13, /* calli */ + 37, /* epilog */ + 0, /* arg_f */ + 10, /* addr_f */ + 20, /* addi_f */ + 15, /* subr_f */ + 20, /* subi_f */ + 10, /* mulr_f */ + 20, /* muli_f */ + 15, /* divr_f */ + 20, /* divi_f */ + 14, /* negr_f */ + 15, /* absr_f */ + 5, /* sqrtr_f */ + 11, /* ltr_f */ + 26, /* lti_f */ + 11, /* ler_f */ + 26, /* lei_f */ + 13, /* eqr_f */ + 28, /* eqi_f */ + 11, /* ger_f */ + 26, /* gei_f */ + 11, /* gtr_f */ + 26, /* gti_f */ + 16, /* ner_f */ + 31, /* nei_f */ + 11, /* unltr_f */ + 26, /* unlti_f */ + 11, /* unler_f */ + 26, /* unlei_f */ + 11, /* uneqr_f */ + 26, /* uneqi_f */ + 11, /* unger_f */ + 26, /* ungei_f */ + 11, /* ungtr_f */ + 26, /* ungti_f */ + 11, /* ltgtr_f */ + 26, /* ltgti_f */ + 11, /* ordr_f */ + 26, /* ordi_f */ + 11, /* unordr_f */ + 26, /* unordi_f */ + 5, /* truncr_f_i */ + 5, /* truncr_f_l */ + 5, /* extr_f */ + 5, /* extr_d_f */ + 5, /* movr_f */ + 15, /* movi_f */ + 6, /* ldr_f */ + 10, /* ldi_f */ + 7, /* ldxr_f */ + 6, /* ldxi_f */ + 6, /* str_f */ + 10, /* sti_f */ + 7, /* stxr_f */ + 7, /* stxi_f */ + 10, /* bltr_f */ + 20, /* blti_f */ + 10, /* bler_f */ + 25, /* blei_f */ + 12, /* beqr_f */ + 27, /* beqi_f */ + 10, /* bger_f */ + 25, /* bgei_f */ + 10, /* bgtr_f */ + 25, /* bgti_f */ + 13, /* bner_f */ + 28, /* bnei_f */ + 10, /* bunltr_f */ + 25, /* bunlti_f */ + 10, /* bunler_f */ + 25, /* bunlei_f */ + 10, /* buneqr_f */ + 25, /* buneqi_f */ + 10, /* bunger_f */ + 25, /* bungei_f */ + 10, /* bungtr_f */ + 25, /* bungti_f */ + 10, /* bltgtr_f */ + 25, /* bltgti_f */ + 10, /* bordr_f */ + 25, /* bordi_f */ + 10, /* bunordr_f */ + 25, /* bunordi_f */ + 0, /* arg_d */ + 10, /* addr_d */ + 25, /* addi_d */ + 15, /* subr_d */ + 25, /* subi_d */ + 10, /* mulr_d */ + 25, /* muli_d */ + 15, /* divr_d */ + 25, /* divi_d */ + 21, /* negr_d */ + 16, /* absr_d */ + 5, /* sqrtr_d */ + 12, /* ltr_d */ + 27, /* lti_d */ + 12, /* ler_d */ + 27, /* lei_d */ + 14, /* eqr_d */ + 29, /* eqi_d */ + 12, /* ger_d */ + 27, /* gei_d */ + 12, /* gtr_d */ + 27, /* gti_d */ + 17, /* ner_d */ + 32, /* nei_d */ + 12, /* unltr_d */ + 27, /* unlti_d */ + 12, /* unler_d */ + 27, /* unlei_d */ + 12, /* uneqr_d */ + 27, /* uneqi_d */ + 12, /* unger_d */ + 27, /* ungei_d */ + 12, /* ungtr_d */ + 27, /* ungti_d */ + 12, /* ltgtr_d */ + 27, /* ltgti_d */ + 12, /* ordr_d */ + 27, /* ordi_d */ + 12, /* unordr_d */ + 27, /* unordi_d */ + 5, /* truncr_d_i */ + 5, /* truncr_d_l */ + 5, /* extr_d */ + 5, /* extr_f_d */ + 5, /* movr_d */ + 15, /* movi_d */ + 6, /* ldr_d */ + 10, /* ldi_d */ + 7, /* ldxr_d */ + 6, /* ldxi_d */ + 6, /* str_d */ + 10, /* sti_d */ + 7, /* stxr_d */ + 7, /* stxi_d */ + 11, /* bltr_d */ + 26, /* blti_d */ + 11, /* bler_d */ + 26, /* blei_d */ + 13, /* beqr_d */ + 28, /* beqi_d */ + 11, /* bger_d */ + 26, /* bgei_d */ + 11, /* bgtr_d */ + 26, /* bgti_d */ + 14, /* bner_d */ + 29, /* bnei_d */ + 11, /* bunltr_d */ + 26, /* bunlti_d */ + 11, /* bunler_d */ + 26, /* bunlei_d */ + 11, /* buneqr_d */ + 26, /* buneqi_d */ + 11, /* bunger_d */ + 26, /* bungei_d */ + 11, /* bungtr_d */ + 26, /* bungti_d */ + 11, /* bltgtr_d */ + 26, /* bltgti_d */ + 11, /* bordr_d */ + 26, /* bordi_d */ + 11, /* bunordr_d */ + 26, /* bunordi_d */ + 0, /* movr_w_f */ + 0, /* movr_ww_d */ + 0, /* movr_w_d */ + 0, /* movr_f_w */ + 0, /* movi_f_w */ + 0, /* movr_d_ww */ + 0, /* movi_d_ww */ + 0, /* movr_d_w */ + 0, /* movi_d_w */ + 0, /* x86_retval_f */ + 0, /* x86_retval_d */ #endif /* __CYGWIN__ */ #endif /* __WORDSIZE */ diff --git a/size.c b/size.c index 437559f05..2907d533b 100644 --- a/size.c +++ b/size.c @@ -20,6 +20,7 @@ #include #include #include +#include "lib/jit_names.c" jit_int16_t _szs[jit_code_last_code + 1]; @@ -69,7 +70,7 @@ main(int argc, char *argv[]) #endif fprintf(fp, "#define JIT_INSTR_MAX %d\n", max); for (offset = 0; offset <= jit_code_last_code; offset++) - fprintf(fp, " %d,\n", _szs[offset]); + fprintf(fp, " %d, /* %s */\n", _szs[offset], code_name[offset]); #if defined(__arm__) fprintf(fp, "#endif /* __ARM_PCS_VFP */\n"); #elif defined(__mips__)