On 17/2/25 00:08, Richard Henderson wrote:
Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
  include/tcg/tcg-opc.h  |  3 +--
  tcg/tcg-op.c           | 16 ++++++++--------
  tcg/tcg.c              |  6 ++----
  docs/devel/tcg-ops.rst | 10 ++++++++++
  4 files changed, 21 insertions(+), 14 deletions(-)


diff --git a/docs/devel/tcg-ops.rst b/docs/devel/tcg-ops.rst
index 62af390854..8f3b5e91b2 100644
--- a/docs/devel/tcg-ops.rst
+++ b/docs/devel/tcg-ops.rst
@@ -307,6 +307,16 @@ Arithmetic
           pass *nh* as a simple sign-extension of *nl*, so the only
           overflow should be *INT_MIN* / -1.
+ * - divu2 *q*, *r*, *nl*, *nh*, *d*
+
+     - | *q* = *nh:nl* / *d* (unsigned)
+       | *r* = *nh:nl* % *d*
+       | Undefined behaviour if division by zero, or the double-word
+         numerator divided by the single-word divisor does not fit
+         within the single-word quotient.  The code generator will
+         pass 0 to *nh* to make a simple zero-extension of *nl*,
+         so overflow should never occur.

Thanks!

Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>


Reply via email to