aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/ARM/ARMRegisterInfo.cpp5
-rw-r--r--lib/Target/ARM/ARMRegisterInfo.h2
-rw-r--r--lib/Target/ARM/ARMRegisterInfo.td32
-rw-r--r--lib/Target/Alpha/AlphaRegisterInfo.cpp5
-rw-r--r--lib/Target/Alpha/AlphaRegisterInfo.h2
-rw-r--r--lib/Target/Alpha/AlphaRegisterInfo.td128
-rw-r--r--lib/Target/IA64/IA64RegisterInfo.cpp5
-rw-r--r--lib/Target/IA64/IA64RegisterInfo.h2
-rw-r--r--lib/Target/IA64/IA64RegisterInfo.td662
-rw-r--r--lib/Target/Mips/MipsRegisterInfo.cpp6
-rw-r--r--lib/Target/Mips/MipsRegisterInfo.h2
-rw-r--r--lib/Target/Mips/MipsRegisterInfo.td64
-rw-r--r--lib/Target/PowerPC/PPCRegisterInfo.cpp5
-rw-r--r--lib/Target/PowerPC/PPCRegisterInfo.h2
-rw-r--r--lib/Target/PowerPC/PPCRegisterInfo.td346
-rw-r--r--lib/Target/Sparc/SparcRegisterInfo.cpp5
-rw-r--r--lib/Target/Sparc/SparcRegisterInfo.h2
-rw-r--r--lib/Target/Sparc/SparcRegisterInfo.td160
-rw-r--r--lib/Target/Target.td10
-rw-r--r--lib/Target/X86/X86RegisterInfo.cpp56
-rw-r--r--lib/Target/X86/X86RegisterInfo.h8
-rw-r--r--lib/Target/X86/X86RegisterInfo.td234
-rw-r--r--utils/TableGen/RegisterInfoEmitter.cpp67
23 files changed, 933 insertions, 877 deletions
diff --git a/lib/Target/ARM/ARMRegisterInfo.cpp b/lib/Target/ARM/ARMRegisterInfo.cpp
index e97d6d2788..0d0f1d07ce 100644
--- a/lib/Target/ARM/ARMRegisterInfo.cpp
+++ b/lib/Target/ARM/ARMRegisterInfo.cpp
@@ -1657,5 +1657,10 @@ unsigned ARMRegisterInfo::getEHHandlerRegister() const {
return 0;
}
+int ARMRegisterInfo::getDwarfRegNum(unsigned RegNum) const {
+ assert(0 && "What is the dwarf register number");
+ return -1;
+}
+
#include "ARMGenRegisterInfo.inc"
diff --git a/lib/Target/ARM/ARMRegisterInfo.h b/lib/Target/ARM/ARMRegisterInfo.h
index e0a2493d77..7d25fdcfc6 100644
--- a/lib/Target/ARM/ARMRegisterInfo.h
+++ b/lib/Target/ARM/ARMRegisterInfo.h
@@ -117,6 +117,8 @@ public:
// Exception handling queries.
unsigned getEHExceptionRegister() const;
unsigned getEHHandlerRegister() const;
+
+ int getDwarfRegNum(unsigned RegNum) const;
};
} // end namespace llvm
diff --git a/lib/Target/ARM/ARMRegisterInfo.td b/lib/Target/ARM/ARMRegisterInfo.td
index 3d2646e998..400c8c2649 100644
--- a/lib/Target/ARM/ARMRegisterInfo.td
+++ b/lib/Target/ARM/ARMRegisterInfo.td
@@ -25,22 +25,22 @@ class ARMFReg<bits<5> num, string n> : Register<n> {
}
// Integer registers
-def R0 : ARMReg< 0, "r0">, DwarfRegNum<0>;
-def R1 : ARMReg< 1, "r1">, DwarfRegNum<1>;
-def R2 : ARMReg< 2, "r2">, DwarfRegNum<2>;
-def R3 : ARMReg< 3, "r3">, DwarfRegNum<3>;
-def R4 : ARMReg< 4, "r4">, DwarfRegNum<4>;
-def R5 : ARMReg< 5, "r5">, DwarfRegNum<5>;
-def R6 : ARMReg< 6, "r6">, DwarfRegNum<6>;
-def R7 : ARMReg< 7, "r7">, DwarfRegNum<7>;
-def R8 : ARMReg< 8, "r8">, DwarfRegNum<8>;
-def R9 : ARMReg< 9, "r9">, DwarfRegNum<9>;
-def R10 : ARMReg<10, "r10">, DwarfRegNum<10>;
-def R11 : ARMReg<11, "r11">, DwarfRegNum<11>;
-def R12 : ARMReg<12, "r12">, DwarfRegNum<12>;
-def SP : ARMReg<13, "sp">, DwarfRegNum<13>;
-def LR : ARMReg<14, "lr">, DwarfRegNum<14>;
-def PC : ARMReg<15, "pc">, DwarfRegNum<15>;
+def R0 : ARMReg< 0, "r0">, DwarfRegNum<[0]>;
+def R1 : ARMReg< 1, "r1">, DwarfRegNum<[1]>;
+def R2 : ARMReg< 2, "r2">, DwarfRegNum<[2]>;
+def R3 : ARMReg< 3, "r3">, DwarfRegNum<[3]>;
+def R4 : ARMReg< 4, "r4">, DwarfRegNum<[4]>;
+def R5 : ARMReg< 5, "r5">, DwarfRegNum<[5]>;
+def R6 : ARMReg< 6, "r6">, DwarfRegNum<[6]>;
+def R7 : ARMReg< 7, "r7">, DwarfRegNum<[7]>;
+def R8 : ARMReg< 8, "r8">, DwarfRegNum<[8]>;
+def R9 : ARMReg< 9, "r9">, DwarfRegNum<[9]>;
+def R10 : ARMReg<10, "r10">, DwarfRegNum<[10]>;
+def R11 : ARMReg<11, "r11">, DwarfRegNum<[11]>;
+def R12 : ARMReg<12, "r12">, DwarfRegNum<[12]>;
+def SP : ARMReg<13, "sp">, DwarfRegNum<[13]>;
+def LR : ARMReg<14, "lr">, DwarfRegNum<[14]>;
+def PC : ARMReg<15, "pc">, DwarfRegNum<[15]>;
// Float registers
def S0 : ARMFReg< 0, "s0">; def S1 : ARMFReg< 1, "s1">;
diff --git a/lib/Target/Alpha/AlphaRegisterInfo.cpp b/lib/Target/Alpha/AlphaRegisterInfo.cpp
index 6dac374ff2..6cf9df7134 100644
--- a/lib/Target/Alpha/AlphaRegisterInfo.cpp
+++ b/lib/Target/Alpha/AlphaRegisterInfo.cpp
@@ -480,6 +480,11 @@ unsigned AlphaRegisterInfo::getEHHandlerRegister() const {
return 0;
}
+int AlphaRegisterInfo::getDwarfRegNum(unsigned RegNum) const {
+ assert(0 && "What is the dwarf register number");
+ return -1;
+}
+
#include "AlphaGenRegisterInfo.inc"
std::string AlphaRegisterInfo::getPrettyName(unsigned reg)
diff --git a/lib/Target/Alpha/AlphaRegisterInfo.h b/lib/Target/Alpha/AlphaRegisterInfo.h
index 8cccacfcea..cd7d47591d 100644
--- a/lib/Target/Alpha/AlphaRegisterInfo.h
+++ b/lib/Target/Alpha/AlphaRegisterInfo.h
@@ -93,6 +93,8 @@ struct AlphaRegisterInfo : public AlphaGenRegisterInfo {
unsigned getEHExceptionRegister() const;
unsigned getEHHandlerRegister() const;
+ int getDwarfRegNum(unsigned RegNum) const;
+
static std::string getPrettyName(unsigned reg);
};
diff --git a/lib/Target/Alpha/AlphaRegisterInfo.td b/lib/Target/Alpha/AlphaRegisterInfo.td
index 9855ce27ca..39e2f0cd63 100644
--- a/lib/Target/Alpha/AlphaRegisterInfo.td
+++ b/lib/Target/Alpha/AlphaRegisterInfo.td
@@ -35,72 +35,72 @@ class FPR<bits<5> num, string n> : AlphaReg<n> {
//#define SP $30
// General-purpose registers
-def R0 : GPR< 0, "$0">, DwarfRegNum<0>;
-def R1 : GPR< 1, "$1">, DwarfRegNum<1>;
-def R2 : GPR< 2, "$2">, DwarfRegNum<2>;
-def R3 : GPR< 3, "$3">, DwarfRegNum<3>;
-def R4 : GPR< 4, "$4">, DwarfRegNum<4>;
-def R5 : GPR< 5, "$5">, DwarfRegNum<5>;
-def R6 : GPR< 6, "$6">, DwarfRegNum<6>;
-def R7 : GPR< 7, "$7">, DwarfRegNum<7>;
-def R8 : GPR< 8, "$8">, DwarfRegNum<8>;
-def R9 : GPR< 9, "$9">, DwarfRegNum<9>;
-def R10 : GPR<10, "$10">, DwarfRegNum<10>;
-def R11 : GPR<11, "$11">, DwarfRegNum<11>;
-def R12 : GPR<12, "$12">, DwarfRegNum<12>;
-def R13 : GPR<13, "$13">, DwarfRegNum<13>;
-def R14 : GPR<14, "$14">, DwarfRegNum<14>;
-def R15 : GPR<15, "$15">, DwarfRegNum<15>;
-def R16 : GPR<16, "$16">, DwarfRegNum<16>;
-def R17 : GPR<17, "$17">, DwarfRegNum<17>;
-def R18 : GPR<18, "$18">, DwarfRegNum<18>;
-def R19 : GPR<19, "$19">, DwarfRegNum<19>;
-def R20 : GPR<20, "$20">, DwarfRegNum<20>;
-def R21 : GPR<21, "$21">, DwarfRegNum<21>;
-def R22 : GPR<22, "$22">, DwarfRegNum<22>;
-def R23 : GPR<23, "$23">, DwarfRegNum<23>;
-def R24 : GPR<24, "$24">, DwarfRegNum<24>;
-def R25 : GPR<25, "$25">, DwarfRegNum<25>;
-def R26 : GPR<26, "$26">, DwarfRegNum<26>;
-def R27 : GPR<27, "$27">, DwarfRegNum<27>;
-def R28 : GPR<28, "$28">, DwarfRegNum<28>;
-def R29 : GPR<29, "$29">, DwarfRegNum<29>;
-def R30 : GPR<30, "$30">, DwarfRegNum<30>;
-def R31 : GPR<31, "$31">, DwarfRegNum<31>;
+def R0 : GPR< 0, "$0">, DwarfRegNum<[0]>;
+def R1 : GPR< 1, "$1">, DwarfRegNum<[1]>;
+def R2 : GPR< 2, "$2">, DwarfRegNum<[2]>;
+def R3 : GPR< 3, "$3">, DwarfRegNum<[3]>;
+def R4 : GPR< 4, "$4">, DwarfRegNum<[4]>;
+def R5 : GPR< 5, "$5">, DwarfRegNum<[5]>;
+def R6 : GPR< 6, "$6">, DwarfRegNum<[6]>;
+def R7 : GPR< 7, "$7">, DwarfRegNum<[7]>;
+def R8 : GPR< 8, "$8">, DwarfRegNum<[8]>;
+def R9 : GPR< 9, "$9">, DwarfRegNum<[9]>;
+def R10 : GPR<10, "$10">, DwarfRegNum<[10]>;
+def R11 : GPR<11, "$11">, DwarfRegNum<[11]>;
+def R12 : GPR<12, "$12">, DwarfRegNum<[12]>;
+def R13 : GPR<13, "$13">, DwarfRegNum<[13]>;
+def R14 : GPR<14, "$14">, DwarfRegNum<[14]>;
+def R15 : GPR<15, "$15">, DwarfRegNum<[15]>;
+def R16 : GPR<16, "$16">, DwarfRegNum<[16]>;
+def R17 : GPR<17, "$17">, DwarfRegNum<[17]>;
+def R18 : GPR<18, "$18">, DwarfRegNum<[18]>;
+def R19 : GPR<19, "$19">, DwarfRegNum<[19]>;
+def R20 : GPR<20, "$20">, DwarfRegNum<[20]>;
+def R21 : GPR<21, "$21">, DwarfRegNum<[21]>;
+def R22 : GPR<22, "$22">, DwarfRegNum<[22]>;
+def R23 : GPR<23, "$23">, DwarfRegNum<[23]>;
+def R24 : GPR<24, "$24">, DwarfRegNum<[24]>;
+def R25 : GPR<25, "$25">, DwarfRegNum<[25]>;
+def R26 : GPR<26, "$26">, DwarfRegNum<[26]>;
+def R27 : GPR<27, "$27">, DwarfRegNum<[27]>;
+def R28 : GPR<28, "$28">, DwarfRegNum<[28]>;
+def R29 : GPR<29, "$29">, DwarfRegNum<[29]>;
+def R30 : GPR<30, "$30">, DwarfRegNum<[30]>;
+def R31 : GPR<31, "$31">, DwarfRegNum<[31]>;
// Floating-point registers
-def F0 : FPR< 0, "$f0">, DwarfRegNum<33>;
-def F1 : FPR< 1, "$f1">, DwarfRegNum<34>;
-def F2 : FPR< 2, "$f2">, DwarfRegNum<35>;
-def F3 : FPR< 3, "$f3">, DwarfRegNum<36>;
-def F4 : FPR< 4, "$f4">, DwarfRegNum<37>;
-def F5 : FPR< 5, "$f5">, DwarfRegNum<38>;
-def F6 : FPR< 6, "$f6">, DwarfRegNum<39>;
-def F7 : FPR< 7, "$f7">, DwarfRegNum<40>;
-def F8 : FPR< 8, "$f8">, DwarfRegNum<41>;
-def F9 : FPR< 9, "$f9">, DwarfRegNum<42>;
-def F10 : FPR<10, "$f10">, DwarfRegNum<43>;
-def F11 : FPR<11, "$f11">, DwarfRegNum<44>;
-def F12 : FPR<12, "$f12">, DwarfRegNum<45>;
-def F13 : FPR<13, "$f13">, DwarfRegNum<46>;
-def F14 : FPR<14, "$f14">, DwarfRegNum<47>;
-def F15 : FPR<15, "$f15">, DwarfRegNum<48>;
-def F16 : FPR<16, "$f16">, DwarfRegNum<49>;
-def F17 : FPR<17, "$f17">, DwarfRegNum<50>;
-def F18 : FPR<18, "$f18">, DwarfRegNum<51>;
-def F19 : FPR<19, "$f19">, DwarfRegNum<52>;
-def F20 : FPR<20, "$f20">, DwarfRegNum<53>;
-def F21 : FPR<21, "$f21">, DwarfRegNum<54>;
-def F22 : FPR<22, "$f22">, DwarfRegNum<55>;
-def F23 : FPR<23, "$f23">, DwarfRegNum<56>;
-def F24 : FPR<24, "$f24">, DwarfRegNum<57>;
-def F25 : FPR<25, "$f25">, DwarfRegNum<58>;
-def F26 : FPR<26, "$f26">, DwarfRegNum<59>;
-def F27 : FPR<27, "$f27">, DwarfRegNum<60>;
-def F28 : FPR<28, "$f28">, DwarfRegNum<61>;
-def F29 : FPR<29, "$f29">, DwarfRegNum<62>;
-def F30 : FPR<30, "$f30">, DwarfRegNum<63>;
-def F31 : FPR<31, "$f31">, DwarfRegNum<64>;
+def F0 : FPR< 0, "$f0">, DwarfRegNum<[33]>;
+def F1 : FPR< 1, "$f1">, DwarfRegNum<[34]>;
+def F2 : FPR< 2, "$f2">, DwarfRegNum<[35]>;
+def F3 : FPR< 3, "$f3">, DwarfRegNum<[36]>;
+def F4 : FPR< 4, "$f4">, DwarfRegNum<[37]>;
+def F5 : FPR< 5, "$f5">, DwarfRegNum<[38]>;
+def F6 : FPR< 6, "$f6">, DwarfRegNum<[39]>;
+def F7 : FPR< 7, "$f7">, DwarfRegNum<[40]>;
+def F8 : FPR< 8, "$f8">, DwarfRegNum<[41]>;
+def F9 : FPR< 9, "$f9">, DwarfRegNum<[42]>;
+def F10 : FPR<10, "$f10">, DwarfRegNum<[43]>;
+def F11 : FPR<11, "$f11">, DwarfRegNum<[44]>;
+def F12 : FPR<12, "$f12">, DwarfRegNum<[45]>;
+def F13 : FPR<13, "$f13">, DwarfRegNum<[46]>;
+def F14 : FPR<14, "$f14">, DwarfRegNum<[47]>;
+def F15 : FPR<15, "$f15">, DwarfRegNum<[48]>;
+def F16 : FPR<16, "$f16">, DwarfRegNum<[49]>;
+def F17 : FPR<17, "$f17">, DwarfRegNum<[50]>;
+def F18 : FPR<18, "$f18">, DwarfRegNum<[51]>;
+def F19 : FPR<19, "$f19">, DwarfRegNum<[52]>;
+def F20 : FPR<20, "$f20">, DwarfRegNum<[53]>;
+def F21 : FPR<21, "$f21">, DwarfRegNum<[54]>;
+def F22 : FPR<22, "$f22">, DwarfRegNum<[55]>;
+def F23 : FPR<23, "$f23">, DwarfRegNum<[56]>;
+def F24 : FPR<24, "$f24">, DwarfRegNum<[57]>;
+def F25 : FPR<25, "$f25">, DwarfRegNum<[58]>;
+def F26 : FPR<26, "$f26">, DwarfRegNum<[59]>;
+def F27 : FPR<27, "$f27">, DwarfRegNum<[60]>;
+def F28 : FPR<28, "$f28">, DwarfRegNum<[61]>;
+def F29 : FPR<29, "$f29">, DwarfRegNum<[62]>;
+def F30 : FPR<30, "$f30">, DwarfRegNum<[63]>;
+def F31 : FPR<31, "$f31">, DwarfRegNum<[64]>;
// //#define FP $15
// //#define RA $26
diff --git a/lib/Target/IA64/IA64RegisterInfo.cpp b/lib/Target/IA64/IA64RegisterInfo.cpp
index b260b1b97f..a1c4e1ec19 100644
--- a/lib/Target/IA64/IA64RegisterInfo.cpp
+++ b/lib/Target/IA64/IA64RegisterInfo.cpp
@@ -451,5 +451,10 @@ unsigned IA64RegisterInfo::getEHHandlerRegister() const {
return 0;
}
+int IA64RegisterInfo::getDwarfRegNum(unsigned RegNum) const {
+ assert(0 && "What is the dwarf register number");
+ return -1;
+}
+
#include "IA64GenRegisterInfo.inc"
diff --git a/lib/Target/IA64/IA64RegisterInfo.h b/lib/Target/IA64/IA64RegisterInfo.h
index b69b2854b9..d30e28e957 100644
--- a/lib/Target/IA64/IA64RegisterInfo.h
+++ b/lib/Target/IA64/IA64RegisterInfo.h
@@ -84,6 +84,8 @@ struct IA64RegisterInfo : public IA64GenRegisterInfo {
// Exception handling queries.
unsigned getEHExceptionRegister() const;
unsigned getEHHandlerRegister() const;
+
+ int getDwarfRegNum(unsigned RegNum) const;
};
} // End llvm namespace
diff --git a/lib/Target/IA64/IA64RegisterInfo.td b/lib/Target/IA64/IA64RegisterInfo.td
index 087c18f648..9f1f82ab8c 100644
--- a/lib/Target/IA64/IA64RegisterInfo.td
+++ b/lib/Target/IA64/IA64RegisterInfo.td
@@ -37,352 +37,352 @@ class PR<bits<6> num, string n> : IA64Register<n> {
}
/* general registers */
-def r0 : GR< 0, "r0">, DwarfRegNum<0>;
-def r1 : GR< 1, "r1">, DwarfRegNum<1>;
-def r2 : GR< 2, "r2">, DwarfRegNum<2>;
-def r3 : GR< 3, "r3">, DwarfRegNum<3>;
-def r4 : GR< 4, "r4">, DwarfRegNum<4>;
-def r5 : GR< 5, "r5">, DwarfRegNum<5>;
-def r6 : GR< 6, "r6">, DwarfRegNum<6>;
-def r7 : GR< 7, "r7">, DwarfRegNum<7>;
-def r8 : GR< 8, "r8">, DwarfRegNum<8>;
-def r9 : GR< 9, "r9">, DwarfRegNum<9>;
-def r10 : GR< 10, "r10">, DwarfRegNum<10>;
-def r11 : GR< 11, "r11">, DwarfRegNum<11>;
-def r12 : GR< 12, "r12">, DwarfRegNum<12>;
-def r13 : GR< 13, "r13">, DwarfRegNum<13>;
-def r14 : GR< 14, "r14">, DwarfRegNum<14>;
-def r15 : GR< 15, "r15">, DwarfRegNum<15>;
-def r16 : GR< 16, "r16">, DwarfRegNum<16>;
-def r17 : GR< 17, "r17">, DwarfRegNum<17>;
-def r18 : GR< 18, "r18">, DwarfRegNum<18>;
-def r19 : GR< 19, "r19">, DwarfRegNum<19>;
-def r20 : GR< 20, "r20">, DwarfRegNum<20>;
-def r21 : GR< 21, "r21">, DwarfRegNum<21>;
-def r22 : GR< 22, "r22">, DwarfRegNum<22>;
-def r23 : GR< 23, "r23">, DwarfRegNum<23>;
-def r24 : GR< 24, "r24">, DwarfRegNum<24>;
-def r25 : GR< 25, "r25">, DwarfRegNum<25>;
-def r26 : GR< 26, "r26">, DwarfRegNum<26>;
-def r27 : GR< 27, "r27">, DwarfRegNum<27>;
-def r28 : GR< 28, "r28">, DwarfRegNum<28>;
-def r29 : GR< 29, "r29">, DwarfRegNum<29>;
-def r30 : GR< 30, "r30">, DwarfRegNum<30>;
-def r31 : GR< 31, "r31">, DwarfRegNum<31>;
-def r32 : GR< 32, "r32">, DwarfRegNum<32>;
-def r33 : GR< 33, "r33">, DwarfRegNum<33>;
-def r34 : GR< 34, "r34">, DwarfRegNum<34>;
-def r35 : GR< 35, "r35">, DwarfRegNum<35>;
-def r36 : GR< 36, "r36">, DwarfRegNum<36>;
-def r37 : GR< 37, "r37">, DwarfRegNum<37>;
-def r38 : GR< 38, "r38">, DwarfRegNum<38>;
-def r39 : GR< 39, "r39">, DwarfRegNum<39>;
-def r40 : GR< 40, "r40">, DwarfRegNum<40>;
-def r41 : GR< 41, "r41">, DwarfRegNum<41>;
-def r42 : GR< 42, "r42">, DwarfRegNum<42>;
-def r43 : GR< 43, "r43">, DwarfRegNum<43>;
-def r44 : GR< 44, "r44">, DwarfRegNum<44>;
-def r45 : GR< 45, "r45">, DwarfRegNum<45>;
-def r46 : GR< 46, "r46">, DwarfRegNum<46>;
-def r47 : GR< 47, "r47">, DwarfRegNum<47>;
-def r48 : GR< 48, "r48">, DwarfRegNum<48>;
-def r49 : GR< 49, "r49">, DwarfRegNum<49>;
-def r50 : GR< 50, "r50">, DwarfRegNum<50>;
-def r51 : GR< 51, "r51">, DwarfRegNum<51>;
-def r52 : GR< 52, "r52">, DwarfRegNum<52>;
-def r53 : GR< 53, "r53">, DwarfRegNum<53>;
-def r54 : GR< 54, "r54">, DwarfRegNum<54>;
-def r55 : GR< 55, "r55">, DwarfRegNum<55>;
-def r56 : GR< 56, "r56">, DwarfRegNum<56>;
-def r57 : GR< 57, "r57">, DwarfRegNum<57>;
-def r58 : GR< 58, "r58">, DwarfRegNum<58>;
-def r59 : GR< 59, "r59">, DwarfRegNum<59>;
-def r60 : GR< 60, "r60">, DwarfRegNum<60>;
-def r61 : GR< 61, "r61">, DwarfRegNum<61>;
-def r62 : GR< 62, "r62">, DwarfRegNum<62>;
-def r63 : GR< 63, "r63">, DwarfRegNum<63>;
-def r64 : GR< 64, "r64">, DwarfRegNum<64>;
-def r65 : GR< 65, "r65">, DwarfRegNum<65>;
-def r66 : GR< 66, "r66">, DwarfRegNum<66>;
-def r67 : GR< 67, "r67">, DwarfRegNum<67>;
-def r68 : GR< 68, "r68">, DwarfRegNum<68>;
-def r69 : GR< 69, "r69">, DwarfRegNum<69>;
-def r70 : GR< 70, "r70">, DwarfRegNum<70>;
-def r71 : GR< 71, "r71">, DwarfRegNum<71>;
-def r72 : GR< 72, "r72">, DwarfRegNum<72>;
-def r73 : GR< 73, "r73">, DwarfRegNum<73>;
-def r74 : GR< 74, "r74">, DwarfRegNum<74>;
-def r75 : GR< 75, "r75">, DwarfRegNum<75>;
-def r76 : GR< 76, "r76">, DwarfRegNum<76>;
-def r77 : GR< 77, "r77">, DwarfRegNum<77>;
-def r78 : GR< 78, "r78">, DwarfRegNum<78>;
-def r79 : GR< 79, "r79">, DwarfRegNum<79>;
-def r80 : GR< 80, "r80">, DwarfRegNum<80>;
-def r81 : GR< 81, "r81">, DwarfRegNum<81>;
-def r82 : GR< 82, "r82">, DwarfRegNum<82>;
-def r83 : GR< 83, "r83">, DwarfRegNum<83>;
-def r84 : GR< 84, "r84">, DwarfRegNum<84>;
-def r85 : GR< 85, "r85">, DwarfRegNum<85>;
-def r86 : GR< 86, "r86">, DwarfRegNum<86>;
-def r87 : GR< 87, "r87">, DwarfRegNum<87>;
-def r88 : GR< 88, "r88">, DwarfRegNum<88>;
-def r89 : GR< 89, "r89">, DwarfRegNum<89>;
-def r90 : GR< 90, "r90">, DwarfRegNum<90>;
-def r91 : GR< 91, "r91">, DwarfRegNum<91>;
-def r92 : GR< 92, "r92">, DwarfRegNum<92>;
-def r93 : GR< 93, "r93">, DwarfRegNum<93>;
-def r94 : GR< 94, "r94">, DwarfRegNum<94>;
-def r95 : GR< 95, "r95">, DwarfRegNum<95>;
-def r96 : GR< 96, "r96">, DwarfRegNum<96>;
-def r97 : GR< 97, "r97">, DwarfRegNum<97>;
-def r98 : GR< 98, "r98">, DwarfRegNum<98>;
-def r99 : GR< 99, "r99">, DwarfRegNum<99>;
-def r100 : GR< 100, "r100">, DwarfRegNum<100>;
-def r101 : GR< 101, "r101">, DwarfRegNum<101>;
-def r102 : GR< 102, "r102">, DwarfRegNum<102>;
-def r103 : GR< 103, "r103">, DwarfRegNum<103>;
-def r104 : GR< 104, "r104">, DwarfRegNum<104>;
-def r105 : GR< 105, "r105">, DwarfRegNum<105>;
-def r106 : GR< 106, "r106">, DwarfRegNum<106>;
-def r107 : GR< 107, "r107">, DwarfRegNum<107>;
-def r108 : GR< 108, "r108">, DwarfRegNum<108>;
-def r109 : GR< 109, "r109">, DwarfRegNum<109>;
-def r110 : GR< 110, "r110">, DwarfRegNum<110>;
-def r111 : GR< 111, "r111">, DwarfRegNum<111>;
-def r112 : GR< 112, "r112">, DwarfRegNum<112>;
-def r113 : GR< 113, "r113">, DwarfRegNum<113>;
-def r114 : GR< 114, "r114">, DwarfRegNum<114>;
-def r115 : GR< 115, "r115">, DwarfRegNum<115>;
-def r116 : GR< 116, "r116">, DwarfRegNum<116>;
-def r117 : GR< 117, "r117">, DwarfRegNum<117>;
-def r118 : GR< 118, "r118">, DwarfRegNum<118>;
-def r119 : GR< 119, "r119">, DwarfRegNum<119>;
-def r120 : GR< 120, "r120">, DwarfRegNum<120>;
-def r121 : GR< 121, "r121">, DwarfRegNum<121>;
-def r122 : GR< 122, "r122">, DwarfRegNum<122>;
-def r123 : GR< 123, "r123">, DwarfRegNum<123>;
-def r124 : GR< 124, "r124">, DwarfRegNum<124>;
-def r125 : GR< 125, "r125">, DwarfRegNum<125>;
-def r126 : GR< 126, "r126">, DwarfRegNum<126>;
-def r127 : GR< 127, "r127">, DwarfRegNum<127>;
+def r0 : GR< 0, "r0">, DwarfRegNum<[0]>;
+def r1 : GR< 1, "r1">, DwarfRegNum<[1]>;
+def r2 : GR< 2, "r2">, DwarfRegNum<[2]>;
+def r3 : GR< 3, "r3">, DwarfRegNum<[3]>;
+def r4 : GR< 4, "r4">, DwarfRegNum<[4]>;
+def r5 : GR< 5, "r5">, DwarfRegNum<[5]>;
+def r6 : GR< 6, "r6">, DwarfRegNum<[6]>;
+def r7 : GR< 7, "r7">, DwarfRegNum<[7]>;
+def r8 : GR< 8, "r8">, DwarfRegNum<[8]>;
+def r9 : GR< 9, "r9">, DwarfRegNum<[9]>;
+def r10 : GR< 10, "r10">, DwarfRegNum<[10]>;
+def r11 : GR< 11, "r11">, DwarfRegNum<[11]>;
+def r12 : GR< 12, "r12">, DwarfRegNum<[12]>;
+def r13 : GR< 13, "r13">, DwarfRegNum<[13]>;
+def r14 : GR< 14, "r14">, DwarfRegNum<[14]>;
+def r15 : GR< 15, "r15">, DwarfRegNum<[15]>;
+def r16 : GR< 16, "r16">, DwarfRegNum<[16]>;
+def r17 : GR< 17, "r17">, DwarfRegNum<[17]>;
+def r18 : GR< 18, "r18">, DwarfRegNum<[18]>;
+def r19 : GR< 19, "r19">, DwarfRegNum<[19]>;
+def r20 : GR< 20, "r20">, DwarfRegNum<[20]>;
+def r21 : GR< 21, "r21">, DwarfRegNum<[21]>;
+def r22 : GR< 22, "r22">, DwarfRegNum<[22]>;
+def r23 : GR< 23, "r23">, DwarfRegNum<[23]>;
+def r24 : GR< 24, "r24">, DwarfRegNum<[24]>;
+def r25 : GR< 25, "r25">, DwarfRegNum<[25]>;
+def r26 : GR< 26, "r26">, DwarfRegNum<[26]>;
+def r27 : GR< 27, "r27">, DwarfRegNum<[27]>;
+def r28 : GR< 28, "r28">, DwarfRegNum<[28]>;
+def r29 : GR< 29, "r29">, DwarfRegNum<[29]>;
+def r30 : GR< 30, "r30">, DwarfRegNum<[30]>;
+def r31 : GR< 31, "r31">, DwarfRegNum<[31]>;
+def r32 : GR< 32, "r32">, DwarfRegNum<[32]>;
+def r33 : GR< 33, "r33">, DwarfRegNum<[33]>;
+def r34 : GR< 34, "r34">, DwarfRegNum<[34]>;
+def r35 : GR< 35, "r35">, DwarfRegNum<[35]>;
+def r36 : GR< 36, "r36">, DwarfRegNum<[36]>;
+def r37 : GR< 37, "r37">, DwarfRegNum<[37]>;
+def r38 : GR< 38, "r38">, DwarfRegNum<[38]>;
+def r39 : GR< 39, "r39">, DwarfRegNum<[39]>;
+def r40 : GR< 40, "r40">, DwarfRegNum<[40]>;
+def r41 : GR< 41, "r41">, DwarfRegNum<[41]>;
+def r42 : GR< 42, "r42">, DwarfRegNum<[42]>;
+def r43 : GR< 43, "r43">, DwarfRegNum<[43]>;
+def r44 : GR< 44, "r44">, DwarfRegNum<[44]>;
+def r45 : GR< 45, "r45">, DwarfRegNum<[45]>;
+def r46 : GR< 46, "r46">, DwarfRegNum<[46]>;
+def r47 : GR< 47, "r47">, DwarfRegNum<[47]>;
+def r48 : GR< 48, "r48">, DwarfRegNum<[48]>;
+def r49 : GR< 49, "r49">, DwarfRegNum<[49]>;
+def r50 : GR< 50, "r50">, DwarfRegNum<[50]>;
+def r51 : GR< 51, "r51">, DwarfRegNum<[51]>;
+def r52 : GR< 52, "r52">, DwarfRegNum<[52]>;
+def r53 : GR< 53, "r53">, DwarfRegNum<[53]>;
+def r54 : GR< 54, "r54">, DwarfRegNum<[54]>;
+def r55 : GR< 55, "r55">, DwarfRegNum<[55]>;
+def r56 : GR< 56, "r56">, DwarfRegNum<[56]>;
+def r57 : GR< 57, "r57">, DwarfRegNum<[57]>;
+def r58 : GR< 58, "r58">, DwarfRegNum<[58]>;
+def r59 : GR< 59, "r59">, DwarfRegNum<[59]>;
+def r60 : GR< 60, "r60">, DwarfRegNum<[60]>;
+def r61 : GR< 61, "r61">, DwarfRegNum<[61]>;
+def r62 : GR< 62, "r62">, DwarfRegNum<[62]>;
+def r63 : GR< 63, "r63">, DwarfRegNum<[63]>;
+def r64 : GR< 64, "r64">, DwarfRegNum<[64]>;
+def r65 : GR< 65, "r65">, DwarfRegNum<[65]>;
+def r66 : GR< 66, "r66">, DwarfRegNum<[66]>;
+def r67 : GR< 67, "r67">, DwarfRegNum<[67]>;
+def r68 : GR< 68, "r68">, DwarfRegNum<[68]>;
+def r69 : GR< 69, "r69">, DwarfRegNum<[69]>;
+def r70 : GR< 70, "r70">, DwarfRegNum<[70]>;
+def r71 : GR< 71, "r71">, DwarfRegNum<[71]>;
+def r72 : GR< 72, "r72">, DwarfRegNum<[72]>;
+def r73 : GR< 73, "r73">, DwarfRegNum<[73]>;
+def r74 : GR< 74, "r74">, DwarfRegNum<[74]>;
+def r75 : GR< 75, "r75">, DwarfRegNum<[75]>;
+def r76 : GR< 76, "r76">, DwarfRegNum<[76]>;
+def r77 : GR< 77, "r77">, DwarfRegNum<[77]>;
+def r78 : GR< 78, "r78">, DwarfRegNum<[78]>;
+def r79 : GR< 79, "r79">, DwarfRegNum<[79]>;
+def r80 : GR< 80, "r80">, DwarfRegNum<[80]>;
+def r81 : GR< 81, "r81">, DwarfRegNum<[81]>;
+def r82 : GR< 82, "r82">, DwarfRegNum<[82]>;
+def r83 : GR< 83, "r83">, DwarfRegNum<[83]>;
+def r84 : GR< 84, "r84">, DwarfRegNum<[84]>;
+def r85 : GR< 85, "r85">, DwarfRegNum<[85]>;
+def r86 : GR< 86, "r86">, DwarfRegNum<[86]>;
+def r87 : GR< 87, "r87">, DwarfRegNum<[87]>;
+def r88 : GR< 88, "r88">, DwarfRegNum<[88]>;
+def r89 : GR< 89, "r89">, DwarfRegNum<[89]>;
+def r90 : GR< 90, "r90">, DwarfRegNum<[90]>;
+def r91 : GR< 91, "r91">, DwarfRegNum<[91]>;
+def r92 : GR< 92, "r92">, DwarfRegNum<[92]>;
+def r93 : GR< 93, "r93">, DwarfRegNum<[93]>;
+def r94 : GR< 94, "r94">, DwarfRegNum<[94]>;
+def r95 : GR< 95, "r95">, DwarfRegNum<[95]>;
+def r96 : GR< 96, "r96">, DwarfRegNum<[96]>;
+def r97 : GR< 97, "r97">, DwarfRegNum<[97]>;
+def r98 : GR< 98, "r98">, DwarfRegNum<[98]>;
+def r99 : GR< 99, "r99">, DwarfRegNum<[99]>;
+def r100 : GR< 100, "r100">, DwarfRegNum<[100]>;
+def r101 : GR< 101, "r101">, DwarfRegNum<[101]>;
+def r102 : GR< 102, "r102">, DwarfRegNum<[102]>;
+def r103 : GR< 103, "r103">, DwarfRegNum<[103]>;
+def r104 : GR< 104, "r104">, DwarfRegNum<[104]>;
+def r105 : GR< 105, "r105">, DwarfRegNum<[105]>;
+def r106 : GR< 106, "r106">, DwarfRegNum<[106]>;
+def r107 : GR< 107, "r107">, DwarfRegNum<[107]>;
+def r108 : GR< 108, "r108">, DwarfRegNum<[108]>;
+def r109 : GR< 109, "r109">, DwarfRegNum<[109]>;
+def r110 : GR< 110, "r110">, DwarfRegNum<[110]>;
+def r111 : GR< 111, "r111">, DwarfRegNum<[111]>;
+def r112 : GR< 112, "r112">, DwarfRegNum<[112]>;
+def r113 : GR< 113, "r113">, DwarfRegNum<[113]>;
+def r114 : GR< 114, "r114">, DwarfRegNum<[114]>;
+def r115 : GR< 115, "r115">, DwarfRegNum<[115]>;
+def r116 : GR< 116, "r116">, DwarfRegNum<[116]>;
+def r117 : GR< 117, "r117">, DwarfRegNum<[117]>;
+def r118 : GR< 118, "r118">, DwarfRegNum<[118]>;
+def r119 : GR< 119, "r119">, DwarfRegNum<[119]>;
+def r120 : GR< 120, "r120">, DwarfRegNum<[120]>;
+def r121 : GR< 121, "r121">, DwarfRegNum<[121]>;
+def r122 : GR< 122, "r122">, DwarfRegNum<[122]>;
+def r123 : GR< 123, "r123">, DwarfRegNum<[123]>;
+def r124 : GR< 124, "r124">, DwarfRegNum<[124]>;
+def r125 : GR< 125, "r125">, DwarfRegNum<[125]>;
+def r126 : GR< 126, "r126">, DwarfRegNum<[126]>;
+def r127 : GR< 127, "r127">, DwarfRegNum<[127]>;
/* floating-point registers */
-def F0 : FP< 0, "f0">, DwarfRegNum<128>;
-def F1 : FP< 1, "f1">, DwarfRegNum<129>;
-def F2 : FP< 2, "f2">, DwarfRegNum<130>;
-def F3 : FP< 3, "f3">, DwarfRegNum<131>;
-def F4 : FP< 4, "f4">, DwarfRegNum<132>;
-def F5 : FP< 5, "f5">, DwarfRegNum<133>;
-def F6 : FP< 6, "f6">, DwarfRegNum<134>;
-def F7 : FP< 7, "f7">, DwarfRegNum<135>;
-def F8 : FP< 8, "f8">, DwarfRegNum<136>;
-def F9 : FP< 9, "f9">, DwarfRegNum<137>;
-def F10 : FP< 10, "f10">, DwarfRegNum<138>;
-def F11 : FP< 11, "f11">, DwarfRegNum<139>;
-def F12 : FP< 12, "f12">, DwarfRegNum<140>;
-def F13 : FP< 13, "f13">, DwarfRegNum<141>;
-def F14 : FP< 14, "f14">, DwarfRegNum<142>;
-def F15 : FP< 15, "f15">, DwarfRegNum<143>;
-def F16 : FP< 16, "f16">, DwarfRegNum<144>;
-def F17 : FP< 17, "f17">, DwarfRegNum<145>;
-def F18 : FP< 18, "f18">, DwarfRegNum<146>;
-def F19 : FP< 19, "f19">, DwarfRegNum<147>;
-def F20 : FP< 20, "f20">, DwarfRegNum<148>;
-def F21 : FP< 21, "f21">, DwarfRegNum<149>;
-def F22 : FP< 22, "f22">, DwarfRegNum<150>;
-def F23 : FP< 23, "f23">, DwarfRegNum<151>;
-def F24 : FP< 24, "f24">, DwarfRegNum<152>;
-def F25 : FP< 25, "f25">, DwarfRegNum<153>;
-def F26 : FP< 26, "f26">, DwarfRegNum<154>;
-def F27 : FP< 27, "f27">, DwarfRegNum<155>;
-def F28 : FP< 28, "f28">, DwarfRegNum<156>;
-def F29 : FP< 29, "f29">, DwarfRegNum<157>;
-def F30 : FP< 30, "f30">, DwarfRegNum<158>;
-def F31 : FP< 31, "f31">, DwarfRegNum<159>;
-def F32 : FP< 32, "f32">, DwarfRegNum<160>;
-def F33 : FP< 33, "f33">, DwarfRegNum<161>;
-def F34 : FP< 34, "f34">, DwarfRegNum<162>;
-def F35 : FP< 35, "f35">, DwarfRegNum<163>;
-def F36 : FP< 36, "f36">, DwarfRegNum<164>;
-def F37 : FP< 37, "f37">, DwarfRegNum<165>;
-def F38 : FP< 38, "f38">, DwarfRegNum<166>;
-def F39 : FP< 39, "f39">, DwarfRegNum<167>;
-def F40 : FP< 40, "f40">, DwarfRegNum<168>;
-def F41 : FP< 41, "f41">, DwarfRegNum<169>;
-def F42 : FP< 42, "f42">, DwarfRegNum<170>;
-def F43 : FP< 43, "f43">, DwarfRegNum<171>;
-def F44 : FP< 44, "f44">, DwarfRegNum<172>;
-def F45 : FP< 45, "f45">, DwarfRegNum<173>;
-def F46 : FP< 46, "f46">, DwarfRegNum<174>;
-def F47 : FP< 47, "f47">, DwarfRegNum<175>;
-def F48 : FP< 48, "f48">, DwarfRegNum<176>;
-def F49 : FP< 49, "f49">, DwarfRegNum<177>;
-def F50 : FP< 50, "f50">, DwarfRegNum<178>;
-def F51 : FP< 51, "f51">, DwarfRegNum<179>;
-def F52 : FP< 52, "f52">, DwarfRegNum<180>;
-def F53 : FP< 53, "f53">, DwarfRegNum<181>;
-def F54 : FP< 54, "f54">, DwarfRegNum<182>;
-def F55 : FP< 55, "f55">, DwarfRegNum<183>;
-def F56 : FP< 56, "f56">, DwarfRegNum<184>;
-def F57 : FP< 57, "f57">, DwarfRegNum<185>;
-def F58 : FP< 58, "f58">, DwarfRegNum<186>;
-def F59 : FP< 59, "f59">, DwarfRegNum<187>;
-def F60 : FP< 60, "f60">, DwarfRegNum<188>;
-def F61 : FP< 61, "f61">, DwarfRegNum<189>;
-def F62 : FP< 62, "f62">, DwarfRegNum<190>;
-def F63 : FP< 63, "f63">, DwarfRegNum<191>;
-def F64 : FP< 64, "f64">, DwarfRegNum<192>;
-def F65 : FP< 65, "f65">, DwarfRegNum<193>;
-def F66 : FP< 66, "f66">, DwarfRegNum<194>;
-def F67 : FP< 67, "f67">, DwarfRegNum<195>;
-def F68 : FP< 68, "f68">, DwarfRegNum<196>;
-def F69 : FP< 69, "f69">, DwarfRegNum<197>;
-def F70 : FP< 70, "f70">, DwarfRegNum<198>;
-def F71 : FP< 71, "f71">, DwarfRegNum<199>;
-def F72 : FP< 72, "f72">, DwarfRegNum<200>;
-def F73 : FP< 73, "f73">, DwarfRegNum<201>;
-def F74 : FP< 74, "f74">, DwarfRegNum<202>;
-def F75 : FP< 75, "f75">, DwarfRegNum<203>;
-def F76 : FP< 76, "f76">, DwarfRegNum<204>;
-def F77 : FP< 77, "f77">, DwarfRegNum<205>;
-def F78 : FP< 78, "f78">, DwarfRegNum<206>;
-def F79 : FP< 79, "f79">, DwarfRegNum<207>;
-def F80 : FP< 80, "f80">, DwarfRegNum<208>;
-def F81 : FP< 81, "f81">, DwarfRegNum<209>;
-def F82 : FP< 82, "f82">, DwarfRegNum<210>;
-def F83 : FP< 83, "f83">, DwarfRegNum<211>;
-def F84 : FP< 84, "f84">, DwarfRegNum<212>;
-def F85 : FP< 85, "f85">, DwarfRegNum<213>;
-def F86 : FP< 86, "f86">, DwarfRegNum<214>;
-def F87 : FP< 87, "f87">, DwarfRegNum<215>;
-def F88 : FP< 88, "f88">, DwarfRegNum<216>;
-def F89 : FP< 89, "f89">, DwarfRegNum<217>;
-def F90 : FP< 90, "f90">, DwarfRegNum<218>;
-def F91 : FP< 91, "f91">, DwarfRegNum<219>;
-def F92 : FP< 92, "f92">, DwarfRegNum<220>;
-def F93 : FP< 93, "f93">, DwarfRegNum<221>;
-def F94 : FP< 94, "f94">, DwarfRegNum<222>;
-def F95 : FP< 95, "f95">, DwarfRegNum<223>;
-def F96 : FP< 96, "f96">, DwarfRegNum<224>;
-def F97 : FP< 97, "f97">, DwarfRegNum<225>;
-def F98 : FP< 98, "f98">, DwarfRegNum<226>;
-def F99 : FP< 99, "f99">, DwarfRegNum<227>;
-def F100 : FP< 100, "f100">, DwarfRegNum<228>;
-def F101 : FP< 101, "f101">, DwarfRegNum<229>;
-def F102 : FP< 102, "f102">, DwarfRegNum<230>;