| Index: src/IceTargetLoweringMIPS32.h
|
| diff --git a/src/IceTargetLoweringMIPS32.h b/src/IceTargetLoweringMIPS32.h
|
| index 49cf2a2952d8aa9342b39df197c816830cb8d4be..842f266e2be730aced312e48437e56d3910393bb 100644
|
| --- a/src/IceTargetLoweringMIPS32.h
|
| +++ b/src/IceTargetLoweringMIPS32.h
|
| @@ -341,15 +341,15 @@ public:
|
| Context.insert<InstMIPS32Mflo>(Dest, Src);
|
| }
|
|
|
| - void _mov(Variable *Dest, Operand *Src0) {
|
| + void _mov(Variable *Dest, Operand *Src0, Operand *Src1 = nullptr) {
|
| assert(Dest != nullptr);
|
| // Variable* Src0_ = llvm::dyn_cast<Variable>(Src0);
|
| if (llvm::isa<ConstantRelocatable>(Src0)) {
|
| Context.insert<InstMIPS32La>(Dest, Src0);
|
| } else {
|
| - auto *Instr = Context.insert<InstMIPS32Mov>(Dest, Src0);
|
| - if (Instr->isMultiDest()) {
|
| - // If Instr is multi-dest, then Dest must be a Variable64On32. We add a
|
| + auto *Instr = Context.insert<InstMIPS32Mov>(Dest, Src0, Src1);
|
| + if (Instr->getDestHi() != nullptr) {
|
| + // If DestHi is available, then Dest must be a Variable64On32. We add a
|
| // fake-def for Instr.DestHi here.
|
| assert(llvm::isa<Variable64On32>(Dest));
|
| Context.insert<InstFakeDef>(Instr->getDestHi());
|
|
|