[PATCH] D16918: [mips][microMIPS] Implement LLX, LLXE, SCX and SCXE instructions

Daniel Sanders via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 5 08:37:55 PST 2016


dsanders requested changes to this revision.
dsanders added a comment.
This revision now requires changes to proceed.

Hi Zlatko,

I understand that llx/scx/llxe/scxe are about to be significantly changed in the documentation. I therefore think it's best to defer this patch for now and come back to it later.


================
Comment at: lib/Target/Mips/MicroMipsInstrInfo.td:267-282
@@ -266,18 +266,18 @@
 class LLEBaseMM<string opstr, RegisterOperand RO> :
-  InstSE<(outs RO:$rt), (ins mem_mm_12:$addr),
+  InstSE<(outs RO:$rt), (ins mem_simm9gpr:$addr),
          !strconcat(opstr, "\t$rt, $addr"), [], NoItinerary, FrmI> {
   let DecoderMethod = "DecodeMemMMImm9";
   let mayLoad = 1;
 }
 
 class SCBaseMM<string opstr, RegisterOperand RO> :
   InstSE<(outs RO:$dst), (ins RO:$rt, mem_mm_12:$addr),
          !strconcat(opstr, "\t$rt, $addr"), [], NoItinerary, FrmI> {
   let DecoderMethod = "DecodeMemMMImm12";
   let mayStore = 1;
   let Constraints = "$rt = $dst";
 }
 
 class SCEBaseMM<string opstr, RegisterOperand RO> :
-  InstSE<(outs RO:$dst), (ins RO:$rt, mem_mm_12:$addr),
+  InstSE<(outs RO:$dst), (ins RO:$rt, mem_simm9gpr:$addr),
          !strconcat(opstr, "\t$rt, $addr"), [], NoItinerary, FrmI> {
----------------
This bit should still be fixed though. lle/sce have always has 9-bit offsets on microMIPS
Could you split it into a separate patch along with the relevant test cases?


http://reviews.llvm.org/D16918





More information about the llvm-commits mailing list