================ @@ -514,6 +514,78 @@ class RVInstJ<RISCVOpcode opcode, dag outs, dag ins, string opcodestr, let Inst{6-0} = opcode.Value; } +//===----------------------------------------------------------------------===// +// MIPS custom instruction formats +//===----------------------------------------------------------------------===// + +// Load double pair format. +class LDPFormat<dag outs, dag ins, string opcodestr, string argstr> + : RVInst<outs, ins, opcodestr, argstr, [], InstFormatI> { + bits<7> imm7; + bits<5> rs1; + bits<5> rd1; + bits<5> rd2; + + let Inst{31-27} = rd2; + let Inst{26-23} = imm7{6-3}; + let Inst{22-20} = 0b000; + let Inst{19-15} = rs1; + let Inst{14-12} = 0b100; + let Inst{11-7} = rd1; + let Inst{6-0} = 0b0001011; ---------------- topperc wrote:
This use the `OPC_CUSTOM_0.Value` for readability https://github.com/llvm/llvm-project/pull/121394 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits