Skip to content

Commit e56dc9b

Browse files
committed
fix some other build failures
1 parent 5f63e60 commit e56dc9b

File tree

4 files changed

+35
-30
lines changed

4 files changed

+35
-30
lines changed

src/coreclr/jit/lsra.h

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1782,30 +1782,6 @@ class LinearScan : public LinearScanInterface
17821782
//-----------------------------------------------------------------------
17831783

17841784
regMaskTP m_AvailableRegs;
1785-
regNumber getRegForType(regNumber reg, var_types regType)
1786-
{
1787-
#ifdef TARGET_ARM
1788-
if ((regType == TYP_DOUBLE) && !genIsValidDoubleReg(reg))
1789-
{
1790-
reg = REG_PREV(reg);
1791-
}
1792-
#endif // TARGET_ARM
1793-
return reg;
1794-
}
1795-
1796-
regMaskTP getRegMask(regNumber reg, var_types regType)
1797-
{
1798-
reg = getRegForType(reg, regType);
1799-
regMaskTP regMask = genRegMask(reg);
1800-
#ifdef TARGET_ARM
1801-
if (regType == TYP_DOUBLE)
1802-
{
1803-
assert(genIsValidDoubleReg(reg));
1804-
regMask |= (regMask << 1);
1805-
}
1806-
#endif // TARGET_ARM
1807-
return regMask;
1808-
}
18091785

18101786
void resetAvailableRegs()
18111787
{

src/coreclr/jit/lsrabuild.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -851,9 +851,15 @@ regMaskTP LinearScan::getKillSetForCall(GenTreeCall* call)
851851
if (!compiler->compFloatingPointUsed)
852852
{
853853
#if defined(TARGET_XARCH)
854-
854+
855+
#ifdef TARGET_AMD64
855856
killMask.RemoveRegsetForType(RBM_FLT_CALLEE_TRASH.getLow(), FloatRegisterType);
856857
killMask.RemoveRegsetForType(RBM_MSK_CALLEE_TRASH.getLow(), MaskRegisterType);
858+
#else
859+
killMask.RemoveRegsetForType(RBM_FLT_CALLEE_TRASH, FloatRegisterType);
860+
killMask &= ~RBM_MSK_CALLEE_TRASH;
861+
#endif // TARGET_AMD64
862+
857863
#else
858864
killMask.RemoveRegsetForType(RBM_FLT_CALLEE_TRASH, FloatRegisterType);
859865
#endif // TARGET_XARCH

src/coreclr/jit/regMaskTPOps.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
struct regMaskTP;
77

8-
98
//------------------------------------------------------------------------
109
// encodeForRegisterIndex: Shifts the high-32 bits of float to low-32 bits
1110
// and return. For gpr and predicate registers, it returns the same value.
@@ -34,7 +33,6 @@ struct regMaskTP;
3433
return ((regMaskSmall)value << shiftAmount);
3534
}
3635

37-
3836
// ----------------------------------------------------------
3937
// AddRegNumForType: Adds `reg` to the mask.
4038
//
@@ -102,7 +100,7 @@ void regMaskTP::AddGprRegs(SingleTypeRegSet gprRegs)
102100
void regMaskTP::AddRegNum(regNumber reg, var_types type)
103101
{
104102
#ifdef TARGET_ARM
105-
low |= getRegMask(reg, type);
103+
low |= getRegMask(reg, type).getLow();
106104
#else
107105
AddRegNumInMask(reg);
108106
#endif
@@ -167,7 +165,7 @@ bool regMaskTP::IsRegNumInMask(regNumber reg) const
167165
bool regMaskTP::IsRegNumPresent(regNumber reg, var_types type) const
168166
{
169167
#ifdef TARGET_ARM
170-
return (low & getRegMask(reg, type)) != RBM_NONE;
168+
return (low & getRegMask(reg, type).getLow()) != RBM_NONE;
171169
#else
172170
return IsRegNumInMask(reg);
173171
#endif
@@ -200,7 +198,7 @@ void regMaskTP::RemoveRegNumFromMask(regNumber reg)
200198
void regMaskTP::RemoveRegNum(regNumber reg, var_types type)
201199
{
202200
#ifdef TARGET_ARM
203-
low &= ~getRegMask(reg, type);
201+
low &= ~getRegMask(reg, type).getLow();
204202
#else
205203
RemoveRegNumFromMask(reg);
206204
#endif

src/coreclr/jit/target.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -996,6 +996,31 @@ inline regMaskTP genRegMask(regNumber regNum, var_types type)
996996
return result;
997997
}
998998

999+
inline regNumber getRegForType(regNumber reg, var_types regType)
1000+
{
1001+
#ifdef TARGET_ARM
1002+
if ((regType == TYP_DOUBLE) && !genIsValidDoubleReg(reg))
1003+
{
1004+
reg = REG_PREV(reg);
1005+
}
1006+
#endif // TARGET_ARM
1007+
return reg;
1008+
}
1009+
1010+
inline regMaskTP getRegMask(regNumber reg, var_types regType)
1011+
{
1012+
reg = getRegForType(reg, regType);
1013+
regMaskTP regMask = genRegMask(reg);
1014+
#ifdef TARGET_ARM
1015+
if (regType == TYP_DOUBLE)
1016+
{
1017+
assert(genIsValidDoubleReg(reg));
1018+
regMask |= (regMask << 1);
1019+
}
1020+
#endif // TARGET_ARM
1021+
return regMask;
1022+
}
1023+
9991024
/*****************************************************************************
10001025
*
10011026
* These arrays list the callee-saved register numbers (and bitmaps, respectively) for

0 commit comments

Comments
 (0)