X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=deps%2Flightning%2Flib%2Fjit_x86-sz.c;h=5c4515a7b69c122d20fdce47716d03a1b65a3eb8;hb=9e052883388b2b607a488e48b3cb6db52a0997dd;hp=bd4b9a08a5dbc7c41e69dadecea905b248ea8c15;hpb=40a44dcb82bc822864f6e43584fcf0e4327db604;p=pcsx_rearmed.git diff --git a/deps/lightning/lib/jit_x86-sz.c b/deps/lightning/lib/jit_x86-sz.c index bd4b9a08..5c4515a7 100644 --- a/deps/lightning/lib/jit_x86-sz.c +++ b/deps/lightning/lib/jit_x86-sz.c @@ -3,9 +3,10 @@ #define JIT_INSTR_MAX 42 0, /* data */ 0, /* live */ - 3, /* align */ + 11, /* align */ 0, /* save */ 0, /* load */ + 4, /* skip */ 0, /* #name */ 0, /* #note */ 3, /* label */ @@ -14,7 +15,10 @@ 0, /* va_push */ 0, /* allocai */ 0, /* allocar */ - 0, /* arg */ + 0, /* arg_c */ + 0, /* arg_s */ + 0, /* arg_i */ + 0, /* arg_l */ 0, /* getarg_c */ 0, /* getarg_uc */ 0, /* getarg_s */ @@ -22,8 +26,20 @@ 0, /* getarg_i */ 0, /* getarg_ui */ 0, /* getarg_l */ - 0, /* putargr */ - 0, /* putargi */ + 0, /* putargr_c */ + 0, /* putargi_c */ + 0, /* putargr_uc */ + 0, /* putargi_uc */ + 0, /* putargr_s */ + 0, /* putargi_s */ + 0, /* putargr_us */ + 0, /* putargi_us */ + 0, /* putargr_i */ + 0, /* putargi_i */ + 0, /* putargr_ui */ + 0, /* putargi_ui */ + 0, /* putargr_l */ + 0, /* putargi_l */ 3, /* va_start */ 5, /* va_arg */ 7, /* va_arg_d */ @@ -36,9 +52,9 @@ 5, /* addxi */ 4, /* subr */ 6, /* subi */ - 6, /* subcr */ + 12, /* subcr */ 6, /* subci */ - 6, /* subxr */ + 12, /* subxr */ 5, /* subxi */ 8, /* rsbi */ 5, /* mulr */ @@ -52,9 +68,9 @@ 22, /* divr_u */ 25, /* divi_u */ 23, /* qdivr */ - 26, /* qdivi */ + 28, /* qdivi */ 24, /* qdivr_u */ - 27, /* qdivi_u */ + 29, /* qdivi_u */ 21, /* remr */ 24, /* remi */ 22, /* remr_u */ @@ -95,14 +111,19 @@ 16, /* nei */ 2, /* movr */ 5, /* movi */ - 7, /* movnr */ - 7, /* movzr */ + 5, /* movnr */ + 5, /* movzr */ + 9, /* casr */ + 13, /* casi */ 11, /* extr_c */ 11, /* extr_uc */ 3, /* extr_s */ 3, /* extr_us */ 0, /* extr_i */ 0, /* extr_ui */ + 7, /* bswapr_us */ + 4, /* bswapr_ui */ + 0, /* bswapr_ul */ 7, /* htonr_us */ 4, /* htonr_ui */ 0, /* htonr_ul */ @@ -195,13 +216,37 @@ 2, /* callr */ 5, /* calli */ 0, /* prepare */ - 0, /* pushargr */ - 0, /* pushargi */ + 0, /* pushargr_c */ + 0, /* pushargi_c */ + 0, /* pushargr_uc */ + 0, /* pushargi_uc */ + 0, /* pushargr_s */ + 0, /* pushargi_s */ + 0, /* pushargr_us */ + 0, /* pushargi_us */ + 0, /* pushargr_i */ + 0, /* pushargi_i */ + 0, /* pushargr_ui */ + 0, /* pushargi_ui */ + 0, /* pushargr_l */ + 0, /* pushargi_l */ 0, /* finishr */ 0, /* finishi */ 0, /* ret */ - 0, /* retr */ - 0, /* reti */ + 0, /* retr_c */ + 0, /* reti_c */ + 0, /* retr_uc */ + 0, /* reti_uc */ + 0, /* retr_s */ + 0, /* reti_s */ + 0, /* retr_us */ + 0, /* reti_us */ + 0, /* retr_i */ + 0, /* reti_i */ + 0, /* retr_ui */ + 0, /* reti_ui */ + 0, /* retr_l */ + 0, /* reti_l */ 0, /* retval_c */ 0, /* retval_uc */ 0, /* retval_s */ @@ -209,93 +254,93 @@ 0, /* retval_i */ 0, /* retval_ui */ 0, /* retval_l */ - 24, /* epilog */ + 23, /* epilog */ 0, /* arg_f */ 0, /* getarg_f */ 0, /* putargr_f */ 0, /* putargi_f */ 8, /* addr_f */ - 19, /* addi_f */ + 17, /* addi_f */ 12, /* subr_f */ - 19, /* subi_f */ + 17, /* subi_f */ 21, /* rsbi_f */ 8, /* mulr_f */ - 19, /* muli_f */ + 17, /* muli_f */ 12, /* divr_f */ - 19, /* divi_f */ + 17, /* divi_f */ 12, /* negr_f */ 12, /* absr_f */ - 6, /* sqrtr_f */ - 13, /* ltr_f */ + 4, /* sqrtr_f */ + 12, /* ltr_f */ 27, /* lti_f */ - 13, /* ler_f */ + 12, /* ler_f */ 27, /* lei_f */ - 15, /* eqr_f */ + 14, /* eqr_f */ 29, /* eqi_f */ - 13, /* ger_f */ + 12, /* ger_f */ 27, /* gei_f */ - 13, /* gtr_f */ + 12, /* gtr_f */ 27, /* gti_f */ - 18, /* ner_f */ + 17, /* ner_f */ 32, /* nei_f */ - 13, /* unltr_f */ + 12, /* unltr_f */ 27, /* unlti_f */ - 13, /* unler_f */ + 12, /* unler_f */ 27, /* unlei_f */ - 13, /* uneqr_f */ + 12, /* uneqr_f */ 27, /* uneqi_f */ - 13, /* unger_f */ + 12, /* unger_f */ 27, /* ungei_f */ - 13, /* ungtr_f */ + 12, /* ungtr_f */ 27, /* ungti_f */ - 13, /* ltgtr_f */ + 12, /* ltgtr_f */ 27, /* ltgti_f */ - 13, /* ordr_f */ + 12, /* ordr_f */ 27, /* ordi_f */ - 13, /* unordr_f */ + 12, /* unordr_f */ 27, /* unordi_f */ - 8, /* truncr_f_i */ + 4, /* truncr_f_i */ 0, /* truncr_f_l */ - 8, /* extr_f */ + 4, /* extr_f */ 4, /* extr_d_f */ 10, /* movr_f */ - 19, /* movi_f */ + 15, /* movi_f */ 4, /* ldr_f */ 8, /* ldi_f */ 5, /* ldxr_f */ 8, /* ldxi_f */ - 6, /* str_f */ - 10, /* sti_f */ - 7, /* stxr_f */ + 4, /* str_f */ + 8, /* sti_f */ + 5, /* stxr_f */ 8, /* 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 */ + 9, /* bltr_f */ + 18, /* blti_f */ + 9, /* bler_f */ + 18, /* blei_f */ + 11, /* beqr_f */ + 20, /* beqi_f */ + 9, /* bger_f */ + 18, /* bgei_f */ + 9, /* bgtr_f */ + 18, /* bgti_f */ + 12, /* bner_f */ + 21, /* bnei_f */ + 9, /* bunltr_f */ + 18, /* bunlti_f */ + 9, /* bunler_f */ + 18, /* bunlei_f */ + 9, /* buneqr_f */ + 18, /* buneqi_f */ + 9, /* bunger_f */ + 18, /* bungei_f */ + 9, /* bungtr_f */ + 18, /* bungti_f */ + 9, /* bltgtr_f */ + 18, /* bltgti_f */ + 9, /* bordr_f */ + 18, /* bordi_f */ + 9, /* bunordr_f */ + 18, /* bunordi_f */ 0, /* pushargr_f */ 0, /* pushargi_f */ 0, /* retr_f */ @@ -316,7 +361,7 @@ 26, /* divi_d */ 18, /* negr_d */ 13, /* absr_d */ - 6, /* sqrtr_d */ + 4, /* sqrtr_d */ 13, /* ltr_d */ 37, /* lti_d */ 13, /* ler_d */ @@ -345,19 +390,19 @@ 37, /* ordi_d */ 13, /* unordr_d */ 37, /* unordi_d */ - 8, /* truncr_d_i */ + 4, /* truncr_d_i */ 0, /* truncr_d_l */ - 8, /* extr_d */ + 4, /* extr_d */ 4, /* extr_f_d */ 10, /* movr_d */ - 24, /* movi_d */ + 33, /* movi_d */ 4, /* ldr_d */ 8, /* ldi_d */ 5, /* ldxr_d */ 8, /* ldxi_d */ - 6, /* str_d */ - 10, /* sti_d */ - 7, /* stxr_d */ + 4, /* str_d */ + 8, /* sti_d */ + 5, /* stxr_d */ 8, /* stxi_d */ 10, /* bltr_d */ 28, /* blti_d */ @@ -401,19 +446,21 @@ 0, /* movi_d_ww */ 0, /* movr_d_w */ 0, /* movi_d_w */ - 7, /* bswapr_us */ - 4, /* bswapr_ui */ - 0, /* bswapr_ul */ -#endif + 21, /* clo */ + 17, /* clz */ + 15, /* cto */ + 11, /* ctz */ +#endif /* __X32 */ #if __X64 #if __CYGWIN__ || _WIN32 #define JIT_INSTR_MAX 130 0, /* data */ 0, /* live */ - 6, /* align */ + 27, /* align */ 0, /* save */ 0, /* load */ + 4, /* skip */ 0, /* #name */ 0, /* #note */ 7, /* label */ @@ -422,7 +469,10 @@ 0, /* va_push */ 0, /* allocai */ 0, /* allocar */ - 0, /* arg */ + 0, /* arg_c */ + 0, /* arg_s */ + 0, /* arg_i */ + 0, /* arg_l */ 0, /* getarg_c */ 0, /* getarg_uc */ 0, /* getarg_s */ @@ -430,8 +480,20 @@ 0, /* getarg_i */ 0, /* getarg_ui */ 0, /* getarg_l */ - 0, /* putargr */ - 0, /* putargi */ + 0, /* putargr_c */ + 0, /* putargi_c */ + 0, /* putargr_uc */ + 0, /* putargi_uc */ + 0, /* putargr_s */ + 0, /* putargi_s */ + 0, /* putargr_us */ + 0, /* putargi_us */ + 0, /* putargr_i */ + 0, /* putargi_i */ + 0, /* putargr_ui */ + 0, /* putargi_ui */ + 0, /* putargr_l */ + 0, /* putargi_l */ 7, /* va_start */ 7, /* va_arg */ 9, /* va_arg_d */ @@ -505,29 +567,34 @@ 10, /* movi */ 7, /* movnr */ 7, /* movzr */ + 11, /* casr */ + 21, /* casi */ 7, /* extr_c */ 7, /* extr_uc */ 4, /* extr_s */ 4, /* extr_us */ 3, /* extr_i */ 3, /* extr_ui */ + 9, /* bswapr_us */ + 6, /* bswapr_ui */ + 6, /* bswapr_ul */ 9, /* htonr_us */ 6, /* htonr_ui */ 6, /* htonr_ul */ 4, /* ldr_c */ - 15, /* ldi_c */ + 14, /* ldi_c */ 4, /* ldr_uc */ - 15, /* ldi_uc */ + 14, /* ldi_uc */ 4, /* ldr_s */ - 15, /* ldi_s */ + 14, /* ldi_s */ 4, /* ldr_us */ - 15, /* ldi_us */ + 14, /* ldi_us */ 3, /* ldr_i */ - 14, /* ldi_i */ + 13, /* ldi_i */ 3, /* ldr_ui */ - 14, /* ldi_ui */ + 13, /* ldi_ui */ 3, /* ldr_l */ - 14, /* ldi_l */ + 13, /* ldi_l */ 5, /* ldxr_c */ 8, /* ldxi_c */ 5, /* ldxr_uc */ @@ -543,13 +610,13 @@ 4, /* ldxr_l */ 7, /* ldxi_l */ 6, /* str_c */ - 17, /* sti_c */ + 16, /* sti_c */ 4, /* str_s */ - 15, /* sti_s */ + 14, /* sti_s */ 3, /* str_i */ - 14, /* sti_i */ + 13, /* sti_i */ 3, /* str_l */ - 14, /* sti_l */ + 13, /* sti_l */ 7, /* stxr_c */ 7, /* stxi_c */ 5, /* stxr_s */ @@ -598,18 +665,42 @@ 10, /* bxsubi */ 9, /* bxsubr_u */ 10, /* bxsubi_u */ - 3, /* jmpr */ + 2, /* jmpr */ 5, /* jmpi */ - 3, /* callr */ - 13, /* calli */ + 2, /* callr */ + 20, /* calli */ 0, /* prepare */ - 0, /* pushargr */ - 0, /* pushargi */ + 0, /* pushargr_c */ + 0, /* pushargi_c */ + 0, /* pushargr_uc */ + 0, /* pushargi_uc */ + 0, /* pushargr_s */ + 0, /* pushargi_s */ + 0, /* pushargr_us */ + 0, /* pushargi_us */ + 0, /* pushargr_i */ + 0, /* pushargi_i */ + 0, /* pushargr_ui */ + 0, /* pushargi_ui */ + 0, /* pushargr_l */ + 0, /* pushargi_l */ 0, /* finishr */ 0, /* finishi */ 0, /* ret */ - 0, /* retr */ - 0, /* reti */ + 0, /* retr_c */ + 0, /* reti_c */ + 0, /* retr_uc */ + 0, /* reti_uc */ + 0, /* retr_s */ + 0, /* reti_s */ + 0, /* retr_us */ + 0, /* reti_us */ + 0, /* retr_i */ + 0, /* reti_i */ + 0, /* retr_ui */ + 0, /* reti_ui */ + 0, /* retr_l */ + 0, /* reti_l */ 0, /* retval_c */ 0, /* retval_uc */ 0, /* retval_s */ @@ -623,87 +714,87 @@ 0, /* putargr_f */ 0, /* putargi_f */ 10, /* addr_f */ - 21, /* addi_f */ + 19, /* addi_f */ 15, /* subr_f */ - 21, /* subi_f */ - 27, /* rsbi_f */ + 19, /* subi_f */ + 26, /* rsbi_f */ 10, /* mulr_f */ - 21, /* muli_f */ + 19, /* muli_f */ 15, /* divr_f */ - 21, /* divi_f */ - 15, /* negr_f */ + 19, /* divi_f */ + 14, /* negr_f */ 15, /* absr_f */ 5, /* sqrtr_f */ 16, /* ltr_f */ - 31, /* lti_f */ + 30, /* lti_f */ 16, /* ler_f */ - 31, /* lei_f */ + 30, /* lei_f */ 18, /* eqr_f */ - 33, /* eqi_f */ + 32, /* eqi_f */ 16, /* ger_f */ - 31, /* gei_f */ + 30, /* gei_f */ 16, /* gtr_f */ - 31, /* gti_f */ + 30, /* gti_f */ 20, /* ner_f */ - 35, /* nei_f */ + 34, /* nei_f */ 16, /* unltr_f */ - 31, /* unlti_f */ + 30, /* unlti_f */ 16, /* unler_f */ - 31, /* unlei_f */ + 30, /* unlei_f */ 16, /* uneqr_f */ - 31, /* uneqi_f */ + 30, /* uneqi_f */ 16, /* unger_f */ - 31, /* ungei_f */ + 30, /* ungei_f */ 16, /* ungtr_f */ - 31, /* ungti_f */ + 30, /* ungti_f */ 16, /* ltgtr_f */ - 31, /* ltgti_f */ + 30, /* ltgti_f */ 16, /* ordr_f */ - 31, /* ordi_f */ + 30, /* ordi_f */ 16, /* unordr_f */ - 31, /* unordi_f */ + 30, /* unordi_f */ 5, /* truncr_f_i */ 5, /* truncr_f_l */ 5, /* extr_f */ 5, /* extr_d_f */ 5, /* movr_f */ - 15, /* movi_f */ + 18, /* movi_f */ 5, /* ldr_f */ - 16, /* ldi_f */ + 15, /* ldi_f */ 6, /* ldxr_f */ 8, /* ldxi_f */ 5, /* str_f */ - 16, /* sti_f */ + 15, /* sti_f */ 6, /* stxr_f */ 9, /* stxi_f */ 10, /* bltr_f */ - 21, /* blti_f */ + 19, /* blti_f */ 10, /* bler_f */ - 24, /* blei_f */ + 23, /* blei_f */ 12, /* beqr_f */ 27, /* beqi_f */ 10, /* bger_f */ - 25, /* bgei_f */ + 24, /* bgei_f */ 10, /* bgtr_f */ - 25, /* bgti_f */ + 24, /* bgti_f */ 13, /* bner_f */ - 28, /* bnei_f */ + 27, /* bnei_f */ 10, /* bunltr_f */ - 25, /* bunlti_f */ + 24, /* bunlti_f */ 10, /* bunler_f */ - 25, /* bunlei_f */ + 24, /* bunlei_f */ 10, /* buneqr_f */ - 25, /* buneqi_f */ + 24, /* buneqi_f */ 10, /* bunger_f */ - 25, /* bungei_f */ + 24, /* bungei_f */ 10, /* bungtr_f */ - 25, /* bungti_f */ + 24, /* bungti_f */ 10, /* bltgtr_f */ - 25, /* bltgti_f */ + 24, /* bltgti_f */ 10, /* bordr_f */ - 25, /* bordi_f */ + 24, /* bordi_f */ 10, /* bunordr_f */ - 25, /* bunordi_f */ + 24, /* bunordi_f */ 0, /* pushargr_f */ 0, /* pushargi_f */ 0, /* retr_f */ @@ -722,7 +813,7 @@ 25, /* muli_d */ 15, /* divr_d */ 25, /* divi_d */ - 22, /* negr_d */ + 21, /* negr_d */ 16, /* absr_d */ 5, /* sqrtr_d */ 17, /* ltr_d */ @@ -758,13 +849,13 @@ 5, /* extr_d */ 5, /* extr_f_d */ 5, /* movr_d */ - 15, /* movi_d */ + 29, /* movi_d */ 5, /* ldr_d */ - 16, /* ldi_d */ + 15, /* ldi_d */ 6, /* ldxr_d */ 8, /* ldxi_d */ 5, /* str_d */ - 16, /* sti_d */ + 15, /* sti_d */ 6, /* stxr_d */ 9, /* stxi_d */ 11, /* bltr_d */ @@ -809,27 +900,32 @@ 0, /* movi_d_ww */ 0, /* movr_d_w */ 0, /* movi_d_w */ - 9, /* bswapr_us */ - 6, /* bswapr_ui */ - 6, /* bswapr_ul */ + 27, /* clo */ + 21, /* clz */ + 20, /* cto */ + 14, /* ctz */ #else # if __X64_32 -#define JIT_INSTR_MAX 108 +#define JIT_INSTR_MAX 105 0, /* data */ 0, /* live */ - 3, /* align */ + 7, /* align */ 0, /* save */ 0, /* load */ + 4, /* skip */ 0, /* #name */ 0, /* #note */ 3, /* label */ - 108, /* prolog */ + 105, /* prolog */ 0, /* ellipsis */ 0, /* va_push */ 0, /* allocai */ 0, /* allocar */ - 0, /* arg */ + 0, /* arg_c */ + 0, /* arg_s */ + 0, /* arg_i */ + 0, /* arg_l */ 0, /* getarg_c */ 0, /* getarg_uc */ 0, /* getarg_s */ @@ -837,11 +933,23 @@ 0, /* getarg_i */ 0, /* getarg_ui */ 0, /* getarg_l */ - 0, /* putargr */ - 0, /* putargi */ - 41, /* va_start */ - 45, /* va_arg */ - 54, /* va_arg_d */ + 0, /* putargr_c */ + 0, /* putargi_c */ + 0, /* putargr_uc */ + 0, /* putargi_uc */ + 0, /* putargr_s */ + 0, /* putargi_s */ + 0, /* putargr_us */ + 0, /* putargi_us */ + 0, /* putargr_i */ + 0, /* putargi_i */ + 0, /* putargr_ui */ + 0, /* putargi_ui */ + 0, /* putargr_l */ + 0, /* putargi_l */ + 33, /* va_start */ + 43, /* va_arg */ + 45, /* va_arg_d */ 0, /* va_end */ 5, /* addr */ 7, /* addi */ @@ -912,12 +1020,17 @@ 6, /* movi */ 7, /* movnr */ 7, /* movzr */ + 11, /* casr */ + 16, /* casi */ 7, /* extr_c */ 7, /* extr_uc */ 4, /* extr_s */ 4, /* extr_us */ 0, /* extr_i */ 0, /* extr_ui */ + 9, /* bswapr_us */ + 6, /* bswapr_ui */ + 0, /* bswapr_ul */ 9, /* htonr_us */ 6, /* htonr_ui */ 0, /* htonr_ul */ @@ -957,11 +1070,11 @@ 8, /* sti_i */ 0, /* str_l */ 0, /* sti_l */ - 12, /* stxr_c */ + 11, /* stxr_c */ 7, /* stxi_c */ - 10, /* stxr_s */ + 9, /* stxr_s */ 7, /* stxi_s */ - 9, /* stxr_i */ + 8, /* stxr_i */ 6, /* stxi_i */ 0, /* stxr_l */ 0, /* stxi_l */ @@ -1007,16 +1120,40 @@ 10, /* bxsubi_u */ 2, /* jmpr */ 5, /* jmpi */ - 3, /* callr */ + 2, /* callr */ 9, /* calli */ 0, /* prepare */ - 0, /* pushargr */ - 0, /* pushargi */ + 0, /* pushargr_c */ + 0, /* pushargi_c */ + 0, /* pushargr_uc */ + 0, /* pushargi_uc */ + 0, /* pushargr_s */ + 0, /* pushargi_s */ + 0, /* pushargr_us */ + 0, /* pushargi_us */ + 0, /* pushargr_i */ + 0, /* pushargi_i */ + 0, /* pushargr_ui */ + 0, /* pushargi_ui */ + 0, /* pushargr_l */ + 0, /* pushargi_l */ 0, /* finishr */ 0, /* finishi */ 0, /* ret */ - 0, /* retr */ - 0, /* reti */ + 0, /* retr_c */ + 0, /* reti_c */ + 0, /* retr_uc */ + 0, /* reti_uc */ + 0, /* retr_s */ + 0, /* reti_s */ + 0, /* retr_us */ + 0, /* reti_us */ + 0, /* retr_i */ + 0, /* reti_i */ + 0, /* retr_ui */ + 0, /* reti_ui */ + 0, /* retr_l */ + 0, /* reti_l */ 0, /* retval_c */ 0, /* retval_uc */ 0, /* retval_s */ @@ -1030,14 +1167,14 @@ 0, /* putargr_f */ 0, /* putargi_f */ 10, /* addr_f */ - 21, /* addi_f */ + 20, /* addi_f */ 15, /* subr_f */ - 21, /* subi_f */ - 26, /* rsbi_f */ + 20, /* subi_f */ + 25, /* rsbi_f */ 10, /* mulr_f */ - 21, /* muli_f */ + 20, /* muli_f */ 15, /* divr_f */ - 21, /* divi_f */ + 20, /* divi_f */ 15, /* negr_f */ 15, /* absr_f */ 5, /* sqrtr_f */ @@ -1077,40 +1214,40 @@ 11, /* movi_f */ 6, /* ldr_f */ 10, /* ldi_f */ - 11, /* ldxr_f */ + 10, /* ldxr_f */ 9, /* ldxi_f */ 6, /* str_f */ 10, /* sti_f */ - 11, /* stxr_f */ + 10, /* stxr_f */ 9, /* stxi_f */ 10, /* bltr_f */ - 21, /* blti_f */ + 20, /* blti_f */ 10, /* bler_f */ - 21, /* blei_f */ + 20, /* blei_f */ 12, /* beqr_f */ 23, /* beqi_f */ 10, /* bger_f */ - 21, /* bgei_f */ + 20, /* bgei_f */ 10, /* bgtr_f */ - 21, /* bgti_f */ + 20, /* bgti_f */ 13, /* bner_f */ - 24, /* bnei_f */ + 23, /* bnei_f */ 10, /* bunltr_f */ - 21, /* bunlti_f */ + 20, /* bunlti_f */ 10, /* bunler_f */ - 21, /* bunlei_f */ + 20, /* bunlei_f */ 10, /* buneqr_f */ - 21, /* buneqi_f */ + 20, /* buneqi_f */ 10, /* bunger_f */ - 21, /* bungei_f */ + 20, /* bungei_f */ 10, /* bungtr_f */ - 21, /* bungti_f */ + 20, /* bungti_f */ 10, /* bltgtr_f */ - 21, /* bltgti_f */ + 20, /* bltgti_f */ 10, /* bordr_f */ - 21, /* bordi_f */ + 20, /* bordi_f */ 10, /* bunordr_f */ - 21, /* bunordi_f */ + 20, /* bunordi_f */ 0, /* pushargr_f */ 0, /* pushargi_f */ 0, /* retr_f */ @@ -1121,14 +1258,14 @@ 0, /* putargr_d */ 0, /* putargi_d */ 10, /* addr_d */ - 33, /* addi_d */ + 29, /* addi_d */ 15, /* subr_d */ - 33, /* subi_d */ - 38, /* rsbi_d */ + 29, /* subi_d */ + 34, /* rsbi_d */ 10, /* mulr_d */ - 33, /* muli_d */ + 29, /* muli_d */ 15, /* divr_d */ - 33, /* divi_d */ + 29, /* divi_d */ 22, /* negr_d */ 16, /* absr_d */ 5, /* sqrtr_d */ @@ -1168,40 +1305,40 @@ 23, /* movi_d */ 6, /* ldr_d */ 10, /* ldi_d */ - 11, /* ldxr_d */ + 10, /* ldxr_d */ 9, /* ldxi_d */ 6, /* str_d */ 10, /* sti_d */ - 11, /* stxr_d */ + 10, /* stxr_d */ 9, /* stxi_d */ 11, /* bltr_d */ - 34, /* blti_d */ + 30, /* blti_d */ 11, /* bler_d */ - 34, /* blei_d */ + 30, /* blei_d */ 13, /* beqr_d */ 36, /* beqi_d */ 11, /* bger_d */ - 34, /* bgei_d */ + 30, /* bgei_d */ 11, /* bgtr_d */ - 34, /* bgti_d */ + 30, /* bgti_d */ 14, /* bner_d */ - 37, /* bnei_d */ + 33, /* bnei_d */ 11, /* bunltr_d */ - 34, /* bunlti_d */ + 30, /* bunlti_d */ 11, /* bunler_d */ - 34, /* bunlei_d */ + 30, /* bunlei_d */ 11, /* buneqr_d */ - 34, /* buneqi_d */ + 30, /* buneqi_d */ 11, /* bunger_d */ - 34, /* bungei_d */ + 30, /* bungei_d */ 11, /* bungtr_d */ - 34, /* bungti_d */ + 30, /* bungti_d */ 11, /* bltgtr_d */ - 34, /* bltgti_d */ + 30, /* bltgti_d */ 11, /* bordr_d */ - 34, /* bordi_d */ + 30, /* bordi_d */ 11, /* bunordr_d */ - 34, /* bunordi_d */ + 30, /* bunordi_d */ 0, /* pushargr_d */ 0, /* pushargi_d */ 0, /* retr_d */ @@ -1216,26 +1353,31 @@ 0, /* movi_d_ww */ 0, /* movr_d_w */ 0, /* movi_d_w */ - 9, /* bswapr_us */ - 6, /* bswapr_ui */ - 0, /* bswapr_ul */ + 11, /* clo */ + 5, /* clz */ + 11, /* cto */ + 5, /* ctz */ +#else -# else -#define JIT_INSTR_MAX 115 +#define JIT_INSTR_MAX 112 0, /* data */ 0, /* live */ - 6, /* align */ + 27, /* align */ 0, /* save */ 0, /* load */ + 4, /* skip */ 0, /* #name */ 0, /* #note */ 7, /* label */ - 115, /* prolog */ + 112, /* prolog */ 0, /* ellipsis */ 0, /* va_push */ 0, /* allocai */ 0, /* allocar */ - 0, /* arg */ + 0, /* arg_c */ + 0, /* arg_s */ + 0, /* arg_i */ + 0, /* arg_l */ 0, /* getarg_c */ 0, /* getarg_uc */ 0, /* getarg_s */ @@ -1243,11 +1385,23 @@ 0, /* getarg_i */ 0, /* getarg_ui */ 0, /* getarg_l */ - 0, /* putargr */ - 0, /* putargi */ - 42, /* va_start */ + 0, /* putargr_c */ + 0, /* putargi_c */ + 0, /* putargr_uc */ + 0, /* putargi_uc */ + 0, /* putargr_s */ + 0, /* putargi_s */ + 0, /* putargr_us */ + 0, /* putargi_us */ + 0, /* putargr_i */ + 0, /* putargi_i */ + 0, /* putargr_ui */ + 0, /* putargi_ui */ + 0, /* putargr_l */ + 0, /* putargi_l */ + 38, /* va_start */ 41, /* va_arg */ - 50, /* va_arg_d */ + 48, /* va_arg_d */ 0, /* va_end */ 5, /* addr */ 13, /* addi */ @@ -1318,12 +1472,17 @@ 10, /* movi */ 7, /* movnr */ 7, /* movzr */ + 11, /* casr */ + 16, /* casi */ 4, /* extr_c */ 4, /* extr_uc */ 4, /* extr_s */ 4, /* extr_us */ 3, /* extr_i */ 3, /* extr_ui */ + 9, /* bswapr_us */ + 6, /* bswapr_ui */ + 6, /* bswapr_ul */ 9, /* htonr_us */ 6, /* htonr_ui */ 6, /* htonr_ul */ @@ -1411,18 +1570,42 @@ 10, /* bxsubi */ 9, /* bxsubr_u */ 10, /* bxsubi_u */ - 3, /* jmpr */ + 2, /* jmpr */ 5, /* jmpi */ - 3, /* callr */ + 2, /* callr */ 13, /* calli */ 0, /* prepare */ - 0, /* pushargr */ - 0, /* pushargi */ + 0, /* pushargr_c */ + 0, /* pushargi_c */ + 0, /* pushargr_uc */ + 0, /* pushargi_uc */ + 0, /* pushargr_s */ + 0, /* pushargi_s */ + 0, /* pushargr_us */ + 0, /* pushargi_us */ + 0, /* pushargr_i */ + 0, /* pushargi_i */ + 0, /* pushargr_ui */ + 0, /* pushargi_ui */ + 0, /* pushargr_l */ + 0, /* pushargi_l */ 0, /* finishr */ 0, /* finishi */ 0, /* ret */ - 0, /* retr */ - 0, /* reti */ + 0, /* retr_c */ + 0, /* reti_c */ + 0, /* retr_uc */ + 0, /* reti_uc */ + 0, /* retr_s */ + 0, /* reti_s */ + 0, /* retr_us */ + 0, /* reti_us */ + 0, /* retr_i */ + 0, /* reti_i */ + 0, /* retr_ui */ + 0, /* reti_ui */ + 0, /* retr_l */ + 0, /* reti_l */ 0, /* retval_c */ 0, /* retval_uc */ 0, /* retval_s */ @@ -1436,14 +1619,14 @@ 0, /* putargr_f */ 0, /* putargi_f */ 10, /* addr_f */ - 21, /* addi_f */ + 20, /* addi_f */ 15, /* subr_f */ - 21, /* subi_f */ + 20, /* subi_f */ 30, /* rsbi_f */ 10, /* mulr_f */ - 21, /* muli_f */ + 20, /* muli_f */ 15, /* divr_f */ - 21, /* divi_f */ + 20, /* divi_f */ 15, /* negr_f */ 15, /* absr_f */ 5, /* sqrtr_f */ @@ -1490,33 +1673,33 @@ 7, /* stxr_f */ 9, /* stxi_f */ 10, /* bltr_f */ - 21, /* blti_f */ + 20, /* blti_f */ 10, /* bler_f */ - 25, /* blei_f */ + 22, /* blei_f */ 12, /* beqr_f */ - 27, /* beqi_f */ + 22, /* beqi_f */ 10, /* bger_f */ - 25, /* bgei_f */ + 22, /* bgei_f */ 10, /* bgtr_f */ - 25, /* bgti_f */ + 22, /* bgti_f */ 13, /* bner_f */ - 28, /* bnei_f */ + 25, /* bnei_f */ 10, /* bunltr_f */ - 25, /* bunlti_f */ + 23, /* bunlti_f */ 10, /* bunler_f */ - 25, /* bunlei_f */ + 23, /* bunlei_f */ 10, /* buneqr_f */ - 25, /* buneqi_f */ + 23, /* buneqi_f */ 10, /* bunger_f */ - 25, /* bungei_f */ + 23, /* bungei_f */ 10, /* bungtr_f */ - 25, /* bungti_f */ + 22, /* bungti_f */ 10, /* bltgtr_f */ - 25, /* bltgti_f */ + 22, /* bltgti_f */ 10, /* bordr_f */ - 25, /* bordi_f */ + 22, /* bordi_f */ 10, /* bunordr_f */ - 25, /* bunordi_f */ + 22, /* bunordi_f */ 0, /* pushargr_f */ 0, /* pushargi_f */ 0, /* retr_f */ @@ -1622,9 +1805,10 @@ 0, /* movi_d_ww */ 0, /* movr_d_w */ 0, /* movi_d_w */ - 9, /* bswapr_us */ - 6, /* bswapr_ui */ - 6, /* bswapr_ul */ + 11, /* clo */ + 5, /* clz */ + 11, /* cto */ + 5, /* ctz */ #endif /* __CYGWIN__ || _WIN32 */ # endif /* __X64_32 */ #endif /* __X64 */