diff options
author | Vladimir Medic <Vladimir.Medic@imgtec.com> | 2013-06-24 10:05:34 +0000 |
---|---|---|
committer | Vladimir Medic <Vladimir.Medic@imgtec.com> | 2013-06-24 10:05:34 +0000 |
commit | 90b1086b93708149ed7a3749e2eeccea264a037d (patch) | |
tree | 43759573c954f072637d8f2a0cac9368d5b76def /lib/Target/Mips/MipsRegisterInfo.td | |
parent | 567a1126fb1fecba50872ef24e76ee163c9a6b08 (diff) | |
download | llvm-90b1086b93708149ed7a3749e2eeccea264a037d.tar.gz llvm-90b1086b93708149ed7a3749e2eeccea264a037d.tar.bz2 llvm-90b1086b93708149ed7a3749e2eeccea264a037d.tar.xz |
This patch introduces RegisterOperand class into Mips FPU instruction definitions and adds dedicated parser methods to MipsAsmParser. It is the first in a series of patches that should fix the problems with parsing Mips FPU instructions and optimize the code in MipsAsmParser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184716 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsRegisterInfo.td')
-rw-r--r-- | lib/Target/Mips/MipsRegisterInfo.td | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsRegisterInfo.td b/lib/Target/Mips/MipsRegisterInfo.td index d98cb2179b..36870842e6 100644 --- a/lib/Target/Mips/MipsRegisterInfo.td +++ b/lib/Target/Mips/MipsRegisterInfo.td @@ -407,6 +407,21 @@ def CCRAsmOperand : MipsAsmRegOperand { let ParserMethod = "parseCCRRegs"; } +def AFGR64AsmOperand : MipsAsmRegOperand { + let Name = "AFGR64Asm"; + let ParserMethod = "parseAFGR64Regs"; +} + +def FGR64AsmOperand : MipsAsmRegOperand { + let Name = "FGR64Asm"; + let ParserMethod = "parseFGR64Regs"; +} + +def FGR32AsmOperand : MipsAsmRegOperand { + let Name = "FGR32Asm"; + let ParserMethod = "parseFGR32Regs"; +} + def CPURegsOpnd : RegisterOperand<CPURegs, "printCPURegs"> { let ParserMatchClass = CPURegsAsmOperand; } @@ -436,3 +451,15 @@ def HWRegsOpnd : RegisterOperand<HWRegs, "printCPURegs"> { def HW64RegsOpnd : RegisterOperand<HWRegs64, "printCPURegs"> { let ParserMatchClass = HW64RegsAsmOperand; } + +def AFGR64RegsOpnd : RegisterOperand<AFGR64> { + let ParserMatchClass = AFGR64AsmOperand; +} + +def FGR64RegsOpnd : RegisterOperand<FGR64> { + let ParserMatchClass = FGR64AsmOperand; +} + +def FGR32RegsOpnd : RegisterOperand<FGR32> { + let ParserMatchClass = FGR32AsmOperand; +}
\ No newline at end of file |