diff options
Diffstat (limited to 'docs/LangRef.html')
-rw-r--r-- | docs/LangRef.html | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html index bf98e04..57aace8 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -2601,9 +2601,9 @@ Instruction</a> </div> <h5>Syntax:</h5> <pre> <result> = add <ty> <op1>, <op2> <i>; yields {ty}:result</i> - <result> = signed add <ty> <op1>, <op2> <i>; yields {ty}:result</i> - <result> = unsigned add <ty> <op1>, <op2> <i>; yields {ty}:result</i> - <result> = unsigned signed add <ty> <op1>, <op2> <i>; yields {ty}:result</i> + <result> = nuw add <ty> <op1>, <op2> <i>; yields {ty}:result</i> + <result> = nsw add <ty> <op1>, <op2> <i>; yields {ty}:result</i> + <result> = nuw nsw add <ty> <op1>, <op2> <i>; yields {ty}:result</i> </pre> <h5>Overview:</h5> @@ -2623,9 +2623,10 @@ Instruction</a> </div> <p>Because LLVM integers use a two's complement representation, this instruction is appropriate for both signed and unsigned integers.</p> -<p>If the <tt>signed</tt> and/or <tt>unsigned</tt> keywords are present, - the result value of the <tt>add</tt> is undefined if signed and/or unsigned - overflow, respectively, occurs.</p> +<p><tt>nuw</tt> and <tt>nsw</tt> stand for "No Unsigned Wrap" + and "No Signed Wrap", respectively. If the <tt>nuw</tt> and/or + <tt>nsw</tt> keywords are present, the result value of the <tt>add</tt> + is undefined if unsigned and/or signed overflow, respectively, occurs.</p> <h5>Example:</h5> <pre> @@ -2673,10 +2674,10 @@ Instruction</a> </div> <h5>Syntax:</h5> <pre> - <result> = sub <ty> <op1>, <op2> <i>; yields {ty}:result</i> - <result> = signed sub <ty> <op1>, <op2> <i>; yields {ty}:result</i> - <result> = unsigned sub <ty> <op1>, <op2> <i>; yields {ty}:result</i> - <result> = unsigned signed sub <ty> <op1>, <op2> <i>; yields {ty}:result</i> + <result> = sub <ty> <op1>, <op2> <i>; yields {ty}:result</i> + <result> = nuw sub <ty> <op1>, <op2> <i>; yields {ty}:result</i> + <result> = nsw sub <ty> <op1>, <op2> <i>; yields {ty}:result</i> + <result> = nuw nsw sub <ty> <op1>, <op2> <i>; yields {ty}:result</i> </pre> <h5>Overview:</h5> @@ -2702,9 +2703,10 @@ Instruction</a> </div> <p>Because LLVM integers use a two's complement representation, this instruction is appropriate for both signed and unsigned integers.</p> -<p>If the <tt>signed</tt> and/or <tt>unsigned</tt> keywords are present, - the result value of the <tt>sub</tt> is undefined if signed and/or unsigned - overflow, respectively, occurs.</p> +<p><tt>nuw</tt> and <tt>nsw</tt> stand for "No Unsigned Wrap" + and "No Signed Wrap", respectively. If the <tt>nuw</tt> and/or + <tt>nsw</tt> keywords are present, the result value of the <tt>sub</tt> + is undefined if unsigned and/or signed overflow, respectively, occurs.</p> <h5>Example:</h5> <pre> @@ -2759,10 +2761,10 @@ Instruction</a> </div> <h5>Syntax:</h5> <pre> - <result> = mul <ty> <op1>, <op2> <i>; yields {ty}:result</i> - <result> = signed mul <ty> <op1>, <op2> <i>; yields {ty}:result</i> - <result> = unsigned mul <ty> <op1>, <op2> <i>; yields {ty}:result</i> - <result> = unsigned signed mul <ty> <op1>, <op2> <i>; yields {ty}:result</i> + <result> = mul <ty> <op1>, <op2> <i>; yields {ty}:result</i> + <result> = nuw mul <ty> <op1>, <op2> <i>; yields {ty}:result</i> + <result> = nsw mul <ty> <op1>, <op2> <i>; yields {ty}:result</i> + <result> = nuw nsw mul <ty> <op1>, <op2> <i>; yields {ty}:result</i> </pre> <h5>Overview:</h5> @@ -2787,9 +2789,10 @@ Instruction</a> </div> be sign-extended or zero-extended as appropriate to the width of the full product.</p> -<p>If the <tt>signed</tt> and/or <tt>unsigned</tt> keywords are present, - the result value of the <tt>mul</tt> is undefined if signed and/or unsigned - overflow, respectively, occurs.</p> +<p><tt>nuw</tt> and <tt>nsw</tt> stand for "No Unsigned Wrap" + and "No Signed Wrap", respectively. If the <tt>nuw</tt> and/or + <tt>nsw</tt> keywords are present, the result value of the <tt>mul</tt> + is undefined if unsigned and/or signed overflow, respectively, occurs.</p> <h5>Example:</h5> <pre> |