| Index: src/IceInstMIPS32.cpp
|
| diff --git a/src/IceInstMIPS32.cpp b/src/IceInstMIPS32.cpp
|
| index a508a8a90151560d01352bc73d917ee3e5637562..02b6d9baf1781210dee428a28b5d7db05bc2067a 100644
|
| --- a/src/IceInstMIPS32.cpp
|
| +++ b/src/IceInstMIPS32.cpp
|
| @@ -283,13 +283,20 @@ InstMIPS32Call::InstMIPS32Call(Cfg *Func, Variable *Dest, Operand *CallTarget)
|
| addSource(CallTarget);
|
| }
|
|
|
| -InstMIPS32Mov::InstMIPS32Mov(Cfg *Func, Variable *Dest, Operand *Src)
|
| +InstMIPS32Mov::InstMIPS32Mov(Cfg *Func, Variable *Dest, Operand *Src,
|
| + Operand *Src2)
|
| : InstMIPS32(Func, InstMIPS32::Mov, 2, Dest) {
|
| auto *Dest64 = llvm::dyn_cast<Variable64On32>(Dest);
|
| auto *Src64 = llvm::dyn_cast<Variable64On32>(Src);
|
|
|
| assert(Dest64 == nullptr || Src64 == nullptr);
|
|
|
| + if (Dest->getType() == IceType_f64 && Src2 != nullptr) {
|
| + addSource(Src);
|
| + addSource(Src2);
|
| + return;
|
| + }
|
| +
|
| if (Dest64 != nullptr) {
|
| // this-> is needed below because there is a parameter named Dest.
|
| this->Dest = Dest64->getLo();
|
|
|