/[gcl]/gcl/binutils/include/opcode/i860.h
ViewVC logotype

Diff of /gcl/binutils/include/opcode/i860.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1.1.1 by camm, Fri Aug 9 05:36:51 2002 UTC revision 1.2 by camm, Fri Sep 9 23:32:34 2005 UTC
# Line 1  Line 1 
1  /* Table of opcodes for the i860.  /* Table of opcodes for the i860.
2     Copyright 1989, 1991, 2000 Free Software Foundation, Inc.     Copyright 1989, 1991, 2000, 2002, 2003 Free Software Foundation, Inc.
3    
4  This file is part of GAS, the GNU Assembler, and GDB, the GNU disassembler.  This file is part of GAS, the GNU Assembler, and GDB, the GNU disassembler.
5    
# Line 40  struct i860_opcode Line 40  struct i860_opcode
40    
41  enum expand_type  enum expand_type
42  {  {
43      E_MOV = 1, E_ADDR, E_U32, E_AND, E_S32, E_DELAY      E_MOV = 1, E_ADDR, E_U32, E_AND, E_S32, E_DELAY, XP_ONLY
44  };  };
45    
46    
# Line 96  Kinds of operands: Line 96  Kinds of operands:
96    
97     The order of opcodes does not affect the disassembler.  */     The order of opcodes does not affect the disassembler.  */
98    
99  static struct i860_opcode i860_opcodes[] =  static const struct i860_opcode i860_opcodes[] =
100  {  {
101  /* REG-Format Instructions.  */  /* REG-Format Instructions.  */
102  { "ld.c",       0x30000000, 0xcc000000, "c,d", 0 },     /* ld.c csrc2,idest */  { "ld.c",       0x30000000, 0xcc000000, "c,d", 0 },     /* ld.c csrc2,idest */
# Line 135  static struct i860_opcode i860_opcodes[] Line 135  static struct i860_opcode i860_opcodes[]
135  { "pfld.d",     0x64000000, 0x98000007, "L(2),g", E_ADDR },     /* pfld.d #const(isrc2),fdest */  { "pfld.d",     0x64000000, 0x98000007, "L(2),g", E_ADDR },     /* pfld.d #const(isrc2),fdest */
136  { "pfld.d",     0x60000001, 0x9c000006, "1(2)++,g", 0 },        /* pfld.d isrc1(isrc2)++,fdest */  { "pfld.d",     0x60000001, 0x9c000006, "1(2)++,g", 0 },        /* pfld.d isrc1(isrc2)++,fdest */
137  { "pfld.d",     0x64000001, 0x98000006, "L(2)++,g", E_ADDR },   /* pfld.d #const(isrc2)++,fdest */  { "pfld.d",     0x64000001, 0x98000006, "L(2)++,g", E_ADDR },   /* pfld.d #const(isrc2)++,fdest */
138    { "pfld.q",     0x60000004, 0x9c000003, "1(2),g", XP_ONLY },    /* pfld.q isrc1(isrc2),fdest */
139    { "pfld.q",     0x64000004, 0x98000003, "L(2),g", XP_ONLY },    /* pfld.q #const(isrc2),fdest */
140    { "pfld.q",     0x60000005, 0x9c000002, "1(2)++,g", XP_ONLY },  /* pfld.q isrc1(isrc2)++,fdest */
141    { "pfld.q",     0x64000005, 0x98000002, "L(2)++,g", XP_ONLY },  /* pfld.q #const(isrc2)++,fdest */
142    
143  { "fst.l",      0x28000002, 0xd4000001, "g,1(2)", 0 },  /* fst.l fdest,isrc1(isrc2) */  { "fst.l",      0x28000002, 0xd4000001, "g,1(2)", 0 },  /* fst.l fdest,isrc1(isrc2) */
144  { "fst.l",      0x2c000002, 0xd0000001, "g,K(2)", E_ADDR },     /* fst.l fdest,#const(isrc2) */  { "fst.l",      0x2c000002, 0xd0000001, "g,K(2)", E_ADDR },     /* fst.l fdest,#const(isrc2) */
# Line 176  static struct i860_opcode i860_opcodes[] Line 180  static struct i860_opcode i860_opcodes[]
180    
181  { "trap",       0x44000000, 0xb8000000, "1,2,d", 0 },   /* trap isrc1ni,isrc2,idest */  { "trap",       0x44000000, 0xb8000000, "1,2,d", 0 },   /* trap isrc1ni,isrc2,idest */
182    
183  { "flush",      0x34000000, 0xc81f0001, "i(2)", E_ADDR },       /* flush #const(isrc2) */  { "flush",      0x34000004, 0xc81f0003, "L(2)", E_ADDR },       /* flush #const(isrc2) */
184  { "flush",      0x34000001, 0xc81f0000, "i(2)++", E_ADDR },     /* flush #const(isrc2)++ */  { "flush",      0x34000005, 0xc81f0002, "L(2)++", E_ADDR },     /* flush #const(isrc2)++ */
185    
186  { "and",        0xc0000000, 0x3c000000, "1,2,d", 0 },   /* and isrc1,isrc2,idest */  { "and",        0xc0000000, 0x3c000000, "1,2,d", 0 },   /* and isrc1,isrc2,idest */
187  { "and",        0xc4000000, 0x38000000, "i,2,d", E_AND },       /* and #const,isrc2,idest */  { "and",        0xc4000000, 0x38000000, "i,2,d", E_AND },       /* and #const,isrc2,idest */
# Line 204  static struct i860_opcode i860_opcodes[] Line 208  static struct i860_opcode i860_opcodes[]
208  { "calli",      0x4c000002, 0xb000001d, "1", E_DELAY }, /* calli isrc1ni */  { "calli",      0x4c000002, 0xb000001d, "1", E_DELAY }, /* calli isrc1ni */
209  { "intovr",     0x4c000004, 0xb000001b, "", 0 },        /* intovr trap on integer overflow */  { "intovr",     0x4c000004, 0xb000001b, "", 0 },        /* intovr trap on integer overflow */
210  { "unlock",     0x4c000007, 0xb0000018, "", 0 },        /* unlock clear BL in dirbase */  { "unlock",     0x4c000007, 0xb0000018, "", 0 },        /* unlock clear BL in dirbase */
211    { "ldio.l",     0x4c000408, 0xb00003f7, "2,d", XP_ONLY },       /* ldio.l isrc2,idest */
212    { "ldio.s",     0x4c000208, 0xb00005f7, "2,d", XP_ONLY },       /* ldio.s isrc2,idest */
213    { "ldio.b",     0x4c000008, 0xb00007f7, "2,d", XP_ONLY },       /* ldio.b isrc2,idest */
214    { "stio.l",     0x4c000409, 0xb00003f6, "1,2", XP_ONLY },       /* stio.l isrc1ni,isrc2 */
215    { "stio.s",     0x4c000209, 0xb00005f6, "1,2", XP_ONLY },       /* stio.s isrc1ni,isrc2 */
216    { "stio.b",     0x4c000009, 0xb00007f6, "1,2", XP_ONLY },       /* stio.b isrc1ni,isrc2 */
217    { "ldint.l",    0x4c00040a, 0xb00003f5, "2,d", XP_ONLY },       /* ldint.l isrc2,idest */
218    { "ldint.s",    0x4c00020a, 0xb00005f5, "2,d", XP_ONLY },       /* ldint.s isrc2,idest */
219    { "ldint.b",    0x4c00000a, 0xb00007f5, "2,d", XP_ONLY },       /* ldint.b isrc2,idest */
220    { "scyc.b",     0x4c00000b, 0xb00007f4, "2", XP_ONLY },         /* scyc.b isrc2 */
221    
222  /* CTRL-Format Instructions */  /* CTRL-Format Instructions */
223  { "br",         0x68000000, 0x94000000, "l", E_DELAY }, /* br lbroff */  { "br",         0x68000000, 0x94000000, "l", E_DELAY }, /* br lbroff */
# Line 433  static struct i860_opcode i860_opcodes[] Line 447  static struct i860_opcode i860_opcodes[]
447  { "pfsub.ss",   0x48000431, 0xb40001ce, "e,f,g", 0 },   /* pfsub.p fsrc1,fsrc2,fdest */  { "pfsub.ss",   0x48000431, 0xb40001ce, "e,f,g", 0 },   /* pfsub.p fsrc1,fsrc2,fdest */
448  { "pfsub.sd",   0x480004b1, 0xb400014e, "e,f,g", 0 },   /* pfsub.p fsrc1,fsrc2,fdest */  { "pfsub.sd",   0x480004b1, 0xb400014e, "e,f,g", 0 },   /* pfsub.p fsrc1,fsrc2,fdest */
449  { "pfsub.dd",   0x480005b1, 0xb400004e, "e,f,g", 0 },   /* pfsub.p fsrc1,fsrc2,fdest */  { "pfsub.dd",   0x480005b1, 0xb400004e, "e,f,g", 0 },   /* pfsub.p fsrc1,fsrc2,fdest */
 { "fix.ss",     0x48000032, 0xb40005cd, "e,g", 0 },     /* fix.p fsrc1,fdest */  
450  { "fix.sd",     0x480000b2, 0xb400054d, "e,g", 0 },     /* fix.p fsrc1,fdest */  { "fix.sd",     0x480000b2, 0xb400054d, "e,g", 0 },     /* fix.p fsrc1,fdest */
451  { "fix.dd",     0x480001b2, 0xb400044d, "e,g", 0 },     /* fix.p fsrc1,fdest */  { "fix.dd",     0x480001b2, 0xb400044d, "e,g", 0 },     /* fix.p fsrc1,fdest */
 { "pfix.ss",    0x48000432, 0xb40001cd, "e,g", 0 },     /* pfix.p fsrc1,fdest */  
452  { "pfix.sd",    0x480004b2, 0xb400014d, "e,g", 0 },     /* pfix.p fsrc1,fdest */  { "pfix.sd",    0x480004b2, 0xb400014d, "e,g", 0 },     /* pfix.p fsrc1,fdest */
453  { "pfix.dd",    0x480005b2, 0xb400004d, "e,g", 0 },     /* pfix.p fsrc1,fdest */  { "pfix.dd",    0x480005b2, 0xb400004d, "e,g", 0 },     /* pfix.p fsrc1,fdest */
454  { "famov.ss",   0x48000033, 0xb40005cc, "e,g", 0 },     /* famov.p fsrc1,fdest */  { "famov.ss",   0x48000033, 0xb40005cc, "e,g", 0 },     /* famov.p fsrc1,fdest */
# Line 455  static struct i860_opcode i860_opcodes[] Line 467  static struct i860_opcode i860_opcodes[]
467  { "pfle.dd",    0x480005b4, 0xb400004b, "e,f,g", 0 },   /* pfle.p fsrc1,fsrc2,fdest */  { "pfle.dd",    0x480005b4, 0xb400004b, "e,f,g", 0 },   /* pfle.p fsrc1,fsrc2,fdest */
468  { "pfeq.ss",    0x48000435, 0xb40001ca, "e,f,g", 0 },   /* pfeq.p fsrc1,fsrc2,fdest */  { "pfeq.ss",    0x48000435, 0xb40001ca, "e,f,g", 0 },   /* pfeq.p fsrc1,fsrc2,fdest */
469  { "pfeq.dd",    0x48000535, 0xb40000ca, "e,f,g", 0 },   /* pfeq.p fsrc1,fsrc2,fdest */  { "pfeq.dd",    0x48000535, 0xb40000ca, "e,f,g", 0 },   /* pfeq.p fsrc1,fsrc2,fdest */
 { "ftrunc.ss",  0x4800003a, 0xb40005c5, "e,g", 0 },     /* ftrunc.p fsrc1,fdest */  
470  { "ftrunc.sd",  0x480000ba, 0xb4000545, "e,g", 0 },     /* ftrunc.p fsrc1,fdest */  { "ftrunc.sd",  0x480000ba, 0xb4000545, "e,g", 0 },     /* ftrunc.p fsrc1,fdest */
471  { "ftrunc.dd",  0x480001ba, 0xb4000445, "e,g", 0 },     /* ftrunc.p fsrc1,fdest */  { "ftrunc.dd",  0x480001ba, 0xb4000445, "e,g", 0 },     /* ftrunc.p fsrc1,fdest */
 { "pftrunc.ss", 0x4800043a, 0xb40001c5, "e,g", 0 },     /* pftrunc.p fsrc1,fdest */  
472  { "pftrunc.sd", 0x480004ba, 0xb4000145, "e,g", 0 },     /* pftrunc.p fsrc1,fdest */  { "pftrunc.sd", 0x480004ba, 0xb4000145, "e,g", 0 },     /* pftrunc.p fsrc1,fdest */
473  { "pftrunc.dd", 0x480005ba, 0xb4000045, "e,g", 0 },     /* pftrunc.p fsrc1,fdest */  { "pftrunc.dd", 0x480005ba, 0xb4000045, "e,g", 0 },     /* pftrunc.p fsrc1,fdest */
474  { "fxfr",       0x48000040, 0xb40005bf, "e,d", 0 },     /* fxfr fsrc1,idest */  { "fxfr",       0x48000040, 0xb40005bf, "e,d", 0 },     /* fxfr fsrc1,idest */
# Line 472  static struct i860_opcode i860_opcodes[] Line 482  static struct i860_opcode i860_opcodes[]
482  { "pfisub.dd",  0x480005cd, 0xb4000032, "e,f,g", 0 },   /* pfisub.w fsrc1,fsrc2,fdest */  { "pfisub.dd",  0x480005cd, 0xb4000032, "e,f,g", 0 },   /* pfisub.w fsrc1,fsrc2,fdest */
483  { "fzchkl",     0x480001d7, 0xb4000428, "e,f,g", 0 },   /* fzchkl fsrc1,fsrc2,fdest */  { "fzchkl",     0x480001d7, 0xb4000428, "e,f,g", 0 },   /* fzchkl fsrc1,fsrc2,fdest */
484  { "pfzchkl",    0x480005d7, 0xb4000028, "e,f,g", 0 },   /* pfzchkl fsrc1,fsrc2,fdest */  { "pfzchkl",    0x480005d7, 0xb4000028, "e,f,g", 0 },   /* pfzchkl fsrc1,fsrc2,fdest */
485  { "fzchks",     0x4800015f, 0xb4000420, "e,f,g", 0 },   /* fzchks fsrc1,fsrc2,fdest */  { "fzchks",     0x480001df, 0xb4000420, "e,f,g", 0 },   /* fzchks fsrc1,fsrc2,fdest */
486  { "pfzchks",    0x4800055f, 0xb4000020, "e,f,g", 0 },   /* pfzchks fsrc1,fsrc2,fdest */  { "pfzchks",    0x480005df, 0xb4000020, "e,f,g", 0 },   /* pfzchks fsrc1,fsrc2,fdest */
487  { "faddp",      0x48000050, 0xb40005af, "e,f,g", 0 },   /* faddp fsrc1,fsrc2,fdest */  { "faddp",      0x480001d0, 0xb400042f, "e,f,g", 0 },   /* faddp fsrc1,fsrc2,fdest */
488  { "pfaddp",     0x48000450, 0xb40001af, "e,f,g", 0 },   /* pfaddp fsrc1,fsrc2,fdest */  { "pfaddp",     0x480005d0, 0xb400002f, "e,f,g", 0 },   /* pfaddp fsrc1,fsrc2,fdest */
489  { "faddz",      0x480001d1, 0xb400042e, "e,f,g", 0 },   /* faddz fsrc1,fsrc2,fdest */  { "faddz",      0x480001d1, 0xb400042e, "e,f,g", 0 },   /* faddz fsrc1,fsrc2,fdest */
490  { "pfaddz",     0x480005d1, 0xb400002e, "e,f,g", 0 },   /* pfaddz fsrc1,fsrc2,fdest */  { "pfaddz",     0x480005d1, 0xb400002e, "e,f,g", 0 },   /* pfaddz fsrc1,fsrc2,fdest */
491  { "form",       0x480001da, 0xb4000425, "e,g", 0 },     /* form fsrc1,fdest */  { "form",       0x480001da, 0xb4000425, "e,g", 0 },     /* form fsrc1,fdest */
# Line 484  static struct i860_opcode i860_opcodes[] Line 494  static struct i860_opcode i860_opcodes[]
494  /* Floating point pseudo-instructions.  */  /* Floating point pseudo-instructions.  */
495  { "fmov.ss",    0x48000049, 0xb7e005b6, "e,g", 0 },     /* fiadd.ss fsrc1,f0,fdest */  { "fmov.ss",    0x48000049, 0xb7e005b6, "e,g", 0 },     /* fiadd.ss fsrc1,f0,fdest */
496  { "fmov.dd",    0x480001c9, 0xb7e00436, "e,g", 0 },     /* fiadd.dd fsrc1,f0,fdest */  { "fmov.dd",    0x480001c9, 0xb7e00436, "e,g", 0 },     /* fiadd.dd fsrc1,f0,fdest */
497  { "fmov.sd",    0x480000b0, 0xb7e0054f, "e,g", 0 },     /* fadd.sd fsrc1,f0,fdest */  { "fmov.sd",    0x480000b3, 0xb400054c, "e,g", 0 },     /* famov.sd fsrc1,fdest */
498  { "fmov.ds",    0x48000130, 0xb7e004cf, "e,g", 0 },     /* fadd.ds fsrc1,f0,fdest */  { "fmov.ds",    0x48000133, 0xb40004cc, "e,g", 0 },     /* famov.ds fsrc1,fdest */
499  { "pfmov.ds",   0x48000530, 0xb73000cf, "e,g", 0 },     /* pfadd.ds fsrc1,f0,fdest */  { "pfmov.ds",   0x48000533, 0xb40000cc, "e,g", 0 },     /* pfamov.ds fsrc1,fdest */
500  { "pfmov.dd",   0x480005c9, 0xb7e00036, "e,g", 0 },     /* pfiadd.dd fsrc1,f0,fdest */  { "pfmov.dd",   0x480005c9, 0xb7e00036, "e,g", 0 },     /* pfiadd.dd fsrc1,f0,fdest */
501  { 0, 0, 0, 0, 0 },  { 0, 0, 0, 0, 0 },
502    

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26