0, OP_TOX_RA_SI, 3<<26 | 31<<21, "twui",
/* page 62 */
-0, OP_RS_RA_UI_CC, 28<<26, "andi", /* C compulsory */
-0, OP_RS_RA_UI_CC, 29<<26, "andis", /* C compulsory */
-0, OP_RS_RA_UI, 24<<26, "ori",
-0, OP_RS_RA_UI, 25<<26, "oris",
-0, OP_RS_RA_UI, 26<<26, "xori",
-0, OP_RS_RA_UI, 27<<26, "xoris",
-0, OP_RS_RA_RB_C, 31<<26 | 28<<1, "and",
-0, OP_RS_RA_RB_C, 31<<26 | 444<<1, "or",
-0, OP_RS_RA_RB_C, 31<<26 | 316<<1, "xor",
-0, OP_RS_RA_RB_C, 31<<26 | 476<<1, "nand",
-0, OP_RS_RA_RB_C, 31<<26 | 124<<1, "nor",
-0, OP_RS_RA_RB_C, 31<<26 | 284<<1, "eqv",
-0, OP_RS_RA_RB_C, 31<<26 | 60<<1, "andc",
-0, OP_RS_RA_RB_C, 31<<26 | 412<<1, "orc",
-0, OP_RS_RA_C, 31<<26 | 954<<1, "extsb",
-0, OP_RS_RA_C, 31<<26 | 922<<1, "extsh",
-0, OP_RS_RA_C, 31<<26 | 986<<1, "extsw",
-0, OP_RS_RA_C, 31<<26 | 58<<1, "cntlzd",
-0, OP_RS_RA_C, 31<<26 | 26<<1, "cntlzw",
+0, OP_RA_RS_UI_CC, 28<<26, "andi", /* C compulsory */
+0, OP_RA_RS_UI_CC, 29<<26, "andis", /* C compulsory */
+0, OP_RA_RS_UI, 24<<26, "ori",
+0, OP_RA_RS_UI, 25<<26, "oris",
+0, OP_RA_RS_UI, 26<<26, "xori",
+0, OP_RA_RS_UI, 27<<26, "xoris",
+0, OP_RA_RS_RB_C, 31<<26 | 28<<1, "and",
+0, OP_RA_RS_RB_C, 31<<26 | 444<<1, "or",
+0, OP_RA_RS_RB_C, 31<<26 | 316<<1, "xor",
+0, OP_RA_RS_RB_C, 31<<26 | 476<<1, "nand",
+0, OP_RA_RS_RB_C, 31<<26 | 124<<1, "nor",
+0, OP_RA_RS_RB_C, 31<<26 | 284<<1, "eqv",
+0, OP_RA_RS_RB_C, 31<<26 | 60<<1, "andc",
+0, OP_RA_RS_RB_C, 31<<26 | 412<<1, "orc",
+0, OP_RA_RS_C, 31<<26 | 954<<1, "extsb",
+0, OP_RA_RS_C, 31<<26 | 922<<1, "extsh",
+0, OP_RA_RS_C, 31<<26 | 986<<1, "extsw",
+0, OP_RA_RS_C, 31<<26 | 58<<1, "cntlzd",
+0, OP_RA_RS_C, 31<<26 | 26<<1, "cntlzw",
/* extended m using logic */
0, OP_RS_RA_RA_C, 31<<26 | 444<<1, "mr",
| OP_FRT_RA_D FPR ',' e16 '(' GPR ')' { emit4($1 | ($2<<21) | ($6<<16) | $4); }
| OP_FRT_RA_RB FPR ',' GPR ',' GPR { emit4($1 | ($2<<21) | ($4<<16) | ($6<<11)); }
| OP_FRT_C c FPR { emit4($1 | $2 | ($3<<21)); }
+ | OP_RA_RS_C c GPR ',' GPR { emit4($1 | $2 | ($5<<21) | ($3<<16)); }
| OP_RA_RS_RB_C c GPR ',' GPR ',' GPR
{ emit4($1 | $2 | ($5<<21) | ($3<<16) | ($7<<11)); }
| OP_RA_RS_RB_MB5_ME5_C c GPR ',' GPR ',' GPR ',' u5 ',' u5
{ emit4($1 | $2 | ($5<<21) | ($3<<16) | SH6($7)); }
| OP_RA_RS_SH6_MB6_C c GPR ',' GPR ',' u6 ',' u6
{ emit4($1 | $2 | ($5<<21) | ($3<<16) | SH6($7) | MB6($9)); }
+ | OP_RA_RS_UI GPR ',' GPR ',' e16 { emit4($1 | ($4<<21) | ($2<<16) | $6); }
+ | OP_RA_RS_UI_CC C GPR ',' GPR ',' e16 { emit4($1 | ($5<<21) | ($3<<16) | $7); }
| OP_RT GPR { emit4($1 | ($2<<21)); }
| OP_RT_RA_C c GPR ',' GPR { emit4($1 | $2 | ($3<<21) | ($5<<16)); }
| OP_RT_RA_D GPR ',' e16 '(' GPR ')' { emit4($1 | ($2<<21) | ($6<<16) | $4); }
| OP_RT_SI GPR ',' e16 { emit4($1 | ($2<<21) | $4); }
| OP_RT_SPR GPR ',' spr_num { emit4($1 | ($2<<21) | ($4<<11)); }
| OP_RS_FXM u7 ',' GPR { emit4($1 | ($4<<21) | ($2<<12)); }
- | OP_RS_RA_C c GPR ',' GPR { emit4($1 | $2 | ($5<<21) | ($3<<16)); }
| OP_RS_RA_D GPR ',' e16 '(' GPR ')' { emit4($1 | ($2<<21) | ($6<<16) | $4); }
| OP_RS_RA_DS GPR ',' ds '(' GPR ')' { emit4($1 | ($2<<21) | ($6<<16) | $4); }
| OP_RS_RA_NB GPR ',' GPR ',' nb { emit4($1 | ($2<<21) | ($4<<16) | ($6<<11)); }
- | OP_RS_RA_UI GPR ',' GPR ',' e16 { emit4($1 | ($4<<21) | ($2<<16) | $6); }
- | OP_RS_RA_UI_CC C GPR ',' GPR ',' e16 { emit4($1 | ($5<<21) | ($3<<16) | $7); }
| OP_RS_RA_RB GPR ',' GPR ',' GPR { emit4($1 | ($2<<21) | ($4<<16) | ($6<<11)); }
| OP_RS_RA_RB_C c GPR ',' GPR ',' GPR { emit4($1 | $2 | ($5<<21) | ($3<<16) | ($7<<11)); }
| OP_RS_RA_RA_C c GPR ',' GPR { emit4($1 | $2 | ($5<<21) | ($3<<16) | ($5<<11)); }