[Mlir-commits] [mlir] [mlir][arith] doc updates for ub semantics, and int representations (PR #72932)

Jacob Yu llvmlistbot at llvm.org
Tue Nov 21 04:05:23 PST 2023


================
@@ -198,7 +198,9 @@ def Arith_AddIOp : Arith_TotalIntBinaryOp<"addi", [Commutative]> {
     The `addi` operation takes two operands and returns one result, each of
     these is required to be the same type. This type may be an integer scalar
     type, a vector whose element type is integer, or a tensor of integers. It
-    has no standard attributes.
+    has no standard attributes. If an overflow occurs, the result is the 
+    mathematical value of the addition modulo 2^n, where `n` is the width of
+    the integer type. 
----------------
pingshiyu wrote:

hmmm (not sure if I follow what you mean totally!) overflowing is the current behaviour (i.e. in integration tests), is in line with llvm, and may be the expected semantics? 
i suppose the alternatives would be to either leave as undefined, or produce a poison?

https://github.com/llvm/llvm-project/pull/72932


More information about the Mlir-commits mailing list