Fri Jun 21 16:01:18 1996 Richard Henderson <rth@tamu.edu>
authorIan Lance Taylor <ian@airs.com>
Fri, 21 Jun 1996 20:10:12 +0000 (20:10 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 21 Jun 1996 20:10:12 +0000 (20:10 +0000)
* 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.

gas/ChangeLog
gas/config/.Sanitize
gas/config/alpha-opcode.h [deleted file]
gas/configure
gas/configure.in

index bd3d62b..0d4cebf 100644 (file)
@@ -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
index 72aa71b..e9cfd11 100644 (file)
@@ -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 (file)
index 4ba5899..0000000
+++ /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]))
index dc09f0b..03cf467 100755 (executable)
@@ -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
index 17893fe..6b9ced8 100644 (file)
@@ -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