This is an archive of the discontinued LLVM Phabricator instance.

[mips][microMIPS] Implement JALRS16 instruction
ClosedPublic

Authored by jkolek on Aug 22 2014, 8:10 AM.

Details

Summary

Implement 16-bit microMIPS jump instruction with short delay slot JALRS16.

Diff Detail

Event Timeline

jkolek updated this revision to Diff 12843.Aug 22 2014, 8:10 AM
jkolek retitled this revision from to [mips][microMIPS] Implement JALRS16 instruction.
jkolek updated this object.
jkolek edited the test plan for this revision. (Show Details)
jkolek added reviewers: dsanders, vmedic.
jkolek added a subscriber: zoran.jovanovic.
dsanders edited edge metadata.Sep 2 2014, 5:42 AM

I'm not sure the encoding and mnemonics are correct. Can you double check?

lib/Target/Mips/MicroMipsInstrInfo.td
107–115

No changes required at the moment but something to consider for the long-run: Do we really need to define a 16-bit version of this class? Currently the answer is clearly "yes" (because we need a different base class) but we could turn this into "no" with the definition style used by DSP/MSA/R6. microMIPS has consistently used the older definition style so this will be something to deal with when we migrate the older code.

137

0x09 doesn't look right to me. I think it's 0x0f.

Also, shouldn't the "jalrs" be "jalrs16"?

jkolek updated this revision to Diff 13254.Sep 4 2014, 5:56 AM
jkolek edited edge metadata.
jkolek updated this revision to Diff 14098.Sep 26 2014, 3:40 AM
jkolek added a reviewer: sstankovic.
sstankovic edited edge metadata.Sep 26 2014, 5:09 AM

LGTM, with a change in the comment for the class JumpLinkRegSMM16 (there is one unnecessary hyphen).

sstankovic accepted this revision.Sep 26 2014, 5:10 AM
sstankovic edited edge metadata.
This revision is now accepted and ready to land.Sep 26 2014, 5:10 AM
Diffusion closed this revision.Oct 10 2014, 6:32 AM
Diffusion updated this revision to Diff 14719.

Closed by commit rL219493 (authored by zjovanovic).

jkolek edited edge metadata.Nov 18 2014, 5:55 AM
jkolek added a subscriber: Unknown Object (MLST).