aboutsummaryrefslogtreecommitdiff
path: root/opcodes/alpha-opc.h
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1995-10-03 15:35:55 +0000
committerSteve Chamberlain <sac@cygnus>1995-10-03 15:35:55 +0000
commite521d840f4acd6ac6935ae3f81c1e938de1c9b11 (patch)
tree57b0f66a54306f68646dc31021f9d5397ab779ca /opcodes/alpha-opc.h
parenta25ffb081fe412c933d59383add68d831e03e5f2 (diff)
downloadgdb-e521d840f4acd6ac6935ae3f81c1e938de1c9b11.zip
gdb-e521d840f4acd6ac6935ae3f81c1e938de1c9b11.tar.gz
gdb-e521d840f4acd6ac6935ae3f81c1e938de1c9b11.tar.bz2
From David Mosberger-Tang <davidm@azstarnet.com>
* alpha-opc.h (MEMORY_FUNCTION_FORMAT_MASK): added. (alpha_insn_set): added definitions for VAX floating point instructions (Unix compilers don't generate these, but handcoded assembly might still use them). * alpha-dis.c (print_insn_alpha): added support for disassembling the miscellaneous instructions in the Alpha instruction set.
Diffstat (limited to 'opcodes/alpha-opc.h')
-rw-r--r--opcodes/alpha-opc.h112
1 files changed, 112 insertions, 0 deletions
diff --git a/opcodes/alpha-opc.h b/opcodes/alpha-opc.h
index 473bcf4..0bd5a5c 100644
--- a/opcodes/alpha-opc.h
+++ b/opcodes/alpha-opc.h
@@ -51,6 +51,7 @@
*/
#define MEMORY_FORMAT_MASK 0xfc000000
+#define MEMORY_FUNCTION_FORMAT_MASK 0xfc00ffff
#define MEMORY_BRANCH_FORMAT_MASK 0xfc00c000
#define BRANCH_FORMAT_MASK 0xfc000000
#define OPERATE_FORMAT_MASK 0xfc000fe0
@@ -250,6 +251,8 @@ FLOAT_FORMAT(0x17, 0x30, "cvtql"),
FLOAT_FORMAT(0x17, 0x130, "cvtql/v"),
FLOAT_FORMAT(0x17, 0x530, "cvtql/sv"),
+/* IEEE floating point operations: */
+
FLOAT_FORMAT(0x16, 0x080, "adds"),
FLOAT_FORMAT(0x16, 0x000, "adds/c"),
FLOAT_FORMAT(0x16, 0x040, "adds/m"),
@@ -491,6 +494,115 @@ FLOAT_FORMAT(0x16, 0x721, "subt/suic"),
FLOAT_FORMAT(0x16, 0x761, "subt/suim"),
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"),
+
#if (VMS_ASMCODE)
/* unprivileged codes */
PAL_FORMAT(0x00, 0x0080, "bpt"),