Page MenuHomePhabricator

[mips] MIPS-I Branch on Coprocessor 0 Instructions
Needs RevisionPublic

Authored by sdardis on Oct 24 2014, 7:21 AM.

Details

Summary

This patch adds support for the BC0F and BC0T MIPS-I instructions. Besides the
support, corresponding assembler and disassembler tests are also added.

Patch by: Igor Petkovic

Contributions from: Simon Dardis

Event Timeline

ipetkovic updated this revision to Diff 15410.Oct 24 2014, 7:21 AM
ipetkovic retitled this revision from to [mips] MIPS-I Branch on Coprocessor 0 Instructions.
ipetkovic updated this object.
ipetkovic edited the test plan for this revision. (Show Details)
ipetkovic added a subscriber: petarj.
dsanders accepted this revision.Nov 3 2014, 3:30 AM
dsanders edited edge metadata.

LGTM with a few nits.

lib/Target/Mips/MipsInstrFPU.td
258 ↗(On Diff #15410)

Nit: Op isn't used

lib/Target/Mips/MipsInstrFormats.td
845

Nit: It's not very clear what 'nd' means (no-delay?). Could we use 'BranchLikely' or 'HasDelaySlot' instead?

lib/Target/Mips/MipsInstrInfo.td
280

This is just a comment, no change required: I agree with the use of ISA_MIPS1_ONLY but it's worth noting that GAS will accept it on MIPS-II and above as well. Also interesting is that, GAS appears to have bc0[tf]l instructions from MIPS-II onwards which have never existed as far as I can tell from the documentation available to me.

281

Nit: NotMips2 already implies NotMips32r6 and NotMips64r6

test/MC/Mips/mips2/invalid-mips1.s
11 ↗(On Diff #15410)

Nit: Missing newline at EOF

This revision is now accepted and ready to land.Nov 3 2014, 3:30 AM
ipetkovic updated this revision to Diff 15800.Nov 5 2014, 2:06 AM
ipetkovic edited edge metadata.

Nits fixed.

seanbruno requested changes to this revision.Sep 26 2016, 7:06 AM
seanbruno added a reviewer: seanbruno.
seanbruno added a subscriber: seanbruno.

This looks like it needs to be refreshed to a more current Trunk if possible.

This revision now requires changes to proceed.Sep 26 2016, 7:06 AM
sdardis commandeered this revision.Feb 3 2017, 7:42 AM
sdardis edited reviewers, added: ipetkovic; removed: sdardis.
sdardis edited edge metadata.

Commandeering this patch to rebase to trunk.

sdardis updated this revision to Diff 86964.Feb 3 2017, 7:43 AM
sdardis edited edge metadata.

Rebase to trunk, update predicates to reflect GAS exclusions.

sdardis updated this revision to Diff 87442.Feb 7 2017, 8:15 AM
sdardis edited the summary of this revision. (Show Details)

Rebased to trunk. I've changed the instruction predicates to match GAS, for the sake of compatibility.

dsanders resigned from this revision.Jul 18 2019, 7:00 PM
This revision now requires changes to proceed.Jul 18 2019, 7:00 PM