On 08/10/2014 12:55, Leon Alrae wrote:
> case OPC_LUI:
> - tcg_gen_movi_tl(cpu_gpr[rt], imm << 16);
> - MIPS_DEBUG("lui %s, " TARGET_FMT_lx, regnames[rt], uimm);
> + if (rs != 0 && (ctx->insn_flags & ISA_MIPS32R6)) {
> + /* OPC_AUI */
> + tcg_gen_addi_tl(cpu_gpr[rt], cpu_gpr[rs], imm << 16);
> + tcg_gen_ext32s_tl(cpu_gpr[rt], cpu_gpr[rt]);
> + MIPS_DEBUG("aui %s, %s, %04x", regnames[rt], regnames[rs], imm);
> + } else {
> + tcg_gen_movi_tl(cpu_gpr[rt], imm << 16);
> + MIPS_DEBUG("lui %s, " TARGET_FMT_lx, regnames[rt], uimm);
> + }
> break;
Coverity reported a
gen_logic_imm(ctx, OPC_LUI, rs, -1, imm);
where the -1 probably has to become zero now.
Paolo