12159047fSniklas /* Information for instruction disassembly on the Convex. 2*c074d1c9Sdrahn Copyright 1989, 1993, 2002 Free Software Foundation, Inc. 32159047fSniklas 42159047fSniklas This file is part of GDB. 52159047fSniklas 62159047fSniklas This program is free software; you can redistribute it and/or modify 72159047fSniklas it under the terms of the GNU General Public License as published by 82159047fSniklas the Free Software Foundation; either version 2 of the License, or 92159047fSniklas (at your option) any later version. 102159047fSniklas 112159047fSniklas This program is distributed in the hope that it will be useful, 122159047fSniklas but WITHOUT ANY WARRANTY; without even the implied warranty of 132159047fSniklas MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 142159047fSniklas GNU General Public License for more details. 152159047fSniklas 162159047fSniklas You should have received a copy of the GNU General Public License 172159047fSniklas along with this program; if not, write to the Free Software 182159047fSniklas Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 192159047fSniklas 202159047fSniklas #define xxx 0 212159047fSniklas #define rrr 1 222159047fSniklas #define rr 2 232159047fSniklas #define rxr 3 242159047fSniklas #define r 4 252159047fSniklas #define nops 5 262159047fSniklas #define nr 6 272159047fSniklas #define pcrel 7 282159047fSniklas #define lr 8 292159047fSniklas #define rxl 9 302159047fSniklas #define rlr 10 312159047fSniklas #define rrl 11 322159047fSniklas #define iml 12 332159047fSniklas #define imr 13 342159047fSniklas #define a1r 14 352159047fSniklas #define a1l 15 362159047fSniklas #define a2r 16 372159047fSniklas #define a2l 17 382159047fSniklas #define a3 18 392159047fSniklas #define a4 19 402159047fSniklas #define a5 20 412159047fSniklas #define V 1 422159047fSniklas #define S 2 432159047fSniklas #define VM 3 442159047fSniklas #define A 4 452159047fSniklas #define VL 5 462159047fSniklas #define VS 6 472159047fSniklas #define VLS 7 482159047fSniklas #define PSW 8 492159047fSniklas /* Prevent an error during "make depend". */ 502159047fSniklas #if !defined (PC) 512159047fSniklas #define PC 9 522159047fSniklas #endif 532159047fSniklas #define ITR 10 542159047fSniklas #define VV 11 552159047fSniklas #define ITSR 12 562159047fSniklas #define TOC 13 572159047fSniklas #define CIR 14 582159047fSniklas #define TTR 15 592159047fSniklas #define VMU 16 602159047fSniklas #define VML 17 612159047fSniklas #define ICR 18 622159047fSniklas #define TCPU 19 632159047fSniklas #define CPUID 20 642159047fSniklas #define TID 21 652159047fSniklas 66*c074d1c9Sdrahn const char *op[] = { 672159047fSniklas "", 682159047fSniklas "v0\0v1\0v2\0v3\0v4\0v5\0v6\0v7", 692159047fSniklas "s0\0s1\0s2\0s3\0s4\0s5\0s6\0s7", 702159047fSniklas "vm", 712159047fSniklas "sp\0a1\0a2\0a3\0a4\0a5\0ap\0fp", 722159047fSniklas "vl", 732159047fSniklas "vs", 742159047fSniklas "vls", 752159047fSniklas "psw", 762159047fSniklas "pc", 772159047fSniklas "itr", 782159047fSniklas "vv", 792159047fSniklas "itsr", 802159047fSniklas "toc", 812159047fSniklas "cir", 822159047fSniklas "ttr", 832159047fSniklas "vmu", 842159047fSniklas "vml", 852159047fSniklas "icr", 862159047fSniklas "tcpu", 872159047fSniklas "cpuid", 882159047fSniklas "tid", 892159047fSniklas }; 902159047fSniklas 91*c074d1c9Sdrahn const struct formstr format0[] = { 922159047fSniklas {0,0,rrr,V,S,S}, /* mov */ 932159047fSniklas {0,0,rrr,S,S,V}, /* mov */ 942159047fSniklas {1,1,rrr,V,V,V}, /* merg.t */ 952159047fSniklas {2,1,rrr,V,V,V}, /* mask.t */ 962159047fSniklas {1,2,rrr,V,S,V}, /* merg.f */ 972159047fSniklas {2,2,rrr,V,S,V}, /* mask.f */ 982159047fSniklas {1,1,rrr,V,S,V}, /* merg.t */ 992159047fSniklas {2,1,rrr,V,S,V}, /* mask.t */ 1002159047fSniklas {3,3,rrr,V,V,V}, /* mul.s */ 1012159047fSniklas {3,4,rrr,V,V,V}, /* mul.d */ 1022159047fSniklas {4,3,rrr,V,V,V}, /* div.s */ 1032159047fSniklas {4,4,rrr,V,V,V}, /* div.d */ 1042159047fSniklas {3,3,rrr,V,S,V}, /* mul.s */ 1052159047fSniklas {3,4,rrr,V,S,V}, /* mul.d */ 1062159047fSniklas {4,3,rrr,V,S,V}, /* div.s */ 1072159047fSniklas {4,4,rrr,V,S,V}, /* div.d */ 1082159047fSniklas {5,0,rrr,V,V,V}, /* and */ 1092159047fSniklas {6,0,rrr,V,V,V}, /* or */ 1102159047fSniklas {7,0,rrr,V,V,V}, /* xor */ 1112159047fSniklas {8,0,rrr,V,V,V}, /* shf */ 1122159047fSniklas {5,0,rrr,V,S,V}, /* and */ 1132159047fSniklas {6,0,rrr,V,S,V}, /* or */ 1142159047fSniklas {7,0,rrr,V,S,V}, /* xor */ 1152159047fSniklas {8,0,rrr,V,S,V}, /* shf */ 1162159047fSniklas {9,3,rrr,V,V,V}, /* add.s */ 1172159047fSniklas {9,4,rrr,V,V,V}, /* add.d */ 1182159047fSniklas {10,3,rrr,V,V,V}, /* sub.s */ 1192159047fSniklas {10,4,rrr,V,V,V}, /* sub.d */ 1202159047fSniklas {9,3,rrr,V,S,V}, /* add.s */ 1212159047fSniklas {9,4,rrr,V,S,V}, /* add.d */ 1222159047fSniklas {10,3,rrr,V,S,V}, /* sub.s */ 1232159047fSniklas {10,4,rrr,V,S,V}, /* sub.d */ 1242159047fSniklas {9,5,rrr,V,V,V}, /* add.b */ 1252159047fSniklas {9,6,rrr,V,V,V}, /* add.h */ 1262159047fSniklas {9,7,rrr,V,V,V}, /* add.w */ 1272159047fSniklas {9,8,rrr,V,V,V}, /* add.l */ 1282159047fSniklas {9,5,rrr,V,S,V}, /* add.b */ 1292159047fSniklas {9,6,rrr,V,S,V}, /* add.h */ 1302159047fSniklas {9,7,rrr,V,S,V}, /* add.w */ 1312159047fSniklas {9,8,rrr,V,S,V}, /* add.l */ 1322159047fSniklas {10,5,rrr,V,V,V}, /* sub.b */ 1332159047fSniklas {10,6,rrr,V,V,V}, /* sub.h */ 1342159047fSniklas {10,7,rrr,V,V,V}, /* sub.w */ 1352159047fSniklas {10,8,rrr,V,V,V}, /* sub.l */ 1362159047fSniklas {10,5,rrr,V,S,V}, /* sub.b */ 1372159047fSniklas {10,6,rrr,V,S,V}, /* sub.h */ 1382159047fSniklas {10,7,rrr,V,S,V}, /* sub.w */ 1392159047fSniklas {10,8,rrr,V,S,V}, /* sub.l */ 1402159047fSniklas {3,5,rrr,V,V,V}, /* mul.b */ 1412159047fSniklas {3,6,rrr,V,V,V}, /* mul.h */ 1422159047fSniklas {3,7,rrr,V,V,V}, /* mul.w */ 1432159047fSniklas {3,8,rrr,V,V,V}, /* mul.l */ 1442159047fSniklas {3,5,rrr,V,S,V}, /* mul.b */ 1452159047fSniklas {3,6,rrr,V,S,V}, /* mul.h */ 1462159047fSniklas {3,7,rrr,V,S,V}, /* mul.w */ 1472159047fSniklas {3,8,rrr,V,S,V}, /* mul.l */ 1482159047fSniklas {4,5,rrr,V,V,V}, /* div.b */ 1492159047fSniklas {4,6,rrr,V,V,V}, /* div.h */ 1502159047fSniklas {4,7,rrr,V,V,V}, /* div.w */ 1512159047fSniklas {4,8,rrr,V,V,V}, /* div.l */ 1522159047fSniklas {4,5,rrr,V,S,V}, /* div.b */ 1532159047fSniklas {4,6,rrr,V,S,V}, /* div.h */ 1542159047fSniklas {4,7,rrr,V,S,V}, /* div.w */ 1552159047fSniklas {4,8,rrr,V,S,V}, /* div.l */ 1562159047fSniklas }; 1572159047fSniklas 158*c074d1c9Sdrahn const struct formstr format1[] = { 1592159047fSniklas {11,0,xxx,0,0,0}, /* exit */ 1602159047fSniklas {12,0,a3,0,0,0}, /* jmp */ 1612159047fSniklas {13,2,a3,0,0,0}, /* jmpi.f */ 1622159047fSniklas {13,1,a3,0,0,0}, /* jmpi.t */ 1632159047fSniklas {14,2,a3,0,0,0}, /* jmpa.f */ 1642159047fSniklas {14,1,a3,0,0,0}, /* jmpa.t */ 1652159047fSniklas {15,2,a3,0,0,0}, /* jmps.f */ 1662159047fSniklas {15,1,a3,0,0,0}, /* jmps.t */ 1672159047fSniklas {16,0,a3,0,0,0}, /* tac */ 1682159047fSniklas {17,0,a1r,A,0,0}, /* ldea */ 1692159047fSniklas {18,8,a1l,VLS,0,0}, /* ld.l */ 1702159047fSniklas {18,9,a1l,VM,0,0}, /* ld.x */ 1712159047fSniklas {19,0,a3,0,0,0}, /* tas */ 1722159047fSniklas {20,0,a3,0,0,0}, /* pshea */ 1732159047fSniklas {21,8,a2l,VLS,0,0}, /* st.l */ 1742159047fSniklas {21,9,a2l,VM,0,0}, /* st.x */ 1752159047fSniklas {0,0,0,0,0,0}, 1762159047fSniklas {0,0,0,0,0,0}, 1772159047fSniklas {0,0,0,0,0,0}, 1782159047fSniklas {0,0,0,0,0,0}, 1792159047fSniklas {0,0,0,0,0,0}, 1802159047fSniklas {0,0,0,0,0,0}, 1812159047fSniklas {0,0,0,0,0,0}, 1822159047fSniklas {0,0,0,0,0,0}, 1832159047fSniklas {0,0,0,0,0,0}, 1842159047fSniklas {0,0,0,0,0,0}, 1852159047fSniklas {0,0,0,0,0,0}, 1862159047fSniklas {0,0,0,0,0,0}, 1872159047fSniklas {0,0,0,0,0,0}, 1882159047fSniklas {0,0,0,0,0,0}, 1892159047fSniklas {0,0,0,0,0,0}, 1902159047fSniklas {0,0,0,0,0,0}, 1912159047fSniklas {22,0,a3,0,0,0}, /* call */ 1922159047fSniklas {23,0,a3,0,0,0}, /* calls */ 1932159047fSniklas {24,0,a3,0,0,0}, /* callq */ 1942159047fSniklas {25,0,a1r,A,0,0}, /* pfork */ 1952159047fSniklas {26,5,a2r,S,0,0}, /* ste.b */ 1962159047fSniklas {26,6,a2r,S,0,0}, /* ste.h */ 1972159047fSniklas {26,7,a2r,S,0,0}, /* ste.w */ 1982159047fSniklas {26,8,a2r,S,0,0}, /* ste.l */ 1992159047fSniklas {18,5,a1r,A,0,0}, /* ld.b */ 2002159047fSniklas {18,6,a1r,A,0,0}, /* ld.h */ 2012159047fSniklas {18,7,a1r,A,0,0}, /* ld.w */ 2022159047fSniklas {27,7,a1r,A,0,0}, /* incr.w */ 2032159047fSniklas {21,5,a2r,A,0,0}, /* st.b */ 2042159047fSniklas {21,6,a2r,A,0,0}, /* st.h */ 2052159047fSniklas {21,7,a2r,A,0,0}, /* st.w */ 2062159047fSniklas {27,8,a1r,S,0,0}, /* incr.l */ 2072159047fSniklas {18,5,a1r,S,0,0}, /* ld.b */ 2082159047fSniklas {18,6,a1r,S,0,0}, /* ld.h */ 2092159047fSniklas {18,7,a1r,S,0,0}, /* ld.w */ 2102159047fSniklas {18,8,a1r,S,0,0}, /* ld.l */ 2112159047fSniklas {21,5,a2r,S,0,0}, /* st.b */ 2122159047fSniklas {21,6,a2r,S,0,0}, /* st.h */ 2132159047fSniklas {21,7,a2r,S,0,0}, /* st.w */ 2142159047fSniklas {21,8,a2r,S,0,0}, /* st.l */ 2152159047fSniklas {18,5,a1r,V,0,0}, /* ld.b */ 2162159047fSniklas {18,6,a1r,V,0,0}, /* ld.h */ 2172159047fSniklas {18,7,a1r,V,0,0}, /* ld.w */ 2182159047fSniklas {18,8,a1r,V,0,0}, /* ld.l */ 2192159047fSniklas {21,5,a2r,V,0,0}, /* st.b */ 2202159047fSniklas {21,6,a2r,V,0,0}, /* st.h */ 2212159047fSniklas {21,7,a2r,V,0,0}, /* st.w */ 2222159047fSniklas {21,8,a2r,V,0,0}, /* st.l */ 2232159047fSniklas }; 2242159047fSniklas 225*c074d1c9Sdrahn const struct formstr format2[] = { 2262159047fSniklas {28,5,rr,A,A,0}, /* cvtw.b */ 2272159047fSniklas {28,6,rr,A,A,0}, /* cvtw.h */ 2282159047fSniklas {29,7,rr,A,A,0}, /* cvtb.w */ 2292159047fSniklas {30,7,rr,A,A,0}, /* cvth.w */ 2302159047fSniklas {28,5,rr,S,S,0}, /* cvtw.b */ 2312159047fSniklas {28,6,rr,S,S,0}, /* cvtw.h */ 2322159047fSniklas {29,7,rr,S,S,0}, /* cvtb.w */ 2332159047fSniklas {30,7,rr,S,S,0}, /* cvth.w */ 2342159047fSniklas {28,3,rr,S,S,0}, /* cvtw.s */ 2352159047fSniklas {31,7,rr,S,S,0}, /* cvts.w */ 2362159047fSniklas {32,3,rr,S,S,0}, /* cvtd.s */ 2372159047fSniklas {31,4,rr,S,S,0}, /* cvts.d */ 2382159047fSniklas {31,8,rr,S,S,0}, /* cvts.l */ 2392159047fSniklas {32,8,rr,S,S,0}, /* cvtd.l */ 2402159047fSniklas {33,3,rr,S,S,0}, /* cvtl.s */ 2412159047fSniklas {33,4,rr,S,S,0}, /* cvtl.d */ 2422159047fSniklas {34,0,rr,A,A,0}, /* ldpa */ 2432159047fSniklas {8,0,nr,A,0,0}, /* shf */ 2442159047fSniklas {18,6,nr,A,0,0}, /* ld.h */ 2452159047fSniklas {18,7,nr,A,0,0}, /* ld.w */ 2462159047fSniklas {33,7,rr,S,S,0}, /* cvtl.w */ 2472159047fSniklas {28,8,rr,S,S,0}, /* cvtw.l */ 2482159047fSniklas {35,1,rr,S,S,0}, /* plc.t */ 2492159047fSniklas {36,0,rr,S,S,0}, /* tzc */ 2502159047fSniklas {37,6,rr,A,A,0}, /* eq.h */ 2512159047fSniklas {37,7,rr,A,A,0}, /* eq.w */ 2522159047fSniklas {37,6,nr,A,0,0}, /* eq.h */ 2532159047fSniklas {37,7,nr,A,0,0}, /* eq.w */ 2542159047fSniklas {37,5,rr,S,S,0}, /* eq.b */ 2552159047fSniklas {37,6,rr,S,S,0}, /* eq.h */ 2562159047fSniklas {37,7,rr,S,S,0}, /* eq.w */ 2572159047fSniklas {37,8,rr,S,S,0}, /* eq.l */ 2582159047fSniklas {38,6,rr,A,A,0}, /* leu.h */ 2592159047fSniklas {38,7,rr,A,A,0}, /* leu.w */ 2602159047fSniklas {38,6,nr,A,0,0}, /* leu.h */ 2612159047fSniklas {38,7,nr,A,0,0}, /* leu.w */ 2622159047fSniklas {38,5,rr,S,S,0}, /* leu.b */ 2632159047fSniklas {38,6,rr,S,S,0}, /* leu.h */ 2642159047fSniklas {38,7,rr,S,S,0}, /* leu.w */ 2652159047fSniklas {38,8,rr,S,S,0}, /* leu.l */ 2662159047fSniklas {39,6,rr,A,A,0}, /* ltu.h */ 2672159047fSniklas {39,7,rr,A,A,0}, /* ltu.w */ 2682159047fSniklas {39,6,nr,A,0,0}, /* ltu.h */ 2692159047fSniklas {39,7,nr,A,0,0}, /* ltu.w */ 2702159047fSniklas {39,5,rr,S,S,0}, /* ltu.b */ 2712159047fSniklas {39,6,rr,S,S,0}, /* ltu.h */ 2722159047fSniklas {39,7,rr,S,S,0}, /* ltu.w */ 2732159047fSniklas {39,8,rr,S,S,0}, /* ltu.l */ 2742159047fSniklas {40,6,rr,A,A,0}, /* le.h */ 2752159047fSniklas {40,7,rr,A,A,0}, /* le.w */ 2762159047fSniklas {40,6,nr,A,0,0}, /* le.h */ 2772159047fSniklas {40,7,nr,A,0,0}, /* le.w */ 2782159047fSniklas {40,5,rr,S,S,0}, /* le.b */ 2792159047fSniklas {40,6,rr,S,S,0}, /* le.h */ 2802159047fSniklas {40,7,rr,S,S,0}, /* le.w */ 2812159047fSniklas {40,8,rr,S,S,0}, /* le.l */ 2822159047fSniklas {41,6,rr,A,A,0}, /* lt.h */ 2832159047fSniklas {41,7,rr,A,A,0}, /* lt.w */ 2842159047fSniklas {41,6,nr,A,0,0}, /* lt.h */ 2852159047fSniklas {41,7,nr,A,0,0}, /* lt.w */ 2862159047fSniklas {41,5,rr,S,S,0}, /* lt.b */ 2872159047fSniklas {41,6,rr,S,S,0}, /* lt.h */ 2882159047fSniklas {41,7,rr,S,S,0}, /* lt.w */ 2892159047fSniklas {41,8,rr,S,S,0}, /* lt.l */ 2902159047fSniklas {9,7,rr,S,A,0}, /* add.w */ 2912159047fSniklas {8,0,rr,A,A,0}, /* shf */ 2922159047fSniklas {0,0,rr,A,A,0}, /* mov */ 2932159047fSniklas {0,0,rr,S,A,0}, /* mov */ 2942159047fSniklas {0,7,rr,S,S,0}, /* mov.w */ 2952159047fSniklas {8,0,rr,S,S,0}, /* shf */ 2962159047fSniklas {0,0,rr,S,S,0}, /* mov */ 2972159047fSniklas {0,0,rr,A,S,0}, /* mov */ 2982159047fSniklas {5,0,rr,A,A,0}, /* and */ 2992159047fSniklas {6,0,rr,A,A,0}, /* or */ 3002159047fSniklas {7,0,rr,A,A,0}, /* xor */ 3012159047fSniklas {42,0,rr,A,A,0}, /* not */ 3022159047fSniklas {5,0,rr,S,S,0}, /* and */ 3032159047fSniklas {6,0,rr,S,S,0}, /* or */ 3042159047fSniklas {7,0,rr,S,S,0}, /* xor */ 3052159047fSniklas {42,0,rr,S,S,0}, /* not */ 3062159047fSniklas {40,3,rr,S,S,0}, /* le.s */ 3072159047fSniklas {40,4,rr,S,S,0}, /* le.d */ 3082159047fSniklas {41,3,rr,S,S,0}, /* lt.s */ 3092159047fSniklas {41,4,rr,S,S,0}, /* lt.d */ 3102159047fSniklas {9,3,rr,S,S,0}, /* add.s */ 3112159047fSniklas {9,4,rr,S,S,0}, /* add.d */ 3122159047fSniklas {10,3,rr,S,S,0}, /* sub.s */ 3132159047fSniklas {10,4,rr,S,S,0}, /* sub.d */ 3142159047fSniklas {37,3,rr,S,S,0}, /* eq.s */ 3152159047fSniklas {37,4,rr,S,S,0}, /* eq.d */ 3162159047fSniklas {43,6,rr,A,A,0}, /* neg.h */ 3172159047fSniklas {43,7,rr,A,A,0}, /* neg.w */ 3182159047fSniklas {3,3,rr,S,S,0}, /* mul.s */ 3192159047fSniklas {3,4,rr,S,S,0}, /* mul.d */ 3202159047fSniklas {4,3,rr,S,S,0}, /* div.s */ 3212159047fSniklas {4,4,rr,S,S,0}, /* div.d */ 3222159047fSniklas {9,6,rr,A,A,0}, /* add.h */ 3232159047fSniklas {9,7,rr,A,A,0}, /* add.w */ 3242159047fSniklas {9,6,nr,A,0,0}, /* add.h */ 3252159047fSniklas {9,7,nr,A,0,0}, /* add.w */ 3262159047fSniklas {9,5,rr,S,S,0}, /* add.b */ 3272159047fSniklas {9,6,rr,S,S,0}, /* add.h */ 3282159047fSniklas {9,7,rr,S,S,0}, /* add.w */ 3292159047fSniklas {9,8,rr,S,S,0}, /* add.l */ 3302159047fSniklas {10,6,rr,A,A,0}, /* sub.h */ 3312159047fSniklas {10,7,rr,A,A,0}, /* sub.w */ 3322159047fSniklas {10,6,nr,A,0,0}, /* sub.h */ 3332159047fSniklas {10,7,nr,A,0,0}, /* sub.w */ 3342159047fSniklas {10,5,rr,S,S,0}, /* sub.b */ 3352159047fSniklas {10,6,rr,S,S,0}, /* sub.h */ 3362159047fSniklas {10,7,rr,S,S,0}, /* sub.w */ 3372159047fSniklas {10,8,rr,S,S,0}, /* sub.l */ 3382159047fSniklas {3,6,rr,A,A,0}, /* mul.h */ 3392159047fSniklas {3,7,rr,A,A,0}, /* mul.w */ 3402159047fSniklas {3,6,nr,A,0,0}, /* mul.h */ 3412159047fSniklas {3,7,nr,A,0,0}, /* mul.w */ 3422159047fSniklas {3,5,rr,S,S,0}, /* mul.b */ 3432159047fSniklas {3,6,rr,S,S,0}, /* mul.h */ 3442159047fSniklas {3,7,rr,S,S,0}, /* mul.w */ 3452159047fSniklas {3,8,rr,S,S,0}, /* mul.l */ 3462159047fSniklas {4,6,rr,A,A,0}, /* div.h */ 3472159047fSniklas {4,7,rr,A,A,0}, /* div.w */ 3482159047fSniklas {4,6,nr,A,0,0}, /* div.h */ 3492159047fSniklas {4,7,nr,A,0,0}, /* div.w */ 3502159047fSniklas {4,5,rr,S,S,0}, /* div.b */ 3512159047fSniklas {4,6,rr,S,S,0}, /* div.h */ 3522159047fSniklas {4,7,rr,S,S,0}, /* div.w */ 3532159047fSniklas {4,8,rr,S,S,0}, /* div.l */ 3542159047fSniklas }; 3552159047fSniklas 356*c074d1c9Sdrahn const struct formstr format3[] = { 3572159047fSniklas {32,3,rr,V,V,0}, /* cvtd.s */ 3582159047fSniklas {31,4,rr,V,V,0}, /* cvts.d */ 3592159047fSniklas {33,4,rr,V,V,0}, /* cvtl.d */ 3602159047fSniklas {32,8,rr,V,V,0}, /* cvtd.l */ 3612159047fSniklas {0,0,rrl,S,S,VM}, /* mov */ 3622159047fSniklas {0,0,rlr,S,VM,S}, /* mov */ 3632159047fSniklas {0,0,0,0,0,0}, 3642159047fSniklas {44,0,rr,S,S,0}, /* lop */ 3652159047fSniklas {36,0,rr,V,V,0}, /* tzc */ 3662159047fSniklas {44,0,rr,V,V,0}, /* lop */ 3672159047fSniklas {0,0,0,0,0,0}, 3682159047fSniklas {42,0,rr,V,V,0}, /* not */ 3692159047fSniklas {8,0,rr,S,V,0}, /* shf */ 3702159047fSniklas {35,1,rr,V,V,0}, /* plc.t */ 3712159047fSniklas {45,2,rr,V,V,0}, /* cprs.f */ 3722159047fSniklas {45,1,rr,V,V,0}, /* cprs.t */ 3732159047fSniklas {37,3,rr,V,V,0}, /* eq.s */ 3742159047fSniklas {37,4,rr,V,V,0}, /* eq.d */ 3752159047fSniklas {43,3,rr,V,V,0}, /* neg.s */ 3762159047fSniklas {43,4,rr,V,V,0}, /* neg.d */ 3772159047fSniklas {37,3,rr,S,V,0}, /* eq.s */ 3782159047fSniklas {37,4,rr,S,V,0}, /* eq.d */ 3792159047fSniklas {43,3,rr,S,S,0}, /* neg.s */ 3802159047fSniklas {43,4,rr,S,S,0}, /* neg.d */ 3812159047fSniklas {40,3,rr,V,V,0}, /* le.s */ 3822159047fSniklas {40,4,rr,V,V,0}, /* le.d */ 3832159047fSniklas {41,3,rr,V,V,0}, /* lt.s */ 3842159047fSniklas {41,4,rr,V,V,0}, /* lt.d */ 3852159047fSniklas {40,3,rr,S,V,0}, /* le.s */ 3862159047fSniklas {40,4,rr,S,V,0}, /* le.d */ 3872159047fSniklas {41,3,rr,S,V,0}, /* lt.s */ 3882159047fSniklas {41,4,rr,S,V,0}, /* lt.d */ 3892159047fSniklas {37,5,rr,V,V,0}, /* eq.b */ 3902159047fSniklas {37,6,rr,V,V,0}, /* eq.h */ 3912159047fSniklas {37,7,rr,V,V,0}, /* eq.w */ 3922159047fSniklas {37,8,rr,V,V,0}, /* eq.l */ 3932159047fSniklas {37,5,rr,S,V,0}, /* eq.b */ 3942159047fSniklas {37,6,rr,S,V,0}, /* eq.h */ 3952159047fSniklas {37,7,rr,S,V,0}, /* eq.w */ 3962159047fSniklas {37,8,rr,S,V,0}, /* eq.l */ 3972159047fSniklas {40,5,rr,V,V,0}, /* le.b */ 3982159047fSniklas {40,6,rr,V,V,0}, /* le.h */ 3992159047fSniklas {40,7,rr,V,V,0}, /* le.w */ 4002159047fSniklas {40,8,rr,V,V,0}, /* le.l */ 4012159047fSniklas {40,5,rr,S,V,0}, /* le.b */ 4022159047fSniklas {40,6,rr,S,V,0}, /* le.h */ 4032159047fSniklas {40,7,rr,S,V,0}, /* le.w */ 4042159047fSniklas {40,8,rr,S,V,0}, /* le.l */ 4052159047fSniklas {41,5,rr,V,V,0}, /* lt.b */ 4062159047fSniklas {41,6,rr,V,V,0}, /* lt.h */ 4072159047fSniklas {41,7,rr,V,V,0}, /* lt.w */ 4082159047fSniklas {41,8,rr,V,V,0}, /* lt.l */ 4092159047fSniklas {41,5,rr,S,V,0}, /* lt.b */ 4102159047fSniklas {41,6,rr,S,V,0}, /* lt.h */ 4112159047fSniklas {41,7,rr,S,V,0}, /* lt.w */ 4122159047fSniklas {41,8,rr,S,V,0}, /* lt.l */ 4132159047fSniklas {43,5,rr,V,V,0}, /* neg.b */ 4142159047fSniklas {43,6,rr,V,V,0}, /* neg.h */ 4152159047fSniklas {43,7,rr,V,V,0}, /* neg.w */ 4162159047fSniklas {43,8,rr,V,V,0}, /* neg.l */ 4172159047fSniklas {43,5,rr,S,S,0}, /* neg.b */ 4182159047fSniklas {43,6,rr,S,S,0}, /* neg.h */ 4192159047fSniklas {43,7,rr,S,S,0}, /* neg.w */ 4202159047fSniklas {43,8,rr,S,S,0}, /* neg.l */ 4212159047fSniklas }; 4222159047fSniklas 423*c074d1c9Sdrahn const struct formstr format4[] = { 4242159047fSniklas {46,0,nops,0,0,0}, /* nop */ 4252159047fSniklas {47,0,pcrel,0,0,0}, /* br */ 4262159047fSniklas {48,2,pcrel,0,0,0}, /* bri.f */ 4272159047fSniklas {48,1,pcrel,0,0,0}, /* bri.t */ 4282159047fSniklas {49,2,pcrel,0,0,0}, /* bra.f */ 4292159047fSniklas {49,1,pcrel,0,0,0}, /* bra.t */ 4302159047fSniklas {50,2,pcrel,0,0,0}, /* brs.f */ 4312159047fSniklas {50,1,pcrel,0,0,0}, /* brs.t */ 4322159047fSniklas }; 4332159047fSniklas 434*c074d1c9Sdrahn const struct formstr format5[] = { 4352159047fSniklas {51,5,rr,V,V,0}, /* ldvi.b */ 4362159047fSniklas {51,6,rr,V,V,0}, /* ldvi.h */ 4372159047fSniklas {51,7,rr,V,V,0}, /* ldvi.w */ 4382159047fSniklas {51,8,rr,V,V,0}, /* ldvi.l */ 4392159047fSniklas {28,3,rr,V,V,0}, /* cvtw.s */ 4402159047fSniklas {31,7,rr,V,V,0}, /* cvts.w */ 4412159047fSniklas {28,8,rr,V,V,0}, /* cvtw.l */ 4422159047fSniklas {33,7,rr,V,V,0}, /* cvtl.w */ 4432159047fSniklas {52,5,rxr,V,V,0}, /* stvi.b */ 4442159047fSniklas {52,6,rxr,V,V,0}, /* stvi.h */ 4452159047fSniklas {52,7,rxr,V,V,0}, /* stvi.w */ 4462159047fSniklas {52,8,rxr,V,V,0}, /* stvi.l */ 4472159047fSniklas {52,5,rxr,S,V,0}, /* stvi.b */ 4482159047fSniklas {52,6,rxr,S,V,0}, /* stvi.h */ 4492159047fSniklas {52,7,rxr,S,V,0}, /* stvi.w */ 4502159047fSniklas {52,8,rxr,S,V,0}, /* stvi.l */ 4512159047fSniklas }; 4522159047fSniklas 453*c074d1c9Sdrahn const struct formstr format6[] = { 4542159047fSniklas {53,0,r,A,0,0}, /* ldsdr */ 4552159047fSniklas {54,0,r,A,0,0}, /* ldkdr */ 4562159047fSniklas {55,3,r,S,0,0}, /* ln.s */ 4572159047fSniklas {55,4,r,S,0,0}, /* ln.d */ 4582159047fSniklas {56,0,nops,0,0,0}, /* patu */ 4592159047fSniklas {57,0,r,A,0,0}, /* pate */ 4602159047fSniklas {58,0,nops,0,0,0}, /* pich */ 4612159047fSniklas {59,0,nops,0,0,0}, /* plch */ 4622159047fSniklas {0,0,lr,PSW,A,0}, /* mov */ 4632159047fSniklas {0,0,rxl,A,PSW,0}, /* mov */ 4642159047fSniklas {0,0,lr,PC,A,0}, /* mov */ 4652159047fSniklas {60,0,r,S,0,0}, /* idle */ 4662159047fSniklas {0,0,lr,ITR,S,0}, /* mov */ 4672159047fSniklas {0,0,rxl,S,ITR,0}, /* mov */ 4682159047fSniklas {0,0,0,0,0,0}, 4692159047fSniklas {0,0,rxl,S,ITSR,0}, /* mov */ 4702159047fSniklas {61,0,nops,0,0,0}, /* rtnq */ 4712159047fSniklas {62,0,nops,0,0,0}, /* cfork */ 4722159047fSniklas {63,0,nops,0,0,0}, /* rtn */ 4732159047fSniklas {64,0,nops,0,0,0}, /* wfork */ 4742159047fSniklas {65,0,nops,0,0,0}, /* join */ 4752159047fSniklas {66,0,nops,0,0,0}, /* rtnc */ 4762159047fSniklas {67,3,r,S,0,0}, /* exp.s */ 4772159047fSniklas {67,4,r,S,0,0}, /* exp.d */ 4782159047fSniklas {68,3,r,S,0,0}, /* sin.s */ 4792159047fSniklas {68,4,r,S,0,0}, /* sin.d */ 4802159047fSniklas {0,0,0,0,0,0}, 4812159047fSniklas {0,0,0,0,0,0}, 4822159047fSniklas {69,3,r,S,0,0}, /* cos.s */ 4832159047fSniklas {69,4,r,S,0,0}, /* cos.d */ 4842159047fSniklas {0,0,0,0,0,0}, 4852159047fSniklas {0,0,0,0,0,0}, 4862159047fSniklas {70,7,r,A,0,0}, /* psh.w */ 4872159047fSniklas {0,0,0,0,0,0}, 4882159047fSniklas {71,7,r,A,0,0}, /* pop.w */ 4892159047fSniklas {0,0,0,0,0,0}, 4902159047fSniklas {70,7,r,S,0,0}, /* psh.w */ 4912159047fSniklas {70,8,r,S,0,0}, /* psh.l */ 4922159047fSniklas {71,7,r,S,0,0}, /* pop.w */ 4932159047fSniklas {71,8,r,S,0,0}, /* pop.l */ 4942159047fSniklas {72,0,nops,0,0,0}, /* eni */ 4952159047fSniklas {73,0,nops,0,0,0}, /* dsi */ 4962159047fSniklas {74,0,nops,0,0,0}, /* bkpt */ 4972159047fSniklas {75,0,nops,0,0,0}, /* msync */ 4982159047fSniklas {76,0,r,S,0,0}, /* mski */ 4992159047fSniklas {77,0,r,S,0,0}, /* xmti */ 5002159047fSniklas {0,0,rxl,S,VV,0}, /* mov */ 5012159047fSniklas {78,0,nops,0,0,0}, /* tstvv */ 5022159047fSniklas {0,0,lr,VS,A,0}, /* mov */ 5032159047fSniklas {0,0,rxl,A,VS,0}, /* mov */ 5042159047fSniklas {0,0,lr,VL,A,0}, /* mov */ 5052159047fSniklas {0,0,rxl,A,VL,0}, /* mov */ 5062159047fSniklas {0,7,lr,VS,S,0}, /* mov.w */ 5072159047fSniklas {0,7,rxl,S,VS,0}, /* mov.w */ 5082159047fSniklas {0,7,lr,VL,S,0}, /* mov.w */ 5092159047fSniklas {0,7,rxl,S,VL,0}, /* mov.w */ 5102159047fSniklas {79,0,r,A,0,0}, /* diag */ 5112159047fSniklas {80,0,nops,0,0,0}, /* pbkpt */ 5122159047fSniklas {81,3,r,S,0,0}, /* sqrt.s */ 5132159047fSniklas {81,4,r,S,0,0}, /* sqrt.d */ 5142159047fSniklas {82,0,nops,0,0,0}, /* casr */ 5152159047fSniklas {0,0,0,0,0,0}, 5162159047fSniklas {83,3,r,S,0,0}, /* atan.s */ 5172159047fSniklas {83,4,r,S,0,0}, /* atan.d */ 5182159047fSniklas }; 5192159047fSniklas 520*c074d1c9Sdrahn const struct formstr format7[] = { 5212159047fSniklas {84,5,r,V,0,0}, /* sum.b */ 5222159047fSniklas {84,6,r,V,0,0}, /* sum.h */ 5232159047fSniklas {84,7,r,V,0,0}, /* sum.w */ 5242159047fSniklas {84,8,r,V,0,0}, /* sum.l */ 5252159047fSniklas {85,0,r,V,0,0}, /* all */ 5262159047fSniklas {86,0,r,V,0,0}, /* any */ 5272159047fSniklas {87,0,r,V,0,0}, /* parity */ 5282159047fSniklas {0,0,0,0,0,0}, 5292159047fSniklas {88,5,r,V,0,0}, /* max.b */ 5302159047fSniklas {88,6,r,V,0,0}, /* max.h */ 5312159047fSniklas {88,7,r,V,0,0}, /* max.w */ 5322159047fSniklas {88,8,r,V,0,0}, /* max.l */ 5332159047fSniklas {89,5,r,V,0,0}, /* min.b */ 5342159047fSniklas {89,6,r,V,0,0}, /* min.h */ 5352159047fSniklas {89,7,r,V,0,0}, /* min.w */ 5362159047fSniklas {89,8,r,V,0,0}, /* min.l */ 5372159047fSniklas {84,3,r,V,0,0}, /* sum.s */ 5382159047fSniklas {84,4,r,V,0,0}, /* sum.d */ 5392159047fSniklas {90,3,r,V,0,0}, /* prod.s */ 5402159047fSniklas {90,4,r,V,0,0}, /* prod.d */ 5412159047fSniklas {88,3,r,V,0,0}, /* max.s */ 5422159047fSniklas {88,4,r,V,0,0}, /* max.d */ 5432159047fSniklas {89,3,r,V,0,0}, /* min.s */ 5442159047fSniklas {89,4,r,V,0,0}, /* min.d */ 5452159047fSniklas {90,5,r,V,0,0}, /* prod.b */ 5462159047fSniklas {90,6,r,V,0,0}, /* prod.h */ 5472159047fSniklas {90,7,r,V,0,0}, /* prod.w */ 5482159047fSniklas {90,8,r,V,0,0}, /* prod.l */ 5492159047fSniklas {35,2,lr,VM,S,0}, /* plc.f */ 5502159047fSniklas {35,1,lr,VM,S,0}, /* plc.t */ 5512159047fSniklas {0,0,0,0,0,0}, 5522159047fSniklas {0,0,0,0,0,0}, 5532159047fSniklas }; 5542159047fSniklas 555*c074d1c9Sdrahn const struct formstr formatx[] = { 5562159047fSniklas {0,0,0,0,0,0}, 5572159047fSniklas }; 5582159047fSniklas 559*c074d1c9Sdrahn const struct formstr format1a[] = { 5602159047fSniklas {91,0,imr,A,0,0}, /* halt */ 5612159047fSniklas {92,0,a4,0,0,0}, /* sysc */ 5622159047fSniklas {18,6,imr,A,0,0}, /* ld.h */ 5632159047fSniklas {18,7,imr,A,0,0}, /* ld.w */ 5642159047fSniklas {5,0,imr,A,0,0}, /* and */ 5652159047fSniklas {6,0,imr,A,0,0}, /* or */ 5662159047fSniklas {7,0,imr,A,0,0}, /* xor */ 5672159047fSniklas {8,0,imr,A,0,0}, /* shf */ 5682159047fSniklas {9,6,imr,A,0,0}, /* add.h */ 5692159047fSniklas {9,7,imr,A,0,0}, /* add.w */ 5702159047fSniklas {10,6,imr,A,0,0}, /* sub.h */ 5712159047fSniklas {10,7,imr,A,0,0}, /* sub.w */ 5722159047fSniklas {3,6,imr,A,0,0}, /* mul.h */ 5732159047fSniklas {3,7,imr,A,0,0}, /* mul.w */ 5742159047fSniklas {4,6,imr,A,0,0}, /* div.h */ 5752159047fSniklas {4,7,imr,A,0,0}, /* div.w */ 5762159047fSniklas {18,7,iml,VL,0,0}, /* ld.w */ 5772159047fSniklas {18,7,iml,VS,0,0}, /* ld.w */ 5782159047fSniklas {0,0,0,0,0,0}, 5792159047fSniklas {8,7,imr,S,0,0}, /* shf.w */ 5802159047fSniklas {93,0,a5,0,0,0}, /* trap */ 5812159047fSniklas {0,0,0,0,0,0}, 5822159047fSniklas {37,6,imr,A,0,0}, /* eq.h */ 5832159047fSniklas {37,7,imr,A,0,0}, /* eq.w */ 5842159047fSniklas {38,6,imr,A,0,0}, /* leu.h */ 5852159047fSniklas {38,7,imr,A,0,0}, /* leu.w */ 5862159047fSniklas {39,6,imr,A,0,0}, /* ltu.h */ 5872159047fSniklas {39,7,imr,A,0,0}, /* ltu.w */ 5882159047fSniklas {40,6,imr,A,0,0}, /* le.h */ 5892159047fSniklas {40,7,imr,A,0,0}, /* le.w */ 5902159047fSniklas {41,6,imr,A,0,0}, /* lt.h */ 5912159047fSniklas {41,7,imr,A,0,0}, /* lt.w */ 5922159047fSniklas }; 5932159047fSniklas 594*c074d1c9Sdrahn const struct formstr format1b[] = { 5952159047fSniklas {18,4,imr,S,0,0}, /* ld.d */ 5962159047fSniklas {18,10,imr,S,0,0}, /* ld.u */ 5972159047fSniklas {18,8,imr,S,0,0}, /* ld.l */ 5982159047fSniklas {18,7,imr,S,0,0}, /* ld.w */ 5992159047fSniklas {5,0,imr,S,0,0}, /* and */ 6002159047fSniklas {6,0,imr,S,0,0}, /* or */ 6012159047fSniklas {7,0,imr,S,0,0}, /* xor */ 6022159047fSniklas {8,0,imr,S,0,0}, /* shf */ 6032159047fSniklas {9,6,imr,S,0,0}, /* add.h */ 6042159047fSniklas {9,7,imr,S,0,0}, /* add.w */ 6052159047fSniklas {10,6,imr,S,0,0}, /* sub.h */ 6062159047fSniklas {10,7,imr,S,0,0}, /* sub.w */ 6072159047fSniklas {3,6,imr,S,0,0}, /* mul.h */ 6082159047fSniklas {3,7,imr,S,0,0}, /* mul.w */ 6092159047fSniklas {4,6,imr,S,0,0}, /* div.h */ 6102159047fSniklas {4,7,imr,S,0,0}, /* div.w */ 6112159047fSniklas {9,3,imr,S,0,0}, /* add.s */ 6122159047fSniklas {10,3,imr,S,0,0}, /* sub.s */ 6132159047fSniklas {3,3,imr,S,0,0}, /* mul.s */ 6142159047fSniklas {4,3,imr,S,0,0}, /* div.s */ 6152159047fSniklas {40,3,imr,S,0,0}, /* le.s */ 6162159047fSniklas {41,3,imr,S,0,0}, /* lt.s */ 6172159047fSniklas {37,6,imr,S,0,0}, /* eq.h */ 6182159047fSniklas {37,7,imr,S,0,0}, /* eq.w */ 6192159047fSniklas {38,6,imr,S,0,0}, /* leu.h */ 6202159047fSniklas {38,7,imr,S,0,0}, /* leu.w */ 6212159047fSniklas {39,6,imr,S,0,0}, /* ltu.h */ 6222159047fSniklas {39,7,imr,S,0,0}, /* ltu.w */ 6232159047fSniklas {40,6,imr,S,0,0}, /* le.h */ 6242159047fSniklas {40,7,imr,S,0,0}, /* le.w */ 6252159047fSniklas {41,6,imr,S,0,0}, /* lt.h */ 6262159047fSniklas {41,7,imr,S,0,0}, /* lt.w */ 6272159047fSniklas }; 6282159047fSniklas 629*c074d1c9Sdrahn const struct formstr e0_format0[] = { 6302159047fSniklas {10,3,rrr,S,V,V}, /* sub.s */ 6312159047fSniklas {10,4,rrr,S,V,V}, /* sub.d */ 6322159047fSniklas {4,3,rrr,S,V,V}, /* div.s */ 6332159047fSniklas {4,4,rrr,S,V,V}, /* div.d */ 6342159047fSniklas {10,11,rrr,S,V,V}, /* sub.s.f */ 6352159047fSniklas {10,12,rrr,S,V,V}, /* sub.d.f */ 6362159047fSniklas {4,11,rrr,S,V,V}, /* div.s.f */ 6372159047fSniklas {4,12,rrr,S,V,V}, /* div.d.f */ 6382159047fSniklas {3,11,rrr,V,V,V}, /* mul.s.f */ 6392159047fSniklas {3,12,rrr,V,V,V}, /* mul.d.f */ 6402159047fSniklas {4,11,rrr,V,V,V}, /* div.s.f */ 6412159047fSniklas {4,12,rrr,V,V,V}, /* div.d.f */ 6422159047fSniklas {3,11,rrr,V,S,V}, /* mul.s.f */ 6432159047fSniklas {3,12,rrr,V,S,V}, /* mul.d.f */ 6442159047fSniklas {4,11,rrr,V,S,V}, /* div.s.f */ 6452159047fSniklas {4,12,rrr,V,S,V}, /* div.d.f */ 6462159047fSniklas {5,2,rrr,V,V,V}, /* and.f */ 6472159047fSniklas {6,2,rrr,V,V,V}, /* or.f */ 6482159047fSniklas {7,2,rrr,V,V,V}, /* xor.f */ 6492159047fSniklas {8,2,rrr,V,V,V}, /* shf.f */ 6502159047fSniklas {5,2,rrr,V,S,V}, /* and.f */ 6512159047fSniklas {6,2,rrr,V,S,V}, /* or.f */ 6522159047fSniklas {7,2,rrr,V,S,V}, /* xor.f */ 6532159047fSniklas {8,2,rrr,V,S,V}, /* shf.f */ 6542159047fSniklas {9,11,rrr,V,V,V}, /* add.s.f */ 6552159047fSniklas {9,12,rrr,V,V,V}, /* add.d.f */ 6562159047fSniklas {10,11,rrr,V,V,V}, /* sub.s.f */ 6572159047fSniklas {10,12,rrr,V,V,V}, /* sub.d.f */ 6582159047fSniklas {9,11,rrr,V,S,V}, /* add.s.f */ 6592159047fSniklas {9,12,rrr,V,S,V}, /* add.d.f */ 6602159047fSniklas {10,11,rrr,V,S,V}, /* sub.s.f */ 6612159047fSniklas {10,12,rrr,V,S,V}, /* sub.d.f */ 6622159047fSniklas {9,13,rrr,V,V,V}, /* add.b.f */ 6632159047fSniklas {9,14,rrr,V,V,V}, /* add.h.f */ 6642159047fSniklas {9,15,rrr,V,V,V}, /* add.w.f */ 6652159047fSniklas {9,16,rrr,V,V,V}, /* add.l.f */ 6662159047fSniklas {9,13,rrr,V,S,V}, /* add.b.f */ 6672159047fSniklas {9,14,rrr,V,S,V}, /* add.h.f */ 6682159047fSniklas {9,15,rrr,V,S,V}, /* add.w.f */ 6692159047fSniklas {9,16,rrr,V,S,V}, /* add.l.f */ 6702159047fSniklas {10,13,rrr,V,V,V}, /* sub.b.f */ 6712159047fSniklas {10,14,rrr,V,V,V}, /* sub.h.f */ 6722159047fSniklas {10,15,rrr,V,V,V}, /* sub.w.f */ 6732159047fSniklas {10,16,rrr,V,V,V}, /* sub.l.f */ 6742159047fSniklas {10,13,rrr,V,S,V}, /* sub.b.f */ 6752159047fSniklas {10,14,rrr,V,S,V}, /* sub.h.f */ 6762159047fSniklas {10,15,rrr,V,S,V}, /* sub.w.f */ 6772159047fSniklas {10,16,rrr,V,S,V}, /* sub.l.f */ 6782159047fSniklas {3,13,rrr,V,V,V}, /* mul.b.f */ 6792159047fSniklas {3,14,rrr,V,V,V}, /* mul.h.f */ 6802159047fSniklas {3,15,rrr,V,V,V}, /* mul.w.f */ 6812159047fSniklas {3,16,rrr,V,V,V}, /* mul.l.f */ 6822159047fSniklas {3,13,rrr,V,S,V}, /* mul.b.f */ 6832159047fSniklas {3,14,rrr,V,S,V}, /* mul.h.f */ 6842159047fSniklas {3,15,rrr,V,S,V}, /* mul.w.f */ 6852159047fSniklas {3,16,rrr,V,S,V}, /* mul.l.f */ 6862159047fSniklas {4,13,rrr,V,V,V}, /* div.b.f */ 6872159047fSniklas {4,14,rrr,V,V,V}, /* div.h.f */ 6882159047fSniklas {4,15,rrr,V,V,V}, /* div.w.f */ 6892159047fSniklas {4,16,rrr,V,V,V}, /* div.l.f */ 6902159047fSniklas {4,13,rrr,V,S,V}, /* div.b.f */ 6912159047fSniklas {4,14,rrr,V,S,V}, /* div.h.f */ 6922159047fSniklas {4,15,rrr,V,S,V}, /* div.w.f */ 6932159047fSniklas {4,16,rrr,V,S,V}, /* div.l.f */ 6942159047fSniklas }; 6952159047fSniklas 696*c074d1c9Sdrahn const struct formstr e0_format1[] = { 6972159047fSniklas {0,0,0,0,0,0}, 6982159047fSniklas {94,0,a3,0,0,0}, /* tst */ 6992159047fSniklas {95,0,a3,0,0,0}, /* lck */ 7002159047fSniklas {96,0,a3,0,0,0}, /* ulk */ 7012159047fSniklas {17,0,a1r,S,0,0}, /* ldea */ 7022159047fSniklas {97,0,a1r,A,0,0}, /* spawn */ 7032159047fSniklas {98,0,a1r,A,0,0}, /* ldcmr */ 7042159047fSniklas {99,0,a2r,A,0,0}, /* stcmr */ 7052159047fSniklas {100,0,a1r,A,0,0}, /* popr */ 7062159047fSniklas {101,0,a2r,A,0,0}, /* pshr */ 7072159047fSniklas {102,7,a1r,A,0,0}, /* rcvr.w */ 7082159047fSniklas {103,7,a2r,A,0,0}, /* matm.w */ 7092159047fSniklas {104,7,a2r,A,0,0}, /* sndr.w */ 7102159047fSniklas {104,8,a2r,S,0,0}, /* sndr.l */ 7112159047fSniklas {102,8,a1r,S,0,0}, /* rcvr.l */ 7122159047fSniklas {103,8,a2r,S,0,0}, /* matm.l */ 7132159047fSniklas {0,0,0,0,0,0}, 7142159047fSniklas {0,0,0,0,0,0}, 7152159047fSniklas {0,0,0,0,0,0}, 7162159047fSniklas {0,0,0,0,0,0}, 7172159047fSniklas {0,0,0,0,0,0}, 7182159047fSniklas {0,0,0,0,0,0}, 7192159047fSniklas {0,0,0,0,0,0}, 7202159047fSniklas {0,0,0,0,0,0}, 7212159047fSniklas {0,0,0,0,0,0}, 7222159047fSniklas {0,0,0,0,0,0}, 7232159047fSniklas {0,0,0,0,0,0}, 7242159047fSniklas {0,0,0,0,0,0}, 7252159047fSniklas {0,0,0,0,0,0}, 7262159047fSniklas {0,0,0,0,0,0}, 7272159047fSniklas {0,0,0,0,0,0}, 7282159047fSniklas {0,0,0,0,0,0}, 7292159047fSniklas {105,7,a2r,A,0,0}, /* putr.w */ 7302159047fSniklas {105,8,a2r,S,0,0}, /* putr.l */ 7312159047fSniklas {106,7,a1r,A,0,0}, /* getr.w */ 7322159047fSniklas {106,8,a1r,S,0,0}, /* getr.l */ 7332159047fSniklas {26,13,a2r,S,0,0}, /* ste.b.f */ 7342159047fSniklas {26,14,a2r,S,0,0}, /* ste.h.f */ 7352159047fSniklas {26,15,a2r,S,0,0}, /* ste.w.f */ 7362159047fSniklas {26,16,a2r,S,0,0}, /* ste.l.f */ 7372159047fSniklas {107,7,a2r,A,0,0}, /* matr.w */ 7382159047fSniklas {108,7,a2r,A,0,0}, /* mat.w */ 7392159047fSniklas {109,7,a1r,A,0,0}, /* get.w */ 7402159047fSniklas {110,7,a1r,A,0,0}, /* rcv.w */ 7412159047fSniklas {0,0,0,0,0,0}, 7422159047fSniklas {111,7,a1r,A,0,0}, /* inc.w */ 7432159047fSniklas {112,7,a2r,A,0,0}, /* put.w */ 7442159047fSniklas {113,7,a2r,A,0,0}, /* snd.w */ 7452159047fSniklas {107,8,a2r,S,0,0}, /* matr.l */ 7462159047fSniklas {108,8,a2r,S,0,0}, /* mat.l */ 7472159047fSniklas {109,8,a1r,S,0,0}, /* get.l */ 7482159047fSniklas {110,8,a1r,S,0,0}, /* rcv.l */ 7492159047fSniklas {0,0,0,0,0,0}, 7502159047fSniklas {111,8,a1r,S,0,0}, /* inc.l */ 7512159047fSniklas {112,8,a2r,S,0,0}, /* put.l */ 7522159047fSniklas {113,8,a2r,S,0,0}, /* snd.l */ 7532159047fSniklas {18,13,a1r,V,0,0}, /* ld.b.f */ 7542159047fSniklas {18,14,a1r,V,0,0}, /* ld.h.f */ 7552159047fSniklas {18,15,a1r,V,0,0}, /* ld.w.f */ 7562159047fSniklas {18,16,a1r,V,0,0}, /* ld.l.f */ 7572159047fSniklas {21,13,a2r,V,0,0}, /* st.b.f */ 7582159047fSniklas {21,14,a2r,V,0,0}, /* st.h.f */ 7592159047fSniklas {21,15,a2r,V,0,0}, /* st.w.f */ 7602159047fSniklas {21,16,a2r,V,0,0}, /* st.l.f */ 7612159047fSniklas }; 7622159047fSniklas 763*c074d1c9Sdrahn const struct formstr e0_format2[] = { 7642159047fSniklas {28,5,rr,V,V,0}, /* cvtw.b */ 7652159047fSniklas {28,6,rr,V,V,0}, /* cvtw.h */ 7662159047fSniklas {29,7,rr,V,V,0}, /* cvtb.w */ 7672159047fSniklas {30,7,rr,V,V,0}, /* cvth.w */ 7682159047fSniklas {28,13,rr,V,V,0}, /* cvtw.b.f */ 7692159047fSniklas {28,14,rr,V,V,0}, /* cvtw.h.f */ 7702159047fSniklas {29,15,rr,V,V,0}, /* cvtb.w.f */ 7712159047fSniklas {30,15,rr,V,V,0}, /* cvth.w.f */ 7722159047fSniklas {31,8,rr,V,V,0}, /* cvts.l */ 7732159047fSniklas {32,7,rr,V,V,0}, /* cvtd.w */ 7742159047fSniklas {33,3,rr,V,V,0}, /* cvtl.s */ 7752159047fSniklas {28,4,rr,V,V,0}, /* cvtw.d */ 7762159047fSniklas {31,16,rr,V,V,0}, /* cvts.l.f */ 7772159047fSniklas {32,15,rr,V,V,0}, /* cvtd.w.f */ 7782159047fSniklas {33,11,rr,V,V,0}, /* cvtl.s.f */ 7792159047fSniklas {28,12,rr,V,V,0}, /* cvtw.d.f */ 7802159047fSniklas {114,0,rr,S,S,0}, /* enal */ 7812159047fSniklas {8,7,rr,S,S,0}, /* shf.w */ 7822159047fSniklas {115,0,rr,S,S,0}, /* enag */ 7832159047fSniklas {0,0,0,0,0,0}, 7842159047fSniklas {28,4,rr,S,S,0}, /* cvtw.d */ 7852159047fSniklas {32,7,rr,S,S,0}, /* cvtd.w */ 7862159047fSniklas {0,0,0,0,0,0}, 7872159047fSniklas {0,0,0,0,0,0}, 7882159047fSniklas {0,0,0,0,0,0}, 7892159047fSniklas {0,0,0,0,0,0}, 7902159047fSniklas {0,0,0,0,0,0}, 7912159047fSniklas {0,0,0,0,0,0}, 7922159047fSniklas {116,3,rr,S,S,0}, /* frint.s */ 7932159047fSniklas {116,4,rr,S,S,0}, /* frint.d */ 7942159047fSniklas {0,0,0,0,0,0}, 7952159047fSniklas {0,0,0,0,0,0}, 7962159047fSniklas {0,0,0,0,0,0}, 7972159047fSniklas {0,0,0,0,0,0}, 7982159047fSniklas {0,0,0,0,0,0}, 7992159047fSniklas {0,0,0,0,0,0}, 8002159047fSniklas {0,0,0,0,0,0}, 8012159047fSniklas {0,0,0,0,0,0}, 8022159047fSniklas {0,0,0,0,0,0}, 8032159047fSniklas {0,0,0,0,0,0}, 8042159047fSniklas {0,0,0,0,0,0}, 8052159047fSniklas {0,0,0,0,0,0}, 8062159047fSniklas {0,0,0,0,0,0}, 8072159047fSniklas {0,0,0,0,0,0}, 8082159047fSniklas {0,0,0,0,0,0}, 8092159047fSniklas {0,0,0,0,0,0}, 8102159047fSniklas {0,0,0,0,0,0}, 8112159047fSniklas {0,0,0,0,0,0}, 8122159047fSniklas {0,0,0,0,0,0}, 8132159047fSniklas {0,0,0,0,0,0}, 8142159047fSniklas {0,0,0,0,0,0}, 8152159047fSniklas {0,0,0,0,0,0}, 8162159047fSniklas {0,0,0,0,0,0}, 8172159047fSniklas {0,0,0,0,0,0}, 8182159047fSniklas {0,0,0,0,0,0}, 8192159047fSniklas {0,0,0,0,0,0}, 8202159047fSniklas {0,0,0,0,0,0}, 8212159047fSniklas {0,0,0,0,0,0}, 8222159047fSniklas {0,0,0,0,0,0}, 8232159047fSniklas {0,0,0,0,0,0}, 8242159047fSniklas {0,0,0,0,0,0}, 8252159047fSniklas {0,0,0,0,0,0}, 8262159047fSniklas {0,0,0,0,0,0}, 8272159047fSniklas {0,0,0,0,0,0}, 8282159047fSniklas {0,0,0,0,0,0}, 8292159047fSniklas {0,0,0,0,0,0}, 8302159047fSniklas {0,0,0,0,0,0}, 8312159047fSniklas {0,0,0,0,0,0}, 8322159047fSniklas {0,0,0,0,0,0}, 8332159047fSniklas {0,0,0,0,0,0}, 8342159047fSniklas {0,0,0,0,0,0}, 8352159047fSniklas {0,0,0,0,0,0}, 8362159047fSniklas {0,0,0,0,0,0}, 8372159047fSniklas {0,0,0,0,0,0}, 8382159047fSniklas {0,0,0,0,0,0}, 8392159047fSniklas {0,0,0,0,0,0}, 8402159047fSniklas {0,0,0,0,0,0}, 8412159047fSniklas {0,0,0,0,0,0}, 8422159047fSniklas {0,0,0,0,0,0}, 8432159047fSniklas {0,0,0,0,0,0}, 8442159047fSniklas {0,0,0,0,0,0}, 8452159047fSniklas {0,0,0,0,0,0}, 8462159047fSniklas {0,0,0,0,0,0}, 8472159047fSniklas {0,0,0,0,0,0}, 8482159047fSniklas {0,0,0,0,0,0}, 8492159047fSniklas {0,0,0,0,0,0}, 8502159047fSniklas {0,0,0,0,0,0}, 8512159047fSniklas {0,0,0,0,0,0}, 8522159047fSniklas {0,0,0,0,0,0}, 8532159047fSniklas {0,0,0,0,0,0}, 8542159047fSniklas {0,0,0,0,0,0}, 8552159047fSniklas {0,0,0,0,0,0}, 8562159047fSniklas {0,0,0,0,0,0}, 8572159047fSniklas {0,0,0,0,0,0}, 8582159047fSniklas {0,0,0,0,0,0}, 8592159047fSniklas {0,0,0,0,0,0}, 8602159047fSniklas {0,0,0,0,0,0}, 8612159047fSniklas {0,0,0,0,0,0}, 8622159047fSniklas {116,3,rr,V,V,0}, /* frint.s */ 8632159047fSniklas {116,4,rr,V,V,0}, /* frint.d */ 8642159047fSniklas {0,0,0,0,0,0}, 8652159047fSniklas {0,0,0,0,0,0}, 8662159047fSniklas {116,11,rr,V,V,0}, /* frint.s.f */ 8672159047fSniklas {116,12,rr,V,V,0}, /* frint.d.f */ 8682159047fSniklas {0,0,0,0,0,0}, 8692159047fSniklas {0,0,0,0,0,0}, 8702159047fSniklas {0,0,0,0,0,0}, 8712159047fSniklas {0,0,0,0,0,0}, 8722159047fSniklas {0,0,0,0,0,0}, 8732159047fSniklas {0,0,0,0,0,0}, 8742159047fSniklas {0,0,0,0,0,0}, 8752159047fSniklas {0,0,0,0,0,0}, 8762159047fSniklas {0,0,0,0,0,0}, 8772159047fSniklas {0,0,0,0,0,0}, 8782159047fSniklas {0,0,0,0,0,0}, 8792159047fSniklas {0,0,0,0,0,0}, 8802159047fSniklas {81,3,rr,V,V,0}, /* sqrt.s */ 8812159047fSniklas {81,4,rr,V,V,0}, /* sqrt.d */ 8822159047fSniklas {0,0,0,0,0,0}, 8832159047fSniklas {0,0,0,0,0,0}, 8842159047fSniklas {0,0,0,0,0,0}, 8852159047fSniklas {0,0,0,0,0,0}, 8862159047fSniklas {0,0,0,0,0,0}, 8872159047fSniklas {0,0,0,0,0,0}, 8882159047fSniklas {81,11,rr,V,V,0}, /* sqrt.s.f */ 8892159047fSniklas {81,12,rr,V,V,0}, /* sqrt.d.f */ 8902159047fSniklas {0,0,0,0,0,0}, 8912159047fSniklas {0,0,0,0,0,0}, 8922159047fSniklas }; 8932159047fSniklas 894*c074d1c9Sdrahn const struct formstr e0_format3[] = { 8952159047fSniklas {32,11,rr,V,V,0}, /* cvtd.s.f */ 8962159047fSniklas {31,12,rr,V,V,0}, /* cvts.d.f */ 8972159047fSniklas {33,12,rr,V,V,0}, /* cvtl.d.f */ 8982159047fSniklas {32,16,rr,V,V,0}, /* cvtd.l.f */ 8992159047fSniklas {0,0,0,0,0,0}, 9002159047fSniklas {0,0,0,0,0,0}, 9012159047fSniklas {0,0,0,0,0,0}, 9022159047fSniklas {0,0,0,0,0,0}, 9032159047fSniklas {36,2,rr,V,V,0}, /* tzc.f */ 9042159047fSniklas {44,2,rr,V,V,0}, /* lop.f */ 9052159047fSniklas {117,2,rr,V,V,0}, /* xpnd.f */ 9062159047fSniklas {42,2,rr,V,V,0}, /* not.f */ 9072159047fSniklas {8,2,rr,S,V,0}, /* shf.f */ 9082159047fSniklas {35,17,rr,V,V,0}, /* plc.t.f */ 9092159047fSniklas {0,0,0,0,0,0}, 9102159047fSniklas {0,0,0,0,0,0}, 9112159047fSniklas {37,11,rr,V,V,0}, /* eq.s.f */ 9122159047fSniklas {37,12,rr,V,V,0}, /* eq.d.f */ 9132159047fSniklas {43,11,rr,V,V,0}, /* neg.s.f */ 9142159047fSniklas {43,12,rr,V,V,0}, /* neg.d.f */ 9152159047fSniklas {37,11,rr,S,V,0}, /* eq.s.f */ 9162159047fSniklas {37,12,rr,S,V,0}, /* eq.d.f */ 9172159047fSniklas {0,0,0,0,0,0}, 9182159047fSniklas {0,0,0,0,0,0}, 9192159047fSniklas {40,11,rr,V,V,0}, /* le.s.f */ 9202159047fSniklas {40,12,rr,V,V,0}, /* le.d.f */ 9212159047fSniklas {41,11,rr,V,V,0}, /* lt.s.f */ 9222159047fSniklas {41,12,rr,V,V,0}, /* lt.d.f */ 9232159047fSniklas {40,11,rr,S,V,0}, /* le.s.f */ 9242159047fSniklas {40,12,rr,S,V,0}, /* le.d.f */ 9252159047fSniklas {41,11,rr,S,V,0}, /* lt.s.f */ 9262159047fSniklas {41,12,rr,S,V,0}, /* lt.d.f */ 9272159047fSniklas {37,13,rr,V,V,0}, /* eq.b.f */ 9282159047fSniklas {37,14,rr,V,V,0}, /* eq.h.f */ 9292159047fSniklas {37,15,rr,V,V,0}, /* eq.w.f */ 9302159047fSniklas {37,16,rr,V,V,0}, /* eq.l.f */ 9312159047fSniklas {37,13,rr,S,V,0}, /* eq.b.f */ 9322159047fSniklas {37,14,rr,S,V,0}, /* eq.h.f */ 9332159047fSniklas {37,15,rr,S,V,0}, /* eq.w.f */ 9342159047fSniklas {37,16,rr,S,V,0}, /* eq.l.f */ 9352159047fSniklas {40,13,rr,V,V,0}, /* le.b.f */ 9362159047fSniklas {40,14,rr,V,V,0}, /* le.h.f */ 9372159047fSniklas {40,15,rr,V,V,0}, /* le.w.f */ 9382159047fSniklas {40,16,rr,V,V,0}, /* le.l.f */ 9392159047fSniklas {40,13,rr,S,V,0}, /* le.b.f */ 9402159047fSniklas {40,14,rr,S,V,0}, /* le.h.f */ 9412159047fSniklas {40,15,rr,S,V,0}, /* le.w.f */ 9422159047fSniklas {40,16,rr,S,V,0}, /* le.l.f */ 9432159047fSniklas {41,13,rr,V,V,0}, /* lt.b.f */ 9442159047fSniklas {41,14,rr,V,V,0}, /* lt.h.f */ 9452159047fSniklas {41,15,rr,V,V,0}, /* lt.w.f */ 9462159047fSniklas {41,16,rr,V,V,0}, /* lt.l.f */ 9472159047fSniklas {41,13,rr,S,V,0}, /* lt.b.f */ 9482159047fSniklas {41,14,rr,S,V,0}, /* lt.h.f */ 9492159047fSniklas {41,15,rr,S,V,0}, /* lt.w.f */ 9502159047fSniklas {41,16,rr,S,V,0}, /* lt.l.f */ 9512159047fSniklas {43,13,rr,V,V,0}, /* neg.b.f */ 9522159047fSniklas {43,14,rr,V,V,0}, /* neg.h.f */ 9532159047fSniklas {43,15,rr,V,V,0}, /* neg.w.f */ 9542159047fSniklas {43,16,rr,V,V,0}, /* neg.l.f */ 9552159047fSniklas {0,0,0,0,0,0}, 9562159047fSniklas {0,0,0,0,0,0}, 9572159047fSniklas {0,0,0,0,0,0}, 9582159047fSniklas {0,0,0,0,0,0}, 9592159047fSniklas }; 9602159047fSniklas 961*c074d1c9Sdrahn const struct formstr e0_format4[] = { 9622159047fSniklas {0,0,0,0,0,0}, 9632159047fSniklas {0,0,0,0,0,0}, 9642159047fSniklas {0,0,0,0,0,0}, 9652159047fSniklas {0,0,0,0,0,0}, 9662159047fSniklas {0,0,0,0,0,0}, 9672159047fSniklas {0,0,0,0,0,0}, 9682159047fSniklas {0,0,0,0,0,0}, 9692159047fSniklas {0,0,0,0,0,0}, 9702159047fSniklas }; 9712159047fSniklas 972*c074d1c9Sdrahn const struct formstr e0_format5[] = { 9732159047fSniklas {51,13,rr,V,V,0}, /* ldvi.b.f */ 9742159047fSniklas {51,14,rr,V,V,0}, /* ldvi.h.f */ 9752159047fSniklas {51,15,rr,V,V,0}, /* ldvi.w.f */ 9762159047fSniklas {51,16,rr,V,V,0}, /* ldvi.l.f */ 9772159047fSniklas {28,11,rr,V,V,0}, /* cvtw.s.f */ 9782159047fSniklas {31,15,rr,V,V,0}, /* cvts.w.f */ 9792159047fSniklas {28,16,rr,V,V,0}, /* cvtw.l.f */ 9802159047fSniklas {33,15,rr,V,V,0}, /* cvtl.w.f */ 9812159047fSniklas {52,13,rxr,V,V,0}, /* stvi.b.f */ 9822159047fSniklas {52,14,rxr,V,V,0}, /* stvi.h.f */ 9832159047fSniklas {52,15,rxr,V,V,0}, /* stvi.w.f */ 9842159047fSniklas {52,16,rxr,V,V,0}, /* stvi.l.f */ 9852159047fSniklas {52,13,rxr,S,V,0}, /* stvi.b.f */ 9862159047fSniklas {52,14,rxr,S,V,0}, /* stvi.h.f */ 9872159047fSniklas {52,15,rxr,S,V,0}, /* stvi.w.f */ 9882159047fSniklas {52,16,rxr,S,V,0}, /* stvi.l.f */ 9892159047fSniklas }; 9902159047fSniklas 991*c074d1c9Sdrahn const struct formstr e0_format6[] = { 9922159047fSniklas {0,0,rxl,S,CIR,0}, /* mov */ 9932159047fSniklas {0,0,lr,CIR,S,0}, /* mov */ 9942159047fSniklas {0,0,lr,TOC,S,0}, /* mov */ 9952159047fSniklas {0,0,lr,CPUID,S,0}, /* mov */ 9962159047fSniklas {0,0,rxl,S,TTR,0}, /* mov */ 9972159047fSniklas {0,0,lr,TTR,S,0}, /* mov */ 9982159047fSniklas {118,0,nops,0,0,0}, /* ctrsl */ 9992159047fSniklas {119,0,nops,0,0,0}, /* ctrsg */ 10002159047fSniklas {0,0,rxl,S,VMU,0}, /* mov */ 10012159047fSniklas {0,0,lr,VMU,S,0}, /* mov */ 10022159047fSniklas {0,0,rxl,S,VML,0}, /* mov */ 10032159047fSniklas {0,0,lr,VML,S,0}, /* mov */ 10042159047fSniklas {0,0,rxl,S,ICR,0}, /* mov */ 10052159047fSniklas {0,0,lr,ICR,S,0}, /* mov */ 10062159047fSniklas {0,0,rxl,S,TCPU,0}, /* mov */ 10072159047fSniklas {0,0,lr,TCPU,S,0}, /* mov */ 10082159047fSniklas {0,0,0,0,0,0}, 10092159047fSniklas {0,0,0,0,0,0}, 10102159047fSniklas {0,0,0,0,0,0}, 10112159047fSniklas {0,0,0,0,0,0}, 10122159047fSniklas {120,0,nops,0,0,0}, /* stop */ 10132159047fSniklas {0,0,0,0,0,0}, 10142159047fSniklas {0,0,rxl,S,TID,0}, /* mov */ 10152159047fSniklas {0,0,lr,TID,S,0}, /* mov */ 10162159047fSniklas {0,0,0,0,0,0}, 10172159047fSniklas {0,0,0,0,0,0}, 10182159047fSniklas {0,0,0,0,0,0}, 10192159047fSniklas {0,0,0,0,0,0}, 10202159047fSniklas {0,0,0,0,0,0}, 10212159047fSniklas {0,0,0,0,0,0}, 10222159047fSniklas {0,0,0,0,0,0}, 10232159047fSniklas {0,0,0,0,0,0}, 10242159047fSniklas {0,0,0,0,0,0}, 10252159047fSniklas {0,0,0,0,0,0}, 10262159047fSniklas {0,0,0,0,0,0}, 10272159047fSniklas {0,0,0,0,0,0}, 10282159047fSniklas {0,0,0,0,0,0}, 10292159047fSniklas {0,0,0,0,0,0}, 10302159047fSniklas {0,0,0,0,0,0}, 10312159047fSniklas {0,0,0,0,0,0}, 10322159047fSniklas {0,0,0,0,0,0}, 10332159047fSniklas {0,0,0,0,0,0}, 10342159047fSniklas {0,0,0,0,0,0}, 10352159047fSniklas {0,0,0,0,0,0}, 10362159047fSniklas {0,0,0,0,0,0}, 10372159047fSniklas {0,0,0,0,0,0}, 10382159047fSniklas {0,0,0,0,0,0}, 10392159047fSniklas {0,0,0,0,0,0}, 10402159047fSniklas {0,0,0,0,0,0}, 10412159047fSniklas {0,0,0,0,0,0}, 10422159047fSniklas {0,0,0,0,0,0}, 10432159047fSniklas {0,0,0,0,0,0}, 10442159047fSniklas {0,0,0,0,0,0}, 10452159047fSniklas {0,0,0,0,0,0}, 10462159047fSniklas {0,0,0,0,0,0}, 10472159047fSniklas {0,0,0,0,0,0}, 10482159047fSniklas {0,0,0,0,0,0}, 10492159047fSniklas {0,0,0,0,0,0}, 10502159047fSniklas {0,0,0,0,0,0}, 10512159047fSniklas {0,0,0,0,0,0}, 10522159047fSniklas {0,0,0,0,0,0}, 10532159047fSniklas {0,0,0,0,0,0}, 10542159047fSniklas {0,0,0,0,0,0}, 10552159047fSniklas {0,0,0,0,0,0}, 10562159047fSniklas }; 10572159047fSniklas 1058*c074d1c9Sdrahn const struct formstr e0_format7[] = { 10592159047fSniklas {84,13,r,V,0,0}, /* sum.b.f */ 10602159047fSniklas {84,14,r,V,0,0}, /* sum.h.f */ 10612159047fSniklas {84,15,r,V,0,0}, /* sum.w.f */ 10622159047fSniklas {84,16,r,V,0,0}, /* sum.l.f */ 10632159047fSniklas {85,2,r,V,0,0}, /* all.f */ 10642159047fSniklas {86,2,r,V,0,0}, /* any.f */ 10652159047fSniklas {87,2,r,V,0,0}, /* parity.f */ 10662159047fSniklas {0,0,0,0,0,0}, 10672159047fSniklas {88,13,r,V,0,0}, /* max.b.f */ 10682159047fSniklas {88,14,r,V,0,0}, /* max.h.f */ 10692159047fSniklas {88,15,r,V,0,0}, /* max.w.f */ 10702159047fSniklas {88,16,r,V,0,0}, /* max.l.f */ 10712159047fSniklas {89,13,r,V,0,0}, /* min.b.f */ 10722159047fSniklas {89,14,r,V,0,0}, /* min.h.f */ 10732159047fSniklas {89,15,r,V,0,0}, /* min.w.f */ 10742159047fSniklas {89,16,r,V,0,0}, /* min.l.f */ 10752159047fSniklas {84,11,r,V,0,0}, /* sum.s.f */ 10762159047fSniklas {84,12,r,V,0,0}, /* sum.d.f */ 10772159047fSniklas {90,11,r,V,0,0}, /* prod.s.f */ 10782159047fSniklas {90,12,r,V,0,0}, /* prod.d.f */ 10792159047fSniklas {88,11,r,V,0,0}, /* max.s.f */ 10802159047fSniklas {88,12,r,V,0,0}, /* max.d.f */ 10812159047fSniklas {89,11,r,V,0,0}, /* min.s.f */ 10822159047fSniklas {89,12,r,V,0,0}, /* min.d.f */ 10832159047fSniklas {90,13,r,V,0,0}, /* prod.b.f */ 10842159047fSniklas {90,14,r,V,0,0}, /* prod.h.f */ 10852159047fSniklas {90,15,r,V,0,0}, /* prod.w.f */ 10862159047fSniklas {90,16,r,V,0,0}, /* prod.l.f */ 10872159047fSniklas {0,0,0,0,0,0}, 10882159047fSniklas {0,0,0,0,0,0}, 10892159047fSniklas {0,0,0,0,0,0}, 10902159047fSniklas {0,0,0,0,0,0}, 10912159047fSniklas }; 10922159047fSniklas 1093*c074d1c9Sdrahn const struct formstr e1_format0[] = { 10942159047fSniklas {0,0,0,0,0,0}, 10952159047fSniklas {0,0,0,0,0,0}, 10962159047fSniklas {0,0,0,0,0,0}, 10972159047fSniklas {0,0,0,0,0,0}, 10982159047fSniklas {10,18,rrr,S,V,V}, /* sub.s.t */ 10992159047fSniklas {10,19,rrr,S,V,V}, /* sub.d.t */ 11002159047fSniklas {4,18,rrr,S,V,V}, /* div.s.t */ 11012159047fSniklas {4,19,rrr,S,V,V}, /* div.d.t */ 11022159047fSniklas {3,18,rrr,V,V,V}, /* mul.s.t */ 11032159047fSniklas {3,19,rrr,V,V,V}, /* mul.d.t */ 11042159047fSniklas {4,18,rrr,V,V,V}, /* div.s.t */ 11052159047fSniklas {4,19,rrr,V,V,V}, /* div.d.t */ 11062159047fSniklas {3,18,rrr,V,S,V}, /* mul.s.t */ 11072159047fSniklas {3,19,rrr,V,S,V}, /* mul.d.t */ 11082159047fSniklas {4,18,rrr,V,S,V}, /* div.s.t */ 11092159047fSniklas {4,19,rrr,V,S,V}, /* div.d.t */ 11102159047fSniklas {5,1,rrr,V,V,V}, /* and.t */ 11112159047fSniklas {6,1,rrr,V,V,V}, /* or.t */ 11122159047fSniklas {7,1,rrr,V,V,V}, /* xor.t */ 11132159047fSniklas {8,1,rrr,V,V,V}, /* shf.t */ 11142159047fSniklas {5,1,rrr,V,S,V}, /* and.t */ 11152159047fSniklas {6,1,rrr,V,S,V}, /* or.t */ 11162159047fSniklas {7,1,rrr,V,S,V}, /* xor.t */ 11172159047fSniklas {8,1,rrr,V,S,V}, /* shf.t */ 11182159047fSniklas {9,18,rrr,V,V,V}, /* add.s.t */ 11192159047fSniklas {9,19,rrr,V,V,V}, /* add.d.t */ 11202159047fSniklas {10,18,rrr,V,V,V}, /* sub.s.t */ 11212159047fSniklas {10,19,rrr,V,V,V}, /* sub.d.t */ 11222159047fSniklas {9,18,rrr,V,S,V}, /* add.s.t */ 11232159047fSniklas {9,19,rrr,V,S,V}, /* add.d.t */ 11242159047fSniklas {10,18,rrr,V,S,V}, /* sub.s.t */ 11252159047fSniklas {10,19,rrr,V,S,V}, /* sub.d.t */ 11262159047fSniklas {9,20,rrr,V,V,V}, /* add.b.t */ 11272159047fSniklas {9,21,rrr,V,V,V}, /* add.h.t */ 11282159047fSniklas {9,22,rrr,V,V,V}, /* add.w.t */ 11292159047fSniklas {9,23,rrr,V,V,V}, /* add.l.t */ 11302159047fSniklas {9,20,rrr,V,S,V}, /* add.b.t */ 11312159047fSniklas {9,21,rrr,V,S,V}, /* add.h.t */ 11322159047fSniklas {9,22,rrr,V,S,V}, /* add.w.t */ 11332159047fSniklas {9,23,rrr,V,S,V}, /* add.l.t */ 11342159047fSniklas {10,20,rrr,V,V,V}, /* sub.b.t */ 11352159047fSniklas {10,21,rrr,V,V,V}, /* sub.h.t */ 11362159047fSniklas {10,22,rrr,V,V,V}, /* sub.w.t */ 11372159047fSniklas {10,23,rrr,V,V,V}, /* sub.l.t */ 11382159047fSniklas {10,20,rrr,V,S,V}, /* sub.b.t */ 11392159047fSniklas {10,21,rrr,V,S,V}, /* sub.h.t */ 11402159047fSniklas {10,22,rrr,V,S,V}, /* sub.w.t */ 11412159047fSniklas {10,23,rrr,V,S,V}, /* sub.l.t */ 11422159047fSniklas {3,20,rrr,V,V,V}, /* mul.b.t */ 11432159047fSniklas {3,21,rrr,V,V,V}, /* mul.h.t */ 11442159047fSniklas {3,22,rrr,V,V,V}, /* mul.w.t */ 11452159047fSniklas {3,23,rrr,V,V,V}, /* mul.l.t */ 11462159047fSniklas {3,20,rrr,V,S,V}, /* mul.b.t */ 11472159047fSniklas {3,21,rrr,V,S,V}, /* mul.h.t */ 11482159047fSniklas {3,22,rrr,V,S,V}, /* mul.w.t */ 11492159047fSniklas {3,23,rrr,V,S,V}, /* mul.l.t */ 11502159047fSniklas {4,20,rrr,V,V,V}, /* div.b.t */ 11512159047fSniklas {4,21,rrr,V,V,V}, /* div.h.t */ 11522159047fSniklas {4,22,rrr,V,V,V}, /* div.w.t */ 11532159047fSniklas {4,23,rrr,V,V,V}, /* div.l.t */ 11542159047fSniklas {4,20,rrr,V,S,V}, /* div.b.t */ 11552159047fSniklas {4,21,rrr,V,S,V}, /* div.h.t */ 11562159047fSniklas {4,22,rrr,V,S,V}, /* div.w.t */ 11572159047fSniklas {4,23,rrr,V,S,V}, /* div.l.t */ 11582159047fSniklas }; 11592159047fSniklas 1160*c074d1c9Sdrahn const struct formstr e1_format1[] = { 11612159047fSniklas {0,0,0,0,0,0}, 11622159047fSniklas {0,0,0,0,0,0}, 11632159047fSniklas {0,0,0,0,0,0}, 11642159047fSniklas {0,0,0,0,0,0}, 11652159047fSniklas {0,0,0,0,0,0}, 11662159047fSniklas {0,0,0,0,0,0}, 11672159047fSniklas {0,0,0,0,0,0}, 11682159047fSniklas {0,0,0,0,0,0}, 11692159047fSniklas {0,0,0,0,0,0}, 11702159047fSniklas {0,0,0,0,0,0}, 11712159047fSniklas {0,0,0,0,0,0}, 11722159047fSniklas {0,0,0,0,0,0}, 11732159047fSniklas {0,0,0,0,0,0}, 11742159047fSniklas {0,0,0,0,0,0}, 11752159047fSniklas {0,0,0,0,0,0}, 11762159047fSniklas {0,0,0,0,0,0}, 11772159047fSniklas {0,0,0,0,0,0}, 11782159047fSniklas {0,0,0,0,0,0}, 11792159047fSniklas {0,0,0,0,0,0}, 11802159047fSniklas {0,0,0,0,0,0}, 11812159047fSniklas {0,0,0,0,0,0}, 11822159047fSniklas {0,0,0,0,0,0}, 11832159047fSniklas {0,0,0,0,0,0}, 11842159047fSniklas {0,0,0,0,0,0}, 11852159047fSniklas {0,0,0,0,0,0}, 11862159047fSniklas {0,0,0,0,0,0}, 11872159047fSniklas {0,0,0,0,0,0}, 11882159047fSniklas {0,0,0,0,0,0}, 11892159047fSniklas {0,0,0,0,0,0}, 11902159047fSniklas {0,0,0,0,0,0}, 11912159047fSniklas {0,0,0,0,0,0}, 11922159047fSniklas {0,0,0,0,0,0}, 11932159047fSniklas {0,0,0,0,0,0}, 11942159047fSniklas {0,0,0,0,0,0}, 11952159047fSniklas {0,0,0,0,0,0}, 11962159047fSniklas {0,0,0,0,0,0}, 11972159047fSniklas {26,20,a2r,S,0,0}, /* ste.b.t */ 11982159047fSniklas {26,21,a2r,S,0,0}, /* ste.h.t */ 11992159047fSniklas {26,22,a2r,S,0,0}, /* ste.w.t */ 12002159047fSniklas {26,23,a2r,S,0,0}, /* ste.l.t */ 12012159047fSniklas {0,0,0,0,0,0}, 12022159047fSniklas {0,0,0,0,0,0}, 12032159047fSniklas {0,0,0,0,0,0}, 12042159047fSniklas {0,0,0,0,0,0}, 12052159047fSniklas {0,0,0,0,0,0}, 12062159047fSniklas {0,0,0,0,0,0}, 12072159047fSniklas {0,0,0,0,0,0}, 12082159047fSniklas {0,0,0,0,0,0}, 12092159047fSniklas {0,0,0,0,0,0}, 12102159047fSniklas {0,0,0,0,0,0}, 12112159047fSniklas {0,0,0,0,0,0}, 12122159047fSniklas {0,0,0,0,0,0}, 12132159047fSniklas {0,0,0,0,0,0}, 12142159047fSniklas {0,0,0,0,0,0}, 12152159047fSniklas {0,0,0,0,0,0}, 12162159047fSniklas {0,0,0,0,0,0}, 12172159047fSniklas {18,20,a1r,V,0,0}, /* ld.b.t */ 12182159047fSniklas {18,21,a1r,V,0,0}, /* ld.h.t */ 12192159047fSniklas {18,22,a1r,V,0,0}, /* ld.w.t */ 12202159047fSniklas {18,23,a1r,V,0,0}, /* ld.l.t */ 12212159047fSniklas {21,20,a2r,V,0,0}, /* st.b.t */ 12222159047fSniklas {21,21,a2r,V,0,0}, /* st.h.t */ 12232159047fSniklas {21,22,a2r,V,0,0}, /* st.w.t */ 12242159047fSniklas {21,23,a2r,V,0,0}, /* st.l.t */ 12252159047fSniklas }; 12262159047fSniklas 1227*c074d1c9Sdrahn const struct formstr e1_format2[] = { 12282159047fSniklas {0,0,0,0,0,0}, 12292159047fSniklas {0,0,0,0,0,0}, 12302159047fSniklas {0,0,0,0,0,0}, 12312159047fSniklas {0,0,0,0,0,0}, 12322159047fSniklas {28,20,rr,V,V,0}, /* cvtw.b.t */ 12332159047fSniklas {28,21,rr,V,V,0}, /* cvtw.h.t */ 12342159047fSniklas {29,22,rr,V,V,0}, /* cvtb.w.t */ 12352159047fSniklas {30,22,rr,V,V,0}, /* cvth.w.t */ 12362159047fSniklas {0,0,0,0,0,0}, 12372159047fSniklas {0,0,0,0,0,0}, 12382159047fSniklas {0,0,0,0,0,0}, 12392159047fSniklas {0,0,0,0,0,0}, 12402159047fSniklas {31,23,rr,V,V,0}, /* cvts.l.t */ 12412159047fSniklas {32,22,rr,V,V,0}, /* cvtd.w.t */ 12422159047fSniklas {33,18,rr,V,V,0}, /* cvtl.s.t */ 12432159047fSniklas {28,19,rr,V,V,0}, /* cvtw.d.t */ 12442159047fSniklas {0,0,0,0,0,0}, 12452159047fSniklas {0,0,0,0,0,0}, 12462159047fSniklas {0,0,0,0,0,0}, 12472159047fSniklas {0,0,0,0,0,0}, 12482159047fSniklas {0,0,0,0,0,0}, 12492159047fSniklas {0,0,0,0,0,0}, 12502159047fSniklas {0,0,0,0,0,0}, 12512159047fSniklas {0,0,0,0,0,0}, 12522159047fSniklas {0,0,0,0,0,0}, 12532159047fSniklas {0,0,0,0,0,0}, 12542159047fSniklas {0,0,0,0,0,0}, 12552159047fSniklas {0,0,0,0,0,0}, 12562159047fSniklas {0,0,0,0,0,0}, 12572159047fSniklas {0,0,0,0,0,0}, 12582159047fSniklas {0,0,0,0,0,0}, 12592159047fSniklas {0,0,0,0,0,0}, 12602159047fSniklas {0,0,0,0,0,0}, 12612159047fSniklas {0,0,0,0,0,0}, 12622159047fSniklas {0,0,0,0,0,0}, 12632159047fSniklas {0,0,0,0,0,0}, 12642159047fSniklas {0,0,0,0,0,0}, 12652159047fSniklas {0,0,0,0,0,0}, 12662159047fSniklas {0,0,0,0,0,0}, 12672159047fSniklas {0,0,0,0,0,0}, 12682159047fSniklas {0,0,0,0,0,0}, 12692159047fSniklas {0,0,0,0,0,0}, 12702159047fSniklas {0,0,0,0,0,0}, 12712159047fSniklas {0,0,0,0,0,0}, 12722159047fSniklas {0,0,0,0,0,0}, 12732159047fSniklas {0,0,0,0,0,0}, 12742159047fSniklas {0,0,0,0,0,0}, 12752159047fSniklas {0,0,0,0,0,0}, 12762159047fSniklas {0,0,0,0,0,0}, 12772159047fSniklas {0,0,0,0,0,0}, 12782159047fSniklas {0,0,0,0,0,0}, 12792159047fSniklas {0,0,0,0,0,0}, 12802159047fSniklas {0,0,0,0,0,0}, 12812159047fSniklas {0,0,0,0,0,0}, 12822159047fSniklas {0,0,0,0,0,0}, 12832159047fSniklas {0,0,0,0,0,0}, 12842159047fSniklas {0,0,0,0,0,0}, 12852159047fSniklas {0,0,0,0,0,0}, 12862159047fSniklas {0,0,0,0,0,0}, 12872159047fSniklas {0,0,0,0,0,0}, 12882159047fSniklas {0,0,0,0,0,0}, 12892159047fSniklas {0,0,0,0,0,0}, 12902159047fSniklas {0,0,0,0,0,0}, 12912159047fSniklas {0,0,0,0,0,0}, 12922159047fSniklas {0,0,0,0,0,0}, 12932159047fSniklas {0,0,0,0,0,0}, 12942159047fSniklas {0,0,0,0,0,0}, 12952159047fSniklas {0,0,0,0,0,0}, 12962159047fSniklas {0,0,0,0,0,0}, 12972159047fSniklas {0,0,0,0,0,0}, 12982159047fSniklas {0,0,0,0,0,0}, 12992159047fSniklas {0,0,0,0,0,0}, 13002159047fSniklas {0,0,0,0,0,0}, 13012159047fSniklas {0,0,0,0,0,0}, 13022159047fSniklas {0,0,0,0,0,0}, 13032159047fSniklas {0,0,0,0,0,0}, 13042159047fSniklas {0,0,0,0,0,0}, 13052159047fSniklas {0,0,0,0,0,0}, 13062159047fSniklas {0,0,0,0,0,0}, 13072159047fSniklas {0,0,0,0,0,0}, 13082159047fSniklas {0,0,0,0,0,0}, 13092159047fSniklas {0,0,0,0,0,0}, 13102159047fSniklas {0,0,0,0,0,0}, 13112159047fSniklas {0,0,0,0,0,0}, 13122159047fSniklas {0,0,0,0,0,0}, 13132159047fSniklas {0,0,0,0,0,0}, 13142159047fSniklas {0,0,0,0,0,0}, 13152159047fSniklas {0,0,0,0,0,0}, 13162159047fSniklas {0,0,0,0,0,0}, 13172159047fSniklas {0,0,0,0,0,0}, 13182159047fSniklas {0,0,0,0,0,0}, 13192159047fSniklas {0,0,0,0,0,0}, 13202159047fSniklas {0,0,0,0,0,0}, 13212159047fSniklas {0,0,0,0,0,0}, 13222159047fSniklas {0,0,0,0,0,0}, 13232159047fSniklas {0,0,0,0,0,0}, 13242159047fSniklas {0,0,0,0,0,0}, 13252159047fSniklas {0,0,0,0,0,0}, 13262159047fSniklas {0,0,0,0,0,0}, 13272159047fSniklas {0,0,0,0,0,0}, 13282159047fSniklas {0,0,0,0,0,0}, 13292159047fSniklas {0,0,0,0,0,0}, 13302159047fSniklas {116,18,rr,V,V,0}, /* frint.s.t */ 13312159047fSniklas {116,19,rr,V,V,0}, /* frint.d.t */ 13322159047fSniklas {0,0,0,0,0,0}, 13332159047fSniklas {0,0,0,0,0,0}, 13342159047fSniklas {0,0,0,0,0,0}, 13352159047fSniklas {0,0,0,0,0,0}, 13362159047fSniklas {0,0,0,0,0,0}, 13372159047fSniklas {0,0,0,0,0,0}, 13382159047fSniklas {0,0,0,0,0,0}, 13392159047fSniklas {0,0,0,0,0,0}, 13402159047fSniklas {0,0,0,0,0,0}, 13412159047fSniklas {0,0,0,0,0,0}, 13422159047fSniklas {0,0,0,0,0,0}, 13432159047fSniklas {0,0,0,0,0,0}, 13442159047fSniklas {0,0,0,0,0,0}, 13452159047fSniklas {0,0,0,0,0,0}, 13462159047fSniklas {0,0,0,0,0,0}, 13472159047fSniklas {0,0,0,0,0,0}, 13482159047fSniklas {0,0,0,0,0,0}, 13492159047fSniklas {0,0,0,0,0,0}, 13502159047fSniklas {0,0,0,0,0,0}, 13512159047fSniklas {0,0,0,0,0,0}, 13522159047fSniklas {81,18,rr,V,V,0}, /* sqrt.s.t */ 13532159047fSniklas {81,19,rr,V,V,0}, /* sqrt.d.t */ 13542159047fSniklas {0,0,0,0,0,0}, 13552159047fSniklas {0,0,0,0,0,0}, 13562159047fSniklas }; 13572159047fSniklas 1358*c074d1c9Sdrahn const struct formstr e1_format3[] = { 13592159047fSniklas {32,18,rr,V,V,0}, /* cvtd.s.t */ 13602159047fSniklas {31,19,rr,V,V,0}, /* cvts.d.t */ 13612159047fSniklas {33,19,rr,V,V,0}, /* cvtl.d.t */ 13622159047fSniklas {32,23,rr,V,V,0}, /* cvtd.l.t */ 13632159047fSniklas {0,0,0,0,0,0}, 13642159047fSniklas {0,0,0,0,0,0}, 13652159047fSniklas {0,0,0,0,0,0}, 13662159047fSniklas {0,0,0,0,0,0}, 13672159047fSniklas {36,1,rr,V,V,0}, /* tzc.t */ 13682159047fSniklas {44,1,rr,V,V,0}, /* lop.t */ 13692159047fSniklas {117,1,rr,V,V,0}, /* xpnd.t */ 13702159047fSniklas {42,1,rr,V,V,0}, /* not.t */ 13712159047fSniklas {8,1,rr,S,V,0}, /* shf.t */ 13722159047fSniklas {35,24,rr,V,V,0}, /* plc.t.t */ 13732159047fSniklas {0,0,0,0,0,0}, 13742159047fSniklas {0,0,0,0,0,0}, 13752159047fSniklas {37,18,rr,V,V,0}, /* eq.s.t */ 13762159047fSniklas {37,19,rr,V,V,0}, /* eq.d.t */ 13772159047fSniklas {43,18,rr,V,V,0}, /* neg.s.t */ 13782159047fSniklas {43,19,rr,V,V,0}, /* neg.d.t */ 13792159047fSniklas {37,18,rr,S,V,0}, /* eq.s.t */ 13802159047fSniklas {37,19,rr,S,V,0}, /* eq.d.t */ 13812159047fSniklas {0,0,0,0,0,0}, 13822159047fSniklas {0,0,0,0,0,0}, 13832159047fSniklas {40,18,rr,V,V,0}, /* le.s.t */ 13842159047fSniklas {40,19,rr,V,V,0}, /* le.d.t */ 13852159047fSniklas {41,18,rr,V,V,0}, /* lt.s.t */ 13862159047fSniklas {41,19,rr,V,V,0}, /* lt.d.t */ 13872159047fSniklas {40,18,rr,S,V,0}, /* le.s.t */ 13882159047fSniklas {40,19,rr,S,V,0}, /* le.d.t */ 13892159047fSniklas {41,18,rr,S,V,0}, /* lt.s.t */ 13902159047fSniklas {41,19,rr,S,V,0}, /* lt.d.t */ 13912159047fSniklas {37,20,rr,V,V,0}, /* eq.b.t */ 13922159047fSniklas {37,21,rr,V,V,0}, /* eq.h.t */ 13932159047fSniklas {37,22,rr,V,V,0}, /* eq.w.t */ 13942159047fSniklas {37,23,rr,V,V,0}, /* eq.l.t */ 13952159047fSniklas {37,20,rr,S,V,0}, /* eq.b.t */ 13962159047fSniklas {37,21,rr,S,V,0}, /* eq.h.t */ 13972159047fSniklas {37,22,rr,S,V,0}, /* eq.w.t */ 13982159047fSniklas {37,23,rr,S,V,0}, /* eq.l.t */ 13992159047fSniklas {40,20,rr,V,V,0}, /* le.b.t */ 14002159047fSniklas {40,21,rr,V,V,0}, /* le.h.t */ 14012159047fSniklas {40,22,rr,V,V,0}, /* le.w.t */ 14022159047fSniklas {40,23,rr,V,V,0}, /* le.l.t */ 14032159047fSniklas {40,20,rr,S,V,0}, /* le.b.t */ 14042159047fSniklas {40,21,rr,S,V,0}, /* le.h.t */ 14052159047fSniklas {40,22,rr,S,V,0}, /* le.w.t */ 14062159047fSniklas {40,23,rr,S,V,0}, /* le.l.t */ 14072159047fSniklas {41,20,rr,V,V,0}, /* lt.b.t */ 14082159047fSniklas {41,21,rr,V,V,0}, /* lt.h.t */ 14092159047fSniklas {41,22,rr,V,V,0}, /* lt.w.t */ 14102159047fSniklas {41,23,rr,V,V,0}, /* lt.l.t */ 14112159047fSniklas {41,20,rr,S,V,0}, /* lt.b.t */ 14122159047fSniklas {41,21,rr,S,V,0}, /* lt.h.t */ 14132159047fSniklas {41,22,rr,S,V,0}, /* lt.w.t */ 14142159047fSniklas {41,23,rr,S,V,0}, /* lt.l.t */ 14152159047fSniklas {43,20,rr,V,V,0}, /* neg.b.t */ 14162159047fSniklas {43,21,rr,V,V,0}, /* neg.h.t */ 14172159047fSniklas {43,22,rr,V,V,0}, /* neg.w.t */ 14182159047fSniklas {43,23,rr,V,V,0}, /* neg.l.t */ 14192159047fSniklas {0,0,0,0,0,0}, 14202159047fSniklas {0,0,0,0,0,0}, 14212159047fSniklas {0,0,0,0,0,0}, 14222159047fSniklas {0,0,0,0,0,0}, 14232159047fSniklas }; 14242159047fSniklas 1425*c074d1c9Sdrahn const struct formstr e1_format4[] = { 14262159047fSniklas {0,0,0,0,0,0}, 14272159047fSniklas {0,0,0,0,0,0}, 14282159047fSniklas {0,0,0,0,0,0}, 14292159047fSniklas {0,0,0,0,0,0}, 14302159047fSniklas {0,0,0,0,0,0}, 14312159047fSniklas {0,0,0,0,0,0}, 14322159047fSniklas {0,0,0,0,0,0}, 14332159047fSniklas {0,0,0,0,0,0}, 14342159047fSniklas }; 14352159047fSniklas 1436*c074d1c9Sdrahn const struct formstr e1_format5[] = { 14372159047fSniklas {51,20,rr,V,V,0}, /* ldvi.b.t */ 14382159047fSniklas {51,21,rr,V,V,0}, /* ldvi.h.t */ 14392159047fSniklas {51,22,rr,V,V,0}, /* ldvi.w.t */ 14402159047fSniklas {51,23,rr,V,V,0}, /* ldvi.l.t */ 14412159047fSniklas {28,18,rr,V,V,0}, /* cvtw.s.t */ 14422159047fSniklas {31,22,rr,V,V,0}, /* cvts.w.t */ 14432159047fSniklas {28,23,rr,V,V,0}, /* cvtw.l.t */ 14442159047fSniklas {33,22,rr,V,V,0}, /* cvtl.w.t */ 14452159047fSniklas {52,20,rxr,V,V,0}, /* stvi.b.t */ 14462159047fSniklas {52,21,rxr,V,V,0}, /* stvi.h.t */ 14472159047fSniklas {52,22,rxr,V,V,0}, /* stvi.w.t */ 14482159047fSniklas {52,23,rxr,V,V,0}, /* stvi.l.t */ 14492159047fSniklas {52,20,rxr,S,V,0}, /* stvi.b.t */ 14502159047fSniklas {52,21,rxr,S,V,0}, /* stvi.h.t */ 14512159047fSniklas {52,22,rxr,S,V,0}, /* stvi.w.t */ 14522159047fSniklas {52,23,rxr,S,V,0}, /* stvi.l.t */ 14532159047fSniklas }; 14542159047fSniklas 1455*c074d1c9Sdrahn const struct formstr e1_format6[] = { 14562159047fSniklas {0,0,0,0,0,0}, 14572159047fSniklas {0,0,0,0,0,0}, 14582159047fSniklas {0,0,0,0,0,0}, 14592159047fSniklas {0,0,0,0,0,0}, 14602159047fSniklas {0,0,0,0,0,0}, 14612159047fSniklas {0,0,0,0,0,0}, 14622159047fSniklas {0,0,0,0,0,0}, 14632159047fSniklas {0,0,0,0,0,0}, 14642159047fSniklas {0,0,0,0,0,0}, 14652159047fSniklas {0,0,0,0,0,0}, 14662159047fSniklas {0,0,0,0,0,0}, 14672159047fSniklas {0,0,0,0,0,0}, 14682159047fSniklas {0,0,0,0,0,0}, 14692159047fSniklas {0,0,0,0,0,0}, 14702159047fSniklas {0,0,0,0,0,0}, 14712159047fSniklas {0,0,0,0,0,0}, 14722159047fSniklas {0,0,0,0,0,0}, 14732159047fSniklas {0,0,0,0,0,0}, 14742159047fSniklas {0,0,0,0,0,0}, 14752159047fSniklas {0,0,0,0,0,0}, 14762159047fSniklas {0,0,0,0,0,0}, 14772159047fSniklas {0,0,0,0,0,0}, 14782159047fSniklas {0,0,0,0,0,0}, 14792159047fSniklas {0,0,0,0,0,0}, 14802159047fSniklas {0,0,0,0,0,0}, 14812159047fSniklas {0,0,0,0,0,0}, 14822159047fSniklas {0,0,0,0,0,0}, 14832159047fSniklas {0,0,0,0,0,0}, 14842159047fSniklas {0,0,0,0,0,0}, 14852159047fSniklas {0,0,0,0,0,0}, 14862159047fSniklas {0,0,0,0,0,0}, 14872159047fSniklas {0,0,0,0,0,0}, 14882159047fSniklas {0,0,0,0,0,0}, 14892159047fSniklas {0,0,0,0,0,0}, 14902159047fSniklas {0,0,0,0,0,0}, 14912159047fSniklas {0,0,0,0,0,0}, 14922159047fSniklas {0,0,0,0,0,0}, 14932159047fSniklas {0,0,0,0,0,0}, 14942159047fSniklas {0,0,0,0,0,0}, 14952159047fSniklas {0,0,0,0,0,0}, 14962159047fSniklas {0,0,0,0,0,0}, 14972159047fSniklas {0,0,0,0,0,0}, 14982159047fSniklas {0,0,0,0,0,0}, 14992159047fSniklas {0,0,0,0,0,0}, 15002159047fSniklas {0,0,0,0,0,0}, 15012159047fSniklas {0,0,0,0,0,0}, 15022159047fSniklas {0,0,0,0,0,0}, 15032159047fSniklas {0,0,0,0,0,0}, 15042159047fSniklas {0,0,0,0,0,0}, 15052159047fSniklas {0,0,0,0,0,0}, 15062159047fSniklas {0,0,0,0,0,0}, 15072159047fSniklas {0,0,0,0,0,0}, 15082159047fSniklas {0,0,0,0,0,0}, 15092159047fSniklas {0,0,0,0,0,0}, 15102159047fSniklas {0,0,0,0,0,0}, 15112159047fSniklas {0,0,0,0,0,0}, 15122159047fSniklas {0,0,0,0,0,0}, 15132159047fSniklas {0,0,0,0,0,0}, 15142159047fSniklas {0,0,0,0,0,0}, 15152159047fSniklas {0,0,0,0,0,0}, 15162159047fSniklas {0,0,0,0,0,0}, 15172159047fSniklas {0,0,0,0,0,0}, 15182159047fSniklas {0,0,0,0,0,0}, 15192159047fSniklas {0,0,0,0,0,0}, 15202159047fSniklas }; 15212159047fSniklas 1522*c074d1c9Sdrahn const struct formstr e1_format7[] = { 15232159047fSniklas {84,20,r,V,0,0}, /* sum.b.t */ 15242159047fSniklas {84,21,r,V,0,0}, /* sum.h.t */ 15252159047fSniklas {84,22,r,V,0,0}, /* sum.w.t */ 15262159047fSniklas {84,23,r,V,0,0}, /* sum.l.t */ 15272159047fSniklas {85,1,r,V,0,0}, /* all.t */ 15282159047fSniklas {86,1,r,V,0,0}, /* any.t */ 15292159047fSniklas {87,1,r,V,0,0}, /* parity.t */ 15302159047fSniklas {0,0,0,0,0,0}, 15312159047fSniklas {88,20,r,V,0,0}, /* max.b.t */ 15322159047fSniklas {88,21,r,V,0,0}, /* max.h.t */ 15332159047fSniklas {88,22,r,V,0,0}, /* max.w.t */ 15342159047fSniklas {88,23,r,V,0,0}, /* max.l.t */ 15352159047fSniklas {89,20,r,V,0,0}, /* min.b.t */ 15362159047fSniklas {89,21,r,V,0,0}, /* min.h.t */ 15372159047fSniklas {89,22,r,V,0,0}, /* min.w.t */ 15382159047fSniklas {89,23,r,V,0,0}, /* min.l.t */ 15392159047fSniklas {84,18,r,V,0,0}, /* sum.s.t */ 15402159047fSniklas {84,19,r,V,0,0}, /* sum.d.t */ 15412159047fSniklas {90,18,r,V,0,0}, /* prod.s.t */ 15422159047fSniklas {90,19,r,V,0,0}, /* prod.d.t */ 15432159047fSniklas {88,18,r,V,0,0}, /* max.s.t */ 15442159047fSniklas {88,19,r,V,0,0}, /* max.d.t */ 15452159047fSniklas {89,18,r,V,0,0}, /* min.s.t */ 15462159047fSniklas {89,19,r,V,0,0}, /* min.d.t */ 15472159047fSniklas {90,20,r,V,0,0}, /* prod.b.t */ 15482159047fSniklas {90,21,r,V,0,0}, /* prod.h.t */ 15492159047fSniklas {90,22,r,V,0,0}, /* prod.w.t */ 15502159047fSniklas {90,23,r,V,0,0}, /* prod.l.t */ 15512159047fSniklas {0,0,0,0,0,0}, 15522159047fSniklas {0,0,0,0,0,0}, 15532159047fSniklas {0,0,0,0,0,0}, 15542159047fSniklas {0,0,0,0,0,0}, 15552159047fSniklas }; 15562159047fSniklas 15572159047fSniklas char *lop[] = { 15582159047fSniklas "mov", /* 0 */ 15592159047fSniklas "merg", /* 1 */ 15602159047fSniklas "mask", /* 2 */ 15612159047fSniklas "mul", /* 3 */ 15622159047fSniklas "div", /* 4 */ 15632159047fSniklas "and", /* 5 */ 15642159047fSniklas "or", /* 6 */ 15652159047fSniklas "xor", /* 7 */ 15662159047fSniklas "shf", /* 8 */ 15672159047fSniklas "add", /* 9 */ 15682159047fSniklas "sub", /* 10 */ 15692159047fSniklas "exit", /* 11 */ 15702159047fSniklas "jmp", /* 12 */ 15712159047fSniklas "jmpi", /* 13 */ 15722159047fSniklas "jmpa", /* 14 */ 15732159047fSniklas "jmps", /* 15 */ 15742159047fSniklas "tac", /* 16 */ 15752159047fSniklas "ldea", /* 17 */ 15762159047fSniklas "ld", /* 18 */ 15772159047fSniklas "tas", /* 19 */ 15782159047fSniklas "pshea", /* 20 */ 15792159047fSniklas "st", /* 21 */ 15802159047fSniklas "call", /* 22 */ 15812159047fSniklas "calls", /* 23 */ 15822159047fSniklas "callq", /* 24 */ 15832159047fSniklas "pfork", /* 25 */ 15842159047fSniklas "ste", /* 26 */ 15852159047fSniklas "incr", /* 27 */ 15862159047fSniklas "cvtw", /* 28 */ 15872159047fSniklas "cvtb", /* 29 */ 15882159047fSniklas "cvth", /* 30 */ 15892159047fSniklas "cvts", /* 31 */ 15902159047fSniklas "cvtd", /* 32 */ 15912159047fSniklas "cvtl", /* 33 */ 15922159047fSniklas "ldpa", /* 34 */ 15932159047fSniklas "plc", /* 35 */ 15942159047fSniklas "tzc", /* 36 */ 15952159047fSniklas "eq", /* 37 */ 15962159047fSniklas "leu", /* 38 */ 15972159047fSniklas "ltu", /* 39 */ 15982159047fSniklas "le", /* 40 */ 15992159047fSniklas "lt", /* 41 */ 16002159047fSniklas "not", /* 42 */ 16012159047fSniklas "neg", /* 43 */ 16022159047fSniklas "lop", /* 44 */ 16032159047fSniklas "cprs", /* 45 */ 16042159047fSniklas "nop", /* 46 */ 16052159047fSniklas "br", /* 47 */ 16062159047fSniklas "bri", /* 48 */ 16072159047fSniklas "bra", /* 49 */ 16082159047fSniklas "brs", /* 50 */ 16092159047fSniklas "ldvi", /* 51 */ 16102159047fSniklas "stvi", /* 52 */ 16112159047fSniklas "ldsdr", /* 53 */ 16122159047fSniklas "ldkdr", /* 54 */ 16132159047fSniklas "ln", /* 55 */ 16142159047fSniklas "patu", /* 56 */ 16152159047fSniklas "pate", /* 57 */ 16162159047fSniklas "pich", /* 58 */ 16172159047fSniklas "plch", /* 59 */ 16182159047fSniklas "idle", /* 60 */ 16192159047fSniklas "rtnq", /* 61 */ 16202159047fSniklas "cfork", /* 62 */ 16212159047fSniklas "rtn", /* 63 */ 16222159047fSniklas "wfork", /* 64 */ 16232159047fSniklas "join", /* 65 */ 16242159047fSniklas "rtnc", /* 66 */ 16252159047fSniklas "exp", /* 67 */ 16262159047fSniklas "sin", /* 68 */ 16272159047fSniklas "cos", /* 69 */ 16282159047fSniklas "psh", /* 70 */ 16292159047fSniklas "pop", /* 71 */ 16302159047fSniklas "eni", /* 72 */ 16312159047fSniklas "dsi", /* 73 */ 16322159047fSniklas "bkpt", /* 74 */ 16332159047fSniklas "msync", /* 75 */ 16342159047fSniklas "mski", /* 76 */ 16352159047fSniklas "xmti", /* 77 */ 16362159047fSniklas "tstvv", /* 78 */ 16372159047fSniklas "diag", /* 79 */ 16382159047fSniklas "pbkpt", /* 80 */ 16392159047fSniklas "sqrt", /* 81 */ 16402159047fSniklas "casr", /* 82 */ 16412159047fSniklas "atan", /* 83 */ 16422159047fSniklas "sum", /* 84 */ 16432159047fSniklas "all", /* 85 */ 16442159047fSniklas "any", /* 86 */ 16452159047fSniklas "parity", /* 87 */ 16462159047fSniklas "max", /* 88 */ 16472159047fSniklas "min", /* 89 */ 16482159047fSniklas "prod", /* 90 */ 16492159047fSniklas "halt", /* 91 */ 16502159047fSniklas "sysc", /* 92 */ 16512159047fSniklas "trap", /* 93 */ 16522159047fSniklas "tst", /* 94 */ 16532159047fSniklas "lck", /* 95 */ 16542159047fSniklas "ulk", /* 96 */ 16552159047fSniklas "spawn", /* 97 */ 16562159047fSniklas "ldcmr", /* 98 */ 16572159047fSniklas "stcmr", /* 99 */ 16582159047fSniklas "popr", /* 100 */ 16592159047fSniklas "pshr", /* 101 */ 16602159047fSniklas "rcvr", /* 102 */ 16612159047fSniklas "matm", /* 103 */ 16622159047fSniklas "sndr", /* 104 */ 16632159047fSniklas "putr", /* 105 */ 16642159047fSniklas "getr", /* 106 */ 16652159047fSniklas "matr", /* 107 */ 16662159047fSniklas "mat", /* 108 */ 16672159047fSniklas "get", /* 109 */ 16682159047fSniklas "rcv", /* 110 */ 16692159047fSniklas "inc", /* 111 */ 16702159047fSniklas "put", /* 112 */ 16712159047fSniklas "snd", /* 113 */ 16722159047fSniklas "enal", /* 114 */ 16732159047fSniklas "enag", /* 115 */ 16742159047fSniklas "frint", /* 116 */ 16752159047fSniklas "xpnd", /* 117 */ 16762159047fSniklas "ctrsl", /* 118 */ 16772159047fSniklas "ctrsg", /* 119 */ 16782159047fSniklas "stop", /* 120 */ 16792159047fSniklas }; 16802159047fSniklas 16812159047fSniklas char *rop[] = { 16822159047fSniklas "", /* 0 */ 16832159047fSniklas ".t", /* 1 */ 16842159047fSniklas ".f", /* 2 */ 16852159047fSniklas ".s", /* 3 */ 16862159047fSniklas ".d", /* 4 */ 16872159047fSniklas ".b", /* 5 */ 16882159047fSniklas ".h", /* 6 */ 16892159047fSniklas ".w", /* 7 */ 16902159047fSniklas ".l", /* 8 */ 16912159047fSniklas ".x", /* 9 */ 16922159047fSniklas ".u", /* 10 */ 16932159047fSniklas ".s.f", /* 11 */ 16942159047fSniklas ".d.f", /* 12 */ 16952159047fSniklas ".b.f", /* 13 */ 16962159047fSniklas ".h.f", /* 14 */ 16972159047fSniklas ".w.f", /* 15 */ 16982159047fSniklas ".l.f", /* 16 */ 16992159047fSniklas ".t.f", /* 17 */ 17002159047fSniklas ".s.t", /* 18 */ 17012159047fSniklas ".d.t", /* 19 */ 17022159047fSniklas ".b.t", /* 20 */ 17032159047fSniklas ".h.t", /* 21 */ 17042159047fSniklas ".w.t", /* 22 */ 17052159047fSniklas ".l.t", /* 23 */ 17062159047fSniklas ".t.t", /* 24 */ 17072159047fSniklas }; 1708