Initial commit to Gerrit
[profile/ivi/orc.git] / doc / opcode_table.xml
1 <table frame="all" id="table-basictypes" xreflabel="Table of Opcodes">
2 <title>Table of Opcodes</title>
3 <tgroup cols="3" align="left" colsep="1" rowsep="1">
4 <thead>
5 <row>
6 <entry>opcode</entry>
7 <entry>destination size</entry>
8 <entry>source 1 size</entry>
9 <entry>source 2 size</entry>
10 <entry>description</entry>
11 <entry>pseudo code</entry>
12 </row>
13 </thead>
14 <tbody valign="top">
15 <row>
16 <entry>absb</entry>
17 <entry>1</entry>
18 <entry>1</entry>
19 <entry></entry>
20 <entry>absolute value</entry>
21 <entry>(a &lt; 0) ? -a : a</entry>
22 </row>
23 <row>
24 <entry>addb</entry>
25 <entry>1</entry>
26 <entry>1</entry>
27 <entry>1</entry>
28 <entry>add</entry>
29 <entry>a + b</entry>
30 </row>
31 <row>
32 <entry>addssb</entry>
33 <entry>1</entry>
34 <entry>1</entry>
35 <entry>1</entry>
36 <entry>add with signed saturate</entry>
37 <entry>clamp(a + b)</entry>
38 </row>
39 <row>
40 <entry>addusb</entry>
41 <entry>1</entry>
42 <entry>1</entry>
43 <entry>1</entry>
44 <entry>add with unsigned saturate</entry>
45 <entry>clamp(a + b)</entry>
46 </row>
47 <row>
48 <entry>andb</entry>
49 <entry>1</entry>
50 <entry>1</entry>
51 <entry>1</entry>
52 <entry>bitwise AND</entry>
53 <entry>a &amp; b</entry>
54 </row>
55 <row>
56 <entry>andnb</entry>
57 <entry>1</entry>
58 <entry>1</entry>
59 <entry>1</entry>
60 <entry>bitwise AND NOT</entry>
61 <entry>a &amp; (~b)</entry>
62 </row>
63 <row>
64 <entry>avgsb</entry>
65 <entry>1</entry>
66 <entry>1</entry>
67 <entry>1</entry>
68 <entry>signed average</entry>
69 <entry>(a + b + 1)&gt;&gt;1</entry>
70 </row>
71 <row>
72 <entry>avgub</entry>
73 <entry>1</entry>
74 <entry>1</entry>
75 <entry>1</entry>
76 <entry>unsigned average</entry>
77 <entry>(a + b + 1)&gt;&gt;1</entry>
78 </row>
79 <row>
80 <entry>cmpeqb</entry>
81 <entry>1</entry>
82 <entry>1</entry>
83 <entry>1</entry>
84 <entry>compare equal</entry>
85 <entry>(a == b) ? (~0) : 0</entry>
86 </row>
87 <row>
88 <entry>cmpgtsb</entry>
89 <entry>1</entry>
90 <entry>1</entry>
91 <entry>1</entry>
92 <entry>compare greater than</entry>
93 <entry>(a &gt; b) ? (~0) : 0</entry>
94 </row>
95 <row>
96 <entry>copyb</entry>
97 <entry>1</entry>
98 <entry>1</entry>
99 <entry></entry>
100 <entry>copy</entry>
101 <entry>a</entry>
102 </row>
103 <row>
104 <entry>loadb</entry>
105 <entry>1</entry>
106 <entry>1</entry>
107 <entry></entry>
108 <entry>load from memory</entry>
109 <entry>array[i]</entry>
110 </row>
111 <row>
112 <entry>loadoffb</entry>
113 <entry>1</entry>
114 <entry>1</entry>
115 <entry>4S</entry>
116 <entry>load from memory with offset</entry>
117 <entry>array[i+offset]</entry>
118 </row>
119 <row>
120 <entry>loadupdb</entry>
121 <entry>1</entry>
122 <entry>1</entry>
123 <entry></entry>
124 <entry>load upsampled duplicate</entry>
125 <entry>array[i>>1]</entry>
126 </row>
127 <row>
128 <entry>loadupib</entry>
129 <entry>1</entry>
130 <entry>1</entry>
131 <entry></entry>
132 <entry>load upsampled interpolate</entry>
133 <entry>(array[i>>1] + array[(i+1)>>1] + 1)>>1</entry>
134 </row>
135 <row>
136 <entry>loadpb</entry>
137 <entry>1</entry>
138 <entry>1</entry>
139 <entry></entry>
140 <entry>load parameter or constant</entry>
141 <entry>scalar</entry>
142 </row>
143 <row>
144 <entry>ldresnearb</entry>
145 <entry>1</entry>
146 <entry>1</entry>
147 <entry>4S</entry>
148 <entry>load, nearest neighbor resampled</entry>
149 <entry>array[(b+c*i)>>8]</entry>
150 </row>
151 <row>
152 <entry>ldresnearl</entry>
153 <entry>4</entry>
154 <entry>4</entry>
155 <entry>4S</entry>
156 <entry>load, nearest neighbor resampled</entry>
157 <entry>array[(b+c*i)>>8]</entry>
158 </row>
159 <row>
160 <entry>ldreslinb</entry>
161 <entry>1</entry>
162 <entry>1</entry>
163 <entry>4S</entry>
164 <entry>load, bilinear resampled</entry>
165 <entry>special</entry>
166 </row>
167 <row>
168 <entry>ldreslinl</entry>
169 <entry>4</entry>
170 <entry>4</entry>
171 <entry>4S</entry>
172 <entry>load, bilinear resampled</entry>
173 <entry>special</entry>
174 </row>
175 <row>
176 <entry>maxsb</entry>
177 <entry>1</entry>
178 <entry>1</entry>
179 <entry>1</entry>
180 <entry>signed maximum</entry>
181 <entry>(a &gt; b) ? a : b</entry>
182 </row>
183 <row>
184 <entry>maxub</entry>
185 <entry>1</entry>
186 <entry>1</entry>
187 <entry>1</entry>
188 <entry>unsigned maximum</entry>
189 <entry>(a &gt; b) ? a : b</entry>
190 </row>
191 <row>
192 <entry>minsb</entry>
193 <entry>1</entry>
194 <entry>1</entry>
195 <entry>1</entry>
196 <entry>signed minimum</entry>
197 <entry>(a &lt; b) ? a : b</entry>
198 </row>
199 <row>
200 <entry>minub</entry>
201 <entry>1</entry>
202 <entry>1</entry>
203 <entry>1</entry>
204 <entry>unsigned minimum</entry>
205 <entry>(a &lt; b) ? a : b</entry>
206 </row>
207 <row>
208 <entry>mullb</entry>
209 <entry>1</entry>
210 <entry>1</entry>
211 <entry>1</entry>
212 <entry>low bits of multiply</entry>
213 <entry>a * b</entry>
214 </row>
215 <row>
216 <entry>mulhsb</entry>
217 <entry>1</entry>
218 <entry>1</entry>
219 <entry>1</entry>
220 <entry>high bits of signed multiply</entry>
221 <entry>(a * b) &gt;&gt; 8</entry>
222 </row>
223 <row>
224 <entry>mulhub</entry>
225 <entry>1</entry>
226 <entry>1</entry>
227 <entry>1</entry>
228 <entry>high bits of unsigned multiply</entry>
229 <entry>(a * b) &gt;&gt; 8</entry>
230 </row>
231 <row>
232 <entry>orb</entry>
233 <entry>1</entry>
234 <entry>1</entry>
235 <entry>1</entry>
236 <entry>bitwise or</entry>
237 <entry>a | b</entry>
238 </row>
239 <row>
240 <entry>shlb</entry>
241 <entry>1</entry>
242 <entry>1</entry>
243 <entry>1S</entry>
244 <entry>shift left</entry>
245 <entry>a &lt;&lt; b</entry>
246 </row>
247 <row>
248 <entry>shrsb</entry>
249 <entry>1</entry>
250 <entry>1</entry>
251 <entry>1S</entry>
252 <entry>signed shift right</entry>
253 <entry>a &gt;&gt; b</entry>
254 </row>
255 <row>
256 <entry>shrub</entry>
257 <entry>1</entry>
258 <entry>1</entry>
259 <entry>1S</entry>
260 <entry>unsigned shift right</entry>
261 <entry>a &gt;&gt; b</entry>
262 </row>
263 <row>
264 <entry>signb</entry>
265 <entry>1</entry>
266 <entry>1</entry>
267 <entry></entry>
268 <entry>sign</entry>
269 <entry>sign(a)</entry>
270 </row>
271 <row>
272 <entry>storeb</entry>
273 <entry>1</entry>
274 <entry>1</entry>
275 <entry></entry>
276 <entry>store to memory</entry>
277 <entry>special</entry>
278 </row>
279 <row>
280 <entry>subb</entry>
281 <entry>1</entry>
282 <entry>1</entry>
283 <entry>1</entry>
284 <entry>subtract</entry>
285 <entry>a - b</entry>
286 </row>
287 <row>
288 <entry>subssb</entry>
289 <entry>1</entry>
290 <entry>1</entry>
291 <entry>1</entry>
292 <entry>subtract with signed saturate</entry>
293 <entry>clamp(a - b)</entry>
294 </row>
295 <row>
296 <entry>subusb</entry>
297 <entry>1</entry>
298 <entry>1</entry>
299 <entry>1</entry>
300 <entry>subtract with unsigned saturate</entry>
301 <entry>clamp(a - b)</entry>
302 </row>
303 <row>
304 <entry>xorb</entry>
305 <entry>1</entry>
306 <entry>1</entry>
307 <entry>1</entry>
308 <entry>bitwise XOR</entry>
309 <entry>a ^ b</entry>
310 </row>
311 <row>
312 <entry>absw</entry>
313 <entry>2</entry>
314 <entry>2</entry>
315 <entry></entry>
316 <entry>absolute value</entry>
317 <entry>(a &lt; 0) ? -a : a</entry>
318 </row>
319 <row>
320 <entry>addw</entry>
321 <entry>2</entry>
322 <entry>2</entry>
323 <entry>2</entry>
324 <entry>add</entry>
325 <entry>a + b</entry>
326 </row>
327 <row>
328 <entry>addssw</entry>
329 <entry>2</entry>
330 <entry>2</entry>
331 <entry>2</entry>
332 <entry>add with signed saturate</entry>
333 <entry>clamp(a + b)</entry>
334 </row>
335 <row>
336 <entry>addusw</entry>
337 <entry>2</entry>
338 <entry>2</entry>
339 <entry>2</entry>
340 <entry>add with unsigned saturate</entry>
341 <entry>clamp(a + b)</entry>
342 </row>
343 <row>
344 <entry>andw</entry>
345 <entry>2</entry>
346 <entry>2</entry>
347 <entry>2</entry>
348 <entry>bitwise AND</entry>
349 <entry>a &amp; b</entry>
350 </row>
351 <row>
352 <entry>andnw</entry>
353 <entry>2</entry>
354 <entry>2</entry>
355 <entry>2</entry>
356 <entry>bitwise AND NOT</entry>
357 <entry>a &amp; (~b)</entry>
358 </row>
359 <row>
360 <entry>avgsw</entry>
361 <entry>2</entry>
362 <entry>2</entry>
363 <entry>2</entry>
364 <entry>signed average</entry>
365 <entry>(a + b + 1)&gt;&gt;1</entry>
366 </row>
367 <row>
368 <entry>avguw</entry>
369 <entry>2</entry>
370 <entry>2</entry>
371 <entry>2</entry>
372 <entry>unsigned average</entry>
373 <entry>(a + b + 1)&gt;&gt;1</entry>
374 </row>
375 <row>
376 <entry>cmpeqw</entry>
377 <entry>2</entry>
378 <entry>2</entry>
379 <entry>2</entry>
380 <entry>compare equal</entry>
381 <entry>(a == b) ? (~0) : 0</entry>
382 </row>
383 <row>
384 <entry>cmpgtsw</entry>
385 <entry>2</entry>
386 <entry>2</entry>
387 <entry>2</entry>
388 <entry>compare greater than</entry>
389 <entry>(a &gt; b) ? (~0) : 0</entry>
390 </row>
391 <row>
392 <entry>copyw</entry>
393 <entry>2</entry>
394 <entry>2</entry>
395 <entry></entry>
396 <entry>copy</entry>
397 <entry>a</entry>
398 </row>
399 <row>
400 <entry>div255w</entry>
401 <entry>2</entry>
402 <entry>2</entry>
403 <entry></entry>
404 <entry>divide by 255</entry>
405 <entry>a/255</entry>
406 </row>
407 <row>
408 <entry>divluw</entry>
409 <entry>2</entry>
410 <entry>2</entry>
411 <entry>2</entry>
412 <entry>saturated unsigned divide 16-bit by 8-bit</entry>
413 <entry>clamp(a/(b &amp; 255),0,255)</entry>
414 </row>
415 <row>
416 <entry>loadw</entry>
417 <entry>2</entry>
418 <entry>2</entry>
419 <entry></entry>
420 <entry>load from memory</entry>
421 <entry>array[i]</entry>
422 </row>
423 <row>
424 <entry>loadoffw</entry>
425 <entry>2</entry>
426 <entry>2</entry>
427 <entry>4S</entry>
428 <entry>load from memory with offset</entry>
429 <entry>array[i+offset]</entry>
430 </row>
431 <row>
432 <entry>loadpw</entry>
433 <entry>2</entry>
434 <entry>2</entry>
435 <entry></entry>
436 <entry>load parameter or constant</entry>
437 <entry>scalar</entry>
438 </row>
439 <row>
440 <entry>maxsw</entry>
441 <entry>2</entry>
442 <entry>2</entry>
443 <entry>2</entry>
444 <entry>signed maximum</entry>
445 <entry>(a &gt; b) ? a : b</entry>
446 </row>
447 <row>
448 <entry>maxuw</entry>
449 <entry>2</entry>
450 <entry>2</entry>
451 <entry>2</entry>
452 <entry>unsigned maximum</entry>
453 <entry>(a &gt; b) ? a : b</entry>
454 </row>
455 <row>
456 <entry>minsw</entry>
457 <entry>2</entry>
458 <entry>2</entry>
459 <entry>2</entry>
460 <entry>signed minimum</entry>
461 <entry>(a &lt; b) ? a : b</entry>
462 </row>
463 <row>
464 <entry>minuw</entry>
465 <entry>2</entry>
466 <entry>2</entry>
467 <entry>2</entry>
468 <entry>unsigned minimum</entry>
469 <entry>(a &lt; b) ? a : b</entry>
470 </row>
471 <row>
472 <entry>mullw</entry>
473 <entry>2</entry>
474 <entry>2</entry>
475 <entry>2</entry>
476 <entry>low bits of multiply</entry>
477 <entry>a * b</entry>
478 </row>
479 <row>
480 <entry>mulhsw</entry>
481 <entry>2</entry>
482 <entry>2</entry>
483 <entry>2</entry>
484 <entry>high bits of signed multiply</entry>
485 <entry>(a * b) &gt;&gt; 8</entry>
486 </row>
487 <row>
488 <entry>mulhuw</entry>
489 <entry>2</entry>
490 <entry>2</entry>
491 <entry>2</entry>
492 <entry>high bits of unsigned multiply</entry>
493 <entry>(a * b) &gt;&gt; 8</entry>
494 </row>
495 <row>
496 <entry>orw</entry>
497 <entry>2</entry>
498 <entry>2</entry>
499 <entry>2</entry>
500 <entry>bitwise or</entry>
501 <entry>a | b</entry>
502 </row>
503 <row>
504 <entry>shlw</entry>
505 <entry>2</entry>
506 <entry>2</entry>
507 <entry>2S</entry>
508 <entry>shift left</entry>
509 <entry>a &lt;&lt; b</entry>
510 </row>
511 <row>
512 <entry>shrsw</entry>
513 <entry>2</entry>
514 <entry>2</entry>
515 <entry>2S</entry>
516 <entry>signed shift right</entry>
517 <entry>a &gt;&gt; b</entry>
518 </row>
519 <row>
520 <entry>shruw</entry>
521 <entry>2</entry>
522 <entry>2</entry>
523 <entry>2S</entry>
524 <entry>unsigned shift right</entry>
525 <entry>a &gt;&gt; b</entry>
526 </row>
527 <row>
528 <entry>signw</entry>
529 <entry>2</entry>
530 <entry>2</entry>
531 <entry></entry>
532 <entry>sign</entry>
533 <entry>sign(a)</entry>
534 </row>
535 <row>
536 <entry>storew</entry>
537 <entry>2</entry>
538 <entry>2</entry>
539 <entry></entry>
540 <entry>store to memory</entry>
541 <entry>special</entry>
542 </row>
543 <row>
544 <entry>subw</entry>
545 <entry>2</entry>
546 <entry>2</entry>
547 <entry>2</entry>
548 <entry>subtract</entry>
549 <entry>a - b</entry>
550 </row>
551 <row>
552 <entry>subssw</entry>
553 <entry>2</entry>
554 <entry>2</entry>
555 <entry>2</entry>
556 <entry>subtract with signed saturate</entry>
557 <entry>clamp(a - b)</entry>
558 </row>
559 <row>
560 <entry>subusw</entry>
561 <entry>2</entry>
562 <entry>2</entry>
563 <entry>2</entry>
564 <entry>subtract with unsigned saturate</entry>
565 <entry>clamp(a - b)</entry>
566 </row>
567 <row>
568 <entry>xorw</entry>
569 <entry>2</entry>
570 <entry>2</entry>
571 <entry>2</entry>
572 <entry>bitwise XOR</entry>
573 <entry>a ^ b</entry>
574 </row>
575 <row>
576 <entry>absl</entry>
577 <entry>4</entry>
578 <entry>4</entry>
579 <entry></entry>
580 <entry>absolute value</entry>
581 <entry>(a &lt; 0) ? -a : a</entry>
582 </row>
583 <row>
584 <entry>addl</entry>
585 <entry>4</entry>
586 <entry>4</entry>
587 <entry>4</entry>
588 <entry>add</entry>
589 <entry>a + b</entry>
590 </row>
591 <row>
592 <entry>addssl</entry>
593 <entry>4</entry>
594 <entry>4</entry>
595 <entry>4</entry>
596 <entry>add with signed saturate</entry>
597 <entry>clamp(a + b)</entry>
598 </row>
599 <row>
600 <entry>addusl</entry>
601 <entry>4</entry>
602 <entry>4</entry>
603 <entry>4</entry>
604 <entry>add with unsigned saturate</entry>
605 <entry>clamp(a + b)</entry>
606 </row>
607 <row>
608 <entry>andl</entry>
609 <entry>4</entry>
610 <entry>4</entry>
611 <entry>4</entry>
612 <entry>bitwise AND</entry>
613 <entry>a &amp; b</entry>
614 </row>
615 <row>
616 <entry>andnl</entry>
617 <entry>4</entry>
618 <entry>4</entry>
619 <entry>4</entry>
620 <entry>bitwise AND NOT</entry>
621 <entry>a &amp; (~b)</entry>
622 </row>
623 <row>
624 <entry>avgsl</entry>
625 <entry>4</entry>
626 <entry>4</entry>
627 <entry>4</entry>
628 <entry>signed average</entry>
629 <entry>(a + b + 1)&gt;&gt;1</entry>
630 </row>
631 <row>
632 <entry>avgul</entry>
633 <entry>4</entry>
634 <entry>4</entry>
635 <entry>4</entry>
636 <entry>unsigned average</entry>
637 <entry>(a + b + 1)&gt;&gt;1</entry>
638 </row>
639 <row>
640 <entry>cmpeql</entry>
641 <entry>4</entry>
642 <entry>4</entry>
643 <entry>4</entry>
644 <entry>compare equal</entry>
645 <entry>(a == b) ? (~0) : 0</entry>
646 </row>
647 <row>
648 <entry>cmpgtsl</entry>
649 <entry>4</entry>
650 <entry>4</entry>
651 <entry>4</entry>
652 <entry>compare greater than</entry>
653 <entry>(a &gt; b) ? (~0) : 0</entry>
654 </row>
655 <row>
656 <entry>copyl</entry>
657 <entry>4</entry>
658 <entry>4</entry>
659 <entry></entry>
660 <entry>copy</entry>
661 <entry>a</entry>
662 </row>
663 <row>
664 <entry>loadl</entry>
665 <entry>4</entry>
666 <entry>4</entry>
667 <entry></entry>
668 <entry>load from memory</entry>
669 <entry>array[i]</entry>
670 </row>
671 <row>
672 <entry>loadoffl</entry>
673 <entry>4</entry>
674 <entry>4</entry>
675 <entry>4S</entry>
676 <entry>load from memory with offset</entry>
677 <entry>array[i+offset]</entry>
678 </row>
679 <row>
680 <entry>loadpl</entry>
681 <entry>4</entry>
682 <entry>4</entry>
683 <entry></entry>
684 <entry>load parameter or constant</entry>
685 <entry>scalar</entry>
686 </row>
687 <row>
688 <entry>maxsl</entry>
689 <entry>4</entry>
690 <entry>4</entry>
691 <entry>4</entry>
692 <entry>signed maximum</entry>
693 <entry>(a &gt; b) ? a : b</entry>
694 </row>
695 <row>
696 <entry>maxul</entry>
697 <entry>4</entry>
698 <entry>4</entry>
699 <entry>4</entry>
700 <entry>unsigned maximum</entry>
701 <entry>(a &gt; b) ? a : b</entry>
702 </row>
703 <row>
704 <entry>minsl</entry>
705 <entry>4</entry>
706 <entry>4</entry>
707 <entry>4</entry>
708 <entry>signed minimum</entry>
709 <entry>(a &lt; b) ? a : b</entry>
710 </row>
711 <row>
712 <entry>minul</entry>
713 <entry>4</entry>
714 <entry>4</entry>
715 <entry>4</entry>
716 <entry>unsigned minimum</entry>
717 <entry>(a &lt; b) ? a : b</entry>
718 </row>
719 <row>
720 <entry>mulll</entry>
721 <entry>4</entry>
722 <entry>4</entry>
723 <entry>4</entry>
724 <entry>low bits of multiply</entry>
725 <entry>a * b</entry>
726 </row>
727 <row>
728 <entry>mulhsl</entry>
729 <entry>4</entry>
730 <entry>4</entry>
731 <entry>4</entry>
732 <entry>high bits of signed multiply</entry>
733 <entry>(a * b) &gt;&gt; 16</entry>
734 </row>
735 <row>
736 <entry>mulhul</entry>
737 <entry>4</entry>
738 <entry>4</entry>
739 <entry>4</entry>
740 <entry>high bits of unsigned multiply</entry>
741 <entry>(a * b) &gt;&gt; 16</entry>
742 </row>
743 <row>
744 <entry>orl</entry>
745 <entry>4</entry>
746 <entry>4</entry>
747 <entry>4</entry>
748 <entry>bitwise or</entry>
749 <entry>a | b</entry>
750 </row>
751 <row>
752 <entry>shll</entry>
753 <entry>4</entry>
754 <entry>4</entry>
755 <entry>4S</entry>
756 <entry>shift left</entry>
757 <entry>a &lt;&lt; b</entry>
758 </row>
759 <row>
760 <entry>shrsl</entry>
761 <entry>4</entry>
762 <entry>4</entry>
763 <entry>4S</entry>
764 <entry>signed shift right</entry>
765 <entry>a &gt;&gt; b</entry>
766 </row>
767 <row>
768 <entry>shrul</entry>
769 <entry>4</entry>
770 <entry>4</entry>
771 <entry>4S</entry>
772 <entry>unsigned shift right</entry>
773 <entry>a &gt;&gt; b</entry>
774 </row>
775 <row>
776 <entry>signl</entry>
777 <entry>4</entry>
778 <entry>4</entry>
779 <entry></entry>
780 <entry>sign</entry>
781 <entry>sign(a)</entry>
782 </row>
783 <row>
784 <entry>storel</entry>
785 <entry>4</entry>
786 <entry>4</entry>
787 <entry></entry>
788 <entry>store to memory</entry>
789 <entry>special</entry>
790 </row>
791 <row>
792 <entry>subl</entry>
793 <entry>4</entry>
794 <entry>4</entry>
795 <entry>4</entry>
796 <entry>subtract</entry>
797 <entry>a - b</entry>
798 </row>
799 <row>
800 <entry>subssl</entry>
801 <entry>4</entry>
802 <entry>4</entry>
803 <entry>4</entry>
804 <entry>subtract with signed saturate</entry>
805 <entry>clamp(a - b)</entry>
806 </row>
807 <row>
808 <entry>subusl</entry>
809 <entry>4</entry>
810 <entry>4</entry>
811 <entry>4</entry>
812 <entry>subtract with unsigned saturate</entry>
813 <entry>clamp(a - b)</entry>
814 </row>
815 <row>
816 <entry>xorl</entry>
817 <entry>4</entry>
818 <entry>4</entry>
819 <entry>4</entry>
820 <entry>bitwise XOR</entry>
821 <entry>a ^ b</entry>
822 </row>
823 <row>
824 <entry>loadq</entry>
825 <entry>8</entry>
826 <entry>8</entry>
827 <entry></entry>
828 <entry>load from memory</entry>
829 <entry>array[i]</entry>
830 </row>
831 <row>
832 <entry>loadpq</entry>
833 <entry>8</entry>
834 <entry>8</entry>
835 <entry></entry>
836 <entry>load parameter or constant</entry>
837 <entry>scalar</entry>
838 </row>
839 <row>
840 <entry>storeq</entry>
841 <entry>8</entry>
842 <entry>8</entry>
843 <entry></entry>
844 <entry>store to memory</entry>
845 <entry>special</entry>
846 </row>
847 <row>
848 <entry>splatw3q</entry>
849 <entry>8</entry>
850 <entry>8</entry>
851 <entry></entry>
852 <entry>duplicates high 16-bits to lower 48 bits</entry>
853 <entry>special</entry>
854 </row>
855 <row>
856 <entry>copyq</entry>
857 <entry>8</entry>
858 <entry>8</entry>
859 <entry></entry>
860 <entry></entry>
861 <entry></entry>
862 </row>
863 <row>
864 <entry>cmpeqq</entry>
865 <entry>8</entry>
866 <entry>8</entry>
867 <entry>8</entry>
868 <entry></entry>
869 <entry></entry>
870 </row>
871 <row>
872 <entry>cmpgtsq</entry>
873 <entry>8</entry>
874 <entry>8</entry>
875 <entry>8</entry>
876 <entry></entry>
877 <entry></entry>
878 </row>
879 <row>
880 <entry>andq</entry>
881 <entry>8</entry>
882 <entry>8</entry>
883 <entry>8</entry>
884 <entry></entry>
885 <entry></entry>
886 </row>
887 <row>
888 <entry>andnq</entry>
889 <entry>8</entry>
890 <entry>8</entry>
891 <entry>8</entry>
892 <entry></entry>
893 <entry></entry>
894 </row>
895 <row>
896 <entry>orq</entry>
897 <entry>8</entry>
898 <entry>8</entry>
899 <entry>8</entry>
900 <entry></entry>
901 <entry></entry>
902 </row>
903 <row>
904 <entry>xorq</entry>
905 <entry>8</entry>
906 <entry>8</entry>
907 <entry>8</entry>
908 <entry></entry>
909 <entry></entry>
910 </row>
911 <row>
912 <entry>addq</entry>
913 <entry>8</entry>
914 <entry>8</entry>
915 <entry>8</entry>
916 <entry></entry>
917 <entry></entry>
918 </row>
919 <row>
920 <entry>subq</entry>
921 <entry>8</entry>
922 <entry>8</entry>
923 <entry>8</entry>
924 <entry></entry>
925 <entry></entry>
926 </row>
927 <row>
928 <entry>shlq</entry>
929 <entry>8</entry>
930 <entry>8</entry>
931 <entry>8S</entry>
932 <entry></entry>
933 <entry></entry>
934 </row>
935 <row>
936 <entry>shrsq</entry>
937 <entry>8</entry>
938 <entry>8</entry>
939 <entry>8S</entry>
940 <entry></entry>
941 <entry></entry>
942 </row>
943 <row>
944 <entry>shruq</entry>
945 <entry>8</entry>
946 <entry>8</entry>
947 <entry>8S</entry>
948 <entry></entry>
949 <entry></entry>
950 </row>
951 <row>
952 <entry>convsbw</entry>
953 <entry>2</entry>
954 <entry>1</entry>
955 <entry></entry>
956 <entry>convert signed</entry>
957 <entry>a</entry>
958 </row>
959 <row>
960 <entry>convubw</entry>
961 <entry>2</entry>
962 <entry>1</entry>
963 <entry></entry>
964 <entry>convert unsigned</entry>
965 <entry>a</entry>
966 </row>
967 <row>
968 <entry>splatbw</entry>
969 <entry>2</entry>
970 <entry>1</entry>
971 <entry></entry>
972 <entry>duplicates 8 bits to both halfs of 16 bits</entry>
973 <entry>special</entry>
974 </row>
975 <row>
976 <entry>splatbl</entry>
977 <entry>4</entry>
978 <entry>1</entry>
979 <entry></entry>
980 <entry>duplicates 8 bits to all parts of 32 bits</entry>
981 <entry>special</entry>
982 </row>
983 <row>
984 <entry>convswl</entry>
985 <entry>4</entry>
986 <entry>2</entry>
987 <entry></entry>
988 <entry>convert signed</entry>
989 <entry>a</entry>
990 </row>
991 <row>
992 <entry>convuwl</entry>
993 <entry>4</entry>
994 <entry>2</entry>
995 <entry></entry>
996 <entry>convert unsigned</entry>
997 <entry>a</entry>
998 </row>
999 <row>
1000 <entry>convslq</entry>
1001 <entry>8</entry>
1002 <entry>4</entry>
1003 <entry></entry>
1004 <entry>signed convert</entry>
1005 <entry>a</entry>
1006 </row>
1007 <row>
1008 <entry>convulq</entry>
1009 <entry>8</entry>
1010 <entry>4</entry>
1011 <entry></entry>
1012 <entry>unsigned convert</entry>
1013 <entry>a</entry>
1014 </row>
1015 <row>
1016 <entry>convwb</entry>
1017 <entry>1</entry>
1018 <entry>2</entry>
1019 <entry></entry>
1020 <entry>convert</entry>
1021 <entry>a</entry>
1022 </row>
1023 <row>
1024 <entry>convhwb</entry>
1025 <entry>1</entry>
1026 <entry>2</entry>
1027 <entry></entry>
1028 <entry>shift and convert</entry>
1029 <entry>a>>8</entry>
1030 </row>
1031 <row>
1032 <entry>convssswb</entry>
1033 <entry>1</entry>
1034 <entry>2</entry>
1035 <entry></entry>
1036 <entry>convert signed to signed with saturation</entry>
1037 <entry>clamp(a)</entry>
1038 </row>
1039 <row>
1040 <entry>convsuswb</entry>
1041 <entry>1</entry>
1042 <entry>2</entry>
1043 <entry></entry>
1044 <entry>convert signed to unsigned with saturation</entry>
1045 <entry>clamp(a)</entry>
1046 </row>
1047 <row>
1048 <entry>convusswb</entry>
1049 <entry>1</entry>
1050 <entry>2</entry>
1051 <entry></entry>
1052 <entry>convert unsigned to signed with saturation</entry>
1053 <entry>clamp(a)</entry>
1054 </row>
1055 <row>
1056 <entry>convuuswb</entry>
1057 <entry>1</entry>
1058 <entry>2</entry>
1059 <entry></entry>
1060 <entry>convert unsigned to unsigned with saturation</entry>
1061 <entry>clamp(a)</entry>
1062 </row>
1063 <row>
1064 <entry>convlw</entry>
1065 <entry>2</entry>
1066 <entry>4</entry>
1067 <entry></entry>
1068 <entry>convert</entry>
1069 <entry>a</entry>
1070 </row>
1071 <row>
1072 <entry>convhlw</entry>
1073 <entry>2</entry>
1074 <entry>4</entry>
1075 <entry></entry>
1076 <entry>shift and convert</entry>
1077 <entry>a>>16</entry>
1078 </row>
1079 <row>
1080 <entry>convssslw</entry>
1081 <entry>2</entry>
1082 <entry>4</entry>
1083 <entry></entry>
1084 <entry>convert signed to signed with saturation</entry>
1085 <entry>clamp(a)</entry>
1086 </row>
1087 <row>
1088 <entry>convsuslw</entry>
1089 <entry>2</entry>
1090 <entry>4</entry>
1091 <entry></entry>
1092 <entry>convert signed to unsigned with saturation</entry>
1093 <entry>clamp(a)</entry>
1094 </row>
1095 <row>
1096 <entry>convusslw</entry>
1097 <entry>2</entry>
1098 <entry>4</entry>
1099 <entry></entry>
1100 <entry>convert unsigned to signed with saturation</entry>
1101 <entry>clamp(a)</entry>
1102 </row>
1103 <row>
1104 <entry>convuuslw</entry>
1105 <entry>2</entry>
1106 <entry>4</entry>
1107 <entry></entry>
1108 <entry>convert unsigned to unsigned with saturation</entry>
1109 <entry>clamp(a)</entry>
1110 </row>
1111 <row>
1112 <entry>convql</entry>
1113 <entry>4</entry>
1114 <entry>8</entry>
1115 <entry></entry>
1116 <entry>convert</entry>
1117 <entry>a</entry>
1118 </row>
1119 <row>
1120 <entry>convsssql</entry>
1121 <entry>4</entry>
1122 <entry>8</entry>
1123 <entry></entry>
1124 <entry>convert signed to signed with saturation</entry>
1125 <entry>clamp(a)</entry>
1126 </row>
1127 <row>
1128 <entry>convsusql</entry>
1129 <entry>4</entry>
1130 <entry>8</entry>
1131 <entry></entry>
1132 <entry>convert signed to unsigned with saturation</entry>
1133 <entry>clamp(a)</entry>
1134 </row>
1135 <row>
1136 <entry>convussql</entry>
1137 <entry>4</entry>
1138 <entry>8</entry>
1139 <entry></entry>
1140 <entry>convert unsigned to signed with saturation</entry>
1141 <entry>clamp(a)</entry>
1142 </row>
1143 <row>
1144 <entry>convuusql</entry>
1145 <entry>4</entry>
1146 <entry>8</entry>
1147 <entry></entry>
1148 <entry>convert unsigned to unsigned with saturation</entry>
1149 <entry>clamp(a)</entry>
1150 </row>
1151 <row>
1152 <entry>mulsbw</entry>
1153 <entry>2</entry>
1154 <entry>1</entry>
1155 <entry>1</entry>
1156 <entry>multiply signed</entry>
1157 <entry>a * b</entry>
1158 </row>
1159 <row>
1160 <entry>mulubw</entry>
1161 <entry>2</entry>
1162 <entry>1</entry>
1163 <entry>1</entry>
1164 <entry>multiply unsigned</entry>
1165 <entry>a * b</entry>
1166 </row>
1167 <row>
1168 <entry>mulswl</entry>
1169 <entry>4</entry>
1170 <entry>2</entry>
1171 <entry>2</entry>
1172 <entry>multiply signed</entry>
1173 <entry>a * b</entry>
1174 </row>
1175 <row>
1176 <entry>muluwl</entry>
1177 <entry>4</entry>
1178 <entry>2</entry>
1179 <entry>2</entry>
1180 <entry>multiply unsigned</entry>
1181 <entry>a * b</entry>
1182 </row>
1183 <row>
1184 <entry>accw</entry>
1185 <entry>2</entry>
1186 <entry>2</entry>
1187 <entry></entry>
1188 <entry>accumulate</entry>
1189 <entry>+= a</entry>
1190 </row>
1191 <row>
1192 <entry>accl</entry>
1193 <entry>4</entry>
1194 <entry>4</entry>
1195 <entry></entry>
1196 <entry>accumulate</entry>
1197 <entry>+= a</entry>
1198 </row>
1199 <row>
1200 <entry>accsadubl</entry>
1201 <entry>4</entry>
1202 <entry>1</entry>
1203 <entry>1</entry>
1204 <entry>accumulate absolute difference</entry>
1205 <entry>+= abs(a - b)</entry>
1206 </row>
1207 <row>
1208 <entry>swapw</entry>
1209 <entry>2</entry>
1210 <entry>2</entry>
1211 <entry></entry>
1212 <entry>endianness swap</entry>
1213 <entry>special</entry>
1214 </row>
1215 <row>
1216 <entry>swapl</entry>
1217 <entry>4</entry>
1218 <entry>4</entry>
1219 <entry></entry>
1220 <entry>endianness swap</entry>
1221 <entry>special</entry>
1222 </row>
1223 <row>
1224 <entry>swapwl</entry>
1225 <entry>4</entry>
1226 <entry>4</entry>
1227 <entry></entry>
1228 <entry></entry>
1229 <entry></entry>
1230 </row>
1231 <row>
1232 <entry>swapq</entry>
1233 <entry>8</entry>
1234 <entry>8</entry>
1235 <entry></entry>
1236 <entry></entry>
1237 <entry></entry>
1238 </row>
1239 <row>
1240 <entry>swaplq</entry>
1241 <entry>8</entry>
1242 <entry>8</entry>
1243 <entry></entry>
1244 <entry></entry>
1245 <entry></entry>
1246 </row>
1247 <row>
1248 <entry>select0wb</entry>
1249 <entry>1</entry>
1250 <entry>2</entry>
1251 <entry></entry>
1252 <entry>select first half</entry>
1253 <entry>special</entry>
1254 </row>
1255 <row>
1256 <entry>select1wb</entry>
1257 <entry>1</entry>
1258 <entry>2</entry>
1259 <entry></entry>
1260 <entry>select second half</entry>
1261 <entry>special</entry>
1262 </row>
1263 <row>
1264 <entry>select0lw</entry>
1265 <entry>2</entry>
1266 <entry>4</entry>
1267 <entry></entry>
1268 <entry>select first half</entry>
1269 <entry>special</entry>
1270 </row>
1271 <row>
1272 <entry>select1lw</entry>
1273 <entry>2</entry>
1274 <entry>4</entry>
1275 <entry></entry>
1276 <entry>select second half</entry>
1277 <entry>special</entry>
1278 </row>
1279 <row>
1280 <entry>mergewl</entry>
1281 <entry>4</entry>
1282 <entry>2</entry>
1283 <entry>2</entry>
1284 <entry>merge halves</entry>
1285 <entry>special</entry>
1286 </row>
1287 <row>
1288 <entry>mergebw</entry>
1289 <entry>2</entry>
1290 <entry>1</entry>
1291 <entry>1</entry>
1292 <entry>merge halves</entry>
1293 <entry>special</entry>
1294 </row>
1295 <row>
1296 <entry>splitql</entry>
1297 <entry>4</entry>
1298 <entry>8</entry>
1299 <entry></entry>
1300 <entry></entry>
1301 <entry></entry>
1302 </row>
1303 <row>
1304 <entry>splitlw</entry>
1305 <entry>2</entry>
1306 <entry>4</entry>
1307 <entry></entry>
1308 <entry>split first/second words</entry>
1309 <entry>special</entry>
1310 </row>
1311 <row>
1312 <entry>splitwb</entry>
1313 <entry>1</entry>
1314 <entry>2</entry>
1315 <entry></entry>
1316 <entry>split first/second bytes</entry>
1317 <entry>special</entry>
1318 </row>
1319 <row>
1320 <entry>addf</entry>
1321 <entry>4</entry>
1322 <entry>4</entry>
1323 <entry>4</entry>
1324 <entry>add</entry>
1325 <entry>a + b</entry>
1326 </row>
1327 <row>
1328 <entry>subf</entry>
1329 <entry>4</entry>
1330 <entry>4</entry>
1331 <entry>4</entry>
1332 <entry>subtract</entry>
1333 <entry>a - b</entry>
1334 </row>
1335 <row>
1336 <entry>mulf</entry>
1337 <entry>4</entry>
1338 <entry>4</entry>
1339 <entry>4</entry>
1340 <entry>multiply</entry>
1341 <entry>a * b</entry>
1342 </row>
1343 <row>
1344 <entry>divf</entry>
1345 <entry>4</entry>
1346 <entry>4</entry>
1347 <entry>4</entry>
1348 <entry>divide</entry>
1349 <entry>a / b</entry>
1350 </row>
1351 <row>
1352 <entry>sqrtf</entry>
1353 <entry>4</entry>
1354 <entry>4</entry>
1355 <entry></entry>
1356 <entry>square root</entry>
1357 <entry>sqrt(a)</entry>
1358 </row>
1359 <row>
1360 <entry>maxf</entry>
1361 <entry>4</entry>
1362 <entry>4</entry>
1363 <entry>4</entry>
1364 <entry>maximum</entry>
1365 <entry>max(a,b)</entry>
1366 </row>
1367 <row>
1368 <entry>minf</entry>
1369 <entry>4</entry>
1370 <entry>4</entry>
1371 <entry>4</entry>
1372 <entry>minimum</entry>
1373 <entry>min(a,b)</entry>
1374 </row>
1375 <row>
1376 <entry>cmpeqf</entry>
1377 <entry>4</entry>
1378 <entry>4</entry>
1379 <entry>4</entry>
1380 <entry>compare equal</entry>
1381 <entry>(a == b) ? (~0) : 0</entry>
1382 </row>
1383 <row>
1384 <entry>cmpltf</entry>
1385 <entry>4</entry>
1386 <entry>4</entry>
1387 <entry>4</entry>
1388 <entry>compare less than</entry>
1389 <entry>(a == b) ? (~0) : 0</entry>
1390 </row>
1391 <row>
1392 <entry>cmplef</entry>
1393 <entry>4</entry>
1394 <entry>4</entry>
1395 <entry>4</entry>
1396 <entry>compare less than or equal</entry>
1397 <entry>(a == b) ? (~0) : 0</entry>
1398 </row>
1399 <row>
1400 <entry>convfl</entry>
1401 <entry>4</entry>
1402 <entry>4</entry>
1403 <entry></entry>
1404 <entry>convert float point to integer</entry>
1405 <entry>a</entry>
1406 </row>
1407 <row>
1408 <entry>convlf</entry>
1409 <entry>4</entry>
1410 <entry>4</entry>
1411 <entry></entry>
1412 <entry>convert integer to floating point</entry>
1413 <entry>a</entry>
1414 </row>
1415 <row>
1416 <entry>addd</entry>
1417 <entry>8</entry>
1418 <entry>8</entry>
1419 <entry>8</entry>
1420 <entry></entry>
1421 <entry></entry>
1422 </row>
1423 <row>
1424 <entry>subd</entry>
1425 <entry>8</entry>
1426 <entry>8</entry>
1427 <entry>8</entry>
1428 <entry></entry>
1429 <entry></entry>
1430 </row>
1431 <row>
1432 <entry>muld</entry>
1433 <entry>8</entry>
1434 <entry>8</entry>
1435 <entry>8</entry>
1436 <entry></entry>
1437 <entry></entry>
1438 </row>
1439 <row>
1440 <entry>divd</entry>
1441 <entry>8</entry>
1442 <entry>8</entry>
1443 <entry>8</entry>
1444 <entry></entry>
1445 <entry></entry>
1446 </row>
1447 <row>
1448 <entry>sqrtd</entry>
1449 <entry>8</entry>
1450 <entry>8</entry>
1451 <entry></entry>
1452 <entry></entry>
1453 <entry></entry>
1454 </row>
1455 <row>
1456 <entry>maxd</entry>
1457 <entry>8</entry>
1458 <entry>8</entry>
1459 <entry>8</entry>
1460 <entry></entry>
1461 <entry></entry>
1462 </row>
1463 <row>
1464 <entry>mind</entry>
1465 <entry>8</entry>
1466 <entry>8</entry>
1467 <entry>8</entry>
1468 <entry></entry>
1469 <entry></entry>
1470 </row>
1471 <row>
1472 <entry>cmpeqd</entry>
1473 <entry>8</entry>
1474 <entry>8</entry>
1475 <entry>8</entry>
1476 <entry></entry>
1477 <entry></entry>
1478 </row>
1479 <row>
1480 <entry>cmpltd</entry>
1481 <entry>8</entry>
1482 <entry>8</entry>
1483 <entry>8</entry>
1484 <entry></entry>
1485 <entry></entry>
1486 </row>
1487 <row>
1488 <entry>cmpled</entry>
1489 <entry>8</entry>
1490 <entry>8</entry>
1491 <entry>8</entry>
1492 <entry></entry>
1493 <entry></entry>
1494 </row>
1495 <row>
1496 <entry>convdl</entry>
1497 <entry>4</entry>
1498 <entry>8</entry>
1499 <entry></entry>
1500 <entry></entry>
1501 <entry></entry>
1502 </row>
1503 <row>
1504 <entry>convld</entry>
1505 <entry>8</entry>
1506 <entry>4</entry>
1507 <entry></entry>
1508 <entry></entry>
1509 <entry></entry>
1510 </row>
1511 <row>
1512 <entry>convfd</entry>
1513 <entry>8</entry>
1514 <entry>4</entry>
1515 <entry></entry>
1516 <entry></entry>
1517 <entry></entry>
1518 </row>
1519 <row>
1520 <entry>convdf</entry>
1521 <entry>4</entry>
1522 <entry>8</entry>
1523 <entry></entry>
1524 <entry></entry>
1525 <entry></entry>
1526 </row>
1527 </tbody>
1528 </tgroup>
1529 </table>