Index: src/base/bits.h |
diff --git a/src/base/bits.h b/src/base/bits.h |
index d681ba8ba317a7d6bf3c59a52b16f3c96be93050..e094882431c46fe4f11ad4b143af2149daa9cf9a 100644 |
--- a/src/base/bits.h |
+++ b/src/base/bits.h |
@@ -187,6 +187,24 @@ inline bool SignedSubOverflow32(int32_t lhs, int32_t rhs, int32_t* val) { |
#endif |
} |
+ |
+// SignedMulHigh32(lhs, rhs) multiplies two signed 32-bit values |lhs| and |
+// |rhs|, extracts the most significant 32 bits of the result, and returns |
+// those. |
+int32_t SignedMulHigh32(int32_t lhs, int32_t rhs); |
+ |
+ |
+// SignedMulHighAndAdd32(lhs, rhs, acc) multiplies two signed 32-bit values |
+// |lhs| and |rhs|, extracts the most significant 32 bits of the result, and |
+// adds the accumulate value |acc|. |
+int32_t SignedMulHighAndAdd32(int32_t lhs, int32_t rhs, int32_t acc); |
+ |
+ |
+// SignedMulHighAndAdd32(lhs, rhs, acc) multiplies two signed 32-bit values |
+// |lhs| and |rhs|, extracts the most significant 32 bits of the result, and |
+// subtracts it from the accumulate value |acc|. |
+int32_t SignedMulHighAndSub32(int32_t lhs, int32_t rhs, int32_t acc); |
+ |
} // namespace bits |
} // namespace base |
} // namespace v8 |