Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Harmony Wiki" for change notification.
The following page has been changed by Mikhail Fursov:
http://wiki.apache.org/harmony/Jitrino_OPT/opcodes

==== Bitwise: ====
* [:Jitrino_OPT/opcodes/And: Op_And]  A bitwise AND takes ''src1'' and ''src2'' operands
of equal size and performs the logical AND operation on each pair of corresponding bits storing
the result to ''dst''. In each pair, the result is 1 if the first bit is 1 AND the second
bit is 1. Otherwise, the result is 0. Modifiers: none
* [:Jitrino_OPT/opcodes/Or: Op_Or]  A bitwise OR takes ''src1'' and ''src2'' operands
of equal size and performs the logical OR operation on each pair of corresponding bits storing
the result to ''dst''. In each pair, the result is 1 if the first bit is 1 OR the second bit
is 1 OR both the first and the second bits are 1. Otherwise, the result is 0. Modifiers: none
 * [:Jitrino_OPT/opcodes/Xor: Op_Xor]
 * [:Jitrino_OPT/opcodes/Not: Op_Not]
 // Selection
 * [:Jitrino_OPT/opcodes/Select: Op_Select]  (src1 ? src2 : src3)
 // Conversion
 * [:Jitrino_OPT/opcodes/Conv: Op_Conv]  OverflowModifier, ExceptionModifier
 * [:Jitrino_OPT/opcodes/ConvZE: Op_ConvZE]  OverflowModifier, ExceptionModifier
 * [:Jitrino_OPT/opcodes/ConvUnmanaged: Op_ConvUnmanaged]  OverflowModifier, ExceptionModifier
 // Shift
+ * [:Jitrino_OPT/opcodes/Xor: Op_Xor]  A bitwise XOR takes ''src1'' and ''src2'' operands
of equal size and performs the logical XOR operation on each pair of corresponding bits storing
the result to ''dst''. In each pair, the result is 1 if the two bits are different, and 0
if they are the same. Modifiers: none
+ * [:Jitrino_OPT/opcodes/Not: Op_Not]  A bitwise NOT takes ''src1'' and performs the logical
NOT operation storing the result to ''dst''. For each bit that was 0 the result is 1. For
each bit that was 1 the results is 0. Modifiers: none
+ ==== Selection: ====
+ * [:Jitrino_OPT/opcodes/Select: Op_Select]  Selects a value: (''src1'' ? ''src2'' : ''src3'').
TODO: remove as unused
+ ==== Conversion: ====
+ * [:Jitrino_OPT/opcodes/Conv: Op_Conv]  Converts ''src1'' to ''dst'' using ''type'' information
provided as a parameter. Must not be used for conversion of managed pointers to Unmanaged
Pointers and via versa. Modifiers: OverflowModifier, ExceptionModifier
+ * [:Jitrino_OPT/opcodes/ConvZE: Op_ConvZE]  Converts ''src1'' to ''dst'' using ''type''
information provided as a parameter. If the size of ''dst'' of greater that the size of ''src1''
all extra bits are filled with 0. Must not be used for conversion of managed pointers to Unmanaged
Pointers and via versa. Modifiers: OverflowModifier, ExceptionModifier
+ * [:Jitrino_OPT/opcodes/ConvUnmanaged: Op_ConvUnmanaged]  Converts ''src1'' from managed
memory pointer type to unmanaged memory pointer type or via versa and stores the result of
conversion to ''dst''. Modifiers: none
+ ==== Shift: =====
* [:Jitrino_OPT/opcodes/Shladd: Op_Shladd]  no mods, 2nd operand must be LdConstant
* [:Jitrino_OPT/opcodes/Shl: Op_Shl]  ShiftMaskModifier
* [:Jitrino_OPT/opcodes/Shr: Op_Shr]  ShiftMaskModifier, SignedModifier
 // Comparison
+ ==== Comparison: ====
* [:Jitrino_OPT/opcodes/Cmp: Op_Cmp]  ComparisonModifier
* [:Jitrino_OPT/opcodes/Cmp3: Op_Cmp3]  3way compare, e.g.: ((s0>s1)?1:((s1>s0)?1:0)).
For floats, exactly 1 of the two comparisons is unordered; the modifier in the instruction
applies to the first test
