sparc: update core. this added/removed some instructions & groups. updated Python & Java bindings accordingly
diff --git a/arch/Sparc/SparcInstPrinter.c b/arch/Sparc/SparcInstPrinter.c
index 8b3386a..d395700 100644
--- a/arch/Sparc/SparcInstPrinter.c
+++ b/arch/Sparc/SparcInstPrinter.c
@@ -264,12 +264,84 @@
void Sparc_printInst(MCInst *MI, SStream *O, void *Info)
{
- char *mnem;
+ char *mnem, *p;
+ char instr[64]; // Sparc has no instruction this long
mnem = printAliasInstr(MI, O, Info);
if (mnem) {
// fixup instruction id due to the change in alias instruction
- MCInst_setOpcodePub(MI, Sparc_map_insn(mnem));
+ strncpy(instr, mnem, strlen(mnem));
+ instr[strlen(mnem)] = '\0';
+ // does this contains hint with a coma?
+ p = strchr(instr, ',');
+ if (p)
+ *p = '\0'; // now instr only has instruction mnemonic
+ MCInst_setOpcodePub(MI, Sparc_map_insn(instr));
+ switch(MCInst_getOpcode(MI)) {
+ case SP_BCOND:
+ case SP_BCONDA:
+ case SP_BPICCANT:
+ case SP_BPICCNT:
+ case SP_BPXCCANT:
+ case SP_BPXCCNT:
+ case SP_TXCCri:
+ case SP_TXCCrr:
+ if (MI->csh->detail) {
+ // skip 'b', 't'
+ MI->flat_insn->detail->sparc.cc = Sparc_map_ICC(instr + 1);
+ MI->flat_insn->detail->sparc.hint = Sparc_map_hint(mnem);
+ }
+ break;
+ case SP_BPFCCANT:
+ case SP_BPFCCNT:
+ if (MI->csh->detail) {
+ // skip 'fb'
+ MI->flat_insn->detail->sparc.cc = Sparc_map_FCC(instr + 2);
+ MI->flat_insn->detail->sparc.hint = Sparc_map_hint(mnem);
+ }
+ break;
+ case SP_FMOVD_ICC:
+ case SP_FMOVD_XCC:
+ case SP_FMOVQ_ICC:
+ case SP_FMOVQ_XCC:
+ case SP_FMOVS_ICC:
+ case SP_FMOVS_XCC:
+ if (MI->csh->detail) {
+ // skip 'fmovd', 'fmovq', 'fmovs'
+ MI->flat_insn->detail->sparc.cc = Sparc_map_ICC(instr + 5);
+ MI->flat_insn->detail->sparc.hint = Sparc_map_hint(mnem);
+ }
+ break;
+ case SP_MOVICCri:
+ case SP_MOVICCrr:
+ case SP_MOVXCCri:
+ case SP_MOVXCCrr:
+ if (MI->csh->detail) {
+ // skip 'mov'
+ MI->flat_insn->detail->sparc.cc = Sparc_map_ICC(instr + 3);
+ MI->flat_insn->detail->sparc.hint = Sparc_map_hint(mnem);
+ }
+ break;
+ case SP_V9FMOVD_FCC:
+ case SP_V9FMOVQ_FCC:
+ case SP_V9FMOVS_FCC:
+ if (MI->csh->detail) {
+ // skip 'fmovd', 'fmovq', 'fmovs'
+ MI->flat_insn->detail->sparc.cc = Sparc_map_FCC(instr + 5);
+ MI->flat_insn->detail->sparc.hint = Sparc_map_hint(mnem);
+ }
+ break;
+ case SP_V9MOVFCCri:
+ case SP_V9MOVFCCrr:
+ if (MI->csh->detail) {
+ // skip 'mov'
+ MI->flat_insn->detail->sparc.cc = Sparc_map_FCC(instr + 3);
+ MI->flat_insn->detail->sparc.hint = Sparc_map_hint(mnem);
+ }
+ break;
+ default:
+ break;
+ }
cs_mem_free(mnem);
} else {
if (!printSparcAliasInstr(MI, O))
diff --git a/arch/Sparc/SparcMapping.c b/arch/Sparc/SparcMapping.c
index bb9d07f..5e31c23 100644
--- a/arch/Sparc/SparcMapping.c
+++ b/arch/Sparc/SparcMapping.c
@@ -296,7 +296,7 @@
#endif
},
{
- SP_BA, SPARC_INS_BA,
+ SP_BA, SPARC_INS_B,
#ifndef CAPSTONE_DIET
{ 0 }, { 0 }, { 0 }, 1, 0
#endif
@@ -2426,13 +2426,13 @@
#endif
},
{
- SP_TA3, SPARC_INS_TA,
+ SP_TA3, SPARC_INS_T,
#ifndef CAPSTONE_DIET
{ 0 }, { 0 }, { 0 }, 0, 0
#endif
},
{
- SP_TA5, SPARC_INS_TA,
+ SP_TA5, SPARC_INS_T,
#ifndef CAPSTONE_DIET
{ 0 }, { 0 }, { 0 }, 0, 0
#endif
@@ -2849,7 +2849,6 @@
{ SPARC_INS_ARRAY16, "array16" },
{ SPARC_INS_ARRAY32, "array32" },
{ SPARC_INS_ARRAY8, "array8" },
- { SPARC_INS_BA, "ba" },
{ SPARC_INS_B, "b" },
{ SPARC_INS_JMP, "jmp" },
{ SPARC_INS_BMASK, "bmask" },
@@ -3089,7 +3088,6 @@
{ SPARC_INS_SUBXCC, "subxcc" },
{ SPARC_INS_SUB, "sub" },
{ SPARC_INS_SWAP, "swap" },
- { SPARC_INS_TA, "ta" },
{ SPARC_INS_TADDCCTV, "taddcctv" },
{ SPARC_INS_TADDCC, "taddcc" },
{ SPARC_INS_T, "t" },
@@ -3215,42 +3213,86 @@
return (i != -1)? i : SPARC_REG_INVALID;
}
+// NOTE: put strings in the order of string length since
+// we are going to compare with mnemonic to find out CC
static name_map alias_icc_maps[] = {
- { SPARC_CC_ICC_A, "a" },
- { SPARC_CC_ICC_N, "n" },
- { SPARC_CC_ICC_NE, "ne" },
- { SPARC_CC_ICC_E, "e" },
- { SPARC_CC_ICC_G, "g" },
- { SPARC_CC_ICC_LE, "le" },
- { SPARC_CC_ICC_GE, "ge" },
- { SPARC_CC_ICC_L, "l" },
- { SPARC_CC_ICC_GU, "gu" },
{ SPARC_CC_ICC_LEU, "leu" },
- { SPARC_CC_ICC_CC, "cc" },
- { SPARC_CC_ICC_CS, "cs" },
{ SPARC_CC_ICC_POS, "pos" },
{ SPARC_CC_ICC_NEG, "neg" },
+ { SPARC_CC_ICC_NE, "ne" },
+ { SPARC_CC_ICC_LE, "le" },
+ { SPARC_CC_ICC_GE, "ge" },
+ { SPARC_CC_ICC_GU, "gu" },
+ { SPARC_CC_ICC_CC, "cc" },
+ { SPARC_CC_ICC_CS, "cs" },
{ SPARC_CC_ICC_VC, "vc" },
{ SPARC_CC_ICC_VS, "vs" },
+ { SPARC_CC_ICC_A, "a" },
+ { SPARC_CC_ICC_N, "n" },
+ { SPARC_CC_ICC_E, "e" },
+ { SPARC_CC_ICC_G, "g" },
+ { SPARC_CC_ICC_L, "l" },
};
static name_map alias_fcc_maps[] = {
+ { SPARC_CC_FCC_UGE, "uge" },
+ { SPARC_CC_FCC_ULE, "ule" },
+ { SPARC_CC_FCC_UG, "ug" },
+ { SPARC_CC_FCC_UL, "ul" },
+ { SPARC_CC_FCC_LG, "lg" },
+ { SPARC_CC_FCC_NE, "ne" },
+ { SPARC_CC_FCC_UE, "ue" },
+ { SPARC_CC_FCC_GE, "ge" },
+ { SPARC_CC_FCC_LE, "le" },
{ SPARC_CC_FCC_A, "a" },
{ SPARC_CC_FCC_N, "n" },
{ SPARC_CC_FCC_U, "u" },
{ SPARC_CC_FCC_G, "g" },
- { SPARC_CC_FCC_UG, "ug" },
{ SPARC_CC_FCC_L, "l" },
- { SPARC_CC_FCC_UL, "ul" },
- { SPARC_CC_FCC_LG, "lg" },
- { SPARC_CC_FCC_NE, "ne" },
{ SPARC_CC_FCC_E, "e" },
- { SPARC_CC_FCC_UE, "ue" },
- { SPARC_CC_FCC_GE, "ge" },
- { SPARC_CC_FCC_UGE, "uge" },
- { SPARC_CC_FCC_LE, "le" },
- { SPARC_CC_FCC_ULE, "ule" },
{ SPARC_CC_FCC_O, "o" },
};
+// map CC string to CC id
+sparc_cc Sparc_map_ICC(const char *name)
+{
+ unsigned int i;
+
+ i = name2id(alias_icc_maps, ARR_SIZE(alias_icc_maps), name);
+
+ return (i != -1)? i : SPARC_CC_INVALID;
+}
+
+sparc_cc Sparc_map_FCC(const char *name)
+{
+ unsigned int i;
+
+ i = name2id(alias_fcc_maps, ARR_SIZE(alias_fcc_maps), name);
+
+ return (i != -1)? i : SPARC_CC_INVALID;
+}
+
+static name_map hint_maps[] = {
+ { SPARC_HINT_A, ",a" },
+ { SPARC_HINT_A | SPARC_HINT_PN, ",a,pn" },
+ { SPARC_HINT_PN, ",pn" },
+};
+
+sparc_hint Sparc_map_hint(const char *name)
+{
+ unsigned int i, l1, l2;
+
+ l1 = strlen(name);
+ for(i = 0; i < ARR_SIZE(hint_maps); i++) {
+ l2 = strlen(hint_maps[i].name);
+ if (l1 > l2) {
+ // compare the last part of @name with this hint string
+ if (!strcmp(hint_maps[i].name, name + (l1 - l2)))
+ return hint_maps[i].id;
+ }
+ }
+
+ return SPARC_HINT_INVALID;
+}
+
#endif
diff --git a/arch/Sparc/SparcMapping.h b/arch/Sparc/SparcMapping.h
index 842ed0f..fa9bcae 100644
--- a/arch/Sparc/SparcMapping.h
+++ b/arch/Sparc/SparcMapping.h
@@ -23,5 +23,12 @@
// this is for alias instructions only
sparc_reg Sparc_map_insn(const char *name);
+// map CC string to CC id
+sparc_cc Sparc_map_ICC(const char *name);
+
+sparc_cc Sparc_map_FCC(const char *name);
+
+sparc_hint Sparc_map_hint(const char *name);
+
#endif
diff --git a/bindings/java/capstone/Sparc_const.java b/bindings/java/capstone/Sparc_const.java
index 1ffab3a..ce6becd 100644
--- a/bindings/java/capstone/Sparc_const.java
+++ b/bindings/java/capstone/Sparc_const.java
@@ -168,270 +168,268 @@
public static final int SPARC_INS_ARRAY16 = 13;
public static final int SPARC_INS_ARRAY32 = 14;
public static final int SPARC_INS_ARRAY8 = 15;
- public static final int SPARC_INS_BA = 16;
- public static final int SPARC_INS_B = 17;
- public static final int SPARC_INS_JMP = 18;
- public static final int SPARC_INS_BMASK = 19;
- public static final int SPARC_INS_FB = 20;
- public static final int SPARC_INS_BRGEZ = 21;
- public static final int SPARC_INS_BRGZ = 22;
- public static final int SPARC_INS_BRLEZ = 23;
- public static final int SPARC_INS_BRLZ = 24;
- public static final int SPARC_INS_BRNZ = 25;
- public static final int SPARC_INS_BRZ = 26;
- public static final int SPARC_INS_BSHUFFLE = 27;
- public static final int SPARC_INS_CALL = 28;
- public static final int SPARC_INS_CASX = 29;
- public static final int SPARC_INS_CAS = 30;
- public static final int SPARC_INS_CMASK16 = 31;
- public static final int SPARC_INS_CMASK32 = 32;
- public static final int SPARC_INS_CMASK8 = 33;
- public static final int SPARC_INS_CMP = 34;
- public static final int SPARC_INS_EDGE16 = 35;
- public static final int SPARC_INS_EDGE16L = 36;
- public static final int SPARC_INS_EDGE16LN = 37;
- public static final int SPARC_INS_EDGE16N = 38;
- public static final int SPARC_INS_EDGE32 = 39;
- public static final int SPARC_INS_EDGE32L = 40;
- public static final int SPARC_INS_EDGE32LN = 41;
- public static final int SPARC_INS_EDGE32N = 42;
- public static final int SPARC_INS_EDGE8 = 43;
- public static final int SPARC_INS_EDGE8L = 44;
- public static final int SPARC_INS_EDGE8LN = 45;
- public static final int SPARC_INS_EDGE8N = 46;
- public static final int SPARC_INS_FABSD = 47;
- public static final int SPARC_INS_FABSQ = 48;
- public static final int SPARC_INS_FABSS = 49;
- public static final int SPARC_INS_FADDD = 50;
- public static final int SPARC_INS_FADDQ = 51;
- public static final int SPARC_INS_FADDS = 52;
- public static final int SPARC_INS_FALIGNDATA = 53;
- public static final int SPARC_INS_FAND = 54;
- public static final int SPARC_INS_FANDNOT1 = 55;
- public static final int SPARC_INS_FANDNOT1S = 56;
- public static final int SPARC_INS_FANDNOT2 = 57;
- public static final int SPARC_INS_FANDNOT2S = 58;
- public static final int SPARC_INS_FANDS = 59;
- public static final int SPARC_INS_FCHKSM16 = 60;
- public static final int SPARC_INS_FCMPD = 61;
- public static final int SPARC_INS_FCMPEQ16 = 62;
- public static final int SPARC_INS_FCMPEQ32 = 63;
- public static final int SPARC_INS_FCMPGT16 = 64;
- public static final int SPARC_INS_FCMPGT32 = 65;
- public static final int SPARC_INS_FCMPLE16 = 66;
- public static final int SPARC_INS_FCMPLE32 = 67;
- public static final int SPARC_INS_FCMPNE16 = 68;
- public static final int SPARC_INS_FCMPNE32 = 69;
- public static final int SPARC_INS_FCMPQ = 70;
- public static final int SPARC_INS_FCMPS = 71;
- public static final int SPARC_INS_FDIVD = 72;
- public static final int SPARC_INS_FDIVQ = 73;
- public static final int SPARC_INS_FDIVS = 74;
- public static final int SPARC_INS_FDMULQ = 75;
- public static final int SPARC_INS_FDTOI = 76;
- public static final int SPARC_INS_FDTOQ = 77;
- public static final int SPARC_INS_FDTOS = 78;
- public static final int SPARC_INS_FDTOX = 79;
- public static final int SPARC_INS_FEXPAND = 80;
- public static final int SPARC_INS_FHADDD = 81;
- public static final int SPARC_INS_FHADDS = 82;
- public static final int SPARC_INS_FHSUBD = 83;
- public static final int SPARC_INS_FHSUBS = 84;
- public static final int SPARC_INS_FITOD = 85;
- public static final int SPARC_INS_FITOQ = 86;
- public static final int SPARC_INS_FITOS = 87;
- public static final int SPARC_INS_FLCMPD = 88;
- public static final int SPARC_INS_FLCMPS = 89;
- public static final int SPARC_INS_FLUSHW = 90;
- public static final int SPARC_INS_FMEAN16 = 91;
- public static final int SPARC_INS_FMOVD = 92;
- public static final int SPARC_INS_FMOVQ = 93;
- public static final int SPARC_INS_FMOVRDGEZ = 94;
- public static final int SPARC_INS_FMOVRQGEZ = 95;
- public static final int SPARC_INS_FMOVRSGEZ = 96;
- public static final int SPARC_INS_FMOVRDGZ = 97;
- public static final int SPARC_INS_FMOVRQGZ = 98;
- public static final int SPARC_INS_FMOVRSGZ = 99;
- public static final int SPARC_INS_FMOVRDLEZ = 100;
- public static final int SPARC_INS_FMOVRQLEZ = 101;
- public static final int SPARC_INS_FMOVRSLEZ = 102;
- public static final int SPARC_INS_FMOVRDLZ = 103;
- public static final int SPARC_INS_FMOVRQLZ = 104;
- public static final int SPARC_INS_FMOVRSLZ = 105;
- public static final int SPARC_INS_FMOVRDNZ = 106;
- public static final int SPARC_INS_FMOVRQNZ = 107;
- public static final int SPARC_INS_FMOVRSNZ = 108;
- public static final int SPARC_INS_FMOVRDZ = 109;
- public static final int SPARC_INS_FMOVRQZ = 110;
- public static final int SPARC_INS_FMOVRSZ = 111;
- public static final int SPARC_INS_FMOVS = 112;
- public static final int SPARC_INS_FMUL8SUX16 = 113;
- public static final int SPARC_INS_FMUL8ULX16 = 114;
- public static final int SPARC_INS_FMUL8X16 = 115;
- public static final int SPARC_INS_FMUL8X16AL = 116;
- public static final int SPARC_INS_FMUL8X16AU = 117;
- public static final int SPARC_INS_FMULD = 118;
- public static final int SPARC_INS_FMULD8SUX16 = 119;
- public static final int SPARC_INS_FMULD8ULX16 = 120;
- public static final int SPARC_INS_FMULQ = 121;
- public static final int SPARC_INS_FMULS = 122;
- public static final int SPARC_INS_FNADDD = 123;
- public static final int SPARC_INS_FNADDS = 124;
- public static final int SPARC_INS_FNAND = 125;
- public static final int SPARC_INS_FNANDS = 126;
- public static final int SPARC_INS_FNEGD = 127;
- public static final int SPARC_INS_FNEGQ = 128;
- public static final int SPARC_INS_FNEGS = 129;
- public static final int SPARC_INS_FNHADDD = 130;
- public static final int SPARC_INS_FNHADDS = 131;
- public static final int SPARC_INS_FNOR = 132;
- public static final int SPARC_INS_FNORS = 133;
- public static final int SPARC_INS_FNOT1 = 134;
- public static final int SPARC_INS_FNOT1S = 135;
- public static final int SPARC_INS_FNOT2 = 136;
- public static final int SPARC_INS_FNOT2S = 137;
- public static final int SPARC_INS_FONE = 138;
- public static final int SPARC_INS_FONES = 139;
- public static final int SPARC_INS_FOR = 140;
- public static final int SPARC_INS_FORNOT1 = 141;
- public static final int SPARC_INS_FORNOT1S = 142;
- public static final int SPARC_INS_FORNOT2 = 143;
- public static final int SPARC_INS_FORNOT2S = 144;
- public static final int SPARC_INS_FORS = 145;
- public static final int SPARC_INS_FPACK16 = 146;
- public static final int SPARC_INS_FPACK32 = 147;
- public static final int SPARC_INS_FPACKFIX = 148;
- public static final int SPARC_INS_FPADD16 = 149;
- public static final int SPARC_INS_FPADD16S = 150;
- public static final int SPARC_INS_FPADD32 = 151;
- public static final int SPARC_INS_FPADD32S = 152;
- public static final int SPARC_INS_FPADD64 = 153;
- public static final int SPARC_INS_FPMERGE = 154;
- public static final int SPARC_INS_FPSUB16 = 155;
- public static final int SPARC_INS_FPSUB16S = 156;
- public static final int SPARC_INS_FPSUB32 = 157;
- public static final int SPARC_INS_FPSUB32S = 158;
- public static final int SPARC_INS_FQTOD = 159;
- public static final int SPARC_INS_FQTOI = 160;
- public static final int SPARC_INS_FQTOS = 161;
- public static final int SPARC_INS_FQTOX = 162;
- public static final int SPARC_INS_FSLAS16 = 163;
- public static final int SPARC_INS_FSLAS32 = 164;
- public static final int SPARC_INS_FSLL16 = 165;
- public static final int SPARC_INS_FSLL32 = 166;
- public static final int SPARC_INS_FSMULD = 167;
- public static final int SPARC_INS_FSQRTD = 168;
- public static final int SPARC_INS_FSQRTQ = 169;
- public static final int SPARC_INS_FSQRTS = 170;
- public static final int SPARC_INS_FSRA16 = 171;
- public static final int SPARC_INS_FSRA32 = 172;
- public static final int SPARC_INS_FSRC1 = 173;
- public static final int SPARC_INS_FSRC1S = 174;
- public static final int SPARC_INS_FSRC2 = 175;
- public static final int SPARC_INS_FSRC2S = 176;
- public static final int SPARC_INS_FSRL16 = 177;
- public static final int SPARC_INS_FSRL32 = 178;
- public static final int SPARC_INS_FSTOD = 179;
- public static final int SPARC_INS_FSTOI = 180;
- public static final int SPARC_INS_FSTOQ = 181;
- public static final int SPARC_INS_FSTOX = 182;
- public static final int SPARC_INS_FSUBD = 183;
- public static final int SPARC_INS_FSUBQ = 184;
- public static final int SPARC_INS_FSUBS = 185;
- public static final int SPARC_INS_FXNOR = 186;
- public static final int SPARC_INS_FXNORS = 187;
- public static final int SPARC_INS_FXOR = 188;
- public static final int SPARC_INS_FXORS = 189;
- public static final int SPARC_INS_FXTOD = 190;
- public static final int SPARC_INS_FXTOQ = 191;
- public static final int SPARC_INS_FXTOS = 192;
- public static final int SPARC_INS_FZERO = 193;
- public static final int SPARC_INS_FZEROS = 194;
- public static final int SPARC_INS_JMPL = 195;
- public static final int SPARC_INS_LDD = 196;
- public static final int SPARC_INS_LD = 197;
- public static final int SPARC_INS_LDQ = 198;
- public static final int SPARC_INS_LDSB = 199;
- public static final int SPARC_INS_LDSH = 200;
- public static final int SPARC_INS_LDSW = 201;
- public static final int SPARC_INS_LDUB = 202;
- public static final int SPARC_INS_LDUH = 203;
- public static final int SPARC_INS_LDX = 204;
- public static final int SPARC_INS_LZCNT = 205;
- public static final int SPARC_INS_MEMBAR = 206;
- public static final int SPARC_INS_MOVDTOX = 207;
- public static final int SPARC_INS_MOV = 208;
- public static final int SPARC_INS_MOVRGEZ = 209;
- public static final int SPARC_INS_MOVRGZ = 210;
- public static final int SPARC_INS_MOVRLEZ = 211;
- public static final int SPARC_INS_MOVRLZ = 212;
- public static final int SPARC_INS_MOVRNZ = 213;
- public static final int SPARC_INS_MOVRZ = 214;
- public static final int SPARC_INS_MOVSTOSW = 215;
- public static final int SPARC_INS_MOVSTOUW = 216;
- public static final int SPARC_INS_MULX = 217;
- public static final int SPARC_INS_NOP = 218;
- public static final int SPARC_INS_ORCC = 219;
- public static final int SPARC_INS_ORNCC = 220;
- public static final int SPARC_INS_ORN = 221;
- public static final int SPARC_INS_OR = 222;
- public static final int SPARC_INS_PDIST = 223;
- public static final int SPARC_INS_PDISTN = 224;
- public static final int SPARC_INS_POPC = 225;
- public static final int SPARC_INS_RD = 226;
- public static final int SPARC_INS_RESTORE = 227;
- public static final int SPARC_INS_RETT = 228;
- public static final int SPARC_INS_SAVE = 229;
- public static final int SPARC_INS_SDIVCC = 230;
- public static final int SPARC_INS_SDIVX = 231;
- public static final int SPARC_INS_SDIV = 232;
- public static final int SPARC_INS_SETHI = 233;
- public static final int SPARC_INS_SHUTDOWN = 234;
- public static final int SPARC_INS_SIAM = 235;
- public static final int SPARC_INS_SLLX = 236;
- public static final int SPARC_INS_SLL = 237;
- public static final int SPARC_INS_SMULCC = 238;
- public static final int SPARC_INS_SMUL = 239;
- public static final int SPARC_INS_SRAX = 240;
- public static final int SPARC_INS_SRA = 241;
- public static final int SPARC_INS_SRLX = 242;
- public static final int SPARC_INS_SRL = 243;
- public static final int SPARC_INS_STBAR = 244;
- public static final int SPARC_INS_STB = 245;
- public static final int SPARC_INS_STD = 246;
- public static final int SPARC_INS_ST = 247;
- public static final int SPARC_INS_STH = 248;
- public static final int SPARC_INS_STQ = 249;
- public static final int SPARC_INS_STX = 250;
- public static final int SPARC_INS_SUBCC = 251;
- public static final int SPARC_INS_SUBX = 252;
- public static final int SPARC_INS_SUBXCC = 253;
- public static final int SPARC_INS_SUB = 254;
- public static final int SPARC_INS_SWAP = 255;
- public static final int SPARC_INS_TA = 256;
- public static final int SPARC_INS_TADDCCTV = 257;
- public static final int SPARC_INS_TADDCC = 258;
- public static final int SPARC_INS_T = 259;
- public static final int SPARC_INS_TSUBCCTV = 260;
- public static final int SPARC_INS_TSUBCC = 261;
- public static final int SPARC_INS_UDIVCC = 262;
- public static final int SPARC_INS_UDIVX = 263;
- public static final int SPARC_INS_UDIV = 264;
- public static final int SPARC_INS_UMULCC = 265;
- public static final int SPARC_INS_UMULXHI = 266;
- public static final int SPARC_INS_UMUL = 267;
- public static final int SPARC_INS_UNIMP = 268;
- public static final int SPARC_INS_FCMPED = 269;
- public static final int SPARC_INS_FCMPEQ = 270;
- public static final int SPARC_INS_FCMPES = 271;
- public static final int SPARC_INS_WR = 272;
- public static final int SPARC_INS_XMULX = 273;
- public static final int SPARC_INS_XMULXHI = 274;
- public static final int SPARC_INS_XNORCC = 275;
- public static final int SPARC_INS_XNOR = 276;
- public static final int SPARC_INS_XORCC = 277;
- public static final int SPARC_INS_XOR = 278;
- public static final int SPARC_INS_MAX = 279;
+ public static final int SPARC_INS_B = 16;
+ public static final int SPARC_INS_JMP = 17;
+ public static final int SPARC_INS_BMASK = 18;
+ public static final int SPARC_INS_FB = 19;
+ public static final int SPARC_INS_BRGEZ = 20;
+ public static final int SPARC_INS_BRGZ = 21;
+ public static final int SPARC_INS_BRLEZ = 22;
+ public static final int SPARC_INS_BRLZ = 23;
+ public static final int SPARC_INS_BRNZ = 24;
+ public static final int SPARC_INS_BRZ = 25;
+ public static final int SPARC_INS_BSHUFFLE = 26;
+ public static final int SPARC_INS_CALL = 27;
+ public static final int SPARC_INS_CASX = 28;
+ public static final int SPARC_INS_CAS = 29;
+ public static final int SPARC_INS_CMASK16 = 30;
+ public static final int SPARC_INS_CMASK32 = 31;
+ public static final int SPARC_INS_CMASK8 = 32;
+ public static final int SPARC_INS_CMP = 33;
+ public static final int SPARC_INS_EDGE16 = 34;
+ public static final int SPARC_INS_EDGE16L = 35;
+ public static final int SPARC_INS_EDGE16LN = 36;
+ public static final int SPARC_INS_EDGE16N = 37;
+ public static final int SPARC_INS_EDGE32 = 38;
+ public static final int SPARC_INS_EDGE32L = 39;
+ public static final int SPARC_INS_EDGE32LN = 40;
+ public static final int SPARC_INS_EDGE32N = 41;
+ public static final int SPARC_INS_EDGE8 = 42;
+ public static final int SPARC_INS_EDGE8L = 43;
+ public static final int SPARC_INS_EDGE8LN = 44;
+ public static final int SPARC_INS_EDGE8N = 45;
+ public static final int SPARC_INS_FABSD = 46;
+ public static final int SPARC_INS_FABSQ = 47;
+ public static final int SPARC_INS_FABSS = 48;
+ public static final int SPARC_INS_FADDD = 49;
+ public static final int SPARC_INS_FADDQ = 50;
+ public static final int SPARC_INS_FADDS = 51;
+ public static final int SPARC_INS_FALIGNDATA = 52;
+ public static final int SPARC_INS_FAND = 53;
+ public static final int SPARC_INS_FANDNOT1 = 54;
+ public static final int SPARC_INS_FANDNOT1S = 55;
+ public static final int SPARC_INS_FANDNOT2 = 56;
+ public static final int SPARC_INS_FANDNOT2S = 57;
+ public static final int SPARC_INS_FANDS = 58;
+ public static final int SPARC_INS_FCHKSM16 = 59;
+ public static final int SPARC_INS_FCMPD = 60;
+ public static final int SPARC_INS_FCMPEQ16 = 61;
+ public static final int SPARC_INS_FCMPEQ32 = 62;
+ public static final int SPARC_INS_FCMPGT16 = 63;
+ public static final int SPARC_INS_FCMPGT32 = 64;
+ public static final int SPARC_INS_FCMPLE16 = 65;
+ public static final int SPARC_INS_FCMPLE32 = 66;
+ public static final int SPARC_INS_FCMPNE16 = 67;
+ public static final int SPARC_INS_FCMPNE32 = 68;
+ public static final int SPARC_INS_FCMPQ = 69;
+ public static final int SPARC_INS_FCMPS = 70;
+ public static final int SPARC_INS_FDIVD = 71;
+ public static final int SPARC_INS_FDIVQ = 72;
+ public static final int SPARC_INS_FDIVS = 73;
+ public static final int SPARC_INS_FDMULQ = 74;
+ public static final int SPARC_INS_FDTOI = 75;
+ public static final int SPARC_INS_FDTOQ = 76;
+ public static final int SPARC_INS_FDTOS = 77;
+ public static final int SPARC_INS_FDTOX = 78;
+ public static final int SPARC_INS_FEXPAND = 79;
+ public static final int SPARC_INS_FHADDD = 80;
+ public static final int SPARC_INS_FHADDS = 81;
+ public static final int SPARC_INS_FHSUBD = 82;
+ public static final int SPARC_INS_FHSUBS = 83;
+ public static final int SPARC_INS_FITOD = 84;
+ public static final int SPARC_INS_FITOQ = 85;
+ public static final int SPARC_INS_FITOS = 86;
+ public static final int SPARC_INS_FLCMPD = 87;
+ public static final int SPARC_INS_FLCMPS = 88;
+ public static final int SPARC_INS_FLUSHW = 89;
+ public static final int SPARC_INS_FMEAN16 = 90;
+ public static final int SPARC_INS_FMOVD = 91;
+ public static final int SPARC_INS_FMOVQ = 92;
+ public static final int SPARC_INS_FMOVRDGEZ = 93;
+ public static final int SPARC_INS_FMOVRQGEZ = 94;
+ public static final int SPARC_INS_FMOVRSGEZ = 95;
+ public static final int SPARC_INS_FMOVRDGZ = 96;
+ public static final int SPARC_INS_FMOVRQGZ = 97;
+ public static final int SPARC_INS_FMOVRSGZ = 98;
+ public static final int SPARC_INS_FMOVRDLEZ = 99;
+ public static final int SPARC_INS_FMOVRQLEZ = 100;
+ public static final int SPARC_INS_FMOVRSLEZ = 101;
+ public static final int SPARC_INS_FMOVRDLZ = 102;
+ public static final int SPARC_INS_FMOVRQLZ = 103;
+ public static final int SPARC_INS_FMOVRSLZ = 104;
+ public static final int SPARC_INS_FMOVRDNZ = 105;
+ public static final int SPARC_INS_FMOVRQNZ = 106;
+ public static final int SPARC_INS_FMOVRSNZ = 107;
+ public static final int SPARC_INS_FMOVRDZ = 108;
+ public static final int SPARC_INS_FMOVRQZ = 109;
+ public static final int SPARC_INS_FMOVRSZ = 110;
+ public static final int SPARC_INS_FMOVS = 111;
+ public static final int SPARC_INS_FMUL8SUX16 = 112;
+ public static final int SPARC_INS_FMUL8ULX16 = 113;
+ public static final int SPARC_INS_FMUL8X16 = 114;
+ public static final int SPARC_INS_FMUL8X16AL = 115;
+ public static final int SPARC_INS_FMUL8X16AU = 116;
+ public static final int SPARC_INS_FMULD = 117;
+ public static final int SPARC_INS_FMULD8SUX16 = 118;
+ public static final int SPARC_INS_FMULD8ULX16 = 119;
+ public static final int SPARC_INS_FMULQ = 120;
+ public static final int SPARC_INS_FMULS = 121;
+ public static final int SPARC_INS_FNADDD = 122;
+ public static final int SPARC_INS_FNADDS = 123;
+ public static final int SPARC_INS_FNAND = 124;
+ public static final int SPARC_INS_FNANDS = 125;
+ public static final int SPARC_INS_FNEGD = 126;
+ public static final int SPARC_INS_FNEGQ = 127;
+ public static final int SPARC_INS_FNEGS = 128;
+ public static final int SPARC_INS_FNHADDD = 129;
+ public static final int SPARC_INS_FNHADDS = 130;
+ public static final int SPARC_INS_FNOR = 131;
+ public static final int SPARC_INS_FNORS = 132;
+ public static final int SPARC_INS_FNOT1 = 133;
+ public static final int SPARC_INS_FNOT1S = 134;
+ public static final int SPARC_INS_FNOT2 = 135;
+ public static final int SPARC_INS_FNOT2S = 136;
+ public static final int SPARC_INS_FONE = 137;
+ public static final int SPARC_INS_FONES = 138;
+ public static final int SPARC_INS_FOR = 139;
+ public static final int SPARC_INS_FORNOT1 = 140;
+ public static final int SPARC_INS_FORNOT1S = 141;
+ public static final int SPARC_INS_FORNOT2 = 142;
+ public static final int SPARC_INS_FORNOT2S = 143;
+ public static final int SPARC_INS_FORS = 144;
+ public static final int SPARC_INS_FPACK16 = 145;
+ public static final int SPARC_INS_FPACK32 = 146;
+ public static final int SPARC_INS_FPACKFIX = 147;
+ public static final int SPARC_INS_FPADD16 = 148;
+ public static final int SPARC_INS_FPADD16S = 149;
+ public static final int SPARC_INS_FPADD32 = 150;
+ public static final int SPARC_INS_FPADD32S = 151;
+ public static final int SPARC_INS_FPADD64 = 152;
+ public static final int SPARC_INS_FPMERGE = 153;
+ public static final int SPARC_INS_FPSUB16 = 154;
+ public static final int SPARC_INS_FPSUB16S = 155;
+ public static final int SPARC_INS_FPSUB32 = 156;
+ public static final int SPARC_INS_FPSUB32S = 157;
+ public static final int SPARC_INS_FQTOD = 158;
+ public static final int SPARC_INS_FQTOI = 159;
+ public static final int SPARC_INS_FQTOS = 160;
+ public static final int SPARC_INS_FQTOX = 161;
+ public static final int SPARC_INS_FSLAS16 = 162;
+ public static final int SPARC_INS_FSLAS32 = 163;
+ public static final int SPARC_INS_FSLL16 = 164;
+ public static final int SPARC_INS_FSLL32 = 165;
+ public static final int SPARC_INS_FSMULD = 166;
+ public static final int SPARC_INS_FSQRTD = 167;
+ public static final int SPARC_INS_FSQRTQ = 168;
+ public static final int SPARC_INS_FSQRTS = 169;
+ public static final int SPARC_INS_FSRA16 = 170;
+ public static final int SPARC_INS_FSRA32 = 171;
+ public static final int SPARC_INS_FSRC1 = 172;
+ public static final int SPARC_INS_FSRC1S = 173;
+ public static final int SPARC_INS_FSRC2 = 174;
+ public static final int SPARC_INS_FSRC2S = 175;
+ public static final int SPARC_INS_FSRL16 = 176;
+ public static final int SPARC_INS_FSRL32 = 177;
+ public static final int SPARC_INS_FSTOD = 178;
+ public static final int SPARC_INS_FSTOI = 179;
+ public static final int SPARC_INS_FSTOQ = 180;
+ public static final int SPARC_INS_FSTOX = 181;
+ public static final int SPARC_INS_FSUBD = 182;
+ public static final int SPARC_INS_FSUBQ = 183;
+ public static final int SPARC_INS_FSUBS = 184;
+ public static final int SPARC_INS_FXNOR = 185;
+ public static final int SPARC_INS_FXNORS = 186;
+ public static final int SPARC_INS_FXOR = 187;
+ public static final int SPARC_INS_FXORS = 188;
+ public static final int SPARC_INS_FXTOD = 189;
+ public static final int SPARC_INS_FXTOQ = 190;
+ public static final int SPARC_INS_FXTOS = 191;
+ public static final int SPARC_INS_FZERO = 192;
+ public static final int SPARC_INS_FZEROS = 193;
+ public static final int SPARC_INS_JMPL = 194;
+ public static final int SPARC_INS_LDD = 195;
+ public static final int SPARC_INS_LD = 196;
+ public static final int SPARC_INS_LDQ = 197;
+ public static final int SPARC_INS_LDSB = 198;
+ public static final int SPARC_INS_LDSH = 199;
+ public static final int SPARC_INS_LDSW = 200;
+ public static final int SPARC_INS_LDUB = 201;
+ public static final int SPARC_INS_LDUH = 202;
+ public static final int SPARC_INS_LDX = 203;
+ public static final int SPARC_INS_LZCNT = 204;
+ public static final int SPARC_INS_MEMBAR = 205;
+ public static final int SPARC_INS_MOVDTOX = 206;
+ public static final int SPARC_INS_MOV = 207;
+ public static final int SPARC_INS_MOVRGEZ = 208;
+ public static final int SPARC_INS_MOVRGZ = 209;
+ public static final int SPARC_INS_MOVRLEZ = 210;
+ public static final int SPARC_INS_MOVRLZ = 211;
+ public static final int SPARC_INS_MOVRNZ = 212;
+ public static final int SPARC_INS_MOVRZ = 213;
+ public static final int SPARC_INS_MOVSTOSW = 214;
+ public static final int SPARC_INS_MOVSTOUW = 215;
+ public static final int SPARC_INS_MULX = 216;
+ public static final int SPARC_INS_NOP = 217;
+ public static final int SPARC_INS_ORCC = 218;
+ public static final int SPARC_INS_ORNCC = 219;
+ public static final int SPARC_INS_ORN = 220;
+ public static final int SPARC_INS_OR = 221;
+ public static final int SPARC_INS_PDIST = 222;
+ public static final int SPARC_INS_PDISTN = 223;
+ public static final int SPARC_INS_POPC = 224;
+ public static final int SPARC_INS_RD = 225;
+ public static final int SPARC_INS_RESTORE = 226;
+ public static final int SPARC_INS_RETT = 227;
+ public static final int SPARC_INS_SAVE = 228;
+ public static final int SPARC_INS_SDIVCC = 229;
+ public static final int SPARC_INS_SDIVX = 230;
+ public static final int SPARC_INS_SDIV = 231;
+ public static final int SPARC_INS_SETHI = 232;
+ public static final int SPARC_INS_SHUTDOWN = 233;
+ public static final int SPARC_INS_SIAM = 234;
+ public static final int SPARC_INS_SLLX = 235;
+ public static final int SPARC_INS_SLL = 236;
+ public static final int SPARC_INS_SMULCC = 237;
+ public static final int SPARC_INS_SMUL = 238;
+ public static final int SPARC_INS_SRAX = 239;
+ public static final int SPARC_INS_SRA = 240;
+ public static final int SPARC_INS_SRLX = 241;
+ public static final int SPARC_INS_SRL = 242;
+ public static final int SPARC_INS_STBAR = 243;
+ public static final int SPARC_INS_STB = 244;
+ public static final int SPARC_INS_STD = 245;
+ public static final int SPARC_INS_ST = 246;
+ public static final int SPARC_INS_STH = 247;
+ public static final int SPARC_INS_STQ = 248;
+ public static final int SPARC_INS_STX = 249;
+ public static final int SPARC_INS_SUBCC = 250;
+ public static final int SPARC_INS_SUBX = 251;
+ public static final int SPARC_INS_SUBXCC = 252;
+ public static final int SPARC_INS_SUB = 253;
+ public static final int SPARC_INS_SWAP = 254;
+ public static final int SPARC_INS_TADDCCTV = 255;
+ public static final int SPARC_INS_TADDCC = 256;
+ public static final int SPARC_INS_T = 257;
+ public static final int SPARC_INS_TSUBCCTV = 258;
+ public static final int SPARC_INS_TSUBCC = 259;
+ public static final int SPARC_INS_UDIVCC = 260;
+ public static final int SPARC_INS_UDIVX = 261;
+ public static final int SPARC_INS_UDIV = 262;
+ public static final int SPARC_INS_UMULCC = 263;
+ public static final int SPARC_INS_UMULXHI = 264;
+ public static final int SPARC_INS_UMUL = 265;
+ public static final int SPARC_INS_UNIMP = 266;
+ public static final int SPARC_INS_FCMPED = 267;
+ public static final int SPARC_INS_FCMPEQ = 268;
+ public static final int SPARC_INS_FCMPES = 269;
+ public static final int SPARC_INS_WR = 270;
+ public static final int SPARC_INS_XMULX = 271;
+ public static final int SPARC_INS_XMULXHI = 272;
+ public static final int SPARC_INS_XNORCC = 273;
+ public static final int SPARC_INS_XNOR = 274;
+ public static final int SPARC_INS_XORCC = 275;
+ public static final int SPARC_INS_XOR = 276;
+ public static final int SPARC_INS_MAX = 277;
// Group of SPARC instructions
diff --git a/bindings/python/capstone/sparc_const.py b/bindings/python/capstone/sparc_const.py
index 1c39e2c..d589d1e 100644
--- a/bindings/python/capstone/sparc_const.py
+++ b/bindings/python/capstone/sparc_const.py
@@ -165,270 +165,268 @@
SPARC_INS_ARRAY16 = 13
SPARC_INS_ARRAY32 = 14
SPARC_INS_ARRAY8 = 15
-SPARC_INS_BA = 16
-SPARC_INS_B = 17
-SPARC_INS_JMP = 18
-SPARC_INS_BMASK = 19
-SPARC_INS_FB = 20
-SPARC_INS_BRGEZ = 21
-SPARC_INS_BRGZ = 22
-SPARC_INS_BRLEZ = 23
-SPARC_INS_BRLZ = 24
-SPARC_INS_BRNZ = 25
-SPARC_INS_BRZ = 26
-SPARC_INS_BSHUFFLE = 27
-SPARC_INS_CALL = 28
-SPARC_INS_CASX = 29
-SPARC_INS_CAS = 30
-SPARC_INS_CMASK16 = 31
-SPARC_INS_CMASK32 = 32
-SPARC_INS_CMASK8 = 33
-SPARC_INS_CMP = 34
-SPARC_INS_EDGE16 = 35
-SPARC_INS_EDGE16L = 36
-SPARC_INS_EDGE16LN = 37
-SPARC_INS_EDGE16N = 38
-SPARC_INS_EDGE32 = 39
-SPARC_INS_EDGE32L = 40
-SPARC_INS_EDGE32LN = 41
-SPARC_INS_EDGE32N = 42
-SPARC_INS_EDGE8 = 43
-SPARC_INS_EDGE8L = 44
-SPARC_INS_EDGE8LN = 45
-SPARC_INS_EDGE8N = 46
-SPARC_INS_FABSD = 47
-SPARC_INS_FABSQ = 48
-SPARC_INS_FABSS = 49
-SPARC_INS_FADDD = 50
-SPARC_INS_FADDQ = 51
-SPARC_INS_FADDS = 52
-SPARC_INS_FALIGNDATA = 53
-SPARC_INS_FAND = 54
-SPARC_INS_FANDNOT1 = 55
-SPARC_INS_FANDNOT1S = 56
-SPARC_INS_FANDNOT2 = 57
-SPARC_INS_FANDNOT2S = 58
-SPARC_INS_FANDS = 59
-SPARC_INS_FCHKSM16 = 60
-SPARC_INS_FCMPD = 61
-SPARC_INS_FCMPEQ16 = 62
-SPARC_INS_FCMPEQ32 = 63
-SPARC_INS_FCMPGT16 = 64
-SPARC_INS_FCMPGT32 = 65
-SPARC_INS_FCMPLE16 = 66
-SPARC_INS_FCMPLE32 = 67
-SPARC_INS_FCMPNE16 = 68
-SPARC_INS_FCMPNE32 = 69
-SPARC_INS_FCMPQ = 70
-SPARC_INS_FCMPS = 71
-SPARC_INS_FDIVD = 72
-SPARC_INS_FDIVQ = 73
-SPARC_INS_FDIVS = 74
-SPARC_INS_FDMULQ = 75
-SPARC_INS_FDTOI = 76
-SPARC_INS_FDTOQ = 77
-SPARC_INS_FDTOS = 78
-SPARC_INS_FDTOX = 79
-SPARC_INS_FEXPAND = 80
-SPARC_INS_FHADDD = 81
-SPARC_INS_FHADDS = 82
-SPARC_INS_FHSUBD = 83
-SPARC_INS_FHSUBS = 84
-SPARC_INS_FITOD = 85
-SPARC_INS_FITOQ = 86
-SPARC_INS_FITOS = 87
-SPARC_INS_FLCMPD = 88
-SPARC_INS_FLCMPS = 89
-SPARC_INS_FLUSHW = 90
-SPARC_INS_FMEAN16 = 91
-SPARC_INS_FMOVD = 92
-SPARC_INS_FMOVQ = 93
-SPARC_INS_FMOVRDGEZ = 94
-SPARC_INS_FMOVRQGEZ = 95
-SPARC_INS_FMOVRSGEZ = 96
-SPARC_INS_FMOVRDGZ = 97
-SPARC_INS_FMOVRQGZ = 98
-SPARC_INS_FMOVRSGZ = 99
-SPARC_INS_FMOVRDLEZ = 100
-SPARC_INS_FMOVRQLEZ = 101
-SPARC_INS_FMOVRSLEZ = 102
-SPARC_INS_FMOVRDLZ = 103
-SPARC_INS_FMOVRQLZ = 104
-SPARC_INS_FMOVRSLZ = 105
-SPARC_INS_FMOVRDNZ = 106
-SPARC_INS_FMOVRQNZ = 107
-SPARC_INS_FMOVRSNZ = 108
-SPARC_INS_FMOVRDZ = 109
-SPARC_INS_FMOVRQZ = 110
-SPARC_INS_FMOVRSZ = 111
-SPARC_INS_FMOVS = 112
-SPARC_INS_FMUL8SUX16 = 113
-SPARC_INS_FMUL8ULX16 = 114
-SPARC_INS_FMUL8X16 = 115
-SPARC_INS_FMUL8X16AL = 116
-SPARC_INS_FMUL8X16AU = 117
-SPARC_INS_FMULD = 118
-SPARC_INS_FMULD8SUX16 = 119
-SPARC_INS_FMULD8ULX16 = 120
-SPARC_INS_FMULQ = 121
-SPARC_INS_FMULS = 122
-SPARC_INS_FNADDD = 123
-SPARC_INS_FNADDS = 124
-SPARC_INS_FNAND = 125
-SPARC_INS_FNANDS = 126
-SPARC_INS_FNEGD = 127
-SPARC_INS_FNEGQ = 128
-SPARC_INS_FNEGS = 129
-SPARC_INS_FNHADDD = 130
-SPARC_INS_FNHADDS = 131
-SPARC_INS_FNOR = 132
-SPARC_INS_FNORS = 133
-SPARC_INS_FNOT1 = 134
-SPARC_INS_FNOT1S = 135
-SPARC_INS_FNOT2 = 136
-SPARC_INS_FNOT2S = 137
-SPARC_INS_FONE = 138
-SPARC_INS_FONES = 139
-SPARC_INS_FOR = 140
-SPARC_INS_FORNOT1 = 141
-SPARC_INS_FORNOT1S = 142
-SPARC_INS_FORNOT2 = 143
-SPARC_INS_FORNOT2S = 144
-SPARC_INS_FORS = 145
-SPARC_INS_FPACK16 = 146
-SPARC_INS_FPACK32 = 147
-SPARC_INS_FPACKFIX = 148
-SPARC_INS_FPADD16 = 149
-SPARC_INS_FPADD16S = 150
-SPARC_INS_FPADD32 = 151
-SPARC_INS_FPADD32S = 152
-SPARC_INS_FPADD64 = 153
-SPARC_INS_FPMERGE = 154
-SPARC_INS_FPSUB16 = 155
-SPARC_INS_FPSUB16S = 156
-SPARC_INS_FPSUB32 = 157
-SPARC_INS_FPSUB32S = 158
-SPARC_INS_FQTOD = 159
-SPARC_INS_FQTOI = 160
-SPARC_INS_FQTOS = 161
-SPARC_INS_FQTOX = 162
-SPARC_INS_FSLAS16 = 163
-SPARC_INS_FSLAS32 = 164
-SPARC_INS_FSLL16 = 165
-SPARC_INS_FSLL32 = 166
-SPARC_INS_FSMULD = 167
-SPARC_INS_FSQRTD = 168
-SPARC_INS_FSQRTQ = 169
-SPARC_INS_FSQRTS = 170
-SPARC_INS_FSRA16 = 171
-SPARC_INS_FSRA32 = 172
-SPARC_INS_FSRC1 = 173
-SPARC_INS_FSRC1S = 174
-SPARC_INS_FSRC2 = 175
-SPARC_INS_FSRC2S = 176
-SPARC_INS_FSRL16 = 177
-SPARC_INS_FSRL32 = 178
-SPARC_INS_FSTOD = 179
-SPARC_INS_FSTOI = 180
-SPARC_INS_FSTOQ = 181
-SPARC_INS_FSTOX = 182
-SPARC_INS_FSUBD = 183
-SPARC_INS_FSUBQ = 184
-SPARC_INS_FSUBS = 185
-SPARC_INS_FXNOR = 186
-SPARC_INS_FXNORS = 187
-SPARC_INS_FXOR = 188
-SPARC_INS_FXORS = 189
-SPARC_INS_FXTOD = 190
-SPARC_INS_FXTOQ = 191
-SPARC_INS_FXTOS = 192
-SPARC_INS_FZERO = 193
-SPARC_INS_FZEROS = 194
-SPARC_INS_JMPL = 195
-SPARC_INS_LDD = 196
-SPARC_INS_LD = 197
-SPARC_INS_LDQ = 198
-SPARC_INS_LDSB = 199
-SPARC_INS_LDSH = 200
-SPARC_INS_LDSW = 201
-SPARC_INS_LDUB = 202
-SPARC_INS_LDUH = 203
-SPARC_INS_LDX = 204
-SPARC_INS_LZCNT = 205
-SPARC_INS_MEMBAR = 206
-SPARC_INS_MOVDTOX = 207
-SPARC_INS_MOV = 208
-SPARC_INS_MOVRGEZ = 209
-SPARC_INS_MOVRGZ = 210
-SPARC_INS_MOVRLEZ = 211
-SPARC_INS_MOVRLZ = 212
-SPARC_INS_MOVRNZ = 213
-SPARC_INS_MOVRZ = 214
-SPARC_INS_MOVSTOSW = 215
-SPARC_INS_MOVSTOUW = 216
-SPARC_INS_MULX = 217
-SPARC_INS_NOP = 218
-SPARC_INS_ORCC = 219
-SPARC_INS_ORNCC = 220
-SPARC_INS_ORN = 221
-SPARC_INS_OR = 222
-SPARC_INS_PDIST = 223
-SPARC_INS_PDISTN = 224
-SPARC_INS_POPC = 225
-SPARC_INS_RD = 226
-SPARC_INS_RESTORE = 227
-SPARC_INS_RETT = 228
-SPARC_INS_SAVE = 229
-SPARC_INS_SDIVCC = 230
-SPARC_INS_SDIVX = 231
-SPARC_INS_SDIV = 232
-SPARC_INS_SETHI = 233
-SPARC_INS_SHUTDOWN = 234
-SPARC_INS_SIAM = 235
-SPARC_INS_SLLX = 236
-SPARC_INS_SLL = 237
-SPARC_INS_SMULCC = 238
-SPARC_INS_SMUL = 239
-SPARC_INS_SRAX = 240
-SPARC_INS_SRA = 241
-SPARC_INS_SRLX = 242
-SPARC_INS_SRL = 243
-SPARC_INS_STBAR = 244
-SPARC_INS_STB = 245
-SPARC_INS_STD = 246
-SPARC_INS_ST = 247
-SPARC_INS_STH = 248
-SPARC_INS_STQ = 249
-SPARC_INS_STX = 250
-SPARC_INS_SUBCC = 251
-SPARC_INS_SUBX = 252
-SPARC_INS_SUBXCC = 253
-SPARC_INS_SUB = 254
-SPARC_INS_SWAP = 255
-SPARC_INS_TA = 256
-SPARC_INS_TADDCCTV = 257
-SPARC_INS_TADDCC = 258
-SPARC_INS_T = 259
-SPARC_INS_TSUBCCTV = 260
-SPARC_INS_TSUBCC = 261
-SPARC_INS_UDIVCC = 262
-SPARC_INS_UDIVX = 263
-SPARC_INS_UDIV = 264
-SPARC_INS_UMULCC = 265
-SPARC_INS_UMULXHI = 266
-SPARC_INS_UMUL = 267
-SPARC_INS_UNIMP = 268
-SPARC_INS_FCMPED = 269
-SPARC_INS_FCMPEQ = 270
-SPARC_INS_FCMPES = 271
-SPARC_INS_WR = 272
-SPARC_INS_XMULX = 273
-SPARC_INS_XMULXHI = 274
-SPARC_INS_XNORCC = 275
-SPARC_INS_XNOR = 276
-SPARC_INS_XORCC = 277
-SPARC_INS_XOR = 278
-SPARC_INS_MAX = 279
+SPARC_INS_B = 16
+SPARC_INS_JMP = 17
+SPARC_INS_BMASK = 18
+SPARC_INS_FB = 19
+SPARC_INS_BRGEZ = 20
+SPARC_INS_BRGZ = 21
+SPARC_INS_BRLEZ = 22
+SPARC_INS_BRLZ = 23
+SPARC_INS_BRNZ = 24
+SPARC_INS_BRZ = 25
+SPARC_INS_BSHUFFLE = 26
+SPARC_INS_CALL = 27
+SPARC_INS_CASX = 28
+SPARC_INS_CAS = 29
+SPARC_INS_CMASK16 = 30
+SPARC_INS_CMASK32 = 31
+SPARC_INS_CMASK8 = 32
+SPARC_INS_CMP = 33
+SPARC_INS_EDGE16 = 34
+SPARC_INS_EDGE16L = 35
+SPARC_INS_EDGE16LN = 36
+SPARC_INS_EDGE16N = 37
+SPARC_INS_EDGE32 = 38
+SPARC_INS_EDGE32L = 39
+SPARC_INS_EDGE32LN = 40
+SPARC_INS_EDGE32N = 41
+SPARC_INS_EDGE8 = 42
+SPARC_INS_EDGE8L = 43
+SPARC_INS_EDGE8LN = 44
+SPARC_INS_EDGE8N = 45
+SPARC_INS_FABSD = 46
+SPARC_INS_FABSQ = 47
+SPARC_INS_FABSS = 48
+SPARC_INS_FADDD = 49
+SPARC_INS_FADDQ = 50
+SPARC_INS_FADDS = 51
+SPARC_INS_FALIGNDATA = 52
+SPARC_INS_FAND = 53
+SPARC_INS_FANDNOT1 = 54
+SPARC_INS_FANDNOT1S = 55
+SPARC_INS_FANDNOT2 = 56
+SPARC_INS_FANDNOT2S = 57
+SPARC_INS_FANDS = 58
+SPARC_INS_FCHKSM16 = 59
+SPARC_INS_FCMPD = 60
+SPARC_INS_FCMPEQ16 = 61
+SPARC_INS_FCMPEQ32 = 62
+SPARC_INS_FCMPGT16 = 63
+SPARC_INS_FCMPGT32 = 64
+SPARC_INS_FCMPLE16 = 65
+SPARC_INS_FCMPLE32 = 66
+SPARC_INS_FCMPNE16 = 67
+SPARC_INS_FCMPNE32 = 68
+SPARC_INS_FCMPQ = 69
+SPARC_INS_FCMPS = 70
+SPARC_INS_FDIVD = 71
+SPARC_INS_FDIVQ = 72
+SPARC_INS_FDIVS = 73
+SPARC_INS_FDMULQ = 74
+SPARC_INS_FDTOI = 75
+SPARC_INS_FDTOQ = 76
+SPARC_INS_FDTOS = 77
+SPARC_INS_FDTOX = 78
+SPARC_INS_FEXPAND = 79
+SPARC_INS_FHADDD = 80
+SPARC_INS_FHADDS = 81
+SPARC_INS_FHSUBD = 82
+SPARC_INS_FHSUBS = 83
+SPARC_INS_FITOD = 84
+SPARC_INS_FITOQ = 85
+SPARC_INS_FITOS = 86
+SPARC_INS_FLCMPD = 87
+SPARC_INS_FLCMPS = 88
+SPARC_INS_FLUSHW = 89
+SPARC_INS_FMEAN16 = 90
+SPARC_INS_FMOVD = 91
+SPARC_INS_FMOVQ = 92
+SPARC_INS_FMOVRDGEZ = 93
+SPARC_INS_FMOVRQGEZ = 94
+SPARC_INS_FMOVRSGEZ = 95
+SPARC_INS_FMOVRDGZ = 96
+SPARC_INS_FMOVRQGZ = 97
+SPARC_INS_FMOVRSGZ = 98
+SPARC_INS_FMOVRDLEZ = 99
+SPARC_INS_FMOVRQLEZ = 100
+SPARC_INS_FMOVRSLEZ = 101
+SPARC_INS_FMOVRDLZ = 102
+SPARC_INS_FMOVRQLZ = 103
+SPARC_INS_FMOVRSLZ = 104
+SPARC_INS_FMOVRDNZ = 105
+SPARC_INS_FMOVRQNZ = 106
+SPARC_INS_FMOVRSNZ = 107
+SPARC_INS_FMOVRDZ = 108
+SPARC_INS_FMOVRQZ = 109
+SPARC_INS_FMOVRSZ = 110
+SPARC_INS_FMOVS = 111
+SPARC_INS_FMUL8SUX16 = 112
+SPARC_INS_FMUL8ULX16 = 113
+SPARC_INS_FMUL8X16 = 114
+SPARC_INS_FMUL8X16AL = 115
+SPARC_INS_FMUL8X16AU = 116
+SPARC_INS_FMULD = 117
+SPARC_INS_FMULD8SUX16 = 118
+SPARC_INS_FMULD8ULX16 = 119
+SPARC_INS_FMULQ = 120
+SPARC_INS_FMULS = 121
+SPARC_INS_FNADDD = 122
+SPARC_INS_FNADDS = 123
+SPARC_INS_FNAND = 124
+SPARC_INS_FNANDS = 125
+SPARC_INS_FNEGD = 126
+SPARC_INS_FNEGQ = 127
+SPARC_INS_FNEGS = 128
+SPARC_INS_FNHADDD = 129
+SPARC_INS_FNHADDS = 130
+SPARC_INS_FNOR = 131
+SPARC_INS_FNORS = 132
+SPARC_INS_FNOT1 = 133
+SPARC_INS_FNOT1S = 134
+SPARC_INS_FNOT2 = 135
+SPARC_INS_FNOT2S = 136
+SPARC_INS_FONE = 137
+SPARC_INS_FONES = 138
+SPARC_INS_FOR = 139
+SPARC_INS_FORNOT1 = 140
+SPARC_INS_FORNOT1S = 141
+SPARC_INS_FORNOT2 = 142
+SPARC_INS_FORNOT2S = 143
+SPARC_INS_FORS = 144
+SPARC_INS_FPACK16 = 145
+SPARC_INS_FPACK32 = 146
+SPARC_INS_FPACKFIX = 147
+SPARC_INS_FPADD16 = 148
+SPARC_INS_FPADD16S = 149
+SPARC_INS_FPADD32 = 150
+SPARC_INS_FPADD32S = 151
+SPARC_INS_FPADD64 = 152
+SPARC_INS_FPMERGE = 153
+SPARC_INS_FPSUB16 = 154
+SPARC_INS_FPSUB16S = 155
+SPARC_INS_FPSUB32 = 156
+SPARC_INS_FPSUB32S = 157
+SPARC_INS_FQTOD = 158
+SPARC_INS_FQTOI = 159
+SPARC_INS_FQTOS = 160
+SPARC_INS_FQTOX = 161
+SPARC_INS_FSLAS16 = 162
+SPARC_INS_FSLAS32 = 163
+SPARC_INS_FSLL16 = 164
+SPARC_INS_FSLL32 = 165
+SPARC_INS_FSMULD = 166
+SPARC_INS_FSQRTD = 167
+SPARC_INS_FSQRTQ = 168
+SPARC_INS_FSQRTS = 169
+SPARC_INS_FSRA16 = 170
+SPARC_INS_FSRA32 = 171
+SPARC_INS_FSRC1 = 172
+SPARC_INS_FSRC1S = 173
+SPARC_INS_FSRC2 = 174
+SPARC_INS_FSRC2S = 175
+SPARC_INS_FSRL16 = 176
+SPARC_INS_FSRL32 = 177
+SPARC_INS_FSTOD = 178
+SPARC_INS_FSTOI = 179
+SPARC_INS_FSTOQ = 180
+SPARC_INS_FSTOX = 181
+SPARC_INS_FSUBD = 182
+SPARC_INS_FSUBQ = 183
+SPARC_INS_FSUBS = 184
+SPARC_INS_FXNOR = 185
+SPARC_INS_FXNORS = 186
+SPARC_INS_FXOR = 187
+SPARC_INS_FXORS = 188
+SPARC_INS_FXTOD = 189
+SPARC_INS_FXTOQ = 190
+SPARC_INS_FXTOS = 191
+SPARC_INS_FZERO = 192
+SPARC_INS_FZEROS = 193
+SPARC_INS_JMPL = 194
+SPARC_INS_LDD = 195
+SPARC_INS_LD = 196
+SPARC_INS_LDQ = 197
+SPARC_INS_LDSB = 198
+SPARC_INS_LDSH = 199
+SPARC_INS_LDSW = 200
+SPARC_INS_LDUB = 201
+SPARC_INS_LDUH = 202
+SPARC_INS_LDX = 203
+SPARC_INS_LZCNT = 204
+SPARC_INS_MEMBAR = 205
+SPARC_INS_MOVDTOX = 206
+SPARC_INS_MOV = 207
+SPARC_INS_MOVRGEZ = 208
+SPARC_INS_MOVRGZ = 209
+SPARC_INS_MOVRLEZ = 210
+SPARC_INS_MOVRLZ = 211
+SPARC_INS_MOVRNZ = 212
+SPARC_INS_MOVRZ = 213
+SPARC_INS_MOVSTOSW = 214
+SPARC_INS_MOVSTOUW = 215
+SPARC_INS_MULX = 216
+SPARC_INS_NOP = 217
+SPARC_INS_ORCC = 218
+SPARC_INS_ORNCC = 219
+SPARC_INS_ORN = 220
+SPARC_INS_OR = 221
+SPARC_INS_PDIST = 222
+SPARC_INS_PDISTN = 223
+SPARC_INS_POPC = 224
+SPARC_INS_RD = 225
+SPARC_INS_RESTORE = 226
+SPARC_INS_RETT = 227
+SPARC_INS_SAVE = 228
+SPARC_INS_SDIVCC = 229
+SPARC_INS_SDIVX = 230
+SPARC_INS_SDIV = 231
+SPARC_INS_SETHI = 232
+SPARC_INS_SHUTDOWN = 233
+SPARC_INS_SIAM = 234
+SPARC_INS_SLLX = 235
+SPARC_INS_SLL = 236
+SPARC_INS_SMULCC = 237
+SPARC_INS_SMUL = 238
+SPARC_INS_SRAX = 239
+SPARC_INS_SRA = 240
+SPARC_INS_SRLX = 241
+SPARC_INS_SRL = 242
+SPARC_INS_STBAR = 243
+SPARC_INS_STB = 244
+SPARC_INS_STD = 245
+SPARC_INS_ST = 246
+SPARC_INS_STH = 247
+SPARC_INS_STQ = 248
+SPARC_INS_STX = 249
+SPARC_INS_SUBCC = 250
+SPARC_INS_SUBX = 251
+SPARC_INS_SUBXCC = 252
+SPARC_INS_SUB = 253
+SPARC_INS_SWAP = 254
+SPARC_INS_TADDCCTV = 255
+SPARC_INS_TADDCC = 256
+SPARC_INS_T = 257
+SPARC_INS_TSUBCCTV = 258
+SPARC_INS_TSUBCC = 259
+SPARC_INS_UDIVCC = 260
+SPARC_INS_UDIVX = 261
+SPARC_INS_UDIV = 262
+SPARC_INS_UMULCC = 263
+SPARC_INS_UMULXHI = 264
+SPARC_INS_UMUL = 265
+SPARC_INS_UNIMP = 266
+SPARC_INS_FCMPED = 267
+SPARC_INS_FCMPEQ = 268
+SPARC_INS_FCMPES = 269
+SPARC_INS_WR = 270
+SPARC_INS_XMULX = 271
+SPARC_INS_XMULXHI = 272
+SPARC_INS_XNORCC = 273
+SPARC_INS_XNOR = 274
+SPARC_INS_XORCC = 275
+SPARC_INS_XOR = 276
+SPARC_INS_MAX = 277
# Group of SPARC instructions
diff --git a/include/sparc.h b/include/sparc.h
index f6f4ac3..69dd833 100644
--- a/include/sparc.h
+++ b/include/sparc.h
@@ -220,7 +220,6 @@
SPARC_INS_ARRAY16,
SPARC_INS_ARRAY32,
SPARC_INS_ARRAY8,
- SPARC_INS_BA,
SPARC_INS_B,
SPARC_INS_JMP,
SPARC_INS_BMASK,
@@ -460,7 +459,6 @@
SPARC_INS_SUBXCC,
SPARC_INS_SUB,
SPARC_INS_SWAP,
- SPARC_INS_TA,
SPARC_INS_TADDCCTV,
SPARC_INS_TADDCC,
SPARC_INS_T,