This is an archive of the discontinued LLVM Phabricator instance.

[mips][micromips] Initial support for micrmomips DSP instructions and addu.qb implementation
ClosedPublic

Authored by zoran.jovanovic on Sep 11 2015, 5:09 AM.

Diff Detail

Repository
rL LLVM

Event Timeline

zoran.jovanovic retitled this revision from to [mips][micromips] Initial support for micrmomips DSP instructions and addu.qb implementation.
zoran.jovanovic updated this object.
zoran.jovanovic added a subscriber: llvm-commits.

Test files renamed and changed usage of predicates.

dsanders accepted this revision.Oct 2 2015, 9:07 AM
dsanders edited edge metadata.

LGTM with a few nits.

I noticed you don't actually use DSPR3 yet but I expect will change in the next few patches.

lib/Target/Mips/MicroMipsDSPInstrFormats.td
1–2 ↗(On Diff #35093)

Unfortunately, this has to be a single line and we have to fit into 80 cols as well. The '-*- tablegen -*-' is used by editors to configure for the specified language.

The 'Micromips DSP' part is probably the best bit to remove.

13 ↗(On Diff #35093)

HasDSP is not an encoding predicate, it belongs in InsnPredicates.

lib/Target/Mips/MipsSEISelLowering.cpp
935–936 ↗(On Diff #35093)

!hasDSPR3() is redundant here. The predicates are cumulative so you have have DSPR3 without also having DSPR2.

948–949 ↗(On Diff #35093)

!hasDSPR3() is redundant here. The predicates are cumulative so you have have DSPR3 without also having DSPR2.

This revision is now accepted and ready to land.Oct 2 2015, 9:07 AM
This revision was automatically updated to reflect the committed changes.