OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [opcodes/] [mips-opc.c] - Diff between revs 158 and 166

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 158 Rev 166
Line 119... Line 119...
#define N411    INSN_4111
#define N411    INSN_4111
#define N412    INSN_4120
#define N412    INSN_4120
#define N5      (INSN_5400 | INSN_5500)
#define N5      (INSN_5400 | INSN_5500)
#define N54     INSN_5400
#define N54     INSN_5400
#define N55     INSN_5500
#define N55     INSN_5500
#define IOCT    INSN_OCTEON
#define IOCT    (INSN_OCTEON | INSN_OCTEONP | INSN_OCTEON2)
 
#define IOCTP   (INSN_OCTEONP | INSN_OCTEON2)
 
#define IOCT2   INSN_OCTEON2
#define XLR     INSN_XLR
#define XLR     INSN_XLR
 
 
#define G1      (T3             \
#define G1      (T3             \
                 )
                 )
 
 
Line 815... Line 817...
   assembler, but will never match user input (because the line above
   assembler, but will never match user input (because the line above
   will match first).  */
   will match first).  */
{"jal",     "a",        0x0c000000, 0xfc000000, UBD|WR_31,              0,               I1      },
{"jal",     "a",        0x0c000000, 0xfc000000, UBD|WR_31,              0,               I1      },
{"jalx",    "a",        0x74000000, 0xfc000000, UBD|WR_31,              0,               I1      },
{"jalx",    "a",        0x74000000, 0xfc000000, UBD|WR_31,              0,               I1      },
{"la",      "t,A(b)",   0,    (int) M_LA_AB,     INSN_MACRO,             0,               I1      },
{"la",      "t,A(b)",   0,    (int) M_LA_AB,     INSN_MACRO,             0,               I1      },
 
{"laa",     "d,(b),t",  0x7000049f, 0xfc0007ff, LDD|SM|WR_d|RD_t|RD_b,  0,               IOCT2   },
 
{"laad",    "d,(b),t",  0x700004df, 0xfc0007ff, LDD|SM|WR_d|RD_t|RD_b,  0,               IOCT2   },
 
{"lac",     "d,(b)",    0x7000039f, 0xfc1f07ff, LDD|SM|WR_d|RD_b,       0,               IOCT2   },
 
{"lacd",    "d,(b)",    0x700003df, 0xfc1f07ff, LDD|SM|WR_d|RD_b,       0,               IOCT2   },
 
{"lad",     "d,(b)",    0x7000019f, 0xfc1f07ff, LDD|SM|WR_d|RD_t|RD_b,  0,               IOCT2   },
 
{"ladd",    "d,(b)",    0x700001df, 0xfc1f07ff, LDD|SM|WR_d|RD_t|RD_b,  0,               IOCT2   },
 
{"lai",     "d,(b)",    0x7000009f, 0xfc1f07ff, LDD|SM|WR_d|RD_t|RD_b,  0,               IOCT2   },
 
{"laid",    "d,(b)",    0x700000df, 0xfc1f07ff, LDD|SM|WR_d|RD_t|RD_b,  0,               IOCT2   },
 
{"las",     "d,(b)",    0x7000029f, 0xfc1f07ff, LDD|SM|WR_d|RD_b,       0,               IOCT2   },
 
{"lasd",    "d,(b)",    0x700002df, 0xfc1f07ff, LDD|SM|WR_d|RD_b,       0,               IOCT2   },
 
{"law",     "d,(b),t",  0x7000059f, 0xfc0007ff, LDD|SM|WR_d|RD_t|RD_b,  0,               IOCT2   },
 
{"lawd",    "d,(b),t",  0x700005df, 0xfc0007ff, LDD|SM|WR_d|RD_t|RD_b,  0,               IOCT2   },
{"lb",      "t,o(b)",   0x80000000, 0xfc000000, LDD|RD_b|WR_t,          0,               I1      },
{"lb",      "t,o(b)",   0x80000000, 0xfc000000, LDD|RD_b|WR_t,          0,               I1      },
{"lb",      "t,A(b)",   0,    (int) M_LB_AB,     INSN_MACRO,             0,               I1      },
{"lb",      "t,A(b)",   0,    (int) M_LB_AB,     INSN_MACRO,             0,               I1      },
{"lbu",     "t,o(b)",   0x90000000, 0xfc000000, LDD|RD_b|WR_t,          0,               I1      },
{"lbu",     "t,o(b)",   0x90000000, 0xfc000000, LDD|RD_b|WR_t,          0,               I1      },
{"lbu",     "t,A(b)",   0,    (int) M_LBU_AB,    INSN_MACRO,             0,               I1      },
{"lbu",     "t,A(b)",   0,    (int) M_LBU_AB,    INSN_MACRO,             0,               I1      },
 
{"lbx",     "d,t(b)",   0x7c00058a, 0xfc0007ff, LDD|WR_d|RD_t|RD_b,     0,               IOCT2   },
 
{"lbux",    "d,t(b)",   0x7c00018a, 0xfc0007ff, LDD|WR_d|RD_t|RD_b,     0,               D32|IOCT2},
 
{"ldx",     "d,t(b)",   0x7c00020a, 0xfc0007ff, LDD|WR_d|RD_t|RD_b,     0,               D64|IOCT2},
 
{"lhx",     "d,t(b)",   0x7c00010a, 0xfc0007ff, LDD|WR_d|RD_t|RD_b,     0,               D32|IOCT2},
 
{"lhux",    "d,t(b)",   0x7c00050a, 0xfc0007ff, LDD|WR_d|RD_t|RD_b,     0,               IOCT2   },
 
{"lwx",     "d,t(b)",   0x7c00000a, 0xfc0007ff, LDD|WR_d|RD_t|RD_b,     0,               D32|IOCT2},
 
{"lwux",    "d,t(b)",   0x7c00040a, 0xfc0007ff, LDD|WR_d|RD_t|RD_b,     0,               IOCT2   },
{"lca",     "t,A(b)",   0,    (int) M_LCA_AB,    INSN_MACRO,             0,               I1      },
{"lca",     "t,A(b)",   0,    (int) M_LCA_AB,    INSN_MACRO,             0,               I1      },
/* The macro has to be first to handle o32 correctly.  */
/* The macro has to be first to handle o32 correctly.  */
{"ld",      "t,o(b)",   0,    (int) M_LD_OB,     INSN_MACRO,             0,               I1      },
{"ld",      "t,o(b)",   0,    (int) M_LD_OB,     INSN_MACRO,             0,               I1      },
{"ld",      "t,o(b)",   0xdc000000, 0xfc000000, WR_t|RD_b,              0,               I3      },
{"ld",      "t,o(b)",   0xdc000000, 0xfc000000, WR_t|RD_b,              0,               I3      },
{"ld",      "t,A(b)",   0,    (int) M_LD_AB,     INSN_MACRO,             0,               I1      },
{"ld",      "t,A(b)",   0,    (int) M_LD_AB,     INSN_MACRO,             0,               I1      },
Line 1166... Line 1187...
{"or.ob",   "D,S,k",    0x4bc0000e, 0xffe0003f, WR_D|RD_S|RD_T,         0,               N54     },
{"or.ob",   "D,S,k",    0x4bc0000e, 0xffe0003f, WR_D|RD_S|RD_T,         0,               N54     },
{"or.qh",   "X,Y,Q",    0x7820000e, 0xfc20003f, WR_D|RD_S|RD_T|FP_D,    0,               MX      },
{"or.qh",   "X,Y,Q",    0x7820000e, 0xfc20003f, WR_D|RD_S|RD_T|FP_D,    0,               MX      },
{"ori",     "t,r,i",    0x34000000, 0xfc000000, WR_t|RD_s,              0,               I1      },
{"ori",     "t,r,i",    0x34000000, 0xfc000000, WR_t|RD_s,              0,               I1      },
{"pabsdiff.ob", "X,Y,Q",0x78000009, 0xfc20003f, WR_D|RD_S|RD_T|FP_D,    0,               SB1     },
{"pabsdiff.ob", "X,Y,Q",0x78000009, 0xfc20003f, WR_D|RD_S|RD_T|FP_D,    0,               SB1     },
{"pabsdiffc.ob", "Y,Q", 0x78000035, 0xfc2007ff, RD_S|RD_T|FP_D,         WR_MACC,        SB1     },
{"pabsdiffc.ob", "Y,Q", 0x78000035, 0xfc2007ff, RD_S|RD_T|FP_D,         WR_MACC,        SB1     },
 
{"pause",   "",         0x00000140, 0xffffffff, TRAP,                   0,               I33     },
{"pavg.ob", "X,Y,Q",    0x78000008, 0xfc20003f, WR_D|RD_S|RD_T|FP_D,    0,               SB1     },
{"pavg.ob", "X,Y,Q",    0x78000008, 0xfc20003f, WR_D|RD_S|RD_T|FP_D,    0,               SB1     },
{"pickf.ob", "X,Y,Q",   0x78000002, 0xfc20003f, WR_D|RD_S|RD_T|FP_D,    0,               MX|SB1  },
{"pickf.ob", "X,Y,Q",   0x78000002, 0xfc20003f, WR_D|RD_S|RD_T|FP_D,    0,               MX|SB1  },
{"pickf.ob", "D,S,T",   0x4ac00002, 0xffe0003f, WR_D|RD_S|RD_T,         0,               N54     },
{"pickf.ob", "D,S,T",   0x4ac00002, 0xffe0003f, WR_D|RD_S|RD_T,         0,               N54     },
{"pickf.ob", "D,S,T[e]",0x48000002, 0xfe20003f, WR_D|RD_S|RD_T,         0,               N54     },
{"pickf.ob", "D,S,T[e]",0x48000002, 0xfe20003f, WR_D|RD_S|RD_T,         0,               N54     },
{"pickf.ob", "D,S,k",   0x4bc00002, 0xffe0003f, WR_D|RD_S|RD_T,         0,               N54     },
{"pickf.ob", "D,S,k",   0x4bc00002, 0xffe0003f, WR_D|RD_S|RD_T,         0,               N54     },
Line 1184... Line 1206...
{"pop",     "d,v",      0x7000002c, 0xfc1f07ff, WR_d|RD_s,              0,               IOCT    },
{"pop",     "d,v",      0x7000002c, 0xfc1f07ff, WR_d|RD_s,              0,               IOCT    },
  /* pref and prefx are at the start of the table.  */
  /* pref and prefx are at the start of the table.  */
{"pul.ps",  "D,V,T",    0x46c0002e, 0xffe0003f, WR_D|RD_S|RD_T|FP_D,    0,               I5_33   },
{"pul.ps",  "D,V,T",    0x46c0002e, 0xffe0003f, WR_D|RD_S|RD_T|FP_D,    0,               I5_33   },
{"puu.ps",  "D,V,T",    0x46c0002f, 0xffe0003f, WR_D|RD_S|RD_T|FP_D,    0,               I5_33   },
{"puu.ps",  "D,V,T",    0x46c0002f, 0xffe0003f, WR_D|RD_S|RD_T|FP_D,    0,               I5_33   },
{"pperm",   "s,t",      0x70000481, 0xfc00ffff, MOD_HILO|RD_s|RD_t,     0,               SMT     },
{"pperm",   "s,t",      0x70000481, 0xfc00ffff, MOD_HILO|RD_s|RD_t,     0,               SMT     },
 
{"qmac.00", "s,t",      0x70000412, 0xfc00ffff, MOD_HILO|RD_s|RD_t,     0,               IOCT2   },
 
{"qmac.01", "s,t",      0x70000452, 0xfc00ffff, MOD_HILO|RD_s|RD_t,     0,               IOCT2   },
 
{"qmac.02", "s,t",      0x70000492, 0xfc00ffff, MOD_HILO|RD_s|RD_t,     0,               IOCT2   },
 
{"qmac.03", "s,t",      0x700004d2, 0xfc00ffff, MOD_HILO|RD_s|RD_t,     0,               IOCT2   },
 
{"qmacs.00", "s,t",     0x70000012, 0xfc00ffff, MOD_HILO|RD_s|RD_t,     0,               IOCT2   },
 
{"qmacs.01", "s,t",     0x70000052, 0xfc00ffff, MOD_HILO|RD_s|RD_t,     0,               IOCT2   },
 
{"qmacs.02", "s,t",     0x70000092, 0xfc00ffff, MOD_HILO|RD_s|RD_t,     0,               IOCT2   },
 
{"qmacs.03", "s,t",     0x700000d2, 0xfc00ffff, MOD_HILO|RD_s|RD_t,     0,               IOCT2   },
{"rach.ob", "X",        0x7a00003f, 0xfffff83f, WR_D|FP_D,              RD_MACC,        MX|SB1  },
{"rach.ob", "X",        0x7a00003f, 0xfffff83f, WR_D|FP_D,              RD_MACC,        MX|SB1  },
{"rach.ob", "D",        0x4a00003f, 0xfffff83f, WR_D,                   0,               N54     },
{"rach.ob", "D",        0x4a00003f, 0xfffff83f, WR_D,                   0,               N54     },
{"rach.qh", "X",        0x7a20003f, 0xfffff83f, WR_D|FP_D,              RD_MACC,        MX      },
{"rach.qh", "X",        0x7a20003f, 0xfffff83f, WR_D|FP_D,              RD_MACC,        MX      },
{"racl.ob", "X",        0x7800003f, 0xfffff83f, WR_D|FP_D,              RD_MACC,        MX|SB1  },
{"racl.ob", "X",        0x7800003f, 0xfffff83f, WR_D|FP_D,              RD_MACC,        MX|SB1  },
{"racl.ob", "D",        0x4800003f, 0xfffff83f, WR_D,                   0,               N54     },
{"racl.ob", "D",        0x4800003f, 0xfffff83f, WR_D,                   0,               N54     },
Line 1245... Line 1275...
{"rsqrt2.s",  "D,S,T",  0x4600001f, 0xffe0003f, WR_D|RD_S|RD_T|FP_S,    0,               M3D     },
{"rsqrt2.s",  "D,S,T",  0x4600001f, 0xffe0003f, WR_D|RD_S|RD_T|FP_S,    0,               M3D     },
{"rzs.qh",  "X,Q",      0x78200024, 0xfc20f83f, WR_D|RD_T|FP_D,         RD_MACC,        MX      },
{"rzs.qh",  "X,Q",      0x78200024, 0xfc20f83f, WR_D|RD_T|FP_D,         RD_MACC,        MX      },
{"rzu.ob",  "X,Q",      0x78000020, 0xfc20f83f, WR_D|RD_T|FP_D,         RD_MACC,        MX|SB1  },
{"rzu.ob",  "X,Q",      0x78000020, 0xfc20f83f, WR_D|RD_T|FP_D,         RD_MACC,        MX|SB1  },
{"rzu.ob",  "D,k",      0x4bc00020, 0xffe0f83f, WR_D|RD_S|RD_T,         0,               N54     },
{"rzu.ob",  "D,k",      0x4bc00020, 0xffe0f83f, WR_D|RD_S|RD_T,         0,               N54     },
{"rzu.qh",  "X,Q",      0x78200020, 0xfc20f83f, WR_D|RD_T|FP_D,         RD_MACC,        MX      },
{"rzu.qh",  "X,Q",      0x78200020, 0xfc20f83f, WR_D|RD_T|FP_D,         RD_MACC,        MX      },
 
{"saa",     "t,o(b)",   0,    (int) M_SAA_OB,    INSN_MACRO,             0,               IOCTP   },
 
{"saa",     "t,A(b)",   0,    (int) M_SAA_AB,    INSN_MACRO,             0,               IOCTP   },
 
{"saa",     "t,(b)",    0x70000018, 0xfc00ffff, SM|RD_t|RD_b,           0,               IOCTP   },
 
{"saad",    "t,o(b)",   0,    (int) M_SAAD_OB,   INSN_MACRO,             0,               IOCTP   },
 
{"saad",    "t,A(b)",   0,    (int) M_SAAD_AB,   INSN_MACRO,             0,               IOCTP   },
 
{"saad",    "t,(b)",    0x70000019, 0xfc00ffff, SM|RD_t|RD_b,           0,               IOCTP   },
{"sb",      "t,o(b)",   0xa0000000, 0xfc000000, SM|RD_t|RD_b,           0,               I1      },
{"sb",      "t,o(b)",   0xa0000000, 0xfc000000, SM|RD_t|RD_b,           0,               I1      },
{"sb",      "t,A(b)",   0,    (int) M_SB_AB,     INSN_MACRO,             0,               I1      },
{"sb",      "t,A(b)",   0,    (int) M_SB_AB,     INSN_MACRO,             0,               I1      },
{"sc",      "t,o(b)",   0xe0000000, 0xfc000000, SM|RD_t|WR_t|RD_b,      0,               I2      },
{"sc",      "t,o(b)",   0xe0000000, 0xfc000000, SM|RD_t|WR_t|RD_b,      0,               I2      },
{"sc",      "t,A(b)",   0,    (int) M_SC_AB,     INSN_MACRO,             0,               I2      },
{"sc",      "t,A(b)",   0,    (int) M_SC_AB,     INSN_MACRO,             0,               I2      },
{"scd",     "t,o(b)",   0xf0000000, 0xfc000000, SM|RD_t|WR_t|RD_b,      0,               I3      },
{"scd",     "t,o(b)",   0xf0000000, 0xfc000000, SM|RD_t|WR_t|RD_b,      0,               I3      },
Line 1508... Line 1544...
{"xor.ob",  "D,S,k",    0x4bc0000d, 0xffe0003f, WR_D|RD_S|RD_T,         0,               N54     },
{"xor.ob",  "D,S,k",    0x4bc0000d, 0xffe0003f, WR_D|RD_S|RD_T,         0,               N54     },
{"xor.qh",  "X,Y,Q",    0x7820000d, 0xfc20003f, WR_D|RD_S|RD_T|FP_D,    0,               MX      },
{"xor.qh",  "X,Y,Q",    0x7820000d, 0xfc20003f, WR_D|RD_S|RD_T|FP_D,    0,               MX      },
{"xori",    "t,r,i",    0x38000000, 0xfc000000, WR_t|RD_s,              0,               I1      },
{"xori",    "t,r,i",    0x38000000, 0xfc000000, WR_t|RD_s,              0,               I1      },
{"yield",   "s",        0x7c000009, 0xfc1fffff, NODS|RD_s,              0,               MT32    },
{"yield",   "s",        0x7c000009, 0xfc1fffff, NODS|RD_s,              0,               MT32    },
{"yield",   "d,s",      0x7c000009, 0xfc1f07ff, NODS|WR_d|RD_s,         0,               MT32    },
{"yield",   "d,s",      0x7c000009, 0xfc1f07ff, NODS|WR_d|RD_s,         0,               MT32    },
 
{"zcb",     "(b)",      0x7000071f, 0xfc1fffff, SM|RD_b,                0,               IOCT2   },
 
{"zcbt",    "(b)",      0x7000075f, 0xfc1fffff, SM|RD_b,                0,               IOCT2   },
 
 
/* User Defined Instruction.  */
/* User Defined Instruction.  */
{"udi0",     "s,t,d,+1",0x70000010, 0xfc00003f, WR_d|RD_s|RD_t,         0,               I33     },
{"udi0",     "s,t,d,+1",0x70000010, 0xfc00003f, WR_d|RD_s|RD_t,         0,               I33     },
{"udi0",     "s,t,+2",  0x70000010, 0xfc00003f, WR_d|RD_s|RD_t,         0,               I33     },
{"udi0",     "s,t,+2",  0x70000010, 0xfc00003f, WR_d|RD_s|RD_t,         0,               I33     },
{"udi0",     "s,+3",    0x70000010, 0xfc00003f, WR_d|RD_s|RD_t,         0,               I33     },
{"udi0",     "s,+3",    0x70000010, 0xfc00003f, WR_d|RD_s|RD_t,         0,               I33     },
Line 1720... Line 1758...
{"extrv_r.w", "t,7,s",  0x7c000178, 0xfc00e7ff, WR_t|RD_a|RD_s,         0,               D32     },
{"extrv_r.w", "t,7,s",  0x7c000178, 0xfc00e7ff, WR_t|RD_a|RD_s,         0,               D32     },
{"extrv_s.h", "t,7,s",  0x7c0003f8, 0xfc00e7ff, WR_t|RD_a|RD_s,         0,               D32     },
{"extrv_s.h", "t,7,s",  0x7c0003f8, 0xfc00e7ff, WR_t|RD_a|RD_s,         0,               D32     },
{"extrv.w", "t,7,s",    0x7c000078, 0xfc00e7ff, WR_t|RD_a|RD_s,         0,               D32     },
{"extrv.w", "t,7,s",    0x7c000078, 0xfc00e7ff, WR_t|RD_a|RD_s,         0,               D32     },
{"extr.w",  "t,7,6",    0x7c000038, 0xfc00e7ff, WR_t|RD_a,              0,               D32     },
{"extr.w",  "t,7,6",    0x7c000038, 0xfc00e7ff, WR_t|RD_a,              0,               D32     },
{"insv",    "t,s",      0x7c00000c, 0xfc00ffff, WR_t|RD_s,              0,               D32     },
{"insv",    "t,s",      0x7c00000c, 0xfc00ffff, WR_t|RD_s,              0,               D32     },
{"lbux",    "d,t(b)",   0x7c00018a, 0xfc0007ff, LDD|WR_d|RD_t|RD_b,     0,               D32     },
/* lbux, ldx, lhx and lwx are the basic instruction section.  */
{"ldx",     "d,t(b)",   0x7c00020a, 0xfc0007ff, LDD|WR_d|RD_t|RD_b,     0,               D64     },
 
{"lhx",     "d,t(b)",   0x7c00010a, 0xfc0007ff, LDD|WR_d|RD_t|RD_b,     0,               D32     },
 
{"lwx",     "d,t(b)",   0x7c00000a, 0xfc0007ff, LDD|WR_d|RD_t|RD_b,     0,               D32     },
 
{"maq_sa.w.phl", "7,s,t", 0x7c000430, 0xfc00e7ff, MOD_a|RD_s|RD_t,      0,               D32     },
{"maq_sa.w.phl", "7,s,t", 0x7c000430, 0xfc00e7ff, MOD_a|RD_s|RD_t,      0,               D32     },
{"maq_sa.w.phr", "7,s,t", 0x7c0004b0, 0xfc00e7ff, MOD_a|RD_s|RD_t,      0,               D32     },
{"maq_sa.w.phr", "7,s,t", 0x7c0004b0, 0xfc00e7ff, MOD_a|RD_s|RD_t,      0,               D32     },
{"maq_sa.w.qhll", "7,s,t", 0x7c000434, 0xfc00e7ff, MOD_a|RD_s|RD_t,     0,               D64     },
{"maq_sa.w.qhll", "7,s,t", 0x7c000434, 0xfc00e7ff, MOD_a|RD_s|RD_t,     0,               D64     },
{"maq_sa.w.qhlr", "7,s,t", 0x7c000474, 0xfc00e7ff, MOD_a|RD_s|RD_t,     0,               D64     },
{"maq_sa.w.qhlr", "7,s,t", 0x7c000474, 0xfc00e7ff, MOD_a|RD_s|RD_t,     0,               D64     },
{"maq_sa.w.qhrl", "7,s,t", 0x7c0004b4, 0xfc00e7ff, MOD_a|RD_s|RD_t,     0,               D64     },
{"maq_sa.w.qhrl", "7,s,t", 0x7c0004b4, 0xfc00e7ff, MOD_a|RD_s|RD_t,     0,               D64     },

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.