This is an archive of the discontinued LLVM Phabricator instance.

[mips] Fix `mtc1` and `mfc1` definitions for microMIPS R6
ClosedPublic

Authored by atanasyan on Aug 30 2018, 3:29 AM.

Details

Summary

The mtc1 and mfc1 definitions in the MipsInstrFPU.td have MMRel, but do not have StdMMR6Rel tags. When these instructions are emitted for microMIPS R6 targets, Mips::MipsR62MicroMipsR6 nor Mips::Std2MicroMipsR6 cannot find correct op-codes and as a result the backend uses mips32 variant of the instructions encoding.

The patch fixes this problem by adding the StdMMR6Rel tag and check instructions encoding in the test case.

Diff Detail

Repository
rL LLVM

Event Timeline

atanasyan created this revision.Aug 30 2018, 3:29 AM
This revision is now accepted and ready to land.Aug 31 2018, 7:12 AM
This revision was automatically updated to reflect the committed changes.

Thanks for review.