Index: src/compiler/move-optimizer.cc |
diff --git a/src/compiler/move-optimizer.cc b/src/compiler/move-optimizer.cc |
index 50516c123989f63bdd6e42e639b09f0e85bae64c..4753d15979a99fcb0f39e59db9ab3f6a1d979938 100644 |
--- a/src/compiler/move-optimizer.cc |
+++ b/src/compiler/move-optimizer.cc |
@@ -29,8 +29,8 @@ typedef ZoneSet<InstructionOperand, CompareOperandModuloType> OperandSet; |
bool Blocks(const OperandSet& set, const InstructionOperand& operand) { |
if (set.find(operand) != set.end()) return true; |
- // Only FP registers alias. |
- if (!operand.IsFPRegister()) return false; |
+ // Only FP registers on archs with non-simple aliasing need extra checks. |
+ if (!operand.IsFPRegister() || kSimpleFPAliasing) return false; |
const LocationOperand& loc = LocationOperand::cast(operand); |
MachineRepresentation rep = loc.representation(); |