xref: /openbsd-src/gnu/usr.bin/binutils/include/opcode/convex.h (revision c074d1c999f3e07019cd5e9a2f190b057ef3b935)
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