Fri Jan 12 14:35:58 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* alpha-opc.h (alpha_insn_set): VAX floating point opcode was incorrectly defined as 0x16 when it should be 0x15. (FLOAT_FORMAT_MASK): function code is 11 bits, not just 7 bits! (alpha_insn_set): added cvtst and cvttq float ops. Also added excb (exception barrier) which is defined in the Alpha Architecture Handbook version 2. * alpha-dis.c (print_insn_alpha): Fixed special-case decoding for OPERATE_FORMAT_CODE type instructions. The bug caused mulq to be disassembled as or, for example.
This commit is contained in:
parent
02fcd12620
commit
6ddc0baaf9
@ -1,3 +1,15 @@
|
||||
Fri Jan 12 14:35:58 1996 David Mosberger-Tang <davidm@AZStarNet.com>
|
||||
|
||||
* alpha-opc.h (alpha_insn_set): VAX floating point opcode was
|
||||
incorrectly defined as 0x16 when it should be 0x15.
|
||||
(FLOAT_FORMAT_MASK): function code is 11 bits, not just 7 bits!
|
||||
(alpha_insn_set): added cvtst and cvttq float ops. Also added
|
||||
excb (exception barrier) which is defined in the Alpha
|
||||
Architecture Handbook version 2.
|
||||
* alpha-dis.c (print_insn_alpha): Fixed special-case decoding for
|
||||
OPERATE_FORMAT_CODE type instructions. The bug caused mulq to be
|
||||
disassembled as or, for example.
|
||||
|
||||
Wed Jan 10 12:37:22 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* mips-dis.c (print_insn_arg): Print cases 'i' and 'u' in hex.
|
||||
|
@ -55,7 +55,7 @@
|
||||
#define MEMORY_BRANCH_FORMAT_MASK 0xfc00c000
|
||||
#define BRANCH_FORMAT_MASK 0xfc000000
|
||||
#define OPERATE_FORMAT_MASK 0xfc000fe0
|
||||
#define FLOAT_FORMAT_MASK 0xfc000fe0
|
||||
#define FLOAT_FORMAT_MASK 0xfc00ffe0
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@ -139,6 +139,7 @@ MEMORY_FORMAT( 0x0f, "stq_u"),
|
||||
MEMORY_FORMAT_FUNCTION( 0x18, 0x8000, "fetch"),
|
||||
MEMORY_FORMAT_FUNCTION( 0x18, 0xe000, "rc"),
|
||||
MEMORY_FORMAT_FUNCTION( 0x18, 0x0000, "trapb"),
|
||||
MEMORY_FORMAT_FUNCTION( 0x18, 0x0400, "excb"), /* axp arch manual version 2 */
|
||||
MEMORY_FORMAT_FUNCTION( 0x18, 0xa000, "fetch_m"),
|
||||
MEMORY_FORMAT_FUNCTION( 0x18, 0xc000, "rpcc"),
|
||||
MEMORY_FORMAT_FUNCTION( 0x18, 0x4000, "mb"),
|
||||
@ -381,6 +382,24 @@ FLOAT_FORMAT(0x16, 0x7be, "cvtqt/sui"),
|
||||
FLOAT_FORMAT(0x16, 0x73e, "cvtqt/suic"),
|
||||
FLOAT_FORMAT(0x16, 0x77e, "cvtqt/suim"),
|
||||
FLOAT_FORMAT(0x16, 0x7fe, "cvtqt/suid"),
|
||||
FLOAT_FORMAT(0x16, 0x2ac, "cvtst"), /* note: floatop is same as cvtts! */
|
||||
FLOAT_FORMAT(0x16, 0x6ac, "cvtst/s"), /* note: floatop is same as cvtts! */
|
||||
FLOAT_FORMAT(0x16, 0x0af, "cvttq"),
|
||||
FLOAT_FORMAT(0x16, 0x02f, "cvttq/c"),
|
||||
FLOAT_FORMAT(0x16, 0x1af, "cvttq/v"),
|
||||
FLOAT_FORMAT(0x16, 0x12f, "cvttq/vc"),
|
||||
FLOAT_FORMAT(0x16, 0x5af, "cvttq/sv"),
|
||||
FLOAT_FORMAT(0x16, 0x52f, "cvttq/svc"),
|
||||
FLOAT_FORMAT(0x16, 0x7af, "cvttq/svi"),
|
||||
FLOAT_FORMAT(0x16, 0x72f, "cvttq/svic"),
|
||||
FLOAT_FORMAT(0x16, 0x0ef, "cvttq/d"),
|
||||
FLOAT_FORMAT(0x16, 0x1ef, "cvttq/vd"),
|
||||
FLOAT_FORMAT(0x16, 0x5ef, "cvttq/svd"),
|
||||
FLOAT_FORMAT(0x16, 0x7ef, "cvttq/svid"),
|
||||
FLOAT_FORMAT(0x16, 0x06f, "cvttq/m"),
|
||||
FLOAT_FORMAT(0x16, 0x16f, "cvttq/vm"),
|
||||
FLOAT_FORMAT(0x16, 0x56f, "cvttq/svm"),
|
||||
FLOAT_FORMAT(0x16, 0x76f, "cvttq/svim"),
|
||||
FLOAT_FORMAT(0x16, 0x0ac, "cvtts"),
|
||||
FLOAT_FORMAT(0x16, 0x02c, "cvtts/c"),
|
||||
FLOAT_FORMAT(0x16, 0x06c, "cvtts/m"),
|
||||
@ -496,112 +515,112 @@ FLOAT_FORMAT(0x16, 0x7e1, "subt/suid"),
|
||||
|
||||
/* VAX floating point operations: */
|
||||
|
||||
FLOAT_FORMAT(0x16, 0x080, "addf"),
|
||||
FLOAT_FORMAT(0x16, 0x000, "addf/c"),
|
||||
FLOAT_FORMAT(0x16, 0x180, "addf/u"),
|
||||
FLOAT_FORMAT(0x16, 0x100, "addf/uc"),
|
||||
FLOAT_FORMAT(0x16, 0x480, "addf/s"),
|
||||
FLOAT_FORMAT(0x16, 0x400, "addf/sc"),
|
||||
FLOAT_FORMAT(0x16, 0x580, "addf/su"),
|
||||
FLOAT_FORMAT(0x16, 0x500, "addf/suc"),
|
||||
FLOAT_FORMAT(0x16, 0x09e, "cvtdg"),
|
||||
FLOAT_FORMAT(0x16, 0x01e, "cvtdg/c"),
|
||||
FLOAT_FORMAT(0x16, 0x19e, "cvtdg/u"),
|
||||
FLOAT_FORMAT(0x16, 0x11e, "cvtdg/uc"),
|
||||
FLOAT_FORMAT(0x16, 0x49e, "cvtdg/s"),
|
||||
FLOAT_FORMAT(0x16, 0x41e, "cvtdg/sc"),
|
||||
FLOAT_FORMAT(0x16, 0x59e, "cvtdg/su"),
|
||||
FLOAT_FORMAT(0x16, 0x51e, "cvtdg/suc"),
|
||||
FLOAT_FORMAT(0x16, 0x0a0, "addg"),
|
||||
FLOAT_FORMAT(0x16, 0x020, "addg/c"),
|
||||
FLOAT_FORMAT(0x16, 0x1a0, "addg/u"),
|
||||
FLOAT_FORMAT(0x16, 0x120, "addg/uc"),
|
||||
FLOAT_FORMAT(0x16, 0x4a0, "addg/s"),
|
||||
FLOAT_FORMAT(0x16, 0x420, "addg/sc"),
|
||||
FLOAT_FORMAT(0x16, 0x5a0, "addg/su"),
|
||||
FLOAT_FORMAT(0x16, 0x520, "addg/suc"),
|
||||
FLOAT_FORMAT(0x16, 0x0a5, "cmpgeq"),
|
||||
FLOAT_FORMAT(0x16, 0x4a5, "cmpgeq/s"),
|
||||
FLOAT_FORMAT(0x16, 0x0a6, "cmpglt"),
|
||||
FLOAT_FORMAT(0x16, 0x4a6, "cmpglt/s"),
|
||||
FLOAT_FORMAT(0x16, 0x0a7, "cmpgle"),
|
||||
FLOAT_FORMAT(0x16, 0x4a7, "cmpgle/s"),
|
||||
FLOAT_FORMAT(0x16, 0x0ac, "cvtgf"),
|
||||
FLOAT_FORMAT(0x16, 0x02c, "cvtgf/c"),
|
||||
FLOAT_FORMAT(0x16, 0x1ac, "cvtgf/u"),
|
||||
FLOAT_FORMAT(0x16, 0x12c, "cvtgf/uc"),
|
||||
FLOAT_FORMAT(0x16, 0x4ac, "cvtgf/s"),
|
||||
FLOAT_FORMAT(0x16, 0x42c, "cvtgf/sc"),
|
||||
FLOAT_FORMAT(0x16, 0x5ac, "cvtgf/su"),
|
||||
FLOAT_FORMAT(0x16, 0x52c, "cvtgf/suc"),
|
||||
FLOAT_FORMAT(0x16, 0x0ad, "cvtgd"),
|
||||
FLOAT_FORMAT(0x16, 0x02d, "cvtgd/c"),
|
||||
FLOAT_FORMAT(0x16, 0x1ad, "cvtgd/u"),
|
||||
FLOAT_FORMAT(0x16, 0x12d, "cvtgd/uc"),
|
||||
FLOAT_FORMAT(0x16, 0x4ad, "cvtgd/s"),
|
||||
FLOAT_FORMAT(0x16, 0x42d, "cvtgd/sc"),
|
||||
FLOAT_FORMAT(0x16, 0x5ad, "cvtgd/su"),
|
||||
FLOAT_FORMAT(0x16, 0x52d, "cvtgd/suc"),
|
||||
FLOAT_FORMAT(0x16, 0x0bc, "cvtqf"),
|
||||
FLOAT_FORMAT(0x16, 0x03c, "cvtqf/c"),
|
||||
FLOAT_FORMAT(0x16, 0x0be, "cvtqg"),
|
||||
FLOAT_FORMAT(0x16, 0x03e, "cvtqg/c"),
|
||||
FLOAT_FORMAT(0x16, 0x083, "divf"),
|
||||
FLOAT_FORMAT(0x16, 0x003, "divf/c"),
|
||||
FLOAT_FORMAT(0x16, 0x183, "divf/u"),
|
||||
FLOAT_FORMAT(0x16, 0x103, "divf/uc"),
|
||||
FLOAT_FORMAT(0x16, 0x483, "divf/s"),
|
||||
FLOAT_FORMAT(0x16, 0x403, "divf/sc"),
|
||||
FLOAT_FORMAT(0x16, 0x583, "divf/su"),
|
||||
FLOAT_FORMAT(0x16, 0x503, "divf/suc"),
|
||||
FLOAT_FORMAT(0x16, 0x0a3, "divg"),
|
||||
FLOAT_FORMAT(0x16, 0x023, "divg/c"),
|
||||
FLOAT_FORMAT(0x16, 0x1a3, "divg/u"),
|
||||
FLOAT_FORMAT(0x16, 0x123, "divg/uc"),
|
||||
FLOAT_FORMAT(0x16, 0x4a3, "divg/s"),
|
||||
FLOAT_FORMAT(0x16, 0x423, "divg/sc"),
|
||||
FLOAT_FORMAT(0x16, 0x5a3, "divg/su"),
|
||||
FLOAT_FORMAT(0x16, 0x523, "divg/suc"),
|
||||
FLOAT_FORMAT(0x16, 0x082, "mulf"),
|
||||
FLOAT_FORMAT(0x16, 0x002, "mulf/c"),
|
||||
FLOAT_FORMAT(0x16, 0x182, "mulf/u"),
|
||||
FLOAT_FORMAT(0x16, 0x102, "mulf/uc"),
|
||||
FLOAT_FORMAT(0x16, 0x482, "mulf/s"),
|
||||
FLOAT_FORMAT(0x16, 0x402, "mulf/sc"),
|
||||
FLOAT_FORMAT(0x16, 0x582, "mulf/su"),
|
||||
FLOAT_FORMAT(0x16, 0x502, "mulf/suc"),
|
||||
FLOAT_FORMAT(0x16, 0x0a2, "mulg"),
|
||||
FLOAT_FORMAT(0x16, 0x022, "mulg/c"),
|
||||
FLOAT_FORMAT(0x16, 0x1a2, "mulg/u"),
|
||||
FLOAT_FORMAT(0x16, 0x122, "mulg/uc"),
|
||||
FLOAT_FORMAT(0x16, 0x4a2, "mulg/s"),
|
||||
FLOAT_FORMAT(0x16, 0x422, "mulg/sc"),
|
||||
FLOAT_FORMAT(0x16, 0x5a2, "mulg/su"),
|
||||
FLOAT_FORMAT(0x16, 0x522, "mulg/suc"),
|
||||
FLOAT_FORMAT(0x16, 0x081, "subf"),
|
||||
FLOAT_FORMAT(0x16, 0x001, "subf/c"),
|
||||
FLOAT_FORMAT(0x16, 0x181, "subf/u"),
|
||||
FLOAT_FORMAT(0x16, 0x101, "subf/uc"),
|
||||
FLOAT_FORMAT(0x16, 0x481, "subf/s"),
|
||||
FLOAT_FORMAT(0x16, 0x401, "subf/sc"),
|
||||
FLOAT_FORMAT(0x16, 0x581, "subf/su"),
|
||||
FLOAT_FORMAT(0x16, 0x501, "subf/suc"),
|
||||
FLOAT_FORMAT(0x16, 0x0a1, "subg"),
|
||||
FLOAT_FORMAT(0x16, 0x021, "subg/c"),
|
||||
FLOAT_FORMAT(0x16, 0x1a1, "subg/u"),
|
||||
FLOAT_FORMAT(0x16, 0x121, "subg/uc"),
|
||||
FLOAT_FORMAT(0x16, 0x4a1, "subg/s"),
|
||||
FLOAT_FORMAT(0x16, 0x421, "subg/sc"),
|
||||
FLOAT_FORMAT(0x16, 0x5a1, "subg/su"),
|
||||
FLOAT_FORMAT(0x16, 0x521, "subg/suc"),
|
||||
FLOAT_FORMAT(0x16, 0x0af, "cvtgq"),
|
||||
FLOAT_FORMAT(0x16, 0x02f, "cvtgq/c"),
|
||||
FLOAT_FORMAT(0x16, 0x1af, "cvtgq/v"),
|
||||
FLOAT_FORMAT(0x16, 0x12f, "cvtgq/vc"),
|
||||
FLOAT_FORMAT(0x16, 0x4af, "cvtgq/s"),
|
||||
FLOAT_FORMAT(0x16, 0x42f, "cvtgq/sc"),
|
||||
FLOAT_FORMAT(0x16, 0x5af, "cvtgq/sv"),
|
||||
FLOAT_FORMAT(0x16, 0x52f, "cvtgq/svc"),
|
||||
FLOAT_FORMAT(0x15, 0x080, "addf"),
|
||||
FLOAT_FORMAT(0x15, 0x000, "addf/c"),
|
||||
FLOAT_FORMAT(0x15, 0x180, "addf/u"),
|
||||
FLOAT_FORMAT(0x15, 0x100, "addf/uc"),
|
||||
FLOAT_FORMAT(0x15, 0x480, "addf/s"),
|
||||
FLOAT_FORMAT(0x15, 0x400, "addf/sc"),
|
||||
FLOAT_FORMAT(0x15, 0x580, "addf/su"),
|
||||
FLOAT_FORMAT(0x15, 0x500, "addf/suc"),
|
||||
FLOAT_FORMAT(0x15, 0x09e, "cvtdg"),
|
||||
FLOAT_FORMAT(0x15, 0x01e, "cvtdg/c"),
|
||||
FLOAT_FORMAT(0x15, 0x19e, "cvtdg/u"),
|
||||
FLOAT_FORMAT(0x15, 0x11e, "cvtdg/uc"),
|
||||
FLOAT_FORMAT(0x15, 0x49e, "cvtdg/s"),
|
||||
FLOAT_FORMAT(0x15, 0x41e, "cvtdg/sc"),
|
||||
FLOAT_FORMAT(0x15, 0x59e, "cvtdg/su"),
|
||||
FLOAT_FORMAT(0x15, 0x51e, "cvtdg/suc"),
|
||||
FLOAT_FORMAT(0x15, 0x0a0, "addg"),
|
||||
FLOAT_FORMAT(0x15, 0x020, "addg/c"),
|
||||
FLOAT_FORMAT(0x15, 0x1a0, "addg/u"),
|
||||
FLOAT_FORMAT(0x15, 0x120, "addg/uc"),
|
||||
FLOAT_FORMAT(0x15, 0x4a0, "addg/s"),
|
||||
FLOAT_FORMAT(0x15, 0x420, "addg/sc"),
|
||||
FLOAT_FORMAT(0x15, 0x5a0, "addg/su"),
|
||||
FLOAT_FORMAT(0x15, 0x520, "addg/suc"),
|
||||
FLOAT_FORMAT(0x15, 0x0a5, "cmpgeq"),
|
||||
FLOAT_FORMAT(0x15, 0x4a5, "cmpgeq/s"),
|
||||
FLOAT_FORMAT(0x15, 0x0a6, "cmpglt"),
|
||||
FLOAT_FORMAT(0x15, 0x4a6, "cmpglt/s"),
|
||||
FLOAT_FORMAT(0x15, 0x0a7, "cmpgle"),
|
||||
FLOAT_FORMAT(0x15, 0x4a7, "cmpgle/s"),
|
||||
FLOAT_FORMAT(0x15, 0x0ac, "cvtgf"),
|
||||
FLOAT_FORMAT(0x15, 0x02c, "cvtgf/c"),
|
||||
FLOAT_FORMAT(0x15, 0x1ac, "cvtgf/u"),
|
||||
FLOAT_FORMAT(0x15, 0x12c, "cvtgf/uc"),
|
||||
FLOAT_FORMAT(0x15, 0x4ac, "cvtgf/s"),
|
||||
FLOAT_FORMAT(0x15, 0x42c, "cvtgf/sc"),
|
||||
FLOAT_FORMAT(0x15, 0x5ac, "cvtgf/su"),
|
||||
FLOAT_FORMAT(0x15, 0x52c, "cvtgf/suc"),
|
||||
FLOAT_FORMAT(0x15, 0x0ad, "cvtgd"),
|
||||
FLOAT_FORMAT(0x15, 0x02d, "cvtgd/c"),
|
||||
FLOAT_FORMAT(0x15, 0x1ad, "cvtgd/u"),
|
||||
FLOAT_FORMAT(0x15, 0x12d, "cvtgd/uc"),
|
||||
FLOAT_FORMAT(0x15, 0x4ad, "cvtgd/s"),
|
||||
FLOAT_FORMAT(0x15, 0x42d, "cvtgd/sc"),
|
||||
FLOAT_FORMAT(0x15, 0x5ad, "cvtgd/su"),
|
||||
FLOAT_FORMAT(0x15, 0x52d, "cvtgd/suc"),
|
||||
FLOAT_FORMAT(0x15, 0x0bc, "cvtqf"),
|
||||
FLOAT_FORMAT(0x15, 0x03c, "cvtqf/c"),
|
||||
FLOAT_FORMAT(0x15, 0x0be, "cvtqg"),
|
||||
FLOAT_FORMAT(0x15, 0x03e, "cvtqg/c"),
|
||||
FLOAT_FORMAT(0x15, 0x083, "divf"),
|
||||
FLOAT_FORMAT(0x15, 0x003, "divf/c"),
|
||||
FLOAT_FORMAT(0x15, 0x183, "divf/u"),
|
||||
FLOAT_FORMAT(0x15, 0x103, "divf/uc"),
|
||||
FLOAT_FORMAT(0x15, 0x483, "divf/s"),
|
||||
FLOAT_FORMAT(0x15, 0x403, "divf/sc"),
|
||||
FLOAT_FORMAT(0x15, 0x583, "divf/su"),
|
||||
FLOAT_FORMAT(0x15, 0x503, "divf/suc"),
|
||||
FLOAT_FORMAT(0x15, 0x0a3, "divg"),
|
||||
FLOAT_FORMAT(0x15, 0x023, "divg/c"),
|
||||
FLOAT_FORMAT(0x15, 0x1a3, "divg/u"),
|
||||
FLOAT_FORMAT(0x15, 0x123, "divg/uc"),
|
||||
FLOAT_FORMAT(0x15, 0x4a3, "divg/s"),
|
||||
FLOAT_FORMAT(0x15, 0x423, "divg/sc"),
|
||||
FLOAT_FORMAT(0x15, 0x5a3, "divg/su"),
|
||||
FLOAT_FORMAT(0x15, 0x523, "divg/suc"),
|
||||
FLOAT_FORMAT(0x15, 0x082, "mulf"),
|
||||
FLOAT_FORMAT(0x15, 0x002, "mulf/c"),
|
||||
FLOAT_FORMAT(0x15, 0x182, "mulf/u"),
|
||||
FLOAT_FORMAT(0x15, 0x102, "mulf/uc"),
|
||||
FLOAT_FORMAT(0x15, 0x482, "mulf/s"),
|
||||
FLOAT_FORMAT(0x15, 0x402, "mulf/sc"),
|
||||
FLOAT_FORMAT(0x15, 0x582, "mulf/su"),
|
||||
FLOAT_FORMAT(0x15, 0x502, "mulf/suc"),
|
||||
FLOAT_FORMAT(0x15, 0x0a2, "mulg"),
|
||||
FLOAT_FORMAT(0x15, 0x022, "mulg/c"),
|
||||
FLOAT_FORMAT(0x15, 0x1a2, "mulg/u"),
|
||||
FLOAT_FORMAT(0x15, 0x122, "mulg/uc"),
|
||||
FLOAT_FORMAT(0x15, 0x4a2, "mulg/s"),
|
||||
FLOAT_FORMAT(0x15, 0x422, "mulg/sc"),
|
||||
FLOAT_FORMAT(0x15, 0x5a2, "mulg/su"),
|
||||
FLOAT_FORMAT(0x15, 0x522, "mulg/suc"),
|
||||
FLOAT_FORMAT(0x15, 0x081, "subf"),
|
||||
FLOAT_FORMAT(0x15, 0x001, "subf/c"),
|
||||
FLOAT_FORMAT(0x15, 0x181, "subf/u"),
|
||||
FLOAT_FORMAT(0x15, 0x101, "subf/uc"),
|
||||
FLOAT_FORMAT(0x15, 0x481, "subf/s"),
|
||||
FLOAT_FORMAT(0x15, 0x401, "subf/sc"),
|
||||
FLOAT_FORMAT(0x15, 0x581, "subf/su"),
|
||||
FLOAT_FORMAT(0x15, 0x501, "subf/suc"),
|
||||
FLOAT_FORMAT(0x15, 0x0a1, "subg"),
|
||||
FLOAT_FORMAT(0x15, 0x021, "subg/c"),
|
||||
FLOAT_FORMAT(0x15, 0x1a1, "subg/u"),
|
||||
FLOAT_FORMAT(0x15, 0x121, "subg/uc"),
|
||||
FLOAT_FORMAT(0x15, 0x4a1, "subg/s"),
|
||||
FLOAT_FORMAT(0x15, 0x421, "subg/sc"),
|
||||
FLOAT_FORMAT(0x15, 0x5a1, "subg/su"),
|
||||
FLOAT_FORMAT(0x15, 0x521, "subg/suc"),
|
||||
FLOAT_FORMAT(0x15, 0x0af, "cvtgq"),
|
||||
FLOAT_FORMAT(0x15, 0x02f, "cvtgq/c"),
|
||||
FLOAT_FORMAT(0x15, 0x1af, "cvtgq/v"),
|
||||
FLOAT_FORMAT(0x15, 0x12f, "cvtgq/vc"),
|
||||
FLOAT_FORMAT(0x15, 0x4af, "cvtgq/s"),
|
||||
FLOAT_FORMAT(0x15, 0x42f, "cvtgq/sc"),
|
||||
FLOAT_FORMAT(0x15, 0x5af, "cvtgq/sv"),
|
||||
FLOAT_FORMAT(0x15, 0x52f, "cvtgq/svc"),
|
||||
|
||||
#if (VMS_ASMCODE)
|
||||
/* unprivileged codes */
|
||||
|
Loading…
Reference in New Issue
Block a user