This is an archive of the discontinued LLVM Phabricator instance.

[mips][microMIPS] Implement SW and SWE instructions
ClosedPublic

Authored by zbuljan on Jul 1 2015, 6:17 AM.

Details

Summary

The patch implements microMIPSr6 SW and SWE instructions.

Diff Detail

Repository
rL LLVM

Event Timeline

zbuljan updated this revision to Diff 28861.Jul 1 2015, 6:17 AM
zbuljan retitled this revision from to [mips][microMIPS] Implement SW and SWE instructions.
zbuljan updated this object.
zbuljan edited the test plan for this revision. (Show Details)
zbuljan added subscribers: petarj, Unknown Object (MLST).
dsanders accepted this revision.Aug 11 2015, 3:15 AM
dsanders edited edge metadata.

It will LGTM with a few spelling nits fixed.

lib/Target/Mips/MicroMips32r6InstrFormats.td
275–303 ↗(On Diff #28861)

The content looks right for SW and SWE but it's rather confusing to call them LW_... and LHUE_... when you are using them with SW and SWE.

Please name them after the major opcode instead. The convention we are trying to use for new work is <major-opcode>_<misc>_FM where <misc> is a disambiguating string when we need it such as for POOL32C which has several formats. For example SW32_FM and POOL32C_SWE_FM

lib/Target/Mips/MicroMipsInstrInfo.td
180–189 ↗(On Diff #28861)

Given that this is microMIPSR6 specific, it should be in MicroMips32r6InstrInfo.td. It should also be using the <insn>_DESC_BASE naming convention.

This revision is now accepted and ready to land.Aug 11 2015, 3:15 AM
This revision was automatically updated to reflect the committed changes.