Index: src/s390/macro-assembler-s390.cc |
diff --git a/src/s390/macro-assembler-s390.cc b/src/s390/macro-assembler-s390.cc |
index de68c352734828d7e24557bded9ab39f51e38736..bd44ab708eeb98adb6344908af8ca0c746a892e1 100644 |
--- a/src/s390/macro-assembler-s390.cc |
+++ b/src/s390/macro-assembler-s390.cc |
@@ -3342,6 +3342,17 @@ void MacroAssembler::MulP(Register dst, const MemOperand& opnd) { |
#endif |
} |
+void MacroAssembler::Sqrt(DoubleRegister result, DoubleRegister input) { |
+ sqdbr(result, input); |
+} |
+void MacroAssembler::Sqrt(DoubleRegister result, const MemOperand& input) { |
+ if (is_uint12(input.offset())) { |
+ sqdb(result, input); |
+ } else { |
+ ldy(result, input); |
+ sqdbr(result, result); |
+ } |
+} |
//---------------------------------------------------------------------------- |
// Add Instructions |
//---------------------------------------------------------------------------- |