Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Commit

Permalink
Merge pull request #13284 from wateret/fix-13281
Browse files Browse the repository at this point in the history
[RyuJIT/arm32] Fix Regression
  • Loading branch information
CarolEidt authored Aug 10, 2017
2 parents f02652b + 6572d01 commit dc2ffcd
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
11 changes: 10 additions & 1 deletion src/jit/gentree.h
Original file line number Diff line number Diff line change
Expand Up @@ -4012,7 +4012,16 @@ struct GenTreeMultiRegOp : public GenTreeOp
var_types GetRegType(unsigned index)
{
assert(index < 2);
var_types result = TYP_INT; // XXX
// The type of register is usually the same as GenTree type
// since most of time GenTreeMultiRegOp uses only a single reg (when gtOtherReg is REG_NA).
// The special case is when we have TYP_LONG here, which was `TYP_DOUBLE` originally
// (copied to int regs for argument push on armel). Then we need to separate them into int for each index.
var_types result = TypeGet();
if (result == TYP_LONG)
{
assert(gtOtherReg != REG_NA);
result = TYP_INT;
}
return result;
}

Expand Down
2 changes: 1 addition & 1 deletion src/jit/regset.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1552,7 +1552,7 @@ void RegSet::rsSpillTree(regNumber reg, GenTreePtr tree, unsigned regIdx /* =0 *
else if (tree->OperIsMultiRegOp())
{
multiReg = tree->AsMultiRegOp();
treeType = multiReg->GetRegType(regIdx); // XXX check
treeType = multiReg->GetRegType(regIdx);
}
#endif // _TARGET_ARM_
else
Expand Down

0 comments on commit dc2ffcd

Please sign in to comment.