00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "alphaopc.h"
00022
00023 char *alpha_reg_names[] = {
00024 "v0",
00025 "t0","t1","t2","t3","t4","t5","t6","t7",
00026 "s0","s1","s2","s3","s4","s5","s6/fp",
00027 "a0","a1","a2","a3","a4","a5",
00028 "t8","t9","t10","t11",
00029 "ra","t12/pv","at","gp","sp","zero",
00030 "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
00031 "f8", "f9", "f10","f11","f12","f13","f14","f15",
00032 "f16","f17","f18","f19","?", "?", "?", "?",
00033 "?", "?", "?", "?", "?", "?", "?", "fzero", "lit"
00034 };
00035
00036
00037 alpha_opcode_tab_entry alpha_instr_tbl[] =
00038 {
00039 {0x00,"call_pal", ALPHA_GROUP_PAL},
00040 {0x01,"opcode01", ALPHA_ERROR},
00041 {0x02,"opcode02", ALPHA_ERROR},
00042 {0x03,"opcode03", ALPHA_ERROR},
00043 {0x04,"opcode04", ALPHA_ERROR},
00044 {0x05,"opcode05", ALPHA_ERROR},
00045 {0x06,"opcode06", ALPHA_ERROR},
00046 {0x07,"opcode07", ALPHA_ERROR},
00047
00048 {0x08,"lda", ALPHA_GROUP3},
00049 {0x09,"ldah", ALPHA_GROUP3},
00050 {0x0a,"ldbu", ALPHA_GROUP3},
00051 {0x0b,"ldq_u", ALPHA_GROUP3},
00052 {0x0c,"ldwu", ALPHA_GROUP3},
00053 {0x0d,"stw", ALPHA_GROUP4},
00054 {0x0e,"stb", ALPHA_GROUP4},
00055 {0x0f,"stq_u", ALPHA_GROUP4},
00056
00057 {0x10,"opcode10", ALPHA_EXTENSION_10},
00058 {0x11,"opcode11", ALPHA_EXTENSION_11},
00059 {0x12,"opcode12", ALPHA_EXTENSION_12},
00060 {0x13,"opcode13", ALPHA_EXTENSION_13},
00061 {0x14,"opcode14", ALPHA_EXTENSION_14},
00062 {0x15,"opcode15", ALPHA_EXTENSION_15},
00063 {0x16,"opcode16", ALPHA_EXTENSION_16},
00064 {0x17,"opcode17", ALPHA_EXTENSION_17},
00065
00066 {0x18,"opcode18", ALPHA_EXTENSION_18},
00067 {0x19,"pal19", ALPHA_ERROR},
00068 {0x1a,"opcode1a", ALPHA_EXTENSION_1A},
00069 {0x1b,"pal1b", ALPHA_ERROR},
00070 {0x1c,"opcode1c", ALPHA_EXTENSION_1C},
00071 {0x1d,"pal1d", ALPHA_ERROR},
00072 {0x1e,"pal1e", ALPHA_ERROR},
00073 {0x1f,"pal1f", ALPHA_ERROR},
00074
00075 {0x20,"ldf", ALPHA_GROUP_FLD},
00076 {0x21,"ldg", ALPHA_GROUP_FLD},
00077 {0x22,"lds", ALPHA_GROUP_FLD},
00078 {0x23,"ldt", ALPHA_GROUP_FLD},
00079 {0x24,"stf", ALPHA_GROUP_FST},
00080 {0x25,"stg", ALPHA_GROUP_FST},
00081 {0x26,"sts", ALPHA_GROUP_FST},
00082 {0x27,"stt", ALPHA_GROUP_FST},
00083
00084 {0x28,"ldl", ALPHA_GROUP3},
00085 {0x29,"ldq", ALPHA_GROUP3},
00086 {0x2a,"ldl_l", ALPHA_GROUP3},
00087 {0x2b,"ldq_l", ALPHA_GROUP3},
00088 {0x2c,"stl", ALPHA_GROUP4},
00089 {0x2d,"stq", ALPHA_GROUP4},
00090 {0x2e,"stl_c", ALPHA_GROUP4},
00091 {0x2f,"stq_c", ALPHA_GROUP4},
00092
00093 {0x30,"br", ALPHA_GROUP_BRA},
00094 {0x31,"fbeq", ALPHA_GROUP_FBR},
00095 {0x32,"fblt", ALPHA_GROUP_FBR},
00096 {0x33,"fble", ALPHA_GROUP_FBR},
00097 {0x34,"bsr", ALPHA_GROUP_BRA},
00098 {0x35,"fbne", ALPHA_GROUP_FBR},
00099 {0x36,"fbge", ALPHA_GROUP_FBR},
00100 {0x37,"fbgt", ALPHA_GROUP_FBR},
00101
00102 {0x38,"blbc", ALPHA_GROUP_BRA},
00103 {0x39,"beq", ALPHA_GROUP_BRA},
00104 {0x3a,"blt", ALPHA_GROUP_BRA},
00105 {0x3b,"ble", ALPHA_GROUP_BRA},
00106 {0x3c,"blbs", ALPHA_GROUP_BRA},
00107 {0x3d,"bne", ALPHA_GROUP_BRA},
00108 {0x3e,"bge", ALPHA_GROUP_BRA},
00109 {0x3f,"bgt", ALPHA_GROUP_BRA}
00110 };
00111
00112
00113 alpha_opcode_tab_entry alpha_instr_tbl_ext10[] =
00114 {
00115 {0x00,"addl", ALPHA_GROUP1},
00116 {0x02,"s4addl", ALPHA_GROUP1},
00117 {0x09,"subl", ALPHA_GROUP1},
00118 {0x0b,"s4subl", ALPHA_GROUP1},
00119 {0x0f,"cmpbge", ALPHA_GROUP1},
00120 {0x12,"s8addl", ALPHA_GROUP1},
00121 {0x1b,"s8subl", ALPHA_GROUP1},
00122 {0x1d,"cmpult", ALPHA_GROUP1},
00123 {0x20,"addq", ALPHA_GROUP1},
00124 {0x22,"s4addq", ALPHA_GROUP1},
00125 {0x29,"subq", ALPHA_GROUP1},
00126 {0x2b,"s4subq", ALPHA_GROUP1},
00127 {0x2d,"cmpeq", ALPHA_GROUP1},
00128 {0x32,"s8addq", ALPHA_GROUP1},
00129 {0x3b,"s8subq", ALPHA_GROUP1},
00130 {0x3d,"cmpule", ALPHA_GROUP1},
00131 {0x40,"addl/v", ALPHA_GROUP1},
00132 {0x49,"subl/v", ALPHA_GROUP1},
00133 {0x4d,"cmplt", ALPHA_GROUP1},
00134 {0x60,"addq/v", ALPHA_GROUP1},
00135 {0x69,"subq/v", ALPHA_GROUP1},
00136 {0x6d,"cmple", ALPHA_GROUP1},
00137 {0xff,"", ALPHA_ERROR}
00138 };
00139
00140
00141 alpha_opcode_tab_entry alpha_instr_tbl_ext11[] =
00142 {
00143 {0x00,"and", ALPHA_GROUP1},
00144 {0x08,"bic", ALPHA_GROUP1},
00145 {0x14,"cmovlbs", ALPHA_GROUP1},
00146 {0x16,"cmovlbc", ALPHA_GROUP1},
00147 {0x20,"bis", ALPHA_GROUP1},
00148 {0x24,"cmoveq", ALPHA_GROUP1},
00149 {0x26,"cmovne", ALPHA_GROUP1},
00150 {0x28,"ornot", ALPHA_GROUP1},
00151 {0x40,"xor", ALPHA_GROUP1},
00152 {0x44,"cmovlt", ALPHA_GROUP1},
00153 {0x46,"cmovge", ALPHA_GROUP1},
00154 {0x48,"eqv", ALPHA_GROUP1},
00155 {0x61,"amask", ALPHA_GROUP3},
00156 {0x64,"cmovle", ALPHA_GROUP1},
00157 {0x66,"cmovgt", ALPHA_GROUP1},
00158 {0x6c,"implver", ALPHA_GROUP3},
00159 {0xff,"", ALPHA_ERROR}
00160 };
00161
00162
00163 alpha_opcode_tab_entry alpha_instr_tbl_ext12[] =
00164 {
00165 {0x00,"", ALPHA_ERROR},
00166 {0x02,"mskbl", ALPHA_GROUP1},
00167 {0x06,"extbl", ALPHA_GROUP1},
00168 {0x0b,"insbl", ALPHA_GROUP1},
00169 {0x12,"mskwl", ALPHA_GROUP1},
00170 {0x16,"extwl", ALPHA_GROUP1},
00171 {0x1b,"inswl", ALPHA_GROUP1},
00172 {0x22,"mskll", ALPHA_GROUP1},
00173 {0x26,"extll", ALPHA_GROUP1},
00174 {0x2b,"insll", ALPHA_GROUP1},
00175 {0x30,"zap", ALPHA_GROUP1},
00176 {0x31,"zapnot", ALPHA_GROUP1},
00177 {0x32,"mskql", ALPHA_GROUP1},
00178 {0x34,"srl", ALPHA_GROUP1},
00179 {0x36,"extql", ALPHA_GROUP1},
00180 {0x39,"sll", ALPHA_GROUP1},
00181 {0x3b,"insql", ALPHA_GROUP1},
00182 {0x3c,"sra", ALPHA_GROUP1},
00183 {0x52,"mskwh", ALPHA_GROUP1},
00184 {0x57,"inswh", ALPHA_GROUP1},
00185 {0x5a,"extwh", ALPHA_GROUP1},
00186 {0x62,"msklh", ALPHA_GROUP1},
00187 {0x67,"inslh", ALPHA_GROUP1},
00188 {0x6a,"extlh", ALPHA_GROUP1},
00189 {0x72,"mskqh", ALPHA_GROUP1},
00190 {0x77,"insqh", ALPHA_GROUP1},
00191 {0x7a,"extqh", ALPHA_GROUP1},
00192 {0xff,"", ALPHA_ERROR}
00193 };
00194
00195
00196 alpha_opcode_tab_entry alpha_instr_tbl_ext13[] =
00197 {
00198 {0x00,"mull", ALPHA_GROUP1},
00199 {0x20,"mulq", ALPHA_GROUP1},
00200 {0x30,"umulh", ALPHA_GROUP1},
00201 {0x40,"mull/v", ALPHA_GROUP1},
00202 {0x60,"mulq/v", ALPHA_GROUP1},
00203 {0xff,"", ALPHA_ERROR}
00204 };
00205
00206
00207 alpha_opcode_tab_entry alpha_instr_tbl_ext14[] =
00208 {
00209 {0x000,"", ALPHA_ERROR},
00210 {0x004,"itofs", ALPHA_GROUP_I2F},
00211 {0x00a,"sqrtf/c", ALPHA_ERROR},
00212 {0x00b,"sqrts/c", ALPHA_ERROR},
00213 {0x014,"itoff", ALPHA_GROUP_I2F},
00214 {0x024,"itoft", ALPHA_GROUP_I2F},
00215 {0x02a,"sqrtg/c", ALPHA_ERROR},
00216 {0x02b,"sqrtt/c", ALPHA_ERROR},
00217 {0x04b,"sqrts/m", ALPHA_ERROR},
00218 {0x06b,"sqrtt/m", ALPHA_ERROR},
00219 {0x08a,"sqrtf", ALPHA_ERROR},
00220 {0x08b,"sqrts", ALPHA_ERROR},
00221 {0x0aa,"sqrtg", ALPHA_ERROR},
00222 {0x0ab,"sqrtt", ALPHA_ERROR},
00223 {0x0cb,"sqrts/d", ALPHA_ERROR},
00224 {0x0eb,"sqrtt/d", ALPHA_ERROR},
00225 {0x10a,"sqrtf/uc", ALPHA_ERROR},
00226 {0x10b,"sqrts/uc", ALPHA_ERROR},
00227 {0x12a,"sqrtg/uc", ALPHA_ERROR},
00228 {0x12b,"sqrtt/uc", ALPHA_ERROR},
00229 {0x14b,"sqrts/um", ALPHA_ERROR},
00230 {0x16b,"sqrtt/um", ALPHA_ERROR},
00231 {0x18a,"sqrtf/u", ALPHA_ERROR},
00232 {0x18b,"sqrts/u", ALPHA_ERROR},
00233 {0x1aa,"sqrtg/u", ALPHA_ERROR},
00234 {0x1ab,"sqrtt/u", ALPHA_ERROR},
00235 {0x1cb,"sqrts/ud", ALPHA_ERROR},
00236 {0x1eb,"sqrtt/ud", ALPHA_ERROR},
00237 {0x40a,"sqrtf/sc", ALPHA_ERROR},
00238 {0x42a,"sqrtg/sc", ALPHA_ERROR},
00239 {0x48a,"sqrtf/s", ALPHA_ERROR},
00240 {0x4aa,"sqrtg/s", ALPHA_ERROR},
00241 {0x50a,"sqrtf/suc", ALPHA_ERROR},
00242 {0x50b,"sqrts/suc", ALPHA_ERROR},
00243 {0x52a,"sqrtg/suc", ALPHA_ERROR},
00244 {0x52b,"sqrtt/suc", ALPHA_ERROR},
00245 {0x54b,"sqrts/sum", ALPHA_ERROR},
00246 {0x56b,"sqrtt/sum", ALPHA_ERROR},
00247 {0x58a,"sqrtf/su", ALPHA_ERROR},
00248 {0x58b,"sqrts/su", ALPHA_ERROR},
00249 {0x5aa,"sqrtg/su", ALPHA_ERROR},
00250 {0x5ab,"sqrtt/su", ALPHA_ERROR},
00251 {0x5cb,"sqrts/sud", ALPHA_ERROR},
00252 {0x5eb,"sqrtt/sud", ALPHA_ERROR},
00253 {0x70b,"sqrts/suic",ALPHA_ERROR},
00254 {0x72b,"sqrtt/suic",ALPHA_ERROR},
00255 {0x74b,"sqrts/suim",ALPHA_ERROR},
00256 {0x76b,"sqrtt/suim",ALPHA_ERROR},
00257 {0x78b,"sqrts/sui", ALPHA_ERROR},
00258 {0x7ab,"sqrtt/sui", ALPHA_ERROR},
00259 {0x7cb,"sqrts/suid",ALPHA_ERROR},
00260 {0x7eb,"sqrtt/suid",ALPHA_ERROR},
00261 {0xfff,"", ALPHA_ERROR}
00262 };
00263
00264
00265 alpha_opcode_tab_entry alpha_instr_tbl_ext15[] =
00266 {
00267 {0x000,"addf/c", ALPHA_GROUP2},
00268 {0x001,"subf/c", ALPHA_GROUP2},
00269 {0x002,"mulf/c", ALPHA_GROUP2},
00270 {0x003,"divf/c", ALPHA_GROUP2},
00271 {0x01e,"cvtdg/c", ALPHA_GROUP2},
00272 {0x020,"addg/c", ALPHA_GROUP2},
00273 {0x021,"subg/c", ALPHA_GROUP2},
00274 {0x022,"mulg/c", ALPHA_GROUP2},
00275 {0x023,"divg/c", ALPHA_GROUP2},
00276 {0x02c,"cvtgf/c", ALPHA_GROUP2},
00277 {0x02d,"cvtgd/c", ALPHA_GROUP2},
00278 {0x02f,"cvtgq/c", ALPHA_GROUP2},
00279 {0x03c,"cvtqf/c", ALPHA_GROUP2},
00280 {0x03e,"cvtqg/c", ALPHA_GROUP2},
00281 {0x080,"addf", ALPHA_GROUP2},
00282 {0x081,"subf", ALPHA_GROUP2},
00283 {0x082,"mulf", ALPHA_GROUP2},
00284 {0x083,"divf", ALPHA_GROUP2},
00285 {0x09e,"cvtdg", ALPHA_GROUP2},
00286 {0x0a0,"addg", ALPHA_GROUP2},
00287 {0x0a1,"subg", ALPHA_GROUP2},
00288 {0x0a2,"mulg", ALPHA_GROUP2},
00289 {0x0a3,"divg", ALPHA_GROUP2},
00290 {0x0a5,"cmpgeq", ALPHA_GROUP2},
00291 {0x0a6,"cmpglt", ALPHA_GROUP2},
00292 {0x0a7,"cmpgle", ALPHA_GROUP2},
00293 {0x0ac,"cvtgf", ALPHA_GROUP2},
00294 {0x0ad,"cvtgd", ALPHA_GROUP2},
00295 {0x0af,"cvtgq", ALPHA_GROUP2},
00296 {0x0bc,"cvtqf", ALPHA_GROUP2},
00297 {0x0be,"cvtqg", ALPHA_GROUP2},
00298 {0x100,"addf/uc", ALPHA_GROUP2},
00299 {0x101,"subf/uc", ALPHA_GROUP2},
00300 {0x102,"mulf/uc", ALPHA_GROUP2},
00301 {0x103,"divf/uc", ALPHA_GROUP2},
00302 {0x11e,"cvtdg/uc", ALPHA_GROUP2},
00303 {0x120,"addg/uc", ALPHA_GROUP2},
00304 {0x121,"subg/uc", ALPHA_GROUP2},
00305 {0x122,"mulg/uc", ALPHA_GROUP2},
00306 {0x123,"divg/uc", ALPHA_GROUP2},
00307 {0x12c,"cvtgf/uc", ALPHA_GROUP2},
00308 {0x12d,"cvtgd/uc", ALPHA_GROUP2},
00309 {0x12f,"cvtgq/vc", ALPHA_GROUP2},
00310 {0x180,"addf/u", ALPHA_GROUP2},
00311 {0x181,"subf/u", ALPHA_GROUP2},
00312 {0x182,"mulf/u", ALPHA_GROUP2},
00313 {0x183,"divf/u", ALPHA_GROUP2},
00314 {0x19e,"cvtdg/u", ALPHA_GROUP2},
00315 {0x1a0,"addg/u", ALPHA_GROUP2},
00316 {0x1a1,"subg/u", ALPHA_GROUP2},
00317 {0x1a2,"mulg/u", ALPHA_GROUP2},
00318 {0x1a3,"divg/u", ALPHA_GROUP2},
00319 {0x1ac,"cvtgf/u", ALPHA_GROUP2},
00320 {0x1ad,"cvtgd/u", ALPHA_GROUP2},
00321 {0x1af,"cvtgq/v", ALPHA_GROUP2},
00322 {0x400,"addf/sc", ALPHA_GROUP2},
00323 {0x401,"subf/sc", ALPHA_GROUP2},
00324 {0x402,"mulf/sc", ALPHA_GROUP2},
00325 {0x403,"divf/sc", ALPHA_GROUP2},
00326 {0x41e,"cvtdg/sc", ALPHA_GROUP2},
00327 {0x420,"addg/sc", ALPHA_GROUP2},
00328 {0x421,"subg/sc", ALPHA_GROUP2},
00329 {0x422,"mulg/sc", ALPHA_GROUP2},
00330 {0x423,"divg/sc", ALPHA_GROUP2},
00331 {0x42c,"cvtgf/sc", ALPHA_GROUP2},
00332 {0x42d,"cvtgd/sc", ALPHA_GROUP2},
00333 {0x42f,"cvtgq/sc", ALPHA_GROUP2},
00334 {0x480,"addf/s", ALPHA_GROUP2},
00335 {0x481,"subf/s", ALPHA_GROUP2},
00336 {0x482,"mulf/s", ALPHA_GROUP2},
00337 {0x483,"divf/s", ALPHA_GROUP2},
00338 {0x49e,"cvtdg/s", ALPHA_GROUP2},
00339 {0x4a0,"addg/s", ALPHA_GROUP2},
00340 {0x4a1,"subg/s", ALPHA_GROUP2},
00341 {0x4a2,"mulg/s", ALPHA_GROUP2},
00342 {0x4a3,"divg/s", ALPHA_GROUP2},
00343 {0x4a5,"cmpgeq/s", ALPHA_GROUP2},
00344 {0x4a6,"cmpglt/s", ALPHA_GROUP2},
00345 {0x4a7,"cmpgle/s", ALPHA_GROUP2},
00346 {0x4ac,"cvtgf/s", ALPHA_GROUP2},
00347 {0x4ad,"cvtgd/s", ALPHA_GROUP2},
00348 {0x4af,"cvtgq/s", ALPHA_GROUP2},
00349 {0x500,"addf/suc", ALPHA_GROUP2},
00350 {0x501,"subf/suc", ALPHA_GROUP2},
00351 {0x502,"mulf/suc", ALPHA_GROUP2},
00352 {0x503,"divf/suc", ALPHA_GROUP2},
00353 {0x51e,"cvtdg/suc", ALPHA_GROUP2},
00354 {0x520,"addg/suc", ALPHA_GROUP2},
00355 {0x521,"subg/suc", ALPHA_GROUP2},
00356 {0x522,"mulg/suc", ALPHA_GROUP2},
00357 {0x523,"divg/suc", ALPHA_GROUP2},
00358 {0x52c,"cvtgf/suc", ALPHA_GROUP2},
00359 {0x52d,"cvtgd/suc", ALPHA_GROUP2},
00360 {0x52f,"cvtgq/svc", ALPHA_GROUP2},
00361 {0x580,"addf/su", ALPHA_GROUP2},
00362 {0x581,"subf/su", ALPHA_GROUP2},
00363 {0x582,"mulf/su", ALPHA_GROUP2},
00364 {0x583,"divf/su", ALPHA_GROUP2},
00365 {0x59e,"cvtdg/su", ALPHA_GROUP2},
00366 {0x5a0,"addg/su", ALPHA_GROUP2},
00367 {0x5a1,"subg/su", ALPHA_GROUP2},
00368 {0x5a2,"mulg/su", ALPHA_GROUP2},
00369 {0x5a3,"divg/su", ALPHA_GROUP2},
00370 {0x5ac,"cvtgf/su", ALPHA_GROUP2},
00371 {0x5ad,"cvtgd/su", ALPHA_GROUP2},
00372 {0x5af,"cvtgq/sv", ALPHA_GROUP2},
00373 {0xfff,"", ALPHA_ERROR}
00374 };
00375
00376
00377 alpha_opcode_tab_entry alpha_instr_tbl_ext16[] =
00378 {
00379 {0x000,"adds/c", ALPHA_GROUP2},
00380 {0x001,"subs/c", ALPHA_GROUP2},
00381 {0x002,"muls/c", ALPHA_GROUP2},
00382 {0x003,"divs/c", ALPHA_GROUP2},
00383 {0x020,"addt/c", ALPHA_GROUP2},
00384 {0x021,"subt/c", ALPHA_GROUP2},
00385 {0x022,"mult/c", ALPHA_GROUP2},
00386 {0x023,"divt/c", ALPHA_GROUP2},
00387 {0x02c,"cvtts/c", ALPHA_GROUP2},
00388 {0x02f,"cvttq/c", ALPHA_GROUP2},
00389 {0x03c,"cvtqs/c", ALPHA_GROUP2},
00390 {0x03e,"cvtqt/c", ALPHA_GROUP2},
00391 {0x040,"adds/m", ALPHA_GROUP2},
00392 {0x041,"subs/m", ALPHA_GROUP2},
00393 {0x042,"muls/m", ALPHA_GROUP2},
00394 {0x043,"divs/m", ALPHA_GROUP2},
00395 {0x060,"addt/m", ALPHA_GROUP2},
00396 {0x061,"subt/m", ALPHA_GROUP2},
00397 {0x062,"mult/m", ALPHA_GROUP2},
00398 {0x063,"divt/m", ALPHA_GROUP2},
00399 {0x06c,"cvtts/m", ALPHA_GROUP2},
00400 {0x06f,"cvttq/m", ALPHA_GROUP2},
00401 {0x07c,"cvtqs/m", ALPHA_GROUP2},
00402 {0x07e,"cvtqt/m", ALPHA_GROUP2},
00403 {0x080,"adds", ALPHA_GROUP2},
00404 {0x081,"subs", ALPHA_GROUP2},
00405 {0x082,"muls", ALPHA_GROUP2},
00406 {0x083,"divs", ALPHA_GROUP2},
00407 {0x0a0,"addt", ALPHA_GROUP2},
00408 {0x0a1,"subt", ALPHA_GROUP2},
00409 {0x0a2,"mult", ALPHA_GROUP2},
00410 {0x0a3,"divt", ALPHA_GROUP2},
00411 {0x0a4,"cmptun", ALPHA_GROUP2},
00412 {0x0a5,"cmpteq", ALPHA_GROUP2},
00413 {0x0a6,"cmptlt", ALPHA_GROUP2},
00414 {0x0a7,"cmptle", ALPHA_GROUP2},
00415 {0x0ac,"cvtts", ALPHA_GROUP2},
00416 {0x0af,"cvttq", ALPHA_GROUP2},
00417 {0x0bc,"cvtqs", ALPHA_GROUP2},
00418 {0x0be,"cvtqt", ALPHA_GROUP2},
00419 {0x0c0,"adds/d", ALPHA_GROUP2},
00420 {0x0c1,"subs/d", ALPHA_GROUP2},
00421 {0x0c2,"muls/d", ALPHA_GROUP2},
00422 {0x0c3,"divs/d", ALPHA_GROUP2},
00423 {0x0e0,"addt/d", ALPHA_GROUP2},
00424 {0x0e1,"subt/d", ALPHA_GROUP2},
00425 {0x0e2,"mult/d", ALPHA_GROUP2},
00426 {0x0e3,"divt/d", ALPHA_GROUP2},
00427 {0x0ec,"cvtts/d", ALPHA_GROUP2},
00428 {0x0ef,"cvttq/d", ALPHA_GROUP2},
00429 {0x0fc,"cvtqs/d", ALPHA_GROUP2},
00430 {0x0fe,"cvtqt/d", ALPHA_GROUP2},
00431 {0x100,"adds/uc", ALPHA_GROUP2},
00432 {0x101,"subs/uc", ALPHA_GROUP2},
00433 {0x102,"muls/uc", ALPHA_GROUP2},
00434 {0x103,"divs/uc", ALPHA_GROUP2},
00435 {0x120,"addt/uc", ALPHA_GROUP2},
00436 {0x121,"subt/uc", ALPHA_GROUP2},
00437 {0x122,"mult/uc", ALPHA_GROUP2},
00438 {0x123,"divt/uc", ALPHA_GROUP2},
00439 {0x12c,"cvtts/uc", ALPHA_GROUP2},
00440 {0x12f,"cvttq/vc", ALPHA_GROUP2},
00441 {0x140,"adds/um", ALPHA_GROUP2},
00442 {0x141,"subs/um", ALPHA_GROUP2},
00443 {0x142,"muls/um", ALPHA_GROUP2},
00444 {0x143,"divs/um", ALPHA_GROUP2},
00445 {0x160,"addt/um", ALPHA_GROUP2},
00446 {0x161,"subt/um", ALPHA_GROUP2},
00447 {0x162,"mult/um", ALPHA_GROUP2},
00448 {0x163,"divt/um", ALPHA_GROUP2},
00449 {0x16c,"cvtts/um", ALPHA_GROUP2},
00450 {0x16f,"cvttq/vm", ALPHA_GROUP2},
00451 {0x180,"adds/u", ALPHA_GROUP2},
00452 {0x181,"subs/u", ALPHA_GROUP2},
00453 {0x182,"muls/u", ALPHA_GROUP2},
00454 {0x183,"divs/u", ALPHA_GROUP2},
00455 {0x1a0,"addt/u", ALPHA_GROUP2},
00456 {0x1a1,"subt/u", ALPHA_GROUP2},
00457 {0x1a2,"mult/u", ALPHA_GROUP2},
00458 {0x1a3,"divt/u", ALPHA_GROUP2},
00459 {0x1ac,"cvtts/u", ALPHA_GROUP2},
00460 {0x1af,"cvttq/v", ALPHA_GROUP2},
00461 {0x1c0,"adds/ud", ALPHA_GROUP2},
00462 {0x1c1,"subs/ud", ALPHA_GROUP2},
00463 {0x1c2,"muls/ud", ALPHA_GROUP2},
00464 {0x1c3,"divs/ud", ALPHA_GROUP2},
00465 {0x1e0,"addt/ud", ALPHA_GROUP2},
00466 {0x1e1,"subt/ud", ALPHA_GROUP2},
00467 {0x1e2,"mult/ud", ALPHA_GROUP2},
00468 {0x1e3,"divt/ud", ALPHA_GROUP2},
00469 {0x1ec,"cvtts/ud", ALPHA_GROUP2},
00470 {0x1ef,"cvttq/vd", ALPHA_GROUP2},
00471 {0x2ac,"cvtst", ALPHA_GROUP2},
00472 {0x500,"adds/suc", ALPHA_GROUP2},
00473 {0x501,"subs/suc", ALPHA_GROUP2},
00474 {0x502,"muls/suc", ALPHA_GROUP2},
00475 {0x503,"divs/suc", ALPHA_GROUP2},
00476 {0x520,"addt/suc", ALPHA_GROUP2},
00477 {0x521,"subt/suc", ALPHA_GROUP2},
00478 {0x522,"mult/suc", ALPHA_GROUP2},
00479 {0x523,"divt/suc", ALPHA_GROUP2},
00480 {0x52c,"cvtts/suc", ALPHA_GROUP2},
00481 {0x52f,"cvttq/svc", ALPHA_GROUP2},
00482 {0x540,"adds/sum", ALPHA_GROUP2},
00483 {0x541,"subs/sum", ALPHA_GROUP2},
00484 {0x542,"muls/sum", ALPHA_GROUP2},
00485 {0x543,"divs/sum", ALPHA_GROUP2},
00486 {0x560,"addt/sum", ALPHA_GROUP2},
00487 {0x561,"subt/sum", ALPHA_GROUP2},
00488 {0x562,"mult/sum", ALPHA_GROUP2},
00489 {0x563,"divt/sum", ALPHA_GROUP2},
00490 {0x56c,"cvtts/sum", ALPHA_GROUP2},
00491 {0x56f,"cvttq/svm", ALPHA_GROUP2},
00492 {0x580,"adds/su", ALPHA_GROUP2},
00493 {0x581,"subs/su", ALPHA_GROUP2},
00494 {0x582,"muls/su", ALPHA_GROUP2},
00495 {0x583,"divs/su", ALPHA_GROUP2},
00496 {0x5a0,"addt/su", ALPHA_GROUP2},
00497 {0x5a1,"subt/su", ALPHA_GROUP2},
00498 {0x5a2,"mult/su", ALPHA_GROUP2},
00499 {0x5a3,"divt/su", ALPHA_GROUP2},
00500 {0x5a4,"cmptun/su", ALPHA_GROUP2},
00501 {0x5a5,"cmpteq/su", ALPHA_GROUP2},
00502 {0x5a6,"cmptlt/su", ALPHA_GROUP2},
00503 {0x5a7,"cmptle/su", ALPHA_GROUP2},
00504 {0x5ac,"cvtts/su", ALPHA_GROUP2},
00505 {0x5af,"cvttq/sv", ALPHA_GROUP2},
00506 {0x5c0,"adds/sud", ALPHA_GROUP2},
00507 {0x5c1,"subs/sud", ALPHA_GROUP2},
00508 {0x5c2,"muls/sud", ALPHA_GROUP2},
00509 {0x5c3,"divs/sud", ALPHA_GROUP2},
00510 {0x5e0,"addt/sud", ALPHA_GROUP2},
00511 {0x5e1,"subt/sud", ALPHA_GROUP2},
00512 {0x5e2,"mult/sud", ALPHA_GROUP2},
00513 {0x5e3,"divt/sud", ALPHA_GROUP2},
00514 {0x5ec,"cvtts/sud", ALPHA_GROUP2},
00515 {0x5ef,"cvttq/svd", ALPHA_GROUP2},
00516 {0x6ac,"cvtst/s", ALPHA_GROUP2},
00517 {0x700,"adds/suic", ALPHA_GROUP2},
00518 {0x701,"subs/suic", ALPHA_GROUP2},
00519 {0x702,"muls/suic", ALPHA_GROUP2},
00520 {0x703,"divs/suic", ALPHA_GROUP2},
00521 {0x720,"addt/suic", ALPHA_GROUP2},
00522 {0x721,"subt/suic", ALPHA_GROUP2},
00523 {0x722,"mult/suic", ALPHA_GROUP2},
00524 {0x723,"divt/suic", ALPHA_GROUP2},
00525 {0x72c,"cvtts/suic",ALPHA_GROUP2},
00526 {0x72f,"cvttq/svic",ALPHA_GROUP2},
00527 {0x73c,"cvtqs/suic",ALPHA_GROUP2},
00528 {0x73e,"cvtqt/suic",ALPHA_GROUP2},
00529 {0x740,"adds/suim", ALPHA_GROUP2},
00530 {0x741,"subs/suim", ALPHA_GROUP2},
00531 {0x742,"muls/suim", ALPHA_GROUP2},
00532 {0x743,"divs/suim", ALPHA_GROUP2},
00533 {0x760,"addt/suim", ALPHA_GROUP2},
00534 {0x761,"subt/suim", ALPHA_GROUP2},
00535 {0x762,"mult/suim", ALPHA_GROUP2},
00536 {0x763,"divt/suim", ALPHA_GROUP2},
00537 {0x76c,"cvtts/suim",ALPHA_GROUP2},
00538 {0x76f,"cvttq/svim",ALPHA_GROUP2},
00539 {0x77c,"cvtqs/suim",ALPHA_GROUP2},
00540 {0x77e,"cvtqt/suim",ALPHA_GROUP2},
00541 {0x780,"adds/sui", ALPHA_GROUP2},
00542 {0x781,"subs/sui", ALPHA_GROUP2},
00543 {0x782,"muls/sui", ALPHA_GROUP2},
00544 {0x783,"divs/sui", ALPHA_GROUP2},
00545 {0x7a0,"addt/sui", ALPHA_GROUP2},
00546 {0x7a1,"subt/sui", ALPHA_GROUP2},
00547 {0x7a2,"mult/sui", ALPHA_GROUP2},
00548 {0x7a3,"divt/sui", ALPHA_GROUP2},
00549 {0x7ac,"cvtts/sui", ALPHA_GROUP2},
00550 {0x7af,"cvttq/svi", ALPHA_GROUP2},
00551 {0x7bc,"cvtqs/sui", ALPHA_GROUP2},
00552 {0x7be,"cvtqt/sui", ALPHA_GROUP2},
00553 {0x7c0,"adds/suid", ALPHA_GROUP2},
00554 {0x7c1,"subs/suid", ALPHA_GROUP2},
00555 {0x7c2,"muls/suid", ALPHA_GROUP2},
00556 {0x7c3,"divs/suid", ALPHA_GROUP2},
00557 {0x7e0,"addt/suid", ALPHA_GROUP2},
00558 {0x7e1,"subt/suid", ALPHA_GROUP2},
00559 {0x7e2,"mult/suid", ALPHA_GROUP2},
00560 {0x7e3,"divt/suid", ALPHA_GROUP2},
00561 {0x7ec,"cvtts/suid",ALPHA_GROUP2},
00562 {0x7ef,"cvttq/svid",ALPHA_GROUP2},
00563 {0x7fc,"cvtqs/suid",ALPHA_GROUP2},
00564 {0x7fe,"cvtqt/suid",ALPHA_GROUP2},
00565 {0xfff,"", ALPHA_ERROR}
00566 };
00567
00568
00569 alpha_opcode_tab_entry alpha_instr_tbl_ext17[] =
00570 {
00571 {0x000,"", ALPHA_ERROR},
00572 {0x010,"cvtlq", ALPHA_GROUP2},
00573 {0x020,"cpys", ALPHA_GROUP2},
00574 {0x021,"cpysn", ALPHA_GROUP2},
00575 {0x022,"cpyse", ALPHA_GROUP2},
00576 {0x024,"mt_fpcr", ALPHA_GROUP2},
00577 {0x025,"mf_fpcr", ALPHA_GROUP2},
00578 {0x02a,"fcmoveq", ALPHA_GROUP2},
00579 {0x02b,"fcmovne", ALPHA_GROUP2},
00580 {0x02c,"fcmovlt", ALPHA_GROUP2},
00581 {0x02d,"fcmovge", ALPHA_GROUP2},
00582 {0x02e,"fcmovle", ALPHA_GROUP2},
00583 {0x02f,"fcmovgt", ALPHA_GROUP2},
00584 {0x030,"cvtql", ALPHA_GROUP2},
00585 {0x130,"cvtql/v", ALPHA_GROUP2},
00586 {0x530,"cvtql/sv", ALPHA_GROUP2},
00587 {0xfff,"", ALPHA_ERROR}
00588 };
00589
00590
00591 alpha_opcode_tab_entry alpha_instr_tbl_ext18[] =
00592 {
00593 {0x0000,"trapb", ALPHA_GROUP3},
00594 {0x0400,"excb", ALPHA_GROUP3},
00595 {0x4000,"mb", ALPHA_GROUP3},
00596 {0x4400,"wmb", ALPHA_GROUP3},
00597 {0x8000,"fetch", ALPHA_GROUP3},
00598 {0xa000,"fetch_m", ALPHA_GROUP3},
00599 {0xc000,"rpcc", ALPHA_GROUP3},
00600 {0xe000,"rc", ALPHA_ERROR},
00601 {0xe800,"ecb", ALPHA_ERROR},
00602 {0xf000,"rs", ALPHA_ERROR},
00603 {0xf800,"wh64", ALPHA_ERROR},
00604 {0xffff,"", ALPHA_ERROR}
00605 };
00606
00607
00608 alpha_opcode_tab_entry alpha_instr_tbl_ext1a[] =
00609 {
00610 {0x0,"jmp", ALPHA_GROUP_JMP},
00611 {0x1,"jsr", ALPHA_GROUP_JMP},
00612 {0x2,"ret", ALPHA_GROUP_JMP},
00613 {0x3,"jsr_co", ALPHA_GROUP_JMP},
00614 {0xf,"", ALPHA_ERROR}
00615 };
00616
00617
00618 alpha_opcode_tab_entry alpha_instr_tbl_ext1c[] =
00619 {
00620 {0x00,"sextb", ALPHA_GROUP1},
00621 {0x01,"sextw", ALPHA_GROUP1},
00622 {0x30,"ctpop", ALPHA_GROUP1},
00623 {0x31,"perr", ALPHA_GROUP1},
00624 {0x32,"ctlz", ALPHA_GROUP1},
00625 {0x33,"cttz", ALPHA_GROUP1},
00626 {0x34,"unpkbw", ALPHA_GROUP1},
00627 {0x35,"unpkbl", ALPHA_GROUP1},
00628 {0x36,"pkwb", ALPHA_GROUP1},
00629 {0x37,"pklb", ALPHA_GROUP1},
00630 {0x38,"minsb8", ALPHA_GROUP1},
00631 {0x39,"minsw4", ALPHA_GROUP1},
00632 {0x3a,"minub8", ALPHA_GROUP1},
00633 {0x3b,"minuw4", ALPHA_GROUP1},
00634 {0x3c,"maxub8", ALPHA_GROUP1},
00635 {0x3d,"maxuw4", ALPHA_GROUP1},
00636 {0x3e,"maxsb8", ALPHA_GROUP1},
00637 {0x3f,"maxsw4", ALPHA_GROUP1},
00638 {0x70,"ftoit", ALPHA_GROUP_F2I},
00639 {0x78,"ftois", ALPHA_GROUP_F2I},
00640 {0xff,"", ALPHA_ERROR}
00641 };
00642