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

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

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

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

lib/Target/Mips/MipsSEISelLowering.cpp
935–936

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

948–949

!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.