From 6896a7dd435e8921cae56fb463bfa2d5f44f29b8 Mon Sep 17 00:00:00 2001 From: Brian Gaeke Date: Wed, 21 Apr 2004 17:53:58 +0000 Subject: [PATCH] Make SparcV9RegInfo::getRegType() return the right answer for registers of IntCC, FloatCC, and Special types. Make SparcV9RegInfo::getRegClassIDOfRegType() return the right answer if you ask for the class corresponding to SpecialRegType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13095 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/SparcV9/SparcV9RegInfo.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/Target/SparcV9/SparcV9RegInfo.cpp b/lib/Target/SparcV9/SparcV9RegInfo.cpp index 1c537030fc1..89aad0495f6 100644 --- a/lib/Target/SparcV9/SparcV9RegInfo.cpp +++ b/lib/Target/SparcV9/SparcV9RegInfo.cpp @@ -256,11 +256,11 @@ int SparcV9RegInfo::getRegType(int unifiedRegNum) const return FPSingleRegType; else if (unifiedRegNum < (64 + 32)) return FPDoubleRegType; - else if (unifiedRegNum < (64+32+4)) - return FloatCCRegType; - else if (unifiedRegNum < (64+32+4+2)) - return IntCCRegType; - else if (unifiedRegNum < (64+32+4+2+1)) + else if (unifiedRegNum < (64+32+3)) + return IntCCRegType; + else if (unifiedRegNum < (64+32+3+4)) + return FloatCCRegType; + else if (unifiedRegNum < (64+32+3+4+1)) return SpecialRegType; else assert(0 && "Invalid unified register number in getRegType"); @@ -300,6 +300,7 @@ unsigned SparcV9RegInfo::getRegClassIDOfRegType(int regType) const { case FPDoubleRegType: return FloatRegClassID; case IntCCRegType: return IntCCRegClassID; case FloatCCRegType: return FloatCCRegClassID; + case SpecialRegType: return SpecialRegClassID; default: assert(0 && "Invalid register type in getRegClassIDOfRegType"); return 0;