Page MenuHomePhabricator

[mips] Some MIPS branch and likely instructions
ClosedPublic

Authored by ipetkovic on Oct 21 2014, 8:20 AM.

Details

Summary

The patch adds support for the following MIPS branch and likely instructions:

  • BGEZALL
  • BGTZL
  • BLEZL
  • BLTZL

New patch version prevents usage of branch likely instructions for
microMIPS and adds corresponding disassembler test cases.

Diff Detail

Event Timeline

ipetkovic updated this revision to Diff 15192.Oct 21 2014, 8:20 AM
ipetkovic retitled this revision from to [mips] Some MIPS branch and likely instructions.
ipetkovic updated this object.
ipetkovic edited the test plan for this revision. (Show Details)
ipetkovic added a subscriber: petarj.
vkalintiris added inline comments.
lib/Target/Mips/MipsInstrInfo.td
1223–1233

Hi Igor, I added support for the branch likely instructions last week (see D5782 and D5802).
However, I didn't consider what happens in MicroMips mode as I don't know enough about it.

dsanders added inline comments.Oct 22 2014, 2:00 AM
lib/Target/Mips/MipsInstrInfo.td
1223–1233

Vasileios: Just for future reference, it's preferable to reference the committed revision wherever possible (r220036, and r220042 in this case).

ipetkovic updated this revision to Diff 15311.Oct 23 2014, 3:53 AM
ipetkovic updated this object.

New patch version prevents usage of branch likely instructions for
microMIPS and adds corresponding disassembler test cases.

dsanders requested changes to this revision.Nov 3 2014, 3:17 AM
dsanders edited edge metadata.

NotInMicroMips doesn't belong in InsnPredicates (and therefore does not belong in the ISA_* classes). It should be in the AdditionalPredicates list. The reason for this is that microMIPS is (almost) an alternate encoding rather than an alternate ISA. It accepts the same assembly instructions (although some become macros and this is what NotInMicroMips is currently handling). Eventually microMIPS will be represented properly in EncodingPredicates with predicates for standard/microMIPS/both encodings.

This revision now requires changes to proceed.Nov 3 2014, 3:17 AM
ipetkovic updated this revision to Diff 15799.Nov 5 2014, 1:48 AM
ipetkovic edited edge metadata.

NotInMicroMips defined in a AdditionalPredicates list for branch and likely instructions that are not featured in microMIPS.

dsanders accepted this revision.Nov 5 2014, 7:22 AM
dsanders edited edge metadata.

Thanks. LGTM

This revision is now accepted and ready to land.Nov 5 2014, 7:22 AM

This looks to have been committed in one form or another. Can we close this review?

dsanders closed this revision.Jul 18 2019, 7:02 PM