#if __X32
-#define JIT_INSTR_MAX 42
+#define JIT_INSTR_MAX 63
0, /* data */
0, /* live */
3, /* align */
0, /* save */
0, /* load */
+ 4, /* skip */
0, /* #name */
0, /* #note */
3, /* label */
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 */
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 */
5, /* addxi */
4, /* subr */
6, /* subi */
- 6, /* subcr */
+ 12, /* subcr */
6, /* subci */
- 6, /* subxr */
+ 12, /* subxr */
5, /* subxi */
8, /* rsbi */
5, /* mulr */
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 */
16, /* rshr_u */
5, /* rshi_u */
4, /* negr */
+ 5, /* negi */
4, /* comr */
+ 5, /* comi */
15, /* ltr */
16, /* lti */
15, /* ltr_u */
16, /* nei */
2, /* movr */
5, /* movi */
- 7, /* movnr */
- 7, /* movzr */
+ 5, /* movnr */
+ 5, /* movzr */
+ 9, /* casr */
+ 13, /* casi */
11, /* extr_c */
+ 5, /* exti_c */
11, /* extr_uc */
+ 5, /* exti_uc */
3, /* extr_s */
+ 5, /* exti_s */
3, /* extr_us */
+ 5, /* exti_us */
0, /* extr_i */
+ 0, /* exti_i */
0, /* extr_ui */
+ 0, /* exti_ui */
+ 7, /* bswapr_us */
+ 5, /* bswapi_us */
+ 4, /* bswapr_ui */
+ 5, /* bswapi_ui */
+ 0, /* bswapr_ul */
+ 0, /* bswapi_ul */
7, /* htonr_us */
+ 5, /* htoni_us */
4, /* htonr_ui */
+ 5, /* htoni_ui */
0, /* htonr_ul */
+ 0, /* htoni_ul */
3, /* ldr_c */
7, /* ldi_c */
3, /* ldr_uc */
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 */
12, /* divr_f */
19, /* divi_f */
12, /* negr_f */
+ 0, /* negi_f */
12, /* absr_f */
+ 0, /* absi_f */
6, /* sqrtr_f */
+ 0, /* sqrti_f */
13, /* ltr_f */
27, /* lti_f */
13, /* ler_f */
8, /* extr_f */
4, /* extr_d_f */
10, /* movr_f */
- 19, /* movi_f */
+ 25, /* movi_f */
4, /* ldr_f */
8, /* ldi_f */
5, /* ldxr_f */
10, /* bltgtr_f */
23, /* bltgti_f */
10, /* bordr_f */
- 23, /* bordi_f */
+ 21, /* bordi_f */
10, /* bunordr_f */
23, /* bunordi_f */
0, /* pushargr_f */
12, /* divr_d */
26, /* divi_d */
18, /* negr_d */
+ 0, /* negi_d */
13, /* absr_d */
+ 0, /* absi_d */
6, /* sqrtr_d */
+ 0, /* sqrti_d */
13, /* ltr_d */
37, /* lti_d */
13, /* ler_d */
8, /* extr_d */
4, /* extr_f_d */
10, /* movr_d */
- 24, /* movi_d */
+ 33, /* movi_d */
4, /* ldr_d */
8, /* ldi_d */
5, /* ldxr_d */
0, /* retr_d */
0, /* reti_d */
10, /* retval_d */
- 0, /* movr_w_f */
- 0, /* movr_ww_d */
+ 8, /* movr_w_f */
+ 13, /* movi_w_f */
+ 11, /* movr_ww_d */
+ 18, /* movi_ww_d */
0, /* movr_w_d */
- 0, /* movr_f_w */
- 0, /* movi_f_w */
- 0, /* movr_d_ww */
- 0, /* movi_d_ww */
+ 0, /* movi_w_d */
+ 10, /* movr_f_w */
+ 5, /* movi_f_w */
+ 13, /* movr_d_ww */
+ 7, /* movi_d_ww */
0, /* movr_d_w */
0, /* movi_d_w */
- 7, /* bswapr_us */
- 4, /* bswapr_ui */
- 0, /* bswapr_ul */
-#endif
+ 21, /* clor */
+ 5, /* cloi */
+ 17, /* clzr */
+ 5, /* clzi */
+ 15, /* ctor */
+ 5, /* ctoi */
+ 11, /* ctzr */
+ 5, /* ctzi */
+ 61, /* rbitr */
+ 5, /* rbiti */
+ 58, /* popcntr */
+ 5, /* popcnti */
+ 16, /* lrotr */
+ 5, /* lroti */
+ 16, /* rrotr */
+ 5, /* rroti */
+ 10, /* extr */
+ 5, /* exti */
+ 11, /* extr_u */
+ 5, /* exti_u */
+ 22, /* depr */
+ 24, /* depi */
+ 63, /* qlshr */
+ 12, /* qlshi */
+ 60, /* qlshr_u */
+ 12, /* qlshi_u */
+ 59, /* qrshr */
+ 12, /* qrshi */
+ 56, /* qrshr_u */
+ 12, /* qrshi_u */
+ 14, /* unldr */
+ 19, /* unldi */
+ 14, /* unldr_u */
+ 19, /* unldi_u */
+ 11, /* unstr */
+ 18, /* unsti */
+ 4, /* unldr_x */
+ 8, /* unldi_x */
+ 6, /* unstr_x */
+ 10, /* unsti_x */
+ 13, /* fmar_f */
+ 0, /* fmai_f */
+ 13, /* fmsr_f */
+ 0, /* fmsi_f */
+ 13, /* fmar_d */
+ 0, /* fmai_d */
+ 13, /* fmsr_d */
+ 0, /* fmsi_d */
+ 21, /* fnmar_f */
+ 0, /* fnmai_f */
+ 21, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 27, /* fnmar_d */
+ 0, /* fnmai_d */
+ 27, /* fnmsr_d */
+ 0, /* fnmsi_d */
+ 18, /* hmulr */
+ 23, /* hmuli */
+ 18, /* hmulr_u */
+ 23, /* hmuli_u */
+#endif /* __X32 */
#if __X64
#if __CYGWIN__ || _WIN32
#define JIT_INSTR_MAX 130
0, /* data */
0, /* live */
- 6, /* align */
+ 19, /* align */
0, /* save */
0, /* load */
+ 4, /* skip */
0, /* #name */
0, /* #note */
7, /* label */
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 */
0, /* getarg_i */
0, /* getarg_ui */
0, /* getarg_l */
- 0, /* putargr */
- 0, /* putargi */
- 7, /* 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 */
+ 4, /* va_start */
7, /* va_arg */
9, /* va_arg_d */
0, /* va_end */
23, /* divr_u */
30, /* divi_u */
25, /* qdivr */
- 32, /* qdivi */
+ 29, /* qdivi */
26, /* qdivr_u */
- 33, /* qdivi_u */
+ 30, /* qdivi_u */
22, /* remr */
29, /* remi */
23, /* remr_u */
9, /* rshr_u */
7, /* rshi_u */
6, /* negr */
+ 7, /* negi */
6, /* comr */
+ 7, /* comi */
13, /* ltr */
14, /* lti */
13, /* ltr_u */
10, /* movi */
7, /* movnr */
7, /* movzr */
+ 11, /* casr */
+ 16, /* casi */
7, /* extr_c */
+ 7, /* exti_c */
7, /* extr_uc */
+ 5, /* exti_uc */
4, /* extr_s */
+ 7, /* exti_s */
4, /* extr_us */
+ 5, /* exti_us */
3, /* extr_i */
+ 10, /* exti_i */
3, /* extr_ui */
+ 5, /* exti_ui */
+ 9, /* bswapr_us */
+ 5, /* bswapi_us */
+ 6, /* bswapr_ui */
+ 5, /* bswapi_ui */
+ 6, /* bswapr_ul */
+ 10, /* bswapi_ul */
9, /* htonr_us */
+ 5, /* htoni_us */
6, /* htonr_ui */
+ 5, /* htoni_ui */
6, /* htonr_ul */
+ 10, /* htoni_ul */
4, /* ldr_c */
- 15, /* ldi_c */
+ 9, /* ldi_c */
4, /* ldr_uc */
- 15, /* ldi_uc */
+ 9, /* ldi_uc */
4, /* ldr_s */
- 15, /* ldi_s */
+ 9, /* ldi_s */
4, /* ldr_us */
- 15, /* ldi_us */
+ 9, /* ldi_us */
3, /* ldr_i */
- 14, /* ldi_i */
+ 8, /* ldi_i */
3, /* ldr_ui */
- 14, /* ldi_ui */
+ 7, /* ldi_ui */
3, /* ldr_l */
- 14, /* ldi_l */
+ 7, /* ldi_l */
5, /* ldxr_c */
8, /* ldxi_c */
5, /* ldxr_uc */
4, /* ldxr_l */
7, /* ldxi_l */
6, /* str_c */
- 17, /* sti_c */
+ 11, /* sti_c */
4, /* str_s */
- 15, /* sti_s */
+ 9, /* sti_s */
3, /* str_i */
- 14, /* sti_i */
+ 8, /* sti_i */
3, /* str_l */
- 14, /* sti_l */
+ 8, /* sti_l */
7, /* stxr_c */
7, /* stxi_c */
5, /* stxr_s */
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 */
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 */
+ 23, /* 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 */
+ 0, /* negi_f */
15, /* absr_f */
+ 0, /* absi_f */
5, /* sqrtr_f */
+ 0, /* sqrti_f */
16, /* ltr_f */
- 31, /* lti_f */
+ 27, /* lti_f */
16, /* ler_f */
- 31, /* lei_f */
+ 27, /* lei_f */
18, /* eqr_f */
- 33, /* eqi_f */
+ 29, /* eqi_f */
16, /* ger_f */
- 31, /* gei_f */
+ 27, /* gei_f */
16, /* gtr_f */
- 31, /* gti_f */
+ 27, /* gti_f */
20, /* ner_f */
- 35, /* nei_f */
+ 31, /* nei_f */
16, /* unltr_f */
- 31, /* unlti_f */
+ 27, /* unlti_f */
16, /* unler_f */
- 31, /* unlei_f */
+ 27, /* unlei_f */
16, /* uneqr_f */
- 31, /* uneqi_f */
+ 27, /* uneqi_f */
16, /* unger_f */
- 31, /* ungei_f */
+ 27, /* ungei_f */
16, /* ungtr_f */
- 31, /* ungti_f */
+ 27, /* ungti_f */
16, /* ltgtr_f */
- 31, /* ltgti_f */
+ 27, /* ltgti_f */
16, /* ordr_f */
- 31, /* ordi_f */
+ 27, /* ordi_f */
16, /* unordr_f */
- 31, /* unordi_f */
+ 27, /* unordi_f */
5, /* truncr_f_i */
5, /* truncr_f_l */
5, /* extr_f */
5, /* movr_f */
15, /* movi_f */
5, /* ldr_f */
- 16, /* ldi_f */
+ 10, /* ldi_f */
6, /* ldxr_f */
8, /* ldxi_f */
5, /* str_f */
- 16, /* sti_f */
+ 10, /* sti_f */
6, /* stxr_f */
9, /* stxi_f */
10, /* bltr_f */
- 21, /* blti_f */
+ 19, /* blti_f */
10, /* bler_f */
- 24, /* blei_f */
+ 20, /* blei_f */
12, /* beqr_f */
- 27, /* beqi_f */
+ 26, /* beqi_f */
10, /* bger_f */
- 25, /* bgei_f */
+ 21, /* bgei_f */
10, /* bgtr_f */
- 25, /* bgti_f */
+ 21, /* bgti_f */
13, /* bner_f */
- 28, /* bnei_f */
+ 24, /* bnei_f */
10, /* bunltr_f */
- 25, /* bunlti_f */
+ 21, /* bunlti_f */
10, /* bunler_f */
- 25, /* bunlei_f */
+ 21, /* bunlei_f */
10, /* buneqr_f */
- 25, /* buneqi_f */
+ 21, /* buneqi_f */
10, /* bunger_f */
- 25, /* bungei_f */
+ 21, /* bungei_f */
10, /* bungtr_f */
- 25, /* bungti_f */
+ 21, /* bungti_f */
10, /* bltgtr_f */
- 25, /* bltgti_f */
+ 21, /* bltgti_f */
10, /* bordr_f */
- 25, /* bordi_f */
+ 21, /* bordi_f */
10, /* bunordr_f */
- 25, /* bunordi_f */
+ 21, /* bunordi_f */
0, /* pushargr_f */
0, /* pushargi_f */
0, /* retr_f */
25, /* muli_d */
15, /* divr_d */
25, /* divi_d */
- 22, /* negr_d */
+ 21, /* negr_d */
+ 0, /* negi_d */
16, /* absr_d */
+ 0, /* absi_d */
5, /* sqrtr_d */
+ 0, /* sqrti_d */
17, /* ltr_d */
32, /* lti_d */
17, /* ler_d */
5, /* movr_d */
15, /* movi_d */
5, /* ldr_d */
- 16, /* ldi_d */
+ 10, /* ldi_d */
6, /* ldxr_d */
8, /* ldxi_d */
5, /* str_d */
- 16, /* sti_d */
+ 10, /* sti_d */
6, /* stxr_d */
9, /* stxi_d */
11, /* bltr_d */
0, /* retr_d */
0, /* reti_d */
0, /* retval_d */
- 0, /* movr_w_f */
+ 5, /* movr_w_f */
+ 10, /* movi_w_f */
0, /* movr_ww_d */
- 0, /* movr_w_d */
- 0, /* movr_f_w */
- 0, /* movi_f_w */
+ 0, /* movi_ww_d */
+ 5, /* movr_w_d */
+ 15, /* movi_w_d */
+ 5, /* movr_f_w */
+ 6, /* movi_f_w */
0, /* movr_d_ww */
0, /* movi_d_ww */
- 0, /* movr_d_w */
- 0, /* movi_d_w */
- 9, /* bswapr_us */
- 6, /* bswapr_ui */
- 6, /* bswapr_ul */
+ 5, /* movr_d_w */
+ 10, /* movi_d_w */
+ 27, /* clor */
+ 5, /* cloi */
+ 21, /* clzr */
+ 5, /* clzi */
+ 20, /* ctor */
+ 5, /* ctoi */
+ 14, /* ctzr */
+ 5, /* ctzi */
+ 61, /* rbitr */
+ 10, /* rbiti */
+ 57, /* popcntr */
+ 5, /* popcnti */
+ 9, /* lrotr */
+ 7, /* lroti */
+ 9, /* rrotr */
+ 7, /* rroti */
+ 12, /* extr */
+ 7, /* exti */
+ 20, /* extr_u */
+ 5, /* exti_u */
+ 37, /* depr */
+ 30, /* depi */
+ 58, /* qlshr */
+ 15, /* qlshi */
+ 54, /* qlshr_u */
+ 15, /* qlshi_u */
+ 53, /* qrshr */
+ 15, /* qrshi */
+ 49, /* qrshr_u */
+ 15, /* qrshi_u */
+ 21, /* unldr */
+ 26, /* unldi */
+ 21, /* unldr_u */
+ 25, /* unldi_u */
+ 26, /* unstr */
+ 38, /* unsti */
+ 5, /* unldr_x */
+ 10, /* unldi_x */
+ 5, /* unstr_x */
+ 10, /* unsti_x */
+ 12, /* fmar_f */
+ 0, /* fmai_f */
+ 20, /* fmsr_f */
+ 0, /* fmsi_f */
+ 12, /* fmar_d */
+ 0, /* fmai_d */
+ 20, /* fmsr_d */
+ 0, /* fmsi_d */
+ 28, /* fnmar_f */
+ 0, /* fnmai_f */
+ 24, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 34, /* fnmar_d */
+ 0, /* fnmai_d */
+ 30, /* fnmsr_d */
+ 0, /* fnmsi_d */
+ 17, /* hmulr */
+ 27, /* hmuli */
+ 17, /* hmulr_u */
+ 27, /* hmuli_u */
#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 */
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 */
9, /* rshr_u */
7, /* rshi_u */
6, /* negr */
+ 5, /* negi */
6, /* comr */
+ 5, /* comi */
13, /* ltr */
14, /* lti */
13, /* ltr_u */
6, /* movi */
7, /* movnr */
7, /* movzr */
+ 11, /* casr */
+ 16, /* casi */
7, /* extr_c */
+ 5, /* exti_c */
7, /* extr_uc */
+ 5, /* exti_uc */
4, /* extr_s */
+ 5, /* exti_s */
4, /* extr_us */
+ 5, /* exti_us */
0, /* extr_i */
+ 0, /* exti_i */
0, /* extr_ui */
+ 0, /* exti_ui */
+ 9, /* bswapr_us */
+ 5, /* bswapi_us */
+ 6, /* bswapr_ui */
+ 5, /* bswapi_ui */
+ 0, /* bswapr_ul */
+ 0, /* bswapi_ul */
9, /* htonr_us */
+ 5, /* htoni_us */
6, /* htonr_ui */
+ 5, /* htoni_ui */
0, /* htonr_ul */
+ 0, /* htoni_ul */
5, /* ldr_c */
- 9, /* ldi_c */
+ 10, /* ldi_c */
5, /* ldr_uc */
- 9, /* ldi_uc */
+ 10, /* ldi_uc */
5, /* ldr_s */
- 9, /* ldi_s */
+ 10, /* ldi_s */
5, /* ldr_us */
- 9, /* ldi_us */
+ 10, /* ldi_us */
4, /* ldr_i */
- 8, /* ldi_i */
+ 9, /* ldi_i */
0, /* ldr_ui */
0, /* ldi_ui */
0, /* ldr_l */
9, /* ldxr_us */
7, /* ldxi_us */
8, /* ldxr_i */
- 7, /* ldxi_i */
+ 6, /* ldxi_i */
0, /* ldxr_ui */
0, /* ldxi_ui */
0, /* ldxr_l */
7, /* str_c */
11, /* sti_c */
5, /* str_s */
- 9, /* sti_s */
+ 10, /* sti_s */
4, /* str_i */
- 8, /* sti_i */
+ 9, /* 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 */
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 */
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 */
+ 0, /* negi_f */
15, /* absr_f */
+ 0, /* absi_f */
5, /* sqrtr_f */
+ 0, /* sqrti_f */
15, /* ltr_f */
26, /* lti_f */
15, /* ler_f */
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 */
+ 11, /* sti_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 */
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 */
+ 0, /* negi_d */
16, /* absr_d */
+ 0, /* absi_d */
5, /* sqrtr_d */
+ 0, /* sqrti_d */
16, /* ltr_d */
39, /* lti_d */
16, /* ler_d */
5, /* extr_d */
5, /* extr_f_d */
5, /* movr_d */
- 23, /* movi_d */
+ 28, /* 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 */
+ 11, /* sti_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 */
+ 41, /* 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 */
0, /* reti_d */
0, /* retval_d */
- 0, /* movr_w_f */
- 0, /* movr_ww_d */
+ 5, /* movr_w_f */
+ 10, /* movi_w_f */
+ 14, /* movr_ww_d */
+ 19, /* movi_ww_d */
0, /* movr_w_d */
- 0, /* movr_f_w */
- 0, /* movi_f_w */
- 0, /* movr_d_ww */
- 0, /* movi_d_ww */
+ 0, /* movi_w_d */
+ 5, /* movr_f_w */
+ 6, /* movi_f_w */
+ 14, /* movr_d_ww */
+ 9, /* movi_d_ww */
0, /* movr_d_w */
0, /* movi_d_w */
- 9, /* bswapr_us */
- 6, /* bswapr_ui */
- 0, /* bswapr_ul */
+ 11, /* clor */
+ 5, /* cloi */
+ 5, /* clzr */
+ 5, /* clzi */
+ 11, /* ctor */
+ 5, /* ctoi */
+ 5, /* ctzr */
+ 5, /* ctzi */
+ 64, /* rbitr */
+ 5, /* rbiti */
+ 5, /* popcntr */
+ 5, /* popcnti */
+ 9, /* lrotr */
+ 7, /* lroti */
+ 9, /* rrotr */
+ 7, /* rroti */
+ 12, /* extr */
+ 5, /* exti */
+ 11, /* extr_u */
+ 5, /* exti_u */
+ 24, /* depr */
+ 27, /* depi */
+ 56, /* qlshr */
+ 15, /* qlshi */
+ 52, /* qlshr_u */
+ 15, /* qlshi_u */
+ 51, /* qrshr */
+ 15, /* qrshi */
+ 47, /* qrshr_u */
+ 15, /* qrshi_u */
+ 19, /* unldr */
+ 24, /* unldi */
+ 19, /* unldr_u */
+ 24, /* unldi_u */
+ 18, /* unstr */
+ 27, /* unsti */
+ 5, /* unldr_x */
+ 10, /* unldi_x */
+ 5, /* unstr_x */
+ 10, /* unsti_x */
+ 15, /* fmar_f */
+ 0, /* fmai_f */
+ 15, /* fmsr_f */
+ 0, /* fmsi_f */
+ 15, /* fmar_d */
+ 0, /* fmai_d */
+ 15, /* fmsr_d */
+ 0, /* fmsi_d */
+ 24, /* fnmar_f */
+ 0, /* fnmai_f */
+ 24, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 31, /* fnmar_d */
+ 0, /* fnmai_d */
+ 31, /* fnmsr_d */
+ 0, /* fnmsi_d */
+ 15, /* hmulr */
+ 21, /* hmuli */
+ 15, /* hmulr_u */
+ 21, /* hmuli_u */
+#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 */
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 */
23, /* divr_u */
30, /* divi_u */
25, /* qdivr */
- 32, /* qdivi */
+ 29, /* qdivi */
26, /* qdivr_u */
- 33, /* qdivi_u */
+ 30, /* qdivi_u */
22, /* remr */
29, /* remi */
23, /* remr_u */
9, /* rshr_u */
7, /* rshi_u */
6, /* negr */
+ 7, /* negi */
6, /* comr */
+ 7, /* comi */
13, /* ltr */
14, /* lti */
13, /* ltr_u */
10, /* movi */
7, /* movnr */
7, /* movzr */
+ 11, /* casr */
+ 16, /* casi */
4, /* extr_c */
+ 7, /* exti_c */
4, /* extr_uc */
+ 5, /* exti_uc */
4, /* extr_s */
+ 7, /* exti_s */
4, /* extr_us */
+ 5, /* exti_us */
3, /* extr_i */
+ 10, /* exti_i */
3, /* extr_ui */
+ 5, /* exti_ui */
+ 9, /* bswapr_us */
+ 5, /* bswapi_us */
+ 6, /* bswapr_ui */
+ 5, /* bswapi_ui */
+ 6, /* bswapr_ul */
+ 10, /* bswapi_ul */
9, /* htonr_us */
+ 5, /* htoni_us */
6, /* htonr_ui */
+ 5, /* htoni_ui */
6, /* htonr_ul */
+ 10, /* htoni_ul */
5, /* ldr_c */
9, /* ldi_c */
5, /* ldr_uc */
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 */
0, /* putargr_f */
0, /* putargi_f */
10, /* addr_f */
- 21, /* addi_f */
+ 20, /* addi_f */
15, /* subr_f */
- 21, /* subi_f */
- 30, /* rsbi_f */
+ 20, /* subi_f */
+ 27, /* rsbi_f */
10, /* mulr_f */
- 21, /* muli_f */
+ 20, /* muli_f */
15, /* divr_f */
- 21, /* divi_f */
+ 20, /* divi_f */
15, /* negr_f */
+ 0, /* negi_f */
15, /* absr_f */
+ 0, /* absi_f */
5, /* sqrtr_f */
+ 0, /* sqrti_f */
11, /* ltr_f */
- 26, /* lti_f */
+ 23, /* lti_f */
11, /* ler_f */
- 26, /* lei_f */
+ 23, /* lei_f */
13, /* eqr_f */
- 28, /* eqi_f */
+ 25, /* eqi_f */
11, /* ger_f */
- 26, /* gei_f */
+ 23, /* gei_f */
11, /* gtr_f */
- 26, /* gti_f */
+ 23, /* gti_f */
16, /* ner_f */
- 31, /* nei_f */
+ 28, /* nei_f */
11, /* unltr_f */
- 26, /* unlti_f */
+ 23, /* unlti_f */
11, /* unler_f */
- 26, /* unlei_f */
+ 23, /* unlei_f */
11, /* uneqr_f */
- 26, /* uneqi_f */
+ 23, /* uneqi_f */
11, /* unger_f */
- 26, /* ungei_f */
+ 23, /* ungei_f */
11, /* ungtr_f */
- 26, /* ungti_f */
+ 23, /* ungti_f */
11, /* ltgtr_f */
- 26, /* ltgti_f */
+ 23, /* ltgti_f */
11, /* ordr_f */
- 26, /* ordi_f */
+ 23, /* ordi_f */
11, /* unordr_f */
- 26, /* unordi_f */
+ 23, /* unordi_f */
5, /* truncr_f_i */
5, /* truncr_f_l */
5, /* extr_f */
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 */
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 */
+ 22, /* bunlti_f */
10, /* bunler_f */
- 25, /* bunlei_f */
+ 22, /* bunlei_f */
10, /* buneqr_f */
- 25, /* buneqi_f */
+ 22, /* buneqi_f */
10, /* bunger_f */
- 25, /* bungei_f */
+ 22, /* 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 */
15, /* divr_d */
25, /* divi_d */
22, /* negr_d */
+ 0, /* negi_d */
16, /* absr_d */
+ 0, /* absi_d */
5, /* sqrtr_d */
+ 0, /* sqrti_d */
12, /* ltr_d */
27, /* lti_d */
12, /* ler_d */
0, /* retr_d */
0, /* reti_d */
0, /* retval_d */
- 0, /* movr_w_f */
+ 5, /* movr_w_f */
+ 10, /* movi_w_f */
0, /* movr_ww_d */
- 0, /* movr_w_d */
- 0, /* movr_f_w */
- 0, /* movi_f_w */
+ 0, /* movi_ww_d */
+ 5, /* movr_w_d */
+ 15, /* movi_w_d */
+ 5, /* movr_f_w */
+ 6, /* movi_f_w */
0, /* movr_d_ww */
0, /* movi_d_ww */
- 0, /* movr_d_w */
- 0, /* movi_d_w */
- 9, /* bswapr_us */
- 6, /* bswapr_ui */
- 6, /* bswapr_ul */
+ 5, /* movr_d_w */
+ 10, /* movi_d_w */
+ 11, /* clor */
+ 5, /* cloi */
+ 5, /* clzr */
+ 5, /* clzi */
+ 11, /* ctor */
+ 5, /* ctoi */
+ 5, /* ctzr */
+ 5, /* ctzi */
+ 56, /* rbitr */
+ 10, /* rbiti */
+ 5, /* popcntr */
+ 5, /* popcnti */
+ 9, /* lrotr */
+ 7, /* lroti */
+ 9, /* rrotr */
+ 7, /* rroti */
+ 12, /* extr */
+ 7, /* exti */
+ 15, /* extr_u */
+ 5, /* exti_u */
+ 34, /* depr */
+ 27, /* depi */
+ 58, /* qlshr */
+ 15, /* qlshi */
+ 54, /* qlshr_u */
+ 15, /* qlshi_u */
+ 53, /* qrshr */
+ 15, /* qrshi */
+ 49, /* qrshr_u */
+ 15, /* qrshi_u */
+ 21, /* unldr */
+ 27, /* unldi */
+ 21, /* unldr_u */
+ 26, /* unldi_u */
+ 24, /* unstr */
+ 36, /* unsti */
+ 5, /* unldr_x */
+ 10, /* unldi_x */
+ 5, /* unstr_x */
+ 10, /* unsti_x */
+ 15, /* fmar_f */
+ 0, /* fmai_f */
+ 15, /* fmsr_f */
+ 0, /* fmsi_f */
+ 15, /* fmar_d */
+ 0, /* fmai_d */
+ 15, /* fmsr_d */
+ 0, /* fmsi_d */
+ 24, /* fnmar_f */
+ 0, /* fnmai_f */
+ 24, /* fnmsr_f */
+ 0, /* fnmsi_f */
+ 31, /* fnmar_d */
+ 0, /* fnmai_d */
+ 31, /* fnmsr_d */
+ 0, /* fnmsi_d */
+ 17, /* hmulr */
+ 27, /* hmuli */
+ 17, /* hmulr_u */
+ 27, /* hmuli_u */
#endif /* __CYGWIN__ || _WIN32 */
# endif /* __X64_32 */
#endif /* __X64 */