This patch tackles the problem of parsing Mips
authorJack Carter <jcarter@mips.com>
Sat, 12 Jan 2013 01:03:14 +0000 (01:03 +0000)
committerJack Carter <jcarter@mips.com>
Sat, 12 Jan 2013 01:03:14 +0000 (01:03 +0000)
commitec3199f675b17b12fd779df557c6bff25aa4e862
tree78698360753de940b26df9f3832d2c4dbec4adb8
parent6d6132986d2ef14bbf9d76f5acbf2a0bace32d69
This patch tackles the problem of parsing Mips
register names in the standalone assembler llvm-mc.

Registers such as $A1 can represent either a 32 or
64 bit register based on the instruction using it.
In addition, based on the abi, $T0 can represent different
32 bit registers.

The problem is resolved by the Mips specific AsmParser
td definitions changing to work together. Many cases of
RegisterClass parameters are now RegisterOperand.

Contributer: Vladimir Medic

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172284 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/AsmParser/MipsAsmParser.cpp
lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp
lib/Target/Mips/InstPrinter/MipsInstPrinter.h
lib/Target/Mips/Mips64InstrInfo.td
lib/Target/Mips/MipsInstrFPU.td
lib/Target/Mips/MipsInstrInfo.td
lib/Target/Mips/MipsRegisterInfo.td
test/MC/Mips/mips-alu-instructions.s
test/MC/Mips/mips64-alu-instructions.s [new file with mode: 0644]