This is an archive of the discontinued LLVM Phabricator instance.

[mips] Add IAS support for dvp, evp
ClosedPublic

Authored by sdardis on Sep 7 2016, 4:24 AM.

Details

Reviewers
vkalintiris
Summary

These instructions were only defined for microMIPSR6 previously. Add
definitions for MIPSR6, correct definitions for microMIPSR6, flag these
instructions as having unmodelled side effects (they disable/enable
virtual processors) and add missing disassember tests for microMIPSR6.

Diff Detail

Event Timeline

sdardis updated this revision to Diff 70519.Sep 7 2016, 4:24 AM
sdardis retitled this revision from to [mips] Add IAS support for dvp, evp.
sdardis updated this object.
sdardis added a reviewer: vkalintiris.
sdardis set the repository for this revision to rL LLVM.
sdardis added a subscriber: llvm-commits.
vkalintiris accepted this revision.Sep 20 2016, 8:25 AM
vkalintiris edited edge metadata.

LGTM with a few minor changes, see inline comments.

lib/Target/Mips/MicroMips32r6InstrInfo.td
1351

I believe that this should be an out operand.

lib/Target/Mips/Mips32r6InstrFormats.td
48

I don't think that we need the _DVPEVP suffix because we might need the COP0 opcode group again in the future.

lib/Target/Mips/Mips32r6InstrInfo.td
911–912

Can you add tests for the aliases too?

This revision is now accepted and ready to land.Sep 20 2016, 8:25 AM

Looks like patch was not committed.

sdardis marked 2 inline comments as done.Oct 14 2016, 3:20 AM

Thanks, committed as r284115.

lib/Target/Mips/MicroMips32r6InstrInfo.td
1351

Yes, you're correct there.

lib/Target/Mips/Mips32r6InstrFormats.td
48

Rechecking the .td files shows that OPGROUP_COP0 was defined in MipsEVAInstrFormats.td. I've renamed the def there to OPGROUP_COP0_TLB. At some point we will want to refactor the format files.

sdardis closed this revision.Oct 14 2016, 3:21 AM
sdardis marked an inline comment as done.