The patch adds CodeGen support for microMIPSr6 SLL16, SRL16, SLL, SLLV, SRA, SRAV, SRL and SRLV instructions:
- added DAG patterns for proper selection of shift instructions
- added alias definitions for microMIPS instructions
- separated microMIPS instructions from equivalent MIPS instructions using NotInMicroMips predicate
- updated .ll files with tests for microMIPSr6 instructions
- added tests for the standard encodings
- added invalid operand tests
- fixed opcode strings in desc. classes for a couple of 16-bit instructions
Since you've posted this patch, the LLVM backend for MIPS was changed to use the static relocation model, so this should be: