summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/opcode_table.xml264
-rw-r--r--doc/table.xml340
-rw-r--r--testsuite/generate_xml_table2.c20
3 files changed, 567 insertions, 57 deletions
diff --git a/doc/opcode_table.xml b/doc/opcode_table.xml
index b20d9fe..40692ec 100644
--- a/doc/opcode_table.xml
+++ b/doc/opcode_table.xml
@@ -730,7 +730,7 @@
<entry>4</entry>
<entry>4</entry>
<entry>high bits of signed multiply</entry>
-<entry>(a * b) &gt;&gt; 8</entry>
+<entry>(a * b) &gt;&gt; 16</entry>
</row>
<row>
<entry>mulhul</entry>
@@ -738,7 +738,7 @@
<entry>4</entry>
<entry>4</entry>
<entry>high bits of unsigned multiply</entry>
-<entry>(a * b) &gt;&gt; 8</entry>
+<entry>(a * b) &gt;&gt; 16</entry>
</row>
<row>
<entry>orl</entry>
@@ -853,6 +853,102 @@
<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>
@@ -985,7 +1081,7 @@
<entry>2</entry>
<entry>4</entry>
<entry></entry>
-<entry>convert signed to unsigned with saturation</entry>
+<entry>convert signed to signed with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
@@ -993,7 +1089,7 @@
<entry>2</entry>
<entry>4</entry>
<entry></entry>
-<entry>convert signed to signed with saturation</entry>
+<entry>convert signed to unsigned with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
@@ -1001,7 +1097,7 @@
<entry>2</entry>
<entry>4</entry>
<entry></entry>
-<entry>convert unsigned to unsigned with saturation</entry>
+<entry>convert unsigned to signed with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
@@ -1009,7 +1105,7 @@
<entry>2</entry>
<entry>4</entry>
<entry></entry>
-<entry>convert unsigned to signed with saturation</entry>
+<entry>convert unsigned to unsigned with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
@@ -1017,15 +1113,15 @@
<entry>4</entry>
<entry>8</entry>
<entry></entry>
-<entry></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 unsigned with saturation</entry>
+<entry>convert signed to signed with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
@@ -1033,7 +1129,7 @@
<entry>4</entry>
<entry>8</entry>
<entry></entry>
-<entry>convert signed to signed with saturation</entry>
+<entry>convert signed to unsigned with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
@@ -1041,7 +1137,7 @@
<entry>4</entry>
<entry>8</entry>
<entry></entry>
-<entry>convert unsigned to unsigned with saturation</entry>
+<entry>convert unsigned to signed with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
@@ -1049,7 +1145,7 @@
<entry>4</entry>
<entry>8</entry>
<entry></entry>
-<entry>convert unsigned to signed with saturation</entry>
+<entry>convert unsigned to unsigned with saturation</entry>
<entry>clamp(a)</entry>
</row>
<row>
@@ -1125,6 +1221,30 @@
<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>
@@ -1173,6 +1293,14 @@
<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>
@@ -1284,6 +1412,118 @@
<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>
diff --git a/doc/table.xml b/doc/table.xml
index d914dbd..14beff6 100644
--- a/doc/table.xml
+++ b/doc/table.xml
@@ -17,7 +17,7 @@
<entry>absb</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -168,8 +168,8 @@
</row>
<row>
<entry>ldresnearl</entry>
-<entry>no</entry>
-<entry>no</entry>
+<entry>yes</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>no</entry>
<entry>no</entry>
@@ -186,8 +186,8 @@
</row>
<row>
<entry>ldreslinl</entry>
-<entry>no</entry>
-<entry>no</entry>
+<entry>yes</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>no</entry>
<entry>no</entry>
@@ -350,7 +350,7 @@
<entry>absw</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -449,7 +449,7 @@
<entry>div255w</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -647,7 +647,7 @@
<entry>absl</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -926,7 +926,7 @@
<entry>loadq</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -937,14 +937,14 @@
<entry>yes</entry>
<entry>no</entry>
<entry>no</entry>
-<entry>yes</entry>
+<entry>no</entry>
<entry>no</entry>
</row>
<row>
<entry>storeq</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -953,10 +953,118 @@
<entry>splatw3q</entry>
<entry>yes</entry>
<entry>yes</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>yes</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>copyq</entry>
+<entry>yes</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>cmpeqq</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>cmpgtsq</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>andq</entry>
+<entry>yes</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>andnq</entry>
+<entry>yes</entry>
<entry>yes</entry>
<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>orq</entry>
+<entry>yes</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>xorq</entry>
+<entry>yes</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>addq</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>subq</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>shlq</entry>
+<entry>yes</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>shrsq</entry>
+<entry>yes</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>shruq</entry>
+<entry>yes</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
</row>
<row>
<entry>convsbw</entry>
@@ -980,7 +1088,7 @@
<entry>splatbw</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -989,7 +1097,7 @@
<entry>splatbl</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1016,7 +1124,7 @@
<entry>convslq</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1025,7 +1133,7 @@
<entry>convulq</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1043,7 +1151,7 @@
<entry>convhwb</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1097,7 +1205,7 @@
<entry>convhlw</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1142,7 +1250,7 @@
<entry>convql</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1250,7 +1358,7 @@
<entry>swapw</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>yes</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1259,25 +1367,52 @@
<entry>swapl</entry>
<entry>yes</entry>
<entry>yes</entry>
+<entry>yes</entry>
+<entry>yes</entry>
+<entry>yes</entry>
<entry>no</entry>
+</row>
+<row>
+<entry>swapwl</entry>
<entry>yes</entry>
<entry>yes</entry>
<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
</row>
<row>
-<entry>select0wb</entry>
+<entry>swapq</entry>
<entry>yes</entry>
<entry>yes</entry>
<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>swaplq</entry>
<entry>yes</entry>
<entry>yes</entry>
<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
</row>
<row>
-<entry>select1wb</entry>
+<entry>select0wb</entry>
+<entry>yes</entry>
+<entry>yes</entry>
+<entry>yes</entry>
<entry>yes</entry>
<entry>yes</entry>
<entry>no</entry>
+</row>
+<row>
+<entry>select1wb</entry>
+<entry>yes</entry>
+<entry>yes</entry>
+<entry>yes</entry>
<entry>yes</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1286,7 +1421,7 @@
<entry>select0lw</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>yes</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1295,7 +1430,7 @@
<entry>select1lw</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>yes</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1304,7 +1439,7 @@
<entry>mergewl</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>yes</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1313,16 +1448,25 @@
<entry>mergebw</entry>
<entry>yes</entry>
<entry>yes</entry>
+<entry>yes</entry>
<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
+</row>
+<row>
+<entry>splitql</entry>
+<entry>yes</entry>
<entry>yes</entry>
<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
</row>
<row>
<entry>splitlw</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1331,7 +1475,7 @@
<entry>splitwb</entry>
<entry>yes</entry>
<entry>yes</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1340,7 +1484,7 @@
<entry>addf</entry>
<entry>yes</entry>
<entry>no</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1349,7 +1493,7 @@
<entry>subf</entry>
<entry>yes</entry>
<entry>no</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1358,7 +1502,7 @@
<entry>mulf</entry>
<entry>yes</entry>
<entry>no</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1385,7 +1529,7 @@
<entry>maxf</entry>
<entry>yes</entry>
<entry>no</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1394,7 +1538,7 @@
<entry>minf</entry>
<entry>yes</entry>
<entry>no</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1403,7 +1547,7 @@
<entry>cmpeqf</entry>
<entry>yes</entry>
<entry>no</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1412,7 +1556,7 @@
<entry>cmpltf</entry>
<entry>yes</entry>
<entry>no</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>no</entry>
<entry>no</entry>
@@ -1421,7 +1565,7 @@
<entry>cmplef</entry>
<entry>yes</entry>
<entry>no</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>no</entry>
<entry>no</entry>
@@ -1430,7 +1574,7 @@
<entry>convfl</entry>
<entry>yes</entry>
<entry>no</entry>
-<entry>no</entry>
+<entry>yes</entry>
<entry>no</entry>
<entry>yes</entry>
<entry>no</entry>
@@ -1439,10 +1583,136 @@
<entry>convlf</entry>
<entry>yes</entry>
<entry>no</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>yes</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>addd</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
<entry>no</entry>
<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>subd</entry>
<entry>yes</entry>
<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>muld</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>divd</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>sqrtd</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>maxd</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>mind</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>cmpeqd</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>cmpltd</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>cmpled</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>convdl</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>convld</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>convfd</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+</row>
+<row>
+<entry>convdf</entry>
+<entry>yes</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
+<entry>no</entry>
</row>
</tbody>
</tgroup>
diff --git a/testsuite/generate_xml_table2.c b/testsuite/generate_xml_table2.c
index 9294e4b..750d840 100644
--- a/testsuite/generate_xml_table2.c
+++ b/testsuite/generate_xml_table2.c
@@ -163,8 +163,8 @@ struct a ops[] = {
{ "minsl", "(a &lt; b) ? a : b", "signed minimum" },
{ "minul", "(a &lt; b) ? a : b", "unsigned minimum" },
{ "mulll", "a * b", "low bits of multiply" },
- { "mulhsl", "(a * b) &gt;&gt; 8", "high bits of signed multiply" },
- { "mulhul", "(a * b) &gt;&gt; 8", "high bits of unsigned multiply" },
+ { "mulhsl", "(a * b) &gt;&gt; 16", "high bits of signed multiply" },
+ { "mulhul", "(a * b) &gt;&gt; 16", "high bits of unsigned multiply" },
{ "orl", "a | b", "bitwise or" },
{ "shll", "a &lt;&lt; b", "shift left" },
{ "shrsl", "a &gt;&gt; b", "signed shift right" },
@@ -185,10 +185,10 @@ struct a ops[] = {
{ "convusswb", "clamp(a)", "convert unsigned to signed with saturation" },
{ "convuuswb", "clamp(a)", "convert unsigned to unsigned with saturation" },
{ "convlw", "a", "convert" },
- { "convssslw", "clamp(a)", "convert signed to unsigned with saturation" },
- { "convsuslw", "clamp(a)", "convert signed to signed with saturation" },
- { "convusslw", "clamp(a)", "convert unsigned to unsigned with saturation" },
- { "convuuslw", "clamp(a)", "convert unsigned to signed with saturation" },
+ { "convssslw", "clamp(a)", "convert signed to signed with saturation" },
+ { "convsuslw", "clamp(a)", "convert signed to unsigned with saturation" },
+ { "convusslw", "clamp(a)", "convert unsigned to signed with saturation" },
+ { "convuuslw", "clamp(a)", "convert unsigned to unsigned with saturation" },
{ "mulsbw", "a * b", "multiply signed" },
{ "mulubw", "a * b", "multiply unsigned" },
{ "mulswl", "a * b", "multiply signed" },
@@ -254,10 +254,10 @@ struct a ops[] = {
{ "convulq", "a", "unsigned convert" },
{ "convhwb", "a>>8", "shift and convert" },
{ "convhlw", "a>>16", "shift and convert" },
- { "convsssql", "clamp(a)", "convert signed to unsigned with saturation" },
- { "convsusql", "clamp(a)", "convert signed to signed with saturation" },
- { "convussql", "clamp(a)", "convert unsigned to unsigned with saturation" },
- { "convuusql", "clamp(a)", "convert unsigned to signed with saturation" },
+ { "convsssql", "clamp(a)", "convert signed to signed with saturation" },
+ { "convsusql", "clamp(a)", "convert signed to unsigned with saturation" },
+ { "convussql", "clamp(a)", "convert unsigned to signed with saturation" },
+ { "convuusql", "clamp(a)", "convert unsigned to unsigned with saturation" },
};