xref: /netbsd-src/external/gpl3/gdb/dist/include/opcode/convex.h (revision aab831cebf6361fb2b518a47c70732e608d9abd2)
198b9484cSchristos /* Information for instruction disassembly on the Convex.
2*aab831ceSchristos    Copyright (C) 1989-2024 Free Software Foundation, Inc.
398b9484cSchristos 
498b9484cSchristos    This file is part of GDB.
598b9484cSchristos 
698b9484cSchristos    This program is free software; you can redistribute it and/or modify
798b9484cSchristos    it under the terms of the GNU General Public License as published by
898b9484cSchristos    the Free Software Foundation; either version 3 of the License, or
998b9484cSchristos    (at your option) any later version.
1098b9484cSchristos 
1198b9484cSchristos    This program is distributed in the hope that it will be useful,
1298b9484cSchristos    but WITHOUT ANY WARRANTY; without even the implied warranty of
1398b9484cSchristos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1498b9484cSchristos    GNU General Public License for more details.
1598b9484cSchristos 
1698b9484cSchristos    You should have received a copy of the GNU General Public License
1798b9484cSchristos    along with this program; if not, write to the Free Software
1898b9484cSchristos    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
1998b9484cSchristos    MA 02110-1301, USA.  */
2098b9484cSchristos 
2198b9484cSchristos #define xxx 0
2298b9484cSchristos #define rrr 1
2398b9484cSchristos #define rr 2
2498b9484cSchristos #define rxr 3
2598b9484cSchristos #define r 4
2698b9484cSchristos #define nops 5
2798b9484cSchristos #define nr 6
2898b9484cSchristos #define pcrel 7
2998b9484cSchristos #define lr 8
3098b9484cSchristos #define rxl 9
3198b9484cSchristos #define rlr 10
3298b9484cSchristos #define rrl 11
3398b9484cSchristos #define iml 12
3498b9484cSchristos #define imr 13
3598b9484cSchristos #define a1r 14
3698b9484cSchristos #define a1l 15
3798b9484cSchristos #define a2r 16
3898b9484cSchristos #define a2l 17
3998b9484cSchristos #define a3 18
4098b9484cSchristos #define a4 19
4198b9484cSchristos #define a5 20
4298b9484cSchristos #define V 1
4398b9484cSchristos #define S 2
4498b9484cSchristos #define VM 3
4598b9484cSchristos #define A 4
4698b9484cSchristos #define VL 5
4798b9484cSchristos #define VS 6
4898b9484cSchristos #define VLS 7
4998b9484cSchristos #define PSW 8
5098b9484cSchristos /* Prevent an error during "make depend".  */
5198b9484cSchristos #if !defined (PC)
5298b9484cSchristos #define PC 9
5398b9484cSchristos #endif
5498b9484cSchristos #define ITR 10
5598b9484cSchristos #define VV 11
5698b9484cSchristos #define ITSR 12
5798b9484cSchristos #define TOC 13
5898b9484cSchristos #define CIR 14
5998b9484cSchristos #define TTR 15
6098b9484cSchristos #define VMU 16
6198b9484cSchristos #define VML 17
6298b9484cSchristos #define ICR 18
6398b9484cSchristos #define TCPU 19
6498b9484cSchristos #define CPUID 20
6598b9484cSchristos #define TID 21
6698b9484cSchristos 
6798b9484cSchristos const char *op[] = {
6898b9484cSchristos   "",
6998b9484cSchristos   "v0\0v1\0v2\0v3\0v4\0v5\0v6\0v7",
7098b9484cSchristos   "s0\0s1\0s2\0s3\0s4\0s5\0s6\0s7",
7198b9484cSchristos   "vm",
7298b9484cSchristos   "sp\0a1\0a2\0a3\0a4\0a5\0ap\0fp",
7398b9484cSchristos   "vl",
7498b9484cSchristos   "vs",
7598b9484cSchristos   "vls",
7698b9484cSchristos   "psw",
7798b9484cSchristos   "pc",
7898b9484cSchristos   "itr",
7998b9484cSchristos   "vv",
8098b9484cSchristos   "itsr",
8198b9484cSchristos   "toc",
8298b9484cSchristos   "cir",
8398b9484cSchristos   "ttr",
8498b9484cSchristos   "vmu",
8598b9484cSchristos   "vml",
8698b9484cSchristos   "icr",
8798b9484cSchristos   "tcpu",
8898b9484cSchristos   "cpuid",
8998b9484cSchristos   "tid",
9098b9484cSchristos };
9198b9484cSchristos 
9298b9484cSchristos const struct formstr format0[] = {
9398b9484cSchristos   {0,0,rrr,V,S,S},	/* mov */
9498b9484cSchristos   {0,0,rrr,S,S,V},	/* mov */
9598b9484cSchristos   {1,1,rrr,V,V,V},	/* merg.t */
9698b9484cSchristos   {2,1,rrr,V,V,V},	/* mask.t */
9798b9484cSchristos   {1,2,rrr,V,S,V},	/* merg.f */
9898b9484cSchristos   {2,2,rrr,V,S,V},	/* mask.f */
9998b9484cSchristos   {1,1,rrr,V,S,V},	/* merg.t */
10098b9484cSchristos   {2,1,rrr,V,S,V},	/* mask.t */
10198b9484cSchristos   {3,3,rrr,V,V,V},	/* mul.s */
10298b9484cSchristos   {3,4,rrr,V,V,V},	/* mul.d */
10398b9484cSchristos   {4,3,rrr,V,V,V},	/* div.s */
10498b9484cSchristos   {4,4,rrr,V,V,V},	/* div.d */
10598b9484cSchristos   {3,3,rrr,V,S,V},	/* mul.s */
10698b9484cSchristos   {3,4,rrr,V,S,V},	/* mul.d */
10798b9484cSchristos   {4,3,rrr,V,S,V},	/* div.s */
10898b9484cSchristos   {4,4,rrr,V,S,V},	/* div.d */
10998b9484cSchristos   {5,0,rrr,V,V,V},	/* and */
11098b9484cSchristos   {6,0,rrr,V,V,V},	/* or */
11198b9484cSchristos   {7,0,rrr,V,V,V},	/* xor */
11298b9484cSchristos   {8,0,rrr,V,V,V},	/* shf */
11398b9484cSchristos   {5,0,rrr,V,S,V},	/* and */
11498b9484cSchristos   {6,0,rrr,V,S,V},	/* or */
11598b9484cSchristos   {7,0,rrr,V,S,V},	/* xor */
11698b9484cSchristos   {8,0,rrr,V,S,V},	/* shf */
11798b9484cSchristos   {9,3,rrr,V,V,V},	/* add.s */
11898b9484cSchristos   {9,4,rrr,V,V,V},	/* add.d */
11998b9484cSchristos   {10,3,rrr,V,V,V},	/* sub.s */
12098b9484cSchristos   {10,4,rrr,V,V,V},	/* sub.d */
12198b9484cSchristos   {9,3,rrr,V,S,V},	/* add.s */
12298b9484cSchristos   {9,4,rrr,V,S,V},	/* add.d */
12398b9484cSchristos   {10,3,rrr,V,S,V},	/* sub.s */
12498b9484cSchristos   {10,4,rrr,V,S,V},	/* sub.d */
12598b9484cSchristos   {9,5,rrr,V,V,V},	/* add.b */
12698b9484cSchristos   {9,6,rrr,V,V,V},	/* add.h */
12798b9484cSchristos   {9,7,rrr,V,V,V},	/* add.w */
12898b9484cSchristos   {9,8,rrr,V,V,V},	/* add.l */
12998b9484cSchristos   {9,5,rrr,V,S,V},	/* add.b */
13098b9484cSchristos   {9,6,rrr,V,S,V},	/* add.h */
13198b9484cSchristos   {9,7,rrr,V,S,V},	/* add.w */
13298b9484cSchristos   {9,8,rrr,V,S,V},	/* add.l */
13398b9484cSchristos   {10,5,rrr,V,V,V},	/* sub.b */
13498b9484cSchristos   {10,6,rrr,V,V,V},	/* sub.h */
13598b9484cSchristos   {10,7,rrr,V,V,V},	/* sub.w */
13698b9484cSchristos   {10,8,rrr,V,V,V},	/* sub.l */
13798b9484cSchristos   {10,5,rrr,V,S,V},	/* sub.b */
13898b9484cSchristos   {10,6,rrr,V,S,V},	/* sub.h */
13998b9484cSchristos   {10,7,rrr,V,S,V},	/* sub.w */
14098b9484cSchristos   {10,8,rrr,V,S,V},	/* sub.l */
14198b9484cSchristos   {3,5,rrr,V,V,V},	/* mul.b */
14298b9484cSchristos   {3,6,rrr,V,V,V},	/* mul.h */
14398b9484cSchristos   {3,7,rrr,V,V,V},	/* mul.w */
14498b9484cSchristos   {3,8,rrr,V,V,V},	/* mul.l */
14598b9484cSchristos   {3,5,rrr,V,S,V},	/* mul.b */
14698b9484cSchristos   {3,6,rrr,V,S,V},	/* mul.h */
14798b9484cSchristos   {3,7,rrr,V,S,V},	/* mul.w */
14898b9484cSchristos   {3,8,rrr,V,S,V},	/* mul.l */
14998b9484cSchristos   {4,5,rrr,V,V,V},	/* div.b */
15098b9484cSchristos   {4,6,rrr,V,V,V},	/* div.h */
15198b9484cSchristos   {4,7,rrr,V,V,V},	/* div.w */
15298b9484cSchristos   {4,8,rrr,V,V,V},	/* div.l */
15398b9484cSchristos   {4,5,rrr,V,S,V},	/* div.b */
15498b9484cSchristos   {4,6,rrr,V,S,V},	/* div.h */
15598b9484cSchristos   {4,7,rrr,V,S,V},	/* div.w */
15698b9484cSchristos   {4,8,rrr,V,S,V},	/* div.l */
15798b9484cSchristos };
15898b9484cSchristos 
15998b9484cSchristos const struct formstr format1[] = {
16098b9484cSchristos   {11,0,xxx,0,0,0},	/* exit */
16198b9484cSchristos   {12,0,a3,0,0,0},	/* jmp */
16298b9484cSchristos   {13,2,a3,0,0,0},	/* jmpi.f */
16398b9484cSchristos   {13,1,a3,0,0,0},	/* jmpi.t */
16498b9484cSchristos   {14,2,a3,0,0,0},	/* jmpa.f */
16598b9484cSchristos   {14,1,a3,0,0,0},	/* jmpa.t */
16698b9484cSchristos   {15,2,a3,0,0,0},	/* jmps.f */
16798b9484cSchristos   {15,1,a3,0,0,0},	/* jmps.t */
16898b9484cSchristos   {16,0,a3,0,0,0},	/* tac */
16998b9484cSchristos   {17,0,a1r,A,0,0},	/* ldea */
17098b9484cSchristos   {18,8,a1l,VLS,0,0},	/* ld.l */
17198b9484cSchristos   {18,9,a1l,VM,0,0},	/* ld.x */
17298b9484cSchristos   {19,0,a3,0,0,0},	/* tas */
17398b9484cSchristos   {20,0,a3,0,0,0},	/* pshea */
17498b9484cSchristos   {21,8,a2l,VLS,0,0},	/* st.l */
17598b9484cSchristos   {21,9,a2l,VM,0,0},	/* st.x */
17698b9484cSchristos   {0,0,0,0,0,0},
17798b9484cSchristos   {0,0,0,0,0,0},
17898b9484cSchristos   {0,0,0,0,0,0},
17998b9484cSchristos   {0,0,0,0,0,0},
18098b9484cSchristos   {0,0,0,0,0,0},
18198b9484cSchristos   {0,0,0,0,0,0},
18298b9484cSchristos   {0,0,0,0,0,0},
18398b9484cSchristos   {0,0,0,0,0,0},
18498b9484cSchristos   {0,0,0,0,0,0},
18598b9484cSchristos   {0,0,0,0,0,0},
18698b9484cSchristos   {0,0,0,0,0,0},
18798b9484cSchristos   {0,0,0,0,0,0},
18898b9484cSchristos   {0,0,0,0,0,0},
18998b9484cSchristos   {0,0,0,0,0,0},
19098b9484cSchristos   {0,0,0,0,0,0},
19198b9484cSchristos   {0,0,0,0,0,0},
19298b9484cSchristos   {22,0,a3,0,0,0},	/* call */
19398b9484cSchristos   {23,0,a3,0,0,0},	/* calls */
19498b9484cSchristos   {24,0,a3,0,0,0},	/* callq */
19598b9484cSchristos   {25,0,a1r,A,0,0},	/* pfork */
19698b9484cSchristos   {26,5,a2r,S,0,0},	/* ste.b */
19798b9484cSchristos   {26,6,a2r,S,0,0},	/* ste.h */
19898b9484cSchristos   {26,7,a2r,S,0,0},	/* ste.w */
19998b9484cSchristos   {26,8,a2r,S,0,0},	/* ste.l */
20098b9484cSchristos   {18,5,a1r,A,0,0},	/* ld.b */
20198b9484cSchristos   {18,6,a1r,A,0,0},	/* ld.h */
20298b9484cSchristos   {18,7,a1r,A,0,0},	/* ld.w */
20398b9484cSchristos   {27,7,a1r,A,0,0},	/* incr.w */
20498b9484cSchristos   {21,5,a2r,A,0,0},	/* st.b */
20598b9484cSchristos   {21,6,a2r,A,0,0},	/* st.h */
20698b9484cSchristos   {21,7,a2r,A,0,0},	/* st.w */
20798b9484cSchristos   {27,8,a1r,S,0,0},	/* incr.l */
20898b9484cSchristos   {18,5,a1r,S,0,0},	/* ld.b */
20998b9484cSchristos   {18,6,a1r,S,0,0},	/* ld.h */
21098b9484cSchristos   {18,7,a1r,S,0,0},	/* ld.w */
21198b9484cSchristos   {18,8,a1r,S,0,0},	/* ld.l */
21298b9484cSchristos   {21,5,a2r,S,0,0},	/* st.b */
21398b9484cSchristos   {21,6,a2r,S,0,0},	/* st.h */
21498b9484cSchristos   {21,7,a2r,S,0,0},	/* st.w */
21598b9484cSchristos   {21,8,a2r,S,0,0},	/* st.l */
21698b9484cSchristos   {18,5,a1r,V,0,0},	/* ld.b */
21798b9484cSchristos   {18,6,a1r,V,0,0},	/* ld.h */
21898b9484cSchristos   {18,7,a1r,V,0,0},	/* ld.w */
21998b9484cSchristos   {18,8,a1r,V,0,0},	/* ld.l */
22098b9484cSchristos   {21,5,a2r,V,0,0},	/* st.b */
22198b9484cSchristos   {21,6,a2r,V,0,0},	/* st.h */
22298b9484cSchristos   {21,7,a2r,V,0,0},	/* st.w */
22398b9484cSchristos   {21,8,a2r,V,0,0},	/* st.l */
22498b9484cSchristos };
22598b9484cSchristos 
22698b9484cSchristos const struct formstr format2[] = {
22798b9484cSchristos   {28,5,rr,A,A,0},	/* cvtw.b */
22898b9484cSchristos   {28,6,rr,A,A,0},	/* cvtw.h */
22998b9484cSchristos   {29,7,rr,A,A,0},	/* cvtb.w */
23098b9484cSchristos   {30,7,rr,A,A,0},	/* cvth.w */
23198b9484cSchristos   {28,5,rr,S,S,0},	/* cvtw.b */
23298b9484cSchristos   {28,6,rr,S,S,0},	/* cvtw.h */
23398b9484cSchristos   {29,7,rr,S,S,0},	/* cvtb.w */
23498b9484cSchristos   {30,7,rr,S,S,0},	/* cvth.w */
23598b9484cSchristos   {28,3,rr,S,S,0},	/* cvtw.s */
23698b9484cSchristos   {31,7,rr,S,S,0},	/* cvts.w */
23798b9484cSchristos   {32,3,rr,S,S,0},	/* cvtd.s */
23898b9484cSchristos   {31,4,rr,S,S,0},	/* cvts.d */
23998b9484cSchristos   {31,8,rr,S,S,0},	/* cvts.l */
24098b9484cSchristos   {32,8,rr,S,S,0},	/* cvtd.l */
24198b9484cSchristos   {33,3,rr,S,S,0},	/* cvtl.s */
24298b9484cSchristos   {33,4,rr,S,S,0},	/* cvtl.d */
24398b9484cSchristos   {34,0,rr,A,A,0},	/* ldpa */
24498b9484cSchristos   {8,0,nr,A,0,0},	/* shf */
24598b9484cSchristos   {18,6,nr,A,0,0},	/* ld.h */
24698b9484cSchristos   {18,7,nr,A,0,0},	/* ld.w */
24798b9484cSchristos   {33,7,rr,S,S,0},	/* cvtl.w */
24898b9484cSchristos   {28,8,rr,S,S,0},	/* cvtw.l */
24998b9484cSchristos   {35,1,rr,S,S,0},	/* plc.t */
25098b9484cSchristos   {36,0,rr,S,S,0},	/* tzc */
25198b9484cSchristos   {37,6,rr,A,A,0},	/* eq.h */
25298b9484cSchristos   {37,7,rr,A,A,0},	/* eq.w */
25398b9484cSchristos   {37,6,nr,A,0,0},	/* eq.h */
25498b9484cSchristos   {37,7,nr,A,0,0},	/* eq.w */
25598b9484cSchristos   {37,5,rr,S,S,0},	/* eq.b */
25698b9484cSchristos   {37,6,rr,S,S,0},	/* eq.h */
25798b9484cSchristos   {37,7,rr,S,S,0},	/* eq.w */
25898b9484cSchristos   {37,8,rr,S,S,0},	/* eq.l */
25998b9484cSchristos   {38,6,rr,A,A,0},	/* leu.h */
26098b9484cSchristos   {38,7,rr,A,A,0},	/* leu.w */
26198b9484cSchristos   {38,6,nr,A,0,0},	/* leu.h */
26298b9484cSchristos   {38,7,nr,A,0,0},	/* leu.w */
26398b9484cSchristos   {38,5,rr,S,S,0},	/* leu.b */
26498b9484cSchristos   {38,6,rr,S,S,0},	/* leu.h */
26598b9484cSchristos   {38,7,rr,S,S,0},	/* leu.w */
26698b9484cSchristos   {38,8,rr,S,S,0},	/* leu.l */
26798b9484cSchristos   {39,6,rr,A,A,0},	/* ltu.h */
26898b9484cSchristos   {39,7,rr,A,A,0},	/* ltu.w */
26998b9484cSchristos   {39,6,nr,A,0,0},	/* ltu.h */
27098b9484cSchristos   {39,7,nr,A,0,0},	/* ltu.w */
27198b9484cSchristos   {39,5,rr,S,S,0},	/* ltu.b */
27298b9484cSchristos   {39,6,rr,S,S,0},	/* ltu.h */
27398b9484cSchristos   {39,7,rr,S,S,0},	/* ltu.w */
27498b9484cSchristos   {39,8,rr,S,S,0},	/* ltu.l */
27598b9484cSchristos   {40,6,rr,A,A,0},	/* le.h */
27698b9484cSchristos   {40,7,rr,A,A,0},	/* le.w */
27798b9484cSchristos   {40,6,nr,A,0,0},	/* le.h */
27898b9484cSchristos   {40,7,nr,A,0,0},	/* le.w */
27998b9484cSchristos   {40,5,rr,S,S,0},	/* le.b */
28098b9484cSchristos   {40,6,rr,S,S,0},	/* le.h */
28198b9484cSchristos   {40,7,rr,S,S,0},	/* le.w */
28298b9484cSchristos   {40,8,rr,S,S,0},	/* le.l */
28398b9484cSchristos   {41,6,rr,A,A,0},	/* lt.h */
28498b9484cSchristos   {41,7,rr,A,A,0},	/* lt.w */
28598b9484cSchristos   {41,6,nr,A,0,0},	/* lt.h */
28698b9484cSchristos   {41,7,nr,A,0,0},	/* lt.w */
28798b9484cSchristos   {41,5,rr,S,S,0},	/* lt.b */
28898b9484cSchristos   {41,6,rr,S,S,0},	/* lt.h */
28998b9484cSchristos   {41,7,rr,S,S,0},	/* lt.w */
29098b9484cSchristos   {41,8,rr,S,S,0},	/* lt.l */
29198b9484cSchristos   {9,7,rr,S,A,0},	/* add.w */
29298b9484cSchristos   {8,0,rr,A,A,0},	/* shf */
29398b9484cSchristos   {0,0,rr,A,A,0},	/* mov */
29498b9484cSchristos   {0,0,rr,S,A,0},	/* mov */
29598b9484cSchristos   {0,7,rr,S,S,0},	/* mov.w */
29698b9484cSchristos   {8,0,rr,S,S,0},	/* shf */
29798b9484cSchristos   {0,0,rr,S,S,0},	/* mov */
29898b9484cSchristos   {0,0,rr,A,S,0},	/* mov */
29998b9484cSchristos   {5,0,rr,A,A,0},	/* and */
30098b9484cSchristos   {6,0,rr,A,A,0},	/* or */
30198b9484cSchristos   {7,0,rr,A,A,0},	/* xor */
30298b9484cSchristos   {42,0,rr,A,A,0},	/* not */
30398b9484cSchristos   {5,0,rr,S,S,0},	/* and */
30498b9484cSchristos   {6,0,rr,S,S,0},	/* or */
30598b9484cSchristos   {7,0,rr,S,S,0},	/* xor */
30698b9484cSchristos   {42,0,rr,S,S,0},	/* not */
30798b9484cSchristos   {40,3,rr,S,S,0},	/* le.s */
30898b9484cSchristos   {40,4,rr,S,S,0},	/* le.d */
30998b9484cSchristos   {41,3,rr,S,S,0},	/* lt.s */
31098b9484cSchristos   {41,4,rr,S,S,0},	/* lt.d */
31198b9484cSchristos   {9,3,rr,S,S,0},	/* add.s */
31298b9484cSchristos   {9,4,rr,S,S,0},	/* add.d */
31398b9484cSchristos   {10,3,rr,S,S,0},	/* sub.s */
31498b9484cSchristos   {10,4,rr,S,S,0},	/* sub.d */
31598b9484cSchristos   {37,3,rr,S,S,0},	/* eq.s */
31698b9484cSchristos   {37,4,rr,S,S,0},	/* eq.d */
31798b9484cSchristos   {43,6,rr,A,A,0},	/* neg.h */
31898b9484cSchristos   {43,7,rr,A,A,0},	/* neg.w */
31998b9484cSchristos   {3,3,rr,S,S,0},	/* mul.s */
32098b9484cSchristos   {3,4,rr,S,S,0},	/* mul.d */
32198b9484cSchristos   {4,3,rr,S,S,0},	/* div.s */
32298b9484cSchristos   {4,4,rr,S,S,0},	/* div.d */
32398b9484cSchristos   {9,6,rr,A,A,0},	/* add.h */
32498b9484cSchristos   {9,7,rr,A,A,0},	/* add.w */
32598b9484cSchristos   {9,6,nr,A,0,0},	/* add.h */
32698b9484cSchristos   {9,7,nr,A,0,0},	/* add.w */
32798b9484cSchristos   {9,5,rr,S,S,0},	/* add.b */
32898b9484cSchristos   {9,6,rr,S,S,0},	/* add.h */
32998b9484cSchristos   {9,7,rr,S,S,0},	/* add.w */
33098b9484cSchristos   {9,8,rr,S,S,0},	/* add.l */
33198b9484cSchristos   {10,6,rr,A,A,0},	/* sub.h */
33298b9484cSchristos   {10,7,rr,A,A,0},	/* sub.w */
33398b9484cSchristos   {10,6,nr,A,0,0},	/* sub.h */
33498b9484cSchristos   {10,7,nr,A,0,0},	/* sub.w */
33598b9484cSchristos   {10,5,rr,S,S,0},	/* sub.b */
33698b9484cSchristos   {10,6,rr,S,S,0},	/* sub.h */
33798b9484cSchristos   {10,7,rr,S,S,0},	/* sub.w */
33898b9484cSchristos   {10,8,rr,S,S,0},	/* sub.l */
33998b9484cSchristos   {3,6,rr,A,A,0},	/* mul.h */
34098b9484cSchristos   {3,7,rr,A,A,0},	/* mul.w */
34198b9484cSchristos   {3,6,nr,A,0,0},	/* mul.h */
34298b9484cSchristos   {3,7,nr,A,0,0},	/* mul.w */
34398b9484cSchristos   {3,5,rr,S,S,0},	/* mul.b */
34498b9484cSchristos   {3,6,rr,S,S,0},	/* mul.h */
34598b9484cSchristos   {3,7,rr,S,S,0},	/* mul.w */
34698b9484cSchristos   {3,8,rr,S,S,0},	/* mul.l */
34798b9484cSchristos   {4,6,rr,A,A,0},	/* div.h */
34898b9484cSchristos   {4,7,rr,A,A,0},	/* div.w */
34998b9484cSchristos   {4,6,nr,A,0,0},	/* div.h */
35098b9484cSchristos   {4,7,nr,A,0,0},	/* div.w */
35198b9484cSchristos   {4,5,rr,S,S,0},	/* div.b */
35298b9484cSchristos   {4,6,rr,S,S,0},	/* div.h */
35398b9484cSchristos   {4,7,rr,S,S,0},	/* div.w */
35498b9484cSchristos   {4,8,rr,S,S,0},	/* div.l */
35598b9484cSchristos };
35698b9484cSchristos 
35798b9484cSchristos const struct formstr format3[] = {
35898b9484cSchristos   {32,3,rr,V,V,0},	/* cvtd.s */
35998b9484cSchristos   {31,4,rr,V,V,0},	/* cvts.d */
36098b9484cSchristos   {33,4,rr,V,V,0},	/* cvtl.d */
36198b9484cSchristos   {32,8,rr,V,V,0},	/* cvtd.l */
36298b9484cSchristos   {0,0,rrl,S,S,VM},	/* mov */
36398b9484cSchristos   {0,0,rlr,S,VM,S},	/* mov */
36498b9484cSchristos   {0,0,0,0,0,0},
36598b9484cSchristos   {44,0,rr,S,S,0},	/* lop */
36698b9484cSchristos   {36,0,rr,V,V,0},	/* tzc */
36798b9484cSchristos   {44,0,rr,V,V,0},	/* lop */
36898b9484cSchristos   {0,0,0,0,0,0},
36998b9484cSchristos   {42,0,rr,V,V,0},	/* not */
37098b9484cSchristos   {8,0,rr,S,V,0},	/* shf */
37198b9484cSchristos   {35,1,rr,V,V,0},	/* plc.t */
37298b9484cSchristos   {45,2,rr,V,V,0},	/* cprs.f */
37398b9484cSchristos   {45,1,rr,V,V,0},	/* cprs.t */
37498b9484cSchristos   {37,3,rr,V,V,0},	/* eq.s */
37598b9484cSchristos   {37,4,rr,V,V,0},	/* eq.d */
37698b9484cSchristos   {43,3,rr,V,V,0},	/* neg.s */
37798b9484cSchristos   {43,4,rr,V,V,0},	/* neg.d */
37898b9484cSchristos   {37,3,rr,S,V,0},	/* eq.s */
37998b9484cSchristos   {37,4,rr,S,V,0},	/* eq.d */
38098b9484cSchristos   {43,3,rr,S,S,0},	/* neg.s */
38198b9484cSchristos   {43,4,rr,S,S,0},	/* neg.d */
38298b9484cSchristos   {40,3,rr,V,V,0},	/* le.s */
38398b9484cSchristos   {40,4,rr,V,V,0},	/* le.d */
38498b9484cSchristos   {41,3,rr,V,V,0},	/* lt.s */
38598b9484cSchristos   {41,4,rr,V,V,0},	/* lt.d */
38698b9484cSchristos   {40,3,rr,S,V,0},	/* le.s */
38798b9484cSchristos   {40,4,rr,S,V,0},	/* le.d */
38898b9484cSchristos   {41,3,rr,S,V,0},	/* lt.s */
38998b9484cSchristos   {41,4,rr,S,V,0},	/* lt.d */
39098b9484cSchristos   {37,5,rr,V,V,0},	/* eq.b */
39198b9484cSchristos   {37,6,rr,V,V,0},	/* eq.h */
39298b9484cSchristos   {37,7,rr,V,V,0},	/* eq.w */
39398b9484cSchristos   {37,8,rr,V,V,0},	/* eq.l */
39498b9484cSchristos   {37,5,rr,S,V,0},	/* eq.b */
39598b9484cSchristos   {37,6,rr,S,V,0},	/* eq.h */
39698b9484cSchristos   {37,7,rr,S,V,0},	/* eq.w */
39798b9484cSchristos   {37,8,rr,S,V,0},	/* eq.l */
39898b9484cSchristos   {40,5,rr,V,V,0},	/* le.b */
39998b9484cSchristos   {40,6,rr,V,V,0},	/* le.h */
40098b9484cSchristos   {40,7,rr,V,V,0},	/* le.w */
40198b9484cSchristos   {40,8,rr,V,V,0},	/* le.l */
40298b9484cSchristos   {40,5,rr,S,V,0},	/* le.b */
40398b9484cSchristos   {40,6,rr,S,V,0},	/* le.h */
40498b9484cSchristos   {40,7,rr,S,V,0},	/* le.w */
40598b9484cSchristos   {40,8,rr,S,V,0},	/* le.l */
40698b9484cSchristos   {41,5,rr,V,V,0},	/* lt.b */
40798b9484cSchristos   {41,6,rr,V,V,0},	/* lt.h */
40898b9484cSchristos   {41,7,rr,V,V,0},	/* lt.w */
40998b9484cSchristos   {41,8,rr,V,V,0},	/* lt.l */
41098b9484cSchristos   {41,5,rr,S,V,0},	/* lt.b */
41198b9484cSchristos   {41,6,rr,S,V,0},	/* lt.h */
41298b9484cSchristos   {41,7,rr,S,V,0},	/* lt.w */
41398b9484cSchristos   {41,8,rr,S,V,0},	/* lt.l */
41498b9484cSchristos   {43,5,rr,V,V,0},	/* neg.b */
41598b9484cSchristos   {43,6,rr,V,V,0},	/* neg.h */
41698b9484cSchristos   {43,7,rr,V,V,0},	/* neg.w */
41798b9484cSchristos   {43,8,rr,V,V,0},	/* neg.l */
41898b9484cSchristos   {43,5,rr,S,S,0},	/* neg.b */
41998b9484cSchristos   {43,6,rr,S,S,0},	/* neg.h */
42098b9484cSchristos   {43,7,rr,S,S,0},	/* neg.w */
42198b9484cSchristos   {43,8,rr,S,S,0},	/* neg.l */
42298b9484cSchristos };
42398b9484cSchristos 
42498b9484cSchristos const struct formstr format4[] = {
42598b9484cSchristos   {46,0,nops,0,0,0},	/* nop */
42698b9484cSchristos   {47,0,pcrel,0,0,0},	/* br */
42798b9484cSchristos   {48,2,pcrel,0,0,0},	/* bri.f */
42898b9484cSchristos   {48,1,pcrel,0,0,0},	/* bri.t */
42998b9484cSchristos   {49,2,pcrel,0,0,0},	/* bra.f */
43098b9484cSchristos   {49,1,pcrel,0,0,0},	/* bra.t */
43198b9484cSchristos   {50,2,pcrel,0,0,0},	/* brs.f */
43298b9484cSchristos   {50,1,pcrel,0,0,0},	/* brs.t */
43398b9484cSchristos };
43498b9484cSchristos 
43598b9484cSchristos const struct formstr format5[] = {
43698b9484cSchristos   {51,5,rr,V,V,0},	/* ldvi.b */
43798b9484cSchristos   {51,6,rr,V,V,0},	/* ldvi.h */
43898b9484cSchristos   {51,7,rr,V,V,0},	/* ldvi.w */
43998b9484cSchristos   {51,8,rr,V,V,0},	/* ldvi.l */
44098b9484cSchristos   {28,3,rr,V,V,0},	/* cvtw.s */
44198b9484cSchristos   {31,7,rr,V,V,0},	/* cvts.w */
44298b9484cSchristos   {28,8,rr,V,V,0},	/* cvtw.l */
44398b9484cSchristos   {33,7,rr,V,V,0},	/* cvtl.w */
44498b9484cSchristos   {52,5,rxr,V,V,0},	/* stvi.b */
44598b9484cSchristos   {52,6,rxr,V,V,0},	/* stvi.h */
44698b9484cSchristos   {52,7,rxr,V,V,0},	/* stvi.w */
44798b9484cSchristos   {52,8,rxr,V,V,0},	/* stvi.l */
44898b9484cSchristos   {52,5,rxr,S,V,0},	/* stvi.b */
44998b9484cSchristos   {52,6,rxr,S,V,0},	/* stvi.h */
45098b9484cSchristos   {52,7,rxr,S,V,0},	/* stvi.w */
45198b9484cSchristos   {52,8,rxr,S,V,0},	/* stvi.l */
45298b9484cSchristos };
45398b9484cSchristos 
45498b9484cSchristos const struct formstr format6[] = {
45598b9484cSchristos   {53,0,r,A,0,0},	/* ldsdr */
45698b9484cSchristos   {54,0,r,A,0,0},	/* ldkdr */
45798b9484cSchristos   {55,3,r,S,0,0},	/* ln.s */
45898b9484cSchristos   {55,4,r,S,0,0},	/* ln.d */
45998b9484cSchristos   {56,0,nops,0,0,0},	/* patu */
46098b9484cSchristos   {57,0,r,A,0,0},	/* pate */
46198b9484cSchristos   {58,0,nops,0,0,0},	/* pich */
46298b9484cSchristos   {59,0,nops,0,0,0},	/* plch */
46398b9484cSchristos   {0,0,lr,PSW,A,0},	/* mov */
46498b9484cSchristos   {0,0,rxl,A,PSW,0},	/* mov */
46598b9484cSchristos   {0,0,lr,PC,A,0},	/* mov */
46698b9484cSchristos   {60,0,r,S,0,0},	/* idle */
46798b9484cSchristos   {0,0,lr,ITR,S,0},	/* mov */
46898b9484cSchristos   {0,0,rxl,S,ITR,0},	/* mov */
46998b9484cSchristos   {0,0,0,0,0,0},
47098b9484cSchristos   {0,0,rxl,S,ITSR,0},	/* mov */
47198b9484cSchristos   {61,0,nops,0,0,0},	/* rtnq */
47298b9484cSchristos   {62,0,nops,0,0,0},	/* cfork */
47398b9484cSchristos   {63,0,nops,0,0,0},	/* rtn */
47498b9484cSchristos   {64,0,nops,0,0,0},	/* wfork */
47598b9484cSchristos   {65,0,nops,0,0,0},	/* join */
47698b9484cSchristos   {66,0,nops,0,0,0},	/* rtnc */
47798b9484cSchristos   {67,3,r,S,0,0},	/* exp.s */
47898b9484cSchristos   {67,4,r,S,0,0},	/* exp.d */
47998b9484cSchristos   {68,3,r,S,0,0},	/* sin.s */
48098b9484cSchristos   {68,4,r,S,0,0},	/* sin.d */
48198b9484cSchristos   {0,0,0,0,0,0},
48298b9484cSchristos   {0,0,0,0,0,0},
48398b9484cSchristos   {69,3,r,S,0,0},	/* cos.s */
48498b9484cSchristos   {69,4,r,S,0,0},	/* cos.d */
48598b9484cSchristos   {0,0,0,0,0,0},
48698b9484cSchristos   {0,0,0,0,0,0},
48798b9484cSchristos   {70,7,r,A,0,0},	/* psh.w */
48898b9484cSchristos   {0,0,0,0,0,0},
48998b9484cSchristos   {71,7,r,A,0,0},	/* pop.w */
49098b9484cSchristos   {0,0,0,0,0,0},
49198b9484cSchristos   {70,7,r,S,0,0},	/* psh.w */
49298b9484cSchristos   {70,8,r,S,0,0},	/* psh.l */
49398b9484cSchristos   {71,7,r,S,0,0},	/* pop.w */
49498b9484cSchristos   {71,8,r,S,0,0},	/* pop.l */
49598b9484cSchristos   {72,0,nops,0,0,0},	/* eni */
49698b9484cSchristos   {73,0,nops,0,0,0},	/* dsi */
49798b9484cSchristos   {74,0,nops,0,0,0},	/* bkpt */
49898b9484cSchristos   {75,0,nops,0,0,0},	/* msync */
49998b9484cSchristos   {76,0,r,S,0,0},	/* mski */
50098b9484cSchristos   {77,0,r,S,0,0},	/* xmti */
50198b9484cSchristos   {0,0,rxl,S,VV,0},	/* mov */
50298b9484cSchristos   {78,0,nops,0,0,0},	/* tstvv */
50398b9484cSchristos   {0,0,lr,VS,A,0},	/* mov */
50498b9484cSchristos   {0,0,rxl,A,VS,0},	/* mov */
50598b9484cSchristos   {0,0,lr,VL,A,0},	/* mov */
50698b9484cSchristos   {0,0,rxl,A,VL,0},	/* mov */
50798b9484cSchristos   {0,7,lr,VS,S,0},	/* mov.w */
50898b9484cSchristos   {0,7,rxl,S,VS,0},	/* mov.w */
50998b9484cSchristos   {0,7,lr,VL,S,0},	/* mov.w */
51098b9484cSchristos   {0,7,rxl,S,VL,0},	/* mov.w */
51198b9484cSchristos   {79,0,r,A,0,0},	/* diag */
51298b9484cSchristos   {80,0,nops,0,0,0},	/* pbkpt */
51398b9484cSchristos   {81,3,r,S,0,0},	/* sqrt.s */
51498b9484cSchristos   {81,4,r,S,0,0},	/* sqrt.d */
51598b9484cSchristos   {82,0,nops,0,0,0},	/* casr */
51698b9484cSchristos   {0,0,0,0,0,0},
51798b9484cSchristos   {83,3,r,S,0,0},	/* atan.s */
51898b9484cSchristos   {83,4,r,S,0,0},	/* atan.d */
51998b9484cSchristos };
52098b9484cSchristos 
52198b9484cSchristos const struct formstr format7[] = {
52298b9484cSchristos   {84,5,r,V,0,0},	/* sum.b */
52398b9484cSchristos   {84,6,r,V,0,0},	/* sum.h */
52498b9484cSchristos   {84,7,r,V,0,0},	/* sum.w */
52598b9484cSchristos   {84,8,r,V,0,0},	/* sum.l */
52698b9484cSchristos   {85,0,r,V,0,0},	/* all */
52798b9484cSchristos   {86,0,r,V,0,0},	/* any */
52898b9484cSchristos   {87,0,r,V,0,0},	/* parity */
52998b9484cSchristos   {0,0,0,0,0,0},
53098b9484cSchristos   {88,5,r,V,0,0},	/* max.b */
53198b9484cSchristos   {88,6,r,V,0,0},	/* max.h */
53298b9484cSchristos   {88,7,r,V,0,0},	/* max.w */
53398b9484cSchristos   {88,8,r,V,0,0},	/* max.l */
53498b9484cSchristos   {89,5,r,V,0,0},	/* min.b */
53598b9484cSchristos   {89,6,r,V,0,0},	/* min.h */
53698b9484cSchristos   {89,7,r,V,0,0},	/* min.w */
53798b9484cSchristos   {89,8,r,V,0,0},	/* min.l */
53898b9484cSchristos   {84,3,r,V,0,0},	/* sum.s */
53998b9484cSchristos   {84,4,r,V,0,0},	/* sum.d */
54098b9484cSchristos   {90,3,r,V,0,0},	/* prod.s */
54198b9484cSchristos   {90,4,r,V,0,0},	/* prod.d */
54298b9484cSchristos   {88,3,r,V,0,0},	/* max.s */
54398b9484cSchristos   {88,4,r,V,0,0},	/* max.d */
54498b9484cSchristos   {89,3,r,V,0,0},	/* min.s */
54598b9484cSchristos   {89,4,r,V,0,0},	/* min.d */
54698b9484cSchristos   {90,5,r,V,0,0},	/* prod.b */
54798b9484cSchristos   {90,6,r,V,0,0},	/* prod.h */
54898b9484cSchristos   {90,7,r,V,0,0},	/* prod.w */
54998b9484cSchristos   {90,8,r,V,0,0},	/* prod.l */
55098b9484cSchristos   {35,2,lr,VM,S,0},	/* plc.f */
55198b9484cSchristos   {35,1,lr,VM,S,0},	/* plc.t */
55298b9484cSchristos   {0,0,0,0,0,0},
55398b9484cSchristos   {0,0,0,0,0,0},
55498b9484cSchristos };
55598b9484cSchristos 
55698b9484cSchristos const struct formstr formatx[] = {
55798b9484cSchristos   {0,0,0,0,0,0},
55898b9484cSchristos };
55998b9484cSchristos 
56098b9484cSchristos const struct formstr format1a[] = {
56198b9484cSchristos   {91,0,imr,A,0,0},	/* halt */
56298b9484cSchristos   {92,0,a4,0,0,0},	/* sysc */
56398b9484cSchristos   {18,6,imr,A,0,0},	/* ld.h */
56498b9484cSchristos   {18,7,imr,A,0,0},	/* ld.w */
56598b9484cSchristos   {5,0,imr,A,0,0},	/* and */
56698b9484cSchristos   {6,0,imr,A,0,0},	/* or */
56798b9484cSchristos   {7,0,imr,A,0,0},	/* xor */
56898b9484cSchristos   {8,0,imr,A,0,0},	/* shf */
56998b9484cSchristos   {9,6,imr,A,0,0},	/* add.h */
57098b9484cSchristos   {9,7,imr,A,0,0},	/* add.w */
57198b9484cSchristos   {10,6,imr,A,0,0},	/* sub.h */
57298b9484cSchristos   {10,7,imr,A,0,0},	/* sub.w */
57398b9484cSchristos   {3,6,imr,A,0,0},	/* mul.h */
57498b9484cSchristos   {3,7,imr,A,0,0},	/* mul.w */
57598b9484cSchristos   {4,6,imr,A,0,0},	/* div.h */
57698b9484cSchristos   {4,7,imr,A,0,0},	/* div.w */
57798b9484cSchristos   {18,7,iml,VL,0,0},	/* ld.w */
57898b9484cSchristos   {18,7,iml,VS,0,0},	/* ld.w */
57998b9484cSchristos   {0,0,0,0,0,0},
58098b9484cSchristos   {8,7,imr,S,0,0},	/* shf.w */
58198b9484cSchristos   {93,0,a5,0,0,0},	/* trap */
58298b9484cSchristos   {0,0,0,0,0,0},
58398b9484cSchristos   {37,6,imr,A,0,0},	/* eq.h */
58498b9484cSchristos   {37,7,imr,A,0,0},	/* eq.w */
58598b9484cSchristos   {38,6,imr,A,0,0},	/* leu.h */
58698b9484cSchristos   {38,7,imr,A,0,0},	/* leu.w */
58798b9484cSchristos   {39,6,imr,A,0,0},	/* ltu.h */
58898b9484cSchristos   {39,7,imr,A,0,0},	/* ltu.w */
58998b9484cSchristos   {40,6,imr,A,0,0},	/* le.h */
59098b9484cSchristos   {40,7,imr,A,0,0},	/* le.w */
59198b9484cSchristos   {41,6,imr,A,0,0},	/* lt.h */
59298b9484cSchristos   {41,7,imr,A,0,0},	/* lt.w */
59398b9484cSchristos };
59498b9484cSchristos 
59598b9484cSchristos const struct formstr format1b[] = {
59698b9484cSchristos   {18,4,imr,S,0,0},	/* ld.d */
59798b9484cSchristos   {18,10,imr,S,0,0},	/* ld.u */
59898b9484cSchristos   {18,8,imr,S,0,0},	/* ld.l */
59998b9484cSchristos   {18,7,imr,S,0,0},	/* ld.w */
60098b9484cSchristos   {5,0,imr,S,0,0},	/* and */
60198b9484cSchristos   {6,0,imr,S,0,0},	/* or */
60298b9484cSchristos   {7,0,imr,S,0,0},	/* xor */
60398b9484cSchristos   {8,0,imr,S,0,0},	/* shf */
60498b9484cSchristos   {9,6,imr,S,0,0},	/* add.h */
60598b9484cSchristos   {9,7,imr,S,0,0},	/* add.w */
60698b9484cSchristos   {10,6,imr,S,0,0},	/* sub.h */
60798b9484cSchristos   {10,7,imr,S,0,0},	/* sub.w */
60898b9484cSchristos   {3,6,imr,S,0,0},	/* mul.h */
60998b9484cSchristos   {3,7,imr,S,0,0},	/* mul.w */
61098b9484cSchristos   {4,6,imr,S,0,0},	/* div.h */
61198b9484cSchristos   {4,7,imr,S,0,0},	/* div.w */
61298b9484cSchristos   {9,3,imr,S,0,0},	/* add.s */
61398b9484cSchristos   {10,3,imr,S,0,0},	/* sub.s */
61498b9484cSchristos   {3,3,imr,S,0,0},	/* mul.s */
61598b9484cSchristos   {4,3,imr,S,0,0},	/* div.s */
61698b9484cSchristos   {40,3,imr,S,0,0},	/* le.s */
61798b9484cSchristos   {41,3,imr,S,0,0},	/* lt.s */
61898b9484cSchristos   {37,6,imr,S,0,0},	/* eq.h */
61998b9484cSchristos   {37,7,imr,S,0,0},	/* eq.w */
62098b9484cSchristos   {38,6,imr,S,0,0},	/* leu.h */
62198b9484cSchristos   {38,7,imr,S,0,0},	/* leu.w */
62298b9484cSchristos   {39,6,imr,S,0,0},	/* ltu.h */
62398b9484cSchristos   {39,7,imr,S,0,0},	/* ltu.w */
62498b9484cSchristos   {40,6,imr,S,0,0},	/* le.h */
62598b9484cSchristos   {40,7,imr,S,0,0},	/* le.w */
62698b9484cSchristos   {41,6,imr,S,0,0},	/* lt.h */
62798b9484cSchristos   {41,7,imr,S,0,0},	/* lt.w */
62898b9484cSchristos };
62998b9484cSchristos 
63098b9484cSchristos const struct formstr e0_format0[] = {
63198b9484cSchristos   {10,3,rrr,S,V,V},	/* sub.s */
63298b9484cSchristos   {10,4,rrr,S,V,V},	/* sub.d */
63398b9484cSchristos   {4,3,rrr,S,V,V},	/* div.s */
63498b9484cSchristos   {4,4,rrr,S,V,V},	/* div.d */
63598b9484cSchristos   {10,11,rrr,S,V,V},	/* sub.s.f */
63698b9484cSchristos   {10,12,rrr,S,V,V},	/* sub.d.f */
63798b9484cSchristos   {4,11,rrr,S,V,V},	/* div.s.f */
63898b9484cSchristos   {4,12,rrr,S,V,V},	/* div.d.f */
63998b9484cSchristos   {3,11,rrr,V,V,V},	/* mul.s.f */
64098b9484cSchristos   {3,12,rrr,V,V,V},	/* mul.d.f */
64198b9484cSchristos   {4,11,rrr,V,V,V},	/* div.s.f */
64298b9484cSchristos   {4,12,rrr,V,V,V},	/* div.d.f */
64398b9484cSchristos   {3,11,rrr,V,S,V},	/* mul.s.f */
64498b9484cSchristos   {3,12,rrr,V,S,V},	/* mul.d.f */
64598b9484cSchristos   {4,11,rrr,V,S,V},	/* div.s.f */
64698b9484cSchristos   {4,12,rrr,V,S,V},	/* div.d.f */
64798b9484cSchristos   {5,2,rrr,V,V,V},	/* and.f */
64898b9484cSchristos   {6,2,rrr,V,V,V},	/* or.f */
64998b9484cSchristos   {7,2,rrr,V,V,V},	/* xor.f */
65098b9484cSchristos   {8,2,rrr,V,V,V},	/* shf.f */
65198b9484cSchristos   {5,2,rrr,V,S,V},	/* and.f */
65298b9484cSchristos   {6,2,rrr,V,S,V},	/* or.f */
65398b9484cSchristos   {7,2,rrr,V,S,V},	/* xor.f */
65498b9484cSchristos   {8,2,rrr,V,S,V},	/* shf.f */
65598b9484cSchristos   {9,11,rrr,V,V,V},	/* add.s.f */
65698b9484cSchristos   {9,12,rrr,V,V,V},	/* add.d.f */
65798b9484cSchristos   {10,11,rrr,V,V,V},	/* sub.s.f */
65898b9484cSchristos   {10,12,rrr,V,V,V},	/* sub.d.f */
65998b9484cSchristos   {9,11,rrr,V,S,V},	/* add.s.f */
66098b9484cSchristos   {9,12,rrr,V,S,V},	/* add.d.f */
66198b9484cSchristos   {10,11,rrr,V,S,V},	/* sub.s.f */
66298b9484cSchristos   {10,12,rrr,V,S,V},	/* sub.d.f */
66398b9484cSchristos   {9,13,rrr,V,V,V},	/* add.b.f */
66498b9484cSchristos   {9,14,rrr,V,V,V},	/* add.h.f */
66598b9484cSchristos   {9,15,rrr,V,V,V},	/* add.w.f */
66698b9484cSchristos   {9,16,rrr,V,V,V},	/* add.l.f */
66798b9484cSchristos   {9,13,rrr,V,S,V},	/* add.b.f */
66898b9484cSchristos   {9,14,rrr,V,S,V},	/* add.h.f */
66998b9484cSchristos   {9,15,rrr,V,S,V},	/* add.w.f */
67098b9484cSchristos   {9,16,rrr,V,S,V},	/* add.l.f */
67198b9484cSchristos   {10,13,rrr,V,V,V},	/* sub.b.f */
67298b9484cSchristos   {10,14,rrr,V,V,V},	/* sub.h.f */
67398b9484cSchristos   {10,15,rrr,V,V,V},	/* sub.w.f */
67498b9484cSchristos   {10,16,rrr,V,V,V},	/* sub.l.f */
67598b9484cSchristos   {10,13,rrr,V,S,V},	/* sub.b.f */
67698b9484cSchristos   {10,14,rrr,V,S,V},	/* sub.h.f */
67798b9484cSchristos   {10,15,rrr,V,S,V},	/* sub.w.f */
67898b9484cSchristos   {10,16,rrr,V,S,V},	/* sub.l.f */
67998b9484cSchristos   {3,13,rrr,V,V,V},	/* mul.b.f */
68098b9484cSchristos   {3,14,rrr,V,V,V},	/* mul.h.f */
68198b9484cSchristos   {3,15,rrr,V,V,V},	/* mul.w.f */
68298b9484cSchristos   {3,16,rrr,V,V,V},	/* mul.l.f */
68398b9484cSchristos   {3,13,rrr,V,S,V},	/* mul.b.f */
68498b9484cSchristos   {3,14,rrr,V,S,V},	/* mul.h.f */
68598b9484cSchristos   {3,15,rrr,V,S,V},	/* mul.w.f */
68698b9484cSchristos   {3,16,rrr,V,S,V},	/* mul.l.f */
68798b9484cSchristos   {4,13,rrr,V,V,V},	/* div.b.f */
68898b9484cSchristos   {4,14,rrr,V,V,V},	/* div.h.f */
68998b9484cSchristos   {4,15,rrr,V,V,V},	/* div.w.f */
69098b9484cSchristos   {4,16,rrr,V,V,V},	/* div.l.f */
69198b9484cSchristos   {4,13,rrr,V,S,V},	/* div.b.f */
69298b9484cSchristos   {4,14,rrr,V,S,V},	/* div.h.f */
69398b9484cSchristos   {4,15,rrr,V,S,V},	/* div.w.f */
69498b9484cSchristos   {4,16,rrr,V,S,V},	/* div.l.f */
69598b9484cSchristos };
69698b9484cSchristos 
69798b9484cSchristos const struct formstr e0_format1[] = {
69898b9484cSchristos   {0,0,0,0,0,0},
69998b9484cSchristos   {94,0,a3,0,0,0},	/* tst */
70098b9484cSchristos   {95,0,a3,0,0,0},	/* lck */
70198b9484cSchristos   {96,0,a3,0,0,0},	/* ulk */
70298b9484cSchristos   {17,0,a1r,S,0,0},	/* ldea */
70398b9484cSchristos   {97,0,a1r,A,0,0},	/* spawn */
70498b9484cSchristos   {98,0,a1r,A,0,0},	/* ldcmr */
70598b9484cSchristos   {99,0,a2r,A,0,0},	/* stcmr */
70698b9484cSchristos   {100,0,a1r,A,0,0},	/* popr */
70798b9484cSchristos   {101,0,a2r,A,0,0},	/* pshr */
70898b9484cSchristos   {102,7,a1r,A,0,0},	/* rcvr.w */
70998b9484cSchristos   {103,7,a2r,A,0,0},	/* matm.w */
71098b9484cSchristos   {104,7,a2r,A,0,0},	/* sndr.w */
71198b9484cSchristos   {104,8,a2r,S,0,0},	/* sndr.l */
71298b9484cSchristos   {102,8,a1r,S,0,0},	/* rcvr.l */
71398b9484cSchristos   {103,8,a2r,S,0,0},	/* matm.l */
71498b9484cSchristos   {0,0,0,0,0,0},
71598b9484cSchristos   {0,0,0,0,0,0},
71698b9484cSchristos   {0,0,0,0,0,0},
71798b9484cSchristos   {0,0,0,0,0,0},
71898b9484cSchristos   {0,0,0,0,0,0},
71998b9484cSchristos   {0,0,0,0,0,0},
72098b9484cSchristos   {0,0,0,0,0,0},
72198b9484cSchristos   {0,0,0,0,0,0},
72298b9484cSchristos   {0,0,0,0,0,0},
72398b9484cSchristos   {0,0,0,0,0,0},
72498b9484cSchristos   {0,0,0,0,0,0},
72598b9484cSchristos   {0,0,0,0,0,0},
72698b9484cSchristos   {0,0,0,0,0,0},
72798b9484cSchristos   {0,0,0,0,0,0},
72898b9484cSchristos   {0,0,0,0,0,0},
72998b9484cSchristos   {0,0,0,0,0,0},
73098b9484cSchristos   {105,7,a2r,A,0,0},	/* putr.w */
73198b9484cSchristos   {105,8,a2r,S,0,0},	/* putr.l */
73298b9484cSchristos   {106,7,a1r,A,0,0},	/* getr.w */
73398b9484cSchristos   {106,8,a1r,S,0,0},	/* getr.l */
73498b9484cSchristos   {26,13,a2r,S,0,0},	/* ste.b.f */
73598b9484cSchristos   {26,14,a2r,S,0,0},	/* ste.h.f */
73698b9484cSchristos   {26,15,a2r,S,0,0},	/* ste.w.f */
73798b9484cSchristos   {26,16,a2r,S,0,0},	/* ste.l.f */
73898b9484cSchristos   {107,7,a2r,A,0,0},	/* matr.w */
73998b9484cSchristos   {108,7,a2r,A,0,0},	/* mat.w */
74098b9484cSchristos   {109,7,a1r,A,0,0},	/* get.w */
74198b9484cSchristos   {110,7,a1r,A,0,0},	/* rcv.w */
74298b9484cSchristos   {0,0,0,0,0,0},
74398b9484cSchristos   {111,7,a1r,A,0,0},	/* inc.w */
74498b9484cSchristos   {112,7,a2r,A,0,0},	/* put.w */
74598b9484cSchristos   {113,7,a2r,A,0,0},	/* snd.w */
74698b9484cSchristos   {107,8,a2r,S,0,0},	/* matr.l */
74798b9484cSchristos   {108,8,a2r,S,0,0},	/* mat.l */
74898b9484cSchristos   {109,8,a1r,S,0,0},	/* get.l */
74998b9484cSchristos   {110,8,a1r,S,0,0},	/* rcv.l */
75098b9484cSchristos   {0,0,0,0,0,0},
75198b9484cSchristos   {111,8,a1r,S,0,0},	/* inc.l */
75298b9484cSchristos   {112,8,a2r,S,0,0},	/* put.l */
75398b9484cSchristos   {113,8,a2r,S,0,0},	/* snd.l */
75498b9484cSchristos   {18,13,a1r,V,0,0},	/* ld.b.f */
75598b9484cSchristos   {18,14,a1r,V,0,0},	/* ld.h.f */
75698b9484cSchristos   {18,15,a1r,V,0,0},	/* ld.w.f */
75798b9484cSchristos   {18,16,a1r,V,0,0},	/* ld.l.f */
75898b9484cSchristos   {21,13,a2r,V,0,0},	/* st.b.f */
75998b9484cSchristos   {21,14,a2r,V,0,0},	/* st.h.f */
76098b9484cSchristos   {21,15,a2r,V,0,0},	/* st.w.f */
76198b9484cSchristos   {21,16,a2r,V,0,0},	/* st.l.f */
76298b9484cSchristos };
76398b9484cSchristos 
76498b9484cSchristos const struct formstr e0_format2[] = {
76598b9484cSchristos   {28,5,rr,V,V,0},	/* cvtw.b */
76698b9484cSchristos   {28,6,rr,V,V,0},	/* cvtw.h */
76798b9484cSchristos   {29,7,rr,V,V,0},	/* cvtb.w */
76898b9484cSchristos   {30,7,rr,V,V,0},	/* cvth.w */
76998b9484cSchristos   {28,13,rr,V,V,0},	/* cvtw.b.f */
77098b9484cSchristos   {28,14,rr,V,V,0},	/* cvtw.h.f */
77198b9484cSchristos   {29,15,rr,V,V,0},	/* cvtb.w.f */
77298b9484cSchristos   {30,15,rr,V,V,0},	/* cvth.w.f */
77398b9484cSchristos   {31,8,rr,V,V,0},	/* cvts.l */
77498b9484cSchristos   {32,7,rr,V,V,0},	/* cvtd.w */
77598b9484cSchristos   {33,3,rr,V,V,0},	/* cvtl.s */
77698b9484cSchristos   {28,4,rr,V,V,0},	/* cvtw.d */
77798b9484cSchristos   {31,16,rr,V,V,0},	/* cvts.l.f */
77898b9484cSchristos   {32,15,rr,V,V,0},	/* cvtd.w.f */
77998b9484cSchristos   {33,11,rr,V,V,0},	/* cvtl.s.f */
78098b9484cSchristos   {28,12,rr,V,V,0},	/* cvtw.d.f */
78198b9484cSchristos   {114,0,rr,S,S,0},	/* enal */
78298b9484cSchristos   {8,7,rr,S,S,0},	/* shf.w */
78398b9484cSchristos   {115,0,rr,S,S,0},	/* enag */
78498b9484cSchristos   {0,0,0,0,0,0},
78598b9484cSchristos   {28,4,rr,S,S,0},	/* cvtw.d */
78698b9484cSchristos   {32,7,rr,S,S,0},	/* cvtd.w */
78798b9484cSchristos   {0,0,0,0,0,0},
78898b9484cSchristos   {0,0,0,0,0,0},
78998b9484cSchristos   {0,0,0,0,0,0},
79098b9484cSchristos   {0,0,0,0,0,0},
79198b9484cSchristos   {0,0,0,0,0,0},
79298b9484cSchristos   {0,0,0,0,0,0},
79398b9484cSchristos   {116,3,rr,S,S,0},	/* frint.s */
79498b9484cSchristos   {116,4,rr,S,S,0},	/* frint.d */
79598b9484cSchristos   {0,0,0,0,0,0},
79698b9484cSchristos   {0,0,0,0,0,0},
79798b9484cSchristos   {0,0,0,0,0,0},
79898b9484cSchristos   {0,0,0,0,0,0},
79998b9484cSchristos   {0,0,0,0,0,0},
80098b9484cSchristos   {0,0,0,0,0,0},
80198b9484cSchristos   {0,0,0,0,0,0},
80298b9484cSchristos   {0,0,0,0,0,0},
80398b9484cSchristos   {0,0,0,0,0,0},
80498b9484cSchristos   {0,0,0,0,0,0},
80598b9484cSchristos   {0,0,0,0,0,0},
80698b9484cSchristos   {0,0,0,0,0,0},
80798b9484cSchristos   {0,0,0,0,0,0},
80898b9484cSchristos   {0,0,0,0,0,0},
80998b9484cSchristos   {0,0,0,0,0,0},
81098b9484cSchristos   {0,0,0,0,0,0},
81198b9484cSchristos   {0,0,0,0,0,0},
81298b9484cSchristos   {0,0,0,0,0,0},
81398b9484cSchristos   {0,0,0,0,0,0},
81498b9484cSchristos   {0,0,0,0,0,0},
81598b9484cSchristos   {0,0,0,0,0,0},
81698b9484cSchristos   {0,0,0,0,0,0},
81798b9484cSchristos   {0,0,0,0,0,0},
81898b9484cSchristos   {0,0,0,0,0,0},
81998b9484cSchristos   {0,0,0,0,0,0},
82098b9484cSchristos   {0,0,0,0,0,0},
82198b9484cSchristos   {0,0,0,0,0,0},
82298b9484cSchristos   {0,0,0,0,0,0},
82398b9484cSchristos   {0,0,0,0,0,0},
82498b9484cSchristos   {0,0,0,0,0,0},
82598b9484cSchristos   {0,0,0,0,0,0},
82698b9484cSchristos   {0,0,0,0,0,0},
82798b9484cSchristos   {0,0,0,0,0,0},
82898b9484cSchristos   {0,0,0,0,0,0},
82998b9484cSchristos   {0,0,0,0,0,0},
83098b9484cSchristos   {0,0,0,0,0,0},
83198b9484cSchristos   {0,0,0,0,0,0},
83298b9484cSchristos   {0,0,0,0,0,0},
83398b9484cSchristos   {0,0,0,0,0,0},
83498b9484cSchristos   {0,0,0,0,0,0},
83598b9484cSchristos   {0,0,0,0,0,0},
83698b9484cSchristos   {0,0,0,0,0,0},
83798b9484cSchristos   {0,0,0,0,0,0},
83898b9484cSchristos   {0,0,0,0,0,0},
83998b9484cSchristos   {0,0,0,0,0,0},
84098b9484cSchristos   {0,0,0,0,0,0},
84198b9484cSchristos   {0,0,0,0,0,0},
84298b9484cSchristos   {0,0,0,0,0,0},
84398b9484cSchristos   {0,0,0,0,0,0},
84498b9484cSchristos   {0,0,0,0,0,0},
84598b9484cSchristos   {0,0,0,0,0,0},
84698b9484cSchristos   {0,0,0,0,0,0},
84798b9484cSchristos   {0,0,0,0,0,0},
84898b9484cSchristos   {0,0,0,0,0,0},
84998b9484cSchristos   {0,0,0,0,0,0},
85098b9484cSchristos   {0,0,0,0,0,0},
85198b9484cSchristos   {0,0,0,0,0,0},
85298b9484cSchristos   {0,0,0,0,0,0},
85398b9484cSchristos   {0,0,0,0,0,0},
85498b9484cSchristos   {0,0,0,0,0,0},
85598b9484cSchristos   {0,0,0,0,0,0},
85698b9484cSchristos   {0,0,0,0,0,0},
85798b9484cSchristos   {0,0,0,0,0,0},
85898b9484cSchristos   {0,0,0,0,0,0},
85998b9484cSchristos   {0,0,0,0,0,0},
86098b9484cSchristos   {0,0,0,0,0,0},
86198b9484cSchristos   {0,0,0,0,0,0},
86298b9484cSchristos   {0,0,0,0,0,0},
86398b9484cSchristos   {116,3,rr,V,V,0},	/* frint.s */
86498b9484cSchristos   {116,4,rr,V,V,0},	/* frint.d */
86598b9484cSchristos   {0,0,0,0,0,0},
86698b9484cSchristos   {0,0,0,0,0,0},
86798b9484cSchristos   {116,11,rr,V,V,0},	/* frint.s.f */
86898b9484cSchristos   {116,12,rr,V,V,0},	/* frint.d.f */
86998b9484cSchristos   {0,0,0,0,0,0},
87098b9484cSchristos   {0,0,0,0,0,0},
87198b9484cSchristos   {0,0,0,0,0,0},
87298b9484cSchristos   {0,0,0,0,0,0},
87398b9484cSchristos   {0,0,0,0,0,0},
87498b9484cSchristos   {0,0,0,0,0,0},
87598b9484cSchristos   {0,0,0,0,0,0},
87698b9484cSchristos   {0,0,0,0,0,0},
87798b9484cSchristos   {0,0,0,0,0,0},
87898b9484cSchristos   {0,0,0,0,0,0},
87998b9484cSchristos   {0,0,0,0,0,0},
88098b9484cSchristos   {0,0,0,0,0,0},
88198b9484cSchristos   {81,3,rr,V,V,0},	/* sqrt.s */
88298b9484cSchristos   {81,4,rr,V,V,0},	/* sqrt.d */
88398b9484cSchristos   {0,0,0,0,0,0},
88498b9484cSchristos   {0,0,0,0,0,0},
88598b9484cSchristos   {0,0,0,0,0,0},
88698b9484cSchristos   {0,0,0,0,0,0},
88798b9484cSchristos   {0,0,0,0,0,0},
88898b9484cSchristos   {0,0,0,0,0,0},
88998b9484cSchristos   {81,11,rr,V,V,0},	/* sqrt.s.f */
89098b9484cSchristos   {81,12,rr,V,V,0},	/* sqrt.d.f */
89198b9484cSchristos   {0,0,0,0,0,0},
89298b9484cSchristos   {0,0,0,0,0,0},
89398b9484cSchristos };
89498b9484cSchristos 
89598b9484cSchristos const struct formstr e0_format3[] = {
89698b9484cSchristos   {32,11,rr,V,V,0},	/* cvtd.s.f */
89798b9484cSchristos   {31,12,rr,V,V,0},	/* cvts.d.f */
89898b9484cSchristos   {33,12,rr,V,V,0},	/* cvtl.d.f */
89998b9484cSchristos   {32,16,rr,V,V,0},	/* cvtd.l.f */
90098b9484cSchristos   {0,0,0,0,0,0},
90198b9484cSchristos   {0,0,0,0,0,0},
90298b9484cSchristos   {0,0,0,0,0,0},
90398b9484cSchristos   {0,0,0,0,0,0},
90498b9484cSchristos   {36,2,rr,V,V,0},	/* tzc.f */
90598b9484cSchristos   {44,2,rr,V,V,0},	/* lop.f */
90698b9484cSchristos   {117,2,rr,V,V,0},	/* xpnd.f */
90798b9484cSchristos   {42,2,rr,V,V,0},	/* not.f */
90898b9484cSchristos   {8,2,rr,S,V,0},	/* shf.f */
90998b9484cSchristos   {35,17,rr,V,V,0},	/* plc.t.f */
91098b9484cSchristos   {0,0,0,0,0,0},
91198b9484cSchristos   {0,0,0,0,0,0},
91298b9484cSchristos   {37,11,rr,V,V,0},	/* eq.s.f */
91398b9484cSchristos   {37,12,rr,V,V,0},	/* eq.d.f */
91498b9484cSchristos   {43,11,rr,V,V,0},	/* neg.s.f */
91598b9484cSchristos   {43,12,rr,V,V,0},	/* neg.d.f */
91698b9484cSchristos   {37,11,rr,S,V,0},	/* eq.s.f */
91798b9484cSchristos   {37,12,rr,S,V,0},	/* eq.d.f */
91898b9484cSchristos   {0,0,0,0,0,0},
91998b9484cSchristos   {0,0,0,0,0,0},
92098b9484cSchristos   {40,11,rr,V,V,0},	/* le.s.f */
92198b9484cSchristos   {40,12,rr,V,V,0},	/* le.d.f */
92298b9484cSchristos   {41,11,rr,V,V,0},	/* lt.s.f */
92398b9484cSchristos   {41,12,rr,V,V,0},	/* lt.d.f */
92498b9484cSchristos   {40,11,rr,S,V,0},	/* le.s.f */
92598b9484cSchristos   {40,12,rr,S,V,0},	/* le.d.f */
92698b9484cSchristos   {41,11,rr,S,V,0},	/* lt.s.f */
92798b9484cSchristos   {41,12,rr,S,V,0},	/* lt.d.f */
92898b9484cSchristos   {37,13,rr,V,V,0},	/* eq.b.f */
92998b9484cSchristos   {37,14,rr,V,V,0},	/* eq.h.f */
93098b9484cSchristos   {37,15,rr,V,V,0},	/* eq.w.f */
93198b9484cSchristos   {37,16,rr,V,V,0},	/* eq.l.f */
93298b9484cSchristos   {37,13,rr,S,V,0},	/* eq.b.f */
93398b9484cSchristos   {37,14,rr,S,V,0},	/* eq.h.f */
93498b9484cSchristos   {37,15,rr,S,V,0},	/* eq.w.f */
93598b9484cSchristos   {37,16,rr,S,V,0},	/* eq.l.f */
93698b9484cSchristos   {40,13,rr,V,V,0},	/* le.b.f */
93798b9484cSchristos   {40,14,rr,V,V,0},	/* le.h.f */
93898b9484cSchristos   {40,15,rr,V,V,0},	/* le.w.f */
93998b9484cSchristos   {40,16,rr,V,V,0},	/* le.l.f */
94098b9484cSchristos   {40,13,rr,S,V,0},	/* le.b.f */
94198b9484cSchristos   {40,14,rr,S,V,0},	/* le.h.f */
94298b9484cSchristos   {40,15,rr,S,V,0},	/* le.w.f */
94398b9484cSchristos   {40,16,rr,S,V,0},	/* le.l.f */
94498b9484cSchristos   {41,13,rr,V,V,0},	/* lt.b.f */
94598b9484cSchristos   {41,14,rr,V,V,0},	/* lt.h.f */
94698b9484cSchristos   {41,15,rr,V,V,0},	/* lt.w.f */
94798b9484cSchristos   {41,16,rr,V,V,0},	/* lt.l.f */
94898b9484cSchristos   {41,13,rr,S,V,0},	/* lt.b.f */
94998b9484cSchristos   {41,14,rr,S,V,0},	/* lt.h.f */
95098b9484cSchristos   {41,15,rr,S,V,0},	/* lt.w.f */
95198b9484cSchristos   {41,16,rr,S,V,0},	/* lt.l.f */
95298b9484cSchristos   {43,13,rr,V,V,0},	/* neg.b.f */
95398b9484cSchristos   {43,14,rr,V,V,0},	/* neg.h.f */
95498b9484cSchristos   {43,15,rr,V,V,0},	/* neg.w.f */
95598b9484cSchristos   {43,16,rr,V,V,0},	/* neg.l.f */
95698b9484cSchristos   {0,0,0,0,0,0},
95798b9484cSchristos   {0,0,0,0,0,0},
95898b9484cSchristos   {0,0,0,0,0,0},
95998b9484cSchristos   {0,0,0,0,0,0},
96098b9484cSchristos };
96198b9484cSchristos 
96298b9484cSchristos const struct formstr e0_format4[] = {
96398b9484cSchristos   {0,0,0,0,0,0},
96498b9484cSchristos   {0,0,0,0,0,0},
96598b9484cSchristos   {0,0,0,0,0,0},
96698b9484cSchristos   {0,0,0,0,0,0},
96798b9484cSchristos   {0,0,0,0,0,0},
96898b9484cSchristos   {0,0,0,0,0,0},
96998b9484cSchristos   {0,0,0,0,0,0},
97098b9484cSchristos   {0,0,0,0,0,0},
97198b9484cSchristos };
97298b9484cSchristos 
97398b9484cSchristos const struct formstr e0_format5[] = {
97498b9484cSchristos   {51,13,rr,V,V,0},	/* ldvi.b.f */
97598b9484cSchristos   {51,14,rr,V,V,0},	/* ldvi.h.f */
97698b9484cSchristos   {51,15,rr,V,V,0},	/* ldvi.w.f */
97798b9484cSchristos   {51,16,rr,V,V,0},	/* ldvi.l.f */
97898b9484cSchristos   {28,11,rr,V,V,0},	/* cvtw.s.f */
97998b9484cSchristos   {31,15,rr,V,V,0},	/* cvts.w.f */
98098b9484cSchristos   {28,16,rr,V,V,0},	/* cvtw.l.f */
98198b9484cSchristos   {33,15,rr,V,V,0},	/* cvtl.w.f */
98298b9484cSchristos   {52,13,rxr,V,V,0},	/* stvi.b.f */
98398b9484cSchristos   {52,14,rxr,V,V,0},	/* stvi.h.f */
98498b9484cSchristos   {52,15,rxr,V,V,0},	/* stvi.w.f */
98598b9484cSchristos   {52,16,rxr,V,V,0},	/* stvi.l.f */
98698b9484cSchristos   {52,13,rxr,S,V,0},	/* stvi.b.f */
98798b9484cSchristos   {52,14,rxr,S,V,0},	/* stvi.h.f */
98898b9484cSchristos   {52,15,rxr,S,V,0},	/* stvi.w.f */
98998b9484cSchristos   {52,16,rxr,S,V,0},	/* stvi.l.f */
99098b9484cSchristos };
99198b9484cSchristos 
99298b9484cSchristos const struct formstr e0_format6[] = {
99398b9484cSchristos   {0,0,rxl,S,CIR,0},	/* mov */
99498b9484cSchristos   {0,0,lr,CIR,S,0},	/* mov */
99598b9484cSchristos   {0,0,lr,TOC,S,0},	/* mov */
99698b9484cSchristos   {0,0,lr,CPUID,S,0},	/* mov */
99798b9484cSchristos   {0,0,rxl,S,TTR,0},	/* mov */
99898b9484cSchristos   {0,0,lr,TTR,S,0},	/* mov */
99998b9484cSchristos   {118,0,nops,0,0,0},	/* ctrsl */
100098b9484cSchristos   {119,0,nops,0,0,0},	/* ctrsg */
100198b9484cSchristos   {0,0,rxl,S,VMU,0},	/* mov */
100298b9484cSchristos   {0,0,lr,VMU,S,0},	/* mov */
100398b9484cSchristos   {0,0,rxl,S,VML,0},	/* mov */
100498b9484cSchristos   {0,0,lr,VML,S,0},	/* mov */
100598b9484cSchristos   {0,0,rxl,S,ICR,0},	/* mov */
100698b9484cSchristos   {0,0,lr,ICR,S,0},	/* mov */
100798b9484cSchristos   {0,0,rxl,S,TCPU,0},	/* mov */
100898b9484cSchristos   {0,0,lr,TCPU,S,0},	/* mov */
100998b9484cSchristos   {0,0,0,0,0,0},
101098b9484cSchristos   {0,0,0,0,0,0},
101198b9484cSchristos   {0,0,0,0,0,0},
101298b9484cSchristos   {0,0,0,0,0,0},
101398b9484cSchristos   {120,0,nops,0,0,0},	/* stop */
101498b9484cSchristos   {0,0,0,0,0,0},
101598b9484cSchristos   {0,0,rxl,S,TID,0},	/* mov */
101698b9484cSchristos   {0,0,lr,TID,S,0},	/* mov */
101798b9484cSchristos   {0,0,0,0,0,0},
101898b9484cSchristos   {0,0,0,0,0,0},
101998b9484cSchristos   {0,0,0,0,0,0},
102098b9484cSchristos   {0,0,0,0,0,0},
102198b9484cSchristos   {0,0,0,0,0,0},
102298b9484cSchristos   {0,0,0,0,0,0},
102398b9484cSchristos   {0,0,0,0,0,0},
102498b9484cSchristos   {0,0,0,0,0,0},
102598b9484cSchristos   {0,0,0,0,0,0},
102698b9484cSchristos   {0,0,0,0,0,0},
102798b9484cSchristos   {0,0,0,0,0,0},
102898b9484cSchristos   {0,0,0,0,0,0},
102998b9484cSchristos   {0,0,0,0,0,0},
103098b9484cSchristos   {0,0,0,0,0,0},
103198b9484cSchristos   {0,0,0,0,0,0},
103298b9484cSchristos   {0,0,0,0,0,0},
103398b9484cSchristos   {0,0,0,0,0,0},
103498b9484cSchristos   {0,0,0,0,0,0},
103598b9484cSchristos   {0,0,0,0,0,0},
103698b9484cSchristos   {0,0,0,0,0,0},
103798b9484cSchristos   {0,0,0,0,0,0},
103898b9484cSchristos   {0,0,0,0,0,0},
103998b9484cSchristos   {0,0,0,0,0,0},
104098b9484cSchristos   {0,0,0,0,0,0},
104198b9484cSchristos   {0,0,0,0,0,0},
104298b9484cSchristos   {0,0,0,0,0,0},
104398b9484cSchristos   {0,0,0,0,0,0},
104498b9484cSchristos   {0,0,0,0,0,0},
104598b9484cSchristos   {0,0,0,0,0,0},
104698b9484cSchristos   {0,0,0,0,0,0},
104798b9484cSchristos   {0,0,0,0,0,0},
104898b9484cSchristos   {0,0,0,0,0,0},
104998b9484cSchristos   {0,0,0,0,0,0},
105098b9484cSchristos   {0,0,0,0,0,0},
105198b9484cSchristos   {0,0,0,0,0,0},
105298b9484cSchristos   {0,0,0,0,0,0},
105398b9484cSchristos   {0,0,0,0,0,0},
105498b9484cSchristos   {0,0,0,0,0,0},
105598b9484cSchristos   {0,0,0,0,0,0},
105698b9484cSchristos   {0,0,0,0,0,0},
105798b9484cSchristos };
105898b9484cSchristos 
105998b9484cSchristos const struct formstr e0_format7[] = {
106098b9484cSchristos   {84,13,r,V,0,0},	/* sum.b.f */
106198b9484cSchristos   {84,14,r,V,0,0},	/* sum.h.f */
106298b9484cSchristos   {84,15,r,V,0,0},	/* sum.w.f */
106398b9484cSchristos   {84,16,r,V,0,0},	/* sum.l.f */
106498b9484cSchristos   {85,2,r,V,0,0},	/* all.f */
106598b9484cSchristos   {86,2,r,V,0,0},	/* any.f */
106698b9484cSchristos   {87,2,r,V,0,0},	/* parity.f */
106798b9484cSchristos   {0,0,0,0,0,0},
106898b9484cSchristos   {88,13,r,V,0,0},	/* max.b.f */
106998b9484cSchristos   {88,14,r,V,0,0},	/* max.h.f */
107098b9484cSchristos   {88,15,r,V,0,0},	/* max.w.f */
107198b9484cSchristos   {88,16,r,V,0,0},	/* max.l.f */
107298b9484cSchristos   {89,13,r,V,0,0},	/* min.b.f */
107398b9484cSchristos   {89,14,r,V,0,0},	/* min.h.f */
107498b9484cSchristos   {89,15,r,V,0,0},	/* min.w.f */
107598b9484cSchristos   {89,16,r,V,0,0},	/* min.l.f */
107698b9484cSchristos   {84,11,r,V,0,0},	/* sum.s.f */
107798b9484cSchristos   {84,12,r,V,0,0},	/* sum.d.f */
107898b9484cSchristos   {90,11,r,V,0,0},	/* prod.s.f */
107998b9484cSchristos   {90,12,r,V,0,0},	/* prod.d.f */
108098b9484cSchristos   {88,11,r,V,0,0},	/* max.s.f */
108198b9484cSchristos   {88,12,r,V,0,0},	/* max.d.f */
108298b9484cSchristos   {89,11,r,V,0,0},	/* min.s.f */
108398b9484cSchristos   {89,12,r,V,0,0},	/* min.d.f */
108498b9484cSchristos   {90,13,r,V,0,0},	/* prod.b.f */
108598b9484cSchristos   {90,14,r,V,0,0},	/* prod.h.f */
108698b9484cSchristos   {90,15,r,V,0,0},	/* prod.w.f */
108798b9484cSchristos   {90,16,r,V,0,0},	/* prod.l.f */
108898b9484cSchristos   {0,0,0,0,0,0},
108998b9484cSchristos   {0,0,0,0,0,0},
109098b9484cSchristos   {0,0,0,0,0,0},
109198b9484cSchristos   {0,0,0,0,0,0},
109298b9484cSchristos };
109398b9484cSchristos 
109498b9484cSchristos const struct formstr e1_format0[] = {
109598b9484cSchristos   {0,0,0,0,0,0},
109698b9484cSchristos   {0,0,0,0,0,0},
109798b9484cSchristos   {0,0,0,0,0,0},
109898b9484cSchristos   {0,0,0,0,0,0},
109998b9484cSchristos   {10,18,rrr,S,V,V},	/* sub.s.t */
110098b9484cSchristos   {10,19,rrr,S,V,V},	/* sub.d.t */
110198b9484cSchristos   {4,18,rrr,S,V,V},	/* div.s.t */
110298b9484cSchristos   {4,19,rrr,S,V,V},	/* div.d.t */
110398b9484cSchristos   {3,18,rrr,V,V,V},	/* mul.s.t */
110498b9484cSchristos   {3,19,rrr,V,V,V},	/* mul.d.t */
110598b9484cSchristos   {4,18,rrr,V,V,V},	/* div.s.t */
110698b9484cSchristos   {4,19,rrr,V,V,V},	/* div.d.t */
110798b9484cSchristos   {3,18,rrr,V,S,V},	/* mul.s.t */
110898b9484cSchristos   {3,19,rrr,V,S,V},	/* mul.d.t */
110998b9484cSchristos   {4,18,rrr,V,S,V},	/* div.s.t */
111098b9484cSchristos   {4,19,rrr,V,S,V},	/* div.d.t */
111198b9484cSchristos   {5,1,rrr,V,V,V},	/* and.t */
111298b9484cSchristos   {6,1,rrr,V,V,V},	/* or.t */
111398b9484cSchristos   {7,1,rrr,V,V,V},	/* xor.t */
111498b9484cSchristos   {8,1,rrr,V,V,V},	/* shf.t */
111598b9484cSchristos   {5,1,rrr,V,S,V},	/* and.t */
111698b9484cSchristos   {6,1,rrr,V,S,V},	/* or.t */
111798b9484cSchristos   {7,1,rrr,V,S,V},	/* xor.t */
111898b9484cSchristos   {8,1,rrr,V,S,V},	/* shf.t */
111998b9484cSchristos   {9,18,rrr,V,V,V},	/* add.s.t */
112098b9484cSchristos   {9,19,rrr,V,V,V},	/* add.d.t */
112198b9484cSchristos   {10,18,rrr,V,V,V},	/* sub.s.t */
112298b9484cSchristos   {10,19,rrr,V,V,V},	/* sub.d.t */
112398b9484cSchristos   {9,18,rrr,V,S,V},	/* add.s.t */
112498b9484cSchristos   {9,19,rrr,V,S,V},	/* add.d.t */
112598b9484cSchristos   {10,18,rrr,V,S,V},	/* sub.s.t */
112698b9484cSchristos   {10,19,rrr,V,S,V},	/* sub.d.t */
112798b9484cSchristos   {9,20,rrr,V,V,V},	/* add.b.t */
112898b9484cSchristos   {9,21,rrr,V,V,V},	/* add.h.t */
112998b9484cSchristos   {9,22,rrr,V,V,V},	/* add.w.t */
113098b9484cSchristos   {9,23,rrr,V,V,V},	/* add.l.t */
113198b9484cSchristos   {9,20,rrr,V,S,V},	/* add.b.t */
113298b9484cSchristos   {9,21,rrr,V,S,V},	/* add.h.t */
113398b9484cSchristos   {9,22,rrr,V,S,V},	/* add.w.t */
113498b9484cSchristos   {9,23,rrr,V,S,V},	/* add.l.t */
113598b9484cSchristos   {10,20,rrr,V,V,V},	/* sub.b.t */
113698b9484cSchristos   {10,21,rrr,V,V,V},	/* sub.h.t */
113798b9484cSchristos   {10,22,rrr,V,V,V},	/* sub.w.t */
113898b9484cSchristos   {10,23,rrr,V,V,V},	/* sub.l.t */
113998b9484cSchristos   {10,20,rrr,V,S,V},	/* sub.b.t */
114098b9484cSchristos   {10,21,rrr,V,S,V},	/* sub.h.t */
114198b9484cSchristos   {10,22,rrr,V,S,V},	/* sub.w.t */
114298b9484cSchristos   {10,23,rrr,V,S,V},	/* sub.l.t */
114398b9484cSchristos   {3,20,rrr,V,V,V},	/* mul.b.t */
114498b9484cSchristos   {3,21,rrr,V,V,V},	/* mul.h.t */
114598b9484cSchristos   {3,22,rrr,V,V,V},	/* mul.w.t */
114698b9484cSchristos   {3,23,rrr,V,V,V},	/* mul.l.t */
114798b9484cSchristos   {3,20,rrr,V,S,V},	/* mul.b.t */
114898b9484cSchristos   {3,21,rrr,V,S,V},	/* mul.h.t */
114998b9484cSchristos   {3,22,rrr,V,S,V},	/* mul.w.t */
115098b9484cSchristos   {3,23,rrr,V,S,V},	/* mul.l.t */
115198b9484cSchristos   {4,20,rrr,V,V,V},	/* div.b.t */
115298b9484cSchristos   {4,21,rrr,V,V,V},	/* div.h.t */
115398b9484cSchristos   {4,22,rrr,V,V,V},	/* div.w.t */
115498b9484cSchristos   {4,23,rrr,V,V,V},	/* div.l.t */
115598b9484cSchristos   {4,20,rrr,V,S,V},	/* div.b.t */
115698b9484cSchristos   {4,21,rrr,V,S,V},	/* div.h.t */
115798b9484cSchristos   {4,22,rrr,V,S,V},	/* div.w.t */
115898b9484cSchristos   {4,23,rrr,V,S,V},	/* div.l.t */
115998b9484cSchristos };
116098b9484cSchristos 
116198b9484cSchristos const struct formstr e1_format1[] = {
116298b9484cSchristos   {0,0,0,0,0,0},
116398b9484cSchristos   {0,0,0,0,0,0},
116498b9484cSchristos   {0,0,0,0,0,0},
116598b9484cSchristos   {0,0,0,0,0,0},
116698b9484cSchristos   {0,0,0,0,0,0},
116798b9484cSchristos   {0,0,0,0,0,0},
116898b9484cSchristos   {0,0,0,0,0,0},
116998b9484cSchristos   {0,0,0,0,0,0},
117098b9484cSchristos   {0,0,0,0,0,0},
117198b9484cSchristos   {0,0,0,0,0,0},
117298b9484cSchristos   {0,0,0,0,0,0},
117398b9484cSchristos   {0,0,0,0,0,0},
117498b9484cSchristos   {0,0,0,0,0,0},
117598b9484cSchristos   {0,0,0,0,0,0},
117698b9484cSchristos   {0,0,0,0,0,0},
117798b9484cSchristos   {0,0,0,0,0,0},
117898b9484cSchristos   {0,0,0,0,0,0},
117998b9484cSchristos   {0,0,0,0,0,0},
118098b9484cSchristos   {0,0,0,0,0,0},
118198b9484cSchristos   {0,0,0,0,0,0},
118298b9484cSchristos   {0,0,0,0,0,0},
118398b9484cSchristos   {0,0,0,0,0,0},
118498b9484cSchristos   {0,0,0,0,0,0},
118598b9484cSchristos   {0,0,0,0,0,0},
118698b9484cSchristos   {0,0,0,0,0,0},
118798b9484cSchristos   {0,0,0,0,0,0},
118898b9484cSchristos   {0,0,0,0,0,0},
118998b9484cSchristos   {0,0,0,0,0,0},
119098b9484cSchristos   {0,0,0,0,0,0},
119198b9484cSchristos   {0,0,0,0,0,0},
119298b9484cSchristos   {0,0,0,0,0,0},
119398b9484cSchristos   {0,0,0,0,0,0},
119498b9484cSchristos   {0,0,0,0,0,0},
119598b9484cSchristos   {0,0,0,0,0,0},
119698b9484cSchristos   {0,0,0,0,0,0},
119798b9484cSchristos   {0,0,0,0,0,0},
119898b9484cSchristos   {26,20,a2r,S,0,0},	/* ste.b.t */
119998b9484cSchristos   {26,21,a2r,S,0,0},	/* ste.h.t */
120098b9484cSchristos   {26,22,a2r,S,0,0},	/* ste.w.t */
120198b9484cSchristos   {26,23,a2r,S,0,0},	/* ste.l.t */
120298b9484cSchristos   {0,0,0,0,0,0},
120398b9484cSchristos   {0,0,0,0,0,0},
120498b9484cSchristos   {0,0,0,0,0,0},
120598b9484cSchristos   {0,0,0,0,0,0},
120698b9484cSchristos   {0,0,0,0,0,0},
120798b9484cSchristos   {0,0,0,0,0,0},
120898b9484cSchristos   {0,0,0,0,0,0},
120998b9484cSchristos   {0,0,0,0,0,0},
121098b9484cSchristos   {0,0,0,0,0,0},
121198b9484cSchristos   {0,0,0,0,0,0},
121298b9484cSchristos   {0,0,0,0,0,0},
121398b9484cSchristos   {0,0,0,0,0,0},
121498b9484cSchristos   {0,0,0,0,0,0},
121598b9484cSchristos   {0,0,0,0,0,0},
121698b9484cSchristos   {0,0,0,0,0,0},
121798b9484cSchristos   {0,0,0,0,0,0},
121898b9484cSchristos   {18,20,a1r,V,0,0},	/* ld.b.t */
121998b9484cSchristos   {18,21,a1r,V,0,0},	/* ld.h.t */
122098b9484cSchristos   {18,22,a1r,V,0,0},	/* ld.w.t */
122198b9484cSchristos   {18,23,a1r,V,0,0},	/* ld.l.t */
122298b9484cSchristos   {21,20,a2r,V,0,0},	/* st.b.t */
122398b9484cSchristos   {21,21,a2r,V,0,0},	/* st.h.t */
122498b9484cSchristos   {21,22,a2r,V,0,0},	/* st.w.t */
122598b9484cSchristos   {21,23,a2r,V,0,0},	/* st.l.t */
122698b9484cSchristos };
122798b9484cSchristos 
122898b9484cSchristos const struct formstr e1_format2[] = {
122998b9484cSchristos   {0,0,0,0,0,0},
123098b9484cSchristos   {0,0,0,0,0,0},
123198b9484cSchristos   {0,0,0,0,0,0},
123298b9484cSchristos   {0,0,0,0,0,0},
123398b9484cSchristos   {28,20,rr,V,V,0},	/* cvtw.b.t */
123498b9484cSchristos   {28,21,rr,V,V,0},	/* cvtw.h.t */
123598b9484cSchristos   {29,22,rr,V,V,0},	/* cvtb.w.t */
123698b9484cSchristos   {30,22,rr,V,V,0},	/* cvth.w.t */
123798b9484cSchristos   {0,0,0,0,0,0},
123898b9484cSchristos   {0,0,0,0,0,0},
123998b9484cSchristos   {0,0,0,0,0,0},
124098b9484cSchristos   {0,0,0,0,0,0},
124198b9484cSchristos   {31,23,rr,V,V,0},	/* cvts.l.t */
124298b9484cSchristos   {32,22,rr,V,V,0},	/* cvtd.w.t */
124398b9484cSchristos   {33,18,rr,V,V,0},	/* cvtl.s.t */
124498b9484cSchristos   {28,19,rr,V,V,0},	/* cvtw.d.t */
124598b9484cSchristos   {0,0,0,0,0,0},
124698b9484cSchristos   {0,0,0,0,0,0},
124798b9484cSchristos   {0,0,0,0,0,0},
124898b9484cSchristos   {0,0,0,0,0,0},
124998b9484cSchristos   {0,0,0,0,0,0},
125098b9484cSchristos   {0,0,0,0,0,0},
125198b9484cSchristos   {0,0,0,0,0,0},
125298b9484cSchristos   {0,0,0,0,0,0},
125398b9484cSchristos   {0,0,0,0,0,0},
125498b9484cSchristos   {0,0,0,0,0,0},
125598b9484cSchristos   {0,0,0,0,0,0},
125698b9484cSchristos   {0,0,0,0,0,0},
125798b9484cSchristos   {0,0,0,0,0,0},
125898b9484cSchristos   {0,0,0,0,0,0},
125998b9484cSchristos   {0,0,0,0,0,0},
126098b9484cSchristos   {0,0,0,0,0,0},
126198b9484cSchristos   {0,0,0,0,0,0},
126298b9484cSchristos   {0,0,0,0,0,0},
126398b9484cSchristos   {0,0,0,0,0,0},
126498b9484cSchristos   {0,0,0,0,0,0},
126598b9484cSchristos   {0,0,0,0,0,0},
126698b9484cSchristos   {0,0,0,0,0,0},
126798b9484cSchristos   {0,0,0,0,0,0},
126898b9484cSchristos   {0,0,0,0,0,0},
126998b9484cSchristos   {0,0,0,0,0,0},
127098b9484cSchristos   {0,0,0,0,0,0},
127198b9484cSchristos   {0,0,0,0,0,0},
127298b9484cSchristos   {0,0,0,0,0,0},
127398b9484cSchristos   {0,0,0,0,0,0},
127498b9484cSchristos   {0,0,0,0,0,0},
127598b9484cSchristos   {0,0,0,0,0,0},
127698b9484cSchristos   {0,0,0,0,0,0},
127798b9484cSchristos   {0,0,0,0,0,0},
127898b9484cSchristos   {0,0,0,0,0,0},
127998b9484cSchristos   {0,0,0,0,0,0},
128098b9484cSchristos   {0,0,0,0,0,0},
128198b9484cSchristos   {0,0,0,0,0,0},
128298b9484cSchristos   {0,0,0,0,0,0},
128398b9484cSchristos   {0,0,0,0,0,0},
128498b9484cSchristos   {0,0,0,0,0,0},
128598b9484cSchristos   {0,0,0,0,0,0},
128698b9484cSchristos   {0,0,0,0,0,0},
128798b9484cSchristos   {0,0,0,0,0,0},
128898b9484cSchristos   {0,0,0,0,0,0},
128998b9484cSchristos   {0,0,0,0,0,0},
129098b9484cSchristos   {0,0,0,0,0,0},
129198b9484cSchristos   {0,0,0,0,0,0},
129298b9484cSchristos   {0,0,0,0,0,0},
129398b9484cSchristos   {0,0,0,0,0,0},
129498b9484cSchristos   {0,0,0,0,0,0},
129598b9484cSchristos   {0,0,0,0,0,0},
129698b9484cSchristos   {0,0,0,0,0,0},
129798b9484cSchristos   {0,0,0,0,0,0},
129898b9484cSchristos   {0,0,0,0,0,0},
129998b9484cSchristos   {0,0,0,0,0,0},
130098b9484cSchristos   {0,0,0,0,0,0},
130198b9484cSchristos   {0,0,0,0,0,0},
130298b9484cSchristos   {0,0,0,0,0,0},
130398b9484cSchristos   {0,0,0,0,0,0},
130498b9484cSchristos   {0,0,0,0,0,0},
130598b9484cSchristos   {0,0,0,0,0,0},
130698b9484cSchristos   {0,0,0,0,0,0},
130798b9484cSchristos   {0,0,0,0,0,0},
130898b9484cSchristos   {0,0,0,0,0,0},
130998b9484cSchristos   {0,0,0,0,0,0},
131098b9484cSchristos   {0,0,0,0,0,0},
131198b9484cSchristos   {0,0,0,0,0,0},
131298b9484cSchristos   {0,0,0,0,0,0},
131398b9484cSchristos   {0,0,0,0,0,0},
131498b9484cSchristos   {0,0,0,0,0,0},
131598b9484cSchristos   {0,0,0,0,0,0},
131698b9484cSchristos   {0,0,0,0,0,0},
131798b9484cSchristos   {0,0,0,0,0,0},
131898b9484cSchristos   {0,0,0,0,0,0},
131998b9484cSchristos   {0,0,0,0,0,0},
132098b9484cSchristos   {0,0,0,0,0,0},
132198b9484cSchristos   {0,0,0,0,0,0},
132298b9484cSchristos   {0,0,0,0,0,0},
132398b9484cSchristos   {0,0,0,0,0,0},
132498b9484cSchristos   {0,0,0,0,0,0},
132598b9484cSchristos   {0,0,0,0,0,0},
132698b9484cSchristos   {0,0,0,0,0,0},
132798b9484cSchristos   {0,0,0,0,0,0},
132898b9484cSchristos   {0,0,0,0,0,0},
132998b9484cSchristos   {0,0,0,0,0,0},
133098b9484cSchristos   {0,0,0,0,0,0},
133198b9484cSchristos   {116,18,rr,V,V,0},	/* frint.s.t */
133298b9484cSchristos   {116,19,rr,V,V,0},	/* frint.d.t */
133398b9484cSchristos   {0,0,0,0,0,0},
133498b9484cSchristos   {0,0,0,0,0,0},
133598b9484cSchristos   {0,0,0,0,0,0},
133698b9484cSchristos   {0,0,0,0,0,0},
133798b9484cSchristos   {0,0,0,0,0,0},
133898b9484cSchristos   {0,0,0,0,0,0},
133998b9484cSchristos   {0,0,0,0,0,0},
134098b9484cSchristos   {0,0,0,0,0,0},
134198b9484cSchristos   {0,0,0,0,0,0},
134298b9484cSchristos   {0,0,0,0,0,0},
134398b9484cSchristos   {0,0,0,0,0,0},
134498b9484cSchristos   {0,0,0,0,0,0},
134598b9484cSchristos   {0,0,0,0,0,0},
134698b9484cSchristos   {0,0,0,0,0,0},
134798b9484cSchristos   {0,0,0,0,0,0},
134898b9484cSchristos   {0,0,0,0,0,0},
134998b9484cSchristos   {0,0,0,0,0,0},
135098b9484cSchristos   {0,0,0,0,0,0},
135198b9484cSchristos   {0,0,0,0,0,0},
135298b9484cSchristos   {0,0,0,0,0,0},
135398b9484cSchristos   {81,18,rr,V,V,0},	/* sqrt.s.t */
135498b9484cSchristos   {81,19,rr,V,V,0},	/* sqrt.d.t */
135598b9484cSchristos   {0,0,0,0,0,0},
135698b9484cSchristos   {0,0,0,0,0,0},
135798b9484cSchristos };
135898b9484cSchristos 
135998b9484cSchristos const struct formstr e1_format3[] = {
136098b9484cSchristos   {32,18,rr,V,V,0},	/* cvtd.s.t */
136198b9484cSchristos   {31,19,rr,V,V,0},	/* cvts.d.t */
136298b9484cSchristos   {33,19,rr,V,V,0},	/* cvtl.d.t */
136398b9484cSchristos   {32,23,rr,V,V,0},	/* cvtd.l.t */
136498b9484cSchristos   {0,0,0,0,0,0},
136598b9484cSchristos   {0,0,0,0,0,0},
136698b9484cSchristos   {0,0,0,0,0,0},
136798b9484cSchristos   {0,0,0,0,0,0},
136898b9484cSchristos   {36,1,rr,V,V,0},	/* tzc.t */
136998b9484cSchristos   {44,1,rr,V,V,0},	/* lop.t */
137098b9484cSchristos   {117,1,rr,V,V,0},	/* xpnd.t */
137198b9484cSchristos   {42,1,rr,V,V,0},	/* not.t */
137298b9484cSchristos   {8,1,rr,S,V,0},	/* shf.t */
137398b9484cSchristos   {35,24,rr,V,V,0},	/* plc.t.t */
137498b9484cSchristos   {0,0,0,0,0,0},
137598b9484cSchristos   {0,0,0,0,0,0},
137698b9484cSchristos   {37,18,rr,V,V,0},	/* eq.s.t */
137798b9484cSchristos   {37,19,rr,V,V,0},	/* eq.d.t */
137898b9484cSchristos   {43,18,rr,V,V,0},	/* neg.s.t */
137998b9484cSchristos   {43,19,rr,V,V,0},	/* neg.d.t */
138098b9484cSchristos   {37,18,rr,S,V,0},	/* eq.s.t */
138198b9484cSchristos   {37,19,rr,S,V,0},	/* eq.d.t */
138298b9484cSchristos   {0,0,0,0,0,0},
138398b9484cSchristos   {0,0,0,0,0,0},
138498b9484cSchristos   {40,18,rr,V,V,0},	/* le.s.t */
138598b9484cSchristos   {40,19,rr,V,V,0},	/* le.d.t */
138698b9484cSchristos   {41,18,rr,V,V,0},	/* lt.s.t */
138798b9484cSchristos   {41,19,rr,V,V,0},	/* lt.d.t */
138898b9484cSchristos   {40,18,rr,S,V,0},	/* le.s.t */
138998b9484cSchristos   {40,19,rr,S,V,0},	/* le.d.t */
139098b9484cSchristos   {41,18,rr,S,V,0},	/* lt.s.t */
139198b9484cSchristos   {41,19,rr,S,V,0},	/* lt.d.t */
139298b9484cSchristos   {37,20,rr,V,V,0},	/* eq.b.t */
139398b9484cSchristos   {37,21,rr,V,V,0},	/* eq.h.t */
139498b9484cSchristos   {37,22,rr,V,V,0},	/* eq.w.t */
139598b9484cSchristos   {37,23,rr,V,V,0},	/* eq.l.t */
139698b9484cSchristos   {37,20,rr,S,V,0},	/* eq.b.t */
139798b9484cSchristos   {37,21,rr,S,V,0},	/* eq.h.t */
139898b9484cSchristos   {37,22,rr,S,V,0},	/* eq.w.t */
139998b9484cSchristos   {37,23,rr,S,V,0},	/* eq.l.t */
140098b9484cSchristos   {40,20,rr,V,V,0},	/* le.b.t */
140198b9484cSchristos   {40,21,rr,V,V,0},	/* le.h.t */
140298b9484cSchristos   {40,22,rr,V,V,0},	/* le.w.t */
140398b9484cSchristos   {40,23,rr,V,V,0},	/* le.l.t */
140498b9484cSchristos   {40,20,rr,S,V,0},	/* le.b.t */
140598b9484cSchristos   {40,21,rr,S,V,0},	/* le.h.t */
140698b9484cSchristos   {40,22,rr,S,V,0},	/* le.w.t */
140798b9484cSchristos   {40,23,rr,S,V,0},	/* le.l.t */
140898b9484cSchristos   {41,20,rr,V,V,0},	/* lt.b.t */
140998b9484cSchristos   {41,21,rr,V,V,0},	/* lt.h.t */
141098b9484cSchristos   {41,22,rr,V,V,0},	/* lt.w.t */
141198b9484cSchristos   {41,23,rr,V,V,0},	/* lt.l.t */
141298b9484cSchristos   {41,20,rr,S,V,0},	/* lt.b.t */
141398b9484cSchristos   {41,21,rr,S,V,0},	/* lt.h.t */
141498b9484cSchristos   {41,22,rr,S,V,0},	/* lt.w.t */
141598b9484cSchristos   {41,23,rr,S,V,0},	/* lt.l.t */
141698b9484cSchristos   {43,20,rr,V,V,0},	/* neg.b.t */
141798b9484cSchristos   {43,21,rr,V,V,0},	/* neg.h.t */
141898b9484cSchristos   {43,22,rr,V,V,0},	/* neg.w.t */
141998b9484cSchristos   {43,23,rr,V,V,0},	/* neg.l.t */
142098b9484cSchristos   {0,0,0,0,0,0},
142198b9484cSchristos   {0,0,0,0,0,0},
142298b9484cSchristos   {0,0,0,0,0,0},
142398b9484cSchristos   {0,0,0,0,0,0},
142498b9484cSchristos };
142598b9484cSchristos 
142698b9484cSchristos const struct formstr e1_format4[] = {
142798b9484cSchristos   {0,0,0,0,0,0},
142898b9484cSchristos   {0,0,0,0,0,0},
142998b9484cSchristos   {0,0,0,0,0,0},
143098b9484cSchristos   {0,0,0,0,0,0},
143198b9484cSchristos   {0,0,0,0,0,0},
143298b9484cSchristos   {0,0,0,0,0,0},
143398b9484cSchristos   {0,0,0,0,0,0},
143498b9484cSchristos   {0,0,0,0,0,0},
143598b9484cSchristos };
143698b9484cSchristos 
143798b9484cSchristos const struct formstr e1_format5[] = {
143898b9484cSchristos   {51,20,rr,V,V,0},	/* ldvi.b.t */
143998b9484cSchristos   {51,21,rr,V,V,0},	/* ldvi.h.t */
144098b9484cSchristos   {51,22,rr,V,V,0},	/* ldvi.w.t */
144198b9484cSchristos   {51,23,rr,V,V,0},	/* ldvi.l.t */
144298b9484cSchristos   {28,18,rr,V,V,0},	/* cvtw.s.t */
144398b9484cSchristos   {31,22,rr,V,V,0},	/* cvts.w.t */
144498b9484cSchristos   {28,23,rr,V,V,0},	/* cvtw.l.t */
144598b9484cSchristos   {33,22,rr,V,V,0},	/* cvtl.w.t */
144698b9484cSchristos   {52,20,rxr,V,V,0},	/* stvi.b.t */
144798b9484cSchristos   {52,21,rxr,V,V,0},	/* stvi.h.t */
144898b9484cSchristos   {52,22,rxr,V,V,0},	/* stvi.w.t */
144998b9484cSchristos   {52,23,rxr,V,V,0},	/* stvi.l.t */
145098b9484cSchristos   {52,20,rxr,S,V,0},	/* stvi.b.t */
145198b9484cSchristos   {52,21,rxr,S,V,0},	/* stvi.h.t */
145298b9484cSchristos   {52,22,rxr,S,V,0},	/* stvi.w.t */
145398b9484cSchristos   {52,23,rxr,S,V,0},	/* stvi.l.t */
145498b9484cSchristos };
145598b9484cSchristos 
145698b9484cSchristos const struct formstr e1_format6[] = {
145798b9484cSchristos   {0,0,0,0,0,0},
145898b9484cSchristos   {0,0,0,0,0,0},
145998b9484cSchristos   {0,0,0,0,0,0},
146098b9484cSchristos   {0,0,0,0,0,0},
146198b9484cSchristos   {0,0,0,0,0,0},
146298b9484cSchristos   {0,0,0,0,0,0},
146398b9484cSchristos   {0,0,0,0,0,0},
146498b9484cSchristos   {0,0,0,0,0,0},
146598b9484cSchristos   {0,0,0,0,0,0},
146698b9484cSchristos   {0,0,0,0,0,0},
146798b9484cSchristos   {0,0,0,0,0,0},
146898b9484cSchristos   {0,0,0,0,0,0},
146998b9484cSchristos   {0,0,0,0,0,0},
147098b9484cSchristos   {0,0,0,0,0,0},
147198b9484cSchristos   {0,0,0,0,0,0},
147298b9484cSchristos   {0,0,0,0,0,0},
147398b9484cSchristos   {0,0,0,0,0,0},
147498b9484cSchristos   {0,0,0,0,0,0},
147598b9484cSchristos   {0,0,0,0,0,0},
147698b9484cSchristos   {0,0,0,0,0,0},
147798b9484cSchristos   {0,0,0,0,0,0},
147898b9484cSchristos   {0,0,0,0,0,0},
147998b9484cSchristos   {0,0,0,0,0,0},
148098b9484cSchristos   {0,0,0,0,0,0},
148198b9484cSchristos   {0,0,0,0,0,0},
148298b9484cSchristos   {0,0,0,0,0,0},
148398b9484cSchristos   {0,0,0,0,0,0},
148498b9484cSchristos   {0,0,0,0,0,0},
148598b9484cSchristos   {0,0,0,0,0,0},
148698b9484cSchristos   {0,0,0,0,0,0},
148798b9484cSchristos   {0,0,0,0,0,0},
148898b9484cSchristos   {0,0,0,0,0,0},
148998b9484cSchristos   {0,0,0,0,0,0},
149098b9484cSchristos   {0,0,0,0,0,0},
149198b9484cSchristos   {0,0,0,0,0,0},
149298b9484cSchristos   {0,0,0,0,0,0},
149398b9484cSchristos   {0,0,0,0,0,0},
149498b9484cSchristos   {0,0,0,0,0,0},
149598b9484cSchristos   {0,0,0,0,0,0},
149698b9484cSchristos   {0,0,0,0,0,0},
149798b9484cSchristos   {0,0,0,0,0,0},
149898b9484cSchristos   {0,0,0,0,0,0},
149998b9484cSchristos   {0,0,0,0,0,0},
150098b9484cSchristos   {0,0,0,0,0,0},
150198b9484cSchristos   {0,0,0,0,0,0},
150298b9484cSchristos   {0,0,0,0,0,0},
150398b9484cSchristos   {0,0,0,0,0,0},
150498b9484cSchristos   {0,0,0,0,0,0},
150598b9484cSchristos   {0,0,0,0,0,0},
150698b9484cSchristos   {0,0,0,0,0,0},
150798b9484cSchristos   {0,0,0,0,0,0},
150898b9484cSchristos   {0,0,0,0,0,0},
150998b9484cSchristos   {0,0,0,0,0,0},
151098b9484cSchristos   {0,0,0,0,0,0},
151198b9484cSchristos   {0,0,0,0,0,0},
151298b9484cSchristos   {0,0,0,0,0,0},
151398b9484cSchristos   {0,0,0,0,0,0},
151498b9484cSchristos   {0,0,0,0,0,0},
151598b9484cSchristos   {0,0,0,0,0,0},
151698b9484cSchristos   {0,0,0,0,0,0},
151798b9484cSchristos   {0,0,0,0,0,0},
151898b9484cSchristos   {0,0,0,0,0,0},
151998b9484cSchristos   {0,0,0,0,0,0},
152098b9484cSchristos   {0,0,0,0,0,0},
152198b9484cSchristos };
152298b9484cSchristos 
152398b9484cSchristos const struct formstr e1_format7[] = {
152498b9484cSchristos   {84,20,r,V,0,0},	/* sum.b.t */
152598b9484cSchristos   {84,21,r,V,0,0},	/* sum.h.t */
152698b9484cSchristos   {84,22,r,V,0,0},	/* sum.w.t */
152798b9484cSchristos   {84,23,r,V,0,0},	/* sum.l.t */
152898b9484cSchristos   {85,1,r,V,0,0},	/* all.t */
152998b9484cSchristos   {86,1,r,V,0,0},	/* any.t */
153098b9484cSchristos   {87,1,r,V,0,0},	/* parity.t */
153198b9484cSchristos   {0,0,0,0,0,0},
153298b9484cSchristos   {88,20,r,V,0,0},	/* max.b.t */
153398b9484cSchristos   {88,21,r,V,0,0},	/* max.h.t */
153498b9484cSchristos   {88,22,r,V,0,0},	/* max.w.t */
153598b9484cSchristos   {88,23,r,V,0,0},	/* max.l.t */
153698b9484cSchristos   {89,20,r,V,0,0},	/* min.b.t */
153798b9484cSchristos   {89,21,r,V,0,0},	/* min.h.t */
153898b9484cSchristos   {89,22,r,V,0,0},	/* min.w.t */
153998b9484cSchristos   {89,23,r,V,0,0},	/* min.l.t */
154098b9484cSchristos   {84,18,r,V,0,0},	/* sum.s.t */
154198b9484cSchristos   {84,19,r,V,0,0},	/* sum.d.t */
154298b9484cSchristos   {90,18,r,V,0,0},	/* prod.s.t */
154398b9484cSchristos   {90,19,r,V,0,0},	/* prod.d.t */
154498b9484cSchristos   {88,18,r,V,0,0},	/* max.s.t */
154598b9484cSchristos   {88,19,r,V,0,0},	/* max.d.t */
154698b9484cSchristos   {89,18,r,V,0,0},	/* min.s.t */
154798b9484cSchristos   {89,19,r,V,0,0},	/* min.d.t */
154898b9484cSchristos   {90,20,r,V,0,0},	/* prod.b.t */
154998b9484cSchristos   {90,21,r,V,0,0},	/* prod.h.t */
155098b9484cSchristos   {90,22,r,V,0,0},	/* prod.w.t */
155198b9484cSchristos   {90,23,r,V,0,0},	/* prod.l.t */
155298b9484cSchristos   {0,0,0,0,0,0},
155398b9484cSchristos   {0,0,0,0,0,0},
155498b9484cSchristos   {0,0,0,0,0,0},
155598b9484cSchristos   {0,0,0,0,0,0},
155698b9484cSchristos };
155798b9484cSchristos 
155898b9484cSchristos char *lop[] = {
155998b9484cSchristos   "mov",	/* 0 */
156098b9484cSchristos   "merg",	/* 1 */
156198b9484cSchristos   "mask",	/* 2 */
156298b9484cSchristos   "mul",	/* 3 */
156398b9484cSchristos   "div",	/* 4 */
156498b9484cSchristos   "and",	/* 5 */
156598b9484cSchristos   "or",	/* 6 */
156698b9484cSchristos   "xor",	/* 7 */
156798b9484cSchristos   "shf",	/* 8 */
156898b9484cSchristos   "add",	/* 9 */
156998b9484cSchristos   "sub",	/* 10 */
157098b9484cSchristos   "exit",	/* 11 */
157198b9484cSchristos   "jmp",	/* 12 */
157298b9484cSchristos   "jmpi",	/* 13 */
157398b9484cSchristos   "jmpa",	/* 14 */
157498b9484cSchristos   "jmps",	/* 15 */
157598b9484cSchristos   "tac",	/* 16 */
157698b9484cSchristos   "ldea",	/* 17 */
157798b9484cSchristos   "ld",	/* 18 */
157898b9484cSchristos   "tas",	/* 19 */
157998b9484cSchristos   "pshea",	/* 20 */
158098b9484cSchristos   "st",	/* 21 */
158198b9484cSchristos   "call",	/* 22 */
158298b9484cSchristos   "calls",	/* 23 */
158398b9484cSchristos   "callq",	/* 24 */
158498b9484cSchristos   "pfork",	/* 25 */
158598b9484cSchristos   "ste",	/* 26 */
158698b9484cSchristos   "incr",	/* 27 */
158798b9484cSchristos   "cvtw",	/* 28 */
158898b9484cSchristos   "cvtb",	/* 29 */
158998b9484cSchristos   "cvth",	/* 30 */
159098b9484cSchristos   "cvts",	/* 31 */
159198b9484cSchristos   "cvtd",	/* 32 */
159298b9484cSchristos   "cvtl",	/* 33 */
159398b9484cSchristos   "ldpa",	/* 34 */
159498b9484cSchristos   "plc",	/* 35 */
159598b9484cSchristos   "tzc",	/* 36 */
159698b9484cSchristos   "eq",	/* 37 */
159798b9484cSchristos   "leu",	/* 38 */
159898b9484cSchristos   "ltu",	/* 39 */
159998b9484cSchristos   "le",	/* 40 */
160098b9484cSchristos   "lt",	/* 41 */
160198b9484cSchristos   "not",	/* 42 */
160298b9484cSchristos   "neg",	/* 43 */
160398b9484cSchristos   "lop",	/* 44 */
160498b9484cSchristos   "cprs",	/* 45 */
160598b9484cSchristos   "nop",	/* 46 */
160698b9484cSchristos   "br",	/* 47 */
160798b9484cSchristos   "bri",	/* 48 */
160898b9484cSchristos   "bra",	/* 49 */
160998b9484cSchristos   "brs",	/* 50 */
161098b9484cSchristos   "ldvi",	/* 51 */
161198b9484cSchristos   "stvi",	/* 52 */
161298b9484cSchristos   "ldsdr",	/* 53 */
161398b9484cSchristos   "ldkdr",	/* 54 */
161498b9484cSchristos   "ln",	/* 55 */
161598b9484cSchristos   "patu",	/* 56 */
161698b9484cSchristos   "pate",	/* 57 */
161798b9484cSchristos   "pich",	/* 58 */
161898b9484cSchristos   "plch",	/* 59 */
161998b9484cSchristos   "idle",	/* 60 */
162098b9484cSchristos   "rtnq",	/* 61 */
162198b9484cSchristos   "cfork",	/* 62 */
162298b9484cSchristos   "rtn",	/* 63 */
162398b9484cSchristos   "wfork",	/* 64 */
162498b9484cSchristos   "join",	/* 65 */
162598b9484cSchristos   "rtnc",	/* 66 */
162698b9484cSchristos   "exp",	/* 67 */
162798b9484cSchristos   "sin",	/* 68 */
162898b9484cSchristos   "cos",	/* 69 */
162998b9484cSchristos   "psh",	/* 70 */
163098b9484cSchristos   "pop",	/* 71 */
163198b9484cSchristos   "eni",	/* 72 */
163298b9484cSchristos   "dsi",	/* 73 */
163398b9484cSchristos   "bkpt",	/* 74 */
163498b9484cSchristos   "msync",	/* 75 */
163598b9484cSchristos   "mski",	/* 76 */
163698b9484cSchristos   "xmti",	/* 77 */
163798b9484cSchristos   "tstvv",	/* 78 */
163898b9484cSchristos   "diag",	/* 79 */
163998b9484cSchristos   "pbkpt",	/* 80 */
164098b9484cSchristos   "sqrt",	/* 81 */
164198b9484cSchristos   "casr",	/* 82 */
164298b9484cSchristos   "atan",	/* 83 */
164398b9484cSchristos   "sum",	/* 84 */
164498b9484cSchristos   "all",	/* 85 */
164598b9484cSchristos   "any",	/* 86 */
164698b9484cSchristos   "parity",	/* 87 */
164798b9484cSchristos   "max",	/* 88 */
164898b9484cSchristos   "min",	/* 89 */
164998b9484cSchristos   "prod",	/* 90 */
165098b9484cSchristos   "halt",	/* 91 */
165198b9484cSchristos   "sysc",	/* 92 */
165298b9484cSchristos   "trap",	/* 93 */
165398b9484cSchristos   "tst",	/* 94 */
165498b9484cSchristos   "lck",	/* 95 */
165598b9484cSchristos   "ulk",	/* 96 */
165698b9484cSchristos   "spawn",	/* 97 */
165798b9484cSchristos   "ldcmr",	/* 98 */
165898b9484cSchristos   "stcmr",	/* 99 */
165998b9484cSchristos   "popr",	/* 100 */
166098b9484cSchristos   "pshr",	/* 101 */
166198b9484cSchristos   "rcvr",	/* 102 */
166298b9484cSchristos   "matm",	/* 103 */
166398b9484cSchristos   "sndr",	/* 104 */
166498b9484cSchristos   "putr",	/* 105 */
166598b9484cSchristos   "getr",	/* 106 */
166698b9484cSchristos   "matr",	/* 107 */
166798b9484cSchristos   "mat",	/* 108 */
166898b9484cSchristos   "get",	/* 109 */
166998b9484cSchristos   "rcv",	/* 110 */
167098b9484cSchristos   "inc",	/* 111 */
167198b9484cSchristos   "put",	/* 112 */
167298b9484cSchristos   "snd",	/* 113 */
167398b9484cSchristos   "enal",	/* 114 */
167498b9484cSchristos   "enag",	/* 115 */
167598b9484cSchristos   "frint",	/* 116 */
167698b9484cSchristos   "xpnd",	/* 117 */
167798b9484cSchristos   "ctrsl",	/* 118 */
167898b9484cSchristos   "ctrsg",	/* 119 */
167998b9484cSchristos   "stop",	/* 120 */
168098b9484cSchristos };
168198b9484cSchristos 
168298b9484cSchristos char *rop[] = {
168398b9484cSchristos   "",	/* 0 */
168498b9484cSchristos   ".t",	/* 1 */
168598b9484cSchristos   ".f",	/* 2 */
168698b9484cSchristos   ".s",	/* 3 */
168798b9484cSchristos   ".d",	/* 4 */
168898b9484cSchristos   ".b",	/* 5 */
168998b9484cSchristos   ".h",	/* 6 */
169098b9484cSchristos   ".w",	/* 7 */
169198b9484cSchristos   ".l",	/* 8 */
169298b9484cSchristos   ".x",	/* 9 */
169398b9484cSchristos   ".u",	/* 10 */
169498b9484cSchristos   ".s.f",	/* 11 */
169598b9484cSchristos   ".d.f",	/* 12 */
169698b9484cSchristos   ".b.f",	/* 13 */
169798b9484cSchristos   ".h.f",	/* 14 */
169898b9484cSchristos   ".w.f",	/* 15 */
169998b9484cSchristos   ".l.f",	/* 16 */
170098b9484cSchristos   ".t.f",	/* 17 */
170198b9484cSchristos   ".s.t",	/* 18 */
170298b9484cSchristos   ".d.t",	/* 19 */
170398b9484cSchristos   ".b.t",	/* 20 */
170498b9484cSchristos   ".h.t",	/* 21 */
170598b9484cSchristos   ".w.t",	/* 22 */
170698b9484cSchristos   ".l.t",	/* 23 */
170798b9484cSchristos   ".t.t",	/* 24 */
170898b9484cSchristos };
1709