This is an archive of the discontinued LLVM Phabricator instance.

[mips][microMIPS] Implement SLL and NOP instructions
ClosedPublic

Authored by zbuljan on Jun 16 2015, 1:09 AM.

Details

Summary

The patch implements microMIPSr6 SLL and NOP instructions.

Diff Detail

Event Timeline

zbuljan updated this revision to Diff 27750.Jun 16 2015, 1:09 AM
zbuljan retitled this revision from to [mips][microMIPS] Implement SLL and NOP instructions.
zbuljan updated this object.
zbuljan edited the test plan for this revision. (Show Details)
zbuljan added subscribers: petarj, Unknown Object (MLST).
dsanders added inline comments.Jun 22 2015, 3:37 AM
lib/Target/Mips/MicroMips32r6InstrFormats.td
267–268

The documentation calls them 'rt' and 'rs' respectively. That doesn't sound right though, 'rd' and 'rt' sound more likely.

lib/Target/Mips/MipsInstrInfo.td
425–436

Please use the existing uimm5 operand. You can add the range checking in a separate patch (either before or after) this one.

zbuljan updated this revision to Diff 28659.Jun 29 2015, 4:56 AM

Used existing operand uimm5 instead of new one.
Range checking for uimm5 will be added in separate patch later.

dsanders accepted this revision.Jun 29 2015, 5:48 AM
dsanders edited edge metadata.

LGTM

lib/Target/Mips/MicroMips32r6InstrFormats.td
267–268

I've found out a bit more about this kind of thing and I suggest we leave it as-is for now.

The issue is that MIPS and microMIPS don't always agree on the names since the names are derived from the fields of the encoding table and these two encodings sometimes use different fields. I'm currently thinking of a reasonable way to account for this without making the code ugly.

This revision is now accepted and ready to land.Jun 29 2015, 5:48 AM
zbuljan closed this revision.Jul 1 2015, 6:27 AM

Closed by commit rL241150: [mips][microMIPS] Implement SLL and NOP instructions