diff --git a/docs/LangRef.html b/docs/LangRef.html index 08cdccf8102..1c744d2a6fe 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -1465,8 +1465,10 @@ them all and their syntax.
The value produced is the signed integer quotient of the two operands.
+The value produced is the signed integer quotient of the two operands rounded towards zero.
Note that signed integer division and unsigned integer division are distinct operations; for unsigned integer division, use 'udiv'.
Division by zero leads to undefined behavior. Overflow also leads to @@ -2238,8 +2240,7 @@ types. This instruction can also take vector versions of the values in which case the elements must be integers.
This instruction returns the unsigned integer remainder of a division. -This instruction always performs an unsigned division to get the remainder, -regardless of whether the arguments are unsigned or not.
+This instruction always performs an unsigned division to get the remainder.Note that unsigned integer remainder and signed integer remainder are distinct operations; for signed integer remainder, use 'srem'.
Taking the remainder of a division by zero leads to undefined behavior.
@@ -2303,7 +2304,8 @@ division of its two operands. identical types. This instruction can also take vector versions of floating point values.This instruction returns the remainder of a division.
+This instruction returns the remainder of a division. +The remainder has the same sign as the dividend.
<result> = frem float 4.0, %var ; yields {float}:result = 4.0 % %var@@ -2316,9 +2318,8 @@ Operations
Bitwise binary operators are used to do various forms of bit-twiddling in a program. They are generally very efficient instructions and can commonly be strength reduced from other -instructions. They require two operands, execute an operation on them, -and produce a single value. The resulting value of the bitwise binary -operators is always the same type as its first operand.
+instructions. They require two operands of the same type, execute an operation on them, +and produce a single value. The resulting value is the same type as its operands. @@ -2341,9 +2342,9 @@ the left a specified number of bits.The value produced is var1 * 2var2. If -var2 is (statically or dynamically) equal to or larger than the number -of bits in var1, the result is undefined.
+The value produced is var1 * 2var2 mod 2n, +where n is the width of the result. If var2 is (statically or dynamically) negative or +equal to or larger than the number of bits in var1, the result is undefined.
<result> = shl i32 4, %var ; yields {i32}: 4 << %var