[python] Add gdb.Type.name attribute.
[deliverable/binutils-gdb.git] / opcodes / mips-opc.c
index 43fab35d50dd8f544ba45e676062eec3040f798e..fd619f4d6c62581ad2b87a8be17a84d046c07ba8 100644 (file)
@@ -92,15 +92,15 @@ decode_mips_operand (const char *p)
        case 'l': REG (5, 6, MSA_CTRL);
        case 'm': REG (0, 0, R5900_ACC);
        case 'n': REG (5, 11, MSA_CTRL);
-       case 'o': SPECIAL (5, 16, IMM_INDEX);
+       case 'o': SPECIAL (4, 16, IMM_INDEX);
        case 'p': BIT (5, 6, 0);                /* (0 .. 31), 32-bit op */
        case 'q': REG (0, 0, R5900_Q);
        case 'r': REG (0, 0, R5900_R);
        case 's': MSB (5, 11, 0, FALSE, 31);    /* (0 .. 31) */
        case 't': REG (5, 16, COPRO);
-       case 'u': SPECIAL (4, 16, IMM_INDEX);
-       case 'v': SPECIAL (3, 16, IMM_INDEX);
-       case 'w': SPECIAL (2, 16, IMM_INDEX);
+       case 'u': SPECIAL (3, 16, IMM_INDEX);
+       case 'v': SPECIAL (2, 16, IMM_INDEX);
+       case 'w': SPECIAL (1, 16, IMM_INDEX);
        case 'x': BIT (5, 16, 0);               /* (0 .. 31) */
        case 'y': REG (0, 0, R5900_I);
        case 'z': REG (5, 0, GP);
@@ -1317,7 +1317,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
 {"mflo",               "d,9",          0x00000012, 0xff9f07ff, WR_1|RD_LO,             0,              0,              D32,    0 },
 {"mflo1",              "d",            0x70000012, 0xffff07ff, WR_1|RD_LO,             0,              EE,             0,      0 },
 {"mflhxu",             "d",            0x00000052, 0xffff07ff, WR_1|MOD_HILO,          0,              0,              SMT,    0 },
-{"mfcr",               "t,s",          0x70000018, 0xfc00ffff, WR_1,                   0,              XLR,            0,      0 },
+{"mfcr",               "t,s",          0x70000018, 0xfc00ffff, WR_1|RD_2,              0,              XLR,            0,      0 },
 {"mfsa",               "d",            0x00000028, 0xffff07ff, WR_1,                   0,              EE,             0,      0 },
 {"min.ob",             "X,Y,Q",        0x78000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D,    0,              SB1,            MX,     0 },
 {"min.ob",             "D,S,Q",        0x48000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D,    0,              N54,            0,      0 },
@@ -1410,7 +1410,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
 {"mtlo",               "s,7",          0x00000013, 0xfc1fe7ff, RD_1|WR_LO,             0,              0,              D32,    0 },
 {"mtlo1",              "s",            0x70000013, 0xfc1fffff, RD_1|WR_LO,             0,              EE,             0,      0 },
 {"mtlhx",              "s",            0x00000053, 0xfc1fffff, RD_1|MOD_HILO,          0,              0,              SMT,    0 },
-{"mtcr",               "t,s",          0x70000019, 0xfc00ffff, RD_1,                   0,              XLR,            0,      0 },
+{"mtcr",               "t,s",          0x70000019, 0xfc00ffff, RD_1|RD_2,              0,              XLR,            0,      0 },
 {"mtm0",               "s",            0x70000008, 0xfc1fffff, RD_1,                   0,              IOCT,           0,      0 },
 {"mtm1",               "s",            0x7000000c, 0xfc1fffff, RD_1,                   0,              IOCT,           0,      0 },
 {"mtm2",               "s",            0x7000000d, 0xfc1fffff, RD_1,                   0,              IOCT,           0,      0 },
@@ -2568,7 +2568,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
 {"swre",               "t,A(b)",       0,    (int) M_SWRE_AB,  INSN_MACRO,             0,              0,              EVA,    0 },
 {"cachee",             "k,+j(b)",      0x7c00001b, 0xfc00007f, RD_3,                   0,              0,              EVA,    0 },
 {"cachee",             "k,A(b)",       0,    (int) M_CACHEE_AB,INSN_MACRO,             0,              0,              EVA,    0 },
-{"prefe",              "k,+j(b)",      0x7c000023, 0xfc00007f, RD_3,                   0,              0,              EVA,    0 },
+{"prefe",              "k,+j(b)",      0x7c000023, 0xfc00007f, RD_3|LM,                0,              0,              EVA,    0 },
 {"prefe",              "k,A(b)",       0,    (int) M_PREFE_AB, INSN_MACRO,             0,              0,              EVA,    0 },
 /* MSA Extension.  */
 {"sll.b",              "+d,+e,+h",     0x7800000d, 0xffe0003f, WR_1|RD_2|RD_3,         0,              0,              MSA,    0 },
@@ -2853,18 +2853,18 @@ const struct mips_opcode mips_builtin_opcodes[] =
 {"sld.h",              "+d,+e+*",      0x78200014, 0xffe0003f, MOD_1|RD_2|RD_3,        0,              0,              MSA,    0 },
 {"sld.w",              "+d,+e+*",      0x78400014, 0xffe0003f, MOD_1|RD_2|RD_3,        0,              0,              MSA,    0 },
 {"sld.d",              "+d,+e+*",      0x78600014, 0xffe0003f, MOD_1|RD_2|RD_3,        0,              0,              MSA,    0 },
-{"sldi.b",             "+d,+e+o",      0x78000019, 0xffe0003f, MOD_1|RD_2,             0,              0,              MSA,    0 },
-{"sldi.h",             "+d,+e+u",      0x78200019, 0xfff0003f, MOD_1|RD_2,             0,              0,              MSA,    0 },
-{"sldi.w",             "+d,+e+v",      0x78300019, 0xfff8003f, MOD_1|RD_2,             0,              0,              MSA,    0 },
-{"sldi.d",             "+d,+e+w",      0x78380019, 0xfffc003f, MOD_1|RD_2,             0,              0,              MSA,    0 },
+{"sldi.b",             "+d,+e+o",      0x78000019, 0xfff0003f, MOD_1|RD_2,             0,              0,              MSA,    0 },
+{"sldi.h",             "+d,+e+u",      0x78200019, 0xfff8003f, MOD_1|RD_2,             0,              0,              MSA,    0 },
+{"sldi.w",             "+d,+e+v",      0x78300019, 0xfffc003f, MOD_1|RD_2,             0,              0,              MSA,    0 },
+{"sldi.d",             "+d,+e+w",      0x78380019, 0xfffe003f, MOD_1|RD_2,             0,              0,              MSA,    0 },
 {"splat.b",            "+d,+e+*",      0x78800014, 0xffe0003f, WR_1|RD_2|RD_3,         0,              0,              MSA,    0 },
 {"splat.h",            "+d,+e+*",      0x78a00014, 0xffe0003f, WR_1|RD_2|RD_3,         0,              0,              MSA,    0 },
 {"splat.w",            "+d,+e+*",      0x78c00014, 0xffe0003f, WR_1|RD_2|RD_3,         0,              0,              MSA,    0 },
 {"splat.d",            "+d,+e+*",      0x78e00014, 0xffe0003f, WR_1|RD_2|RD_3,         0,              0,              MSA,    0 },
-{"splati.b",           "+d,+e+o",      0x78400019, 0xffe0003f, WR_1|RD_2,              0,              0,              MSA,    0 },
-{"splati.h",           "+d,+e+u",      0x78600019, 0xfff0003f, WR_1|RD_2,              0,              0,              MSA,    0 },
-{"splati.w",           "+d,+e+v",      0x78700019, 0xfff8003f, WR_1|RD_2,              0,              0,              MSA,    0 },
-{"splati.d",           "+d,+e+w",      0x78780019, 0xfffc003f, WR_1|RD_2,              0,              0,              MSA,    0 },
+{"splati.b",           "+d,+e+o",      0x78400019, 0xfff0003f, WR_1|RD_2,              0,              0,              MSA,    0 },
+{"splati.h",           "+d,+e+u",      0x78600019, 0xfff8003f, WR_1|RD_2,              0,              0,              MSA,    0 },
+{"splati.w",           "+d,+e+v",      0x78700019, 0xfffc003f, WR_1|RD_2,              0,              0,              MSA,    0 },
+{"splati.d",           "+d,+e+w",      0x78780019, 0xfffe003f, WR_1|RD_2,              0,              0,              MSA,    0 },
 {"pckev.b",            "+d,+e,+h",     0x79000014, 0xffe0003f, WR_1|RD_2|RD_3,         0,              0,              MSA,    0 },
 {"pckev.h",            "+d,+e,+h",     0x79200014, 0xffe0003f, WR_1|RD_2|RD_3,         0,              0,              MSA,    0 },
 {"pckev.w",            "+d,+e,+h",     0x79400014, 0xffe0003f, WR_1|RD_2|RD_3,         0,              0,              MSA,    0 },
@@ -2956,22 +2956,22 @@ const struct mips_opcode mips_builtin_opcodes[] =
 {"nlzc.h",             "+d,+e",        0x7b0d001e, 0xffff003f, WR_1|RD_2,              0,              0,              MSA,    0 },
 {"nlzc.w",             "+d,+e",        0x7b0e001e, 0xffff003f, WR_1|RD_2,              0,              0,              MSA,    0 },
 {"nlzc.d",             "+d,+e",        0x7b0f001e, 0xffff003f, WR_1|RD_2,              0,              0,              MSA,    0 },
-{"copy_s.b",           "+k,+e+o",      0x78800019, 0xffe0003f, WR_1|RD_2,              0,              0,              MSA,    0 },
-{"copy_s.h",           "+k,+e+u",      0x78a00019, 0xfff0003f, WR_1|RD_2,              0,              0,              MSA,    0 },
-{"copy_s.w",           "+k,+e+v",      0x78b00019, 0xfff8003f, WR_1|RD_2,              0,              0,              MSA,    0 },
-{"copy_s.d",           "+k,+e+w",      0x78b80019, 0xfffc003f, WR_1|RD_2,              0,              0,              MSA64,  0 },
-{"copy_u.b",           "+k,+e+o",      0x78c00019, 0xffe0003f, WR_1|RD_2,              0,              0,              MSA,    0 },
-{"copy_u.h",           "+k,+e+u",      0x78e00019, 0xfff0003f, WR_1|RD_2,              0,              0,              MSA,    0 },
-{"copy_u.w",           "+k,+e+v",      0x78f00019, 0xfff8003f, WR_1|RD_2,              0,              0,              MSA,    0 },
-{"copy_u.d",           "+k,+e+w",      0x78f80019, 0xfffc003f, WR_1|RD_2,              0,              0,              MSA64,  0 },
-{"insert.b",           "+d+o,d",       0x79000019, 0xffe0003f, MOD_1|RD_3,             0,              0,              MSA,    0 },
-{"insert.h",           "+d+u,d",       0x79200019, 0xfff0003f, MOD_1|RD_3,             0,              0,              MSA,    0 },
-{"insert.w",           "+d+v,d",       0x79300019, 0xfff8003f, MOD_1|RD_3,             0,              0,              MSA,    0 },
-{"insert.d",           "+d+w,d",       0x79380019, 0xfffc003f, MOD_1|RD_3,             0,              0,              MSA64,  0 },
-{"insve.b",            "+d+o,+e+&",    0x79400019, 0xffe0003f, MOD_1|RD_3,             0,              0,              MSA,    0 },
-{"insve.h",            "+d+u,+e+&",    0x79600019, 0xfff0003f, MOD_1|RD_3,             0,              0,              MSA,    0 },
-{"insve.w",            "+d+v,+e+&",    0x79700019, 0xfff8003f, MOD_1|RD_3,             0,              0,              MSA,    0 },
-{"insve.d",            "+d+w,+e+&",    0x79780019, 0xfffc003f, MOD_1|RD_3,             0,              0,              MSA,    0 },
+{"copy_s.b",           "+k,+e+o",      0x78800019, 0xfff0003f, WR_1|RD_2,              0,              0,              MSA,    0 },
+{"copy_s.h",           "+k,+e+u",      0x78a00019, 0xfff8003f, WR_1|RD_2,              0,              0,              MSA,    0 },
+{"copy_s.w",           "+k,+e+v",      0x78b00019, 0xfffc003f, WR_1|RD_2,              0,              0,              MSA,    0 },
+{"copy_s.d",           "+k,+e+w",      0x78b80019, 0xfffe003f, WR_1|RD_2,              0,              0,              MSA64,  0 },
+{"copy_u.b",           "+k,+e+o",      0x78c00019, 0xfff0003f, WR_1|RD_2,              0,              0,              MSA,    0 },
+{"copy_u.h",           "+k,+e+u",      0x78e00019, 0xfff8003f, WR_1|RD_2,              0,              0,              MSA,    0 },
+{"copy_u.w",           "+k,+e+v",      0x78f00019, 0xfffc003f, WR_1|RD_2,              0,              0,              MSA,    0 },
+{"copy_u.d",           "+k,+e+w",      0x78f80019, 0xfffe003f, WR_1|RD_2,              0,              0,              MSA64,  0 },
+{"insert.b",           "+d+o,d",       0x79000019, 0xfff0003f, MOD_1|RD_3,             0,              0,              MSA,    0 },
+{"insert.h",           "+d+u,d",       0x79200019, 0xfff8003f, MOD_1|RD_3,             0,              0,              MSA,    0 },
+{"insert.w",           "+d+v,d",       0x79300019, 0xfffc003f, MOD_1|RD_3,             0,              0,              MSA,    0 },
+{"insert.d",           "+d+w,d",       0x79380019, 0xfffe003f, MOD_1|RD_3,             0,              0,              MSA64,  0 },
+{"insve.b",            "+d+o,+e+&",    0x79400019, 0xfff0003f, MOD_1|RD_3,             0,              0,              MSA,    0 },
+{"insve.h",            "+d+u,+e+&",    0x79600019, 0xfff8003f, MOD_1|RD_3,             0,              0,              MSA,    0 },
+{"insve.w",            "+d+v,+e+&",    0x79700019, 0xfffc003f, MOD_1|RD_3,             0,              0,              MSA,    0 },
+{"insve.d",            "+d+w,+e+&",    0x79780019, 0xfffe003f, MOD_1|RD_3,             0,              0,              MSA,    0 },
 {"bnz.b",              "+h,p",         0x47800000, 0xffe00000, RD_1|CBD,               0,              0,              MSA,    0 },
 {"bnz.h",              "+h,p",         0x47a00000, 0xffe00000, RD_1|CBD,               0,              0,              MSA,    0 },
 {"bnz.w",              "+h,p",         0x47c00000, 0xffe00000, RD_1|CBD,               0,              0,              MSA,    0 },
This page took 0.028834 seconds and 4 git commands to generate.