629 lines
22 KiB
C
629 lines
22 KiB
C
/* Opcode table for the Alpha.
|
|
|
|
Copyright 1993, 1995 Free Software Foundation, Inc.
|
|
|
|
This program 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 2, or (at your option)
|
|
any later version.
|
|
|
|
This program 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 this program; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
|
|
|
/* Contributed by sac@cygnus.com. */
|
|
|
|
|
|
#define OSF_ASMCODE 1
|
|
|
|
/* Alpha opcode format */
|
|
#define RA(x) (((x)>>21)& 0x1f)
|
|
#define RB(x) (((x)>>16)& 0x1f)
|
|
#define RC(x) (((x)>>0) & 0x1f)
|
|
#define DISP(x) ((((x) & 0xffff) ^ 0x8000)-0x8000)
|
|
#define BDISP(x) ((((x) & 0x1fffff) ^ 0x100000)-0x100000)
|
|
#define OPCODE(x) (((x) >>26)&0x3f)
|
|
#define JUMP_OPTYPE(x) (((x)>>14) & 0xf)
|
|
#define JUMP_HINT(x) ((x) & 0x3fff)
|
|
#define JDISP(x) ((((x) & 0x3fff) ^ 0x2000)-0x2000)
|
|
#define OP_OPTYPE(x) (((x)>>5)&0x7f)
|
|
#define OP_IS_CONSTANT(x) ((x) & (1<<12))
|
|
#define LITERAL(x) (((x)>>13) & 0xff)
|
|
|
|
|
|
/* Shapes
|
|
|
|
Memory instruction format oooo ooaa aaab bbbb dddd dddd dddd dddd
|
|
Memory with function oooo ooaa aaab bbbb ffff ffff ffff ffff
|
|
Memory branch oooo ooaa aaab bbbb BBff ffff ffff ffff
|
|
Branch oooo ooaa aaad dddd dddd dddd dddd dddd
|
|
Operate reg oooo ooaa aaab bbbb ***F ffff fffc cccc
|
|
Operate cont oooo ooaa aaal llll lll1 ffff fffc cccc
|
|
FP reg oooo ooaa aaab bbbb 000f ffff fffc cccc
|
|
Pal oooo oodd dddd dddd dddd dddd dddd dddd
|
|
|
|
The following masks just give opcode & function
|
|
*/
|
|
|
|
#define MEMORY_FORMAT_MASK 0xfc000000
|
|
#define MEMORY_BRANCH_FORMAT_MASK 0xfc00c000
|
|
#define BRANCH_FORMAT_MASK 0xfc000000
|
|
#define OPERATE_FORMAT_MASK 0xfc000fe0
|
|
#define FLOAT_FORMAT_MASK 0xfc000fe0
|
|
|
|
typedef struct
|
|
{
|
|
unsigned i;
|
|
char *name;
|
|
int type;
|
|
} alpha_insn;
|
|
|
|
#ifdef DEFINE_TABLE
|
|
|
|
char *alpha_regs[32] =
|
|
{
|
|
"v0", "t0", "t1", "t2", "t3", "t4", "t5", "t6",
|
|
"t7", "s0", "s1", "s2", "s3", "s4", "s5", "fp",
|
|
"a0", "a1", "a2", "a3", "a4", "a5", "t8", "t9",
|
|
"t10", "t11", "ra", "t12", "at", "gp", "sp", "zero"
|
|
};
|
|
|
|
#define MEMORY_FORMAT_CODE 1
|
|
#define MEMORY_FORMAT(op, name) \
|
|
{ op << 26, name, MEMORY_FORMAT_CODE }
|
|
|
|
#define MEMORY_BRANCH_FORMAT_CODE 2
|
|
#define MEMORY_BRANCH_FORMAT(op, func, name) \
|
|
{ (op<<26)+(func<<14),name, MEMORY_BRANCH_FORMAT_CODE }
|
|
|
|
#define MEMORY_FUNCTION_FORMAT_CODE 3
|
|
#define MEMORY_FORMAT_FUNCTION(op, func, name) \
|
|
{ (op<<26)+(func), name, MEMORY_FUNCTION_FORMAT_CODE }
|
|
|
|
#define BRANCH_FORMAT_CODE 4
|
|
#define BRANCH_FORMAT(op, name) \
|
|
{ (op<<26), name , BRANCH_FORMAT_CODE }
|
|
|
|
#define OPERATE_FORMAT_CODE 5
|
|
#define OPERATE_FORMAT(op, extra,name) \
|
|
{(op<<26)+(extra<<5),name , OPERATE_FORMAT_CODE}
|
|
|
|
#define FLOAT_FORMAT_CODE 6
|
|
#define FLOAT_FORMAT(op, extra,name) \
|
|
{(op<<26)+(extra<<5),name , FLOAT_FORMAT_CODE }
|
|
|
|
#define PAL_FORMAT_CODE 7
|
|
#define PAL_FORMAT(op, extra, name) \
|
|
{(op<<26)+(extra),name, PAL_FORMAT_CODE}
|
|
|
|
#define FLOAT_MEMORY_FORMAT_CODE 8
|
|
#define FLOAT_MEMORY_FORMAT(op, name) \
|
|
{ op << 26, name, FLOAT_MEMORY_FORMAT_CODE }
|
|
|
|
#define FLOAT_BRANCH_FORMAT_CODE 9
|
|
#define FLOAT_BRANCH_FORMAT(op, name) \
|
|
{ (op<<26), name , FLOAT_BRANCH_FORMAT_CODE }
|
|
|
|
alpha_insn alpha_insn_set[] =
|
|
{
|
|
|
|
/* Memory format instruction opcodes */
|
|
MEMORY_FORMAT( 0x08, "lda"),
|
|
FLOAT_MEMORY_FORMAT( 0x21, "ldg"),
|
|
MEMORY_FORMAT( 0x29, "ldq"),
|
|
FLOAT_MEMORY_FORMAT( 0x22, "lds"),
|
|
FLOAT_MEMORY_FORMAT( 0x25, "stg"),
|
|
MEMORY_FORMAT( 0x2d, "stq"),
|
|
FLOAT_MEMORY_FORMAT( 0x26, "sts"),
|
|
MEMORY_FORMAT( 0x09, "ldah"),
|
|
MEMORY_FORMAT( 0x28, "ldl"),
|
|
MEMORY_FORMAT( 0x2b, "ldq_l"),
|
|
FLOAT_MEMORY_FORMAT( 0x23, "ldt"),
|
|
MEMORY_FORMAT( 0x2c, "stl"),
|
|
MEMORY_FORMAT( 0x2f, "stq_c"),
|
|
FLOAT_MEMORY_FORMAT( 0x27, "stt"),
|
|
FLOAT_MEMORY_FORMAT( 0x20, "ldf"),
|
|
MEMORY_FORMAT( 0x2a, "ldl_l"),
|
|
MEMORY_FORMAT( 0x0b, "ldq_u"),
|
|
FLOAT_MEMORY_FORMAT( 0x24, "stf"),
|
|
MEMORY_FORMAT( 0x2e, "stl_c"),
|
|
MEMORY_FORMAT( 0x0f, "stq_u"),
|
|
|
|
/* Memory format instructions with a function code */
|
|
MEMORY_FORMAT_FUNCTION( 0x18, 0x8000, "fetch"),
|
|
MEMORY_FORMAT_FUNCTION( 0x18, 0xe000, "rc"),
|
|
MEMORY_FORMAT_FUNCTION( 0x18, 0x0000, "trapb"),
|
|
MEMORY_FORMAT_FUNCTION( 0x18, 0xa000, "fetch_m"),
|
|
MEMORY_FORMAT_FUNCTION( 0x18, 0xc000, "rpcc"),
|
|
MEMORY_FORMAT_FUNCTION( 0x18, 0x4000, "mb"),
|
|
MEMORY_FORMAT_FUNCTION( 0x18, 0xf000, "rs"),
|
|
|
|
MEMORY_BRANCH_FORMAT( 0x1a, 0x0, "jmp"),
|
|
MEMORY_BRANCH_FORMAT( 0x1a, 0x2, "ret"),
|
|
MEMORY_BRANCH_FORMAT( 0x1a, 0x1, "jsr"),
|
|
MEMORY_BRANCH_FORMAT( 0x1a, 0x3, "jsr_coroutine"),
|
|
|
|
|
|
BRANCH_FORMAT( 0x30, "br"),
|
|
FLOAT_BRANCH_FORMAT( 0x33, "fble"),
|
|
FLOAT_BRANCH_FORMAT( 0x36, "fbge"),
|
|
BRANCH_FORMAT( 0x39, "beq"),
|
|
BRANCH_FORMAT( 0x3c, "blbs"),
|
|
BRANCH_FORMAT( 0x3f, "bgt"),
|
|
FLOAT_BRANCH_FORMAT( 0x31, "fbeq"),
|
|
BRANCH_FORMAT( 0x34, "bsr"),
|
|
FLOAT_BRANCH_FORMAT( 0x37, "fbgt"),
|
|
BRANCH_FORMAT( 0x3a, "blt"),
|
|
BRANCH_FORMAT( 0x3d, "bne"),
|
|
FLOAT_BRANCH_FORMAT( 0x32, "fblt"),
|
|
FLOAT_BRANCH_FORMAT( 0x35, "fbne"),
|
|
BRANCH_FORMAT( 0x38, "blbc"),
|
|
BRANCH_FORMAT( 0x3b, "ble"),
|
|
BRANCH_FORMAT( 0x3e, "bge"),
|
|
|
|
OPERATE_FORMAT(0x10, 0x00, "addl"),
|
|
OPERATE_FORMAT(0x10, 0x02, "s4addl"),
|
|
OPERATE_FORMAT(0x10, 0x09, "subl"),
|
|
OPERATE_FORMAT(0x10, 0x0b, "s4subl"),
|
|
OPERATE_FORMAT(0x10, 0x0f, "cmpbge"),
|
|
OPERATE_FORMAT(0x10, 0x12, "s8addl"),
|
|
OPERATE_FORMAT(0x10, 0x1b, "s8subl"),
|
|
OPERATE_FORMAT(0x10, 0x1d, "cmpult"),
|
|
OPERATE_FORMAT(0x10, 0x20, "addq"),
|
|
OPERATE_FORMAT(0x10, 0x22, "s4addq"),
|
|
OPERATE_FORMAT(0x10, 0x29, "subq"),
|
|
OPERATE_FORMAT(0x10, 0x2b, "s4subq"),
|
|
OPERATE_FORMAT(0x10, 0x2d, "cmpeq"),
|
|
OPERATE_FORMAT(0x10, 0x32, "s8addq"),
|
|
OPERATE_FORMAT(0x10, 0x3b, "s8subq"),
|
|
OPERATE_FORMAT(0x10, 0x3d, "cmpule"),
|
|
OPERATE_FORMAT(0x10, 0x40, "addlv"),
|
|
OPERATE_FORMAT(0x10, 0x49, "sublv"),
|
|
OPERATE_FORMAT(0x10, 0x4d, "cmplt"),
|
|
OPERATE_FORMAT(0x10, 0x60, "addqv"),
|
|
OPERATE_FORMAT(0x10, 0x69, "subqv"),
|
|
OPERATE_FORMAT(0x10, 0x6d, "cmple"),
|
|
OPERATE_FORMAT(0x11, 0x00, "and"),
|
|
OPERATE_FORMAT(0x11, 0x08, "bic"),
|
|
OPERATE_FORMAT(0x11, 0x14, "cmovlbs"),
|
|
OPERATE_FORMAT(0x11, 0x16, "cmovlbc"),
|
|
OPERATE_FORMAT(0x11, 0x20, "bis"),
|
|
OPERATE_FORMAT(0x11, 0x24, "cmoveq"),
|
|
OPERATE_FORMAT(0x11, 0x26, "cmovne"),
|
|
OPERATE_FORMAT(0x11, 0x28, "ornot"),
|
|
OPERATE_FORMAT(0x11, 0x40, "xor"),
|
|
OPERATE_FORMAT(0x11, 0x44, "cmovlt"),
|
|
OPERATE_FORMAT(0x11, 0x46, "cmovge"),
|
|
OPERATE_FORMAT(0x11, 0x48, "eqv"),
|
|
OPERATE_FORMAT(0x11, 0x64, "cmovle"),
|
|
OPERATE_FORMAT(0x11, 0x66, "cmovgt"),
|
|
OPERATE_FORMAT(0x12, 0x02, "mskbl"),
|
|
OPERATE_FORMAT(0x12, 0x06, "extbl"),
|
|
OPERATE_FORMAT(0x12, 0x0b, "insbl"),
|
|
OPERATE_FORMAT(0x12, 0x12, "mskwl"),
|
|
OPERATE_FORMAT(0x12, 0x16, "extwl"),
|
|
OPERATE_FORMAT(0x12, 0x1b, "inswl"),
|
|
OPERATE_FORMAT(0x12, 0x22, "mskll"),
|
|
OPERATE_FORMAT(0x12, 0x26, "extll"),
|
|
OPERATE_FORMAT(0x12, 0x2b, "insll"),
|
|
OPERATE_FORMAT(0x12, 0x30, "zap"),
|
|
OPERATE_FORMAT(0x12, 0x31, "zapnot"),
|
|
OPERATE_FORMAT(0x12, 0x32, "mskql"),
|
|
OPERATE_FORMAT(0x12, 0x34, "srl"),
|
|
OPERATE_FORMAT(0x12, 0x36, "extql"),
|
|
OPERATE_FORMAT(0x12, 0x39, "sll"),
|
|
OPERATE_FORMAT(0x12, 0x3b, "insql"),
|
|
OPERATE_FORMAT(0x12, 0x3c, "sra"),
|
|
OPERATE_FORMAT(0x12, 0x52, "mskwh"),
|
|
OPERATE_FORMAT(0x12, 0x57, "inswh"),
|
|
OPERATE_FORMAT(0x12, 0x5a, "extwh"),
|
|
OPERATE_FORMAT(0x12, 0x62, "msklh"),
|
|
OPERATE_FORMAT(0x12, 0x67, "inslh"),
|
|
OPERATE_FORMAT(0x12, 0x6a, "extlh"),
|
|
OPERATE_FORMAT(0x12, 0x72, "mskqh"),
|
|
OPERATE_FORMAT(0x12, 0x77, "insqh"),
|
|
OPERATE_FORMAT(0x12, 0x7a, "extqh"),
|
|
OPERATE_FORMAT(0x13, 0x00, "mull"),
|
|
OPERATE_FORMAT(0x13, 0x20, "mulq"),
|
|
OPERATE_FORMAT(0x13, 0x30, "umulh"),
|
|
OPERATE_FORMAT(0x13, 0x40, "mullv"),
|
|
OPERATE_FORMAT(0x13, 0x60, "mulqv"),
|
|
|
|
FLOAT_FORMAT(0x17, 0x20, "cpys"),
|
|
FLOAT_FORMAT(0x17, 0x21, "cpysn"),
|
|
FLOAT_FORMAT(0x17, 0x22, "cpyse"),
|
|
FLOAT_FORMAT(0x17, 0x24, "mt_fpcr"),
|
|
FLOAT_FORMAT(0x17, 0x25, "mf_fpcr"),
|
|
FLOAT_FORMAT(0x17, 0x2a, "fcmoveq"),
|
|
FLOAT_FORMAT(0x17, 0x2b, "fcmovne"),
|
|
FLOAT_FORMAT(0x17, 0x2c, "fcmovlt"),
|
|
FLOAT_FORMAT(0x17, 0x2d, "fcmovge"),
|
|
FLOAT_FORMAT(0x17, 0x2e, "fcmovle"),
|
|
FLOAT_FORMAT(0x17, 0x2f, "fcmovgt"),
|
|
FLOAT_FORMAT(0x17, 0x10, "cvtlq"),
|
|
FLOAT_FORMAT(0x17, 0x30, "cvtql"),
|
|
FLOAT_FORMAT(0x17, 0x130, "cvtql/v"),
|
|
FLOAT_FORMAT(0x17, 0x530, "cvtql/sv"),
|
|
|
|
FLOAT_FORMAT(0x16, 0x080, "adds"),
|
|
FLOAT_FORMAT(0x16, 0x000, "adds/c"),
|
|
FLOAT_FORMAT(0x16, 0x040, "adds/m"),
|
|
FLOAT_FORMAT(0x16, 0x0c0, "adds/d"),
|
|
FLOAT_FORMAT(0x16, 0x180, "adds/u"),
|
|
FLOAT_FORMAT(0x16, 0x100, "adds/uc"),
|
|
FLOAT_FORMAT(0x16, 0x140, "adds/um"),
|
|
FLOAT_FORMAT(0x16, 0x1c0, "adds/ud"),
|
|
FLOAT_FORMAT(0x16, 0x580, "adds/su"),
|
|
FLOAT_FORMAT(0x16, 0x500, "adds/suc"),
|
|
FLOAT_FORMAT(0x16, 0x540, "adds/sum"),
|
|
FLOAT_FORMAT(0x16, 0x5c0, "adds/sud"),
|
|
FLOAT_FORMAT(0x16, 0x780, "adds/sui"),
|
|
FLOAT_FORMAT(0x16, 0x700, "adds/suic"),
|
|
FLOAT_FORMAT(0x16, 0x740, "adds/suim"),
|
|
FLOAT_FORMAT(0x16, 0x7c0, "adds/suid"),
|
|
FLOAT_FORMAT(0x16, 0x0a0, "addt"),
|
|
FLOAT_FORMAT(0x16, 0x020, "addt/c"),
|
|
FLOAT_FORMAT(0x16, 0x060, "addt/m"),
|
|
FLOAT_FORMAT(0x16, 0x0e0, "addt/d"),
|
|
FLOAT_FORMAT(0x16, 0x1a0, "addt/u"),
|
|
FLOAT_FORMAT(0x16, 0x120, "addt/uc"),
|
|
FLOAT_FORMAT(0x16, 0x160, "addt/um"),
|
|
FLOAT_FORMAT(0x16, 0x1e0, "addt/ud"),
|
|
FLOAT_FORMAT(0x16, 0x5a0, "addt/su"),
|
|
FLOAT_FORMAT(0x16, 0x520, "addt/suc"),
|
|
FLOAT_FORMAT(0x16, 0x560, "addt/sum"),
|
|
FLOAT_FORMAT(0x16, 0x5e0, "addt/sud"),
|
|
FLOAT_FORMAT(0x16, 0x7a0, "addt/sui"),
|
|
FLOAT_FORMAT(0x16, 0x720, "addt/suic"),
|
|
FLOAT_FORMAT(0x16, 0x760, "addt/suim"),
|
|
FLOAT_FORMAT(0x16, 0x7e0, "addt/suid"),
|
|
FLOAT_FORMAT(0x16, 0x0a5, "cmpteq"),
|
|
FLOAT_FORMAT(0x16, 0x025, "cmpteq/c"),
|
|
FLOAT_FORMAT(0x16, 0x065, "cmpteq/m"),
|
|
FLOAT_FORMAT(0x16, 0x0e5, "cmpteq/d"),
|
|
FLOAT_FORMAT(0x16, 0x1a5, "cmpteq/u"),
|
|
FLOAT_FORMAT(0x16, 0x125, "cmpteq/uc"),
|
|
FLOAT_FORMAT(0x16, 0x165, "cmpteq/um"),
|
|
FLOAT_FORMAT(0x16, 0x1e5, "cmpteq/ud"),
|
|
FLOAT_FORMAT(0x16, 0x5a5, "cmpteq/su"),
|
|
FLOAT_FORMAT(0x16, 0x525, "cmpteq/suc"),
|
|
FLOAT_FORMAT(0x16, 0x565, "cmpteq/sum"),
|
|
FLOAT_FORMAT(0x16, 0x5e5, "cmpteq/sud"),
|
|
FLOAT_FORMAT(0x16, 0x7a5, "cmpteq/sui"),
|
|
FLOAT_FORMAT(0x16, 0x725, "cmpteq/suic"),
|
|
FLOAT_FORMAT(0x16, 0x765, "cmpteq/suim"),
|
|
FLOAT_FORMAT(0x16, 0x7e5, "cmpteq/suid"),
|
|
FLOAT_FORMAT(0x16, 0x0a6, "cmptlt"),
|
|
FLOAT_FORMAT(0x16, 0x026, "cmptlt/c"),
|
|
FLOAT_FORMAT(0x16, 0x066, "cmptlt/m"),
|
|
FLOAT_FORMAT(0x16, 0x0e6, "cmptlt/d"),
|
|
FLOAT_FORMAT(0x16, 0x1a6, "cmptlt/u"),
|
|
FLOAT_FORMAT(0x16, 0x126, "cmptlt/uc"),
|
|
FLOAT_FORMAT(0x16, 0x166, "cmptlt/um"),
|
|
FLOAT_FORMAT(0x16, 0x1e6, "cmptlt/ud"),
|
|
FLOAT_FORMAT(0x16, 0x5a6, "cmptlt/su"),
|
|
FLOAT_FORMAT(0x16, 0x526, "cmptlt/suc"),
|
|
FLOAT_FORMAT(0x16, 0x566, "cmptlt/sum"),
|
|
FLOAT_FORMAT(0x16, 0x5e6, "cmptlt/sud"),
|
|
FLOAT_FORMAT(0x16, 0x7a6, "cmptlt/sui"),
|
|
FLOAT_FORMAT(0x16, 0x726, "cmptlt/suic"),
|
|
FLOAT_FORMAT(0x16, 0x766, "cmptlt/suim"),
|
|
FLOAT_FORMAT(0x16, 0x7e6, "cmptlt/suid"),
|
|
FLOAT_FORMAT(0x16, 0x0a7, "cmptle"),
|
|
FLOAT_FORMAT(0x16, 0x027, "cmptle/c"),
|
|
FLOAT_FORMAT(0x16, 0x067, "cmptle/m"),
|
|
FLOAT_FORMAT(0x16, 0x0e7, "cmptle/d"),
|
|
FLOAT_FORMAT(0x16, 0x1a7, "cmptle/u"),
|
|
FLOAT_FORMAT(0x16, 0x127, "cmptle/uc"),
|
|
FLOAT_FORMAT(0x16, 0x167, "cmptle/um"),
|
|
FLOAT_FORMAT(0x16, 0x1e7, "cmptle/ud"),
|
|
FLOAT_FORMAT(0x16, 0x5a7, "cmptle/su"),
|
|
FLOAT_FORMAT(0x16, 0x527, "cmptle/suc"),
|
|
FLOAT_FORMAT(0x16, 0x567, "cmptle/sum"),
|
|
FLOAT_FORMAT(0x16, 0x5e7, "cmptle/sud"),
|
|
FLOAT_FORMAT(0x16, 0x7a7, "cmptle/sui"),
|
|
FLOAT_FORMAT(0x16, 0x727, "cmptle/suic"),
|
|
FLOAT_FORMAT(0x16, 0x767, "cmptle/suim"),
|
|
FLOAT_FORMAT(0x16, 0x7e7, "cmptle/suid"),
|
|
FLOAT_FORMAT(0x16, 0x0a4, "cmptun"),
|
|
FLOAT_FORMAT(0x16, 0x024, "cmptun/c"),
|
|
FLOAT_FORMAT(0x16, 0x064, "cmptun/m"),
|
|
FLOAT_FORMAT(0x16, 0x0e4, "cmptun/d"),
|
|
FLOAT_FORMAT(0x16, 0x1a4, "cmptun/u"),
|
|
FLOAT_FORMAT(0x16, 0x124, "cmptun/uc"),
|
|
FLOAT_FORMAT(0x16, 0x164, "cmptun/um"),
|
|
FLOAT_FORMAT(0x16, 0x1e4, "cmptun/ud"),
|
|
FLOAT_FORMAT(0x16, 0x5a4, "cmptun/su"),
|
|
FLOAT_FORMAT(0x16, 0x524, "cmptun/suc"),
|
|
FLOAT_FORMAT(0x16, 0x564, "cmptun/sum"),
|
|
FLOAT_FORMAT(0x16, 0x5e4, "cmptun/sud"),
|
|
FLOAT_FORMAT(0x16, 0x7a4, "cmptun/sui"),
|
|
FLOAT_FORMAT(0x16, 0x724, "cmptun/suic"),
|
|
FLOAT_FORMAT(0x16, 0x764, "cmptun/suim"),
|
|
FLOAT_FORMAT(0x16, 0x7e4, "cmptun/suid"),
|
|
FLOAT_FORMAT(0x16, 0x0bc, "cvtqs"),
|
|
FLOAT_FORMAT(0x16, 0x03c, "cvtqs/c"),
|
|
FLOAT_FORMAT(0x16, 0x07c, "cvtqs/m"),
|
|
FLOAT_FORMAT(0x16, 0x0fc, "cvtqs/d"),
|
|
FLOAT_FORMAT(0x16, 0x1bc, "cvtqs/u"),
|
|
FLOAT_FORMAT(0x16, 0x13c, "cvtqs/uc"),
|
|
FLOAT_FORMAT(0x16, 0x17c, "cvtqs/um"),
|
|
FLOAT_FORMAT(0x16, 0x1fc, "cvtqs/ud"),
|
|
FLOAT_FORMAT(0x16, 0x5bc, "cvtqs/su"),
|
|
FLOAT_FORMAT(0x16, 0x53c, "cvtqs/suc"),
|
|
FLOAT_FORMAT(0x16, 0x57c, "cvtqs/sum"),
|
|
FLOAT_FORMAT(0x16, 0x5fc, "cvtqs/sud"),
|
|
FLOAT_FORMAT(0x16, 0x7bc, "cvtqs/sui"),
|
|
FLOAT_FORMAT(0x16, 0x73c, "cvtqs/suic"),
|
|
FLOAT_FORMAT(0x16, 0x77c, "cvtqs/suim"),
|
|
FLOAT_FORMAT(0x16, 0x7fc, "cvtqs/suid"),
|
|
FLOAT_FORMAT(0x16, 0x0be, "cvtqt"),
|
|
FLOAT_FORMAT(0x16, 0x03e, "cvtqt/c"),
|
|
FLOAT_FORMAT(0x16, 0x07e, "cvtqt/m"),
|
|
FLOAT_FORMAT(0x16, 0x0fe, "cvtqt/d"),
|
|
FLOAT_FORMAT(0x16, 0x1be, "cvtqt/u"),
|
|
FLOAT_FORMAT(0x16, 0x13e, "cvtqt/uc"),
|
|
FLOAT_FORMAT(0x16, 0x17e, "cvtqt/um"),
|
|
FLOAT_FORMAT(0x16, 0x1fe, "cvtqt/ud"),
|
|
FLOAT_FORMAT(0x16, 0x5be, "cvtqt/su"),
|
|
FLOAT_FORMAT(0x16, 0x53e, "cvtqt/suc"),
|
|
FLOAT_FORMAT(0x16, 0x57e, "cvtqt/sum"),
|
|
FLOAT_FORMAT(0x16, 0x5fe, "cvtqt/sud"),
|
|
FLOAT_FORMAT(0x16, 0x7be, "cvtqt/sui"),
|
|
FLOAT_FORMAT(0x16, 0x73e, "cvtqt/suic"),
|
|
FLOAT_FORMAT(0x16, 0x77e, "cvtqt/suim"),
|
|
FLOAT_FORMAT(0x16, 0x7fe, "cvtqt/suid"),
|
|
FLOAT_FORMAT(0x16, 0x0ac, "cvtts"),
|
|
FLOAT_FORMAT(0x16, 0x02c, "cvtts/c"),
|
|
FLOAT_FORMAT(0x16, 0x06c, "cvtts/m"),
|
|
FLOAT_FORMAT(0x16, 0x0ec, "cvtts/d"),
|
|
FLOAT_FORMAT(0x16, 0x1ac, "cvtts/u"),
|
|
FLOAT_FORMAT(0x16, 0x12c, "cvtts/uc"),
|
|
FLOAT_FORMAT(0x16, 0x16c, "cvtts/um"),
|
|
FLOAT_FORMAT(0x16, 0x1ec, "cvtts/ud"),
|
|
FLOAT_FORMAT(0x16, 0x5ac, "cvtts/su"),
|
|
FLOAT_FORMAT(0x16, 0x52c, "cvtts/suc"),
|
|
FLOAT_FORMAT(0x16, 0x56c, "cvtts/sum"),
|
|
FLOAT_FORMAT(0x16, 0x5ec, "cvtts/sud"),
|
|
FLOAT_FORMAT(0x16, 0x7ac, "cvtts/sui"),
|
|
FLOAT_FORMAT(0x16, 0x72c, "cvtts/suic"),
|
|
FLOAT_FORMAT(0x16, 0x76c, "cvtts/suim"),
|
|
FLOAT_FORMAT(0x16, 0x7ec, "cvtts/suid"),
|
|
FLOAT_FORMAT(0x16, 0x083, "divs"),
|
|
FLOAT_FORMAT(0x16, 0x003, "divs/c"),
|
|
FLOAT_FORMAT(0x16, 0x043, "divs/m"),
|
|
FLOAT_FORMAT(0x16, 0x0c3, "divs/d"),
|
|
FLOAT_FORMAT(0x16, 0x183, "divs/u"),
|
|
FLOAT_FORMAT(0x16, 0x103, "divs/uc"),
|
|
FLOAT_FORMAT(0x16, 0x143, "divs/um"),
|
|
FLOAT_FORMAT(0x16, 0x1c3, "divs/ud"),
|
|
FLOAT_FORMAT(0x16, 0x583, "divs/su"),
|
|
FLOAT_FORMAT(0x16, 0x503, "divs/suc"),
|
|
FLOAT_FORMAT(0x16, 0x543, "divs/sum"),
|
|
FLOAT_FORMAT(0x16, 0x5c3, "divs/sud"),
|
|
FLOAT_FORMAT(0x16, 0x783, "divs/sui"),
|
|
FLOAT_FORMAT(0x16, 0x703, "divs/suic"),
|
|
FLOAT_FORMAT(0x16, 0x743, "divs/suim"),
|
|
FLOAT_FORMAT(0x16, 0x7c3, "divs/suid"),
|
|
FLOAT_FORMAT(0x16, 0x0a3, "divt"),
|
|
FLOAT_FORMAT(0x16, 0x023, "divt/c"),
|
|
FLOAT_FORMAT(0x16, 0x063, "divt/m"),
|
|
FLOAT_FORMAT(0x16, 0x0e3, "divt/d"),
|
|
FLOAT_FORMAT(0x16, 0x1a3, "divt/u"),
|
|
FLOAT_FORMAT(0x16, 0x123, "divt/uc"),
|
|
FLOAT_FORMAT(0x16, 0x163, "divt/um"),
|
|
FLOAT_FORMAT(0x16, 0x1e3, "divt/ud"),
|
|
FLOAT_FORMAT(0x16, 0x5a3, "divt/su"),
|
|
FLOAT_FORMAT(0x16, 0x523, "divt/suc"),
|
|
FLOAT_FORMAT(0x16, 0x563, "divt/sum"),
|
|
FLOAT_FORMAT(0x16, 0x5e3, "divt/sud"),
|
|
FLOAT_FORMAT(0x16, 0x7a3, "divt/sui"),
|
|
FLOAT_FORMAT(0x16, 0x723, "divt/suic"),
|
|
FLOAT_FORMAT(0x16, 0x763, "divt/suim"),
|
|
FLOAT_FORMAT(0x16, 0x7e3, "divt/suid"),
|
|
FLOAT_FORMAT(0x16, 0x082, "muls"),
|
|
FLOAT_FORMAT(0x16, 0x002, "muls/c"),
|
|
FLOAT_FORMAT(0x16, 0x042, "muls/m"),
|
|
FLOAT_FORMAT(0x16, 0x0c2, "muls/d"),
|
|
FLOAT_FORMAT(0x16, 0x182, "muls/u"),
|
|
FLOAT_FORMAT(0x16, 0x102, "muls/uc"),
|
|
FLOAT_FORMAT(0x16, 0x142, "muls/um"),
|
|
FLOAT_FORMAT(0x16, 0x1c2, "muls/ud"),
|
|
FLOAT_FORMAT(0x16, 0x582, "muls/su"),
|
|
FLOAT_FORMAT(0x16, 0x502, "muls/suc"),
|
|
FLOAT_FORMAT(0x16, 0x542, "muls/sum"),
|
|
FLOAT_FORMAT(0x16, 0x5c2, "muls/sud"),
|
|
FLOAT_FORMAT(0x16, 0x782, "muls/sui"),
|
|
FLOAT_FORMAT(0x16, 0x702, "muls/suic"),
|
|
FLOAT_FORMAT(0x16, 0x742, "muls/suim"),
|
|
FLOAT_FORMAT(0x16, 0x7c2, "muls/suid"),
|
|
FLOAT_FORMAT(0x16, 0x0a2, "mult"),
|
|
FLOAT_FORMAT(0x16, 0x022, "mult/c"),
|
|
FLOAT_FORMAT(0x16, 0x062, "mult/m"),
|
|
FLOAT_FORMAT(0x16, 0x0e2, "mult/d"),
|
|
FLOAT_FORMAT(0x16, 0x1a2, "mult/u"),
|
|
FLOAT_FORMAT(0x16, 0x122, "mult/uc"),
|
|
FLOAT_FORMAT(0x16, 0x162, "mult/um"),
|
|
FLOAT_FORMAT(0x16, 0x1e2, "mult/ud"),
|
|
FLOAT_FORMAT(0x16, 0x5a2, "mult/su"),
|
|
FLOAT_FORMAT(0x16, 0x522, "mult/suc"),
|
|
FLOAT_FORMAT(0x16, 0x562, "mult/sum"),
|
|
FLOAT_FORMAT(0x16, 0x5e2, "mult/sud"),
|
|
FLOAT_FORMAT(0x16, 0x7a2, "mult/sui"),
|
|
FLOAT_FORMAT(0x16, 0x722, "mult/suic"),
|
|
FLOAT_FORMAT(0x16, 0x762, "mult/suim"),
|
|
FLOAT_FORMAT(0x16, 0x7e2, "mult/suid"),
|
|
FLOAT_FORMAT(0x16, 0x081, "subs"),
|
|
FLOAT_FORMAT(0x16, 0x001, "subs/c"),
|
|
FLOAT_FORMAT(0x16, 0x041, "subs/m"),
|
|
FLOAT_FORMAT(0x16, 0x0c1, "subs/d"),
|
|
FLOAT_FORMAT(0x16, 0x181, "subs/u"),
|
|
FLOAT_FORMAT(0x16, 0x101, "subs/uc"),
|
|
FLOAT_FORMAT(0x16, 0x141, "subs/um"),
|
|
FLOAT_FORMAT(0x16, 0x1c1, "subs/ud"),
|
|
FLOAT_FORMAT(0x16, 0x581, "subs/su"),
|
|
FLOAT_FORMAT(0x16, 0x501, "subs/suc"),
|
|
FLOAT_FORMAT(0x16, 0x541, "subs/sum"),
|
|
FLOAT_FORMAT(0x16, 0x5c1, "subs/sud"),
|
|
FLOAT_FORMAT(0x16, 0x781, "subs/sui"),
|
|
FLOAT_FORMAT(0x16, 0x701, "subs/suic"),
|
|
FLOAT_FORMAT(0x16, 0x741, "subs/suim"),
|
|
FLOAT_FORMAT(0x16, 0x7c1, "subs/suid"),
|
|
FLOAT_FORMAT(0x16, 0x0a1, "subt"),
|
|
FLOAT_FORMAT(0x16, 0x021, "subt/c"),
|
|
FLOAT_FORMAT(0x16, 0x061, "subt/m"),
|
|
FLOAT_FORMAT(0x16, 0x0e1, "subt/d"),
|
|
FLOAT_FORMAT(0x16, 0x1a1, "subt/u"),
|
|
FLOAT_FORMAT(0x16, 0x121, "subt/uc"),
|
|
FLOAT_FORMAT(0x16, 0x161, "subt/um"),
|
|
FLOAT_FORMAT(0x16, 0x1e1, "subt/ud"),
|
|
FLOAT_FORMAT(0x16, 0x5a1, "subt/su"),
|
|
FLOAT_FORMAT(0x16, 0x521, "subt/suc"),
|
|
FLOAT_FORMAT(0x16, 0x561, "subt/sum"),
|
|
FLOAT_FORMAT(0x16, 0x5e1, "subt/sud"),
|
|
FLOAT_FORMAT(0x16, 0x7a1, "subt/sui"),
|
|
FLOAT_FORMAT(0x16, 0x721, "subt/suic"),
|
|
FLOAT_FORMAT(0x16, 0x761, "subt/suim"),
|
|
FLOAT_FORMAT(0x16, 0x7e1, "subt/suid"),
|
|
|
|
#if (VMS_ASMCODE)
|
|
/* unprivileged codes */
|
|
PAL_FORMAT(0x00, 0x0080, "bpt"),
|
|
PAL_FORMAT(0x00, 0x0081, "bugchk"),
|
|
PAL_FORMAT(0x00, 0x0082, "chme"),
|
|
PAL_FORMAT(0x00, 0x0083, "chmk"),
|
|
PAL_FORMAT(0x00, 0x0084, "chms"),
|
|
PAL_FORMAT(0x00, 0x0085, "chmu"),
|
|
PAL_FORMAT(0x00, 0x0086, "imb"),
|
|
PAL_FORMAT(0x00, 0x0087, "insqhil"),
|
|
PAL_FORMAT(0x00, 0x0088, "insqtil"),
|
|
PAL_FORMAT(0x00, 0x0089, "insqhiq"),
|
|
PAL_FORMAT(0x00, 0x008a, "insqtiq"),
|
|
PAL_FORMAT(0x00, 0x008b, "insquel"),
|
|
PAL_FORMAT(0x00, 0x008c, "insqueq"),
|
|
PAL_FORMAT(0x00, 0x008d, "insquel/d"),
|
|
PAL_FORMAT(0x00, 0x008e, "insqueq/d"),
|
|
PAL_FORMAT(0x00, 0x008f, "prober"),
|
|
PAL_FORMAT(0x00, 0x0090, "probew"),
|
|
PAL_FORMAT(0x00, 0x0091, "rd_ps"),
|
|
PAL_FORMAT(0x00, 0x0092, "rei"),
|
|
PAL_FORMAT(0x00, 0x0093, "remqhil"),
|
|
PAL_FORMAT(0x00, 0x0095, "remqhiq"),
|
|
PAL_FORMAT(0x00, 0x009e, "read_unq"),
|
|
PAL_FORMAT(0x00, 0x0094, "remqtil"),
|
|
PAL_FORMAT(0x00, 0x0096, "remqtiq"),
|
|
PAL_FORMAT(0x00, 0x0097, "remquel"),
|
|
PAL_FORMAT(0x00, 0x0098, "remqueq"),
|
|
PAL_FORMAT(0x00, 0x0099, "remquel/d"),
|
|
PAL_FORMAT(0x00, 0x009a, "remqueq/d"),
|
|
PAL_FORMAT(0x00, 0x009b, "swasten"),
|
|
PAL_FORMAT(0x00, 0x009c, "wr_ps_sw"),
|
|
PAL_FORMAT(0x00, 0x009d, "rscc"),
|
|
PAL_FORMAT(0x00, 0x009f, "write_unq"),
|
|
PAL_FORMAT(0x00, 0x00a0, "amovrr"),
|
|
PAL_FORMAT(0x00, 0x00a1, "amovrm"),
|
|
PAL_FORMAT(0x00, 0x00a2, "insqhilr"),
|
|
PAL_FORMAT(0x00, 0x00a3, "insqtilr"),
|
|
PAL_FORMAT(0x00, 0x00a4, "insqhiqr"),
|
|
PAL_FORMAT(0x00, 0x00a5, "insqtiqr"),
|
|
PAL_FORMAT(0x00, 0x00a6, "remqhilr"),
|
|
PAL_FORMAT(0x00, 0x00a7, "remqtilr"),
|
|
PAL_FORMAT(0x00, 0x00a8, "remqhiqr"),
|
|
PAL_FORMAT(0x00, 0x00a9, "remqtiqr"),
|
|
PAL_FORMAT(0x00, 0x00aa, "gentrap"),
|
|
/* privileged codes */
|
|
PAL_FORMAT(0x00, 0x0000, "halt"),
|
|
PAL_FORMAT(0x00, 0x0001, "cflush"),
|
|
PAL_FORMAT(0x00, 0x0002, "draina"),
|
|
PAL_FORMAT(0x00, 0x0003, "ldqp"),
|
|
PAL_FORMAT(0x00, 0x0004, "stqp"),
|
|
PAL_FORMAT(0x00, 0x0005, "swpctx"),
|
|
PAL_FORMAT(0x00, 0x0006, "mfpr_asn"),
|
|
PAL_FORMAT(0x00, 0x0007, "mtpr_asten"),
|
|
PAL_FORMAT(0x00, 0x0008, "mtpr_astsr"),
|
|
PAL_FORMAT(0x00, 0x000b, "mfpr_fen"),
|
|
PAL_FORMAT(0x00, 0x000c, "mtpr_fen"),
|
|
PAL_FORMAT(0x00, 0x000d, "mtpr_ipir"),
|
|
PAL_FORMAT(0x00, 0x000e, "mfpr_ipl"),
|
|
PAL_FORMAT(0x00, 0x000f, "mtpr_ipl"),
|
|
PAL_FORMAT(0x00, 0x0010, "mfpr_mces"),
|
|
PAL_FORMAT(0x00, 0x0011, "mtpr_mces"),
|
|
PAL_FORMAT(0x00, 0x0012, "mfpr_pcbb"),
|
|
PAL_FORMAT(0x00, 0x0013, "mfpr_prbr"),
|
|
PAL_FORMAT(0x00, 0x0014, "mtpr_prbr"),
|
|
PAL_FORMAT(0x00, 0x0015, "mfpr_ptbr"),
|
|
PAL_FORMAT(0x00, 0x0016, "mfpr_scbb"),
|
|
PAL_FORMAT(0x00, 0x0017, "mtpr_scbb"),
|
|
PAL_FORMAT(0x00, 0x0018, "mtpr_sirr"),
|
|
PAL_FORMAT(0x00, 0x0019, "mfpr_sisr"),
|
|
PAL_FORMAT(0x00, 0x001a, "mfpr_tbchk"),
|
|
PAL_FORMAT(0x00, 0x001b, "mtpr_tbia"),
|
|
PAL_FORMAT(0x00, 0x001c, "mtpr_tbiap"),
|
|
PAL_FORMAT(0x00, 0x001d, "mtpr_tbis"),
|
|
PAL_FORMAT(0x00, 0x001e, "mfpr_esp"),
|
|
PAL_FORMAT(0x00, 0x001f, "mtpr_esp"),
|
|
PAL_FORMAT(0x00, 0x0020, "mfpr_ssp"),
|
|
PAL_FORMAT(0x00, 0x0021, "mtpr_ssp"),
|
|
PAL_FORMAT(0x00, 0x0022, "mfpr_usp"),
|
|
PAL_FORMAT(0x00, 0x0023, "mtpr_usp"),
|
|
PAL_FORMAT(0x00, 0x0024, "mtpr_tbisd"),
|
|
PAL_FORMAT(0x00, 0x0025, "mtpr_tbisi"),
|
|
PAL_FORMAT(0x00, 0x0026, "mfpr_asten"),
|
|
PAL_FORMAT(0x00, 0x0027, "mfpr_astsr"),
|
|
PAL_FORMAT(0x00, 0x0029, "mfpr_vptb"),
|
|
PAL_FORMAT(0x00, 0x002a, "mtpr_vptb"),
|
|
PAL_FORMAT(0x00, 0x002b, "mtpr_perfmon"),
|
|
PAL_FORMAT(0x00, 0x002e, "mtpr_datfx"),
|
|
PAL_FORMAT(0x00, 0x003f, "mfpr_whami"),
|
|
|
|
#elif OSF_ASMCODE
|
|
/* unprivileged codes */
|
|
PAL_FORMAT(0x00, 0x0080, "bpt"),
|
|
PAL_FORMAT(0x00, 0x0081, "bugchk"),
|
|
PAL_FORMAT(0x00, 0x0083, "callsys"),
|
|
PAL_FORMAT(0x00, 0x0086, "imb"),
|
|
PAL_FORMAT(0x00, 0x009f, "wrunique"),
|
|
PAL_FORMAT(0x00, 0x009e, "rdunique"),
|
|
PAL_FORMAT(0x00, 0x00aa, "gentrap"),
|
|
/* privileged codes */
|
|
PAL_FORMAT(0x00, 0x0000, "halt"),
|
|
PAL_FORMAT(0x00, 0x0032, "rdval"),
|
|
PAL_FORMAT(0x00, 0x0030, "swpctx"),
|
|
PAL_FORMAT(0x00, 0x003c, "whami"),
|
|
PAL_FORMAT(0x00, 0x0037, "wrkgp"),
|
|
PAL_FORMAT(0x00, 0x002d, "wrvptptr"),
|
|
PAL_FORMAT(0x00, 0x0036, "rdps"),
|
|
PAL_FORMAT(0x00, 0x003d, "retsys"),
|
|
PAL_FORMAT(0x00, 0x0035, "swpipl"),
|
|
PAL_FORMAT(0x00, 0x0034, "wrent"),
|
|
PAL_FORMAT(0x00, 0x0038, "wrusp"),
|
|
PAL_FORMAT(0x00, 0x003a, "rdusp"),
|
|
PAL_FORMAT(0x00, 0x003f, "rti"),
|
|
PAL_FORMAT(0x00, 0x0033, "tbi"),
|
|
PAL_FORMAT(0x00, 0x002b, "wrfen"),
|
|
PAL_FORMAT(0x00, 0x0031, "wrval"),
|
|
|
|
#endif /* OSF_ASMCODE */
|
|
|
|
/* This is the old set we had before:
|
|
|
|
PAL_FORMAT(0x00, 0x0000, "halt"),
|
|
PAL_FORMAT(0x00, 0x0080, "bpt"),
|
|
PAL_FORMAT(0x00, 0x00aa, "gentrap"),
|
|
PAL_FORMAT(0x00, 0x009f, "wrunique"),
|
|
PAL_FORMAT(0x00, 0x0081, "bugchk"),
|
|
PAL_FORMAT(0x00, 0x0086, "imb"),
|
|
PAL_FORMAT(0x00, 0x0083, "callsys"),
|
|
PAL_FORMAT(0x00, 0x009e, "rdunique"),
|
|
*/
|
|
|
|
|
|
0
|
|
};
|
|
#endif
|
|
|