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
Event Timeline
lib/Target/Mips/MicroMipsDSPInstrFormats.td | ||
---|---|---|
13–14 | 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 | 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 | Likewise | |
lib/Target/Mips/MipsDSPInstrFormats.td | ||
31–33 | HasDSPR2 is an InsnPredicate not an EncodingPredicate. | |
test/MC/Disassembler/Mips/micromips_dsp.txt | ||
1 | (about filename): Could you name this file test/MC/Disassembler/Mips/micromips-dsp/valid.txt? | |
5 | 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 | (about filename): Could you name this file test/MC/Disassembler/Mips/micromips-dspr2/valid.txt? | |
2 | Likewise | |
test/MC/Mips/micromips32r6/micromips-dsp-instructions.s | ||
1 | (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 | 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. |
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.