MIPS: microMIPS: mfhc1 & mthc1 support for the FPU emulator
This patch adds support for microMIPS encodings of the mfhc1 & mthc1 instructions introduced in release 2 of the mips32 & mips64 architectures, converting them to their mips32 equivalents for the FPU emulator. Signed-off-by: Steven J. Hill <Steven.Hill@imgtec.com> Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/6110/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
Родитель
1ac944007b
Коммит
9355e59c33
|
@ -398,8 +398,10 @@ enum mm_32f_73_minor_op {
|
|||
mm_movt1_op = 0xa5,
|
||||
mm_ftruncw_op = 0xac,
|
||||
mm_fneg1_op = 0xad,
|
||||
mm_mfhc1_op = 0xc0,
|
||||
mm_froundl_op = 0xcc,
|
||||
mm_fcvtd1_op = 0xcd,
|
||||
mm_mthc1_op = 0xe0,
|
||||
mm_froundw_op = 0xec,
|
||||
mm_fcvts1_op = 0xed,
|
||||
};
|
||||
|
|
|
@ -417,14 +417,20 @@ static int microMIPS32_to_MIPS32(union mips_instruction *insn_ptr)
|
|||
case mm_mtc1_op:
|
||||
case mm_cfc1_op:
|
||||
case mm_ctc1_op:
|
||||
case mm_mfhc1_op:
|
||||
case mm_mthc1_op:
|
||||
if (insn.mm_fp1_format.op == mm_mfc1_op)
|
||||
op = mfc_op;
|
||||
else if (insn.mm_fp1_format.op == mm_mtc1_op)
|
||||
op = mtc_op;
|
||||
else if (insn.mm_fp1_format.op == mm_cfc1_op)
|
||||
op = cfc_op;
|
||||
else
|
||||
else if (insn.mm_fp1_format.op == mm_ctc1_op)
|
||||
op = ctc_op;
|
||||
else if (insn.mm_fp1_format.op == mm_mfhc1_op)
|
||||
op = mfhc_op;
|
||||
else
|
||||
op = mthc_op;
|
||||
mips32_insn.fp1_format.opcode = cop1_op;
|
||||
mips32_insn.fp1_format.op = op;
|
||||
mips32_insn.fp1_format.rt =
|
||||
|
|
Загрузка…
Ссылка в новой задаче