| Index: src/IceTargetLoweringMIPS32.cpp
|
| diff --git a/src/IceTargetLoweringMIPS32.cpp b/src/IceTargetLoweringMIPS32.cpp
|
| index 70ddef531f88350f82bf5fc12e8d6b01cdca4ba9..2ac65c899dcf65b0748613d7106440393901947c 100644
|
| --- a/src/IceTargetLoweringMIPS32.cpp
|
| +++ b/src/IceTargetLoweringMIPS32.cpp
|
| @@ -1565,8 +1565,11 @@ void TargetDataMIPS32::lowerJumpTables() {
|
| Variable *TargetMIPS32::copyToReg(Operand *Src, RegNumT RegNum) {
|
| Type Ty = Src->getType();
|
| Variable *Reg = makeReg(Ty, RegNum);
|
| - if (isVectorType(Ty) || isFloatingType(Ty)) {
|
| + if (isVectorType(Ty)) {
|
| UnimplementedError(getFlags());
|
| + } else if (isFloatingType(Ty)) {
|
| + (Ty == IceType_f32) ? _mov_s(Reg, llvm::dyn_cast<Variable>(Src))
|
| + : _mov_d(Reg, llvm::dyn_cast<Variable>(Src));
|
| } else {
|
| // Mov's Src operand can really only be the flexible second operand type
|
| // or a register. Users should guarantee that.
|
|
|