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