cris: Make the CRISv32 insn decoders return signed int.

Prepare to return error from the individual decoders.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@axis.com>
This commit is contained in:
Edgar E. Iglesias 2010-06-16 11:28:53 +02:00
parent 2bece2c883
commit a699a7be90
1 changed files with 86 additions and 86 deletions

View File

@ -1361,7 +1361,7 @@ static const char *cc_name(int cc)
/* Start of insn decoders. */ /* Start of insn decoders. */
static unsigned int dec_bccq(DisasContext *dc) static int dec_bccq(DisasContext *dc)
{ {
int32_t offset; int32_t offset;
int sign; int sign;
@ -1381,7 +1381,7 @@ static unsigned int dec_bccq(DisasContext *dc)
cris_prepare_cc_branch (dc, offset, cond); cris_prepare_cc_branch (dc, offset, cond);
return 2; return 2;
} }
static unsigned int dec_addoq(DisasContext *dc) static int dec_addoq(DisasContext *dc)
{ {
int32_t imm; int32_t imm;
@ -1395,7 +1395,7 @@ static unsigned int dec_addoq(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_addq(DisasContext *dc) static int dec_addq(DisasContext *dc)
{ {
LOG_DIS("addq %u, $r%u\n", dc->op1, dc->op2); LOG_DIS("addq %u, $r%u\n", dc->op1, dc->op2);
@ -1407,7 +1407,7 @@ static unsigned int dec_addq(DisasContext *dc)
cpu_R[dc->op2], cpu_R[dc->op2], tcg_const_tl(dc->op1), 4); cpu_R[dc->op2], cpu_R[dc->op2], tcg_const_tl(dc->op1), 4);
return 2; return 2;
} }
static unsigned int dec_moveq(DisasContext *dc) static int dec_moveq(DisasContext *dc)
{ {
uint32_t imm; uint32_t imm;
@ -1418,7 +1418,7 @@ static unsigned int dec_moveq(DisasContext *dc)
tcg_gen_movi_tl(cpu_R[dc->op2], imm); tcg_gen_movi_tl(cpu_R[dc->op2], imm);
return 2; return 2;
} }
static unsigned int dec_subq(DisasContext *dc) static int dec_subq(DisasContext *dc)
{ {
dc->op1 = EXTRACT_FIELD(dc->ir, 0, 5); dc->op1 = EXTRACT_FIELD(dc->ir, 0, 5);
@ -1429,7 +1429,7 @@ static unsigned int dec_subq(DisasContext *dc)
cpu_R[dc->op2], cpu_R[dc->op2], tcg_const_tl(dc->op1), 4); cpu_R[dc->op2], cpu_R[dc->op2], tcg_const_tl(dc->op1), 4);
return 2; return 2;
} }
static unsigned int dec_cmpq(DisasContext *dc) static int dec_cmpq(DisasContext *dc)
{ {
uint32_t imm; uint32_t imm;
dc->op1 = EXTRACT_FIELD(dc->ir, 0, 5); dc->op1 = EXTRACT_FIELD(dc->ir, 0, 5);
@ -1442,7 +1442,7 @@ static unsigned int dec_cmpq(DisasContext *dc)
cpu_R[dc->op2], cpu_R[dc->op2], tcg_const_tl(imm), 4); cpu_R[dc->op2], cpu_R[dc->op2], tcg_const_tl(imm), 4);
return 2; return 2;
} }
static unsigned int dec_andq(DisasContext *dc) static int dec_andq(DisasContext *dc)
{ {
uint32_t imm; uint32_t imm;
dc->op1 = EXTRACT_FIELD(dc->ir, 0, 5); dc->op1 = EXTRACT_FIELD(dc->ir, 0, 5);
@ -1455,7 +1455,7 @@ static unsigned int dec_andq(DisasContext *dc)
cpu_R[dc->op2], cpu_R[dc->op2], tcg_const_tl(imm), 4); cpu_R[dc->op2], cpu_R[dc->op2], tcg_const_tl(imm), 4);
return 2; return 2;
} }
static unsigned int dec_orq(DisasContext *dc) static int dec_orq(DisasContext *dc)
{ {
uint32_t imm; uint32_t imm;
dc->op1 = EXTRACT_FIELD(dc->ir, 0, 5); dc->op1 = EXTRACT_FIELD(dc->ir, 0, 5);
@ -1467,7 +1467,7 @@ static unsigned int dec_orq(DisasContext *dc)
cpu_R[dc->op2], cpu_R[dc->op2], tcg_const_tl(imm), 4); cpu_R[dc->op2], cpu_R[dc->op2], tcg_const_tl(imm), 4);
return 2; return 2;
} }
static unsigned int dec_btstq(DisasContext *dc) static int dec_btstq(DisasContext *dc)
{ {
dc->op1 = EXTRACT_FIELD(dc->ir, 0, 4); dc->op1 = EXTRACT_FIELD(dc->ir, 0, 4);
LOG_DIS("btstq %u, $r%d\n", dc->op1, dc->op2); LOG_DIS("btstq %u, $r%d\n", dc->op1, dc->op2);
@ -1482,7 +1482,7 @@ static unsigned int dec_btstq(DisasContext *dc)
dc->flags_uptodate = 1; dc->flags_uptodate = 1;
return 2; return 2;
} }
static unsigned int dec_asrq(DisasContext *dc) static int dec_asrq(DisasContext *dc)
{ {
dc->op1 = EXTRACT_FIELD(dc->ir, 0, 4); dc->op1 = EXTRACT_FIELD(dc->ir, 0, 4);
LOG_DIS("asrq %u, $r%d\n", dc->op1, dc->op2); LOG_DIS("asrq %u, $r%d\n", dc->op1, dc->op2);
@ -1494,7 +1494,7 @@ static unsigned int dec_asrq(DisasContext *dc)
cpu_R[dc->op2], cpu_R[dc->op2], 4); cpu_R[dc->op2], cpu_R[dc->op2], 4);
return 2; return 2;
} }
static unsigned int dec_lslq(DisasContext *dc) static int dec_lslq(DisasContext *dc)
{ {
dc->op1 = EXTRACT_FIELD(dc->ir, 0, 4); dc->op1 = EXTRACT_FIELD(dc->ir, 0, 4);
LOG_DIS("lslq %u, $r%d\n", dc->op1, dc->op2); LOG_DIS("lslq %u, $r%d\n", dc->op1, dc->op2);
@ -1508,7 +1508,7 @@ static unsigned int dec_lslq(DisasContext *dc)
cpu_R[dc->op2], cpu_R[dc->op2], 4); cpu_R[dc->op2], cpu_R[dc->op2], 4);
return 2; return 2;
} }
static unsigned int dec_lsrq(DisasContext *dc) static int dec_lsrq(DisasContext *dc)
{ {
dc->op1 = EXTRACT_FIELD(dc->ir, 0, 4); dc->op1 = EXTRACT_FIELD(dc->ir, 0, 4);
LOG_DIS("lsrq %u, $r%d\n", dc->op1, dc->op2); LOG_DIS("lsrq %u, $r%d\n", dc->op1, dc->op2);
@ -1522,7 +1522,7 @@ static unsigned int dec_lsrq(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_move_r(DisasContext *dc) static int dec_move_r(DisasContext *dc)
{ {
int size = memsize_zz(dc); int size = memsize_zz(dc);
@ -1550,7 +1550,7 @@ static unsigned int dec_move_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_scc_r(DisasContext *dc) static int dec_scc_r(DisasContext *dc)
{ {
int cond = dc->op2; int cond = dc->op2;
@ -1593,7 +1593,7 @@ static inline void cris_alu_free_temps(DisasContext *dc, int size, TCGv *t)
} }
} }
static unsigned int dec_and_r(DisasContext *dc) static int dec_and_r(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int size = memsize_zz(dc); int size = memsize_zz(dc);
@ -1610,7 +1610,7 @@ static unsigned int dec_and_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_lz_r(DisasContext *dc) static int dec_lz_r(DisasContext *dc)
{ {
TCGv t0; TCGv t0;
LOG_DIS("lz $r%u, $r%u\n", LOG_DIS("lz $r%u, $r%u\n",
@ -1623,7 +1623,7 @@ static unsigned int dec_lz_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_lsl_r(DisasContext *dc) static int dec_lsl_r(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int size = memsize_zz(dc); int size = memsize_zz(dc);
@ -1640,7 +1640,7 @@ static unsigned int dec_lsl_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_lsr_r(DisasContext *dc) static int dec_lsr_r(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int size = memsize_zz(dc); int size = memsize_zz(dc);
@ -1657,7 +1657,7 @@ static unsigned int dec_lsr_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_asr_r(DisasContext *dc) static int dec_asr_r(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int size = memsize_zz(dc); int size = memsize_zz(dc);
@ -1674,7 +1674,7 @@ static unsigned int dec_asr_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_muls_r(DisasContext *dc) static int dec_muls_r(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int size = memsize_zz(dc); int size = memsize_zz(dc);
@ -1690,7 +1690,7 @@ static unsigned int dec_muls_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_mulu_r(DisasContext *dc) static int dec_mulu_r(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int size = memsize_zz(dc); int size = memsize_zz(dc);
@ -1707,7 +1707,7 @@ static unsigned int dec_mulu_r(DisasContext *dc)
} }
static unsigned int dec_dstep_r(DisasContext *dc) static int dec_dstep_r(DisasContext *dc)
{ {
LOG_DIS("dstep $r%u, $r%u\n", dc->op1, dc->op2); LOG_DIS("dstep $r%u, $r%u\n", dc->op1, dc->op2);
cris_cc_mask(dc, CC_MASK_NZ); cris_cc_mask(dc, CC_MASK_NZ);
@ -1716,7 +1716,7 @@ static unsigned int dec_dstep_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_xor_r(DisasContext *dc) static int dec_xor_r(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int size = memsize_zz(dc); int size = memsize_zz(dc);
@ -1732,7 +1732,7 @@ static unsigned int dec_xor_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_bound_r(DisasContext *dc) static int dec_bound_r(DisasContext *dc)
{ {
TCGv l0; TCGv l0;
int size = memsize_zz(dc); int size = memsize_zz(dc);
@ -1746,7 +1746,7 @@ static unsigned int dec_bound_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_cmp_r(DisasContext *dc) static int dec_cmp_r(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int size = memsize_zz(dc); int size = memsize_zz(dc);
@ -1761,7 +1761,7 @@ static unsigned int dec_cmp_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_abs_r(DisasContext *dc) static int dec_abs_r(DisasContext *dc)
{ {
TCGv t0; TCGv t0;
@ -1780,7 +1780,7 @@ static unsigned int dec_abs_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_add_r(DisasContext *dc) static int dec_add_r(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int size = memsize_zz(dc); int size = memsize_zz(dc);
@ -1795,7 +1795,7 @@ static unsigned int dec_add_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_addc_r(DisasContext *dc) static int dec_addc_r(DisasContext *dc)
{ {
LOG_DIS("addc $r%u, $r%u\n", LOG_DIS("addc $r%u, $r%u\n",
dc->op1, dc->op2); dc->op1, dc->op2);
@ -1810,7 +1810,7 @@ static unsigned int dec_addc_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_mcp_r(DisasContext *dc) static int dec_mcp_r(DisasContext *dc)
{ {
LOG_DIS("mcp $p%u, $r%u\n", LOG_DIS("mcp $p%u, $r%u\n",
dc->op2, dc->op1); dc->op2, dc->op1);
@ -1837,7 +1837,7 @@ static char * swapmode_name(int mode, char *modename) {
} }
#endif #endif
static unsigned int dec_swap_r(DisasContext *dc) static int dec_swap_r(DisasContext *dc)
{ {
TCGv t0; TCGv t0;
#if DISAS_CRIS #if DISAS_CRIS
@ -1863,7 +1863,7 @@ static unsigned int dec_swap_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_or_r(DisasContext *dc) static int dec_or_r(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int size = memsize_zz(dc); int size = memsize_zz(dc);
@ -1877,7 +1877,7 @@ static unsigned int dec_or_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_addi_r(DisasContext *dc) static int dec_addi_r(DisasContext *dc)
{ {
TCGv t0; TCGv t0;
LOG_DIS("addi.%c $r%u, $r%u\n", LOG_DIS("addi.%c $r%u, $r%u\n",
@ -1890,7 +1890,7 @@ static unsigned int dec_addi_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_addi_acr(DisasContext *dc) static int dec_addi_acr(DisasContext *dc)
{ {
TCGv t0; TCGv t0;
LOG_DIS("addi.%c $r%u, $r%u, $acr\n", LOG_DIS("addi.%c $r%u, $r%u, $acr\n",
@ -1903,7 +1903,7 @@ static unsigned int dec_addi_acr(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_neg_r(DisasContext *dc) static int dec_neg_r(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int size = memsize_zz(dc); int size = memsize_zz(dc);
@ -1918,7 +1918,7 @@ static unsigned int dec_neg_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_btst_r(DisasContext *dc) static int dec_btst_r(DisasContext *dc)
{ {
LOG_DIS("btst $r%u, $r%u\n", LOG_DIS("btst $r%u, $r%u\n",
dc->op1, dc->op2); dc->op1, dc->op2);
@ -1933,7 +1933,7 @@ static unsigned int dec_btst_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_sub_r(DisasContext *dc) static int dec_sub_r(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int size = memsize_zz(dc); int size = memsize_zz(dc);
@ -1948,7 +1948,7 @@ static unsigned int dec_sub_r(DisasContext *dc)
} }
/* Zero extension. From size to dword. */ /* Zero extension. From size to dword. */
static unsigned int dec_movu_r(DisasContext *dc) static int dec_movu_r(DisasContext *dc)
{ {
TCGv t0; TCGv t0;
int size = memsize_z(dc); int size = memsize_z(dc);
@ -1965,7 +1965,7 @@ static unsigned int dec_movu_r(DisasContext *dc)
} }
/* Sign extension. From size to dword. */ /* Sign extension. From size to dword. */
static unsigned int dec_movs_r(DisasContext *dc) static int dec_movs_r(DisasContext *dc)
{ {
TCGv t0; TCGv t0;
int size = memsize_z(dc); int size = memsize_z(dc);
@ -1984,7 +1984,7 @@ static unsigned int dec_movs_r(DisasContext *dc)
} }
/* zero extension. From size to dword. */ /* zero extension. From size to dword. */
static unsigned int dec_addu_r(DisasContext *dc) static int dec_addu_r(DisasContext *dc)
{ {
TCGv t0; TCGv t0;
int size = memsize_z(dc); int size = memsize_z(dc);
@ -2003,7 +2003,7 @@ static unsigned int dec_addu_r(DisasContext *dc)
} }
/* Sign extension. From size to dword. */ /* Sign extension. From size to dword. */
static unsigned int dec_adds_r(DisasContext *dc) static int dec_adds_r(DisasContext *dc)
{ {
TCGv t0; TCGv t0;
int size = memsize_z(dc); int size = memsize_z(dc);
@ -2022,7 +2022,7 @@ static unsigned int dec_adds_r(DisasContext *dc)
} }
/* Zero extension. From size to dword. */ /* Zero extension. From size to dword. */
static unsigned int dec_subu_r(DisasContext *dc) static int dec_subu_r(DisasContext *dc)
{ {
TCGv t0; TCGv t0;
int size = memsize_z(dc); int size = memsize_z(dc);
@ -2041,7 +2041,7 @@ static unsigned int dec_subu_r(DisasContext *dc)
} }
/* Sign extension. From size to dword. */ /* Sign extension. From size to dword. */
static unsigned int dec_subs_r(DisasContext *dc) static int dec_subs_r(DisasContext *dc)
{ {
TCGv t0; TCGv t0;
int size = memsize_z(dc); int size = memsize_z(dc);
@ -2059,7 +2059,7 @@ static unsigned int dec_subs_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_setclrf(DisasContext *dc) static int dec_setclrf(DisasContext *dc)
{ {
uint32_t flags; uint32_t flags;
int set = (~dc->opcode >> 2) & 1; int set = (~dc->opcode >> 2) & 1;
@ -2130,14 +2130,14 @@ static unsigned int dec_setclrf(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_move_rs(DisasContext *dc) static int dec_move_rs(DisasContext *dc)
{ {
LOG_DIS("move $r%u, $s%u\n", dc->op1, dc->op2); LOG_DIS("move $r%u, $s%u\n", dc->op1, dc->op2);
cris_cc_mask(dc, 0); cris_cc_mask(dc, 0);
gen_helper_movl_sreg_reg(tcg_const_tl(dc->op2), tcg_const_tl(dc->op1)); gen_helper_movl_sreg_reg(tcg_const_tl(dc->op2), tcg_const_tl(dc->op1));
return 2; return 2;
} }
static unsigned int dec_move_sr(DisasContext *dc) static int dec_move_sr(DisasContext *dc)
{ {
LOG_DIS("move $s%u, $r%u\n", dc->op2, dc->op1); LOG_DIS("move $s%u, $r%u\n", dc->op2, dc->op1);
cris_cc_mask(dc, 0); cris_cc_mask(dc, 0);
@ -2145,7 +2145,7 @@ static unsigned int dec_move_sr(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_move_rp(DisasContext *dc) static int dec_move_rp(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
LOG_DIS("move $r%u, $p%u\n", dc->op1, dc->op2); LOG_DIS("move $r%u, $p%u\n", dc->op1, dc->op2);
@ -2175,7 +2175,7 @@ static unsigned int dec_move_rp(DisasContext *dc)
tcg_temp_free(t[0]); tcg_temp_free(t[0]);
return 2; return 2;
} }
static unsigned int dec_move_pr(DisasContext *dc) static int dec_move_pr(DisasContext *dc)
{ {
TCGv t0; TCGv t0;
LOG_DIS("move $p%u, $r%u\n", dc->op2, dc->op1); LOG_DIS("move $p%u, $r%u\n", dc->op2, dc->op1);
@ -2197,7 +2197,7 @@ static unsigned int dec_move_pr(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_move_mr(DisasContext *dc) static int dec_move_mr(DisasContext *dc)
{ {
int memsize = memsize_zz(dc); int memsize = memsize_zz(dc);
int insn_len; int insn_len;
@ -2239,7 +2239,7 @@ static inline void cris_alu_m_free_temps(TCGv *t)
tcg_temp_free(t[1]); tcg_temp_free(t[1]);
} }
static unsigned int dec_movs_m(DisasContext *dc) static int dec_movs_m(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_z(dc); int memsize = memsize_z(dc);
@ -2260,7 +2260,7 @@ static unsigned int dec_movs_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_addu_m(DisasContext *dc) static int dec_addu_m(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_z(dc); int memsize = memsize_z(dc);
@ -2281,7 +2281,7 @@ static unsigned int dec_addu_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_adds_m(DisasContext *dc) static int dec_adds_m(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_z(dc); int memsize = memsize_z(dc);
@ -2301,7 +2301,7 @@ static unsigned int dec_adds_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_subu_m(DisasContext *dc) static int dec_subu_m(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_z(dc); int memsize = memsize_z(dc);
@ -2321,7 +2321,7 @@ static unsigned int dec_subu_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_subs_m(DisasContext *dc) static int dec_subs_m(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_z(dc); int memsize = memsize_z(dc);
@ -2341,7 +2341,7 @@ static unsigned int dec_subs_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_movu_m(DisasContext *dc) static int dec_movu_m(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_z(dc); int memsize = memsize_z(dc);
@ -2361,7 +2361,7 @@ static unsigned int dec_movu_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_cmpu_m(DisasContext *dc) static int dec_cmpu_m(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_z(dc); int memsize = memsize_z(dc);
@ -2380,7 +2380,7 @@ static unsigned int dec_cmpu_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_cmps_m(DisasContext *dc) static int dec_cmps_m(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_z(dc); int memsize = memsize_z(dc);
@ -2401,7 +2401,7 @@ static unsigned int dec_cmps_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_cmp_m(DisasContext *dc) static int dec_cmp_m(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_zz(dc); int memsize = memsize_zz(dc);
@ -2422,7 +2422,7 @@ static unsigned int dec_cmp_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_test_m(DisasContext *dc) static int dec_test_m(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_zz(dc); int memsize = memsize_zz(dc);
@ -2446,7 +2446,7 @@ static unsigned int dec_test_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_and_m(DisasContext *dc) static int dec_and_m(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_zz(dc); int memsize = memsize_zz(dc);
@ -2465,7 +2465,7 @@ static unsigned int dec_and_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_add_m(DisasContext *dc) static int dec_add_m(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_zz(dc); int memsize = memsize_zz(dc);
@ -2485,7 +2485,7 @@ static unsigned int dec_add_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_addo_m(DisasContext *dc) static int dec_addo_m(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_zz(dc); int memsize = memsize_zz(dc);
@ -2504,7 +2504,7 @@ static unsigned int dec_addo_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_bound_m(DisasContext *dc) static int dec_bound_m(DisasContext *dc)
{ {
TCGv l[2]; TCGv l[2];
int memsize = memsize_zz(dc); int memsize = memsize_zz(dc);
@ -2525,7 +2525,7 @@ static unsigned int dec_bound_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_addc_mr(DisasContext *dc) static int dec_addc_mr(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int insn_len = 2; int insn_len = 2;
@ -2548,7 +2548,7 @@ static unsigned int dec_addc_mr(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_sub_m(DisasContext *dc) static int dec_sub_m(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_zz(dc); int memsize = memsize_zz(dc);
@ -2567,7 +2567,7 @@ static unsigned int dec_sub_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_or_m(DisasContext *dc) static int dec_or_m(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_zz(dc); int memsize = memsize_zz(dc);
@ -2587,7 +2587,7 @@ static unsigned int dec_or_m(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_move_mp(DisasContext *dc) static int dec_move_mp(DisasContext *dc)
{ {
TCGv t[2]; TCGv t[2];
int memsize = memsize_zz(dc); int memsize = memsize_zz(dc);
@ -2619,7 +2619,7 @@ static unsigned int dec_move_mp(DisasContext *dc)
return insn_len; return insn_len;
} }
static unsigned int dec_move_pm(DisasContext *dc) static int dec_move_pm(DisasContext *dc)
{ {
TCGv t0; TCGv t0;
int memsize; int memsize;
@ -2645,7 +2645,7 @@ static unsigned int dec_move_pm(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_movem_mr(DisasContext *dc) static int dec_movem_mr(DisasContext *dc)
{ {
TCGv_i64 tmp[16]; TCGv_i64 tmp[16];
TCGv tmp32; TCGv tmp32;
@ -2692,7 +2692,7 @@ static unsigned int dec_movem_mr(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_movem_rm(DisasContext *dc) static int dec_movem_rm(DisasContext *dc)
{ {
TCGv tmp; TCGv tmp;
TCGv addr; TCGv addr;
@ -2721,7 +2721,7 @@ static unsigned int dec_movem_rm(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_move_rm(DisasContext *dc) static int dec_move_rm(DisasContext *dc)
{ {
int memsize; int memsize;
@ -2740,7 +2740,7 @@ static unsigned int dec_move_rm(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_lapcq(DisasContext *dc) static int dec_lapcq(DisasContext *dc)
{ {
LOG_DIS("lapcq %x, $r%u\n", LOG_DIS("lapcq %x, $r%u\n",
dc->pc + dc->op1*2, dc->op2); dc->pc + dc->op1*2, dc->op2);
@ -2749,7 +2749,7 @@ static unsigned int dec_lapcq(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_lapc_im(DisasContext *dc) static int dec_lapc_im(DisasContext *dc)
{ {
unsigned int rd; unsigned int rd;
int32_t imm; int32_t imm;
@ -2768,7 +2768,7 @@ static unsigned int dec_lapc_im(DisasContext *dc)
} }
/* Jump to special reg. */ /* Jump to special reg. */
static unsigned int dec_jump_p(DisasContext *dc) static int dec_jump_p(DisasContext *dc)
{ {
LOG_DIS("jump $p%u\n", dc->op2); LOG_DIS("jump $p%u\n", dc->op2);
@ -2783,7 +2783,7 @@ static unsigned int dec_jump_p(DisasContext *dc)
} }
/* Jump and save. */ /* Jump and save. */
static unsigned int dec_jas_r(DisasContext *dc) static int dec_jas_r(DisasContext *dc)
{ {
LOG_DIS("jas $r%u, $p%u\n", dc->op1, dc->op2); LOG_DIS("jas $r%u, $p%u\n", dc->op1, dc->op2);
cris_cc_mask(dc, 0); cris_cc_mask(dc, 0);
@ -2797,7 +2797,7 @@ static unsigned int dec_jas_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_jas_im(DisasContext *dc) static int dec_jas_im(DisasContext *dc)
{ {
uint32_t imm; uint32_t imm;
@ -2813,7 +2813,7 @@ static unsigned int dec_jas_im(DisasContext *dc)
return 6; return 6;
} }
static unsigned int dec_jasc_im(DisasContext *dc) static int dec_jasc_im(DisasContext *dc)
{ {
uint32_t imm; uint32_t imm;
@ -2829,7 +2829,7 @@ static unsigned int dec_jasc_im(DisasContext *dc)
return 6; return 6;
} }
static unsigned int dec_jasc_r(DisasContext *dc) static int dec_jasc_r(DisasContext *dc)
{ {
LOG_DIS("jasc_r $r%u, $p%u\n", dc->op1, dc->op2); LOG_DIS("jasc_r $r%u, $p%u\n", dc->op1, dc->op2);
cris_cc_mask(dc, 0); cris_cc_mask(dc, 0);
@ -2840,7 +2840,7 @@ static unsigned int dec_jasc_r(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_bcc_im(DisasContext *dc) static int dec_bcc_im(DisasContext *dc)
{ {
int32_t offset; int32_t offset;
uint32_t cond = dc->op2; uint32_t cond = dc->op2;
@ -2857,7 +2857,7 @@ static unsigned int dec_bcc_im(DisasContext *dc)
return 4; return 4;
} }
static unsigned int dec_bas_im(DisasContext *dc) static int dec_bas_im(DisasContext *dc)
{ {
int32_t simm; int32_t simm;
@ -2874,7 +2874,7 @@ static unsigned int dec_bas_im(DisasContext *dc)
return 6; return 6;
} }
static unsigned int dec_basc_im(DisasContext *dc) static int dec_basc_im(DisasContext *dc)
{ {
int32_t simm; int32_t simm;
simm = ldl_code(dc->pc + 2); simm = ldl_code(dc->pc + 2);
@ -2889,7 +2889,7 @@ static unsigned int dec_basc_im(DisasContext *dc)
return 6; return 6;
} }
static unsigned int dec_rfe_etc(DisasContext *dc) static int dec_rfe_etc(DisasContext *dc)
{ {
cris_cc_mask(dc, 0); cris_cc_mask(dc, 0);
@ -2936,17 +2936,17 @@ static unsigned int dec_rfe_etc(DisasContext *dc)
return 2; return 2;
} }
static unsigned int dec_ftag_fidx_d_m(DisasContext *dc) static int dec_ftag_fidx_d_m(DisasContext *dc)
{ {
return 2; return 2;
} }
static unsigned int dec_ftag_fidx_i_m(DisasContext *dc) static int dec_ftag_fidx_i_m(DisasContext *dc)
{ {
return 2; return 2;
} }
static unsigned int dec_null(DisasContext *dc) static int dec_null(DisasContext *dc)
{ {
printf ("unknown insn pc=%x opc=%x op1=%x op2=%x\n", printf ("unknown insn pc=%x opc=%x op1=%x op2=%x\n",
dc->pc, dc->opcode, dc->op1, dc->op2); dc->pc, dc->opcode, dc->op1, dc->op2);
@ -2960,7 +2960,7 @@ static struct decoder_info {
uint32_t bits; uint32_t bits;
uint32_t mask; uint32_t mask;
}; };
unsigned int (*dec)(DisasContext *dc); int (*dec)(DisasContext *dc);
} decinfo[] = { } decinfo[] = {
/* Order matters here. */ /* Order matters here. */
{DEC_MOVEQ, dec_moveq}, {DEC_MOVEQ, dec_moveq},
@ -3068,7 +3068,7 @@ static struct decoder_info {
static unsigned int crisv32_decoder(DisasContext *dc) static unsigned int crisv32_decoder(DisasContext *dc)
{ {
unsigned int insn_len = 2; int insn_len = 2;
int i; int i;
if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP))) if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP)))