The thread that Aurelien replied to was from March. Going back to revive that patch I found I'd done some further work in April, which I may never have got around to posting.
The first three patches fix compilation errors when MIPS_DEBUG_DISAS is defined. The second three patches change the mips target to use TCG registers for the FPU. While they help the quality of the generated code for LMI, they are not required. The final patch implements LMI. Except for the existance of the gen_load/store_fpr_pair functions introduced in patch 6, the final patch is independent of the transition to TCG registers. I've addressed the issues raised by Aurelien in his v1 review. r~ Richard Henderson (7): target-mips: Set opn in gen_ldst_multiple. target-mips: Fix MIPS_DEBUG. target-mips: Always evaluate debugging macro arguments target-mips: Pass DisasContext to fpr32 load/store routines target-mips: Use TCG registers for the FPU. target-mips: Add accessors for the two 32-bit halves of a 64-bit FPR target-mips: Implement Loongson Multimedia Instructions target-mips/Makefile.objs | 2 +- target-mips/helper.h | 59 +++ target-mips/lmi_helper.c | 744 +++++++++++++++++++++++++++++++++++ target-mips/translate.c | 962 +++++++++++++++++++++++++++++++++------------- 4 files changed, 1492 insertions(+), 275 deletions(-) create mode 100644 target-mips/lmi_helper.c -- 1.7.11.4