Public bug reported: Function decode_opc() in translate.c calls function gen_bitops(), which has such prototype:
/* special3 bitfield operations */ static void gen_bitops (DisasContext *ctx, uint32_t opc, int rt, int rs, int lsb, int msb) The code for DINSM instruction is: case OPC_DINSM ... OPC_DINS: check_insn(env, ctx, ISA_MIPS64R2); check_mips_64(ctx); gen_bitops(ctx, op1, rt, rs, sa, rd); break; But rd ≠ msb according to MIPS64R2 standard, rd = msb - 32. ** Affects: qemu Importance: Undecided Status: New -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1071149 Title: target-mips: special3 instruction dinsm translation error Status in QEMU: New Bug description: Function decode_opc() in translate.c calls function gen_bitops(), which has such prototype: /* special3 bitfield operations */ static void gen_bitops (DisasContext *ctx, uint32_t opc, int rt, int rs, int lsb, int msb) The code for DINSM instruction is: case OPC_DINSM ... OPC_DINS: check_insn(env, ctx, ISA_MIPS64R2); check_mips_64(ctx); gen_bitops(ctx, op1, rt, rs, sa, rd); break; But rd ≠ msb according to MIPS64R2 standard, rd = msb - 32. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1071149/+subscriptions