summaryrefslogtreecommitdiff
path: root/lib/Target/Mips/MipsRegisterInfo.td
diff options
context:
space:
mode:
authorVladimir Medic <Vladimir.Medic@imgtec.com>2013-06-24 10:05:34 +0000
committerVladimir Medic <Vladimir.Medic@imgtec.com>2013-06-24 10:05:34 +0000
commit90b1086b93708149ed7a3749e2eeccea264a037d (patch)
tree43759573c954f072637d8f2a0cac9368d5b76def /lib/Target/Mips/MipsRegisterInfo.td
parent567a1126fb1fecba50872ef24e76ee163c9a6b08 (diff)
downloadllvm-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.td27
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