* 5-Oct-93 Alessandro Forin (af) at Carnegie-Mellon University
* First checkin.
*
- * $Log$
- * Revision 1.1 1994/01/28 01:36:59 raeburn
- * New Alpha support files, based on files from CMU.
- * Still to do:
- * - fix floating-point handling
- * - figure out if we can adapt to using ../opcodes/alpha-opc.h
- * - gcc bootstrap testing
- * - 32-bit mode support?
- * - test cross-assembly
- *
- *
* Author: Alessandro Forin, Carnegie Mellon University
* Date: Jan 1993
*/
/* Table of opcodes for the alpha.
- Copyright (C) 1989 Free Software Foundation, Inc.
+ Copyright (C) 1989, 1994, 1995 Free Software Foundation, Inc.
+ Contributed 1993 by Carnegie Mellon University.
This file is part of GAS, the GNU Assembler, and GDB, the GNU disassembler.
{ "jmp", 0x68000000, 0, "1,(2),i" }, /* 6o+5a+5b+2A+14d */
{ "jmp", 0x68000000, 0, "1,(2)" },
+{ "jmp", 0x68000000, 0, "1,Bc" },
{ "jsr", 0x68004000, 0, "1,(2),i" },
{ "jsr", 0x68004000, 0, "1,(2)" },
{ "jsr", 0x68004000, 0, "1,Bc" }, /* macro: lda $pv,L;jsr .. */
{ "ret", 0x68008000, 0, "1,(2),i" },
{ "ret", 0x68008000, 0, "1,(2)" },
-{ "ret", 0x6b5a8000, 0, "" }, /* macro: ret ra,(ra) */
+{ "ret", 0x6bfa8000, 0, "" }, /* macro: ret zero,(ra) */
{ "ret", 0x6be08000, 0, "(2)" }, /* macro: ret zero,(2) */
{ "ret", 0x681a8000, 0, "1" }, /* macro: ret 1,(ra) */
{ "jcr", 0x6800c000, 0, "1,(2)" },
{ "bis", 0x44001400, 0, "1,b,3" },
{ "bis", 0x44000400, 0, "r,2" }, /* macro: or ra,rb,ra */
{ "bis", 0x44001400, 0, "r,b" }, /* macro: or ra,#,ra */
+#if 0 /* The `b' handling doesn't seem to handle big constants right
+ now, and even if it did, this pattern would imply that the
+ constant should be produced and *then* moved into the
+ destination register, which is silly. Since the native
+ assembler doesn't support this instruction, don't even bother
+ trying to fix it. Just punt. */
{ "movi", 0x47E01400, 0, "b,3"}, /* movi lit,rc == bis r31,lit,rc */
+#endif
{ "xor", 0x44000800, 0, "1,2,3" },
{ "xor", 0x44001800, 0, "1,b,3" },
{ "xor", 0x44000800, 0, "r,2" }, /* macro: ra,rb,ra */
{ "sts", 0x98000000, 1, "e,P" }, /* regbase macro */
{ "stt", 0x9c000000, 1, "e,l(2)" },
{ "stt", 0x9c000000, 1, "e,P" }, /* regbase macro */
+{ "ldif", 0x80000000, 1, "e,F" },
+{ "ldig", 0x84000000, 1, "e,F" },
+{ "ldis", 0x88000000, 1, "e,F" },
+{ "ldit", 0x8c000000, 1, "e,F" },
{ "fbeq", 0xc4000000, 1, "e,L" }, /* 6o+5a+21d */
{ "fbne", 0xd4000000, 1, "e,L" },
{ "bpt", 0x00000080, 0, "" },
{ "chmk", 0x00000083, 0, "" },
{ "imb", 0x00000086, 0, "" },
+{ "halt", 0x00000000, 0, "" },
+{ "draina", 0x00000002, 0, "" },
{ "draint", 0x60000000, 0, "" }, /* 6o+5a+5b+16d */
{ "trapb", 0x60000000, 0, "" }, /* 6o+5a+5b+16d */