1*3d8817e4Smiod /* Information for instruction disassembly on the Convex. 2*3d8817e4Smiod Copyright 1989, 1993, 2002 Free Software Foundation, Inc. 3*3d8817e4Smiod 4*3d8817e4Smiod This file is part of GDB. 5*3d8817e4Smiod 6*3d8817e4Smiod This program is free software; you can redistribute it and/or modify 7*3d8817e4Smiod it under the terms of the GNU General Public License as published by 8*3d8817e4Smiod the Free Software Foundation; either version 2 of the License, or 9*3d8817e4Smiod (at your option) any later version. 10*3d8817e4Smiod 11*3d8817e4Smiod This program is distributed in the hope that it will be useful, 12*3d8817e4Smiod but WITHOUT ANY WARRANTY; without even the implied warranty of 13*3d8817e4Smiod MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14*3d8817e4Smiod GNU General Public License for more details. 15*3d8817e4Smiod 16*3d8817e4Smiod You should have received a copy of the GNU General Public License 17*3d8817e4Smiod along with this program; if not, write to the Free Software 18*3d8817e4Smiod Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ 19*3d8817e4Smiod 20*3d8817e4Smiod #define xxx 0 21*3d8817e4Smiod #define rrr 1 22*3d8817e4Smiod #define rr 2 23*3d8817e4Smiod #define rxr 3 24*3d8817e4Smiod #define r 4 25*3d8817e4Smiod #define nops 5 26*3d8817e4Smiod #define nr 6 27*3d8817e4Smiod #define pcrel 7 28*3d8817e4Smiod #define lr 8 29*3d8817e4Smiod #define rxl 9 30*3d8817e4Smiod #define rlr 10 31*3d8817e4Smiod #define rrl 11 32*3d8817e4Smiod #define iml 12 33*3d8817e4Smiod #define imr 13 34*3d8817e4Smiod #define a1r 14 35*3d8817e4Smiod #define a1l 15 36*3d8817e4Smiod #define a2r 16 37*3d8817e4Smiod #define a2l 17 38*3d8817e4Smiod #define a3 18 39*3d8817e4Smiod #define a4 19 40*3d8817e4Smiod #define a5 20 41*3d8817e4Smiod #define V 1 42*3d8817e4Smiod #define S 2 43*3d8817e4Smiod #define VM 3 44*3d8817e4Smiod #define A 4 45*3d8817e4Smiod #define VL 5 46*3d8817e4Smiod #define VS 6 47*3d8817e4Smiod #define VLS 7 48*3d8817e4Smiod #define PSW 8 49*3d8817e4Smiod /* Prevent an error during "make depend". */ 50*3d8817e4Smiod #if !defined (PC) 51*3d8817e4Smiod #define PC 9 52*3d8817e4Smiod #endif 53*3d8817e4Smiod #define ITR 10 54*3d8817e4Smiod #define VV 11 55*3d8817e4Smiod #define ITSR 12 56*3d8817e4Smiod #define TOC 13 57*3d8817e4Smiod #define CIR 14 58*3d8817e4Smiod #define TTR 15 59*3d8817e4Smiod #define VMU 16 60*3d8817e4Smiod #define VML 17 61*3d8817e4Smiod #define ICR 18 62*3d8817e4Smiod #define TCPU 19 63*3d8817e4Smiod #define CPUID 20 64*3d8817e4Smiod #define TID 21 65*3d8817e4Smiod 66*3d8817e4Smiod const char *op[] = { 67*3d8817e4Smiod "", 68*3d8817e4Smiod "v0\0v1\0v2\0v3\0v4\0v5\0v6\0v7", 69*3d8817e4Smiod "s0\0s1\0s2\0s3\0s4\0s5\0s6\0s7", 70*3d8817e4Smiod "vm", 71*3d8817e4Smiod "sp\0a1\0a2\0a3\0a4\0a5\0ap\0fp", 72*3d8817e4Smiod "vl", 73*3d8817e4Smiod "vs", 74*3d8817e4Smiod "vls", 75*3d8817e4Smiod "psw", 76*3d8817e4Smiod "pc", 77*3d8817e4Smiod "itr", 78*3d8817e4Smiod "vv", 79*3d8817e4Smiod "itsr", 80*3d8817e4Smiod "toc", 81*3d8817e4Smiod "cir", 82*3d8817e4Smiod "ttr", 83*3d8817e4Smiod "vmu", 84*3d8817e4Smiod "vml", 85*3d8817e4Smiod "icr", 86*3d8817e4Smiod "tcpu", 87*3d8817e4Smiod "cpuid", 88*3d8817e4Smiod "tid", 89*3d8817e4Smiod }; 90*3d8817e4Smiod 91*3d8817e4Smiod const struct formstr format0[] = { 92*3d8817e4Smiod {0,0,rrr,V,S,S}, /* mov */ 93*3d8817e4Smiod {0,0,rrr,S,S,V}, /* mov */ 94*3d8817e4Smiod {1,1,rrr,V,V,V}, /* merg.t */ 95*3d8817e4Smiod {2,1,rrr,V,V,V}, /* mask.t */ 96*3d8817e4Smiod {1,2,rrr,V,S,V}, /* merg.f */ 97*3d8817e4Smiod {2,2,rrr,V,S,V}, /* mask.f */ 98*3d8817e4Smiod {1,1,rrr,V,S,V}, /* merg.t */ 99*3d8817e4Smiod {2,1,rrr,V,S,V}, /* mask.t */ 100*3d8817e4Smiod {3,3,rrr,V,V,V}, /* mul.s */ 101*3d8817e4Smiod {3,4,rrr,V,V,V}, /* mul.d */ 102*3d8817e4Smiod {4,3,rrr,V,V,V}, /* div.s */ 103*3d8817e4Smiod {4,4,rrr,V,V,V}, /* div.d */ 104*3d8817e4Smiod {3,3,rrr,V,S,V}, /* mul.s */ 105*3d8817e4Smiod {3,4,rrr,V,S,V}, /* mul.d */ 106*3d8817e4Smiod {4,3,rrr,V,S,V}, /* div.s */ 107*3d8817e4Smiod {4,4,rrr,V,S,V}, /* div.d */ 108*3d8817e4Smiod {5,0,rrr,V,V,V}, /* and */ 109*3d8817e4Smiod {6,0,rrr,V,V,V}, /* or */ 110*3d8817e4Smiod {7,0,rrr,V,V,V}, /* xor */ 111*3d8817e4Smiod {8,0,rrr,V,V,V}, /* shf */ 112*3d8817e4Smiod {5,0,rrr,V,S,V}, /* and */ 113*3d8817e4Smiod {6,0,rrr,V,S,V}, /* or */ 114*3d8817e4Smiod {7,0,rrr,V,S,V}, /* xor */ 115*3d8817e4Smiod {8,0,rrr,V,S,V}, /* shf */ 116*3d8817e4Smiod {9,3,rrr,V,V,V}, /* add.s */ 117*3d8817e4Smiod {9,4,rrr,V,V,V}, /* add.d */ 118*3d8817e4Smiod {10,3,rrr,V,V,V}, /* sub.s */ 119*3d8817e4Smiod {10,4,rrr,V,V,V}, /* sub.d */ 120*3d8817e4Smiod {9,3,rrr,V,S,V}, /* add.s */ 121*3d8817e4Smiod {9,4,rrr,V,S,V}, /* add.d */ 122*3d8817e4Smiod {10,3,rrr,V,S,V}, /* sub.s */ 123*3d8817e4Smiod {10,4,rrr,V,S,V}, /* sub.d */ 124*3d8817e4Smiod {9,5,rrr,V,V,V}, /* add.b */ 125*3d8817e4Smiod {9,6,rrr,V,V,V}, /* add.h */ 126*3d8817e4Smiod {9,7,rrr,V,V,V}, /* add.w */ 127*3d8817e4Smiod {9,8,rrr,V,V,V}, /* add.l */ 128*3d8817e4Smiod {9,5,rrr,V,S,V}, /* add.b */ 129*3d8817e4Smiod {9,6,rrr,V,S,V}, /* add.h */ 130*3d8817e4Smiod {9,7,rrr,V,S,V}, /* add.w */ 131*3d8817e4Smiod {9,8,rrr,V,S,V}, /* add.l */ 132*3d8817e4Smiod {10,5,rrr,V,V,V}, /* sub.b */ 133*3d8817e4Smiod {10,6,rrr,V,V,V}, /* sub.h */ 134*3d8817e4Smiod {10,7,rrr,V,V,V}, /* sub.w */ 135*3d8817e4Smiod {10,8,rrr,V,V,V}, /* sub.l */ 136*3d8817e4Smiod {10,5,rrr,V,S,V}, /* sub.b */ 137*3d8817e4Smiod {10,6,rrr,V,S,V}, /* sub.h */ 138*3d8817e4Smiod {10,7,rrr,V,S,V}, /* sub.w */ 139*3d8817e4Smiod {10,8,rrr,V,S,V}, /* sub.l */ 140*3d8817e4Smiod {3,5,rrr,V,V,V}, /* mul.b */ 141*3d8817e4Smiod {3,6,rrr,V,V,V}, /* mul.h */ 142*3d8817e4Smiod {3,7,rrr,V,V,V}, /* mul.w */ 143*3d8817e4Smiod {3,8,rrr,V,V,V}, /* mul.l */ 144*3d8817e4Smiod {3,5,rrr,V,S,V}, /* mul.b */ 145*3d8817e4Smiod {3,6,rrr,V,S,V}, /* mul.h */ 146*3d8817e4Smiod {3,7,rrr,V,S,V}, /* mul.w */ 147*3d8817e4Smiod {3,8,rrr,V,S,V}, /* mul.l */ 148*3d8817e4Smiod {4,5,rrr,V,V,V}, /* div.b */ 149*3d8817e4Smiod {4,6,rrr,V,V,V}, /* div.h */ 150*3d8817e4Smiod {4,7,rrr,V,V,V}, /* div.w */ 151*3d8817e4Smiod {4,8,rrr,V,V,V}, /* div.l */ 152*3d8817e4Smiod {4,5,rrr,V,S,V}, /* div.b */ 153*3d8817e4Smiod {4,6,rrr,V,S,V}, /* div.h */ 154*3d8817e4Smiod {4,7,rrr,V,S,V}, /* div.w */ 155*3d8817e4Smiod {4,8,rrr,V,S,V}, /* div.l */ 156*3d8817e4Smiod }; 157*3d8817e4Smiod 158*3d8817e4Smiod const struct formstr format1[] = { 159*3d8817e4Smiod {11,0,xxx,0,0,0}, /* exit */ 160*3d8817e4Smiod {12,0,a3,0,0,0}, /* jmp */ 161*3d8817e4Smiod {13,2,a3,0,0,0}, /* jmpi.f */ 162*3d8817e4Smiod {13,1,a3,0,0,0}, /* jmpi.t */ 163*3d8817e4Smiod {14,2,a3,0,0,0}, /* jmpa.f */ 164*3d8817e4Smiod {14,1,a3,0,0,0}, /* jmpa.t */ 165*3d8817e4Smiod {15,2,a3,0,0,0}, /* jmps.f */ 166*3d8817e4Smiod {15,1,a3,0,0,0}, /* jmps.t */ 167*3d8817e4Smiod {16,0,a3,0,0,0}, /* tac */ 168*3d8817e4Smiod {17,0,a1r,A,0,0}, /* ldea */ 169*3d8817e4Smiod {18,8,a1l,VLS,0,0}, /* ld.l */ 170*3d8817e4Smiod {18,9,a1l,VM,0,0}, /* ld.x */ 171*3d8817e4Smiod {19,0,a3,0,0,0}, /* tas */ 172*3d8817e4Smiod {20,0,a3,0,0,0}, /* pshea */ 173*3d8817e4Smiod {21,8,a2l,VLS,0,0}, /* st.l */ 174*3d8817e4Smiod {21,9,a2l,VM,0,0}, /* st.x */ 175*3d8817e4Smiod {0,0,0,0,0,0}, 176*3d8817e4Smiod {0,0,0,0,0,0}, 177*3d8817e4Smiod {0,0,0,0,0,0}, 178*3d8817e4Smiod {0,0,0,0,0,0}, 179*3d8817e4Smiod {0,0,0,0,0,0}, 180*3d8817e4Smiod {0,0,0,0,0,0}, 181*3d8817e4Smiod {0,0,0,0,0,0}, 182*3d8817e4Smiod {0,0,0,0,0,0}, 183*3d8817e4Smiod {0,0,0,0,0,0}, 184*3d8817e4Smiod {0,0,0,0,0,0}, 185*3d8817e4Smiod {0,0,0,0,0,0}, 186*3d8817e4Smiod {0,0,0,0,0,0}, 187*3d8817e4Smiod {0,0,0,0,0,0}, 188*3d8817e4Smiod {0,0,0,0,0,0}, 189*3d8817e4Smiod {0,0,0,0,0,0}, 190*3d8817e4Smiod {0,0,0,0,0,0}, 191*3d8817e4Smiod {22,0,a3,0,0,0}, /* call */ 192*3d8817e4Smiod {23,0,a3,0,0,0}, /* calls */ 193*3d8817e4Smiod {24,0,a3,0,0,0}, /* callq */ 194*3d8817e4Smiod {25,0,a1r,A,0,0}, /* pfork */ 195*3d8817e4Smiod {26,5,a2r,S,0,0}, /* ste.b */ 196*3d8817e4Smiod {26,6,a2r,S,0,0}, /* ste.h */ 197*3d8817e4Smiod {26,7,a2r,S,0,0}, /* ste.w */ 198*3d8817e4Smiod {26,8,a2r,S,0,0}, /* ste.l */ 199*3d8817e4Smiod {18,5,a1r,A,0,0}, /* ld.b */ 200*3d8817e4Smiod {18,6,a1r,A,0,0}, /* ld.h */ 201*3d8817e4Smiod {18,7,a1r,A,0,0}, /* ld.w */ 202*3d8817e4Smiod {27,7,a1r,A,0,0}, /* incr.w */ 203*3d8817e4Smiod {21,5,a2r,A,0,0}, /* st.b */ 204*3d8817e4Smiod {21,6,a2r,A,0,0}, /* st.h */ 205*3d8817e4Smiod {21,7,a2r,A,0,0}, /* st.w */ 206*3d8817e4Smiod {27,8,a1r,S,0,0}, /* incr.l */ 207*3d8817e4Smiod {18,5,a1r,S,0,0}, /* ld.b */ 208*3d8817e4Smiod {18,6,a1r,S,0,0}, /* ld.h */ 209*3d8817e4Smiod {18,7,a1r,S,0,0}, /* ld.w */ 210*3d8817e4Smiod {18,8,a1r,S,0,0}, /* ld.l */ 211*3d8817e4Smiod {21,5,a2r,S,0,0}, /* st.b */ 212*3d8817e4Smiod {21,6,a2r,S,0,0}, /* st.h */ 213*3d8817e4Smiod {21,7,a2r,S,0,0}, /* st.w */ 214*3d8817e4Smiod {21,8,a2r,S,0,0}, /* st.l */ 215*3d8817e4Smiod {18,5,a1r,V,0,0}, /* ld.b */ 216*3d8817e4Smiod {18,6,a1r,V,0,0}, /* ld.h */ 217*3d8817e4Smiod {18,7,a1r,V,0,0}, /* ld.w */ 218*3d8817e4Smiod {18,8,a1r,V,0,0}, /* ld.l */ 219*3d8817e4Smiod {21,5,a2r,V,0,0}, /* st.b */ 220*3d8817e4Smiod {21,6,a2r,V,0,0}, /* st.h */ 221*3d8817e4Smiod {21,7,a2r,V,0,0}, /* st.w */ 222*3d8817e4Smiod {21,8,a2r,V,0,0}, /* st.l */ 223*3d8817e4Smiod }; 224*3d8817e4Smiod 225*3d8817e4Smiod const struct formstr format2[] = { 226*3d8817e4Smiod {28,5,rr,A,A,0}, /* cvtw.b */ 227*3d8817e4Smiod {28,6,rr,A,A,0}, /* cvtw.h */ 228*3d8817e4Smiod {29,7,rr,A,A,0}, /* cvtb.w */ 229*3d8817e4Smiod {30,7,rr,A,A,0}, /* cvth.w */ 230*3d8817e4Smiod {28,5,rr,S,S,0}, /* cvtw.b */ 231*3d8817e4Smiod {28,6,rr,S,S,0}, /* cvtw.h */ 232*3d8817e4Smiod {29,7,rr,S,S,0}, /* cvtb.w */ 233*3d8817e4Smiod {30,7,rr,S,S,0}, /* cvth.w */ 234*3d8817e4Smiod {28,3,rr,S,S,0}, /* cvtw.s */ 235*3d8817e4Smiod {31,7,rr,S,S,0}, /* cvts.w */ 236*3d8817e4Smiod {32,3,rr,S,S,0}, /* cvtd.s */ 237*3d8817e4Smiod {31,4,rr,S,S,0}, /* cvts.d */ 238*3d8817e4Smiod {31,8,rr,S,S,0}, /* cvts.l */ 239*3d8817e4Smiod {32,8,rr,S,S,0}, /* cvtd.l */ 240*3d8817e4Smiod {33,3,rr,S,S,0}, /* cvtl.s */ 241*3d8817e4Smiod {33,4,rr,S,S,0}, /* cvtl.d */ 242*3d8817e4Smiod {34,0,rr,A,A,0}, /* ldpa */ 243*3d8817e4Smiod {8,0,nr,A,0,0}, /* shf */ 244*3d8817e4Smiod {18,6,nr,A,0,0}, /* ld.h */ 245*3d8817e4Smiod {18,7,nr,A,0,0}, /* ld.w */ 246*3d8817e4Smiod {33,7,rr,S,S,0}, /* cvtl.w */ 247*3d8817e4Smiod {28,8,rr,S,S,0}, /* cvtw.l */ 248*3d8817e4Smiod {35,1,rr,S,S,0}, /* plc.t */ 249*3d8817e4Smiod {36,0,rr,S,S,0}, /* tzc */ 250*3d8817e4Smiod {37,6,rr,A,A,0}, /* eq.h */ 251*3d8817e4Smiod {37,7,rr,A,A,0}, /* eq.w */ 252*3d8817e4Smiod {37,6,nr,A,0,0}, /* eq.h */ 253*3d8817e4Smiod {37,7,nr,A,0,0}, /* eq.w */ 254*3d8817e4Smiod {37,5,rr,S,S,0}, /* eq.b */ 255*3d8817e4Smiod {37,6,rr,S,S,0}, /* eq.h */ 256*3d8817e4Smiod {37,7,rr,S,S,0}, /* eq.w */ 257*3d8817e4Smiod {37,8,rr,S,S,0}, /* eq.l */ 258*3d8817e4Smiod {38,6,rr,A,A,0}, /* leu.h */ 259*3d8817e4Smiod {38,7,rr,A,A,0}, /* leu.w */ 260*3d8817e4Smiod {38,6,nr,A,0,0}, /* leu.h */ 261*3d8817e4Smiod {38,7,nr,A,0,0}, /* leu.w */ 262*3d8817e4Smiod {38,5,rr,S,S,0}, /* leu.b */ 263*3d8817e4Smiod {38,6,rr,S,S,0}, /* leu.h */ 264*3d8817e4Smiod {38,7,rr,S,S,0}, /* leu.w */ 265*3d8817e4Smiod {38,8,rr,S,S,0}, /* leu.l */ 266*3d8817e4Smiod {39,6,rr,A,A,0}, /* ltu.h */ 267*3d8817e4Smiod {39,7,rr,A,A,0}, /* ltu.w */ 268*3d8817e4Smiod {39,6,nr,A,0,0}, /* ltu.h */ 269*3d8817e4Smiod {39,7,nr,A,0,0}, /* ltu.w */ 270*3d8817e4Smiod {39,5,rr,S,S,0}, /* ltu.b */ 271*3d8817e4Smiod {39,6,rr,S,S,0}, /* ltu.h */ 272*3d8817e4Smiod {39,7,rr,S,S,0}, /* ltu.w */ 273*3d8817e4Smiod {39,8,rr,S,S,0}, /* ltu.l */ 274*3d8817e4Smiod {40,6,rr,A,A,0}, /* le.h */ 275*3d8817e4Smiod {40,7,rr,A,A,0}, /* le.w */ 276*3d8817e4Smiod {40,6,nr,A,0,0}, /* le.h */ 277*3d8817e4Smiod {40,7,nr,A,0,0}, /* le.w */ 278*3d8817e4Smiod {40,5,rr,S,S,0}, /* le.b */ 279*3d8817e4Smiod {40,6,rr,S,S,0}, /* le.h */ 280*3d8817e4Smiod {40,7,rr,S,S,0}, /* le.w */ 281*3d8817e4Smiod {40,8,rr,S,S,0}, /* le.l */ 282*3d8817e4Smiod {41,6,rr,A,A,0}, /* lt.h */ 283*3d8817e4Smiod {41,7,rr,A,A,0}, /* lt.w */ 284*3d8817e4Smiod {41,6,nr,A,0,0}, /* lt.h */ 285*3d8817e4Smiod {41,7,nr,A,0,0}, /* lt.w */ 286*3d8817e4Smiod {41,5,rr,S,S,0}, /* lt.b */ 287*3d8817e4Smiod {41,6,rr,S,S,0}, /* lt.h */ 288*3d8817e4Smiod {41,7,rr,S,S,0}, /* lt.w */ 289*3d8817e4Smiod {41,8,rr,S,S,0}, /* lt.l */ 290*3d8817e4Smiod {9,7,rr,S,A,0}, /* add.w */ 291*3d8817e4Smiod {8,0,rr,A,A,0}, /* shf */ 292*3d8817e4Smiod {0,0,rr,A,A,0}, /* mov */ 293*3d8817e4Smiod {0,0,rr,S,A,0}, /* mov */ 294*3d8817e4Smiod {0,7,rr,S,S,0}, /* mov.w */ 295*3d8817e4Smiod {8,0,rr,S,S,0}, /* shf */ 296*3d8817e4Smiod {0,0,rr,S,S,0}, /* mov */ 297*3d8817e4Smiod {0,0,rr,A,S,0}, /* mov */ 298*3d8817e4Smiod {5,0,rr,A,A,0}, /* and */ 299*3d8817e4Smiod {6,0,rr,A,A,0}, /* or */ 300*3d8817e4Smiod {7,0,rr,A,A,0}, /* xor */ 301*3d8817e4Smiod {42,0,rr,A,A,0}, /* not */ 302*3d8817e4Smiod {5,0,rr,S,S,0}, /* and */ 303*3d8817e4Smiod {6,0,rr,S,S,0}, /* or */ 304*3d8817e4Smiod {7,0,rr,S,S,0}, /* xor */ 305*3d8817e4Smiod {42,0,rr,S,S,0}, /* not */ 306*3d8817e4Smiod {40,3,rr,S,S,0}, /* le.s */ 307*3d8817e4Smiod {40,4,rr,S,S,0}, /* le.d */ 308*3d8817e4Smiod {41,3,rr,S,S,0}, /* lt.s */ 309*3d8817e4Smiod {41,4,rr,S,S,0}, /* lt.d */ 310*3d8817e4Smiod {9,3,rr,S,S,0}, /* add.s */ 311*3d8817e4Smiod {9,4,rr,S,S,0}, /* add.d */ 312*3d8817e4Smiod {10,3,rr,S,S,0}, /* sub.s */ 313*3d8817e4Smiod {10,4,rr,S,S,0}, /* sub.d */ 314*3d8817e4Smiod {37,3,rr,S,S,0}, /* eq.s */ 315*3d8817e4Smiod {37,4,rr,S,S,0}, /* eq.d */ 316*3d8817e4Smiod {43,6,rr,A,A,0}, /* neg.h */ 317*3d8817e4Smiod {43,7,rr,A,A,0}, /* neg.w */ 318*3d8817e4Smiod {3,3,rr,S,S,0}, /* mul.s */ 319*3d8817e4Smiod {3,4,rr,S,S,0}, /* mul.d */ 320*3d8817e4Smiod {4,3,rr,S,S,0}, /* div.s */ 321*3d8817e4Smiod {4,4,rr,S,S,0}, /* div.d */ 322*3d8817e4Smiod {9,6,rr,A,A,0}, /* add.h */ 323*3d8817e4Smiod {9,7,rr,A,A,0}, /* add.w */ 324*3d8817e4Smiod {9,6,nr,A,0,0}, /* add.h */ 325*3d8817e4Smiod {9,7,nr,A,0,0}, /* add.w */ 326*3d8817e4Smiod {9,5,rr,S,S,0}, /* add.b */ 327*3d8817e4Smiod {9,6,rr,S,S,0}, /* add.h */ 328*3d8817e4Smiod {9,7,rr,S,S,0}, /* add.w */ 329*3d8817e4Smiod {9,8,rr,S,S,0}, /* add.l */ 330*3d8817e4Smiod {10,6,rr,A,A,0}, /* sub.h */ 331*3d8817e4Smiod {10,7,rr,A,A,0}, /* sub.w */ 332*3d8817e4Smiod {10,6,nr,A,0,0}, /* sub.h */ 333*3d8817e4Smiod {10,7,nr,A,0,0}, /* sub.w */ 334*3d8817e4Smiod {10,5,rr,S,S,0}, /* sub.b */ 335*3d8817e4Smiod {10,6,rr,S,S,0}, /* sub.h */ 336*3d8817e4Smiod {10,7,rr,S,S,0}, /* sub.w */ 337*3d8817e4Smiod {10,8,rr,S,S,0}, /* sub.l */ 338*3d8817e4Smiod {3,6,rr,A,A,0}, /* mul.h */ 339*3d8817e4Smiod {3,7,rr,A,A,0}, /* mul.w */ 340*3d8817e4Smiod {3,6,nr,A,0,0}, /* mul.h */ 341*3d8817e4Smiod {3,7,nr,A,0,0}, /* mul.w */ 342*3d8817e4Smiod {3,5,rr,S,S,0}, /* mul.b */ 343*3d8817e4Smiod {3,6,rr,S,S,0}, /* mul.h */ 344*3d8817e4Smiod {3,7,rr,S,S,0}, /* mul.w */ 345*3d8817e4Smiod {3,8,rr,S,S,0}, /* mul.l */ 346*3d8817e4Smiod {4,6,rr,A,A,0}, /* div.h */ 347*3d8817e4Smiod {4,7,rr,A,A,0}, /* div.w */ 348*3d8817e4Smiod {4,6,nr,A,0,0}, /* div.h */ 349*3d8817e4Smiod {4,7,nr,A,0,0}, /* div.w */ 350*3d8817e4Smiod {4,5,rr,S,S,0}, /* div.b */ 351*3d8817e4Smiod {4,6,rr,S,S,0}, /* div.h */ 352*3d8817e4Smiod {4,7,rr,S,S,0}, /* div.w */ 353*3d8817e4Smiod {4,8,rr,S,S,0}, /* div.l */ 354*3d8817e4Smiod }; 355*3d8817e4Smiod 356*3d8817e4Smiod const struct formstr format3[] = { 357*3d8817e4Smiod {32,3,rr,V,V,0}, /* cvtd.s */ 358*3d8817e4Smiod {31,4,rr,V,V,0}, /* cvts.d */ 359*3d8817e4Smiod {33,4,rr,V,V,0}, /* cvtl.d */ 360*3d8817e4Smiod {32,8,rr,V,V,0}, /* cvtd.l */ 361*3d8817e4Smiod {0,0,rrl,S,S,VM}, /* mov */ 362*3d8817e4Smiod {0,0,rlr,S,VM,S}, /* mov */ 363*3d8817e4Smiod {0,0,0,0,0,0}, 364*3d8817e4Smiod {44,0,rr,S,S,0}, /* lop */ 365*3d8817e4Smiod {36,0,rr,V,V,0}, /* tzc */ 366*3d8817e4Smiod {44,0,rr,V,V,0}, /* lop */ 367*3d8817e4Smiod {0,0,0,0,0,0}, 368*3d8817e4Smiod {42,0,rr,V,V,0}, /* not */ 369*3d8817e4Smiod {8,0,rr,S,V,0}, /* shf */ 370*3d8817e4Smiod {35,1,rr,V,V,0}, /* plc.t */ 371*3d8817e4Smiod {45,2,rr,V,V,0}, /* cprs.f */ 372*3d8817e4Smiod {45,1,rr,V,V,0}, /* cprs.t */ 373*3d8817e4Smiod {37,3,rr,V,V,0}, /* eq.s */ 374*3d8817e4Smiod {37,4,rr,V,V,0}, /* eq.d */ 375*3d8817e4Smiod {43,3,rr,V,V,0}, /* neg.s */ 376*3d8817e4Smiod {43,4,rr,V,V,0}, /* neg.d */ 377*3d8817e4Smiod {37,3,rr,S,V,0}, /* eq.s */ 378*3d8817e4Smiod {37,4,rr,S,V,0}, /* eq.d */ 379*3d8817e4Smiod {43,3,rr,S,S,0}, /* neg.s */ 380*3d8817e4Smiod {43,4,rr,S,S,0}, /* neg.d */ 381*3d8817e4Smiod {40,3,rr,V,V,0}, /* le.s */ 382*3d8817e4Smiod {40,4,rr,V,V,0}, /* le.d */ 383*3d8817e4Smiod {41,3,rr,V,V,0}, /* lt.s */ 384*3d8817e4Smiod {41,4,rr,V,V,0}, /* lt.d */ 385*3d8817e4Smiod {40,3,rr,S,V,0}, /* le.s */ 386*3d8817e4Smiod {40,4,rr,S,V,0}, /* le.d */ 387*3d8817e4Smiod {41,3,rr,S,V,0}, /* lt.s */ 388*3d8817e4Smiod {41,4,rr,S,V,0}, /* lt.d */ 389*3d8817e4Smiod {37,5,rr,V,V,0}, /* eq.b */ 390*3d8817e4Smiod {37,6,rr,V,V,0}, /* eq.h */ 391*3d8817e4Smiod {37,7,rr,V,V,0}, /* eq.w */ 392*3d8817e4Smiod {37,8,rr,V,V,0}, /* eq.l */ 393*3d8817e4Smiod {37,5,rr,S,V,0}, /* eq.b */ 394*3d8817e4Smiod {37,6,rr,S,V,0}, /* eq.h */ 395*3d8817e4Smiod {37,7,rr,S,V,0}, /* eq.w */ 396*3d8817e4Smiod {37,8,rr,S,V,0}, /* eq.l */ 397*3d8817e4Smiod {40,5,rr,V,V,0}, /* le.b */ 398*3d8817e4Smiod {40,6,rr,V,V,0}, /* le.h */ 399*3d8817e4Smiod {40,7,rr,V,V,0}, /* le.w */ 400*3d8817e4Smiod {40,8,rr,V,V,0}, /* le.l */ 401*3d8817e4Smiod {40,5,rr,S,V,0}, /* le.b */ 402*3d8817e4Smiod {40,6,rr,S,V,0}, /* le.h */ 403*3d8817e4Smiod {40,7,rr,S,V,0}, /* le.w */ 404*3d8817e4Smiod {40,8,rr,S,V,0}, /* le.l */ 405*3d8817e4Smiod {41,5,rr,V,V,0}, /* lt.b */ 406*3d8817e4Smiod {41,6,rr,V,V,0}, /* lt.h */ 407*3d8817e4Smiod {41,7,rr,V,V,0}, /* lt.w */ 408*3d8817e4Smiod {41,8,rr,V,V,0}, /* lt.l */ 409*3d8817e4Smiod {41,5,rr,S,V,0}, /* lt.b */ 410*3d8817e4Smiod {41,6,rr,S,V,0}, /* lt.h */ 411*3d8817e4Smiod {41,7,rr,S,V,0}, /* lt.w */ 412*3d8817e4Smiod {41,8,rr,S,V,0}, /* lt.l */ 413*3d8817e4Smiod {43,5,rr,V,V,0}, /* neg.b */ 414*3d8817e4Smiod {43,6,rr,V,V,0}, /* neg.h */ 415*3d8817e4Smiod {43,7,rr,V,V,0}, /* neg.w */ 416*3d8817e4Smiod {43,8,rr,V,V,0}, /* neg.l */ 417*3d8817e4Smiod {43,5,rr,S,S,0}, /* neg.b */ 418*3d8817e4Smiod {43,6,rr,S,S,0}, /* neg.h */ 419*3d8817e4Smiod {43,7,rr,S,S,0}, /* neg.w */ 420*3d8817e4Smiod {43,8,rr,S,S,0}, /* neg.l */ 421*3d8817e4Smiod }; 422*3d8817e4Smiod 423*3d8817e4Smiod const struct formstr format4[] = { 424*3d8817e4Smiod {46,0,nops,0,0,0}, /* nop */ 425*3d8817e4Smiod {47,0,pcrel,0,0,0}, /* br */ 426*3d8817e4Smiod {48,2,pcrel,0,0,0}, /* bri.f */ 427*3d8817e4Smiod {48,1,pcrel,0,0,0}, /* bri.t */ 428*3d8817e4Smiod {49,2,pcrel,0,0,0}, /* bra.f */ 429*3d8817e4Smiod {49,1,pcrel,0,0,0}, /* bra.t */ 430*3d8817e4Smiod {50,2,pcrel,0,0,0}, /* brs.f */ 431*3d8817e4Smiod {50,1,pcrel,0,0,0}, /* brs.t */ 432*3d8817e4Smiod }; 433*3d8817e4Smiod 434*3d8817e4Smiod const struct formstr format5[] = { 435*3d8817e4Smiod {51,5,rr,V,V,0}, /* ldvi.b */ 436*3d8817e4Smiod {51,6,rr,V,V,0}, /* ldvi.h */ 437*3d8817e4Smiod {51,7,rr,V,V,0}, /* ldvi.w */ 438*3d8817e4Smiod {51,8,rr,V,V,0}, /* ldvi.l */ 439*3d8817e4Smiod {28,3,rr,V,V,0}, /* cvtw.s */ 440*3d8817e4Smiod {31,7,rr,V,V,0}, /* cvts.w */ 441*3d8817e4Smiod {28,8,rr,V,V,0}, /* cvtw.l */ 442*3d8817e4Smiod {33,7,rr,V,V,0}, /* cvtl.w */ 443*3d8817e4Smiod {52,5,rxr,V,V,0}, /* stvi.b */ 444*3d8817e4Smiod {52,6,rxr,V,V,0}, /* stvi.h */ 445*3d8817e4Smiod {52,7,rxr,V,V,0}, /* stvi.w */ 446*3d8817e4Smiod {52,8,rxr,V,V,0}, /* stvi.l */ 447*3d8817e4Smiod {52,5,rxr,S,V,0}, /* stvi.b */ 448*3d8817e4Smiod {52,6,rxr,S,V,0}, /* stvi.h */ 449*3d8817e4Smiod {52,7,rxr,S,V,0}, /* stvi.w */ 450*3d8817e4Smiod {52,8,rxr,S,V,0}, /* stvi.l */ 451*3d8817e4Smiod }; 452*3d8817e4Smiod 453*3d8817e4Smiod const struct formstr format6[] = { 454*3d8817e4Smiod {53,0,r,A,0,0}, /* ldsdr */ 455*3d8817e4Smiod {54,0,r,A,0,0}, /* ldkdr */ 456*3d8817e4Smiod {55,3,r,S,0,0}, /* ln.s */ 457*3d8817e4Smiod {55,4,r,S,0,0}, /* ln.d */ 458*3d8817e4Smiod {56,0,nops,0,0,0}, /* patu */ 459*3d8817e4Smiod {57,0,r,A,0,0}, /* pate */ 460*3d8817e4Smiod {58,0,nops,0,0,0}, /* pich */ 461*3d8817e4Smiod {59,0,nops,0,0,0}, /* plch */ 462*3d8817e4Smiod {0,0,lr,PSW,A,0}, /* mov */ 463*3d8817e4Smiod {0,0,rxl,A,PSW,0}, /* mov */ 464*3d8817e4Smiod {0,0,lr,PC,A,0}, /* mov */ 465*3d8817e4Smiod {60,0,r,S,0,0}, /* idle */ 466*3d8817e4Smiod {0,0,lr,ITR,S,0}, /* mov */ 467*3d8817e4Smiod {0,0,rxl,S,ITR,0}, /* mov */ 468*3d8817e4Smiod {0,0,0,0,0,0}, 469*3d8817e4Smiod {0,0,rxl,S,ITSR,0}, /* mov */ 470*3d8817e4Smiod {61,0,nops,0,0,0}, /* rtnq */ 471*3d8817e4Smiod {62,0,nops,0,0,0}, /* cfork */ 472*3d8817e4Smiod {63,0,nops,0,0,0}, /* rtn */ 473*3d8817e4Smiod {64,0,nops,0,0,0}, /* wfork */ 474*3d8817e4Smiod {65,0,nops,0,0,0}, /* join */ 475*3d8817e4Smiod {66,0,nops,0,0,0}, /* rtnc */ 476*3d8817e4Smiod {67,3,r,S,0,0}, /* exp.s */ 477*3d8817e4Smiod {67,4,r,S,0,0}, /* exp.d */ 478*3d8817e4Smiod {68,3,r,S,0,0}, /* sin.s */ 479*3d8817e4Smiod {68,4,r,S,0,0}, /* sin.d */ 480*3d8817e4Smiod {0,0,0,0,0,0}, 481*3d8817e4Smiod {0,0,0,0,0,0}, 482*3d8817e4Smiod {69,3,r,S,0,0}, /* cos.s */ 483*3d8817e4Smiod {69,4,r,S,0,0}, /* cos.d */ 484*3d8817e4Smiod {0,0,0,0,0,0}, 485*3d8817e4Smiod {0,0,0,0,0,0}, 486*3d8817e4Smiod {70,7,r,A,0,0}, /* psh.w */ 487*3d8817e4Smiod {0,0,0,0,0,0}, 488*3d8817e4Smiod {71,7,r,A,0,0}, /* pop.w */ 489*3d8817e4Smiod {0,0,0,0,0,0}, 490*3d8817e4Smiod {70,7,r,S,0,0}, /* psh.w */ 491*3d8817e4Smiod {70,8,r,S,0,0}, /* psh.l */ 492*3d8817e4Smiod {71,7,r,S,0,0}, /* pop.w */ 493*3d8817e4Smiod {71,8,r,S,0,0}, /* pop.l */ 494*3d8817e4Smiod {72,0,nops,0,0,0}, /* eni */ 495*3d8817e4Smiod {73,0,nops,0,0,0}, /* dsi */ 496*3d8817e4Smiod {74,0,nops,0,0,0}, /* bkpt */ 497*3d8817e4Smiod {75,0,nops,0,0,0}, /* msync */ 498*3d8817e4Smiod {76,0,r,S,0,0}, /* mski */ 499*3d8817e4Smiod {77,0,r,S,0,0}, /* xmti */ 500*3d8817e4Smiod {0,0,rxl,S,VV,0}, /* mov */ 501*3d8817e4Smiod {78,0,nops,0,0,0}, /* tstvv */ 502*3d8817e4Smiod {0,0,lr,VS,A,0}, /* mov */ 503*3d8817e4Smiod {0,0,rxl,A,VS,0}, /* mov */ 504*3d8817e4Smiod {0,0,lr,VL,A,0}, /* mov */ 505*3d8817e4Smiod {0,0,rxl,A,VL,0}, /* mov */ 506*3d8817e4Smiod {0,7,lr,VS,S,0}, /* mov.w */ 507*3d8817e4Smiod {0,7,rxl,S,VS,0}, /* mov.w */ 508*3d8817e4Smiod {0,7,lr,VL,S,0}, /* mov.w */ 509*3d8817e4Smiod {0,7,rxl,S,VL,0}, /* mov.w */ 510*3d8817e4Smiod {79,0,r,A,0,0}, /* diag */ 511*3d8817e4Smiod {80,0,nops,0,0,0}, /* pbkpt */ 512*3d8817e4Smiod {81,3,r,S,0,0}, /* sqrt.s */ 513*3d8817e4Smiod {81,4,r,S,0,0}, /* sqrt.d */ 514*3d8817e4Smiod {82,0,nops,0,0,0}, /* casr */ 515*3d8817e4Smiod {0,0,0,0,0,0}, 516*3d8817e4Smiod {83,3,r,S,0,0}, /* atan.s */ 517*3d8817e4Smiod {83,4,r,S,0,0}, /* atan.d */ 518*3d8817e4Smiod }; 519*3d8817e4Smiod 520*3d8817e4Smiod const struct formstr format7[] = { 521*3d8817e4Smiod {84,5,r,V,0,0}, /* sum.b */ 522*3d8817e4Smiod {84,6,r,V,0,0}, /* sum.h */ 523*3d8817e4Smiod {84,7,r,V,0,0}, /* sum.w */ 524*3d8817e4Smiod {84,8,r,V,0,0}, /* sum.l */ 525*3d8817e4Smiod {85,0,r,V,0,0}, /* all */ 526*3d8817e4Smiod {86,0,r,V,0,0}, /* any */ 527*3d8817e4Smiod {87,0,r,V,0,0}, /* parity */ 528*3d8817e4Smiod {0,0,0,0,0,0}, 529*3d8817e4Smiod {88,5,r,V,0,0}, /* max.b */ 530*3d8817e4Smiod {88,6,r,V,0,0}, /* max.h */ 531*3d8817e4Smiod {88,7,r,V,0,0}, /* max.w */ 532*3d8817e4Smiod {88,8,r,V,0,0}, /* max.l */ 533*3d8817e4Smiod {89,5,r,V,0,0}, /* min.b */ 534*3d8817e4Smiod {89,6,r,V,0,0}, /* min.h */ 535*3d8817e4Smiod {89,7,r,V,0,0}, /* min.w */ 536*3d8817e4Smiod {89,8,r,V,0,0}, /* min.l */ 537*3d8817e4Smiod {84,3,r,V,0,0}, /* sum.s */ 538*3d8817e4Smiod {84,4,r,V,0,0}, /* sum.d */ 539*3d8817e4Smiod {90,3,r,V,0,0}, /* prod.s */ 540*3d8817e4Smiod {90,4,r,V,0,0}, /* prod.d */ 541*3d8817e4Smiod {88,3,r,V,0,0}, /* max.s */ 542*3d8817e4Smiod {88,4,r,V,0,0}, /* max.d */ 543*3d8817e4Smiod {89,3,r,V,0,0}, /* min.s */ 544*3d8817e4Smiod {89,4,r,V,0,0}, /* min.d */ 545*3d8817e4Smiod {90,5,r,V,0,0}, /* prod.b */ 546*3d8817e4Smiod {90,6,r,V,0,0}, /* prod.h */ 547*3d8817e4Smiod {90,7,r,V,0,0}, /* prod.w */ 548*3d8817e4Smiod {90,8,r,V,0,0}, /* prod.l */ 549*3d8817e4Smiod {35,2,lr,VM,S,0}, /* plc.f */ 550*3d8817e4Smiod {35,1,lr,VM,S,0}, /* plc.t */ 551*3d8817e4Smiod {0,0,0,0,0,0}, 552*3d8817e4Smiod {0,0,0,0,0,0}, 553*3d8817e4Smiod }; 554*3d8817e4Smiod 555*3d8817e4Smiod const struct formstr formatx[] = { 556*3d8817e4Smiod {0,0,0,0,0,0}, 557*3d8817e4Smiod }; 558*3d8817e4Smiod 559*3d8817e4Smiod const struct formstr format1a[] = { 560*3d8817e4Smiod {91,0,imr,A,0,0}, /* halt */ 561*3d8817e4Smiod {92,0,a4,0,0,0}, /* sysc */ 562*3d8817e4Smiod {18,6,imr,A,0,0}, /* ld.h */ 563*3d8817e4Smiod {18,7,imr,A,0,0}, /* ld.w */ 564*3d8817e4Smiod {5,0,imr,A,0,0}, /* and */ 565*3d8817e4Smiod {6,0,imr,A,0,0}, /* or */ 566*3d8817e4Smiod {7,0,imr,A,0,0}, /* xor */ 567*3d8817e4Smiod {8,0,imr,A,0,0}, /* shf */ 568*3d8817e4Smiod {9,6,imr,A,0,0}, /* add.h */ 569*3d8817e4Smiod {9,7,imr,A,0,0}, /* add.w */ 570*3d8817e4Smiod {10,6,imr,A,0,0}, /* sub.h */ 571*3d8817e4Smiod {10,7,imr,A,0,0}, /* sub.w */ 572*3d8817e4Smiod {3,6,imr,A,0,0}, /* mul.h */ 573*3d8817e4Smiod {3,7,imr,A,0,0}, /* mul.w */ 574*3d8817e4Smiod {4,6,imr,A,0,0}, /* div.h */ 575*3d8817e4Smiod {4,7,imr,A,0,0}, /* div.w */ 576*3d8817e4Smiod {18,7,iml,VL,0,0}, /* ld.w */ 577*3d8817e4Smiod {18,7,iml,VS,0,0}, /* ld.w */ 578*3d8817e4Smiod {0,0,0,0,0,0}, 579*3d8817e4Smiod {8,7,imr,S,0,0}, /* shf.w */ 580*3d8817e4Smiod {93,0,a5,0,0,0}, /* trap */ 581*3d8817e4Smiod {0,0,0,0,0,0}, 582*3d8817e4Smiod {37,6,imr,A,0,0}, /* eq.h */ 583*3d8817e4Smiod {37,7,imr,A,0,0}, /* eq.w */ 584*3d8817e4Smiod {38,6,imr,A,0,0}, /* leu.h */ 585*3d8817e4Smiod {38,7,imr,A,0,0}, /* leu.w */ 586*3d8817e4Smiod {39,6,imr,A,0,0}, /* ltu.h */ 587*3d8817e4Smiod {39,7,imr,A,0,0}, /* ltu.w */ 588*3d8817e4Smiod {40,6,imr,A,0,0}, /* le.h */ 589*3d8817e4Smiod {40,7,imr,A,0,0}, /* le.w */ 590*3d8817e4Smiod {41,6,imr,A,0,0}, /* lt.h */ 591*3d8817e4Smiod {41,7,imr,A,0,0}, /* lt.w */ 592*3d8817e4Smiod }; 593*3d8817e4Smiod 594*3d8817e4Smiod const struct formstr format1b[] = { 595*3d8817e4Smiod {18,4,imr,S,0,0}, /* ld.d */ 596*3d8817e4Smiod {18,10,imr,S,0,0}, /* ld.u */ 597*3d8817e4Smiod {18,8,imr,S,0,0}, /* ld.l */ 598*3d8817e4Smiod {18,7,imr,S,0,0}, /* ld.w */ 599*3d8817e4Smiod {5,0,imr,S,0,0}, /* and */ 600*3d8817e4Smiod {6,0,imr,S,0,0}, /* or */ 601*3d8817e4Smiod {7,0,imr,S,0,0}, /* xor */ 602*3d8817e4Smiod {8,0,imr,S,0,0}, /* shf */ 603*3d8817e4Smiod {9,6,imr,S,0,0}, /* add.h */ 604*3d8817e4Smiod {9,7,imr,S,0,0}, /* add.w */ 605*3d8817e4Smiod {10,6,imr,S,0,0}, /* sub.h */ 606*3d8817e4Smiod {10,7,imr,S,0,0}, /* sub.w */ 607*3d8817e4Smiod {3,6,imr,S,0,0}, /* mul.h */ 608*3d8817e4Smiod {3,7,imr,S,0,0}, /* mul.w */ 609*3d8817e4Smiod {4,6,imr,S,0,0}, /* div.h */ 610*3d8817e4Smiod {4,7,imr,S,0,0}, /* div.w */ 611*3d8817e4Smiod {9,3,imr,S,0,0}, /* add.s */ 612*3d8817e4Smiod {10,3,imr,S,0,0}, /* sub.s */ 613*3d8817e4Smiod {3,3,imr,S,0,0}, /* mul.s */ 614*3d8817e4Smiod {4,3,imr,S,0,0}, /* div.s */ 615*3d8817e4Smiod {40,3,imr,S,0,0}, /* le.s */ 616*3d8817e4Smiod {41,3,imr,S,0,0}, /* lt.s */ 617*3d8817e4Smiod {37,6,imr,S,0,0}, /* eq.h */ 618*3d8817e4Smiod {37,7,imr,S,0,0}, /* eq.w */ 619*3d8817e4Smiod {38,6,imr,S,0,0}, /* leu.h */ 620*3d8817e4Smiod {38,7,imr,S,0,0}, /* leu.w */ 621*3d8817e4Smiod {39,6,imr,S,0,0}, /* ltu.h */ 622*3d8817e4Smiod {39,7,imr,S,0,0}, /* ltu.w */ 623*3d8817e4Smiod {40,6,imr,S,0,0}, /* le.h */ 624*3d8817e4Smiod {40,7,imr,S,0,0}, /* le.w */ 625*3d8817e4Smiod {41,6,imr,S,0,0}, /* lt.h */ 626*3d8817e4Smiod {41,7,imr,S,0,0}, /* lt.w */ 627*3d8817e4Smiod }; 628*3d8817e4Smiod 629*3d8817e4Smiod const struct formstr e0_format0[] = { 630*3d8817e4Smiod {10,3,rrr,S,V,V}, /* sub.s */ 631*3d8817e4Smiod {10,4,rrr,S,V,V}, /* sub.d */ 632*3d8817e4Smiod {4,3,rrr,S,V,V}, /* div.s */ 633*3d8817e4Smiod {4,4,rrr,S,V,V}, /* div.d */ 634*3d8817e4Smiod {10,11,rrr,S,V,V}, /* sub.s.f */ 635*3d8817e4Smiod {10,12,rrr,S,V,V}, /* sub.d.f */ 636*3d8817e4Smiod {4,11,rrr,S,V,V}, /* div.s.f */ 637*3d8817e4Smiod {4,12,rrr,S,V,V}, /* div.d.f */ 638*3d8817e4Smiod {3,11,rrr,V,V,V}, /* mul.s.f */ 639*3d8817e4Smiod {3,12,rrr,V,V,V}, /* mul.d.f */ 640*3d8817e4Smiod {4,11,rrr,V,V,V}, /* div.s.f */ 641*3d8817e4Smiod {4,12,rrr,V,V,V}, /* div.d.f */ 642*3d8817e4Smiod {3,11,rrr,V,S,V}, /* mul.s.f */ 643*3d8817e4Smiod {3,12,rrr,V,S,V}, /* mul.d.f */ 644*3d8817e4Smiod {4,11,rrr,V,S,V}, /* div.s.f */ 645*3d8817e4Smiod {4,12,rrr,V,S,V}, /* div.d.f */ 646*3d8817e4Smiod {5,2,rrr,V,V,V}, /* and.f */ 647*3d8817e4Smiod {6,2,rrr,V,V,V}, /* or.f */ 648*3d8817e4Smiod {7,2,rrr,V,V,V}, /* xor.f */ 649*3d8817e4Smiod {8,2,rrr,V,V,V}, /* shf.f */ 650*3d8817e4Smiod {5,2,rrr,V,S,V}, /* and.f */ 651*3d8817e4Smiod {6,2,rrr,V,S,V}, /* or.f */ 652*3d8817e4Smiod {7,2,rrr,V,S,V}, /* xor.f */ 653*3d8817e4Smiod {8,2,rrr,V,S,V}, /* shf.f */ 654*3d8817e4Smiod {9,11,rrr,V,V,V}, /* add.s.f */ 655*3d8817e4Smiod {9,12,rrr,V,V,V}, /* add.d.f */ 656*3d8817e4Smiod {10,11,rrr,V,V,V}, /* sub.s.f */ 657*3d8817e4Smiod {10,12,rrr,V,V,V}, /* sub.d.f */ 658*3d8817e4Smiod {9,11,rrr,V,S,V}, /* add.s.f */ 659*3d8817e4Smiod {9,12,rrr,V,S,V}, /* add.d.f */ 660*3d8817e4Smiod {10,11,rrr,V,S,V}, /* sub.s.f */ 661*3d8817e4Smiod {10,12,rrr,V,S,V}, /* sub.d.f */ 662*3d8817e4Smiod {9,13,rrr,V,V,V}, /* add.b.f */ 663*3d8817e4Smiod {9,14,rrr,V,V,V}, /* add.h.f */ 664*3d8817e4Smiod {9,15,rrr,V,V,V}, /* add.w.f */ 665*3d8817e4Smiod {9,16,rrr,V,V,V}, /* add.l.f */ 666*3d8817e4Smiod {9,13,rrr,V,S,V}, /* add.b.f */ 667*3d8817e4Smiod {9,14,rrr,V,S,V}, /* add.h.f */ 668*3d8817e4Smiod {9,15,rrr,V,S,V}, /* add.w.f */ 669*3d8817e4Smiod {9,16,rrr,V,S,V}, /* add.l.f */ 670*3d8817e4Smiod {10,13,rrr,V,V,V}, /* sub.b.f */ 671*3d8817e4Smiod {10,14,rrr,V,V,V}, /* sub.h.f */ 672*3d8817e4Smiod {10,15,rrr,V,V,V}, /* sub.w.f */ 673*3d8817e4Smiod {10,16,rrr,V,V,V}, /* sub.l.f */ 674*3d8817e4Smiod {10,13,rrr,V,S,V}, /* sub.b.f */ 675*3d8817e4Smiod {10,14,rrr,V,S,V}, /* sub.h.f */ 676*3d8817e4Smiod {10,15,rrr,V,S,V}, /* sub.w.f */ 677*3d8817e4Smiod {10,16,rrr,V,S,V}, /* sub.l.f */ 678*3d8817e4Smiod {3,13,rrr,V,V,V}, /* mul.b.f */ 679*3d8817e4Smiod {3,14,rrr,V,V,V}, /* mul.h.f */ 680*3d8817e4Smiod {3,15,rrr,V,V,V}, /* mul.w.f */ 681*3d8817e4Smiod {3,16,rrr,V,V,V}, /* mul.l.f */ 682*3d8817e4Smiod {3,13,rrr,V,S,V}, /* mul.b.f */ 683*3d8817e4Smiod {3,14,rrr,V,S,V}, /* mul.h.f */ 684*3d8817e4Smiod {3,15,rrr,V,S,V}, /* mul.w.f */ 685*3d8817e4Smiod {3,16,rrr,V,S,V}, /* mul.l.f */ 686*3d8817e4Smiod {4,13,rrr,V,V,V}, /* div.b.f */ 687*3d8817e4Smiod {4,14,rrr,V,V,V}, /* div.h.f */ 688*3d8817e4Smiod {4,15,rrr,V,V,V}, /* div.w.f */ 689*3d8817e4Smiod {4,16,rrr,V,V,V}, /* div.l.f */ 690*3d8817e4Smiod {4,13,rrr,V,S,V}, /* div.b.f */ 691*3d8817e4Smiod {4,14,rrr,V,S,V}, /* div.h.f */ 692*3d8817e4Smiod {4,15,rrr,V,S,V}, /* div.w.f */ 693*3d8817e4Smiod {4,16,rrr,V,S,V}, /* div.l.f */ 694*3d8817e4Smiod }; 695*3d8817e4Smiod 696*3d8817e4Smiod const struct formstr e0_format1[] = { 697*3d8817e4Smiod {0,0,0,0,0,0}, 698*3d8817e4Smiod {94,0,a3,0,0,0}, /* tst */ 699*3d8817e4Smiod {95,0,a3,0,0,0}, /* lck */ 700*3d8817e4Smiod {96,0,a3,0,0,0}, /* ulk */ 701*3d8817e4Smiod {17,0,a1r,S,0,0}, /* ldea */ 702*3d8817e4Smiod {97,0,a1r,A,0,0}, /* spawn */ 703*3d8817e4Smiod {98,0,a1r,A,0,0}, /* ldcmr */ 704*3d8817e4Smiod {99,0,a2r,A,0,0}, /* stcmr */ 705*3d8817e4Smiod {100,0,a1r,A,0,0}, /* popr */ 706*3d8817e4Smiod {101,0,a2r,A,0,0}, /* pshr */ 707*3d8817e4Smiod {102,7,a1r,A,0,0}, /* rcvr.w */ 708*3d8817e4Smiod {103,7,a2r,A,0,0}, /* matm.w */ 709*3d8817e4Smiod {104,7,a2r,A,0,0}, /* sndr.w */ 710*3d8817e4Smiod {104,8,a2r,S,0,0}, /* sndr.l */ 711*3d8817e4Smiod {102,8,a1r,S,0,0}, /* rcvr.l */ 712*3d8817e4Smiod {103,8,a2r,S,0,0}, /* matm.l */ 713*3d8817e4Smiod {0,0,0,0,0,0}, 714*3d8817e4Smiod {0,0,0,0,0,0}, 715*3d8817e4Smiod {0,0,0,0,0,0}, 716*3d8817e4Smiod {0,0,0,0,0,0}, 717*3d8817e4Smiod {0,0,0,0,0,0}, 718*3d8817e4Smiod {0,0,0,0,0,0}, 719*3d8817e4Smiod {0,0,0,0,0,0}, 720*3d8817e4Smiod {0,0,0,0,0,0}, 721*3d8817e4Smiod {0,0,0,0,0,0}, 722*3d8817e4Smiod {0,0,0,0,0,0}, 723*3d8817e4Smiod {0,0,0,0,0,0}, 724*3d8817e4Smiod {0,0,0,0,0,0}, 725*3d8817e4Smiod {0,0,0,0,0,0}, 726*3d8817e4Smiod {0,0,0,0,0,0}, 727*3d8817e4Smiod {0,0,0,0,0,0}, 728*3d8817e4Smiod {0,0,0,0,0,0}, 729*3d8817e4Smiod {105,7,a2r,A,0,0}, /* putr.w */ 730*3d8817e4Smiod {105,8,a2r,S,0,0}, /* putr.l */ 731*3d8817e4Smiod {106,7,a1r,A,0,0}, /* getr.w */ 732*3d8817e4Smiod {106,8,a1r,S,0,0}, /* getr.l */ 733*3d8817e4Smiod {26,13,a2r,S,0,0}, /* ste.b.f */ 734*3d8817e4Smiod {26,14,a2r,S,0,0}, /* ste.h.f */ 735*3d8817e4Smiod {26,15,a2r,S,0,0}, /* ste.w.f */ 736*3d8817e4Smiod {26,16,a2r,S,0,0}, /* ste.l.f */ 737*3d8817e4Smiod {107,7,a2r,A,0,0}, /* matr.w */ 738*3d8817e4Smiod {108,7,a2r,A,0,0}, /* mat.w */ 739*3d8817e4Smiod {109,7,a1r,A,0,0}, /* get.w */ 740*3d8817e4Smiod {110,7,a1r,A,0,0}, /* rcv.w */ 741*3d8817e4Smiod {0,0,0,0,0,0}, 742*3d8817e4Smiod {111,7,a1r,A,0,0}, /* inc.w */ 743*3d8817e4Smiod {112,7,a2r,A,0,0}, /* put.w */ 744*3d8817e4Smiod {113,7,a2r,A,0,0}, /* snd.w */ 745*3d8817e4Smiod {107,8,a2r,S,0,0}, /* matr.l */ 746*3d8817e4Smiod {108,8,a2r,S,0,0}, /* mat.l */ 747*3d8817e4Smiod {109,8,a1r,S,0,0}, /* get.l */ 748*3d8817e4Smiod {110,8,a1r,S,0,0}, /* rcv.l */ 749*3d8817e4Smiod {0,0,0,0,0,0}, 750*3d8817e4Smiod {111,8,a1r,S,0,0}, /* inc.l */ 751*3d8817e4Smiod {112,8,a2r,S,0,0}, /* put.l */ 752*3d8817e4Smiod {113,8,a2r,S,0,0}, /* snd.l */ 753*3d8817e4Smiod {18,13,a1r,V,0,0}, /* ld.b.f */ 754*3d8817e4Smiod {18,14,a1r,V,0,0}, /* ld.h.f */ 755*3d8817e4Smiod {18,15,a1r,V,0,0}, /* ld.w.f */ 756*3d8817e4Smiod {18,16,a1r,V,0,0}, /* ld.l.f */ 757*3d8817e4Smiod {21,13,a2r,V,0,0}, /* st.b.f */ 758*3d8817e4Smiod {21,14,a2r,V,0,0}, /* st.h.f */ 759*3d8817e4Smiod {21,15,a2r,V,0,0}, /* st.w.f */ 760*3d8817e4Smiod {21,16,a2r,V,0,0}, /* st.l.f */ 761*3d8817e4Smiod }; 762*3d8817e4Smiod 763*3d8817e4Smiod const struct formstr e0_format2[] = { 764*3d8817e4Smiod {28,5,rr,V,V,0}, /* cvtw.b */ 765*3d8817e4Smiod {28,6,rr,V,V,0}, /* cvtw.h */ 766*3d8817e4Smiod {29,7,rr,V,V,0}, /* cvtb.w */ 767*3d8817e4Smiod {30,7,rr,V,V,0}, /* cvth.w */ 768*3d8817e4Smiod {28,13,rr,V,V,0}, /* cvtw.b.f */ 769*3d8817e4Smiod {28,14,rr,V,V,0}, /* cvtw.h.f */ 770*3d8817e4Smiod {29,15,rr,V,V,0}, /* cvtb.w.f */ 771*3d8817e4Smiod {30,15,rr,V,V,0}, /* cvth.w.f */ 772*3d8817e4Smiod {31,8,rr,V,V,0}, /* cvts.l */ 773*3d8817e4Smiod {32,7,rr,V,V,0}, /* cvtd.w */ 774*3d8817e4Smiod {33,3,rr,V,V,0}, /* cvtl.s */ 775*3d8817e4Smiod {28,4,rr,V,V,0}, /* cvtw.d */ 776*3d8817e4Smiod {31,16,rr,V,V,0}, /* cvts.l.f */ 777*3d8817e4Smiod {32,15,rr,V,V,0}, /* cvtd.w.f */ 778*3d8817e4Smiod {33,11,rr,V,V,0}, /* cvtl.s.f */ 779*3d8817e4Smiod {28,12,rr,V,V,0}, /* cvtw.d.f */ 780*3d8817e4Smiod {114,0,rr,S,S,0}, /* enal */ 781*3d8817e4Smiod {8,7,rr,S,S,0}, /* shf.w */ 782*3d8817e4Smiod {115,0,rr,S,S,0}, /* enag */ 783*3d8817e4Smiod {0,0,0,0,0,0}, 784*3d8817e4Smiod {28,4,rr,S,S,0}, /* cvtw.d */ 785*3d8817e4Smiod {32,7,rr,S,S,0}, /* cvtd.w */ 786*3d8817e4Smiod {0,0,0,0,0,0}, 787*3d8817e4Smiod {0,0,0,0,0,0}, 788*3d8817e4Smiod {0,0,0,0,0,0}, 789*3d8817e4Smiod {0,0,0,0,0,0}, 790*3d8817e4Smiod {0,0,0,0,0,0}, 791*3d8817e4Smiod {0,0,0,0,0,0}, 792*3d8817e4Smiod {116,3,rr,S,S,0}, /* frint.s */ 793*3d8817e4Smiod {116,4,rr,S,S,0}, /* frint.d */ 794*3d8817e4Smiod {0,0,0,0,0,0}, 795*3d8817e4Smiod {0,0,0,0,0,0}, 796*3d8817e4Smiod {0,0,0,0,0,0}, 797*3d8817e4Smiod {0,0,0,0,0,0}, 798*3d8817e4Smiod {0,0,0,0,0,0}, 799*3d8817e4Smiod {0,0,0,0,0,0}, 800*3d8817e4Smiod {0,0,0,0,0,0}, 801*3d8817e4Smiod {0,0,0,0,0,0}, 802*3d8817e4Smiod {0,0,0,0,0,0}, 803*3d8817e4Smiod {0,0,0,0,0,0}, 804*3d8817e4Smiod {0,0,0,0,0,0}, 805*3d8817e4Smiod {0,0,0,0,0,0}, 806*3d8817e4Smiod {0,0,0,0,0,0}, 807*3d8817e4Smiod {0,0,0,0,0,0}, 808*3d8817e4Smiod {0,0,0,0,0,0}, 809*3d8817e4Smiod {0,0,0,0,0,0}, 810*3d8817e4Smiod {0,0,0,0,0,0}, 811*3d8817e4Smiod {0,0,0,0,0,0}, 812*3d8817e4Smiod {0,0,0,0,0,0}, 813*3d8817e4Smiod {0,0,0,0,0,0}, 814*3d8817e4Smiod {0,0,0,0,0,0}, 815*3d8817e4Smiod {0,0,0,0,0,0}, 816*3d8817e4Smiod {0,0,0,0,0,0}, 817*3d8817e4Smiod {0,0,0,0,0,0}, 818*3d8817e4Smiod {0,0,0,0,0,0}, 819*3d8817e4Smiod {0,0,0,0,0,0}, 820*3d8817e4Smiod {0,0,0,0,0,0}, 821*3d8817e4Smiod {0,0,0,0,0,0}, 822*3d8817e4Smiod {0,0,0,0,0,0}, 823*3d8817e4Smiod {0,0,0,0,0,0}, 824*3d8817e4Smiod {0,0,0,0,0,0}, 825*3d8817e4Smiod {0,0,0,0,0,0}, 826*3d8817e4Smiod {0,0,0,0,0,0}, 827*3d8817e4Smiod {0,0,0,0,0,0}, 828*3d8817e4Smiod {0,0,0,0,0,0}, 829*3d8817e4Smiod {0,0,0,0,0,0}, 830*3d8817e4Smiod {0,0,0,0,0,0}, 831*3d8817e4Smiod {0,0,0,0,0,0}, 832*3d8817e4Smiod {0,0,0,0,0,0}, 833*3d8817e4Smiod {0,0,0,0,0,0}, 834*3d8817e4Smiod {0,0,0,0,0,0}, 835*3d8817e4Smiod {0,0,0,0,0,0}, 836*3d8817e4Smiod {0,0,0,0,0,0}, 837*3d8817e4Smiod {0,0,0,0,0,0}, 838*3d8817e4Smiod {0,0,0,0,0,0}, 839*3d8817e4Smiod {0,0,0,0,0,0}, 840*3d8817e4Smiod {0,0,0,0,0,0}, 841*3d8817e4Smiod {0,0,0,0,0,0}, 842*3d8817e4Smiod {0,0,0,0,0,0}, 843*3d8817e4Smiod {0,0,0,0,0,0}, 844*3d8817e4Smiod {0,0,0,0,0,0}, 845*3d8817e4Smiod {0,0,0,0,0,0}, 846*3d8817e4Smiod {0,0,0,0,0,0}, 847*3d8817e4Smiod {0,0,0,0,0,0}, 848*3d8817e4Smiod {0,0,0,0,0,0}, 849*3d8817e4Smiod {0,0,0,0,0,0}, 850*3d8817e4Smiod {0,0,0,0,0,0}, 851*3d8817e4Smiod {0,0,0,0,0,0}, 852*3d8817e4Smiod {0,0,0,0,0,0}, 853*3d8817e4Smiod {0,0,0,0,0,0}, 854*3d8817e4Smiod {0,0,0,0,0,0}, 855*3d8817e4Smiod {0,0,0,0,0,0}, 856*3d8817e4Smiod {0,0,0,0,0,0}, 857*3d8817e4Smiod {0,0,0,0,0,0}, 858*3d8817e4Smiod {0,0,0,0,0,0}, 859*3d8817e4Smiod {0,0,0,0,0,0}, 860*3d8817e4Smiod {0,0,0,0,0,0}, 861*3d8817e4Smiod {0,0,0,0,0,0}, 862*3d8817e4Smiod {116,3,rr,V,V,0}, /* frint.s */ 863*3d8817e4Smiod {116,4,rr,V,V,0}, /* frint.d */ 864*3d8817e4Smiod {0,0,0,0,0,0}, 865*3d8817e4Smiod {0,0,0,0,0,0}, 866*3d8817e4Smiod {116,11,rr,V,V,0}, /* frint.s.f */ 867*3d8817e4Smiod {116,12,rr,V,V,0}, /* frint.d.f */ 868*3d8817e4Smiod {0,0,0,0,0,0}, 869*3d8817e4Smiod {0,0,0,0,0,0}, 870*3d8817e4Smiod {0,0,0,0,0,0}, 871*3d8817e4Smiod {0,0,0,0,0,0}, 872*3d8817e4Smiod {0,0,0,0,0,0}, 873*3d8817e4Smiod {0,0,0,0,0,0}, 874*3d8817e4Smiod {0,0,0,0,0,0}, 875*3d8817e4Smiod {0,0,0,0,0,0}, 876*3d8817e4Smiod {0,0,0,0,0,0}, 877*3d8817e4Smiod {0,0,0,0,0,0}, 878*3d8817e4Smiod {0,0,0,0,0,0}, 879*3d8817e4Smiod {0,0,0,0,0,0}, 880*3d8817e4Smiod {81,3,rr,V,V,0}, /* sqrt.s */ 881*3d8817e4Smiod {81,4,rr,V,V,0}, /* sqrt.d */ 882*3d8817e4Smiod {0,0,0,0,0,0}, 883*3d8817e4Smiod {0,0,0,0,0,0}, 884*3d8817e4Smiod {0,0,0,0,0,0}, 885*3d8817e4Smiod {0,0,0,0,0,0}, 886*3d8817e4Smiod {0,0,0,0,0,0}, 887*3d8817e4Smiod {0,0,0,0,0,0}, 888*3d8817e4Smiod {81,11,rr,V,V,0}, /* sqrt.s.f */ 889*3d8817e4Smiod {81,12,rr,V,V,0}, /* sqrt.d.f */ 890*3d8817e4Smiod {0,0,0,0,0,0}, 891*3d8817e4Smiod {0,0,0,0,0,0}, 892*3d8817e4Smiod }; 893*3d8817e4Smiod 894*3d8817e4Smiod const struct formstr e0_format3[] = { 895*3d8817e4Smiod {32,11,rr,V,V,0}, /* cvtd.s.f */ 896*3d8817e4Smiod {31,12,rr,V,V,0}, /* cvts.d.f */ 897*3d8817e4Smiod {33,12,rr,V,V,0}, /* cvtl.d.f */ 898*3d8817e4Smiod {32,16,rr,V,V,0}, /* cvtd.l.f */ 899*3d8817e4Smiod {0,0,0,0,0,0}, 900*3d8817e4Smiod {0,0,0,0,0,0}, 901*3d8817e4Smiod {0,0,0,0,0,0}, 902*3d8817e4Smiod {0,0,0,0,0,0}, 903*3d8817e4Smiod {36,2,rr,V,V,0}, /* tzc.f */ 904*3d8817e4Smiod {44,2,rr,V,V,0}, /* lop.f */ 905*3d8817e4Smiod {117,2,rr,V,V,0}, /* xpnd.f */ 906*3d8817e4Smiod {42,2,rr,V,V,0}, /* not.f */ 907*3d8817e4Smiod {8,2,rr,S,V,0}, /* shf.f */ 908*3d8817e4Smiod {35,17,rr,V,V,0}, /* plc.t.f */ 909*3d8817e4Smiod {0,0,0,0,0,0}, 910*3d8817e4Smiod {0,0,0,0,0,0}, 911*3d8817e4Smiod {37,11,rr,V,V,0}, /* eq.s.f */ 912*3d8817e4Smiod {37,12,rr,V,V,0}, /* eq.d.f */ 913*3d8817e4Smiod {43,11,rr,V,V,0}, /* neg.s.f */ 914*3d8817e4Smiod {43,12,rr,V,V,0}, /* neg.d.f */ 915*3d8817e4Smiod {37,11,rr,S,V,0}, /* eq.s.f */ 916*3d8817e4Smiod {37,12,rr,S,V,0}, /* eq.d.f */ 917*3d8817e4Smiod {0,0,0,0,0,0}, 918*3d8817e4Smiod {0,0,0,0,0,0}, 919*3d8817e4Smiod {40,11,rr,V,V,0}, /* le.s.f */ 920*3d8817e4Smiod {40,12,rr,V,V,0}, /* le.d.f */ 921*3d8817e4Smiod {41,11,rr,V,V,0}, /* lt.s.f */ 922*3d8817e4Smiod {41,12,rr,V,V,0}, /* lt.d.f */ 923*3d8817e4Smiod {40,11,rr,S,V,0}, /* le.s.f */ 924*3d8817e4Smiod {40,12,rr,S,V,0}, /* le.d.f */ 925*3d8817e4Smiod {41,11,rr,S,V,0}, /* lt.s.f */ 926*3d8817e4Smiod {41,12,rr,S,V,0}, /* lt.d.f */ 927*3d8817e4Smiod {37,13,rr,V,V,0}, /* eq.b.f */ 928*3d8817e4Smiod {37,14,rr,V,V,0}, /* eq.h.f */ 929*3d8817e4Smiod {37,15,rr,V,V,0}, /* eq.w.f */ 930*3d8817e4Smiod {37,16,rr,V,V,0}, /* eq.l.f */ 931*3d8817e4Smiod {37,13,rr,S,V,0}, /* eq.b.f */ 932*3d8817e4Smiod {37,14,rr,S,V,0}, /* eq.h.f */ 933*3d8817e4Smiod {37,15,rr,S,V,0}, /* eq.w.f */ 934*3d8817e4Smiod {37,16,rr,S,V,0}, /* eq.l.f */ 935*3d8817e4Smiod {40,13,rr,V,V,0}, /* le.b.f */ 936*3d8817e4Smiod {40,14,rr,V,V,0}, /* le.h.f */ 937*3d8817e4Smiod {40,15,rr,V,V,0}, /* le.w.f */ 938*3d8817e4Smiod {40,16,rr,V,V,0}, /* le.l.f */ 939*3d8817e4Smiod {40,13,rr,S,V,0}, /* le.b.f */ 940*3d8817e4Smiod {40,14,rr,S,V,0}, /* le.h.f */ 941*3d8817e4Smiod {40,15,rr,S,V,0}, /* le.w.f */ 942*3d8817e4Smiod {40,16,rr,S,V,0}, /* le.l.f */ 943*3d8817e4Smiod {41,13,rr,V,V,0}, /* lt.b.f */ 944*3d8817e4Smiod {41,14,rr,V,V,0}, /* lt.h.f */ 945*3d8817e4Smiod {41,15,rr,V,V,0}, /* lt.w.f */ 946*3d8817e4Smiod {41,16,rr,V,V,0}, /* lt.l.f */ 947*3d8817e4Smiod {41,13,rr,S,V,0}, /* lt.b.f */ 948*3d8817e4Smiod {41,14,rr,S,V,0}, /* lt.h.f */ 949*3d8817e4Smiod {41,15,rr,S,V,0}, /* lt.w.f */ 950*3d8817e4Smiod {41,16,rr,S,V,0}, /* lt.l.f */ 951*3d8817e4Smiod {43,13,rr,V,V,0}, /* neg.b.f */ 952*3d8817e4Smiod {43,14,rr,V,V,0}, /* neg.h.f */ 953*3d8817e4Smiod {43,15,rr,V,V,0}, /* neg.w.f */ 954*3d8817e4Smiod {43,16,rr,V,V,0}, /* neg.l.f */ 955*3d8817e4Smiod {0,0,0,0,0,0}, 956*3d8817e4Smiod {0,0,0,0,0,0}, 957*3d8817e4Smiod {0,0,0,0,0,0}, 958*3d8817e4Smiod {0,0,0,0,0,0}, 959*3d8817e4Smiod }; 960*3d8817e4Smiod 961*3d8817e4Smiod const struct formstr e0_format4[] = { 962*3d8817e4Smiod {0,0,0,0,0,0}, 963*3d8817e4Smiod {0,0,0,0,0,0}, 964*3d8817e4Smiod {0,0,0,0,0,0}, 965*3d8817e4Smiod {0,0,0,0,0,0}, 966*3d8817e4Smiod {0,0,0,0,0,0}, 967*3d8817e4Smiod {0,0,0,0,0,0}, 968*3d8817e4Smiod {0,0,0,0,0,0}, 969*3d8817e4Smiod {0,0,0,0,0,0}, 970*3d8817e4Smiod }; 971*3d8817e4Smiod 972*3d8817e4Smiod const struct formstr e0_format5[] = { 973*3d8817e4Smiod {51,13,rr,V,V,0}, /* ldvi.b.f */ 974*3d8817e4Smiod {51,14,rr,V,V,0}, /* ldvi.h.f */ 975*3d8817e4Smiod {51,15,rr,V,V,0}, /* ldvi.w.f */ 976*3d8817e4Smiod {51,16,rr,V,V,0}, /* ldvi.l.f */ 977*3d8817e4Smiod {28,11,rr,V,V,0}, /* cvtw.s.f */ 978*3d8817e4Smiod {31,15,rr,V,V,0}, /* cvts.w.f */ 979*3d8817e4Smiod {28,16,rr,V,V,0}, /* cvtw.l.f */ 980*3d8817e4Smiod {33,15,rr,V,V,0}, /* cvtl.w.f */ 981*3d8817e4Smiod {52,13,rxr,V,V,0}, /* stvi.b.f */ 982*3d8817e4Smiod {52,14,rxr,V,V,0}, /* stvi.h.f */ 983*3d8817e4Smiod {52,15,rxr,V,V,0}, /* stvi.w.f */ 984*3d8817e4Smiod {52,16,rxr,V,V,0}, /* stvi.l.f */ 985*3d8817e4Smiod {52,13,rxr,S,V,0}, /* stvi.b.f */ 986*3d8817e4Smiod {52,14,rxr,S,V,0}, /* stvi.h.f */ 987*3d8817e4Smiod {52,15,rxr,S,V,0}, /* stvi.w.f */ 988*3d8817e4Smiod {52,16,rxr,S,V,0}, /* stvi.l.f */ 989*3d8817e4Smiod }; 990*3d8817e4Smiod 991*3d8817e4Smiod const struct formstr e0_format6[] = { 992*3d8817e4Smiod {0,0,rxl,S,CIR,0}, /* mov */ 993*3d8817e4Smiod {0,0,lr,CIR,S,0}, /* mov */ 994*3d8817e4Smiod {0,0,lr,TOC,S,0}, /* mov */ 995*3d8817e4Smiod {0,0,lr,CPUID,S,0}, /* mov */ 996*3d8817e4Smiod {0,0,rxl,S,TTR,0}, /* mov */ 997*3d8817e4Smiod {0,0,lr,TTR,S,0}, /* mov */ 998*3d8817e4Smiod {118,0,nops,0,0,0}, /* ctrsl */ 999*3d8817e4Smiod {119,0,nops,0,0,0}, /* ctrsg */ 1000*3d8817e4Smiod {0,0,rxl,S,VMU,0}, /* mov */ 1001*3d8817e4Smiod {0,0,lr,VMU,S,0}, /* mov */ 1002*3d8817e4Smiod {0,0,rxl,S,VML,0}, /* mov */ 1003*3d8817e4Smiod {0,0,lr,VML,S,0}, /* mov */ 1004*3d8817e4Smiod {0,0,rxl,S,ICR,0}, /* mov */ 1005*3d8817e4Smiod {0,0,lr,ICR,S,0}, /* mov */ 1006*3d8817e4Smiod {0,0,rxl,S,TCPU,0}, /* mov */ 1007*3d8817e4Smiod {0,0,lr,TCPU,S,0}, /* mov */ 1008*3d8817e4Smiod {0,0,0,0,0,0}, 1009*3d8817e4Smiod {0,0,0,0,0,0}, 1010*3d8817e4Smiod {0,0,0,0,0,0}, 1011*3d8817e4Smiod {0,0,0,0,0,0}, 1012*3d8817e4Smiod {120,0,nops,0,0,0}, /* stop */ 1013*3d8817e4Smiod {0,0,0,0,0,0}, 1014*3d8817e4Smiod {0,0,rxl,S,TID,0}, /* mov */ 1015*3d8817e4Smiod {0,0,lr,TID,S,0}, /* mov */ 1016*3d8817e4Smiod {0,0,0,0,0,0}, 1017*3d8817e4Smiod {0,0,0,0,0,0}, 1018*3d8817e4Smiod {0,0,0,0,0,0}, 1019*3d8817e4Smiod {0,0,0,0,0,0}, 1020*3d8817e4Smiod {0,0,0,0,0,0}, 1021*3d8817e4Smiod {0,0,0,0,0,0}, 1022*3d8817e4Smiod {0,0,0,0,0,0}, 1023*3d8817e4Smiod {0,0,0,0,0,0}, 1024*3d8817e4Smiod {0,0,0,0,0,0}, 1025*3d8817e4Smiod {0,0,0,0,0,0}, 1026*3d8817e4Smiod {0,0,0,0,0,0}, 1027*3d8817e4Smiod {0,0,0,0,0,0}, 1028*3d8817e4Smiod {0,0,0,0,0,0}, 1029*3d8817e4Smiod {0,0,0,0,0,0}, 1030*3d8817e4Smiod {0,0,0,0,0,0}, 1031*3d8817e4Smiod {0,0,0,0,0,0}, 1032*3d8817e4Smiod {0,0,0,0,0,0}, 1033*3d8817e4Smiod {0,0,0,0,0,0}, 1034*3d8817e4Smiod {0,0,0,0,0,0}, 1035*3d8817e4Smiod {0,0,0,0,0,0}, 1036*3d8817e4Smiod {0,0,0,0,0,0}, 1037*3d8817e4Smiod {0,0,0,0,0,0}, 1038*3d8817e4Smiod {0,0,0,0,0,0}, 1039*3d8817e4Smiod {0,0,0,0,0,0}, 1040*3d8817e4Smiod {0,0,0,0,0,0}, 1041*3d8817e4Smiod {0,0,0,0,0,0}, 1042*3d8817e4Smiod {0,0,0,0,0,0}, 1043*3d8817e4Smiod {0,0,0,0,0,0}, 1044*3d8817e4Smiod {0,0,0,0,0,0}, 1045*3d8817e4Smiod {0,0,0,0,0,0}, 1046*3d8817e4Smiod {0,0,0,0,0,0}, 1047*3d8817e4Smiod {0,0,0,0,0,0}, 1048*3d8817e4Smiod {0,0,0,0,0,0}, 1049*3d8817e4Smiod {0,0,0,0,0,0}, 1050*3d8817e4Smiod {0,0,0,0,0,0}, 1051*3d8817e4Smiod {0,0,0,0,0,0}, 1052*3d8817e4Smiod {0,0,0,0,0,0}, 1053*3d8817e4Smiod {0,0,0,0,0,0}, 1054*3d8817e4Smiod {0,0,0,0,0,0}, 1055*3d8817e4Smiod {0,0,0,0,0,0}, 1056*3d8817e4Smiod }; 1057*3d8817e4Smiod 1058*3d8817e4Smiod const struct formstr e0_format7[] = { 1059*3d8817e4Smiod {84,13,r,V,0,0}, /* sum.b.f */ 1060*3d8817e4Smiod {84,14,r,V,0,0}, /* sum.h.f */ 1061*3d8817e4Smiod {84,15,r,V,0,0}, /* sum.w.f */ 1062*3d8817e4Smiod {84,16,r,V,0,0}, /* sum.l.f */ 1063*3d8817e4Smiod {85,2,r,V,0,0}, /* all.f */ 1064*3d8817e4Smiod {86,2,r,V,0,0}, /* any.f */ 1065*3d8817e4Smiod {87,2,r,V,0,0}, /* parity.f */ 1066*3d8817e4Smiod {0,0,0,0,0,0}, 1067*3d8817e4Smiod {88,13,r,V,0,0}, /* max.b.f */ 1068*3d8817e4Smiod {88,14,r,V,0,0}, /* max.h.f */ 1069*3d8817e4Smiod {88,15,r,V,0,0}, /* max.w.f */ 1070*3d8817e4Smiod {88,16,r,V,0,0}, /* max.l.f */ 1071*3d8817e4Smiod {89,13,r,V,0,0}, /* min.b.f */ 1072*3d8817e4Smiod {89,14,r,V,0,0}, /* min.h.f */ 1073*3d8817e4Smiod {89,15,r,V,0,0}, /* min.w.f */ 1074*3d8817e4Smiod {89,16,r,V,0,0}, /* min.l.f */ 1075*3d8817e4Smiod {84,11,r,V,0,0}, /* sum.s.f */ 1076*3d8817e4Smiod {84,12,r,V,0,0}, /* sum.d.f */ 1077*3d8817e4Smiod {90,11,r,V,0,0}, /* prod.s.f */ 1078*3d8817e4Smiod {90,12,r,V,0,0}, /* prod.d.f */ 1079*3d8817e4Smiod {88,11,r,V,0,0}, /* max.s.f */ 1080*3d8817e4Smiod {88,12,r,V,0,0}, /* max.d.f */ 1081*3d8817e4Smiod {89,11,r,V,0,0}, /* min.s.f */ 1082*3d8817e4Smiod {89,12,r,V,0,0}, /* min.d.f */ 1083*3d8817e4Smiod {90,13,r,V,0,0}, /* prod.b.f */ 1084*3d8817e4Smiod {90,14,r,V,0,0}, /* prod.h.f */ 1085*3d8817e4Smiod {90,15,r,V,0,0}, /* prod.w.f */ 1086*3d8817e4Smiod {90,16,r,V,0,0}, /* prod.l.f */ 1087*3d8817e4Smiod {0,0,0,0,0,0}, 1088*3d8817e4Smiod {0,0,0,0,0,0}, 1089*3d8817e4Smiod {0,0,0,0,0,0}, 1090*3d8817e4Smiod {0,0,0,0,0,0}, 1091*3d8817e4Smiod }; 1092*3d8817e4Smiod 1093*3d8817e4Smiod const struct formstr e1_format0[] = { 1094*3d8817e4Smiod {0,0,0,0,0,0}, 1095*3d8817e4Smiod {0,0,0,0,0,0}, 1096*3d8817e4Smiod {0,0,0,0,0,0}, 1097*3d8817e4Smiod {0,0,0,0,0,0}, 1098*3d8817e4Smiod {10,18,rrr,S,V,V}, /* sub.s.t */ 1099*3d8817e4Smiod {10,19,rrr,S,V,V}, /* sub.d.t */ 1100*3d8817e4Smiod {4,18,rrr,S,V,V}, /* div.s.t */ 1101*3d8817e4Smiod {4,19,rrr,S,V,V}, /* div.d.t */ 1102*3d8817e4Smiod {3,18,rrr,V,V,V}, /* mul.s.t */ 1103*3d8817e4Smiod {3,19,rrr,V,V,V}, /* mul.d.t */ 1104*3d8817e4Smiod {4,18,rrr,V,V,V}, /* div.s.t */ 1105*3d8817e4Smiod {4,19,rrr,V,V,V}, /* div.d.t */ 1106*3d8817e4Smiod {3,18,rrr,V,S,V}, /* mul.s.t */ 1107*3d8817e4Smiod {3,19,rrr,V,S,V}, /* mul.d.t */ 1108*3d8817e4Smiod {4,18,rrr,V,S,V}, /* div.s.t */ 1109*3d8817e4Smiod {4,19,rrr,V,S,V}, /* div.d.t */ 1110*3d8817e4Smiod {5,1,rrr,V,V,V}, /* and.t */ 1111*3d8817e4Smiod {6,1,rrr,V,V,V}, /* or.t */ 1112*3d8817e4Smiod {7,1,rrr,V,V,V}, /* xor.t */ 1113*3d8817e4Smiod {8,1,rrr,V,V,V}, /* shf.t */ 1114*3d8817e4Smiod {5,1,rrr,V,S,V}, /* and.t */ 1115*3d8817e4Smiod {6,1,rrr,V,S,V}, /* or.t */ 1116*3d8817e4Smiod {7,1,rrr,V,S,V}, /* xor.t */ 1117*3d8817e4Smiod {8,1,rrr,V,S,V}, /* shf.t */ 1118*3d8817e4Smiod {9,18,rrr,V,V,V}, /* add.s.t */ 1119*3d8817e4Smiod {9,19,rrr,V,V,V}, /* add.d.t */ 1120*3d8817e4Smiod {10,18,rrr,V,V,V}, /* sub.s.t */ 1121*3d8817e4Smiod {10,19,rrr,V,V,V}, /* sub.d.t */ 1122*3d8817e4Smiod {9,18,rrr,V,S,V}, /* add.s.t */ 1123*3d8817e4Smiod {9,19,rrr,V,S,V}, /* add.d.t */ 1124*3d8817e4Smiod {10,18,rrr,V,S,V}, /* sub.s.t */ 1125*3d8817e4Smiod {10,19,rrr,V,S,V}, /* sub.d.t */ 1126*3d8817e4Smiod {9,20,rrr,V,V,V}, /* add.b.t */ 1127*3d8817e4Smiod {9,21,rrr,V,V,V}, /* add.h.t */ 1128*3d8817e4Smiod {9,22,rrr,V,V,V}, /* add.w.t */ 1129*3d8817e4Smiod {9,23,rrr,V,V,V}, /* add.l.t */ 1130*3d8817e4Smiod {9,20,rrr,V,S,V}, /* add.b.t */ 1131*3d8817e4Smiod {9,21,rrr,V,S,V}, /* add.h.t */ 1132*3d8817e4Smiod {9,22,rrr,V,S,V}, /* add.w.t */ 1133*3d8817e4Smiod {9,23,rrr,V,S,V}, /* add.l.t */ 1134*3d8817e4Smiod {10,20,rrr,V,V,V}, /* sub.b.t */ 1135*3d8817e4Smiod {10,21,rrr,V,V,V}, /* sub.h.t */ 1136*3d8817e4Smiod {10,22,rrr,V,V,V}, /* sub.w.t */ 1137*3d8817e4Smiod {10,23,rrr,V,V,V}, /* sub.l.t */ 1138*3d8817e4Smiod {10,20,rrr,V,S,V}, /* sub.b.t */ 1139*3d8817e4Smiod {10,21,rrr,V,S,V}, /* sub.h.t */ 1140*3d8817e4Smiod {10,22,rrr,V,S,V}, /* sub.w.t */ 1141*3d8817e4Smiod {10,23,rrr,V,S,V}, /* sub.l.t */ 1142*3d8817e4Smiod {3,20,rrr,V,V,V}, /* mul.b.t */ 1143*3d8817e4Smiod {3,21,rrr,V,V,V}, /* mul.h.t */ 1144*3d8817e4Smiod {3,22,rrr,V,V,V}, /* mul.w.t */ 1145*3d8817e4Smiod {3,23,rrr,V,V,V}, /* mul.l.t */ 1146*3d8817e4Smiod {3,20,rrr,V,S,V}, /* mul.b.t */ 1147*3d8817e4Smiod {3,21,rrr,V,S,V}, /* mul.h.t */ 1148*3d8817e4Smiod {3,22,rrr,V,S,V}, /* mul.w.t */ 1149*3d8817e4Smiod {3,23,rrr,V,S,V}, /* mul.l.t */ 1150*3d8817e4Smiod {4,20,rrr,V,V,V}, /* div.b.t */ 1151*3d8817e4Smiod {4,21,rrr,V,V,V}, /* div.h.t */ 1152*3d8817e4Smiod {4,22,rrr,V,V,V}, /* div.w.t */ 1153*3d8817e4Smiod {4,23,rrr,V,V,V}, /* div.l.t */ 1154*3d8817e4Smiod {4,20,rrr,V,S,V}, /* div.b.t */ 1155*3d8817e4Smiod {4,21,rrr,V,S,V}, /* div.h.t */ 1156*3d8817e4Smiod {4,22,rrr,V,S,V}, /* div.w.t */ 1157*3d8817e4Smiod {4,23,rrr,V,S,V}, /* div.l.t */ 1158*3d8817e4Smiod }; 1159*3d8817e4Smiod 1160*3d8817e4Smiod const struct formstr e1_format1[] = { 1161*3d8817e4Smiod {0,0,0,0,0,0}, 1162*3d8817e4Smiod {0,0,0,0,0,0}, 1163*3d8817e4Smiod {0,0,0,0,0,0}, 1164*3d8817e4Smiod {0,0,0,0,0,0}, 1165*3d8817e4Smiod {0,0,0,0,0,0}, 1166*3d8817e4Smiod {0,0,0,0,0,0}, 1167*3d8817e4Smiod {0,0,0,0,0,0}, 1168*3d8817e4Smiod {0,0,0,0,0,0}, 1169*3d8817e4Smiod {0,0,0,0,0,0}, 1170*3d8817e4Smiod {0,0,0,0,0,0}, 1171*3d8817e4Smiod {0,0,0,0,0,0}, 1172*3d8817e4Smiod {0,0,0,0,0,0}, 1173*3d8817e4Smiod {0,0,0,0,0,0}, 1174*3d8817e4Smiod {0,0,0,0,0,0}, 1175*3d8817e4Smiod {0,0,0,0,0,0}, 1176*3d8817e4Smiod {0,0,0,0,0,0}, 1177*3d8817e4Smiod {0,0,0,0,0,0}, 1178*3d8817e4Smiod {0,0,0,0,0,0}, 1179*3d8817e4Smiod {0,0,0,0,0,0}, 1180*3d8817e4Smiod {0,0,0,0,0,0}, 1181*3d8817e4Smiod {0,0,0,0,0,0}, 1182*3d8817e4Smiod {0,0,0,0,0,0}, 1183*3d8817e4Smiod {0,0,0,0,0,0}, 1184*3d8817e4Smiod {0,0,0,0,0,0}, 1185*3d8817e4Smiod {0,0,0,0,0,0}, 1186*3d8817e4Smiod {0,0,0,0,0,0}, 1187*3d8817e4Smiod {0,0,0,0,0,0}, 1188*3d8817e4Smiod {0,0,0,0,0,0}, 1189*3d8817e4Smiod {0,0,0,0,0,0}, 1190*3d8817e4Smiod {0,0,0,0,0,0}, 1191*3d8817e4Smiod {0,0,0,0,0,0}, 1192*3d8817e4Smiod {0,0,0,0,0,0}, 1193*3d8817e4Smiod {0,0,0,0,0,0}, 1194*3d8817e4Smiod {0,0,0,0,0,0}, 1195*3d8817e4Smiod {0,0,0,0,0,0}, 1196*3d8817e4Smiod {0,0,0,0,0,0}, 1197*3d8817e4Smiod {26,20,a2r,S,0,0}, /* ste.b.t */ 1198*3d8817e4Smiod {26,21,a2r,S,0,0}, /* ste.h.t */ 1199*3d8817e4Smiod {26,22,a2r,S,0,0}, /* ste.w.t */ 1200*3d8817e4Smiod {26,23,a2r,S,0,0}, /* ste.l.t */ 1201*3d8817e4Smiod {0,0,0,0,0,0}, 1202*3d8817e4Smiod {0,0,0,0,0,0}, 1203*3d8817e4Smiod {0,0,0,0,0,0}, 1204*3d8817e4Smiod {0,0,0,0,0,0}, 1205*3d8817e4Smiod {0,0,0,0,0,0}, 1206*3d8817e4Smiod {0,0,0,0,0,0}, 1207*3d8817e4Smiod {0,0,0,0,0,0}, 1208*3d8817e4Smiod {0,0,0,0,0,0}, 1209*3d8817e4Smiod {0,0,0,0,0,0}, 1210*3d8817e4Smiod {0,0,0,0,0,0}, 1211*3d8817e4Smiod {0,0,0,0,0,0}, 1212*3d8817e4Smiod {0,0,0,0,0,0}, 1213*3d8817e4Smiod {0,0,0,0,0,0}, 1214*3d8817e4Smiod {0,0,0,0,0,0}, 1215*3d8817e4Smiod {0,0,0,0,0,0}, 1216*3d8817e4Smiod {0,0,0,0,0,0}, 1217*3d8817e4Smiod {18,20,a1r,V,0,0}, /* ld.b.t */ 1218*3d8817e4Smiod {18,21,a1r,V,0,0}, /* ld.h.t */ 1219*3d8817e4Smiod {18,22,a1r,V,0,0}, /* ld.w.t */ 1220*3d8817e4Smiod {18,23,a1r,V,0,0}, /* ld.l.t */ 1221*3d8817e4Smiod {21,20,a2r,V,0,0}, /* st.b.t */ 1222*3d8817e4Smiod {21,21,a2r,V,0,0}, /* st.h.t */ 1223*3d8817e4Smiod {21,22,a2r,V,0,0}, /* st.w.t */ 1224*3d8817e4Smiod {21,23,a2r,V,0,0}, /* st.l.t */ 1225*3d8817e4Smiod }; 1226*3d8817e4Smiod 1227*3d8817e4Smiod const struct formstr e1_format2[] = { 1228*3d8817e4Smiod {0,0,0,0,0,0}, 1229*3d8817e4Smiod {0,0,0,0,0,0}, 1230*3d8817e4Smiod {0,0,0,0,0,0}, 1231*3d8817e4Smiod {0,0,0,0,0,0}, 1232*3d8817e4Smiod {28,20,rr,V,V,0}, /* cvtw.b.t */ 1233*3d8817e4Smiod {28,21,rr,V,V,0}, /* cvtw.h.t */ 1234*3d8817e4Smiod {29,22,rr,V,V,0}, /* cvtb.w.t */ 1235*3d8817e4Smiod {30,22,rr,V,V,0}, /* cvth.w.t */ 1236*3d8817e4Smiod {0,0,0,0,0,0}, 1237*3d8817e4Smiod {0,0,0,0,0,0}, 1238*3d8817e4Smiod {0,0,0,0,0,0}, 1239*3d8817e4Smiod {0,0,0,0,0,0}, 1240*3d8817e4Smiod {31,23,rr,V,V,0}, /* cvts.l.t */ 1241*3d8817e4Smiod {32,22,rr,V,V,0}, /* cvtd.w.t */ 1242*3d8817e4Smiod {33,18,rr,V,V,0}, /* cvtl.s.t */ 1243*3d8817e4Smiod {28,19,rr,V,V,0}, /* cvtw.d.t */ 1244*3d8817e4Smiod {0,0,0,0,0,0}, 1245*3d8817e4Smiod {0,0,0,0,0,0}, 1246*3d8817e4Smiod {0,0,0,0,0,0}, 1247*3d8817e4Smiod {0,0,0,0,0,0}, 1248*3d8817e4Smiod {0,0,0,0,0,0}, 1249*3d8817e4Smiod {0,0,0,0,0,0}, 1250*3d8817e4Smiod {0,0,0,0,0,0}, 1251*3d8817e4Smiod {0,0,0,0,0,0}, 1252*3d8817e4Smiod {0,0,0,0,0,0}, 1253*3d8817e4Smiod {0,0,0,0,0,0}, 1254*3d8817e4Smiod {0,0,0,0,0,0}, 1255*3d8817e4Smiod {0,0,0,0,0,0}, 1256*3d8817e4Smiod {0,0,0,0,0,0}, 1257*3d8817e4Smiod {0,0,0,0,0,0}, 1258*3d8817e4Smiod {0,0,0,0,0,0}, 1259*3d8817e4Smiod {0,0,0,0,0,0}, 1260*3d8817e4Smiod {0,0,0,0,0,0}, 1261*3d8817e4Smiod {0,0,0,0,0,0}, 1262*3d8817e4Smiod {0,0,0,0,0,0}, 1263*3d8817e4Smiod {0,0,0,0,0,0}, 1264*3d8817e4Smiod {0,0,0,0,0,0}, 1265*3d8817e4Smiod {0,0,0,0,0,0}, 1266*3d8817e4Smiod {0,0,0,0,0,0}, 1267*3d8817e4Smiod {0,0,0,0,0,0}, 1268*3d8817e4Smiod {0,0,0,0,0,0}, 1269*3d8817e4Smiod {0,0,0,0,0,0}, 1270*3d8817e4Smiod {0,0,0,0,0,0}, 1271*3d8817e4Smiod {0,0,0,0,0,0}, 1272*3d8817e4Smiod {0,0,0,0,0,0}, 1273*3d8817e4Smiod {0,0,0,0,0,0}, 1274*3d8817e4Smiod {0,0,0,0,0,0}, 1275*3d8817e4Smiod {0,0,0,0,0,0}, 1276*3d8817e4Smiod {0,0,0,0,0,0}, 1277*3d8817e4Smiod {0,0,0,0,0,0}, 1278*3d8817e4Smiod {0,0,0,0,0,0}, 1279*3d8817e4Smiod {0,0,0,0,0,0}, 1280*3d8817e4Smiod {0,0,0,0,0,0}, 1281*3d8817e4Smiod {0,0,0,0,0,0}, 1282*3d8817e4Smiod {0,0,0,0,0,0}, 1283*3d8817e4Smiod {0,0,0,0,0,0}, 1284*3d8817e4Smiod {0,0,0,0,0,0}, 1285*3d8817e4Smiod {0,0,0,0,0,0}, 1286*3d8817e4Smiod {0,0,0,0,0,0}, 1287*3d8817e4Smiod {0,0,0,0,0,0}, 1288*3d8817e4Smiod {0,0,0,0,0,0}, 1289*3d8817e4Smiod {0,0,0,0,0,0}, 1290*3d8817e4Smiod {0,0,0,0,0,0}, 1291*3d8817e4Smiod {0,0,0,0,0,0}, 1292*3d8817e4Smiod {0,0,0,0,0,0}, 1293*3d8817e4Smiod {0,0,0,0,0,0}, 1294*3d8817e4Smiod {0,0,0,0,0,0}, 1295*3d8817e4Smiod {0,0,0,0,0,0}, 1296*3d8817e4Smiod {0,0,0,0,0,0}, 1297*3d8817e4Smiod {0,0,0,0,0,0}, 1298*3d8817e4Smiod {0,0,0,0,0,0}, 1299*3d8817e4Smiod {0,0,0,0,0,0}, 1300*3d8817e4Smiod {0,0,0,0,0,0}, 1301*3d8817e4Smiod {0,0,0,0,0,0}, 1302*3d8817e4Smiod {0,0,0,0,0,0}, 1303*3d8817e4Smiod {0,0,0,0,0,0}, 1304*3d8817e4Smiod {0,0,0,0,0,0}, 1305*3d8817e4Smiod {0,0,0,0,0,0}, 1306*3d8817e4Smiod {0,0,0,0,0,0}, 1307*3d8817e4Smiod {0,0,0,0,0,0}, 1308*3d8817e4Smiod {0,0,0,0,0,0}, 1309*3d8817e4Smiod {0,0,0,0,0,0}, 1310*3d8817e4Smiod {0,0,0,0,0,0}, 1311*3d8817e4Smiod {0,0,0,0,0,0}, 1312*3d8817e4Smiod {0,0,0,0,0,0}, 1313*3d8817e4Smiod {0,0,0,0,0,0}, 1314*3d8817e4Smiod {0,0,0,0,0,0}, 1315*3d8817e4Smiod {0,0,0,0,0,0}, 1316*3d8817e4Smiod {0,0,0,0,0,0}, 1317*3d8817e4Smiod {0,0,0,0,0,0}, 1318*3d8817e4Smiod {0,0,0,0,0,0}, 1319*3d8817e4Smiod {0,0,0,0,0,0}, 1320*3d8817e4Smiod {0,0,0,0,0,0}, 1321*3d8817e4Smiod {0,0,0,0,0,0}, 1322*3d8817e4Smiod {0,0,0,0,0,0}, 1323*3d8817e4Smiod {0,0,0,0,0,0}, 1324*3d8817e4Smiod {0,0,0,0,0,0}, 1325*3d8817e4Smiod {0,0,0,0,0,0}, 1326*3d8817e4Smiod {0,0,0,0,0,0}, 1327*3d8817e4Smiod {0,0,0,0,0,0}, 1328*3d8817e4Smiod {0,0,0,0,0,0}, 1329*3d8817e4Smiod {0,0,0,0,0,0}, 1330*3d8817e4Smiod {116,18,rr,V,V,0}, /* frint.s.t */ 1331*3d8817e4Smiod {116,19,rr,V,V,0}, /* frint.d.t */ 1332*3d8817e4Smiod {0,0,0,0,0,0}, 1333*3d8817e4Smiod {0,0,0,0,0,0}, 1334*3d8817e4Smiod {0,0,0,0,0,0}, 1335*3d8817e4Smiod {0,0,0,0,0,0}, 1336*3d8817e4Smiod {0,0,0,0,0,0}, 1337*3d8817e4Smiod {0,0,0,0,0,0}, 1338*3d8817e4Smiod {0,0,0,0,0,0}, 1339*3d8817e4Smiod {0,0,0,0,0,0}, 1340*3d8817e4Smiod {0,0,0,0,0,0}, 1341*3d8817e4Smiod {0,0,0,0,0,0}, 1342*3d8817e4Smiod {0,0,0,0,0,0}, 1343*3d8817e4Smiod {0,0,0,0,0,0}, 1344*3d8817e4Smiod {0,0,0,0,0,0}, 1345*3d8817e4Smiod {0,0,0,0,0,0}, 1346*3d8817e4Smiod {0,0,0,0,0,0}, 1347*3d8817e4Smiod {0,0,0,0,0,0}, 1348*3d8817e4Smiod {0,0,0,0,0,0}, 1349*3d8817e4Smiod {0,0,0,0,0,0}, 1350*3d8817e4Smiod {0,0,0,0,0,0}, 1351*3d8817e4Smiod {0,0,0,0,0,0}, 1352*3d8817e4Smiod {81,18,rr,V,V,0}, /* sqrt.s.t */ 1353*3d8817e4Smiod {81,19,rr,V,V,0}, /* sqrt.d.t */ 1354*3d8817e4Smiod {0,0,0,0,0,0}, 1355*3d8817e4Smiod {0,0,0,0,0,0}, 1356*3d8817e4Smiod }; 1357*3d8817e4Smiod 1358*3d8817e4Smiod const struct formstr e1_format3[] = { 1359*3d8817e4Smiod {32,18,rr,V,V,0}, /* cvtd.s.t */ 1360*3d8817e4Smiod {31,19,rr,V,V,0}, /* cvts.d.t */ 1361*3d8817e4Smiod {33,19,rr,V,V,0}, /* cvtl.d.t */ 1362*3d8817e4Smiod {32,23,rr,V,V,0}, /* cvtd.l.t */ 1363*3d8817e4Smiod {0,0,0,0,0,0}, 1364*3d8817e4Smiod {0,0,0,0,0,0}, 1365*3d8817e4Smiod {0,0,0,0,0,0}, 1366*3d8817e4Smiod {0,0,0,0,0,0}, 1367*3d8817e4Smiod {36,1,rr,V,V,0}, /* tzc.t */ 1368*3d8817e4Smiod {44,1,rr,V,V,0}, /* lop.t */ 1369*3d8817e4Smiod {117,1,rr,V,V,0}, /* xpnd.t */ 1370*3d8817e4Smiod {42,1,rr,V,V,0}, /* not.t */ 1371*3d8817e4Smiod {8,1,rr,S,V,0}, /* shf.t */ 1372*3d8817e4Smiod {35,24,rr,V,V,0}, /* plc.t.t */ 1373*3d8817e4Smiod {0,0,0,0,0,0}, 1374*3d8817e4Smiod {0,0,0,0,0,0}, 1375*3d8817e4Smiod {37,18,rr,V,V,0}, /* eq.s.t */ 1376*3d8817e4Smiod {37,19,rr,V,V,0}, /* eq.d.t */ 1377*3d8817e4Smiod {43,18,rr,V,V,0}, /* neg.s.t */ 1378*3d8817e4Smiod {43,19,rr,V,V,0}, /* neg.d.t */ 1379*3d8817e4Smiod {37,18,rr,S,V,0}, /* eq.s.t */ 1380*3d8817e4Smiod {37,19,rr,S,V,0}, /* eq.d.t */ 1381*3d8817e4Smiod {0,0,0,0,0,0}, 1382*3d8817e4Smiod {0,0,0,0,0,0}, 1383*3d8817e4Smiod {40,18,rr,V,V,0}, /* le.s.t */ 1384*3d8817e4Smiod {40,19,rr,V,V,0}, /* le.d.t */ 1385*3d8817e4Smiod {41,18,rr,V,V,0}, /* lt.s.t */ 1386*3d8817e4Smiod {41,19,rr,V,V,0}, /* lt.d.t */ 1387*3d8817e4Smiod {40,18,rr,S,V,0}, /* le.s.t */ 1388*3d8817e4Smiod {40,19,rr,S,V,0}, /* le.d.t */ 1389*3d8817e4Smiod {41,18,rr,S,V,0}, /* lt.s.t */ 1390*3d8817e4Smiod {41,19,rr,S,V,0}, /* lt.d.t */ 1391*3d8817e4Smiod {37,20,rr,V,V,0}, /* eq.b.t */ 1392*3d8817e4Smiod {37,21,rr,V,V,0}, /* eq.h.t */ 1393*3d8817e4Smiod {37,22,rr,V,V,0}, /* eq.w.t */ 1394*3d8817e4Smiod {37,23,rr,V,V,0}, /* eq.l.t */ 1395*3d8817e4Smiod {37,20,rr,S,V,0}, /* eq.b.t */ 1396*3d8817e4Smiod {37,21,rr,S,V,0}, /* eq.h.t */ 1397*3d8817e4Smiod {37,22,rr,S,V,0}, /* eq.w.t */ 1398*3d8817e4Smiod {37,23,rr,S,V,0}, /* eq.l.t */ 1399*3d8817e4Smiod {40,20,rr,V,V,0}, /* le.b.t */ 1400*3d8817e4Smiod {40,21,rr,V,V,0}, /* le.h.t */ 1401*3d8817e4Smiod {40,22,rr,V,V,0}, /* le.w.t */ 1402*3d8817e4Smiod {40,23,rr,V,V,0}, /* le.l.t */ 1403*3d8817e4Smiod {40,20,rr,S,V,0}, /* le.b.t */ 1404*3d8817e4Smiod {40,21,rr,S,V,0}, /* le.h.t */ 1405*3d8817e4Smiod {40,22,rr,S,V,0}, /* le.w.t */ 1406*3d8817e4Smiod {40,23,rr,S,V,0}, /* le.l.t */ 1407*3d8817e4Smiod {41,20,rr,V,V,0}, /* lt.b.t */ 1408*3d8817e4Smiod {41,21,rr,V,V,0}, /* lt.h.t */ 1409*3d8817e4Smiod {41,22,rr,V,V,0}, /* lt.w.t */ 1410*3d8817e4Smiod {41,23,rr,V,V,0}, /* lt.l.t */ 1411*3d8817e4Smiod {41,20,rr,S,V,0}, /* lt.b.t */ 1412*3d8817e4Smiod {41,21,rr,S,V,0}, /* lt.h.t */ 1413*3d8817e4Smiod {41,22,rr,S,V,0}, /* lt.w.t */ 1414*3d8817e4Smiod {41,23,rr,S,V,0}, /* lt.l.t */ 1415*3d8817e4Smiod {43,20,rr,V,V,0}, /* neg.b.t */ 1416*3d8817e4Smiod {43,21,rr,V,V,0}, /* neg.h.t */ 1417*3d8817e4Smiod {43,22,rr,V,V,0}, /* neg.w.t */ 1418*3d8817e4Smiod {43,23,rr,V,V,0}, /* neg.l.t */ 1419*3d8817e4Smiod {0,0,0,0,0,0}, 1420*3d8817e4Smiod {0,0,0,0,0,0}, 1421*3d8817e4Smiod {0,0,0,0,0,0}, 1422*3d8817e4Smiod {0,0,0,0,0,0}, 1423*3d8817e4Smiod }; 1424*3d8817e4Smiod 1425*3d8817e4Smiod const struct formstr e1_format4[] = { 1426*3d8817e4Smiod {0,0,0,0,0,0}, 1427*3d8817e4Smiod {0,0,0,0,0,0}, 1428*3d8817e4Smiod {0,0,0,0,0,0}, 1429*3d8817e4Smiod {0,0,0,0,0,0}, 1430*3d8817e4Smiod {0,0,0,0,0,0}, 1431*3d8817e4Smiod {0,0,0,0,0,0}, 1432*3d8817e4Smiod {0,0,0,0,0,0}, 1433*3d8817e4Smiod {0,0,0,0,0,0}, 1434*3d8817e4Smiod }; 1435*3d8817e4Smiod 1436*3d8817e4Smiod const struct formstr e1_format5[] = { 1437*3d8817e4Smiod {51,20,rr,V,V,0}, /* ldvi.b.t */ 1438*3d8817e4Smiod {51,21,rr,V,V,0}, /* ldvi.h.t */ 1439*3d8817e4Smiod {51,22,rr,V,V,0}, /* ldvi.w.t */ 1440*3d8817e4Smiod {51,23,rr,V,V,0}, /* ldvi.l.t */ 1441*3d8817e4Smiod {28,18,rr,V,V,0}, /* cvtw.s.t */ 1442*3d8817e4Smiod {31,22,rr,V,V,0}, /* cvts.w.t */ 1443*3d8817e4Smiod {28,23,rr,V,V,0}, /* cvtw.l.t */ 1444*3d8817e4Smiod {33,22,rr,V,V,0}, /* cvtl.w.t */ 1445*3d8817e4Smiod {52,20,rxr,V,V,0}, /* stvi.b.t */ 1446*3d8817e4Smiod {52,21,rxr,V,V,0}, /* stvi.h.t */ 1447*3d8817e4Smiod {52,22,rxr,V,V,0}, /* stvi.w.t */ 1448*3d8817e4Smiod {52,23,rxr,V,V,0}, /* stvi.l.t */ 1449*3d8817e4Smiod {52,20,rxr,S,V,0}, /* stvi.b.t */ 1450*3d8817e4Smiod {52,21,rxr,S,V,0}, /* stvi.h.t */ 1451*3d8817e4Smiod {52,22,rxr,S,V,0}, /* stvi.w.t */ 1452*3d8817e4Smiod {52,23,rxr,S,V,0}, /* stvi.l.t */ 1453*3d8817e4Smiod }; 1454*3d8817e4Smiod 1455*3d8817e4Smiod const struct formstr e1_format6[] = { 1456*3d8817e4Smiod {0,0,0,0,0,0}, 1457*3d8817e4Smiod {0,0,0,0,0,0}, 1458*3d8817e4Smiod {0,0,0,0,0,0}, 1459*3d8817e4Smiod {0,0,0,0,0,0}, 1460*3d8817e4Smiod {0,0,0,0,0,0}, 1461*3d8817e4Smiod {0,0,0,0,0,0}, 1462*3d8817e4Smiod {0,0,0,0,0,0}, 1463*3d8817e4Smiod {0,0,0,0,0,0}, 1464*3d8817e4Smiod {0,0,0,0,0,0}, 1465*3d8817e4Smiod {0,0,0,0,0,0}, 1466*3d8817e4Smiod {0,0,0,0,0,0}, 1467*3d8817e4Smiod {0,0,0,0,0,0}, 1468*3d8817e4Smiod {0,0,0,0,0,0}, 1469*3d8817e4Smiod {0,0,0,0,0,0}, 1470*3d8817e4Smiod {0,0,0,0,0,0}, 1471*3d8817e4Smiod {0,0,0,0,0,0}, 1472*3d8817e4Smiod {0,0,0,0,0,0}, 1473*3d8817e4Smiod {0,0,0,0,0,0}, 1474*3d8817e4Smiod {0,0,0,0,0,0}, 1475*3d8817e4Smiod {0,0,0,0,0,0}, 1476*3d8817e4Smiod {0,0,0,0,0,0}, 1477*3d8817e4Smiod {0,0,0,0,0,0}, 1478*3d8817e4Smiod {0,0,0,0,0,0}, 1479*3d8817e4Smiod {0,0,0,0,0,0}, 1480*3d8817e4Smiod {0,0,0,0,0,0}, 1481*3d8817e4Smiod {0,0,0,0,0,0}, 1482*3d8817e4Smiod {0,0,0,0,0,0}, 1483*3d8817e4Smiod {0,0,0,0,0,0}, 1484*3d8817e4Smiod {0,0,0,0,0,0}, 1485*3d8817e4Smiod {0,0,0,0,0,0}, 1486*3d8817e4Smiod {0,0,0,0,0,0}, 1487*3d8817e4Smiod {0,0,0,0,0,0}, 1488*3d8817e4Smiod {0,0,0,0,0,0}, 1489*3d8817e4Smiod {0,0,0,0,0,0}, 1490*3d8817e4Smiod {0,0,0,0,0,0}, 1491*3d8817e4Smiod {0,0,0,0,0,0}, 1492*3d8817e4Smiod {0,0,0,0,0,0}, 1493*3d8817e4Smiod {0,0,0,0,0,0}, 1494*3d8817e4Smiod {0,0,0,0,0,0}, 1495*3d8817e4Smiod {0,0,0,0,0,0}, 1496*3d8817e4Smiod {0,0,0,0,0,0}, 1497*3d8817e4Smiod {0,0,0,0,0,0}, 1498*3d8817e4Smiod {0,0,0,0,0,0}, 1499*3d8817e4Smiod {0,0,0,0,0,0}, 1500*3d8817e4Smiod {0,0,0,0,0,0}, 1501*3d8817e4Smiod {0,0,0,0,0,0}, 1502*3d8817e4Smiod {0,0,0,0,0,0}, 1503*3d8817e4Smiod {0,0,0,0,0,0}, 1504*3d8817e4Smiod {0,0,0,0,0,0}, 1505*3d8817e4Smiod {0,0,0,0,0,0}, 1506*3d8817e4Smiod {0,0,0,0,0,0}, 1507*3d8817e4Smiod {0,0,0,0,0,0}, 1508*3d8817e4Smiod {0,0,0,0,0,0}, 1509*3d8817e4Smiod {0,0,0,0,0,0}, 1510*3d8817e4Smiod {0,0,0,0,0,0}, 1511*3d8817e4Smiod {0,0,0,0,0,0}, 1512*3d8817e4Smiod {0,0,0,0,0,0}, 1513*3d8817e4Smiod {0,0,0,0,0,0}, 1514*3d8817e4Smiod {0,0,0,0,0,0}, 1515*3d8817e4Smiod {0,0,0,0,0,0}, 1516*3d8817e4Smiod {0,0,0,0,0,0}, 1517*3d8817e4Smiod {0,0,0,0,0,0}, 1518*3d8817e4Smiod {0,0,0,0,0,0}, 1519*3d8817e4Smiod {0,0,0,0,0,0}, 1520*3d8817e4Smiod }; 1521*3d8817e4Smiod 1522*3d8817e4Smiod const struct formstr e1_format7[] = { 1523*3d8817e4Smiod {84,20,r,V,0,0}, /* sum.b.t */ 1524*3d8817e4Smiod {84,21,r,V,0,0}, /* sum.h.t */ 1525*3d8817e4Smiod {84,22,r,V,0,0}, /* sum.w.t */ 1526*3d8817e4Smiod {84,23,r,V,0,0}, /* sum.l.t */ 1527*3d8817e4Smiod {85,1,r,V,0,0}, /* all.t */ 1528*3d8817e4Smiod {86,1,r,V,0,0}, /* any.t */ 1529*3d8817e4Smiod {87,1,r,V,0,0}, /* parity.t */ 1530*3d8817e4Smiod {0,0,0,0,0,0}, 1531*3d8817e4Smiod {88,20,r,V,0,0}, /* max.b.t */ 1532*3d8817e4Smiod {88,21,r,V,0,0}, /* max.h.t */ 1533*3d8817e4Smiod {88,22,r,V,0,0}, /* max.w.t */ 1534*3d8817e4Smiod {88,23,r,V,0,0}, /* max.l.t */ 1535*3d8817e4Smiod {89,20,r,V,0,0}, /* min.b.t */ 1536*3d8817e4Smiod {89,21,r,V,0,0}, /* min.h.t */ 1537*3d8817e4Smiod {89,22,r,V,0,0}, /* min.w.t */ 1538*3d8817e4Smiod {89,23,r,V,0,0}, /* min.l.t */ 1539*3d8817e4Smiod {84,18,r,V,0,0}, /* sum.s.t */ 1540*3d8817e4Smiod {84,19,r,V,0,0}, /* sum.d.t */ 1541*3d8817e4Smiod {90,18,r,V,0,0}, /* prod.s.t */ 1542*3d8817e4Smiod {90,19,r,V,0,0}, /* prod.d.t */ 1543*3d8817e4Smiod {88,18,r,V,0,0}, /* max.s.t */ 1544*3d8817e4Smiod {88,19,r,V,0,0}, /* max.d.t */ 1545*3d8817e4Smiod {89,18,r,V,0,0}, /* min.s.t */ 1546*3d8817e4Smiod {89,19,r,V,0,0}, /* min.d.t */ 1547*3d8817e4Smiod {90,20,r,V,0,0}, /* prod.b.t */ 1548*3d8817e4Smiod {90,21,r,V,0,0}, /* prod.h.t */ 1549*3d8817e4Smiod {90,22,r,V,0,0}, /* prod.w.t */ 1550*3d8817e4Smiod {90,23,r,V,0,0}, /* prod.l.t */ 1551*3d8817e4Smiod {0,0,0,0,0,0}, 1552*3d8817e4Smiod {0,0,0,0,0,0}, 1553*3d8817e4Smiod {0,0,0,0,0,0}, 1554*3d8817e4Smiod {0,0,0,0,0,0}, 1555*3d8817e4Smiod }; 1556*3d8817e4Smiod 1557*3d8817e4Smiod char *lop[] = { 1558*3d8817e4Smiod "mov", /* 0 */ 1559*3d8817e4Smiod "merg", /* 1 */ 1560*3d8817e4Smiod "mask", /* 2 */ 1561*3d8817e4Smiod "mul", /* 3 */ 1562*3d8817e4Smiod "div", /* 4 */ 1563*3d8817e4Smiod "and", /* 5 */ 1564*3d8817e4Smiod "or", /* 6 */ 1565*3d8817e4Smiod "xor", /* 7 */ 1566*3d8817e4Smiod "shf", /* 8 */ 1567*3d8817e4Smiod "add", /* 9 */ 1568*3d8817e4Smiod "sub", /* 10 */ 1569*3d8817e4Smiod "exit", /* 11 */ 1570*3d8817e4Smiod "jmp", /* 12 */ 1571*3d8817e4Smiod "jmpi", /* 13 */ 1572*3d8817e4Smiod "jmpa", /* 14 */ 1573*3d8817e4Smiod "jmps", /* 15 */ 1574*3d8817e4Smiod "tac", /* 16 */ 1575*3d8817e4Smiod "ldea", /* 17 */ 1576*3d8817e4Smiod "ld", /* 18 */ 1577*3d8817e4Smiod "tas", /* 19 */ 1578*3d8817e4Smiod "pshea", /* 20 */ 1579*3d8817e4Smiod "st", /* 21 */ 1580*3d8817e4Smiod "call", /* 22 */ 1581*3d8817e4Smiod "calls", /* 23 */ 1582*3d8817e4Smiod "callq", /* 24 */ 1583*3d8817e4Smiod "pfork", /* 25 */ 1584*3d8817e4Smiod "ste", /* 26 */ 1585*3d8817e4Smiod "incr", /* 27 */ 1586*3d8817e4Smiod "cvtw", /* 28 */ 1587*3d8817e4Smiod "cvtb", /* 29 */ 1588*3d8817e4Smiod "cvth", /* 30 */ 1589*3d8817e4Smiod "cvts", /* 31 */ 1590*3d8817e4Smiod "cvtd", /* 32 */ 1591*3d8817e4Smiod "cvtl", /* 33 */ 1592*3d8817e4Smiod "ldpa", /* 34 */ 1593*3d8817e4Smiod "plc", /* 35 */ 1594*3d8817e4Smiod "tzc", /* 36 */ 1595*3d8817e4Smiod "eq", /* 37 */ 1596*3d8817e4Smiod "leu", /* 38 */ 1597*3d8817e4Smiod "ltu", /* 39 */ 1598*3d8817e4Smiod "le", /* 40 */ 1599*3d8817e4Smiod "lt", /* 41 */ 1600*3d8817e4Smiod "not", /* 42 */ 1601*3d8817e4Smiod "neg", /* 43 */ 1602*3d8817e4Smiod "lop", /* 44 */ 1603*3d8817e4Smiod "cprs", /* 45 */ 1604*3d8817e4Smiod "nop", /* 46 */ 1605*3d8817e4Smiod "br", /* 47 */ 1606*3d8817e4Smiod "bri", /* 48 */ 1607*3d8817e4Smiod "bra", /* 49 */ 1608*3d8817e4Smiod "brs", /* 50 */ 1609*3d8817e4Smiod "ldvi", /* 51 */ 1610*3d8817e4Smiod "stvi", /* 52 */ 1611*3d8817e4Smiod "ldsdr", /* 53 */ 1612*3d8817e4Smiod "ldkdr", /* 54 */ 1613*3d8817e4Smiod "ln", /* 55 */ 1614*3d8817e4Smiod "patu", /* 56 */ 1615*3d8817e4Smiod "pate", /* 57 */ 1616*3d8817e4Smiod "pich", /* 58 */ 1617*3d8817e4Smiod "plch", /* 59 */ 1618*3d8817e4Smiod "idle", /* 60 */ 1619*3d8817e4Smiod "rtnq", /* 61 */ 1620*3d8817e4Smiod "cfork", /* 62 */ 1621*3d8817e4Smiod "rtn", /* 63 */ 1622*3d8817e4Smiod "wfork", /* 64 */ 1623*3d8817e4Smiod "join", /* 65 */ 1624*3d8817e4Smiod "rtnc", /* 66 */ 1625*3d8817e4Smiod "exp", /* 67 */ 1626*3d8817e4Smiod "sin", /* 68 */ 1627*3d8817e4Smiod "cos", /* 69 */ 1628*3d8817e4Smiod "psh", /* 70 */ 1629*3d8817e4Smiod "pop", /* 71 */ 1630*3d8817e4Smiod "eni", /* 72 */ 1631*3d8817e4Smiod "dsi", /* 73 */ 1632*3d8817e4Smiod "bkpt", /* 74 */ 1633*3d8817e4Smiod "msync", /* 75 */ 1634*3d8817e4Smiod "mski", /* 76 */ 1635*3d8817e4Smiod "xmti", /* 77 */ 1636*3d8817e4Smiod "tstvv", /* 78 */ 1637*3d8817e4Smiod "diag", /* 79 */ 1638*3d8817e4Smiod "pbkpt", /* 80 */ 1639*3d8817e4Smiod "sqrt", /* 81 */ 1640*3d8817e4Smiod "casr", /* 82 */ 1641*3d8817e4Smiod "atan", /* 83 */ 1642*3d8817e4Smiod "sum", /* 84 */ 1643*3d8817e4Smiod "all", /* 85 */ 1644*3d8817e4Smiod "any", /* 86 */ 1645*3d8817e4Smiod "parity", /* 87 */ 1646*3d8817e4Smiod "max", /* 88 */ 1647*3d8817e4Smiod "min", /* 89 */ 1648*3d8817e4Smiod "prod", /* 90 */ 1649*3d8817e4Smiod "halt", /* 91 */ 1650*3d8817e4Smiod "sysc", /* 92 */ 1651*3d8817e4Smiod "trap", /* 93 */ 1652*3d8817e4Smiod "tst", /* 94 */ 1653*3d8817e4Smiod "lck", /* 95 */ 1654*3d8817e4Smiod "ulk", /* 96 */ 1655*3d8817e4Smiod "spawn", /* 97 */ 1656*3d8817e4Smiod "ldcmr", /* 98 */ 1657*3d8817e4Smiod "stcmr", /* 99 */ 1658*3d8817e4Smiod "popr", /* 100 */ 1659*3d8817e4Smiod "pshr", /* 101 */ 1660*3d8817e4Smiod "rcvr", /* 102 */ 1661*3d8817e4Smiod "matm", /* 103 */ 1662*3d8817e4Smiod "sndr", /* 104 */ 1663*3d8817e4Smiod "putr", /* 105 */ 1664*3d8817e4Smiod "getr", /* 106 */ 1665*3d8817e4Smiod "matr", /* 107 */ 1666*3d8817e4Smiod "mat", /* 108 */ 1667*3d8817e4Smiod "get", /* 109 */ 1668*3d8817e4Smiod "rcv", /* 110 */ 1669*3d8817e4Smiod "inc", /* 111 */ 1670*3d8817e4Smiod "put", /* 112 */ 1671*3d8817e4Smiod "snd", /* 113 */ 1672*3d8817e4Smiod "enal", /* 114 */ 1673*3d8817e4Smiod "enag", /* 115 */ 1674*3d8817e4Smiod "frint", /* 116 */ 1675*3d8817e4Smiod "xpnd", /* 117 */ 1676*3d8817e4Smiod "ctrsl", /* 118 */ 1677*3d8817e4Smiod "ctrsg", /* 119 */ 1678*3d8817e4Smiod "stop", /* 120 */ 1679*3d8817e4Smiod }; 1680*3d8817e4Smiod 1681*3d8817e4Smiod char *rop[] = { 1682*3d8817e4Smiod "", /* 0 */ 1683*3d8817e4Smiod ".t", /* 1 */ 1684*3d8817e4Smiod ".f", /* 2 */ 1685*3d8817e4Smiod ".s", /* 3 */ 1686*3d8817e4Smiod ".d", /* 4 */ 1687*3d8817e4Smiod ".b", /* 5 */ 1688*3d8817e4Smiod ".h", /* 6 */ 1689*3d8817e4Smiod ".w", /* 7 */ 1690*3d8817e4Smiod ".l", /* 8 */ 1691*3d8817e4Smiod ".x", /* 9 */ 1692*3d8817e4Smiod ".u", /* 10 */ 1693*3d8817e4Smiod ".s.f", /* 11 */ 1694*3d8817e4Smiod ".d.f", /* 12 */ 1695*3d8817e4Smiod ".b.f", /* 13 */ 1696*3d8817e4Smiod ".h.f", /* 14 */ 1697*3d8817e4Smiod ".w.f", /* 15 */ 1698*3d8817e4Smiod ".l.f", /* 16 */ 1699*3d8817e4Smiod ".t.f", /* 17 */ 1700*3d8817e4Smiod ".s.t", /* 18 */ 1701*3d8817e4Smiod ".d.t", /* 19 */ 1702*3d8817e4Smiod ".b.t", /* 20 */ 1703*3d8817e4Smiod ".h.t", /* 21 */ 1704*3d8817e4Smiod ".w.t", /* 22 */ 1705*3d8817e4Smiod ".l.t", /* 23 */ 1706*3d8817e4Smiod ".t.t", /* 24 */ 1707*3d8817e4Smiod }; 1708