[PATCH] D39495: [mips] Add movep for microMIPS32R6 and fix microMIPS32r3 version

Simon Dardis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 1 09:33:26 PDT 2017


sdardis created this revision.
Herald added a subscriber: arichardson.

Previously, the 'movep' instruction was defined for microMIPS32r3 and
shared that definition with microMIPS32R6. 'movep' was re-encoded for
microMIPS32r6, so this patch provides the correct encoding.

Secondly, correct the encoding of the 'rs' and 'rt' operands which have
an instruction specific encoding for the registers those operands accept.

Finally, correct the decoding of the 'dst_regs' operand which was extracting
the relevant field from the instruction, but was actually extracting the
field from the alreadly extracted field.


Repository:
  rL LLVM

https://reviews.llvm.org/D39495

Files:
  lib/Target/Mips/Disassembler/MipsDisassembler.cpp
  lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
  lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h
  lib/Target/Mips/MicroMips32r6InstrFormats.td
  lib/Target/Mips/MicroMips32r6InstrInfo.td
  lib/Target/Mips/MicroMipsInstrInfo.td
  lib/Target/Mips/MipsRegisterInfo.td
  lib/Target/Mips/MipsScheduleGeneric.td
  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/micromips32r6/valid.s
  test/MC/Mips/micromips64r6/valid.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39495.121142.patch
Type: text/x-patch
Size: 11452 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171101/827f6daa/attachment.bin>


More information about the llvm-commits mailing list