aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1996-06-21 20:10:12 +0000
committerIan Lance Taylor <ian@airs.com>1996-06-21 20:10:12 +0000
commitdf586de217992bcb6663d9dc542831ca32fe57f7 (patch)
tree397b1c13c6700cf9b5f3dde2d068dbaa486a157f
parent7ae6550fc56b481fe9972c65a9af26d127ce6b2c (diff)
downloadgdb-df586de217992bcb6663d9dc542831ca32fe57f7.zip
gdb-df586de217992bcb6663d9dc542831ca32fe57f7.tar.gz
gdb-df586de217992bcb6663d9dc542831ca32fe57f7.tar.bz2
Fri Jun 21 16:01:18 1996 Richard Henderson <rth@tamu.edu>
* configure.in: Add alpha-*-linuxecoff* target. Use elf for alpha-*-linux* target. Force bfd_gas for alpha-*. Require opcodes library for alpha. * configure: Rebuild with autoconf 2.10. * config/tc-alpha.c: Substantial rewrite to add ELF support and use new opcode table. * config/tc-alpha.h (md_undefined_symbol): Don't define. (LOCAL_LABEL): Define differently if OBJ_ELF. (FAKE_LABEL_NAME): Define if OBJ_ELF. * config/alpha-opcode.h: Remove. * config/obj-elf.h: If TC_ALPHA, define ECOFF_DEBUGGING. * Makefile.in (TARG_CPU_DEP_alpha): Depend upon include/opcode/alpha.h rather than config/alpha-opcode.h.
-rw-r--r--gas/ChangeLog16
-rw-r--r--gas/config/.Sanitize1
-rw-r--r--gas/config/alpha-opcode.h841
-rwxr-xr-xgas/configure86
-rw-r--r--gas/configure.in12
5 files changed, 69 insertions, 887 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index bd3d62b..0d4cebf 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,19 @@
+Fri Jun 21 16:01:18 1996 Richard Henderson <rth@tamu.edu>
+
+ * configure.in: Add alpha-*-linuxecoff* target. Use elf for
+ alpha-*-linux* target. Force bfd_gas for alpha-*. Require
+ opcodes library for alpha.
+ * configure: Rebuild with autoconf 2.10.
+ * config/tc-alpha.c: Substantial rewrite to add ELF support and
+ use new opcode table.
+ * config/tc-alpha.h (md_undefined_symbol): Don't define.
+ (LOCAL_LABEL): Define differently if OBJ_ELF.
+ (FAKE_LABEL_NAME): Define if OBJ_ELF.
+ * config/alpha-opcode.h: Remove.
+ * config/obj-elf.h: If TC_ALPHA, define ECOFF_DEBUGGING.
+ * Makefile.in (TARG_CPU_DEP_alpha): Depend upon
+ include/opcode/alpha.h rather than config/alpha-opcode.h.
+
Thu Jun 20 19:10:28 1996 Ian Lance Taylor <ian@cygnus.com>
* config/obj-aout.c (obj_emit_relocations): Give an error if the
diff --git a/gas/config/.Sanitize b/gas/config/.Sanitize
index 72aa71b..e9cfd11 100644
--- a/gas/config/.Sanitize
+++ b/gas/config/.Sanitize
@@ -32,7 +32,6 @@ fi
Things-to-keep:
aout_gnu.h
-alpha-opcode.h
arm-big.mt
arm-lit.mt
atof-ieee.c
diff --git a/gas/config/alpha-opcode.h b/gas/config/alpha-opcode.h
deleted file mode 100644
index 4ba5899..0000000
--- a/gas/config/alpha-opcode.h
+++ /dev/null
@@ -1,841 +0,0 @@
-/*
- * Mach Operating System
- * Copyright (c) 1993 Carnegie Mellon University
- * All Rights Reserved.
- *
- * Permission to use, copy, modify and distribute this software and its
- * documentation is hereby granted, provided that both the copyright
- * notice and this permission notice appear in all copies of the
- * software, derivative works or modified versions, and any portions
- * thereof, and that both notices appear in supporting documentation.
- *
- * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS
- * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
- * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- *
- * Carnegie Mellon requests users of this software to return to
- *
- * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
- * School of Computer Science
- * Carnegie Mellon University
- * Pittsburgh PA 15213-3890
- *
- * any improvements or extensions that they make and grant Carnegie the
- * rights to redistribute these changes.
- */
-/*
- * HISTORY
- * 5-Oct-93 Alessandro Forin (af) at Carnegie-Mellon University
- * First checkin.
- *
- * Author: Alessandro Forin, Carnegie Mellon University
- * Date: Jan 1993
- */
-
-/* Table of opcodes for the alpha.
- 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.
-
-GAS/GDB is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 1, or (at your option)
-any later version.
-
-GAS/GDB is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GAS or GDB; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#if !defined(__STDC__) && !defined(const)
-#define const
-#endif
-
-/*
- * Structure of an opcode table entry.
- */
-struct alpha_opcode
-{
- const char *name;
- const unsigned int match; /* fixed encoding part of instruction */
- const int isa_float;
- const char *args;
-};
-
-/*
- All alpha opcodes are 32 bits, except for the `set' instruction (really
- a macro), which is 64 bits. It is handled as a special case.
-
- The match component is a mask saying which bits must match a
- particular opcode in order for an instruction to be an instance
- of that opcode.
-
- The args component is a string containing one character
- for each operand of the instruction.
-
-Kinds of operands:
- 1 ra register
- 2 rb register
- 3 rc register
- r same register for ra and rc
- R same register for ra and rb
- e fa floating point register.
- f fb floating point register.
- g fc floating point register.
- I 26 bit immediate
- l 16 low bits of immediate
- h 16 high(er) bits of immediate [Never used. KR]
- L 22 bit PC relative immediate.
- i 14 bit immediate jmp/jsr/ret operand -- PC-rel or not,
- dependent on opcode
- b 8 bit literal, shifted left 13 bits (literal in `operate' fmt)
- G Base-register GET at address, needs macro-expansion
- P Base-register PUT at address, needs macro-expansion
- Bn builtin macro
- t twelve bit displacement
- 8 eight bit index
-
-Syntactic elements
- (
- ) base register in "offset(base)" addressing
- , separator
-
-Builtin functions (look like macros to the programmer)
- %br the current base register
- la %r,A load the (64bit) address in register %r
- li %r,N load the constant N in register %r
-#if 0
- lo(A) low 16 bits of Address (relocatable)
- uml(A) med-low 16 bits, unchanged
- umh(A) med-high 16 bits, unchanged
- uhi(A) high 16 bits, unchanged
- ml(A) med-low, adjusted viz sign of lo(A)
- mh(A) med-high, adjusted viz sign of ml(A)
- hi(A) high, adjusted viz sign of mh(A)
-#endif
-
-*/
-
-/* The order of the opcodes in this table is significant:
-
- * The assembler requires that all instances of the same mnemonic must be
- consecutive. If they aren't, the assembler will bomb at runtime.
-
- * The disassembler should not care about the order of the opcodes. */
-
-static const struct alpha_opcode alpha_opcodes[] =
-{
-
-{ "ldgp", 0x00000000, 0, "3,l(1)Ba" }, /* builtin */
-{ "setgp", 0x00000000, 0, "0(1)Bb" }, /* builtin */
-
-{ "reml", 0x00000000, 0, "1,2,3B0" }, /* builtin */
-{ "divl", 0x00000000, 0, "1,2,3B1" }, /* builtin */
-{ "remq", 0x00000000, 0, "1,2,3B2" }, /* builtin */
-{ "divq", 0x00000000, 0, "1,2,3B3" }, /* builtin */
-{ "remlu", 0x00000000, 0, "1,2,3B4" }, /* builtin */
-{ "divlu", 0x00000000, 0, "1,2,3B5" }, /* builtin */
-{ "remqu", 0x00000000, 0, "1,2,3B6" }, /* builtin */
-{ "divqu", 0x00000000, 0, "1,2,3B7" }, /* builtin */
-
-{ "lda", 0x20000000, 0, "1,l(2)" }, /* 6o+5a+5b+16d */
-{ "lda", 0x20000000, 0, "1,G" }, /* regbase macro */
-{ "ldi", 0x201F0000, 0, "1,l"}, /* ldi ra,lit == lda ra,lit(r31) */
-{ "ldah", 0x24000000, 0, "1,l(2)" },
-{ "ldah", 0x24000000, 0, "1,G" }, /* regbase macro */
-{ "lui", 0x241F0000, 0, "1,l"}, /* lui ra,lit == ldah ra,lit(r31) */
-{ "ldil", 0x20000000, 0, "1,G" }, /* macro */
-{ "ldiq", 0x20000000, 0, "1,G" }, /* (broken) macro */
-
-{ "ldl", 0xa0000000, 0, "1,l(2)" },
-{ "ldl", 0xa0000000, 0, "1,G" }, /* regbase macro */
-{ "ldl_l", 0xa8000000, 0, "1,l(2)" },
-{ "ldl_l", 0xa8000000, 0, "1,G" }, /* regbase macro */
-{ "ldq", 0xa4000000, 0, "1,l(2)" },
-{ "ldq", 0xa4000000, 0, "1,G" }, /* regbase macro */
-{ "ldq_u", 0x2c000000, 0, "1,l(2)" },
-{ "ldq_u", 0x2c000000, 0, "1,G" }, /* regbase macro */
-{ "ldq_l", 0xac000000, 0, "1,l(2)" },
-{ "ldq_l", 0xac000000, 0, "1,G" }, /* regbase macro */
-
-{ "stl", 0xb0000000, 0, "1,l(2)" },
-{ "stl", 0xb0000000, 0, "1,P" }, /* regbase macro */
-{ "stl_c", 0xb8000000, 0, "1,l(2)" },
-{ "stl_c", 0xb8000000, 0, "1,P" }, /* regbase macro */
-{ "stq", 0xb4000000, 0, "1,l(2)" },
-{ "stq", 0xb4000000, 0, "1,P" }, /* regbase macro */
-{ "stq_u", 0x3c000000, 0, "1,l(2)" },
-{ "stq_u", 0x3c000000, 0, "1,P" }, /* regbase macro */
-{ "stq_c", 0xbc000000, 0, "1,l(2)" },
-{ "stq_c", 0xbc000000, 0, "1,P" }, /* regbase macro */
-
-{ "beq", 0xe4000000, 0, "1,L" }, /* 6o+5a+21d */
-{ "bne", 0xf4000000, 0, "1,L" },
-{ "blt", 0xe8000000, 0, "1,L" },
-{ "ble", 0xec000000, 0, "1,L" },
-{ "bgt", 0xfc000000, 0, "1,L" },
-{ "bge", 0xf8000000, 0, "1,L" },
-{ "blbc", 0xe0000000, 0, "1,L" },
-{ "blbs", 0xf0000000, 0, "1,L" },
-
-{ "br", 0xc0000000, 0, "1,L" },
-{ "br", 0xc3e00000, 0, "L" }, /* macro: br zero,disp */
-{ "bsr", 0xd0000000, 0, "1,L" },
-{ "bsr", 0xd3500000, 0, "L" }, /* macro: bsr $ra,L */
-
-{ "jmp", 0x68000000, 0, "1,(2),i" }, /* 6o+5a+5b+2A+14d */
-{ "jmp", 0x68000000, 0, "1,(2)" },
-{ "jmp", 0x68000000, 0, "1,Bc" },
-{ "jmp", 0x6be00000, 0, "(2)" },
-{ "jmp", 0x6be00000, 0, "Bc" },
-{ "jsr", 0x68004000, 0, "1,(2),i" },
-{ "jsr", 0x68004000, 0, "1,(2)" },
-{ "jsr", 0x68004000, 0, "1,Bc" }, /* macro: lda $pv,L;jsr .. */
-{ "jsr", 0x6b404000, 0, "(2)" },
-{ "jsr", 0x6b404000, 0, "Bc" },
-{ "ret", 0x68008000, 0, "1,(2),i" },
-{ "ret", 0x68008000, 0, "1,(2)" },
-{ "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)" },
-{ "jsr_coroutine", 0x6800c000, 0, "1,(2)" },
-
-{ "addl", 0x40000000, 0, "1,2,3" }, /* 6o+5a+5b+4z+7f+5c */
-{ "addl", 0x40001000, 0, "1,b,3" }, /* 6o+5a+8n+1+7f+5c */
-{ "addl/v", 0x40000800, 0, "1,2,3" },
-{ "addl/v", 0x40001800, 0, "1,b,3" },
-{ "s4addl", 0x40000040, 0, "1,2,3" },
-{ "s4addl", 0x40001040, 0, "1,b,3" },
-{ "s8addl", 0x40000240, 0, "1,2,3" },
-{ "s8addl", 0x40001240, 0, "1,b,3" },
-{ "addq", 0x40000400, 0, "1,2,3" },
-{ "addq", 0x40001400, 0, "1,b,3" },
-{ "addq/v", 0x40000c00, 0, "1,2,3" },
-
-{ "addq/v", 0x40001c00, 0, "1,b,3" },
-{ "s4addq", 0x40000440, 0, "1,2,3" },
-{ "s4addq", 0x40001440, 0, "1,b,3" },
-{ "s8addq", 0x40000640, 0, "1,2,3" },
-{ "s8addq", 0x40001640, 0, "1,b,3" },
-{ "cmpeq", 0x400005a0, 0, "1,2,3" },
-{ "cmpeq", 0x400015a0, 0, "1,b,3" },
-{ "cmplt", 0x400009a0, 0, "1,2,3" },
-{ "cmplt", 0x400019a0, 0, "1,b,3" },
-{ "cmple", 0x40000da0, 0, "1,2,3" },
-{ "cmple", 0x40001da0, 0, "1,b,3" },
-{ "cmpult", 0x400003a0, 0, "1,2,3" },
-{ "cmpult", 0x400013a0, 0, "1,b,3" },
-{ "cmpule", 0x400007a0, 0, "1,2,3" },
-{ "cmpule", 0x400017a0, 0, "1,b,3" },
-{ "subl", 0x40000120, 0, "1,2,3" },
-{ "subl", 0x40001120, 0, "1,b,3" },
-{ "subl/v", 0x40000920, 0, "1,2,3" },
-{ "subl/v", 0x40001920, 0, "1,b,3" },
-{ "s4subl", 0x40000160, 0, "1,2,3" },
-{ "s4subl", 0x40001160, 0, "1,b,3" },
-{ "s8subl", 0x40000360, 0, "1,2,3" },
-{ "s8subl", 0x40001360, 0, "1,b,3" },
-{ "subq", 0x40000520, 0, "1,2,3" },
-{ "subq", 0x40001520, 0, "1,b,3" },
-{ "subq/v", 0x40000d20, 0, "1,2,3" },
-{ "subq/v", 0x40001d20, 0, "1,b,3" },
-{ "s4subq", 0x40000560, 0, "1,2,3" },
-{ "s4subq", 0x40001560, 0, "1,b,3" },
-{ "s8subq", 0x40000760, 0, "1,2,3" },
-{ "s8subq", 0x40001760, 0, "1,b,3" },
-{ "cmpbge", 0x400001e0, 0, "1,2,3" },
-{ "cmpbge", 0x400011e0, 0, "1,b,3" },
-
-{ "mull", 0x4c000000, 0, "1,2,3" },
-{ "mull", 0x4c001000, 0, "1,b,3" },
-{ "mull/v", 0x4c000800, 0, "1,2,3" },
-{ "mull/v", 0x4c001800, 0, "1,b,3" },
-{ "mulq", 0x4c000400, 0, "1,2,3" },
-{ "mulq", 0x4c001400, 0, "1,b,3" },
-{ "mulq/v", 0x4c000c00, 0, "1,2,3" },
-{ "mulq/v", 0x4c001c00, 0, "1,b,3" },
-{ "umulh", 0x4c000600, 0, "1,2,3" },
-{ "umulh", 0x4c001600, 0, "1,b,3" },
-
-{ "clr", 0x47ff0400, 0, "3" }, /* macro: or zero,zero,rc */
-{ "negl", 0x43e00120, 0, "2,3" }, /* macro: subl zero,rb,rc */
-{ "negl_v", 0x43e00920, 0, "2,3" }, /* macro: subl_v zero,rb,rc */
-{ "negq", 0x43e00520, 0, "2,3" }, /* macro: subq zero,rb,rc */
-{ "negq_v", 0x43e00d20, 0, "2,3" }, /* macro: subq_v zero,rb,rc */
-{ "sextl", 0x43e00000, 0, "2,3" }, /* macro: addl zero,rb,rc */
-
-{ "and", 0x44000000, 0, "1,2,3" },
-{ "and", 0x44001000, 0, "1,b,3" },
-{ "and", 0x44000000, 0, "r,2" }, /* macro: and ra,rb,ra */
-{ "and", 0x44001000, 0, "r,b" }, /* macro: and ra,#,ra */
-{ "or", 0x44000400, 0, "1,2,3" },
-{ "or", 0x44001400, 0, "1,b,3" },
-{ "or", 0x44000400, 0, "r,2" }, /* macro: or ra,rb,ra */
-{ "or", 0x44001400, 0, "r,b" }, /* macro: or ra,#,ra */
-{ "bis", 0x44000400, 0, "1,2,3" },
-{ "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 */
-{ "xor", 0x44001800, 0, "r,b" }, /* macro: ra,#,ra */
-{ "andnot", 0x44000100, 0, "1,2,3" },
-{ "andnot", 0x44001100, 0, "1,b,3" },
-{ "andnot", 0x44000100, 0, "r,2" }, /* macro: ra,#,ra */
-{ "andnot", 0x44001100, 0, "r,b" }, /* macro: ra,#,ra */
-{ "bic", 0x44000100, 0, "1,2,3" },
-{ "bic", 0x44001100, 0, "1,b,3" },
-{ "bic", 0x44000100, 0, "r,2" }, /* macro: ra,#,ra */
-{ "bic", 0x44001100, 0, "r,b" }, /* macro: ra,#,ra */
-{ "ornot", 0x44000500, 0, "1,2,3" },
-{ "ornot", 0x44001500, 0, "1,b,3" },
-{ "ornot", 0x44000500, 0, "r,2" }, /* macro: ra,#,ra */
-{ "ornot", 0x44001500, 0, "r,b" }, /* macro: ra,#,ra */
-{ "not", 0x47e00500, 0, "2,3" }, /* macro: ornot zero,.. */
-{ "not", 0x47e01500, 0, "b,3" },
-{ "xornot", 0x44000900, 0, "1,2,3" },
-{ "xornot", 0x44001900, 0, "1,b,3" },
-{ "xornot", 0x44000900, 0, "r,2" }, /* macro: ra,#,ra */
-{ "xornot", 0x44001900, 0, "r,b" }, /* macro: ra,#,ra */
-{ "eqv", 0x44000900, 0, "1,2,3" },
-{ "eqv", 0x44001900, 0, "1,b,3" },
-{ "eqv", 0x44000900, 0, "r,2" }, /* macro: ra,#,ra */
-{ "eqv", 0x44001900, 0, "r,b" }, /* macro: ra,#,ra */
-
-{ "cmoveq", 0x44000480, 0, "1,2,3" },
-{ "cmoveq", 0x44001480, 0, "1,b,3" },
-{ "cmovne", 0x440004c0, 0, "1,2,3" },
-{ "cmovne", 0x440014c0, 0, "1,b,3" },
-{ "cmovlt", 0x44000880, 0, "1,2,3" },
-{ "cmovlt", 0x44001880, 0, "1,b,3" },
-{ "cmovle", 0x44000c80, 0, "1,2,3" },
-{ "cmovle", 0x44001c80, 0, "1,b,3" },
-{ "cmovgt", 0x44000cc0, 0, "1,2,3" },
-{ "cmovgt", 0x44001cc0, 0, "1,b,3" },
-{ "cmovge", 0x440008c0, 0, "1,2,3" },
-{ "cmovge", 0x440018c0, 0, "1,b,3" },
-{ "cmovlbc", 0x440002c0, 0, "1,2,3" },
-{ "cmovlbc", 0x440012c0, 0, "1,b,3" },
-{ "cmovlbs", 0x44000280, 0, "1,2,3" },
-{ "cmovlbs", 0x44001280, 0, "1,b,3" },
-
-{ "sll", 0x48000720, 0, "1,2,3" },
-{ "sll", 0x48001720, 0, "1,b,3" },
-{ "srl", 0x48000680, 0, "1,2,3" },
-{ "srl", 0x48001680, 0, "1,b,3" },
-{ "sra", 0x48000780, 0, "1,2,3" },
-{ "sra", 0x48001780, 0, "1,b,3" },
-
-{ "extbl", 0x480000c0, 0, "1,2,3" },
-{ "extbl", 0x480010c0, 0, "1,b,3" },
-{ "extwl", 0x480002c0, 0, "1,2,3" },
-{ "extwl", 0x480012c0, 0, "1,b,3" },
-{ "extll", 0x480004c0, 0, "1,2,3" },
-{ "extll", 0x480014c0, 0, "1,b,3" },
-{ "extql", 0x480006c0, 0, "1,2,3" },
-{ "extql", 0x480016c0, 0, "1,b,3" },
-{ "extwh", 0x48000b40, 0, "1,2,3" },
-{ "extwh", 0x48001b40, 0, "1,b,3" },
-{ "extlh", 0x48000d40, 0, "1,2,3" },
-{ "extlh", 0x48001d40, 0, "1,b,3" },
-{ "extqh", 0x48000f40, 0, "1,2,3" },
-{ "extqh", 0x48001f40, 0, "1,b,3" },
-{ "insbl", 0x48000160, 0, "1,2,3" },
-{ "insbl", 0x48001160, 0, "1,b,3" },
-{ "inswl", 0x48000360, 0, "1,2,3" },
-{ "inswl", 0x48001360, 0, "1,b,3" },
-{ "insll", 0x48000560, 0, "1,2,3" },
-{ "insll", 0x48001560, 0, "1,b,3" },
-{ "insql", 0x48000760, 0, "1,2,3" },
-{ "insql", 0x48001760, 0, "1,b,3" },
-{ "inswh", 0x48000ae0, 0, "1,2,3" },
-{ "inswh", 0x48001ae0, 0, "1,b,3" },
-{ "inslh", 0x48000ce0, 0, "1,2,3" },
-{ "inslh", 0x48001ce0, 0, "1,b,3" },
-{ "insqh", 0x48000ee0, 0, "1,2,3" },
-{ "insqh", 0x48001ee0, 0, "1,b,3" },
-{ "mskbl", 0x48000040, 0, "1,2,3" },
-{ "mskbl", 0x48001040, 0, "1,b,3" },
-{ "mskwl", 0x48000240, 0, "1,2,3" },
-{ "mskwl", 0x48001240, 0, "1,b,3" },
-{ "mskll", 0x48000440, 0, "1,2,3" },
-{ "mskll", 0x48001440, 0, "1,b,3" },
-{ "mskql", 0x48000640, 0, "1,2,3" },
-{ "mskql", 0x48001640, 0, "1,b,3" },
-{ "mskwh", 0x48000a40, 0, "1,2,3" },
-{ "mskwh", 0x48001a40, 0, "1,b,3" },
-{ "msklh", 0x48000c40, 0, "1,2,3" },
-{ "msklh", 0x48001c40, 0, "1,b,3" },
-{ "mskqh", 0x48000e40, 0, "1,2,3" },
-{ "mskqh", 0x48001e40, 0, "1,b,3" },
-{ "zap", 0x48000600, 0, "1,2,3" },
-{ "zap", 0x48001600, 0, "1,b,3" },
-{ "zapnot", 0x48000620, 0, "1,2,3" },
-{ "zapnot", 0x48001620, 0, "1,b,3" },
-
-/*
- * Floating point instructions
- */
-{ "ldf", 0x80000000, 1, "e,l(2)" }, /* 6o+5a+5b+16d */
-{ "ldf", 0x80000000, 1, "e,G" }, /* regbase macro */
-{ "ldg", 0x84000000, 1, "e,l(2)" },
-{ "ldg", 0x84000000, 1, "e,G" }, /* regbase macro */
-{ "lds", 0x88000000, 1, "e,l(2)" },
-{ "lds", 0x88000000, 1, "e,G" }, /* regbase macro */
-{ "ldt", 0x8c000000, 1, "e,l(2)" },
-{ "ldt", 0x8c000000, 1, "e,G" }, /* regbase macro */
-{ "stf", 0x90000000, 1, "e,l(2)" },
-{ "stf", 0x90000000, 1, "e,P" }, /* regbase macro */
-{ "stg", 0x94000000, 1, "e,l(2)" },
-{ "stg", 0x94000000, 1, "e,P" }, /* regbase macro */
-{ "sts", 0x98000000, 1, "e,l(2)" },
-{ "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" },
-{ "fblt", 0xc8000000, 1, "e,L" },
-{ "fble", 0xcc000000, 1, "e,L" },
-{ "fbgt", 0xdc000000, 1, "e,L" },
-{ "fbge", 0xd8000000, 1, "e,L" },
-
-/* All subsets (opcode 0x17) */
-{ "cpys", 0x5c000400, 1, "e,f,g" }, /* 6o+5a+5b+11f+5c */
-{ "cpysn", 0x5c000420, 1, "e,f,g" },
-{ "cpyse", 0x5c000440, 1, "e,f,g" },
-
-{ "cvtlq", 0x5fe00200, 1, "f,g" },
-{ "cvtql", 0x5fe00600, 1, "f,g" },
-{ "cvtql/v", 0x5fe02600, 1, "f,g" },
-{ "cvtql/sv", 0x5fe06600, 1, "f,g" },
-
-{ "fcmoveq", 0x5c000540, 1, "e,f,g" },
-{ "fcmovne", 0x5c000560, 1, "e,f,g" },
-{ "fcmovlt", 0x5c000580, 1, "e,f,g" },
-{ "fcmovle", 0x5c0005c0, 1, "e,f,g" },
-{ "fcmovgt", 0x5c0005e0, 1, "e,f,g" },
-{ "fcmovge", 0x5c0005a0, 1, "e,f,g" },
-
-{ "mf_fpcr", 0x5c0004a0, 1, "E" },
-{ "mt_fpcr", 0x5c000480, 1, "E" },
-
-/* VAX subset (opcode 0x15) */
-{ "addf", 0x54001000, 1, "e,f,g" },
-{ "addf/c", 0x54000000, 1, "e,f,g" },
-{ "addf/u", 0x54003000, 1, "e,f,g" },
-{ "addf/uc", 0x54002000, 1, "e,f,g" },
-{ "addf/s", 0x54009000, 1, "e,f,g" },
-{ "addf/sc", 0x54008000, 1, "e,f,g" },
-{ "addf/su", 0x5400b000, 1, "e,f,g" },
-{ "addf/suc", 0x5400a000, 1, "e,f,g" },
-{ "addg", 0x54001400, 1, "e,f,g" },
-{ "addg/c", 0x54000400, 1, "e,f,g" },
-{ "addg/u", 0x54003400, 1, "e,f,g" },
-{ "addg/uc", 0x54002400, 1, "e,f,g" },
-{ "addg/s", 0x54009400, 1, "e,f,g" },
-{ "addg/sc", 0x54008400, 1, "e,f,g" },
-{ "addg/su", 0x5400b400, 1, "e,f,g" },
-{ "addg/suc", 0x5400a400, 1, "e,f,g" },
-{ "subf", 0x54001020, 1, "e,f,g" },
-{ "subf/c", 0x54000020, 1, "e,f,g" },
-{ "subf/u", 0x54003020, 1, "e,f,g" },
-{ "subf/uc", 0x54002020, 1, "e,f,g" },
-{ "subf/s", 0x54009020, 1, "e,f,g" },
-{ "subf/sc", 0x54008020, 1, "e,f,g" },
-{ "subf/su", 0x5400b020, 1, "e,f,g" },
-{ "subf/suc", 0x5400a020, 1, "e,f,g" },
-{ "subg", 0x54001420, 1, "e,f,g" },
-{ "subg/c", 0x54000420, 1, "e,f,g" },
-{ "subg/u", 0x54003420, 1, "e,f,g" },
-{ "subg/uc", 0x54002420, 1, "e,f,g" },
-{ "subg/s", 0x54009420, 1, "e,f,g" },
-{ "subg/sc", 0x54008420, 1, "e,f,g" },
-{ "subg/su", 0x5400b420, 1, "e,f,g" },
-{ "subg/suc", 0x5400a420, 1, "e,f,g" },
-
-{ "cmpgeq", 0x540014a0, 1, "e,f,g" },
-{ "cmpgeq/s", 0x540094a0, 1, "e,f,g" },
-{ "cmpglt", 0x540014c0, 1, "e,f,g" },
-{ "cmpglt/s", 0x540094c0, 1, "e,f,g" },
-{ "cmpgle", 0x540014e0, 1, "e,f,g" },
-{ "cmpgle/s", 0x540094e0, 1, "e,f,g" },
-
-{ "cvtgq", 0x57e015e0, 1, "f,g" },
-{ "cvtgq/c", 0x57e005e0, 1, "f,g" },
-{ "cvtgq/v", 0x57e035e0, 1, "f,g" },
-{ "cvtgq/vc", 0x57e025e0, 1, "f,g" },
-{ "cvtgq/s", 0x57e095e0, 1, "f,g" },
-{ "cvtgq/sc", 0x57e085e0, 1, "f,g" },
-{ "cvtgq/sv", 0x57e0b5e0, 1, "f,g" },
-{ "cvtgq/svc", 0x57e0a5e0, 1, "f,g" },
-{ "cvtqf", 0x57e01780, 1, "f,g" },
-{ "cvtqf/c", 0x57e00780, 1, "f,g" },
-{ "cvtqf/s", 0x57e09780, 1, "f,g" },
-{ "cvtqf/sc", 0x57e08780, 1, "f,g" },
-{ "cvtqg", 0x57e017c0, 1, "f,g" },
-{ "cvtqg/c", 0x57e007c0, 1, "f,g" },
-{ "cvtqg/s", 0x57e097c0, 1, "f,g" },
-{ "cvtqg/sc", 0x57e087c0, 1, "f,g" },
-{ "cvtdg", 0x57e013c0, 1, "f,g" },
-{ "cvtdg/c", 0x57e003c0, 1, "f,g" },
-{ "cvtdg/u", 0x57e033c0, 1, "f,g" },
-{ "cvtdg/uc", 0x57e023c0, 1, "f,g" },
-{ "cvtdg/s", 0x57e093c0, 1, "f,g" },
-{ "cvtdg/sc", 0x57e083c0, 1, "f,g" },
-{ "cvtdg/su", 0x57e0b3c0, 1, "f,g" },
-{ "cvtdg/suc", 0x57e0a3c0, 1, "f,g" },
-{ "cvtgd", 0x57e015a0, 1, "f,g" },
-{ "cvtgd/c", 0x57e005a0, 1, "f,g" },
-{ "cvtgd/u", 0x57e035a0, 1, "f,g" },
-{ "cvtgd/uc", 0x57e025a0, 1, "f,g" },
-{ "cvtgd/s", 0x57e095a0, 1, "f,g" },
-{ "cvtgd/sc", 0x57e085a0, 1, "f,g" },
-{ "cvtgd/su", 0x57e0b5a0, 1, "f,g" },
-{ "cvtgd/suc", 0x57e0a5a0, 1, "f,g" },
-{ "cvtgf", 0x57e01580, 1, "f,g" },
-{ "cvtgf/c", 0x57e00580, 1, "f,g" },
-{ "cvtgf/u", 0x57e03580, 1, "f,g" },
-{ "cvtgf/uc", 0x57e02580, 1, "f,g" },
-{ "cvtgf/s", 0x57e09580, 1, "f,g" },
-{ "cvtgf/sc", 0x57e08580, 1, "f,g" },
-{ "cvtgf/su", 0x57e0b580, 1, "f,g" },
-{ "cvtgf/suc", 0x57e0a580, 1, "f,g" },
-
-{ "divf", 0x54001060, 1, "e,f,g" },
-{ "divf/c", 0x54000060, 1, "e,f,g" },
-{ "divf/u", 0x54003060, 1, "e,f,g" },
-{ "divf/uc", 0x54002060, 1, "e,f,g" },
-{ "divf/s", 0x54009060, 1, "e,f,g" },
-{ "divf/sc", 0x54008060, 1, "e,f,g" },
-{ "divf/su", 0x5400b060, 1, "e,f,g" },
-{ "divf/suc", 0x5400a060, 1, "e,f,g" },
-{ "divg", 0x54001460, 1, "e,f,g" },
-{ "divg/c", 0x54000460, 1, "e,f,g" },
-{ "divg/u", 0x54003460, 1, "e,f,g" },
-{ "divg/uc", 0x54002460, 1, "e,f,g" },
-{ "divg/s", 0x54009460, 1, "e,f,g" },
-{ "divg/sc", 0x54008460, 1, "e,f,g" },
-{ "divg/su", 0x5400b460, 1, "e,f,g" },
-{ "divg/suc", 0x5400a460, 1, "e,f,g" },
-{ "mulf", 0x54001040, 1, "e,f,g" },
-{ "mulf/c", 0x54000040, 1, "e,f,g" },
-{ "mulf/u", 0x54003040, 1, "e,f,g" },
-{ "mulf/uc", 0x54002040, 1, "e,f,g" },
-{ "mulf/s", 0x54009040, 1, "e,f,g" },
-{ "mulf/sc", 0x54008040, 1, "e,f,g" },
-{ "mulf/su", 0x5400b040, 1, "e,f,g" },
-{ "mulf/suc", 0x5400a040, 1, "e,f,g" },
-{ "mulg", 0x54001440, 1, "e,f,g" },
-{ "mulg/c", 0x54000440, 1, "e,f,g" },
-{ "mulg/u", 0x54003440, 1, "e,f,g" },
-{ "mulg/uc", 0x54002440, 1, "e,f,g" },
-{ "mulg/s", 0x54009440, 1, "e,f,g" },
-{ "mulg/sc", 0x54008440, 1, "e,f,g" },
-{ "mulg/su", 0x5400b440, 1, "e,f,g" },
-{ "mulg/suc", 0x5400a440, 1, "e,f,g" },
-
-/* IEEE subset (opcode 0x16) */
-{ "adds", 0x58001000, 1, "e,f,g" },
-{ "adds/c", 0x58000000, 1, "e,f,g" },
-{ "adds/m", 0x58000800, 1, "e,f,g" },
-{ "adds/d", 0x58001800, 1, "e,f,g" },
-{ "adds/u", 0x58003000, 1, "e,f,g" },
-{ "adds/uc", 0x58002000, 1, "e,f,g" },
-{ "adds/um", 0x58002800, 1, "e,f,g" },
-{ "adds/ud", 0x58003800, 1, "e,f,g" },
-{ "adds/su", 0x5800b000, 1, "e,f,g" },
-{ "adds/suc", 0x5800a000, 1, "e,f,g" },
-{ "adds/sum", 0x5800a800, 1, "e,f,g" },
-{ "adds/sud", 0x5800b800, 1, "e,f,g" },
-{ "adds/sui", 0x5800f000, 1, "e,f,g" },
-{ "adds/suic", 0x5800e000, 1, "e,f,g" },
-{ "adds/suim", 0x5800e800, 1, "e,f,g" },
-{ "adds/suid", 0x5800f800, 1, "e,f,g" },
-{ "addt", 0x58001400, 1, "e,f,g" },
-{ "addt/c", 0x58000400, 1, "e,f,g" },
-{ "addt/m", 0x58000c00, 1, "e,f,g" },
-{ "addt/d", 0x58001c00, 1, "e,f,g" },
-{ "addt/u", 0x58003400, 1, "e,f,g" },
-{ "addt/uc", 0x58002400, 1, "e,f,g" },
-{ "addt/um", 0x58002c00, 1, "e,f,g" },
-{ "addt/ud", 0x58003c00, 1, "e,f,g" },
-{ "addt/su", 0x5800b400, 1, "e,f,g" },
-{ "addt/suc", 0x5800a400, 1, "e,f,g" },
-{ "addt/sum", 0x5800ac00, 1, "e,f,g" },
-{ "addt/sud", 0x5800bc00, 1, "e,f,g" },
-{ "addt/sui", 0x5800f400, 1, "e,f,g" },
-{ "addt/suic", 0x5800e400, 1, "e,f,g" },
-{ "addt/suim", 0x5800ec00, 1, "e,f,g" },
-{ "addt/suid", 0x5800fc00, 1, "e,f,g" },
-{ "subs", 0x58001020, 1, "e,f,g" },
-{ "subs/c", 0x58000020, 1, "e,f,g" },
-{ "subs/m", 0x58000820, 1, "e,f,g" },
-{ "subs/d", 0x58001820, 1, "e,f,g" },
-{ "subs/u", 0x58003020, 1, "e,f,g" },
-{ "subs/uc", 0x58002020, 1, "e,f,g" },
-{ "subs/um", 0x58002820, 1, "e,f,g" },
-{ "subs/ud", 0x58003820, 1, "e,f,g" },
-{ "subs/su", 0x5800b020, 1, "e,f,g" },
-{ "subs/suc", 0x5800a020, 1, "e,f,g" },
-{ "subs/sum", 0x5800a820, 1, "e,f,g" },
-{ "subs/sud", 0x5800b820, 1, "e,f,g" },
-{ "subs/sui", 0x5800f020, 1, "e,f,g" },
-{ "subs/suic", 0x5800e020, 1, "e,f,g" },
-{ "subs/suim", 0x5800e820, 1, "e,f,g" },
-{ "subs/suid", 0x5800f820, 1, "e,f,g" },
-{ "subt", 0x58001420, 1, "e,f,g" },
-{ "subt/c", 0x58000420, 1, "e,f,g" },
-{ "subt/m", 0x58000c20, 1, "e,f,g" },
-{ "subt/d", 0x58001c20, 1, "e,f,g" },
-{ "subt/u", 0x58003420, 1, "e,f,g" },
-{ "subt/uc", 0x58002420, 1, "e,f,g" },
-{ "subt/um", 0x58002c20, 1, "e,f,g" },
-{ "subt/ud", 0x58003c20, 1, "e,f,g" },
-{ "subt/su", 0x5800b420, 1, "e,f,g" },
-{ "subt/suc", 0x5800a420, 1, "e,f,g" },
-{ "subt/sum", 0x5800ac20, 1, "e,f,g" },
-{ "subt/sud", 0x5800bc20, 1, "e,f,g" },
-{ "subt/sui", 0x5800f420, 1, "e,f,g" },
-{ "subt/suic", 0x5800e420, 1, "e,f,g" },
-{ "subt/suim", 0x5800ec20, 1, "e,f,g" },
-{ "subt/suid", 0x5800fc20, 1, "e,f,g" },
-
-{ "cmpteq", 0x580014a0, 1, "e,f,g" },
-{ "cmpteq/su", 0x5800b4a0, 1, "e,f,g" },
-{ "cmptlt", 0x580014c0, 1, "e,f,g" },
-{ "cmptlt/su", 0x5800b4c0, 1, "e,f,g" },
-{ "cmptle", 0x580014e0, 1, "e,f,g" },
-{ "cmptle/su", 0x5800b4e0, 1, "e,f,g" },
-{ "cmptun", 0x58001480, 1, "e,f,g" },
-{ "cmptun/su", 0x5800b480, 1, "e,f,g" },
-
-{ "cvttq", 0x5be015e0, 1, "f,g" },
-{ "cvttq/c", 0x5be005e0, 1, "f,g" },
-{ "cvttq/v", 0x5be035e0, 1, "f,g" },
-{ "cvttq/vc", 0x5be025e0, 1, "f,g" },
-{ "cvttq/sv", 0x5be0b5e0, 1, "f,g" },
-{ "cvttq/svc", 0x5be0a5e0, 1, "f,g" },
-{ "cvttq/svi", 0x5be0f5e0, 1, "f,g" },
-{ "cvttq/svic", 0x5be0e5e0, 1, "f,g" },
-{ "cvtqs", 0x5be01780, 1, "f,g" },
-{ "cvtqs/c", 0x5be00780, 1, "f,g" },
-{ "cvtqs/m", 0x5be00f80, 1, "f,g" },
-{ "cvtqs/d", 0x5be01f80, 1, "f,g" },
-{ "cvtqs/sui", 0x5be0f780, 1, "f,g" },
-{ "cvtqs/suic", 0x5be0e780, 1, "f,g" },
-{ "cvtqs/suim", 0x5be0ef80, 1, "f,g" },
-{ "cvtqs/suid", 0x5be0ff80, 1, "f,g" },
-{ "cvtqt", 0x5be017c0, 1, "f,g" },
-{ "cvtqt/c", 0x5be007c0, 1, "f,g" },
-{ "cvtqt/m", 0x5be00fc0, 1, "f,g" },
-{ "cvtqt/d", 0x5be01fc0, 1, "f,g" },
-{ "cvtqt/sui", 0x5be0f7c0, 1, "f,g" },
-{ "cvtqt/suic", 0x5be0e7c0, 1, "f,g" },
-{ "cvtqt/suim", 0x5be0efc0, 1, "f,g" },
-{ "cvtqt/suid", 0x5be0ffc0, 1, "f,g" },
-{ "cvtst", 0x5be05580, 1, "f,g" }, /* note: floatop is same as cvtts! */
-{ "cvtst/s", 0x5be0d580, 1, "f,g" }, /* note: floatop is same as cvtts! */
-{ "cvtts", 0x5be01580, 1, "f,g" },
-{ "cvtts/c", 0x5be00580, 1, "f,g" },
-{ "cvtts/m", 0x5be00d80, 1, "f,g" },
-{ "cvtts/d", 0x5be01d80, 1, "f,g" },
-{ "cvtts/u", 0x5be03580, 1, "f,g" },
-{ "cvtts/uc", 0x5be02580, 1, "f,g" },
-{ "cvtts/um", 0x5be02d80, 1, "f,g" },
-{ "cvtts/ud", 0x5be03d80, 1, "f,g" },
-{ "cvtts/su", 0x5be0b580, 1, "f,g" },
-{ "cvtts/suc", 0x5be0a580, 1, "f,g" },
-{ "cvtts/sum", 0x5be0ad80, 1, "f,g" },
-{ "cvtts/sud", 0x5be0bd80, 1, "f,g" },
-{ "cvtts/sui", 0x5be0f580, 1, "f,g" },
-{ "cvtts/suic", 0x5be0e580, 1, "f,g" },
-{ "cvtts/suim", 0x5be0ed80, 1, "f,g" },
-{ "cvtts/suid", 0x5be0fd80, 1, "f,g" },
-
-{ "divs", 0x58001060, 1, "e,f,g" },
-{ "divs/c", 0x58000060, 1, "e,f,g" },
-{ "divs/m", 0x58000860, 1, "e,f,g" },
-{ "divs/d", 0x58001860, 1, "e,f,g" },
-{ "divs/u", 0x58003060, 1, "e,f,g" },
-{ "divs/uc", 0x58002060, 1, "e,f,g" },
-{ "divs/um", 0x58002860, 1, "e,f,g" },
-{ "divs/ud", 0x58003860, 1, "e,f,g" },
-{ "divs/su", 0x5800b060, 1, "e,f,g" },
-{ "divs/suc", 0x5800a060, 1, "e,f,g" },
-{ "divs/sum", 0x5800a860, 1, "e,f,g" },
-{ "divs/sud", 0x5800b860, 1, "e,f,g" },
-{ "divs/sui", 0x5800f060, 1, "e,f,g" },
-{ "divs/suic", 0x5800e060, 1, "e,f,g" },
-{ "divs/suim", 0x5800e860, 1, "e,f,g" },
-{ "divs/suid", 0x5800f860, 1, "e,f,g" },
-{ "divt", 0x58001460, 1, "e,f,g" },
-{ "divt/c", 0x58000460, 1, "e,f,g" },
-{ "divt/m", 0x58000c60, 1, "e,f,g" },
-{ "divt/d", 0x58001c60, 1, "e,f,g" },
-{ "divt/u", 0x58003460, 1, "e,f,g" },
-{ "divt/uc", 0x58002460, 1, "e,f,g" },
-{ "divt/um", 0x58002c60, 1, "e,f,g" },
-{ "divt/ud", 0x58003c60, 1, "e,f,g" },
-{ "divt/su", 0x5800b460, 1, "e,f,g" },
-{ "divt/suc", 0x5800a460, 1, "e,f,g" },
-{ "divt/sum", 0x5800ac60, 1, "e,f,g" },
-{ "divt/sud", 0x5800bc60, 1, "e,f,g" },
-{ "divt/sui", 0x5800f460, 1, "e,f,g" },
-{ "divt/suic", 0x5800e460, 1, "e,f,g" },
-{ "divt/suim", 0x5800ec60, 1, "e,f,g" },
-{ "divt/suid", 0x5800fc60, 1, "e,f,g" },
-{ "muls", 0x58001040, 1, "e,f,g" },
-{ "muls/c", 0x58000040, 1, "e,f,g" },
-{ "muls/m", 0x58000840, 1, "e,f,g" },
-{ "muls/d", 0x58001840, 1, "e,f,g" },
-{ "muls/u", 0x58003040, 1, "e,f,g" },
-{ "muls/uc", 0x58002040, 1, "e,f,g" },
-{ "muls/um", 0x58002840, 1, "e,f,g" },
-{ "muls/ud", 0x58003840, 1, "e,f,g" },
-{ "muls/su", 0x5800b040, 1, "e,f,g" },
-{ "muls/suc", 0x5800a040, 1, "e,f,g" },
-{ "muls/sum", 0x5800a840, 1, "e,f,g" },
-{ "muls/sud", 0x5800b840, 1, "e,f,g" },
-{ "muls/sui", 0x5800f040, 1, "e,f,g" },
-{ "muls/suic", 0x5800e040, 1, "e,f,g" },
-{ "muls/suim", 0x5800e840, 1, "e,f,g" },
-{ "muls/suid", 0x5800f840, 1, "e,f,g" },
-{ "mult", 0x58001440, 1, "e,f,g" },
-{ "mult/c", 0x58000440, 1, "e,f,g" },
-{ "mult/m", 0x58000c40, 1, "e,f,g" },
-{ "mult/d", 0x58001c40, 1, "e,f,g" },
-{ "mult/u", 0x58003440, 1, "e,f,g" },
-{ "mult/uc", 0x58002440, 1, "e,f,g" },
-{ "mult/um", 0x58002c40, 1, "e,f,g" },
-{ "mult/ud", 0x58003c40, 1, "e,f,g" },
-{ "mult/su", 0x5800b440, 1, "e,f,g" },
-{ "mult/suc", 0x5800a440, 1, "e,f,g" },
-{ "mult/sum", 0x5800ac40, 1, "e,f,g" },
-{ "mult/sud", 0x5800bc40, 1, "e,f,g" },
-{ "mult/sui", 0x5800f440, 1, "e,f,g" },
-{ "mult/suic", 0x5800e440, 1, "e,f,g" },
-{ "mult/suim", 0x5800ec40, 1, "e,f,g" },
-{ "mult/suid", 0x5800fc40, 1, "e,f,g" },
-
-/*
- * Miscellaneous
- */
-{ "pal", 0x00000000, 0, "I" }, /* 6o+26f */
-{ "call_pal", 0x00000000, 0, "I" }, /* alias */
-{ "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 */
-{ "fetch", 0x60008000, 0, "0(2)" },
-{ "fetch_m", 0x6000a000, 0, "0(2)" },
-{ "mb", 0x60004000, 0, "" },
-{ "rpcc", 0x6000c000, 0, "1" },
-{ "rc", 0x6000e000, 0, "1" },
-{ "rs", 0x6000f000, 0, "1" },
-
-/*
- * PAL instructions
- */
-{ "hw_ld", 0x6c000000, 0, "1,t(2)" },
-{ "hw_ld/p", 0x6c008000, 0, "1,t(2)" },
-{ "hw_ld/a", 0x6c004000, 0, "1,t(2)" },
-{ "hw_ld/r", 0x6c002000, 0, "1,t(2)" },
-{ "hw_ld/q", 0x6c001000, 0, "1,t(2)" },
-{ "hw_ld/pa", 0x6c00C000, 0, "1,t(2)" },
-{ "hw_ld/pr", 0x6c00A000, 0, "1,t(2)" },
-{ "hw_ld/pq", 0x6c009000, 0, "1,t(2)" },
-{ "hw_ld/ar", 0x6c006000, 0, "1,t(2)" },
-{ "hw_ld/aq", 0x6c005000, 0, "1,t(2)" },
-{ "hw_ld/rq", 0x6c003000, 0, "1,t(2)" },
-{ "hw_ld/par", 0x6c00e000, 0, "1,t(2)" },
-{ "hw_ld/paq", 0x6c00d000, 0, "1,t(2)" },
-{ "hw_ld/prq", 0x6c00b000, 0, "1,t(2)" },
-{ "hw_ld/arq", 0x6c007000, 0, "1,t(2)" },
-{ "hw_ld/parq", 0x6c00f000, 0, "1,t(2)" },
-
-{ "hw_ldq", 0x6c001000, 0, "1,t(2)" }, /* ldq/ldl variants for Eric */
-{ "hw_ldq/p", 0x6c009000, 0, "1,t(2)" },
-{ "hw_ldq/a", 0x6c005000, 0, "1,t(2)" },
-{ "hw_ldq/r", 0x6c003000, 0, "1,t(2)" },
-{ "hw_ldq/pa", 0x6c00d000, 0, "1,t(2)" },
-{ "hw_ldq/pr", 0x6c00b000, 0, "1,t(2)" },
-{ "hw_ldq/ar", 0x6c007000, 0, "1,t(2)" },
-{ "hw_ldq/par", 0x6c00f000, 0, "1,t(2)" },
-{ "hw_ldl", 0x6c000000, 0, "1,t(2)" },
-{ "hw_ldl/p", 0x6c008000, 0, "1,t(2)" },
-{ "hw_ldl/a", 0x6c004000, 0, "1,t(2)" },
-{ "hw_ldl/r", 0x6c002000, 0, "1,t(2)" },
-{ "hw_ldl/pa", 0x6c00C000, 0, "1,t(2)" },
-{ "hw_ldl/pr", 0x6c00A000, 0, "1,t(2)" },
-{ "hw_ldl/ar", 0x6c006000, 0, "1,t(2)" },
-{ "hw_ldl/par", 0x6c00e000, 0, "1,t(2)" },
-
-{ "hw_st/paq", 0x7c00c000, 0, "1,t(2)" },
-{ "hw_st/pa", 0x7c00b000, 0, "1,t(2)" },
-{ "hw_st/pq", 0x7c009000, 0, "1,t(2)" },
-{ "hw_st/aq", 0x7c005000, 0, "1,t(2)" },
-{ "hw_st/p", 0x7c008000, 0, "1,t(2)" },
-{ "hw_st/a", 0x7c004000, 0, "1,t(2)" },
-{ "hw_st/q", 0x7c001000, 0, "1,t(2)" },
-{ "hw_st", 0x7c000000, 0, "1,t(2)" },
-
-{ "hw_stq/pa", 0x7c00c000, 0, "1,t(2)" }, /* stq/stl variants for Eric */
-{ "hw_stq/p", 0x7c009000, 0, "1,t(2)" },
-{ "hw_stq", 0x7c001000, 0, "1,t(2)" },
-{ "hw_stq/a", 0x7c005000, 0, "1,t(2)" },
-{ "hw_stl/pa", 0x7c00b000, 0, "1,t(2)" },
-{ "hw_stl/p", 0x7c008000, 0, "1,t(2)" },
-{ "hw_stl/a", 0x7c004000, 0, "1,t(2)" },
-{ "hw_stl", 0x7c000000, 0, "1,t(2)" },
-
-{ "hw_mfpr/p", 0x64000080, 0, "R,3" },
-{ "hw_mfpr/a", 0x64000040, 0, "R,3" },
-{ "hw_mfpr/i", 0x64000020, 0, "R,3" },
-{ "hw_mfpr/pa", 0x640000c0, 0, "R,3" },
-{ "hw_mfpr/pi", 0x640000a0, 0, "R,3" },
-{ "hw_mfpr/ai", 0x64000060, 0, "R,3" },
-{ "hw_mfpr/pai",0x640000e0, 0, "R,3" },
-{ "hw_mfpr", 0x64000000, 0, "R,8" },
-
-{ "hw_mtpr/p", 0x74000080, 0, "R,3" },
-{ "hw_mtpr/a", 0x74000040, 0, "R,3" },
-{ "hw_mtpr/i", 0x74000020, 0, "R,3" },
-{ "hw_mtpr/pa", 0x740000c0, 0, "R,3" },
-{ "hw_mtpr/pi", 0x740000a0, 0, "R,3" },
-{ "hw_mtpr/ai", 0x74000060, 0, "R,3" },
-{ "hw_mtpr/pai",0x740000e0, 0, "R,3" },
-{ "hw_mtpr", 0x74000000, 0, "R,8" },
-
-{ "hw_rei", 0x7bff8000, 0, "" },
-/*
- * More macros
- */
-{ "nop", 0x47ff041f, 0, "" }, /* or zero,zero,zero */
-{ "mov", 0x47e00400, 0, "2,3" }, /* or zero,r2,r3 */
-};
-
-#define NUMOPCODES ((sizeof alpha_opcodes)/(sizeof alpha_opcodes[0]))
diff --git a/gas/configure b/gas/configure
index dc09f0b..03cf467 100755
--- a/gas/configure
+++ b/gas/configure
@@ -1,8 +1,8 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.8
-# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
+# Generated automatically using autoconf version 2.10
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
@@ -336,7 +336,7 @@ EOF
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.8"
+ echo "configure generated by autoconf version 2.10"
exit 0 ;;
-with-* | --with-*)
@@ -755,7 +755,8 @@ for this_target in $target $canon_targets ; do
alpha-*-netware*) fmt=ecoff ;;
alpha-*-osf*) fmt=ecoff ;;
- alpha-*-linux*) fmt=ecoff ;;
+ alpha-*-linuxecoff*) fmt=ecoff ;;
+ alpha-*-linux*) fmt=elf em=linux ;;
# start-sanitize-arc
arc-*-elf*) fmt=elf bfd_gas=yes ;;
@@ -898,15 +899,11 @@ for this_target in $target $canon_targets ; do
sh-*-coff) fmt=coff ;;
-# start-sanitize-rce
- rce-*-aout) fmt=aout ;;
-# end-sanitize-rce
-
ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
sparc-*-sunos4*) fmt=aout em=sun3 ;;
- sparc-*-aout | sparc*-*-vxworks)
+ sparc-*-aout | sparc*-*-vxworks*)
fmt=aout ;;
sparc-*-coff) fmt=coff ;;
sparc-*-lynxos*) fmt=coff em=lynx ;;
@@ -941,6 +938,7 @@ for this_target in $target $canon_targets ; do
esac
case ${cpu_type}-${fmt} in
+ alpha-*) bfd_gas=yes ;;
arm-*) bfd_gas=yes ;;
# not yet
# i386-aout) bfd_gas=preferred ;;
@@ -958,7 +956,7 @@ for this_target in $target $canon_targets ; do
# do we need the opcodes library?
case ${cpu_type} in
- alpha | vax | i386)
+ vax | i386)
;;
*)
need_opcodes=yes
@@ -1416,7 +1414,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1420: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1418: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -1528,13 +1526,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 1532 "configure"
+#line 1530 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1538: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1536: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -1543,13 +1541,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1547 "configure"
+#line 1545 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1553: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1551: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -1577,12 +1575,12 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1581 "configure"
+#line 1579 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1586: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1584: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1630,11 +1628,11 @@ else
ac_cv_c_cross=yes
else
cat > conftest.$ac_ext <<EOF
-#line 1634 "configure"
+#line 1632 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-{ (eval echo configure:1638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
+{ (eval echo configure:1636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
if test -s conftest && (./conftest; exit) 2>/dev/null; then
ac_cv_c_cross=no
else
@@ -1654,7 +1652,7 @@ if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1658 "configure"
+#line 1656 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() { return 0; }
@@ -1662,7 +1660,7 @@ int t() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:1666: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:1664: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
@@ -1686,7 +1684,7 @@ if eval "test \"`echo '$''{'ac_cv_func_alloca'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1690 "configure"
+#line 1688 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -1710,7 +1708,7 @@ int t() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:1714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:1712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
ac_cv_func_alloca=yes
else
@@ -1745,7 +1743,7 @@ if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1749 "configure"
+#line 1747 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -1774,12 +1772,14 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1778 "configure"
+#line 1776 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
char $ac_func();
int main() { return 0; }
@@ -1917,6 +1917,8 @@ else
which can conflict with char $ac_func(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
char $ac_func();
int main() { return 0; }
@@ -1933,7 +1935,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1937: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:1939: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1964,12 +1966,14 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1968 "configure"
+#line 1970 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
char $ac_func();
int main() { return 0; }
@@ -1986,7 +1990,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:1994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2017,7 +2021,7 @@ if eval "test \"`echo '$''{'gas_cv_assert_ok'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2021 "configure"
+#line 2025 "configure"
#include "confdefs.h"
#include <assert.h>
#include <stdio.h>
@@ -2034,7 +2038,7 @@ assert (a == b
; return 0; }
EOF
-if { (eval echo configure:2038: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:2042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_assert_ok=yes
else
@@ -2074,7 +2078,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_malloc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2078 "configure"
+#line 2082 "configure"
#include "confdefs.h"
$gas_test_headers
int main() { return 0; }
@@ -2086,7 +2090,7 @@ x = (f) malloc;
; return 0; }
EOF
-if { (eval echo configure:2090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:2094: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_decl_needed_malloc=no
else
@@ -2110,7 +2114,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_free'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2114 "configure"
+#line 2118 "configure"
#include "confdefs.h"
$gas_test_headers
int main() { return 0; }
@@ -2122,7 +2126,7 @@ x = (f) free;
; return 0; }
EOF
-if { (eval echo configure:2126: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:2130: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_decl_needed_free=no
else
@@ -2149,7 +2153,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_errno'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2153 "configure"
+#line 2157 "configure"
#include "confdefs.h"
#ifdef HAVE_ERRNO_H
@@ -2165,7 +2169,7 @@ x = (f) errno;
; return 0; }
EOF
-if { (eval echo configure:2169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:2173: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_decl_needed_errno=no
else
@@ -2307,7 +2311,7 @@ do
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.8"
+ echo "$CONFIG_STATUS generated by autoconf version 2.10"
exit 0 ;;
-help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;;
@@ -2485,7 +2489,7 @@ rm -f conftest.vals
cat > conftest.hdr <<\EOF
s/[\\&%]/\\&/g
s%[\\$`]%\\&%g
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
s%ac_d%ac_u%gp
s%ac_u%ac_e%gp
EOF
@@ -2533,6 +2537,12 @@ cat >> $CONFIG_STATUS <<\EOF
echo "$ac_file is unchanged"
rm -f conftest.h
else
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ fi
rm -f $ac_file
mv conftest.h $ac_file
fi
diff --git a/gas/configure.in b/gas/configure.in
index 17893fe..6b9ced8 100644
--- a/gas/configure.in
+++ b/gas/configure.in
@@ -109,7 +109,8 @@ changequote([,])dnl
alpha-*-netware*) fmt=ecoff ;;
alpha-*-osf*) fmt=ecoff ;;
- alpha-*-linux*) fmt=ecoff ;;
+ alpha-*-linuxecoff*) fmt=ecoff ;;
+ alpha-*-linux*) fmt=elf em=linux ;;
# start-sanitize-arc
arc-*-elf*) fmt=elf bfd_gas=yes ;;
@@ -252,15 +253,11 @@ changequote([,])dnl
sh-*-coff) fmt=coff ;;
-# start-sanitize-rce
- rce-*-aout) fmt=aout ;;
-# end-sanitize-rce
-
ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
sparc-*-sunos4*) fmt=aout em=sun3 ;;
- sparc-*-aout | sparc*-*-vxworks)
+ sparc-*-aout | sparc*-*-vxworks*)
fmt=aout ;;
sparc-*-coff) fmt=coff ;;
sparc-*-lynxos*) fmt=coff em=lynx ;;
@@ -295,6 +292,7 @@ changequote([,])dnl
esac
case ${cpu_type}-${fmt} in
+ alpha-*) bfd_gas=yes ;;
arm-*) bfd_gas=yes ;;
# not yet
# i386-aout) bfd_gas=preferred ;;
@@ -312,7 +310,7 @@ changequote([,])dnl
# do we need the opcodes library?
case ${cpu_type} in
- alpha | vax | i386)
+ vax | i386)
;;
*)
need_opcodes=yes