Index: src/compiler/ppc/code-generator-ppc.cc |
diff --git a/src/compiler/ppc/code-generator-ppc.cc b/src/compiler/ppc/code-generator-ppc.cc |
index 6f1e5881eb46668bd241326d333f3451abcc7b3a..55ddf7278ef60e658c9a76de57ca2ca30fc8dd84 100644 |
--- a/src/compiler/ppc/code-generator-ppc.cc |
+++ b/src/compiler/ppc/code-generator-ppc.cc |
@@ -1848,10 +1848,26 @@ void CodeGenerator::AssembleMove(InstructionOperand* source, |
destination->IsRegister() ? g.ToRegister(destination) : kScratchReg; |
switch (src.type()) { |
case Constant::kInt32: |
- __ mov(dst, Operand(src.ToInt32())); |
+#if !V8_TARGET_ARCH_PPC64 |
+ if (src.rmode() == RelocInfo::WASM_MEMORY_REFERENCE) { |
+ __ mov(dst, Operand(src.ToInt32(), src.rmode())); |
+ } else { |
+#endif |
+ __ mov(dst, Operand(src.ToInt32())); |
+#if !V8_TARGET_ARCH_PPC64 |
+ } |
+#endif |
break; |
case Constant::kInt64: |
- __ mov(dst, Operand(src.ToInt64())); |
+#if V8_TARGET_ARCH_PPC64 |
+ if (src.rmode() == RelocInfo::WASM_MEMORY_REFERENCE) { |
+ __ mov(dst, Operand(src.ToInt64(), src.rmode())); |
+ } else { |
+#endif |
+ __ mov(dst, Operand(src.ToInt64())); |
+#if V8_TARGET_ARCH_PPC64 |
+ } |
+#endif |
break; |
case Constant::kFloat32: |
__ Move(dst, |