diff options
author | Hal Finkel <hfinkel@anl.gov> | 2013-03-26 21:50:26 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2013-03-26 21:50:26 +0000 |
commit | 1a0034c74a0a8562199f9e6a00feb0a80619b886 (patch) | |
tree | d9bde0ea9c0a5c95a8b2cefa75d6eda018221cac | |
parent | 82e7c4f533a98a16b0cadd5209c1d3dc8ce33d87 (diff) |
Restore real bit lengths on PPC register numbers
As suggested by Bill Schmidt (in reviewing r178067), use the real register
number bit lengths (which is self-documenting, and prevents using illegal
numbers), and set only the relevant bits in HWEncoding (which defaults to 0).
No functionality change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178077 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/PowerPC/PPCRegisterInfo.td | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/lib/Target/PowerPC/PPCRegisterInfo.td b/lib/Target/PowerPC/PPCRegisterInfo.td index 28c590cc79..c5e325545d 100644 --- a/lib/Target/PowerPC/PPCRegisterInfo.td +++ b/lib/Target/PowerPC/PPCRegisterInfo.td @@ -26,8 +26,8 @@ class PPCReg<string n> : Register<n> { // We identify all our registers with a 5-bit ID, for consistency's sake. // GPR - One of the 32 32-bit general-purpose registers -class GPR<bits<16> num, string n> : PPCReg<n> { - let HWEncoding = num; +class GPR<bits<5> num, string n> : PPCReg<n> { + let HWEncoding{4-0} = num; } // GP8 - One of the 32 64-bit general-purpose registers @@ -38,29 +38,29 @@ class GP8<GPR SubReg, string n> : PPCReg<n> { } // SPR - One of the 32-bit special-purpose registers -class SPR<bits<16> num, string n> : PPCReg<n> { - let HWEncoding = num; +class SPR<bits<10> num, string n> : PPCReg<n> { + let HWEncoding{9-0} = num; } // FPR - One of the 32 64-bit floating-point registers -class FPR<bits<16> num, string n> : PPCReg<n> { - let HWEncoding = num; +class FPR<bits<5> num, string n> : PPCReg<n> { + let HWEncoding{4-0} = num; } // VR - One of the 32 128-bit vector registers -class VR<bits<16> num, string n> : PPCReg<n> { - let HWEncoding = num; +class VR<bits<5> num, string n> : PPCReg<n> { + let HWEncoding{4-0} = num; } // CR - One of the 8 4-bit condition registers -class CR<bits<16> num, string n, list<Register> subregs> : PPCReg<n> { - let HWEncoding = num; +class CR<bits<3> num, string n, list<Register> subregs> : PPCReg<n> { + let HWEncoding{2-0} = num; let SubRegs = subregs; } // CRBIT - One of the 32 1-bit condition register fields -class CRBIT<bits<16> num, string n> : PPCReg<n> { - let HWEncoding = num; +class CRBIT<bits<5> num, string n> : PPCReg<n> { + let HWEncoding{4-0} = num; } // General-purpose registers |