This is an archive of the discontinued LLVM Phabricator instance.

[mips][microMIPS] Implement DPS.W.PH, DPSQ_S.W.PH, DPSQ_SA.L.W, DPSQX_S.W.PH, DPSQX_SA.W.PH, DPSU.H.QBL, DPSU.H.QBR and DPSX.W.PH instructions
ClosedPublic

Authored by hvarga on Oct 26 2015, 1:29 AM.

Details

Summary

The patch implements microMIPSDSP instructions: DPS.W.PH, DPSQ_S.W.PH, DPSQ_SA.L.W, DPSQX_S.W.PH, DPSQX_SA.W.PH, DPSU.H.QBL, DPSU.H.QBR and DPSX.W.PH.

Diff Detail

Repository
rL LLVM

Event Timeline

hvarga updated this revision to Diff 38380.Oct 26 2015, 1:29 AM
hvarga retitled this revision from to [mips][microMIPS] Implement DPS.W.PH, DPSQ_S.W.PH, DPSQ_SA.L.W, DPSQX_S.W.PH, DPSQX_SA.W.PH, DPSU.H.QBL, DPSU.H.QBR and DPSX.W.PH instructions.
hvarga updated this object.
hvarga added subscribers: petarj, llvm-commits.
hvarga updated this revision to Diff 38381.Oct 26 2015, 1:36 AM

Moved DPSU_H_QBL_MM and DPSU_H_QBR_MM to correct group.

dsanders accepted this revision.Nov 14 2015, 5:44 AM
dsanders edited edge metadata.

LGTM with a small tweak to the tests.

By the way, I recently discovered that we have no DSPr1 tests for the standard encodings. Given that you are adding tests for microMIPS DSPr1, would you be willing to add standard encoding tests too?

test/MC/Disassembler/Mips/micromips-dspr2/valid.txt
18–21 ↗(On Diff #38381)

The DSPr2 test file should also contain DSPr1 tests. The intent is that you can diff the two files and the differences are just the instructions that were added in DSPr2. It also serves as a check that the predicates are correct.

Likewise for the assembler tests.

This revision is now accepted and ready to land.Nov 14 2015, 5:44 AM
This revision was automatically updated to reflect the committed changes.

LGTM with a small tweak to the tests.

By the way, I recently discovered that we have no DSPr1 tests for the standard encodings. Given that you are adding tests for microMIPS DSPr1, would you be willing to add standard encoding tests too?

I discussed this with Zoran and we agreed that can be a separated task.

I discussed this with Zoran and we agreed that can be a separated task.

Thanks