documentation updates
authorDavid Schleef <ds@schleef.org>
Wed, 9 Jun 2010 03:22:37 +0000 (20:22 -0700)
committerDavid Schleef <ds@schleef.org>
Wed, 9 Jun 2010 23:19:49 +0000 (16:19 -0700)
doc/Makefile.am
doc/opcode_table.xml
doc/orc-docs.sgml
doc/table.xml
testsuite/generate_xml_table2.c

index d798fed..df67359 100644 (file)
@@ -100,3 +100,7 @@ if ENABLE_GTK_DOC
 endif
 
 -include $(top_srcdir)/git.mk
+
+update-www:
+       rsync -a html/* cooker.entropywave.com:/srv/code.entropywave.com/www/documentation/orc
+
index 2991eac..4bf216b 100644 (file)
@@ -4,9 +4,9 @@
 <thead>
 <row>
 <entry>opcode</entry>
-<entry>destination</entry>
-<entry>source 1</entry>
-<entry>source 2</entry>
+<entry>destination size</entry>
+<entry>source 1 size</entry>
+<entry>source 2 size</entry>
 <entry>description</entry>
 <entry>pseudo code</entry>
 </row>
 <entry>shlb</entry>
 <entry>1</entry>
 <entry>1</entry>
-<entry>1</entry>
+<entry>1S</entry>
 <entry>shift left</entry>
 <entry>a &lt;&lt; b</entry>
 </row>
 <entry>shrsb</entry>
 <entry>1</entry>
 <entry>1</entry>
-<entry>1</entry>
+<entry>1S</entry>
 <entry>signed shift right</entry>
 <entry>a &gt;&gt; b</entry>
 </row>
 <entry>shrub</entry>
 <entry>1</entry>
 <entry>1</entry>
-<entry>1</entry>
+<entry>1S</entry>
 <entry>unsigned shift right</entry>
 <entry>a &gt;&gt; b</entry>
 </row>
 <entry>shlw</entry>
 <entry>2</entry>
 <entry>2</entry>
-<entry>2</entry>
+<entry>2S</entry>
 <entry>shift left</entry>
 <entry>a &lt;&lt; b</entry>
 </row>
 <entry>shrsw</entry>
 <entry>2</entry>
 <entry>2</entry>
-<entry>2</entry>
+<entry>2S</entry>
 <entry>signed shift right</entry>
 <entry>a &gt;&gt; b</entry>
 </row>
 <entry>shruw</entry>
 <entry>2</entry>
 <entry>2</entry>
-<entry>2</entry>
+<entry>2S</entry>
 <entry>unsigned shift right</entry>
 <entry>a &gt;&gt; b</entry>
 </row>
 <entry>shll</entry>
 <entry>4</entry>
 <entry>4</entry>
-<entry>4</entry>
+<entry>4S</entry>
 <entry>shift left</entry>
 <entry>a &lt;&lt; b</entry>
 </row>
 <entry>shrsl</entry>
 <entry>4</entry>
 <entry>4</entry>
-<entry>4</entry>
+<entry>4S</entry>
 <entry>signed shift right</entry>
 <entry>a &gt;&gt; b</entry>
 </row>
 <entry>shrul</entry>
 <entry>4</entry>
 <entry>4</entry>
-<entry>4</entry>
+<entry>4S</entry>
 <entry>unsigned shift right</entry>
 <entry>a &gt;&gt; b</entry>
 </row>
 <entry>2</entry>
 <entry>4</entry>
 <entry></entry>
-<entry></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></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></entry>
-<entry></entry>
+<entry>add</entry>
+<entry>a + b</entry>
 </row>
 <row>
 <entry>subf</entry>
 <entry>4</entry>
 <entry>4</entry>
 <entry>4</entry>
-<entry></entry>
-<entry></entry>
+<entry>subtract</entry>
+<entry>a - b</entry>
 </row>
 <row>
 <entry>mulf</entry>
 <entry>4</entry>
 <entry>4</entry>
 <entry>4</entry>
-<entry></entry>
-<entry></entry>
+<entry>multiply</entry>
+<entry>a * b</entry>
 </row>
 <row>
 <entry>divf</entry>
 <entry>4</entry>
 <entry>4</entry>
 <entry>4</entry>
-<entry></entry>
-<entry></entry>
+<entry>divide</entry>
+<entry>a / b</entry>
 </row>
 <row>
 <entry>sqrtf</entry>
 <entry>4</entry>
 <entry>4</entry>
 <entry></entry>
-<entry></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></entry>
-<entry></entry>
+<entry>maximum</entry>
+<entry>max(a,b)</entry>
 </row>
 <row>
 <entry>minf</entry>
 <entry>4</entry>
 <entry>4</entry>
 <entry>4</entry>
-<entry></entry>
-<entry></entry>
+<entry>minimum</entry>
+<entry>min(a,b)</entry>
 </row>
 <row>
 <entry>cmpeqf</entry>
 <entry>4</entry>
 <entry>4</entry>
 <entry>4</entry>
-<entry></entry>
-<entry></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></entry>
-<entry></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></entry>
-<entry></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></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></entry>
-<entry></entry>
+<entry>convert integer to floating point</entry>
+<entry>a</entry>
 </row>
 </tbody>
 </tgroup>
index 28900d4..f031172 100644 (file)
@@ -10,7 +10,7 @@
     <releaseinfo>
       for Orc-&ORC_VERSION;.
       The latest version of this documentation can be found on-line at
-      <ulink role="online-location" url="http://www.schleef.org/orc/documentation/">http://www.schleef.org/orc/documentation/</ulink>.
+      <ulink role="online-location" url="http://code.entropywave.com/documentation/orc/">http://code.entropywave.com/documentation/orc/</ulink>.
     </releaseinfo>
   </bookinfo>
 
index ae4bb6d..601ca44 100644 (file)
@@ -1,6 +1,6 @@
 <table frame="all" id="table-basictypes" xreflabel="Table of Opcode Rule Coverage">
 <title>Table of Opcode Rule Coverage</title>
-<tgroup cols="6" align="left" colsep="1" rowsep="1">
+<tgroup cols="7" align="left" colsep="1" rowsep="1">
 <thead>
 <row>
 <entry>opcode name</entry>
@@ -8,6 +8,7 @@
 <entry>mmx</entry>
 <entry>altivec</entry>
 <entry>arm</entry>
+<entry>neon</entry>
 <entry>c64x-c</entry>
 </row>
 </thead>
@@ -19,6 +20,7 @@
 <entry>no</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>addb</entry>
@@ -27,6 +29,7 @@
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>addssb</entry>
@@ -35,6 +38,7 @@
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>addusb</entry>
@@ -43,6 +47,7 @@
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>andb</entry>
@@ -51,6 +56,7 @@
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>andnb</entry>
@@ -59,6 +65,7 @@
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>avgsb</entry>
@@ -67,6 +74,7 @@
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>avgub</entry>
@@ -75,6 +83,7 @@
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>cmpeqb</entry>
@@ -83,6 +92,7 @@
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>cmpgtsb</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>copyb</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>maxsb</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>maxub</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>minsb</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>minub</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>mullb</entry>
 <entry>no</entry>
 <entry>yes</entry>
 <entry>no</entry>
+<entry>yes</entry>
 <entry>no</entry>
 </row>
 <row>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>no</entry>
+<entry>no</entry>
 </row>
 <row>
 <entry>mulhub</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>no</entry>
+<entry>no</entry>
 </row>
 <row>
 <entry>orb</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>shlb</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
+<entry>no</entry>
 </row>
 <row>
 <entry>shrsb</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
+<entry>no</entry>
 </row>
 <row>
 <entry>shrub</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
+<entry>no</entry>
 </row>
 <row>
 <entry>signb</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>no</entry>
+<entry>no</entry>
 <entry>yes</entry>
 </row>
 <row>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>subssb</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>no</entry>
+<entry>yes</entry>
 <entry>no</entry>
 </row>
 <row>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>no</entry>
+<entry>yes</entry>
 <entry>no</entry>
 </row>
 <row>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>absw</entry>
 <entry>no</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>addw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>addssw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>addusw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>andw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>andnw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>avgsw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>avguw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>cmpeqw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>cmpgtsw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>copyw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>maxsw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>maxuw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>minsw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>minuw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>mullw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>mulhsw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>no</entry>
 <entry>yes</entry>
 </row>
 <row>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>orw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>shlw</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
-<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
 </row>
 <row>
 <entry>shrsw</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
-<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
 </row>
 <row>
 <entry>shruw</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
-<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
 </row>
 <row>
 <entry>signw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>subw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>subssw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>subusw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>xorw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>absl</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>addl</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>addssl</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>addusl</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>andl</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>andnl</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>avgsl</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>avgul</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>cmpeql</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>cmpgtsl</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>copyl</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>maxsl</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>maxul</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>minsl</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>minul</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>mulll</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>mulhsl</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
+<entry>no</entry>
 <entry>yes</entry>
 </row>
 <row>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
+<entry>no</entry>
 <entry>yes</entry>
 </row>
 <row>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>shll</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
-<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
 </row>
 <row>
 <entry>shrsl</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
-<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
 </row>
 <row>
 <entry>shrul</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
-<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
 </row>
 <row>
 <entry>signl</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>no</entry>
+<entry>no</entry>
 <entry>yes</entry>
 </row>
 <row>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>subssl</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>subusl</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>xorl</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>convsbw</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>convubw</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>convswl</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>convuwl</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>convwb</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>convssswb</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>convsuswb</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>convusswb</entry>
 <entry>no</entry>
 <entry>yes</entry>
 <entry>no</entry>
+<entry>no</entry>
 </row>
 <row>
 <entry>convuuswb</entry>
 <entry>no</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 <entry>no</entry>
 </row>
 <row>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>convssslw</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>convsuslw</entry>
 <entry>no</entry>
 <entry>yes</entry>
 <entry>no</entry>
+<entry>yes</entry>
 <entry>no</entry>
 </row>
 <row>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
+<entry>no</entry>
 </row>
 <row>
 <entry>convuuslw</entry>
 <entry>no</entry>
 <entry>yes</entry>
 <entry>no</entry>
+<entry>yes</entry>
 <entry>no</entry>
 </row>
 <row>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>mulubw</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>mulswl</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>muluwl</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>accw</entry>
 <entry>yes</entry>
 <entry>yes</entry>
-<entry>yes</entry>
 <entry>no</entry>
+<entry>no</entry>
+<entry>yes</entry>
 <entry>yes</entry>
 </row>
 <row>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>accsadubl</entry>
+<entry>no</entry>
 <entry>yes</entry>
-<entry>yes</entry>
-<entry>yes</entry>
+<entry>no</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>swapw</entry>
 <entry>no</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>swapl</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>select0wb</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>select1wb</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>select0lw</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>select1lw</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>mergewl</entry>
 <entry>yes</entry>
 <entry>yes</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>mergebw</entry>
 <entry>yes</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>splitlw</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
+<entry>no</entry>
 </row>
 <row>
 <entry>splitwb</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
+<entry>no</entry>
 </row>
 <row>
 <entry>addf</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>subf</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>mulf</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>divf</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
+<entry>no</entry>
 <entry>yes</entry>
 </row>
 <row>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
+<entry>no</entry>
 <entry>yes</entry>
 </row>
 <row>
 <entry>no</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>minf</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>cmpeqf</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>cmpltf</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
+<entry>no</entry>
 <entry>yes</entry>
 </row>
 <row>
 <entry>no</entry>
 <entry>no</entry>
 <entry>no</entry>
+<entry>no</entry>
 <entry>yes</entry>
 </row>
 <row>
 <entry>no</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 <row>
 <entry>convlf</entry>
 <entry>no</entry>
 <entry>no</entry>
 <entry>yes</entry>
+<entry>yes</entry>
 </row>
 </tbody>
 </tgroup>
index 3a45c1c..93a6fc9 100644 (file)
@@ -50,9 +50,9 @@ main (int argc, char *argv[])
 "<thead>\n"
 "<row>\n"
 "<entry>opcode</entry>\n"
-"<entry>destination</entry>\n"
-"<entry>source 1</entry>\n"
-"<entry>source 2</entry>\n"
+"<entry>destination size</entry>\n"
+"<entry>source 1 size</entry>\n"
+"<entry>source 2 size</entry>\n"
 "<entry>description</entry>\n"
 "<entry>pseudo code</entry>\n"
 "</row>\n"
@@ -67,7 +67,8 @@ main (int argc, char *argv[])
     printf("<entry>%d</entry>\n", opcode_set->opcodes[i].dest_size[0]);
     printf("<entry>%d</entry>\n", opcode_set->opcodes[i].src_size[0]);
     if (opcode_set->opcodes[i].src_size[1]) {
-      printf("<entry>%d</entry>\n", opcode_set->opcodes[i].src_size[1]);
+      printf("<entry>%d%s</entry>\n", opcode_set->opcodes[i].src_size[1],
+          (opcode_set->opcodes[i].flags & ORC_STATIC_OPCODE_SCALAR) ? "S" : "");
     } else {
       printf("<entry></entry>\n");
     }
@@ -203,7 +204,22 @@ struct a ops[] = {
 
   { "accw", "+= a", "accumulate" },
   { "accl", "+= a", "accumulate" },
-  { "accsadubl", "+= abs(a - b)", "accumulate absolute difference" }
+  { "accsadubl", "+= abs(a - b)", "accumulate absolute difference" },
+
+  { "splitlw" , "special", "split first/second words" },
+  { "splitwb" , "special", "split first/second bytes" },
+  { "addf", "a + b", "add" },
+  { "subf", "a - b", "subtract" },
+  { "mulf", "a * b", "multiply" },
+  { "divf", "a / b", "divide" },
+  { "sqrtf", "sqrt(a)", "square root" },
+  { "maxf", "max(a,b)", "maximum" },
+  { "minf", "min(a,b)", "minimum" },
+  { "cmpeqf", "(a == b) ? (~0) : 0", "compare equal" },
+  { "cmpltf", "(a == b) ? (~0) : 0", "compare less than" },
+  { "cmplef", "(a == b) ? (~0) : 0", "compare less than or equal" },
+  { "convfl", "a", "convert float point to integer" },
+  { "convlf", "a", "convert integer to floating point" }
 };