[PATCH] D17989: [mips][microMIPS] Add CodeGen support for SLL16, SRL16, SLL, SLLV, SRA, SRAV, SRL and SRLV instructions

Zlatko Buljan via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 9 05:13:03 PST 2016


zbuljan created this revision.
zbuljan added reviewers: dsanders, hvarga, zoran.jovanovic.
zbuljan added subscribers: petarj, llvm-commits.
Herald added a reviewer: vkalintiris.
Herald added a subscriber: dsanders.

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

http://reviews.llvm.org/D17989

Files:
  lib/Target/Mips/MicroMips32r6InstrInfo.td
  lib/Target/Mips/MicroMipsInstrInfo.td
  lib/Target/Mips/MipsInstrInfo.td
  test/CodeGen/Mips/llvm-ir/ashr.ll
  test/CodeGen/Mips/llvm-ir/lshr.ll
  test/CodeGen/Mips/llvm-ir/shl.ll
  test/CodeGen/Mips/micromips-shift.ll
  test/MC/Disassembler/Mips/micromips32r3/valid-el.txt
  test/MC/Disassembler/Mips/micromips32r3/valid.txt
  test/MC/Disassembler/Mips/micromips32r6/valid.txt
  test/MC/Disassembler/Mips/micromips64r6/valid.txt
  test/MC/Mips/micromips-shift-instructions.s
  test/MC/Mips/micromips/invalid.s
  test/MC/Mips/micromips32r6/invalid.s
  test/MC/Mips/micromips32r6/valid.s
  test/MC/Mips/micromips64r6/invalid.s
  test/MC/Mips/micromips64r6/valid.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17989.50123.patch
Type: text/x-patch
Size: 28874 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160309/911082e7/attachment-0001.bin>


More information about the llvm-commits mailing list