diff --git a/docs/LangRef.html b/docs/LangRef.html index c1ef75e7626..4d73aaafe8d 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -2123,7 +2123,7 @@ The result value has the same type as its operands.
- <result> = add <ty> <var1>, <var2> ; yields {ty}:result + <result> = add <ty> <op1>, <op2> ; yields {ty}:result
- <result> = sub <ty> <var1>, <var2> ; yields {ty}:result + <result> = sub <ty> <op1>, <op2> ; yields {ty}:result
<result> = mul <ty> <var1>, <var2> ; yields {ty}:result +<result> = mul <ty> <op1>, <op2> ; yields {ty}:resultOverview:
The 'mul' instruction returns the product of its two @@ -2248,7 +2248,7 @@ width of the full product.
<result> = udiv <ty> <var1>, <var2> ; yields {ty}:result +<result> = udiv <ty> <op1>, <op2> ; yields {ty}:resultOverview:
The 'udiv' instruction returns the quotient of its two @@ -2276,7 +2276,7 @@ operations; for signed integer division, use 'sdiv'.
Syntax:
- <result> = sdiv <ty> <var1>, <var2> ; yields {ty}:result + <result> = sdiv <ty> <op1>, <op2> ; yields {ty}:resultOverview:
@@ -2307,7 +2307,7 @@ InstructionSyntax:
- <result> = fdiv <ty> <var1>, <var2> ; yields {ty}:result + <result> = fdiv <ty> <op1>, <op2> ; yields {ty}:resultOverview:
@@ -2336,7 +2336,7 @@ of floating point values. Both arguments must have identical types.Syntax:
-<result> = urem <ty> <var1>, <var2> ; yields {ty}:result +<result> = urem <ty> <op1>, <op2> ; yields {ty}:resultOverview:
The 'urem' instruction returns the remainder from the @@ -2366,7 +2366,7 @@ distinct operations; for signed integer remainder, use 'srem'.
Syntax:
- <result> = srem <ty> <var1>, <var2> ; yields {ty}:result + <result> = srem <ty> <op1>, <op2> ; yields {ty}:resultOverview:
@@ -2385,8 +2385,8 @@ values. Both arguments must have identical types.Semantics:
This instruction returns the remainder of a division (where the result -has the same sign as the dividend, var1), not the modulo -operator (where the result has the same sign as the divisor, var2) of +has the same sign as the dividend, op1), not the modulo +operator (where the result has the same sign as the divisor, op2) of a value. For more information about the difference, see The Math Forum. For a table of how this is implemented in various languages, @@ -2412,7 +2412,7 @@ and the remainder.)
Syntax:
-<result> = frem <ty> <var1>, <var2> ; yields {ty}:result +<result> = frem <ty> <op1>, <op2> ; yields {ty}:resultOverview:
The 'frem' instruction returns the remainder from the @@ -2450,7 +2450,7 @@ and produce a single value. The resulting value is the same type as its operand Instruction
Syntax:
-<result> = shl <ty> <var1>, <var2> ; yields {ty}:result +<result> = shl <ty> <op1>, <op2> ; yields {ty}:resultOverview:
@@ -2462,13 +2462,13 @@ the left a specified number of bits.Both arguments to the 'shl' instruction must be the same integer or vector of integer -type. 'var2' is treated as an unsigned value.
+type. 'op2' is treated as an unsigned value.Semantics:
-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.
+The value produced is op1 * 2op2 mod 2n, +where n is the width of the result. If op2 is (statically or dynamically) negative or +equal to or larger than the number of bits in op1, the result is undefined.
Example:
<result> = shl i32 4, %var ; yields {i32}: 4 << %var @@ -2482,7 +2482,7 @@ equal to or larger than the number of bits in var1, the result is undef InstructionSyntax:
-<result> = lshr <ty> <var1>, <var2> ; yields {ty}:result +<result> = lshr <ty> <op1>, <op2> ; yields {ty}:resultOverview:
@@ -2492,14 +2492,14 @@ operand shifted to the right a specified number of bits with zero fill.Arguments:
Both arguments to the 'lshr' instruction must be the same integer or vector of integer -type. 'var2' is treated as an unsigned value.
+type. 'op2' is treated as an unsigned value.Semantics:
This instruction always performs a logical shift right operation. The most significant bits of the result will be filled with zero bits after the -shift. If var2 is (statically or dynamically) equal to or larger than -the number of bits in var1, the result is undefined.
+shift. If op2 is (statically or dynamically) equal to or larger than +the number of bits in op1, the result is undefined.Example:
@@ -2517,7 +2517,7 @@ InstructionSyntax:
-<result> = ashr <ty> <var1>, <var2> ; yields {ty}:result +<result> = ashr <ty> <op1>, <op2> ; yields {ty}:resultOverview:
@@ -2527,13 +2527,13 @@ operand shifted to the right a specified number of bits with sign extension.Arguments:
Both arguments to the 'ashr' instruction must be the same integer or vector of integer -type. 'var2' is treated as an unsigned value.
+type. 'op2' is treated as an unsigned value.Semantics:
This instruction always performs an arithmetic shift right operation, The most significant bits of the result will be filled with the sign bit -of var1. If var2 is (statically or dynamically) equal to or -larger than the number of bits in var1, the result is undefined. +of op1. If op2 is (statically or dynamically) equal to or +larger than the number of bits in op1, the result is undefined.
Example:
@@ -2555,7 +2555,7 @@ InstructionSyntax:
- <result> = and <ty> <var1>, <var2> ; yields {ty}:result + <result> = and <ty> <op1>, <op2> ; yields {ty}:resultOverview:
@@ -2614,7 +2614,7 @@ values. Both arguments must have identical types.Syntax:
-<result> = or <ty> <var1>, <var2> ; yields {ty}:result +<result> = or <ty> <op1>, <op2> ; yields {ty}:resultOverview:
The 'or' instruction returns the bitwise logical inclusive @@ -2669,7 +2669,7 @@ values. Both arguments must have identical types.
InstructionSyntax:
-<result> = xor <ty> <var1>, <var2> ; yields {ty}:result +<result> = xor <ty> <op1>, <op2> ; yields {ty}:resultOverview:
The 'xor' instruction returns the bitwise logical exclusive @@ -3805,7 +3805,7 @@ instructions, which defy better classification.
Syntax:
-<result> = icmp <cond> <ty> <var1>, <var2> ; yields {i1}:result +<result> = icmp <cond> <ty> <op1>, <op2> ; yields {i1}:resultOverview:
The 'icmp' instruction returns a boolean value based on comparison @@ -3829,7 +3829,7 @@ a value, just a keyword. The possible condition code are:
The remaining two arguments must be integer or pointer typed. They must also be identical types.
Semantics:
-The 'icmp' compares var1 and var2 according to +
The 'icmp' compares op1 and op2 according to the condition code given as cond. The comparison performed always yields a i1 result, as follows:
@@ -3839,21 +3839,21 @@ yields a i1 result, as follows:
- ne: yields true if the operands are unequal, false otherwise. No sign interpretation is necessary or performed.
- ugt: interprets the operands as unsigned values and yields - true if var1 is greater than var2.
+ true if op1 is greater than op2.- uge: interprets the operands as unsigned values and yields - true if var1 is greater than or equal to var2.
+ true if op1 is greater than or equal to op2.- ult: interprets the operands as unsigned values and yields - true if var1 is less than var2.
+ true if op1 is less than op2.- ule: interprets the operands as unsigned values and yields - true if var1 is less than or equal to var2.
+ true if op1 is less than or equal to op2.- sgt: interprets the operands as signed values and yields - true if var1 is greater than var2.
+ true if op1 is greater than op2.- sge: interprets the operands as signed values and yields - true if var1 is greater than or equal to var2.
+ true if op1 is greater than or equal to op2.- slt: interprets the operands as signed values and yields - true if var1 is less than var2.
+ true if op1 is less than op2.- sle: interprets the operands as signed values and yields - true if var1 is less than or equal to var2.
+ true if op1 is less than or equal to op2.If the operands are pointer typed, the pointer values are compared as if they were integers.
@@ -3873,7 +3873,7 @@ values are compared as if they were integers.Syntax:
-<result> = fcmp <cond> <ty> <var1>, <var2> ; yields {i1}:result +<result> = fcmp <cond> <ty> <op1>, <op2> ; yields {i1}:resultOverview:
The 'fcmp' instruction returns a boolean value based on comparison @@ -3906,36 +3906,36 @@ a value, just a keyword. The possible condition code are: floating point typed. They must have identical types.
Semantics:
-The 'fcmp' instruction compares var1 and var2 +
The 'fcmp' instruction compares op1 and op2 according to the condition code given as cond. The comparison performed always yields a i1 result, as follows:
@@ -3954,7 +3954,7 @@ always yields a i1 result, as follows:
- false: always yields false, regardless of operands.
- oeq: yields true if both operands are not a QNAN and - var1 is equal to var2.
+ op1 is equal to op2.- ogt: yields true if both operands are not a QNAN and - var1 is greather than var2.
+ op1 is greather than op2.- oge: yields true if both operands are not a QNAN and - var1 is greater than or equal to var2.
+ op1 is greater than or equal to op2.- olt: yields true if both operands are not a QNAN and - var1 is less than var2.
+ op1 is less than op2.- ole: yields true if both operands are not a QNAN and - var1 is less than or equal to var2.
+ op1 is less than or equal to op2.- one: yields true if both operands are not a QNAN and - var1 is not equal to var2.
+ op1 is not equal to op2.- ord: yields true if both operands are not a QNAN.
- ueq: yields true if either operand is a QNAN or - var1 is equal to var2.
+ op1 is equal to op2.- ugt: yields true if either operand is a QNAN or - var1 is greater than var2.
+ op1 is greater than op2.- uge: yields true if either operand is a QNAN or - var1 is greater than or equal to var2.
+ op1 is greater than or equal to op2.- ult: yields true if either operand is a QNAN or - var1 is less than var2.
+ op1 is less than op2.- ule: yields true if either operand is a QNAN or - var1 is less than or equal to var2.
+ op1 is less than or equal to op2.- une: yields true if either operand is a QNAN or - var1 is not equal to var2.
+ op1 is not equal to op2.- uno: yields true if either operand is a QNAN.
- true: always yields true, regardless of operands.
Syntax:
-<result> = vicmp <cond> <ty> <var1>, <var2> ; yields {ty}:result +<result> = vicmp <cond> <ty> <op1>, <op2> ; yields {ty}:resultOverview:
The 'vicmp' instruction returns an integer vector value based on @@ -3978,7 +3978,7 @@ a value, just a keyword. The possible condition code are:
The remaining two arguments must be vector of integer typed. They must also be identical types.
Semantics:
-The 'vicmp' instruction compares var1 and var2 +
The 'vicmp' instruction compares op1 and op2 according to the condition code given as cond. The comparison yields a vector of integer result, of identical type as the values being compared. The most significant bit in each @@ -4000,7 +4000,7 @@ instruction.
Syntax:
-<result> = vfcmp <cond> <ty> <var1>, <var2>+<result> = vfcmp <cond> <ty> <op1>, <op2>Overview:
The 'vfcmp' instruction returns an integer vector value based on element-wise comparison of its two floating point vector operands. The output @@ -4031,7 +4031,7 @@ a value, just a keyword. The possible condition code are: floating point typed. They must also be identical types.
Semantics:
-The 'vfcmp' instruction compares var1 and var2 +
The 'vfcmp' instruction compares op1 and op2 according to the condition code given as cond. The comparison yields a vector of integer result, with an identical number of elements as the values being compared, and each element