-
Notifications
You must be signed in to change notification settings - Fork 160
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
10 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1349,6 +1349,10 @@ <h2 id="bitwise-operations-1"><a class="header" href="#bitwise-operations-1">Bit | |
<tr><td>shr</td><td>Performs right shift of one unsigned 64-bit integer using the pow2 operation.<br /> The input value to be shifted is assumed to be represented using 32-bit limbs.<br /> The shift value should be in the range [0, 64), otherwise it will result in an error.<br /> The stack transition looks as follows:<br /> [b, a_hi, a_lo, ...] -> [c_hi, c_lo, ...], where c = a >> b.<br /> This takes 44 cycles.</td></tr> | ||
<tr><td>rotl</td><td>Performs left rotation of one unsigned 64-bit integer using the pow2 operation.<br /> The input value to be shifted is assumed to be represented using 32-bit limbs.<br /> The shift value should be in the range [0, 64), otherwise it will result in an error.<br /> The stack transition looks as follows:<br /> [b, a_hi, a_lo, ...] -> [c_hi, c_lo, ...], where c = a << b mod 2^64.<br /> This takes 35 cycles.</td></tr> | ||
<tr><td>rotr</td><td>Performs right rotation of one unsigned 64-bit integer using the pow2 operation.<br /> The input value to be shifted is assumed to be represented using 32-bit limbs.<br /> The shift value should be in the range [0, 64), otherwise it will result in an error.<br /> The stack transition looks as follows:<br /> [b, a_hi, a_lo, ...] -> [c_hi, c_lo, ...], where c = a << b mod 2^64.<br /> This takes 40 cycles.</td></tr> | ||
<tr><td>clz</td><td>Counts the number of leading zeros of one unsigned 64-bit integer.<br /> The input value is assumed to be represented using 32 bit limbs, but this is not checked.<br /> The stack transition looks as follows: <code>[n_hi, n_lo, ...] -> [clz, ...]</code>, where <code>clz</code> is a number of leading zeros of value <code>n</code>.<br /> This takes 43 cycles.</td></tr> | ||
<tr><td>ctz</td><td>Counts the number of trailing zeros of one unsigned 64-bit integer.<br /> The input value is assumed to be represented using 32 bit limbs, but this is not checked.<br /> The stack transition looks as follows: <code>[n_hi, n_lo, ...] -> [ctz, ...]</code>, where <code>ctz</code> is a number of trailing zeros of value <code>n</code>.<br /> This takes 41 cycles.</td></tr> | ||
<tr><td>clo</td><td>Counts the number of leading ones of one unsigned 64-bit integer.<br /> The input value is assumed to be represented using 32 bit limbs, but this is not checked.<br /> The stack transition looks as follows: <code>[n_hi, n_lo, ...] -> [clo, ...]</code>, where <code>clo</code> is a number of leading ones of value <code>n</code>.<br /> This takes 42 cycles.</td></tr> | ||
<tr><td>cto</td><td>Counts the number of trailing ones of one unsigned 64-bit integer.<br /> The input value is assumed to be represented using 32 bit limbs, but this is not checked.<br /> The stack transition looks as follows: <code>[n_hi, n_lo, ...] -> [cto, ...]</code>, where <code>cto</code> is a number of trailing ones of value <code>n</code>.<br /> This takes 40 cycles.</td></tr> | ||
</tbody></table> | ||
</div><div style="break-before: page; page-break-before: always;"></div><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css" integrity="sha384-AfEj0r4/OFrOo5t7NnNe46zW/tFgW6x/bCJG8FqQCEo3+Aro6EYUG4+cU+KJWu/X" crossorigin="anonymous"> | ||
<h1 id="memory-procedures"><a class="header" href="#memory-procedures">Memory procedures</a></h1> | ||
|
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters