| Index: src/s390/macro-assembler-s390.h
|
| diff --git a/src/s390/macro-assembler-s390.h b/src/s390/macro-assembler-s390.h
|
| index 6221d82dbc516e02644ef332dd1cbad68977131c..6cfdcd3cbd499a35b484e874d7e246ee7f57bad5 100644
|
| --- a/src/s390/macro-assembler-s390.h
|
| +++ b/src/s390/macro-assembler-s390.h
|
| @@ -735,26 +735,24 @@ class MacroAssembler : public Assembler {
|
|
|
| // Converts the integer (untagged smi) in |src| to a double, storing
|
| // the result to |dst|
|
| - void ConvertIntToDouble(Register src, DoubleRegister dst);
|
| + void ConvertIntToDouble(DoubleRegister dst, Register src);
|
|
|
| // Converts the unsigned integer (untagged smi) in |src| to
|
| // a double, storing the result to |dst|
|
| - void ConvertUnsignedIntToDouble(Register src, DoubleRegister dst);
|
| + void ConvertUnsignedIntToDouble(DoubleRegister dst, Register src);
|
|
|
| // Converts the integer (untagged smi) in |src| to
|
| // a float, storing the result in |dst|
|
| - void ConvertIntToFloat(Register src, DoubleRegister dst);
|
| + void ConvertIntToFloat(DoubleRegister dst, Register src);
|
|
|
| // Converts the unsigned integer (untagged smi) in |src| to
|
| // a float, storing the result in |dst|
|
| - void ConvertUnsignedIntToFloat(Register src, DoubleRegister dst);
|
| + void ConvertUnsignedIntToFloat(DoubleRegister dst, Register src);
|
|
|
| -#if V8_TARGET_ARCH_S390X
|
| - void ConvertInt64ToFloat(Register src, DoubleRegister double_dst);
|
| - void ConvertInt64ToDouble(Register src, DoubleRegister double_dst);
|
| - void ConvertUnsignedInt64ToFloat(Register src, DoubleRegister double_dst);
|
| - void ConvertUnsignedInt64ToDouble(Register src, DoubleRegister double_dst);
|
| -#endif
|
| + void ConvertInt64ToFloat(DoubleRegister double_dst, Register src);
|
| + void ConvertInt64ToDouble(DoubleRegister double_dst, Register src);
|
| + void ConvertUnsignedInt64ToFloat(DoubleRegister double_dst, Register src);
|
| + void ConvertUnsignedInt64ToDouble(DoubleRegister double_dst, Register src);
|
|
|
| void MovIntToFloat(DoubleRegister dst, Register src);
|
| void MovFloatToInt(Register dst, DoubleRegister src);
|
| @@ -762,43 +760,36 @@ class MacroAssembler : public Assembler {
|
| void MovInt64ToDouble(DoubleRegister dst, Register src);
|
| // Converts the double_input to an integer. Note that, upon return,
|
| // the contents of double_dst will also hold the fixed point representation.
|
| - void ConvertFloat32ToInt64(const DoubleRegister double_input,
|
| -#if !V8_TARGET_ARCH_S390X
|
| - const Register dst_hi,
|
| -#endif
|
| - const Register dst,
|
| - const DoubleRegister double_dst,
|
| + void ConvertFloat32ToInt64(const Register dst,
|
| + const DoubleRegister double_input,
|
| FPRoundingMode rounding_mode = kRoundToZero);
|
|
|
| // Converts the double_input to an integer. Note that, upon return,
|
| // the contents of double_dst will also hold the fixed point representation.
|
| - void ConvertDoubleToInt64(const DoubleRegister double_input,
|
| -#if !V8_TARGET_ARCH_S390X
|
| - const Register dst_hi,
|
| -#endif
|
| - const Register dst, const DoubleRegister double_dst,
|
| + void ConvertDoubleToInt64(const Register dst,
|
| + const DoubleRegister double_input,
|
| + FPRoundingMode rounding_mode = kRoundToZero);
|
| + void ConvertDoubleToInt32(const Register dst,
|
| + const DoubleRegister double_input,
|
| FPRoundingMode rounding_mode = kRoundToZero);
|
|
|
| - void ConvertFloat32ToInt32(const DoubleRegister double_input,
|
| - const Register dst,
|
| - const DoubleRegister double_dst,
|
| + void ConvertFloat32ToInt32(const Register result,
|
| + const DoubleRegister double_input,
|
| FPRoundingMode rounding_mode);
|
| void ConvertFloat32ToUnsignedInt32(
|
| - const DoubleRegister double_input, const Register dst,
|
| - const DoubleRegister double_dst,
|
| + const Register result, const DoubleRegister double_input,
|
| FPRoundingMode rounding_mode = kRoundToZero);
|
| -#if V8_TARGET_ARCH_S390X
|
| // Converts the double_input to an unsigned integer. Note that, upon return,
|
| // the contents of double_dst will also hold the fixed point representation.
|
| void ConvertDoubleToUnsignedInt64(
|
| - const DoubleRegister double_input, const Register dst,
|
| - const DoubleRegister double_dst,
|
| + const Register dst, const DoubleRegister double_input,
|
| + FPRoundingMode rounding_mode = kRoundToZero);
|
| + void ConvertDoubleToUnsignedInt32(
|
| + const Register dst, const DoubleRegister double_input,
|
| FPRoundingMode rounding_mode = kRoundToZero);
|
| void ConvertFloat32ToUnsignedInt64(
|
| - const DoubleRegister double_input, const Register dst,
|
| - const DoubleRegister double_dst,
|
| + const Register result, const DoubleRegister double_input,
|
| FPRoundingMode rounding_mode = kRoundToZero);
|
| -#endif
|
|
|
| #if !V8_TARGET_ARCH_S390X
|
| void ShiftLeftPair(Register dst_low, Register dst_high, Register src_low,
|
| @@ -1625,20 +1616,10 @@ class MacroAssembler : public Assembler {
|
| void AssertNotSmi(Register object);
|
| void AssertSmi(Register object);
|
|
|
| -#if V8_TARGET_ARCH_S390X
|
| - inline void TestIfInt32(Register value, Register scratch) {
|
| + inline void TestIfInt32(Register value) {
|
| // High bits must be identical to fit into an 32-bit integer
|
| - lgfr(scratch, value);
|
| - CmpP(scratch, value);
|
| + cgfr(value, value);
|
| }
|
| -#else
|
| - inline void TestIfInt32(Register hi_word, Register lo_word,
|
| - Register scratch) {
|
| - // High bits must be identical to fit into an 32-bit integer
|
| - ShiftRightArith(scratch, lo_word, Operand(31));
|
| - CmpP(scratch, hi_word);
|
| - }
|
| -#endif
|
|
|
| #if V8_TARGET_ARCH_S390X
|
| // Ensure it is permissable to read/write int value directly from
|
|
|