<table frame="all" id="table-basictypes" xreflabel="Table of Opcodes">
<title>Table of Opcodes</title>
<tgroup cols="3" align="left" colsep="1" rowsep="1">
<thead>
<row>
<entry>opcode</entry>
<entry>destination size</entry>
<entry>source 1 size</entry>
<entry>source 2 size</entry>
<entry>description</entry>
<entry>pseudo code</entry>
</row>
</thead>
<tbody valign="top">
<row>
<entry>absb</entry>
<entry>1</entry>
<entry>1</entry>
<entry></entry>
<entry>absolute value</entry>
<entry>(a &lt; 0) ? -a : a</entry>
</row>
<row>
<entry>addb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>add</entry>
<entry>a + b</entry>
</row>
<row>
<entry>addssb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>add with signed saturate</entry>
<entry>clamp(a + b)</entry>
</row>
<row>
<entry>addusb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>add with unsigned saturate</entry>
<entry>clamp(a + b)</entry>
</row>
<row>
<entry>andb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>bitwise AND</entry>
<entry>a &amp; b</entry>
</row>
<row>
<entry>andnb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>bitwise AND NOT</entry>
<entry>a &amp; (~b)</entry>
</row>
<row>
<entry>avgsb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>signed average</entry>
<entry>(a + b + 1)&gt;&gt;1</entry>
</row>
<row>
<entry>avgub</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>unsigned average</entry>
<entry>(a + b + 1)&gt;&gt;1</entry>
</row>
<row>
<entry>cmpeqb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>compare equal</entry>
<entry>(a == b) ? (~0) : 0</entry>
</row>
<row>
<entry>cmpgtsb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>compare greater than</entry>
<entry>(a &gt; b) ? (~0) : 0</entry>
</row>
<row>
<entry>copyb</entry>
<entry>1</entry>
<entry>1</entry>
<entry></entry>
<entry>copy</entry>
<entry>a</entry>
</row>
<row>
<entry>loadb</entry>
<entry>1</entry>
<entry>1</entry>
<entry></entry>
<entry>load from memory</entry>
<entry>array[i]</entry>
</row>
<row>
<entry>loadoffb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>4S</entry>
<entry>load from memory with offset</entry>
<entry>array[i+offset]</entry>
</row>
<row>
<entry>loadupdb</entry>
<entry>1</entry>
<entry>1</entry>
<entry></entry>
<entry>load upsampled duplicate</entry>
<entry>array[i>>1]</entry>
</row>
<row>
<entry>loadupib</entry>
<entry>1</entry>
<entry>1</entry>
<entry></entry>
<entry>load upsampled interpolate</entry>
<entry>(array[i>>1] + array[(i+1)>>1] + 1)>>1</entry>
</row>
<row>
<entry>loadpb</entry>
<entry>1</entry>
<entry>1</entry>
<entry></entry>
<entry>load parameter or constant</entry>
<entry>scalar</entry>
</row>
<row>
<entry>ldresnearb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>4S</entry>
<entry>load, nearest neighbor resampled</entry>
<entry>array[(b+c*i)>>8]</entry>
</row>
<row>
<entry>ldresnearl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4S</entry>
<entry>load, nearest neighbor resampled</entry>
<entry>array[(b+c*i)>>8]</entry>
</row>
<row>
<entry>ldreslinb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>4S</entry>
<entry>load, bilinear resampled</entry>
<entry>special</entry>
</row>
<row>
<entry>ldreslinl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4S</entry>
<entry>load, bilinear resampled</entry>
<entry>special</entry>
</row>
<row>
<entry>maxsb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>signed maximum</entry>
<entry>(a &gt; b) ? a : b</entry>
</row>
<row>
<entry>maxub</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>unsigned maximum</entry>
<entry>(a &gt; b) ? a : b</entry>
</row>
<row>
<entry>minsb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>signed minimum</entry>
<entry>(a &lt; b) ? a : b</entry>
</row>
<row>
<entry>minub</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>unsigned minimum</entry>
<entry>(a &lt; b) ? a : b</entry>
</row>
<row>
<entry>mullb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>low bits of multiply</entry>
<entry>a * b</entry>
</row>
<row>
<entry>mulhsb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>high bits of signed multiply</entry>
<entry>(a * b) &gt;&gt; 8</entry>
</row>
<row>
<entry>mulhub</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>high bits of unsigned multiply</entry>
<entry>(a * b) &gt;&gt; 8</entry>
</row>
<row>
<entry>orb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>bitwise or</entry>
<entry>a | b</entry>
</row>
<row>
<entry>shlb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1S</entry>
<entry>shift left</entry>
<entry>a &lt;&lt; b</entry>
</row>
<row>
<entry>shrsb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1S</entry>
<entry>signed shift right</entry>
<entry>a &gt;&gt; b</entry>
</row>
<row>
<entry>shrub</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1S</entry>
<entry>unsigned shift right</entry>
<entry>a &gt;&gt; b</entry>
</row>
<row>
<entry>signb</entry>
<entry>1</entry>
<entry>1</entry>
<entry></entry>
<entry>sign</entry>
<entry>sign(a)</entry>
</row>
<row>
<entry>storeb</entry>
<entry>1</entry>
<entry>1</entry>
<entry></entry>
<entry>store to memory</entry>
<entry>special</entry>
</row>
<row>
<entry>subb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>subtract</entry>
<entry>a - b</entry>
</row>
<row>
<entry>subssb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>subtract with signed saturate</entry>
<entry>clamp(a - b)</entry>
</row>
<row>
<entry>subusb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>subtract with unsigned saturate</entry>
<entry>clamp(a - b)</entry>
</row>
<row>
<entry>xorb</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>bitwise XOR</entry>
<entry>a ^ b</entry>
</row>
<row>
<entry>absw</entry>
<entry>2</entry>
<entry>2</entry>
<entry></entry>
<entry>absolute value</entry>
<entry>(a &lt; 0) ? -a : a</entry>
</row>
<row>
<entry>addw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>add</entry>
<entry>a + b</entry>
</row>
<row>
<entry>addssw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>add with signed saturate</entry>
<entry>clamp(a + b)</entry>
</row>
<row>
<entry>addusw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>add with unsigned saturate</entry>
<entry>clamp(a + b)</entry>
</row>
<row>
<entry>andw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>bitwise AND</entry>
<entry>a &amp; b</entry>
</row>
<row>
<entry>andnw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>bitwise AND NOT</entry>
<entry>a &amp; (~b)</entry>
</row>
<row>
<entry>avgsw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>signed average</entry>
<entry>(a + b + 1)&gt;&gt;1</entry>
</row>
<row>
<entry>avguw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>unsigned average</entry>
<entry>(a + b + 1)&gt;&gt;1</entry>
</row>
<row>
<entry>cmpeqw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>compare equal</entry>
<entry>(a == b) ? (~0) : 0</entry>
</row>
<row>
<entry>cmpgtsw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>compare greater than</entry>
<entry>(a &gt; b) ? (~0) : 0</entry>
</row>
<row>
<entry>copyw</entry>
<entry>2</entry>
<entry>2</entry>
<entry></entry>
<entry>copy</entry>
<entry>a</entry>
</row>
<row>
<entry>div255w</entry>
<entry>2</entry>
<entry>2</entry>
<entry></entry>
<entry>divide by 255</entry>
<entry>a/255</entry>
</row>
<row>
<entry>divluw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>saturated unsigned divide 16-bit by 8-bit</entry>
<entry>clamp(a/(b &amp; 255),0,255)</entry>
</row>
<row>
<entry>loadw</entry>
<entry>2</entry>
<entry>2</entry>
<entry></entry>
<entry>load from memory</entry>
<entry>array[i]</entry>
</row>
<row>
<entry>loadoffw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>4S</entry>
<entry>load from memory with offset</entry>
<entry>array[i+offset]</entry>
</row>
<row>
<entry>loadpw</entry>
<entry>2</entry>
<entry>2</entry>
<entry></entry>
<entry>load parameter or constant</entry>
<entry>scalar</entry>
</row>
<row>
<entry>maxsw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>signed maximum</entry>
<entry>(a &gt; b) ? a : b</entry>
</row>
<row>
<entry>maxuw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>unsigned maximum</entry>
<entry>(a &gt; b) ? a : b</entry>
</row>
<row>
<entry>minsw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>signed minimum</entry>
<entry>(a &lt; b) ? a : b</entry>
</row>
<row>
<entry>minuw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>unsigned minimum</entry>
<entry>(a &lt; b) ? a : b</entry>
</row>
<row>
<entry>mullw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>low bits of multiply</entry>
<entry>a * b</entry>
</row>
<row>
<entry>mulhsw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>high bits of signed multiply</entry>
<entry>(a * b) &gt;&gt; 8</entry>
</row>
<row>
<entry>mulhuw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>high bits of unsigned multiply</entry>
<entry>(a * b) &gt;&gt; 8</entry>
</row>
<row>
<entry>orw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>bitwise or</entry>
<entry>a | b</entry>
</row>
<row>
<entry>shlw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2S</entry>
<entry>shift left</entry>
<entry>a &lt;&lt; b</entry>
</row>
<row>
<entry>shrsw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2S</entry>
<entry>signed shift right</entry>
<entry>a &gt;&gt; b</entry>
</row>
<row>
<entry>shruw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2S</entry>
<entry>unsigned shift right</entry>
<entry>a &gt;&gt; b</entry>
</row>
<row>
<entry>signw</entry>
<entry>2</entry>
<entry>2</entry>
<entry></entry>
<entry>sign</entry>
<entry>sign(a)</entry>
</row>
<row>
<entry>storew</entry>
<entry>2</entry>
<entry>2</entry>
<entry></entry>
<entry>store to memory</entry>
<entry>special</entry>
</row>
<row>
<entry>subw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>subtract</entry>
<entry>a - b</entry>
</row>
<row>
<entry>subssw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>subtract with signed saturate</entry>
<entry>clamp(a - b)</entry>
</row>
<row>
<entry>subusw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>subtract with unsigned saturate</entry>
<entry>clamp(a - b)</entry>
</row>
<row>
<entry>xorw</entry>
<entry>2</entry>
<entry>2</entry>
<entry>2</entry>
<entry>bitwise XOR</entry>
<entry>a ^ b</entry>
</row>
<row>
<entry>absl</entry>
<entry>4</entry>
<entry>4</entry>
<entry></entry>
<entry>absolute value</entry>
<entry>(a &lt; 0) ? -a : a</entry>
</row>
<row>
<entry>addl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>add</entry>
<entry>a + b</entry>
</row>
<row>
<entry>addssl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>add with signed saturate</entry>
<entry>clamp(a + b)</entry>
</row>
<row>
<entry>addusl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>add with unsigned saturate</entry>
<entry>clamp(a + b)</entry>
</row>
<row>
<entry>andl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>bitwise AND</entry>
<entry>a &amp; b</entry>
</row>
<row>
<entry>andnl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>bitwise AND NOT</entry>
<entry>a &amp; (~b)</entry>
</row>
<row>
<entry>avgsl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>signed average</entry>
<entry>(a + b + 1)&gt;&gt;1</entry>
</row>
<row>
<entry>avgul</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>unsigned average</entry>
<entry>(a + b + 1)&gt;&gt;1</entry>
</row>
<row>
<entry>cmpeql</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>compare equal</entry>
<entry>(a == b) ? (~0) : 0</entry>
</row>
<row>
<entry>cmpgtsl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>compare greater than</entry>
<entry>(a &gt; b) ? (~0) : 0</entry>
</row>
<row>
<entry>copyl</entry>
<entry>4</entry>
<entry>4</entry>
<entry></entry>
<entry>copy</entry>
<entry>a</entry>
</row>
<row>
<entry>loadl</entry>
<entry>4</entry>
<entry>4</entry>
<entry></entry>
<entry>load from memory</entry>
<entry>array[i]</entry>
</row>
<row>
<entry>loadoffl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4S</entry>
<entry>load from memory with offset</entry>
<entry>array[i+offset]</entry>
</row>
<row>
<entry>loadpl</entry>
<entry>4</entry>
<entry>4</entry>
<entry></entry>
<entry>load parameter or constant</entry>
<entry>scalar</entry>
</row>
<row>
<entry>maxsl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>signed maximum</entry>
<entry>(a &gt; b) ? a : b</entry>
</row>
<row>
<entry>maxul</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>unsigned maximum</entry>
<entry>(a &gt; b) ? a : b</entry>
</row>
<row>
<entry>minsl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>signed minimum</entry>
<entry>(a &lt; b) ? a : b</entry>
</row>
<row>
<entry>minul</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>unsigned minimum</entry>
<entry>(a &lt; b) ? a : b</entry>
</row>
<row>
<entry>mulll</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>low bits of multiply</entry>
<entry>a * b</entry>
</row>
<row>
<entry>mulhsl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>high bits of signed multiply</entry>
<entry>(a * b) &gt;&gt; 16</entry>
</row>
<row>
<entry>mulhul</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>high bits of unsigned multiply</entry>
<entry>(a * b) &gt;&gt; 16</entry>
</row>
<row>
<entry>orl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>bitwise or</entry>
<entry>a | b</entry>
</row>
<row>
<entry>shll</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4S</entry>
<entry>shift left</entry>
<entry>a &lt;&lt; b</entry>
</row>
<row>
<entry>shrsl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4S</entry>
<entry>signed shift right</entry>
<entry>a &gt;&gt; b</entry>
</row>
<row>
<entry>shrul</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4S</entry>
<entry>unsigned shift right</entry>
<entry>a &gt;&gt; b</entry>
</row>
<row>
<entry>signl</entry>
<entry>4</entry>
<entry>4</entry>
<entry></entry>
<entry>sign</entry>
<entry>sign(a)</entry>
</row>
<row>
<entry>storel</entry>
<entry>4</entry>
<entry>4</entry>
<entry></entry>
<entry>store to memory</entry>
<entry>special</entry>
</row>
<row>
<entry>subl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>subtract</entry>
<entry>a - b</entry>
</row>
<row>
<entry>subssl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>subtract with signed saturate</entry>
<entry>clamp(a - b)</entry>
</row>
<row>
<entry>subusl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>subtract with unsigned saturate</entry>
<entry>clamp(a - b)</entry>
</row>
<row>
<entry>xorl</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>bitwise XOR</entry>
<entry>a ^ b</entry>
</row>
<row>
<entry>loadq</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry>load from memory</entry>
<entry>array[i]</entry>
</row>
<row>
<entry>loadpq</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry>load parameter or constant</entry>
<entry>scalar</entry>
</row>
<row>
<entry>storeq</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry>store to memory</entry>
<entry>special</entry>
</row>
<row>
<entry>splatw3q</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry>duplicates high 16-bits to lower 48 bits</entry>
<entry>special</entry>
</row>
<row>
<entry>copyq</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>cmpeqq</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>cmpgtsq</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>andq</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>andnq</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>orq</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>xorq</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>addq</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>subq</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>shlq</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8S</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>shrsq</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8S</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>shruq</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8S</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>convsbw</entry>
<entry>2</entry>
<entry>1</entry>
<entry></entry>
<entry>convert signed</entry>
<entry>a</entry>
</row>
<row>
<entry>convubw</entry>
<entry>2</entry>
<entry>1</entry>
<entry></entry>
<entry>convert unsigned</entry>
<entry>a</entry>
</row>
<row>
<entry>splatbw</entry>
<entry>2</entry>
<entry>1</entry>
<entry></entry>
<entry>duplicates 8 bits to both halfs of 16 bits</entry>
<entry>special</entry>
</row>
<row>
<entry>splatbl</entry>
<entry>4</entry>
<entry>1</entry>
<entry></entry>
<entry>duplicates 8 bits to all parts of 32 bits</entry>
<entry>special</entry>
</row>
<row>
<entry>convswl</entry>
<entry>4</entry>
<entry>2</entry>
<entry></entry>
<entry>convert signed</entry>
<entry>a</entry>
</row>
<row>
<entry>convuwl</entry>
<entry>4</entry>
<entry>2</entry>
<entry></entry>
<entry>convert unsigned</entry>
<entry>a</entry>
</row>
<row>
<entry>convslq</entry>
<entry>8</entry>
<entry>4</entry>
<entry></entry>
<entry>signed convert</entry>
<entry>a</entry>
</row>
<row>
<entry>convulq</entry>
<entry>8</entry>
<entry>4</entry>
<entry></entry>
<entry>unsigned convert</entry>
<entry>a</entry>
</row>
<row>
<entry>convwb</entry>
<entry>1</entry>
<entry>2</entry>
<entry></entry>
<entry>convert</entry>
<entry>a</entry>
</row>
<row>
<entry>convhwb</entry>
<entry>1</entry>
<entry>2</entry>
<entry></entry>
<entry>shift and convert</entry>
<entry>a>>8</entry>
</row>
<row>
<entry>convssswb</entry>
<entry>1</entry>
<entry>2</entry>
<entry></entry>
<entry>convert signed to signed with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
<entry>convsuswb</entry>
<entry>1</entry>
<entry>2</entry>
<entry></entry>
<entry>convert signed to unsigned with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
<entry>convusswb</entry>
<entry>1</entry>
<entry>2</entry>
<entry></entry>
<entry>convert unsigned to signed with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
<entry>convuuswb</entry>
<entry>1</entry>
<entry>2</entry>
<entry></entry>
<entry>convert unsigned to unsigned with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
<entry>convlw</entry>
<entry>2</entry>
<entry>4</entry>
<entry></entry>
<entry>convert</entry>
<entry>a</entry>
</row>
<row>
<entry>convhlw</entry>
<entry>2</entry>
<entry>4</entry>
<entry></entry>
<entry>shift and convert</entry>
<entry>a>>16</entry>
</row>
<row>
<entry>convssslw</entry>
<entry>2</entry>
<entry>4</entry>
<entry></entry>
<entry>convert signed to signed with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
<entry>convsuslw</entry>
<entry>2</entry>
<entry>4</entry>
<entry></entry>
<entry>convert signed to unsigned with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
<entry>convusslw</entry>
<entry>2</entry>
<entry>4</entry>
<entry></entry>
<entry>convert unsigned to signed with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
<entry>convuuslw</entry>
<entry>2</entry>
<entry>4</entry>
<entry></entry>
<entry>convert unsigned to unsigned with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
<entry>convql</entry>
<entry>4</entry>
<entry>8</entry>
<entry></entry>
<entry>convert</entry>
<entry>a</entry>
</row>
<row>
<entry>convsssql</entry>
<entry>4</entry>
<entry>8</entry>
<entry></entry>
<entry>convert signed to signed with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
<entry>convsusql</entry>
<entry>4</entry>
<entry>8</entry>
<entry></entry>
<entry>convert signed to unsigned with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
<entry>convussql</entry>
<entry>4</entry>
<entry>8</entry>
<entry></entry>
<entry>convert unsigned to signed with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
<entry>convuusql</entry>
<entry>4</entry>
<entry>8</entry>
<entry></entry>
<entry>convert unsigned to unsigned with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
<entry>mulsbw</entry>
<entry>2</entry>
<entry>1</entry>
<entry>1</entry>
<entry>multiply signed</entry>
<entry>a * b</entry>
</row>
<row>
<entry>mulubw</entry>
<entry>2</entry>
<entry>1</entry>
<entry>1</entry>
<entry>multiply unsigned</entry>
<entry>a * b</entry>
</row>
<row>
<entry>mulswl</entry>
<entry>4</entry>
<entry>2</entry>
<entry>2</entry>
<entry>multiply signed</entry>
<entry>a * b</entry>
</row>
<row>
<entry>muluwl</entry>
<entry>4</entry>
<entry>2</entry>
<entry>2</entry>
<entry>multiply unsigned</entry>
<entry>a * b</entry>
</row>
<row>
<entry>mulslq</entry>
<entry>8</entry>
<entry>4</entry>
<entry>4</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>mululq</entry>
<entry>8</entry>
<entry>4</entry>
<entry>4</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>accw</entry>
<entry>2</entry>
<entry>2</entry>
<entry></entry>
<entry>accumulate</entry>
<entry>+= a</entry>
</row>
<row>
<entry>accl</entry>
<entry>4</entry>
<entry>4</entry>
<entry></entry>
<entry>accumulate</entry>
<entry>+= a</entry>
</row>
<row>
<entry>accsadubl</entry>
<entry>4</entry>
<entry>1</entry>
<entry>1</entry>
<entry>accumulate absolute difference</entry>
<entry>+= abs(a - b)</entry>
</row>
<row>
<entry>swapw</entry>
<entry>2</entry>
<entry>2</entry>
<entry></entry>
<entry>endianness swap</entry>
<entry>special</entry>
</row>
<row>
<entry>swapl</entry>
<entry>4</entry>
<entry>4</entry>
<entry></entry>
<entry>endianness swap</entry>
<entry>special</entry>
</row>
<row>
<entry>swapwl</entry>
<entry>4</entry>
<entry>4</entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>swapq</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>swaplq</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>select0wb</entry>
<entry>1</entry>
<entry>2</entry>
<entry></entry>
<entry>select first half</entry>
<entry>special</entry>
</row>
<row>
<entry>select1wb</entry>
<entry>1</entry>
<entry>2</entry>
<entry></entry>
<entry>select second half</entry>
<entry>special</entry>
</row>
<row>
<entry>select0lw</entry>
<entry>2</entry>
<entry>4</entry>
<entry></entry>
<entry>select first half</entry>
<entry>special</entry>
</row>
<row>
<entry>select1lw</entry>
<entry>2</entry>
<entry>4</entry>
<entry></entry>
<entry>select second half</entry>
<entry>special</entry>
</row>
<row>
<entry>select0ql</entry>
<entry>4</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>select1ql</entry>
<entry>4</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>mergelq</entry>
<entry>8</entry>
<entry>4</entry>
<entry>4</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>mergewl</entry>
<entry>4</entry>
<entry>2</entry>
<entry>2</entry>
<entry>merge halves</entry>
<entry>special</entry>
</row>
<row>
<entry>mergebw</entry>
<entry>2</entry>
<entry>1</entry>
<entry>1</entry>
<entry>merge halves</entry>
<entry>special</entry>
</row>
<row>
<entry>splitql</entry>
<entry>4</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>splitlw</entry>
<entry>2</entry>
<entry>4</entry>
<entry></entry>
<entry>split first/second words</entry>
<entry>special</entry>
</row>
<row>
<entry>splitwb</entry>
<entry>1</entry>
<entry>2</entry>
<entry></entry>
<entry>split first/second bytes</entry>
<entry>special</entry>
</row>
<row>
<entry>addf</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>add</entry>
<entry>a + b</entry>
</row>
<row>
<entry>subf</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>subtract</entry>
<entry>a - b</entry>
</row>
<row>
<entry>mulf</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>multiply</entry>
<entry>a * b</entry>
</row>
<row>
<entry>divf</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>divide</entry>
<entry>a / b</entry>
</row>
<row>
<entry>sqrtf</entry>
<entry>4</entry>
<entry>4</entry>
<entry></entry>
<entry>square root</entry>
<entry>sqrt(a)</entry>
</row>
<row>
<entry>maxf</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>maximum</entry>
<entry>max(a,b)</entry>
</row>
<row>
<entry>minf</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>minimum</entry>
<entry>min(a,b)</entry>
</row>
<row>
<entry>cmpeqf</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>compare equal</entry>
<entry>(a == b) ? (~0) : 0</entry>
</row>
<row>
<entry>cmpltf</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>compare less than</entry>
<entry>(a == b) ? (~0) : 0</entry>
</row>
<row>
<entry>cmplef</entry>
<entry>4</entry>
<entry>4</entry>
<entry>4</entry>
<entry>compare less than or equal</entry>
<entry>(a == b) ? (~0) : 0</entry>
</row>
<row>
<entry>convfl</entry>
<entry>4</entry>
<entry>4</entry>
<entry></entry>
<entry>convert float point to integer</entry>
<entry>a</entry>
</row>
<row>
<entry>convlf</entry>
<entry>4</entry>
<entry>4</entry>
<entry></entry>
<entry>convert integer to floating point</entry>
<entry>a</entry>
</row>
<row>
<entry>addd</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>subd</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>muld</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>divd</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>sqrtd</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>maxd</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>mind</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>cmpeqd</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>cmpltd</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>cmpled</entry>
<entry>8</entry>
<entry>8</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>convdl</entry>
<entry>4</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>convld</entry>
<entry>8</entry>
<entry>4</entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>convfd</entry>
<entry>8</entry>
<entry>4</entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>convdf</entry>
<entry>4</entry>
<entry>8</entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
