17dd7cddfSDavid du Colombier #include "l.h" 27dd7cddfSDavid du Colombier 37dd7cddfSDavid du Colombier Optab optab[] = 47dd7cddfSDavid du Colombier { 57dd7cddfSDavid du Colombier { ATEXT, C_LEXT, C_NONE, C_NONE, C_LCON, 0, 0, 0 }, 67dd7cddfSDavid du Colombier { ATEXT, C_LEXT, C_REG, C_NONE, C_LCON, 0, 0, 0 }, 77dd7cddfSDavid du Colombier { ATEXT, C_LEXT, C_NONE, C_LCON, C_LCON, 0, 0, 0 }, 87dd7cddfSDavid du Colombier { ATEXT, C_LEXT, C_REG, C_LCON, C_LCON, 0, 0, 0 }, 9375daca8SDavid du Colombier { ATEXT, C_ADDR, C_NONE, C_NONE, C_LCON, 0, 0, 0 }, 10375daca8SDavid du Colombier { ATEXT, C_ADDR, C_REG, C_NONE, C_LCON, 0, 0, 0 }, 11375daca8SDavid du Colombier { ATEXT, C_ADDR, C_NONE, C_LCON, C_LCON, 0, 0, 0 }, 12375daca8SDavid du Colombier { ATEXT, C_ADDR, C_REG, C_LCON, C_LCON, 0, 0, 0 }, 137dd7cddfSDavid du Colombier 147dd7cddfSDavid du Colombier { AMOVW, C_REG, C_NONE, C_NONE, C_REG, 1, 4, 0 }, 157dd7cddfSDavid du Colombier { AMOVB, C_REG, C_NONE, C_NONE, C_REG, 12, 4, 0 }, 167dd7cddfSDavid du Colombier { AMOVBZ, C_REG, C_NONE, C_NONE, C_REG, 13, 4, 0 }, 177dd7cddfSDavid du Colombier 187dd7cddfSDavid du Colombier { AADD, C_REG, C_REG, C_NONE, C_REG, 2, 4, 0 }, 197dd7cddfSDavid du Colombier { AADD, C_REG, C_NONE, C_NONE, C_REG, 2, 4, 0 }, 207dd7cddfSDavid du Colombier { AADD, C_ADDCON,C_REG, C_NONE, C_REG, 4, 4, 0 }, 217dd7cddfSDavid du Colombier { AADD, C_ADDCON,C_NONE, C_NONE, C_REG, 4, 4, 0 }, 227dd7cddfSDavid du Colombier { AADD, C_UCON, C_REG, C_NONE, C_REG, 20, 4, 0 }, 237dd7cddfSDavid du Colombier { AADD, C_UCON, C_NONE, C_NONE, C_REG, 20, 4, 0 }, 247dd7cddfSDavid du Colombier { AADD, C_LCON, C_REG, C_NONE, C_REG, 22, 12, 0 }, 257dd7cddfSDavid du Colombier { AADD, C_LCON, C_NONE, C_NONE, C_REG, 22, 12, 0 }, 267dd7cddfSDavid du Colombier 277dd7cddfSDavid du Colombier { AADDC, C_REG, C_REG, C_NONE, C_REG, 2, 4, 0 }, 287dd7cddfSDavid du Colombier { AADDC, C_REG, C_NONE, C_NONE, C_REG, 2, 4, 0 }, 297dd7cddfSDavid du Colombier { AADDC, C_ADDCON,C_REG, C_NONE, C_REG, 4, 4, 0 }, 307dd7cddfSDavid du Colombier { AADDC, C_ADDCON,C_NONE, C_NONE, C_REG, 4, 4, 0 }, 317dd7cddfSDavid du Colombier { AADDC, C_LCON, C_REG, C_NONE, C_REG, 22, 12, 0 }, 327dd7cddfSDavid du Colombier { AADDC, C_LCON, C_NONE, C_NONE, C_REG, 22, 12, 0 }, 337dd7cddfSDavid du Colombier 347dd7cddfSDavid du Colombier { AAND, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0 }, /* logical, no literal */ 357dd7cddfSDavid du Colombier { AAND, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0 }, 367dd7cddfSDavid du Colombier { AANDCC, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0 }, 377dd7cddfSDavid du Colombier { AANDCC, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0 }, 387dd7cddfSDavid du Colombier 397dd7cddfSDavid du Colombier { AANDCC, C_ANDCON,C_NONE, C_NONE, C_REG, 58, 4, 0 }, 407dd7cddfSDavid du Colombier { AANDCC, C_ANDCON,C_REG, C_NONE, C_REG, 58, 4, 0 }, 417dd7cddfSDavid du Colombier { AANDCC, C_UCON, C_NONE, C_NONE, C_REG, 59, 4, 0 }, 427dd7cddfSDavid du Colombier { AANDCC, C_UCON, C_REG, C_NONE, C_REG, 59, 4, 0 }, 437dd7cddfSDavid du Colombier { AANDCC, C_LCON, C_NONE, C_NONE, C_REG, 23, 12, 0 }, 447dd7cddfSDavid du Colombier { AANDCC, C_LCON, C_REG, C_NONE, C_REG, 23, 12, 0 }, 457dd7cddfSDavid du Colombier 467dd7cddfSDavid du Colombier { AMULLW, C_REG, C_REG, C_NONE, C_REG, 2, 4, 0 }, 477dd7cddfSDavid du Colombier { AMULLW, C_REG, C_NONE, C_NONE, C_REG, 2, 4, 0 }, 487dd7cddfSDavid du Colombier { AMULLW, C_ADDCON,C_REG, C_NONE, C_REG, 4, 4, 0 }, 497dd7cddfSDavid du Colombier { AMULLW, C_ADDCON,C_NONE, C_NONE, C_REG, 4, 4, 0 }, 507dd7cddfSDavid du Colombier { AMULLW, C_ANDCON,C_REG, C_NONE, C_REG, 4, 4, 0 }, 517dd7cddfSDavid du Colombier { AMULLW, C_ANDCON, C_NONE, C_NONE, C_REG, 4, 4, 0 }, 527dd7cddfSDavid du Colombier { AMULLW, C_LCON, C_REG, C_NONE, C_REG, 22, 12, 0}, 537dd7cddfSDavid du Colombier { AMULLW, C_LCON, C_NONE, C_NONE, C_REG, 22, 12, 0}, 547dd7cddfSDavid du Colombier 557dd7cddfSDavid du Colombier { ASUBC, C_REG, C_REG, C_NONE, C_REG, 10, 4, 0 }, 567dd7cddfSDavid du Colombier { ASUBC, C_REG, C_NONE, C_NONE, C_REG, 10, 4, 0 }, 577dd7cddfSDavid du Colombier { ASUBC, C_REG, C_NONE, C_ADDCON, C_REG, 27, 4, 0 }, 587dd7cddfSDavid du Colombier { ASUBC, C_REG, C_NONE, C_LCON, C_REG, 28, 12, 0}, 597dd7cddfSDavid du Colombier 607dd7cddfSDavid du Colombier { AOR, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0 }, /* logical, literal not cc (or/xor) */ 617dd7cddfSDavid du Colombier { AOR, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0 }, 627dd7cddfSDavid du Colombier { AOR, C_ANDCON, C_NONE, C_NONE, C_REG, 58, 4, 0 }, 637dd7cddfSDavid du Colombier { AOR, C_ANDCON, C_REG, C_NONE, C_REG, 58, 4, 0 }, 647dd7cddfSDavid du Colombier { AOR, C_UCON, C_NONE, C_NONE, C_REG, 59, 4, 0 }, 657dd7cddfSDavid du Colombier { AOR, C_UCON, C_REG, C_NONE, C_REG, 59, 4, 0 }, 667dd7cddfSDavid du Colombier { AOR, C_LCON, C_NONE, C_NONE, C_REG, 23, 12, 0 }, 677dd7cddfSDavid du Colombier { AOR, C_LCON, C_REG, C_NONE, C_REG, 23, 12, 0 }, 687dd7cddfSDavid du Colombier 697dd7cddfSDavid du Colombier { ADIVW, C_REG, C_REG, C_NONE, C_REG, 2, 4, 0 }, /* op r1[,r2],r3 */ 707dd7cddfSDavid du Colombier { ADIVW, C_REG, C_NONE, C_NONE, C_REG, 2, 4, 0 }, 717dd7cddfSDavid du Colombier { ASUB, C_REG, C_REG, C_NONE, C_REG, 10, 4, 0 }, /* op r2[,r1],r3 */ 727dd7cddfSDavid du Colombier { ASUB, C_REG, C_NONE, C_NONE, C_REG, 10, 4, 0 }, 737dd7cddfSDavid du Colombier 747dd7cddfSDavid du Colombier { ASLW, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0 }, 757dd7cddfSDavid du Colombier { ASLW, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0 }, 767dd7cddfSDavid du Colombier { ASLW, C_SCON, C_REG, C_NONE, C_REG, 57, 4, 0 }, 777dd7cddfSDavid du Colombier { ASLW, C_SCON, C_NONE, C_NONE, C_REG, 57, 4, 0 }, 787dd7cddfSDavid du Colombier 797dd7cddfSDavid du Colombier { ASRAW, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0 }, 807dd7cddfSDavid du Colombier { ASRAW, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0 }, 817dd7cddfSDavid du Colombier { ASRAW, C_SCON, C_REG, C_NONE, C_REG, 56, 4, 0 }, 827dd7cddfSDavid du Colombier { ASRAW, C_SCON, C_NONE, C_NONE, C_REG, 56, 4, 0 }, 837dd7cddfSDavid du Colombier 847dd7cddfSDavid du Colombier { ARLWMI, C_SCON, C_REG, C_LCON, C_REG, 62, 4, 0 }, 857dd7cddfSDavid du Colombier { ARLWMI, C_REG, C_REG, C_LCON, C_REG, 63, 4, 0 }, 867dd7cddfSDavid du Colombier 877dd7cddfSDavid du Colombier { AFADD, C_FREG, C_NONE, C_NONE, C_FREG, 2, 4, 0 }, 887dd7cddfSDavid du Colombier { AFADD, C_FREG, C_REG, C_NONE, C_FREG, 2, 4, 0 }, 897dd7cddfSDavid du Colombier { AFABS, C_FREG, C_NONE, C_NONE, C_FREG, 33, 4, 0 }, 907dd7cddfSDavid du Colombier { AFABS, C_NONE, C_NONE, C_NONE, C_FREG, 33, 4, 0 }, 917dd7cddfSDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_NONE, C_FREG, 33, 4, 0 }, 927dd7cddfSDavid du Colombier 937dd7cddfSDavid du Colombier { AFMADD, C_FREG, C_REG, C_FREG, C_FREG, 34, 4, 0 }, 947dd7cddfSDavid du Colombier { AFMUL, C_FREG, C_NONE, C_NONE, C_FREG, 32, 4, 0 }, 957dd7cddfSDavid du Colombier { AFMUL, C_FREG, C_REG, C_NONE, C_FREG, 32, 4, 0 }, 967dd7cddfSDavid du Colombier 977dd7cddfSDavid du Colombier { AMOVW, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO }, 987dd7cddfSDavid du Colombier { AMOVBZ, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO }, 997dd7cddfSDavid du Colombier { AMOVBZU, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO }, 1007dd7cddfSDavid du Colombier { AMOVB, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO }, 1017dd7cddfSDavid du Colombier { AMOVBU, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO }, 1027dd7cddfSDavid du Colombier { AMOVW, C_REG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB }, 1037dd7cddfSDavid du Colombier { AMOVBZ, C_REG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB }, 1047dd7cddfSDavid du Colombier { AMOVB, C_REG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB }, 1057dd7cddfSDavid du Colombier { AMOVW, C_REG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP }, 1067dd7cddfSDavid du Colombier { AMOVBZ, C_REG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP }, 1077dd7cddfSDavid du Colombier { AMOVB, C_REG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP }, 1087dd7cddfSDavid du Colombier { AMOVW, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO }, 1097dd7cddfSDavid du Colombier { AMOVBZ, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO }, 1107dd7cddfSDavid du Colombier { AMOVBZU, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO }, 1117dd7cddfSDavid du Colombier { AMOVB, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO }, 1127dd7cddfSDavid du Colombier { AMOVBU, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO }, 1137dd7cddfSDavid du Colombier 1147dd7cddfSDavid du Colombier { AMOVW, C_ZOREG,C_REG, C_NONE, C_REG, 8, 4, REGZERO }, 1157dd7cddfSDavid du Colombier { AMOVBZ, C_ZOREG,C_REG, C_NONE, C_REG, 8, 4, REGZERO }, 1167dd7cddfSDavid du Colombier { AMOVBZU, C_ZOREG,C_REG, C_NONE, C_REG, 8, 4, REGZERO }, 1177dd7cddfSDavid du Colombier { AMOVB, C_ZOREG,C_REG, C_NONE, C_REG, 9, 8, REGZERO }, 1187dd7cddfSDavid du Colombier { AMOVBU, C_ZOREG,C_REG, C_NONE, C_REG, 9, 8, REGZERO }, 1197dd7cddfSDavid du Colombier { AMOVW, C_SEXT, C_NONE, C_NONE, C_REG, 8, 4, REGSB }, 1207dd7cddfSDavid du Colombier { AMOVBZ, C_SEXT, C_NONE, C_NONE, C_REG, 8, 4, REGSB }, 1217dd7cddfSDavid du Colombier { AMOVB, C_SEXT, C_NONE, C_NONE, C_REG, 9, 8, REGSB }, 1227dd7cddfSDavid du Colombier { AMOVW, C_SAUTO,C_NONE, C_NONE, C_REG, 8, 4, REGSP }, 1237dd7cddfSDavid du Colombier { AMOVBZ, C_SAUTO,C_NONE, C_NONE, C_REG, 8, 4, REGSP }, 1247dd7cddfSDavid du Colombier { AMOVB, C_SAUTO,C_NONE, C_NONE, C_REG, 9, 8, REGSP }, 1257dd7cddfSDavid du Colombier { AMOVW, C_SOREG,C_NONE, C_NONE, C_REG, 8, 4, REGZERO }, 1267dd7cddfSDavid du Colombier { AMOVBZ, C_SOREG,C_NONE, C_NONE, C_REG, 8, 4, REGZERO }, 1277dd7cddfSDavid du Colombier { AMOVBZU, C_SOREG,C_NONE, C_NONE, C_REG, 8, 4, REGZERO }, 1287dd7cddfSDavid du Colombier { AMOVB, C_SOREG,C_NONE, C_NONE, C_REG, 9, 8, REGZERO }, 1297dd7cddfSDavid du Colombier { AMOVBU, C_SOREG,C_NONE, C_NONE, C_REG, 9, 8, REGZERO }, 1307dd7cddfSDavid du Colombier 1317dd7cddfSDavid du Colombier { AMOVW, C_REG, C_NONE, C_NONE, C_LEXT, 35, 8, REGSB }, 1327dd7cddfSDavid du Colombier { AMOVBZ, C_REG, C_NONE, C_NONE, C_LEXT, 35, 8, REGSB }, 1337dd7cddfSDavid du Colombier { AMOVB, C_REG, C_NONE, C_NONE, C_LEXT, 35, 8, REGSB }, 1347dd7cddfSDavid du Colombier { AMOVW, C_REG, C_NONE, C_NONE, C_LAUTO, 35, 8, REGSP }, 1357dd7cddfSDavid du Colombier { AMOVBZ, C_REG, C_NONE, C_NONE, C_LAUTO, 35, 8, REGSP }, 1367dd7cddfSDavid du Colombier { AMOVB, C_REG, C_NONE, C_NONE, C_LAUTO, 35, 8, REGSP }, 1377dd7cddfSDavid du Colombier { AMOVW, C_REG, C_NONE, C_NONE, C_LOREG, 35, 8, REGZERO }, 1387dd7cddfSDavid du Colombier { AMOVBZ, C_REG, C_NONE, C_NONE, C_LOREG, 35, 8, REGZERO }, 1397dd7cddfSDavid du Colombier { AMOVB, C_REG, C_NONE, C_NONE, C_LOREG, 35, 8, REGZERO }, 140375daca8SDavid du Colombier { AMOVW, C_REG, C_NONE, C_NONE, C_ADDR, 74, 8, 0 }, 141375daca8SDavid du Colombier { AMOVBZ, C_REG, C_NONE, C_NONE, C_ADDR, 74, 8, 0 }, 142375daca8SDavid du Colombier { AMOVB, C_REG, C_NONE, C_NONE, C_ADDR, 74, 8, 0 }, 1437dd7cddfSDavid du Colombier 1447dd7cddfSDavid du Colombier { AMOVW, C_LEXT, C_NONE, C_NONE, C_REG, 36, 8, REGSB }, 1457dd7cddfSDavid du Colombier { AMOVBZ, C_LEXT, C_NONE, C_NONE, C_REG, 36, 8, REGSB }, 1467dd7cddfSDavid du Colombier { AMOVB, C_LEXT, C_NONE, C_NONE, C_REG, 37, 12, REGSB }, 1477dd7cddfSDavid du Colombier { AMOVW, C_LAUTO,C_NONE, C_NONE, C_REG, 36, 8, REGSP }, 1487dd7cddfSDavid du Colombier { AMOVBZ, C_LAUTO,C_NONE, C_NONE, C_REG, 36, 8, REGSP }, 1497dd7cddfSDavid du Colombier { AMOVB, C_LAUTO,C_NONE, C_NONE, C_REG, 37, 12, REGSP }, 1507dd7cddfSDavid du Colombier { AMOVW, C_LOREG,C_NONE, C_NONE, C_REG, 36, 8, REGZERO }, 1517dd7cddfSDavid du Colombier { AMOVBZ, C_LOREG,C_NONE, C_NONE, C_REG, 36, 8, REGZERO }, 1527dd7cddfSDavid du Colombier { AMOVB, C_LOREG,C_NONE, C_NONE, C_REG, 37, 12, REGZERO }, 153375daca8SDavid du Colombier { AMOVW, C_ADDR, C_NONE, C_NONE, C_REG, 75, 8, 0 }, 154375daca8SDavid du Colombier { AMOVBZ, C_ADDR, C_NONE, C_NONE, C_REG, 75, 8, 0 }, 155375daca8SDavid du Colombier { AMOVB, C_ADDR, C_NONE, C_NONE, C_REG, 76, 12, 0 }, 1567dd7cddfSDavid du Colombier 1577dd7cddfSDavid du Colombier { AMOVW, C_SECON,C_NONE, C_NONE, C_REG, 3, 4, REGSB }, 1587dd7cddfSDavid du Colombier { AMOVW, C_SACON,C_NONE, C_NONE, C_REG, 3, 4, REGSP }, 1597dd7cddfSDavid du Colombier { AMOVW, C_LECON,C_NONE, C_NONE, C_REG, 26, 8, REGSB }, 1607dd7cddfSDavid du Colombier { AMOVW, C_LACON,C_NONE, C_NONE, C_REG, 26, 8, REGSP }, 1617dd7cddfSDavid du Colombier { AMOVW, C_ADDCON,C_NONE, C_NONE, C_REG, 3, 4, REGZERO }, 1627dd7cddfSDavid du Colombier 1637dd7cddfSDavid du Colombier { AMOVW, C_UCON, C_NONE, C_NONE, C_REG, 3, 4, REGZERO }, 1647dd7cddfSDavid du Colombier { AMOVW, C_LCON, C_NONE, C_NONE, C_REG, 19, 8, 0 }, 1657dd7cddfSDavid du Colombier 1667dd7cddfSDavid du Colombier { AMOVHBR, C_ZOREG, C_REG, C_NONE, C_REG, 45, 4, 0 }, 1677dd7cddfSDavid du Colombier { AMOVHBR, C_ZOREG, C_NONE, C_NONE, C_REG, 45, 4, 0 }, 1687dd7cddfSDavid du Colombier { AMOVHBR, C_REG, C_REG, C_NONE, C_ZOREG, 44, 4, 0 }, 1697dd7cddfSDavid du Colombier { AMOVHBR, C_REG, C_NONE, C_NONE, C_ZOREG, 44, 4, 0 }, 1707dd7cddfSDavid du Colombier 1717dd7cddfSDavid du Colombier { ASYSCALL, C_NONE, C_NONE, C_NONE, C_NONE, 5, 4, 0 }, 1727dd7cddfSDavid du Colombier 1737dd7cddfSDavid du Colombier { ABEQ, C_NONE, C_NONE, C_NONE, C_SBRA, 16, 4, 0 }, 1747dd7cddfSDavid du Colombier { ABEQ, C_CREG, C_NONE, C_NONE, C_SBRA, 16, 4, 0 }, 1757dd7cddfSDavid du Colombier 1767dd7cddfSDavid du Colombier { ABR, C_NONE, C_NONE, C_NONE, C_LBRA, 11, 4, 0 }, 1777dd7cddfSDavid du Colombier 1787dd7cddfSDavid du Colombier { ABC, C_SCON, C_REG, C_NONE, C_SBRA, 16, 4, 0 }, 1797dd7cddfSDavid du Colombier { ABC, C_SCON, C_REG, C_NONE, C_LBRA, 17, 4, 0 }, 1807dd7cddfSDavid du Colombier 1817dd7cddfSDavid du Colombier { ABR, C_NONE, C_NONE, C_NONE, C_LR, 18, 4, 0 }, 1827dd7cddfSDavid du Colombier { ABR, C_NONE, C_NONE, C_NONE, C_CTR, 18, 4, 0 }, 1837dd7cddfSDavid du Colombier { ABR, C_NONE, C_NONE, C_NONE, C_ZOREG, 15, 8, 0 }, 1847dd7cddfSDavid du Colombier 1857dd7cddfSDavid du Colombier { ABC, C_NONE, C_REG, C_NONE, C_LR, 18, 4, 0 }, 1867dd7cddfSDavid du Colombier { ABC, C_NONE, C_REG, C_NONE, C_CTR, 18, 4, 0 }, 1877dd7cddfSDavid du Colombier { ABC, C_SCON, C_REG, C_NONE, C_LR, 18, 4, 0 }, 1887dd7cddfSDavid du Colombier { ABC, C_SCON, C_REG, C_NONE, C_CTR, 18, 4, 0 }, 1897dd7cddfSDavid du Colombier { ABC, C_NONE, C_NONE, C_NONE, C_ZOREG, 15, 8, 0 }, 1907dd7cddfSDavid du Colombier 1917dd7cddfSDavid du Colombier { AFMOVD, C_SEXT, C_NONE, C_NONE, C_FREG, 8, 4, REGSB }, 1927dd7cddfSDavid du Colombier { AFMOVD, C_SAUTO,C_NONE, C_NONE, C_FREG, 8, 4, REGSP }, 1937dd7cddfSDavid du Colombier { AFMOVD, C_SOREG,C_NONE, C_NONE, C_FREG, 8, 4, REGZERO }, 1947dd7cddfSDavid du Colombier 1957dd7cddfSDavid du Colombier { AFMOVD, C_LEXT, C_NONE, C_NONE, C_FREG, 8, 4, REGSB }, 1967dd7cddfSDavid du Colombier { AFMOVD, C_LAUTO,C_NONE, C_NONE, C_FREG, 8, 4, REGSP }, 1977dd7cddfSDavid du Colombier { AFMOVD, C_LOREG,C_NONE, C_NONE, C_FREG, 8, 4, REGZERO }, 198375daca8SDavid du Colombier { AFMOVD, C_ADDR, C_NONE, C_NONE, C_FREG, 75, 8, 0 }, 1997dd7cddfSDavid du Colombier 2007dd7cddfSDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB }, 2017dd7cddfSDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP }, 2027dd7cddfSDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO }, 2037dd7cddfSDavid du Colombier 2047dd7cddfSDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_NONE, C_LEXT, 7, 4, REGSB }, 2057dd7cddfSDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_NONE, C_LAUTO, 7, 4, REGSP }, 2067dd7cddfSDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_NONE, C_LOREG, 7, 4, REGZERO }, 207375daca8SDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_NONE, C_ADDR, 74, 8, 0 }, 2087dd7cddfSDavid du Colombier 2097dd7cddfSDavid du Colombier { ASYNC, C_NONE, C_NONE, C_NONE, C_NONE, 46, 4, 0 }, 2107dd7cddfSDavid du Colombier { AWORD, C_LCON, C_NONE, C_NONE, C_NONE, 40, 4, 0 }, 2117dd7cddfSDavid du Colombier 2127dd7cddfSDavid du Colombier { AADDME, C_REG, C_NONE, C_NONE, C_REG, 47, 4, 0 }, 2137dd7cddfSDavid du Colombier 2147dd7cddfSDavid du Colombier { AEXTSB, C_REG, C_NONE, C_NONE, C_REG, 48, 4, 0 }, 2157dd7cddfSDavid du Colombier { AEXTSB, C_NONE, C_NONE, C_NONE, C_REG, 48, 4, 0 }, 2167dd7cddfSDavid du Colombier 2177dd7cddfSDavid du Colombier { ANEG, C_REG, C_NONE, C_NONE, C_REG, 47, 4, 0 }, 2187dd7cddfSDavid du Colombier { ANEG, C_NONE, C_NONE, C_NONE, C_REG, 47, 4, 0 }, 2197dd7cddfSDavid du Colombier 2207dd7cddfSDavid du Colombier { AREM, C_REG, C_NONE, C_NONE, C_REG, 51, 12, 0 }, 2217dd7cddfSDavid du Colombier { AREM, C_REG, C_REG, C_NONE, C_REG, 51, 12, 0 }, 2227dd7cddfSDavid du Colombier 2237dd7cddfSDavid du Colombier { AMTFSB0, C_SCON, C_NONE, C_NONE, C_NONE, 52, 4, 0 }, 2247dd7cddfSDavid du Colombier { AMOVFL, C_FPSCR, C_NONE, C_NONE, C_FREG, 53, 4, 0 }, 2257dd7cddfSDavid du Colombier { AMOVFL, C_FREG, C_NONE, C_NONE, C_FPSCR, 64, 4, 0 }, 2267dd7cddfSDavid du Colombier { AMOVFL, C_FREG, C_NONE, C_LCON, C_FPSCR, 64, 4, 0 }, 2277dd7cddfSDavid du Colombier { AMOVFL, C_LCON, C_NONE, C_NONE, C_FPSCR, 65, 4, 0 }, 2287dd7cddfSDavid du Colombier 2297dd7cddfSDavid du Colombier { AMOVW, C_REG, C_NONE, C_NONE, C_MSR, 54, 4, 0 }, 2307dd7cddfSDavid du Colombier { AMOVW, C_MSR, C_NONE, C_NONE, C_REG, 54, 4, 0 }, 2317dd7cddfSDavid du Colombier 2327dd7cddfSDavid du Colombier { AMOVW, C_SREG, C_NONE, C_NONE, C_REG, 55, 4, 0 }, 2337dd7cddfSDavid du Colombier { AMOVW, C_REG, C_NONE, C_NONE, C_SREG, 55, 4, 0 }, 2347dd7cddfSDavid du Colombier { AMOVW, C_SREG, C_REG, C_NONE, C_REG, 55, 4, 0 }, /* MOVW SR(Rn), Rm and v.v.*/ 2357dd7cddfSDavid du Colombier { AMOVW, C_REG, C_REG, C_NONE, C_SREG, 55, 4, 0 }, 2367dd7cddfSDavid du Colombier 2377dd7cddfSDavid du Colombier { AMOVW, C_REG, C_NONE, C_NONE, C_SPR, 66, 4, 0 }, 2387dd7cddfSDavid du Colombier { AMOVW, C_REG, C_NONE, C_NONE, C_LR, 66, 4, 0 }, 2397dd7cddfSDavid du Colombier { AMOVW, C_REG, C_NONE, C_NONE, C_CTR, 66, 4, 0 }, 2407dd7cddfSDavid du Colombier { AMOVW, C_REG, C_NONE, C_NONE, C_XER, 66, 4, 0 }, 2417dd7cddfSDavid du Colombier { AMOVW, C_SPR, C_NONE, C_NONE, C_REG, 66, 4, 0 }, 2427dd7cddfSDavid du Colombier { AMOVW, C_LR, C_NONE, C_NONE, C_REG, 66, 4, 0 }, 2437dd7cddfSDavid du Colombier { AMOVW, C_CTR, C_NONE, C_NONE, C_REG, 66, 4, 0 }, 2447dd7cddfSDavid du Colombier { AMOVW, C_XER, C_NONE, C_NONE, C_REG, 66, 4, 0 }, 2457dd7cddfSDavid du Colombier 2467dd7cddfSDavid du Colombier { AMOVFL, C_FPSCR, C_NONE, C_NONE, C_CREG, 73, 4, 0 }, 2477dd7cddfSDavid du Colombier { AMOVFL, C_CREG, C_NONE, C_NONE, C_CREG, 67, 4, 0 }, 2487dd7cddfSDavid du Colombier { AMOVW, C_XER, C_NONE, C_NONE, C_CREG, 72, 4, 0 }, 2497dd7cddfSDavid du Colombier { AMOVW, C_CREG, C_NONE, C_NONE, C_REG, 68, 4, 0 }, 2507dd7cddfSDavid du Colombier { AMOVFL, C_REG, C_NONE, C_LCON, C_CREG, 69, 4, 0 }, 2517dd7cddfSDavid du Colombier { AMOVFL, C_REG, C_NONE, C_NONE, C_CREG, 69, 4, 0 }, 2527dd7cddfSDavid du Colombier { AMOVW, C_REG, C_NONE, C_NONE, C_CREG, 69, 4, 0 }, 2537dd7cddfSDavid du Colombier 2547dd7cddfSDavid du Colombier { ACMP, C_REG, C_NONE, C_NONE, C_REG, 70, 4, 0 }, 2557dd7cddfSDavid du Colombier { ACMP, C_REG, C_REG, C_NONE, C_REG, 70, 4, 0 }, 2567dd7cddfSDavid du Colombier { ACMP, C_REG, C_NONE, C_NONE, C_ADDCON, 71, 4, 0 }, 2577dd7cddfSDavid du Colombier { ACMP, C_REG, C_REG, C_NONE, C_ADDCON, 71, 4, 0 }, 2587dd7cddfSDavid du Colombier 2597dd7cddfSDavid du Colombier { ACMPU, C_REG, C_NONE, C_NONE, C_REG, 70, 4, 0 }, 2607dd7cddfSDavid du Colombier { ACMPU, C_REG, C_REG, C_NONE, C_REG, 70, 4, 0 }, 2617dd7cddfSDavid du Colombier { ACMPU, C_REG, C_NONE, C_NONE, C_ANDCON, 71, 4, 0 }, 2627dd7cddfSDavid du Colombier { ACMPU, C_REG, C_REG, C_NONE, C_ANDCON, 71, 4, 0 }, 2637dd7cddfSDavid du Colombier 2647dd7cddfSDavid du Colombier { AFCMPO, C_FREG, C_NONE, C_NONE, C_FREG, 70, 4, 0 }, 2657dd7cddfSDavid du Colombier { AFCMPO, C_FREG, C_REG, C_NONE, C_FREG, 70, 4, 0 }, 2667dd7cddfSDavid du Colombier 2677dd7cddfSDavid du Colombier { ATW, C_LCON, C_REG, C_NONE, C_REG, 60, 4, 0 }, 2687dd7cddfSDavid du Colombier { ATW, C_LCON, C_REG, C_NONE, C_ADDCON, 61, 4, 0 }, 2697dd7cddfSDavid du Colombier 2707dd7cddfSDavid du Colombier { ADCBF, C_ZOREG, C_NONE, C_NONE, C_NONE, 43, 4, 0 }, 2717dd7cddfSDavid du Colombier { ADCBF, C_ZOREG, C_REG, C_NONE, C_NONE, 43, 4, 0 }, 2727dd7cddfSDavid du Colombier 2737dd7cddfSDavid du Colombier { AECOWX, C_REG, C_REG, C_NONE, C_ZOREG, 44, 4, 0 }, 2747dd7cddfSDavid du Colombier { AECIWX, C_ZOREG, C_REG, C_NONE, C_REG, 45, 4, 0 }, 2757dd7cddfSDavid du Colombier { AECOWX, C_REG, C_NONE, C_NONE, C_ZOREG, 44, 4, 0 }, 2767dd7cddfSDavid du Colombier { AECIWX, C_ZOREG, C_NONE, C_NONE, C_REG, 45, 4, 0 }, 2777dd7cddfSDavid du Colombier 2787dd7cddfSDavid du Colombier { AEIEIO, C_NONE, C_NONE, C_NONE, C_NONE, 46, 4, 0 }, 2797dd7cddfSDavid du Colombier { ATLBIE, C_REG, C_NONE, C_NONE, C_NONE, 49, 4, 0 }, 2807dd7cddfSDavid du Colombier 2817dd7cddfSDavid du Colombier { ASTSW, C_REG, C_NONE, C_NONE, C_ZOREG, 44, 4, 0 }, 2827dd7cddfSDavid du Colombier { ASTSW, C_REG, C_NONE, C_LCON, C_ZOREG, 41, 4, 0 }, 2837dd7cddfSDavid du Colombier { ALSW, C_ZOREG, C_NONE, C_NONE, C_REG, 45, 4, 0 }, 2847dd7cddfSDavid du Colombier { ALSW, C_ZOREG, C_NONE, C_LCON, C_REG, 42, 4, 0 }, 285375daca8SDavid du Colombier 286375daca8SDavid du Colombier { AMACCHW, C_REG, C_REG, C_NONE, C_REG, 2, 4, 0 }, /* op rb,ra,rt */ 287375daca8SDavid du Colombier 288*6891d857SDavid du Colombier { AFSMOVS, C_ZOREG, C_REG, C_NONE, C_FREG, 45, 4, 0 }, 289*6891d857SDavid du Colombier { AFSMOVS, C_ZOREG, C_NONE, C_NONE, C_FREG, 45, 4, 0 }, 290*6891d857SDavid du Colombier { AFSMOVS, C_FREG, C_REG, C_NONE, C_ZOREG, 44, 4, 0 }, 291*6891d857SDavid du Colombier { AFSMOVS, C_FREG, C_NONE, C_NONE, C_ZOREG, 44, 4, 0 }, 292*6891d857SDavid du Colombier 293*6891d857SDavid du Colombier { AFPMOVD, C_ZOREG, C_REG, C_NONE, C_FREG, 45, 4, 0 }, 294*6891d857SDavid du Colombier { AFPMOVD, C_ZOREG, C_NONE, C_NONE, C_FREG, 45, 4, 0 }, 295*6891d857SDavid du Colombier { AFPMOVD, C_FREG, C_REG, C_NONE, C_ZOREG, 44, 4, 0 }, 296*6891d857SDavid du Colombier { AFPMOVD, C_FREG, C_NONE, C_NONE, C_ZOREG, 44, 4, 0 }, 297*6891d857SDavid du Colombier 298*6891d857SDavid du Colombier { AFPMOVD, C_FREG, C_NONE, C_NONE, C_FREG, 33, 4, 0 }, /* f[xps]mr */ 299*6891d857SDavid du Colombier { AFMOVSPD, C_FREG, C_NONE, C_NONE, C_FREG, 33, 4, 0 }, /* fsm[tf]p */ 300*6891d857SDavid du Colombier 3017dd7cddfSDavid du Colombier { AXXX, C_NONE, C_NONE, C_NONE, C_NONE, 0, 4, 0 }, 3027dd7cddfSDavid du Colombier }; 303