The patch implements microMIPSDSP instructions: ADDQ.PH, ADDQ_S.W, ADDQH.PH, ADDQH.W, ADDSC, ADDU.PH, ADDU_S.QB, ADDWC and ADDUH.QB.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/Mips/MicroMipsDSPInstrFormats.td | ||
---|---|---|
13–14 ↗ | (On Diff #35611) | It's very important that you put these in the correct category. PredicateControl only works if each sub-list is a mutually exclusive group. HasDSP is an InsnPredicate. InMicroMips is an AdditionalPredicate. |
20 ↗ | (On Diff #35611) | Please rename 'instr_asm' to 'opstr' to match MMCDSPInst. instr_asm is likely to be confused for assembly mnemonics which is not how it's used (the assembly syntax is defined by the *_DESC class). |
32–33 ↗ | (On Diff #35611) | Likewise |
lib/Target/Mips/MipsDSPInstrFormats.td | ||
31–33 ↗ | (On Diff #35611) | HasDSPR2 is an InsnPredicate not an EncodingPredicate. |
test/MC/Disassembler/Mips/micromips_dsp.txt | ||
1 ↗ | (On Diff #35611) | (about filename): Could you name this file test/MC/Disassembler/Mips/micromips-dsp/valid.txt? |
5 ↗ | (On Diff #35611) | Nit: The blank lines in this file are unnecessary. If any double-spaced files have crept back in could you fix them? Thanks |
test/MC/Disassembler/Mips/micromips_dspr2.txt | ||
1 ↗ | (On Diff #35611) | (about filename): Could you name this file test/MC/Disassembler/Mips/micromips-dspr2/valid.txt? |
2 ↗ | (On Diff #35611) | Likewise |
test/MC/Mips/micromips32r6/micromips-dsp-instructions.s | ||
1 ↗ | (On Diff #35611) | (about filename): I'll correct the repo. |
InMicroMips set as AdditionalPredicates.
'instr_asm' parameter renamed to 'opstr'.
HasDSPR2 set as InsnPredicates.
Assembler and disassembler test files renamed and moved to micromips-dsp and micromips-dspr2 subfolders.
Deleted unnecessary blank lines.
LGTM. I've mentioned a merge conflict you'll get due to upstream changes below.
test/MC/Mips/micromips32r6/micromips-dsp-instructions.s | ||
---|---|---|
1 ↗ | (On Diff #35611) | You'll need to apply this to test/MC/Mips/micromips-dsp/valid.txt instead of test/MC/Mips/micromips32r6/micromips-dsp-instructions.s since I've fixed the layout in the repo. |