| Index: src/IceTargetLoweringX8632.cpp
 | 
| diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp
 | 
| index 5d8ad3fb1fbdb0ca15f7e48c008c75ac0dd3d617..2a1a0b7bf7a8fa4b48c94487f76d7f913c025cb3 100644
 | 
| --- a/src/IceTargetLoweringX8632.cpp
 | 
| +++ b/src/IceTargetLoweringX8632.cpp
 | 
| @@ -263,10 +263,9 @@ void TargetX8632::lowerCall(const InstCall *Instr) {
 | 
|    // Assign the result of the call to Dest.
 | 
|    if (ReturnReg) {
 | 
|      if (ReturnRegHi) {
 | 
| -      assert(Dest->getType() == IceType_i64);
 | 
| -      split64(Dest);
 | 
| -      Variable *DestLo = Dest->getLo();
 | 
| -      Variable *DestHi = Dest->getHi();
 | 
| +      auto *Dest64On32 = llvm::cast<Variable64On32>(Dest);
 | 
| +      Variable *DestLo = Dest64On32->getLo();
 | 
| +      Variable *DestHi = Dest64On32->getHi();
 | 
|        _mov(DestLo, ReturnReg);
 | 
|        _mov(DestHi, ReturnRegHi);
 | 
|      } else {
 | 
| 
 |