var optab = []Optab{
/* struct Optab:
OPCODE, from, prog->reg, to, type,size,param,flag */
- Optab{obj.ATEXT, C_ADDR, C_NONE, C_TEXTSIZE, 0, 0, 0, 0, 0},
- Optab{AADD, C_REG, C_REG, C_REG, 1, 4, 0, 0, 0},
- Optab{AADD, C_REG, C_NONE, C_REG, 1, 4, 0, 0, 0},
- Optab{AMOVW, C_REG, C_NONE, C_REG, 1, 4, 0, 0, 0},
- Optab{AMVN, C_REG, C_NONE, C_REG, 1, 4, 0, 0, 0},
- Optab{ACMP, C_REG, C_REG, C_NONE, 1, 4, 0, 0, 0},
- Optab{AADD, C_RCON, C_REG, C_REG, 2, 4, 0, 0, 0},
- Optab{AADD, C_RCON, C_NONE, C_REG, 2, 4, 0, 0, 0},
- Optab{AMOVW, C_RCON, C_NONE, C_REG, 2, 4, 0, 0, 0},
- Optab{AMVN, C_RCON, C_NONE, C_REG, 2, 4, 0, 0, 0},
- Optab{ACMP, C_RCON, C_REG, C_NONE, 2, 4, 0, 0, 0},
- Optab{AADD, C_SHIFT, C_REG, C_REG, 3, 4, 0, 0, 0},
- Optab{AADD, C_SHIFT, C_NONE, C_REG, 3, 4, 0, 0, 0},
- Optab{AMVN, C_SHIFT, C_NONE, C_REG, 3, 4, 0, 0, 0},
- Optab{ACMP, C_SHIFT, C_REG, C_NONE, 3, 4, 0, 0, 0},
- Optab{AMOVW, C_RACON, C_NONE, C_REG, 4, 4, REGSP, 0, 0},
- Optab{AB, C_NONE, C_NONE, C_SBRA, 5, 4, 0, LPOOL, 0},
- Optab{ABL, C_NONE, C_NONE, C_SBRA, 5, 4, 0, 0, 0},
- Optab{ABX, C_NONE, C_NONE, C_SBRA, 74, 20, 0, 0, 0},
- Optab{ABEQ, C_NONE, C_NONE, C_SBRA, 5, 4, 0, 0, 0},
- Optab{ABEQ, C_RCON, C_NONE, C_SBRA, 5, 4, 0, 0, 0}, // prediction hinted form, hint ignored
-
- Optab{AB, C_NONE, C_NONE, C_ROREG, 6, 4, 0, LPOOL, 0},
- Optab{ABL, C_NONE, C_NONE, C_ROREG, 7, 4, 0, 0, 0},
- Optab{ABL, C_REG, C_NONE, C_ROREG, 7, 4, 0, 0, 0},
- Optab{ABX, C_NONE, C_NONE, C_ROREG, 75, 12, 0, 0, 0},
- Optab{ABXRET, C_NONE, C_NONE, C_ROREG, 76, 4, 0, 0, 0},
- Optab{ASLL, C_RCON, C_REG, C_REG, 8, 4, 0, 0, 0},
- Optab{ASLL, C_RCON, C_NONE, C_REG, 8, 4, 0, 0, 0},
- Optab{ASLL, C_REG, C_NONE, C_REG, 9, 4, 0, 0, 0},
- Optab{ASLL, C_REG, C_REG, C_REG, 9, 4, 0, 0, 0},
- Optab{ASWI, C_NONE, C_NONE, C_NONE, 10, 4, 0, 0, 0},
- Optab{ASWI, C_NONE, C_NONE, C_LOREG, 10, 4, 0, 0, 0},
- Optab{ASWI, C_NONE, C_NONE, C_LCON, 10, 4, 0, 0, 0},
- Optab{AWORD, C_NONE, C_NONE, C_LCON, 11, 4, 0, 0, 0},
- Optab{AWORD, C_NONE, C_NONE, C_LCONADDR, 11, 4, 0, 0, 0},
- Optab{AWORD, C_NONE, C_NONE, C_ADDR, 11, 4, 0, 0, 0},
- Optab{AWORD, C_NONE, C_NONE, C_TLS_LE, 103, 4, 0, 0, 0},
- Optab{AWORD, C_NONE, C_NONE, C_TLS_IE, 104, 4, 0, 0, 0},
- Optab{AMOVW, C_NCON, C_NONE, C_REG, 12, 4, 0, 0, 0},
- Optab{AMOVW, C_LCON, C_NONE, C_REG, 12, 4, 0, LFROM, 0},
- Optab{AMOVW, C_LCONADDR, C_NONE, C_REG, 12, 4, 0, LFROM | LPCREL, 4},
- Optab{AADD, C_NCON, C_REG, C_REG, 13, 8, 0, 0, 0},
- Optab{AADD, C_NCON, C_NONE, C_REG, 13, 8, 0, 0, 0},
- Optab{AMVN, C_NCON, C_NONE, C_REG, 13, 8, 0, 0, 0},
- Optab{ACMP, C_NCON, C_REG, C_NONE, 13, 8, 0, 0, 0},
- Optab{AADD, C_LCON, C_REG, C_REG, 13, 8, 0, LFROM, 0},
- Optab{AADD, C_LCON, C_NONE, C_REG, 13, 8, 0, LFROM, 0},
- Optab{AMVN, C_LCON, C_NONE, C_REG, 13, 8, 0, LFROM, 0},
- Optab{ACMP, C_LCON, C_REG, C_NONE, 13, 8, 0, LFROM, 0},
- Optab{AMOVB, C_REG, C_NONE, C_REG, 1, 4, 0, 0, 0},
- Optab{AMOVBS, C_REG, C_NONE, C_REG, 14, 8, 0, 0, 0},
- Optab{AMOVBU, C_REG, C_NONE, C_REG, 58, 4, 0, 0, 0},
- Optab{AMOVH, C_REG, C_NONE, C_REG, 1, 4, 0, 0, 0},
- Optab{AMOVHS, C_REG, C_NONE, C_REG, 14, 8, 0, 0, 0},
- Optab{AMOVHU, C_REG, C_NONE, C_REG, 14, 8, 0, 0, 0},
- Optab{AMUL, C_REG, C_REG, C_REG, 15, 4, 0, 0, 0},
- Optab{AMUL, C_REG, C_NONE, C_REG, 15, 4, 0, 0, 0},
- Optab{ADIV, C_REG, C_REG, C_REG, 16, 4, 0, 0, 0},
- Optab{ADIV, C_REG, C_NONE, C_REG, 16, 4, 0, 0, 0},
- Optab{AMULL, C_REG, C_REG, C_REGREG, 17, 4, 0, 0, 0},
- Optab{AMULA, C_REG, C_REG, C_REGREG2, 17, 4, 0, 0, 0},
- Optab{AMOVW, C_REG, C_NONE, C_SAUTO, 20, 4, REGSP, 0, 0},
- Optab{AMOVW, C_REG, C_NONE, C_SOREG, 20, 4, 0, 0, 0},
- Optab{AMOVB, C_REG, C_NONE, C_SAUTO, 20, 4, REGSP, 0, 0},
- Optab{AMOVB, C_REG, C_NONE, C_SOREG, 20, 4, 0, 0, 0},
- Optab{AMOVBS, C_REG, C_NONE, C_SAUTO, 20, 4, REGSP, 0, 0},
- Optab{AMOVBS, C_REG, C_NONE, C_SOREG, 20, 4, 0, 0, 0},
- Optab{AMOVBU, C_REG, C_NONE, C_SAUTO, 20, 4, REGSP, 0, 0},
- Optab{AMOVBU, C_REG, C_NONE, C_SOREG, 20, 4, 0, 0, 0},
- Optab{AMOVW, C_SAUTO, C_NONE, C_REG, 21, 4, REGSP, 0, 0},
- Optab{AMOVW, C_SOREG, C_NONE, C_REG, 21, 4, 0, 0, 0},
- Optab{AMOVBU, C_SAUTO, C_NONE, C_REG, 21, 4, REGSP, 0, 0},
- Optab{AMOVBU, C_SOREG, C_NONE, C_REG, 21, 4, 0, 0, 0},
- Optab{AMOVW, C_REG, C_NONE, C_LAUTO, 30, 8, REGSP, LTO, 0},
- Optab{AMOVW, C_REG, C_NONE, C_LOREG, 30, 8, 0, LTO, 0},
- Optab{AMOVW, C_REG, C_NONE, C_ADDR, 64, 8, 0, LTO | LPCREL, 4},
- Optab{AMOVB, C_REG, C_NONE, C_LAUTO, 30, 8, REGSP, LTO, 0},
- Optab{AMOVB, C_REG, C_NONE, C_LOREG, 30, 8, 0, LTO, 0},
- Optab{AMOVB, C_REG, C_NONE, C_ADDR, 64, 8, 0, LTO | LPCREL, 4},
- Optab{AMOVBS, C_REG, C_NONE, C_LAUTO, 30, 8, REGSP, LTO, 0},
- Optab{AMOVBS, C_REG, C_NONE, C_LOREG, 30, 8, 0, LTO, 0},
- Optab{AMOVBS, C_REG, C_NONE, C_ADDR, 64, 8, 0, LTO | LPCREL, 4},
- Optab{AMOVBU, C_REG, C_NONE, C_LAUTO, 30, 8, REGSP, LTO, 0},
- Optab{AMOVBU, C_REG, C_NONE, C_LOREG, 30, 8, 0, LTO, 0},
- Optab{AMOVBU, C_REG, C_NONE, C_ADDR, 64, 8, 0, LTO | LPCREL, 4},
- Optab{AMOVW, C_TLS_LE, C_NONE, C_REG, 101, 4, 0, LFROM, 0},
- Optab{AMOVW, C_TLS_IE, C_NONE, C_REG, 102, 8, 0, LFROM, 0},
- Optab{AMOVW, C_LAUTO, C_NONE, C_REG, 31, 8, REGSP, LFROM, 0},
- Optab{AMOVW, C_LOREG, C_NONE, C_REG, 31, 8, 0, LFROM, 0},
- Optab{AMOVW, C_ADDR, C_NONE, C_REG, 65, 8, 0, LFROM | LPCREL, 4},
- Optab{AMOVBU, C_LAUTO, C_NONE, C_REG, 31, 8, REGSP, LFROM, 0},
- Optab{AMOVBU, C_LOREG, C_NONE, C_REG, 31, 8, 0, LFROM, 0},
- Optab{AMOVBU, C_ADDR, C_NONE, C_REG, 65, 8, 0, LFROM | LPCREL, 4},
- Optab{AMOVW, C_LACON, C_NONE, C_REG, 34, 8, REGSP, LFROM, 0},
- Optab{AMOVW, C_PSR, C_NONE, C_REG, 35, 4, 0, 0, 0},
- Optab{AMOVW, C_REG, C_NONE, C_PSR, 36, 4, 0, 0, 0},
- Optab{AMOVW, C_RCON, C_NONE, C_PSR, 37, 4, 0, 0, 0},
- Optab{AMOVM, C_REGLIST, C_NONE, C_SOREG, 38, 4, 0, 0, 0},
- Optab{AMOVM, C_SOREG, C_NONE, C_REGLIST, 39, 4, 0, 0, 0},
- Optab{ASWPW, C_SOREG, C_REG, C_REG, 40, 4, 0, 0, 0},
- Optab{ARFE, C_NONE, C_NONE, C_NONE, 41, 4, 0, 0, 0},
- Optab{AMOVF, C_FREG, C_NONE, C_FAUTO, 50, 4, REGSP, 0, 0},
- Optab{AMOVF, C_FREG, C_NONE, C_FOREG, 50, 4, 0, 0, 0},
- Optab{AMOVF, C_FAUTO, C_NONE, C_FREG, 51, 4, REGSP, 0, 0},
- Optab{AMOVF, C_FOREG, C_NONE, C_FREG, 51, 4, 0, 0, 0},
- Optab{AMOVF, C_FREG, C_NONE, C_LAUTO, 52, 12, REGSP, LTO, 0},
- Optab{AMOVF, C_FREG, C_NONE, C_LOREG, 52, 12, 0, LTO, 0},
- Optab{AMOVF, C_LAUTO, C_NONE, C_FREG, 53, 12, REGSP, LFROM, 0},
- Optab{AMOVF, C_LOREG, C_NONE, C_FREG, 53, 12, 0, LFROM, 0},
- Optab{AMOVF, C_FREG, C_NONE, C_ADDR, 68, 8, 0, LTO | LPCREL, 4},
- Optab{AMOVF, C_ADDR, C_NONE, C_FREG, 69, 8, 0, LFROM | LPCREL, 4},
- Optab{AADDF, C_FREG, C_NONE, C_FREG, 54, 4, 0, 0, 0},
- Optab{AADDF, C_FREG, C_REG, C_FREG, 54, 4, 0, 0, 0},
- Optab{AMOVF, C_FREG, C_NONE, C_FREG, 54, 4, 0, 0, 0},
- Optab{AMOVW, C_REG, C_NONE, C_FCR, 56, 4, 0, 0, 0},
- Optab{AMOVW, C_FCR, C_NONE, C_REG, 57, 4, 0, 0, 0},
- Optab{AMOVW, C_SHIFT, C_NONE, C_REG, 59, 4, 0, 0, 0},
- Optab{AMOVBU, C_SHIFT, C_NONE, C_REG, 59, 4, 0, 0, 0},
- Optab{AMOVB, C_SHIFT, C_NONE, C_REG, 60, 4, 0, 0, 0},
- Optab{AMOVBS, C_SHIFT, C_NONE, C_REG, 60, 4, 0, 0, 0},
- Optab{AMOVW, C_REG, C_NONE, C_SHIFT, 61, 4, 0, 0, 0},
- Optab{AMOVB, C_REG, C_NONE, C_SHIFT, 61, 4, 0, 0, 0},
- Optab{AMOVBS, C_REG, C_NONE, C_SHIFT, 61, 4, 0, 0, 0},
- Optab{AMOVBU, C_REG, C_NONE, C_SHIFT, 61, 4, 0, 0, 0},
- Optab{AMOVH, C_REG, C_NONE, C_HAUTO, 70, 4, REGSP, 0, 0},
- Optab{AMOVH, C_REG, C_NONE, C_HOREG, 70, 4, 0, 0, 0},
- Optab{AMOVHS, C_REG, C_NONE, C_HAUTO, 70, 4, REGSP, 0, 0},
- Optab{AMOVHS, C_REG, C_NONE, C_HOREG, 70, 4, 0, 0, 0},
- Optab{AMOVHU, C_REG, C_NONE, C_HAUTO, 70, 4, REGSP, 0, 0},
- Optab{AMOVHU, C_REG, C_NONE, C_HOREG, 70, 4, 0, 0, 0},
- Optab{AMOVB, C_HAUTO, C_NONE, C_REG, 71, 4, REGSP, 0, 0},
- Optab{AMOVB, C_HOREG, C_NONE, C_REG, 71, 4, 0, 0, 0},
- Optab{AMOVBS, C_HAUTO, C_NONE, C_REG, 71, 4, REGSP, 0, 0},
- Optab{AMOVBS, C_HOREG, C_NONE, C_REG, 71, 4, 0, 0, 0},
- Optab{AMOVH, C_HAUTO, C_NONE, C_REG, 71, 4, REGSP, 0, 0},
- Optab{AMOVH, C_HOREG, C_NONE, C_REG, 71, 4, 0, 0, 0},
- Optab{AMOVHS, C_HAUTO, C_NONE, C_REG, 71, 4, REGSP, 0, 0},
- Optab{AMOVHS, C_HOREG, C_NONE, C_REG, 71, 4, 0, 0, 0},
- Optab{AMOVHU, C_HAUTO, C_NONE, C_REG, 71, 4, REGSP, 0, 0},
- Optab{AMOVHU, C_HOREG, C_NONE, C_REG, 71, 4, 0, 0, 0},
- Optab{AMOVH, C_REG, C_NONE, C_LAUTO, 72, 8, REGSP, LTO, 0},
- Optab{AMOVH, C_REG, C_NONE, C_LOREG, 72, 8, 0, LTO, 0},
- Optab{AMOVH, C_REG, C_NONE, C_ADDR, 94, 8, 0, LTO | LPCREL, 4},
- Optab{AMOVHS, C_REG, C_NONE, C_LAUTO, 72, 8, REGSP, LTO, 0},
- Optab{AMOVHS, C_REG, C_NONE, C_LOREG, 72, 8, 0, LTO, 0},
- Optab{AMOVHS, C_REG, C_NONE, C_ADDR, 94, 8, 0, LTO | LPCREL, 4},
- Optab{AMOVHU, C_REG, C_NONE, C_LAUTO, 72, 8, REGSP, LTO, 0},
- Optab{AMOVHU, C_REG, C_NONE, C_LOREG, 72, 8, 0, LTO, 0},
- Optab{AMOVHU, C_REG, C_NONE, C_ADDR, 94, 8, 0, LTO | LPCREL, 4},
- Optab{AMOVB, C_LAUTO, C_NONE, C_REG, 73, 8, REGSP, LFROM, 0},
- Optab{AMOVB, C_LOREG, C_NONE, C_REG, 73, 8, 0, LFROM, 0},
- Optab{AMOVB, C_ADDR, C_NONE, C_REG, 93, 8, 0, LFROM | LPCREL, 4},
- Optab{AMOVBS, C_LAUTO, C_NONE, C_REG, 73, 8, REGSP, LFROM, 0},
- Optab{AMOVBS, C_LOREG, C_NONE, C_REG, 73, 8, 0, LFROM, 0},
- Optab{AMOVBS, C_ADDR, C_NONE, C_REG, 93, 8, 0, LFROM | LPCREL, 4},
- Optab{AMOVH, C_LAUTO, C_NONE, C_REG, 73, 8, REGSP, LFROM, 0},
- Optab{AMOVH, C_LOREG, C_NONE, C_REG, 73, 8, 0, LFROM, 0},
- Optab{AMOVH, C_ADDR, C_NONE, C_REG, 93, 8, 0, LFROM | LPCREL, 4},
- Optab{AMOVHS, C_LAUTO, C_NONE, C_REG, 73, 8, REGSP, LFROM, 0},
- Optab{AMOVHS, C_LOREG, C_NONE, C_REG, 73, 8, 0, LFROM, 0},
- Optab{AMOVHS, C_ADDR, C_NONE, C_REG, 93, 8, 0, LFROM | LPCREL, 4},
- Optab{AMOVHU, C_LAUTO, C_NONE, C_REG, 73, 8, REGSP, LFROM, 0},
- Optab{AMOVHU, C_LOREG, C_NONE, C_REG, 73, 8, 0, LFROM, 0},
- Optab{AMOVHU, C_ADDR, C_NONE, C_REG, 93, 8, 0, LFROM | LPCREL, 4},
- Optab{ALDREX, C_SOREG, C_NONE, C_REG, 77, 4, 0, 0, 0},
- Optab{ASTREX, C_SOREG, C_REG, C_REG, 78, 4, 0, 0, 0},
- Optab{AMOVF, C_ZFCON, C_NONE, C_FREG, 80, 8, 0, 0, 0},
- Optab{AMOVF, C_SFCON, C_NONE, C_FREG, 81, 4, 0, 0, 0},
- Optab{ACMPF, C_FREG, C_REG, C_NONE, 82, 8, 0, 0, 0},
- Optab{ACMPF, C_FREG, C_NONE, C_NONE, 83, 8, 0, 0, 0},
- Optab{AMOVFW, C_FREG, C_NONE, C_FREG, 84, 4, 0, 0, 0},
- Optab{AMOVWF, C_FREG, C_NONE, C_FREG, 85, 4, 0, 0, 0},
- Optab{AMOVFW, C_FREG, C_NONE, C_REG, 86, 8, 0, 0, 0},
- Optab{AMOVWF, C_REG, C_NONE, C_FREG, 87, 8, 0, 0, 0},
- Optab{AMOVW, C_REG, C_NONE, C_FREG, 88, 4, 0, 0, 0},
- Optab{AMOVW, C_FREG, C_NONE, C_REG, 89, 4, 0, 0, 0},
- Optab{ATST, C_REG, C_NONE, C_NONE, 90, 4, 0, 0, 0},
- Optab{ALDREXD, C_SOREG, C_NONE, C_REG, 91, 4, 0, 0, 0},
- Optab{ASTREXD, C_SOREG, C_REG, C_REG, 92, 4, 0, 0, 0},
- Optab{APLD, C_SOREG, C_NONE, C_NONE, 95, 4, 0, 0, 0},
- Optab{obj.AUNDEF, C_NONE, C_NONE, C_NONE, 96, 4, 0, 0, 0},
- Optab{ACLZ, C_REG, C_NONE, C_REG, 97, 4, 0, 0, 0},
- Optab{AMULWT, C_REG, C_REG, C_REG, 98, 4, 0, 0, 0},
- Optab{AMULAWT, C_REG, C_REG, C_REGREG2, 99, 4, 0, 0, 0},
- Optab{obj.AUSEFIELD, C_ADDR, C_NONE, C_NONE, 0, 0, 0, 0, 0},
- Optab{obj.APCDATA, C_LCON, C_NONE, C_LCON, 0, 0, 0, 0, 0},
- Optab{obj.AFUNCDATA, C_LCON, C_NONE, C_ADDR, 0, 0, 0, 0, 0},
- Optab{obj.ANOP, C_NONE, C_NONE, C_NONE, 0, 0, 0, 0, 0},
- Optab{obj.ADUFFZERO, C_NONE, C_NONE, C_SBRA, 5, 4, 0, 0, 0}, // same as ABL
- Optab{obj.ADUFFCOPY, C_NONE, C_NONE, C_SBRA, 5, 4, 0, 0, 0}, // same as ABL
-
- Optab{ADATABUNDLE, C_NONE, C_NONE, C_NONE, 100, 4, 0, 0, 0},
- Optab{ADATABUNDLEEND, C_NONE, C_NONE, C_NONE, 100, 0, 0, 0, 0},
- Optab{obj.AXXX, C_NONE, C_NONE, C_NONE, 0, 4, 0, 0, 0},
+ {obj.ATEXT, C_ADDR, C_NONE, C_TEXTSIZE, 0, 0, 0, 0, 0},
+ {AADD, C_REG, C_REG, C_REG, 1, 4, 0, 0, 0},
+ {AADD, C_REG, C_NONE, C_REG, 1, 4, 0, 0, 0},
+ {AMOVW, C_REG, C_NONE, C_REG, 1, 4, 0, 0, 0},
+ {AMVN, C_REG, C_NONE, C_REG, 1, 4, 0, 0, 0},
+ {ACMP, C_REG, C_REG, C_NONE, 1, 4, 0, 0, 0},
+ {AADD, C_RCON, C_REG, C_REG, 2, 4, 0, 0, 0},
+ {AADD, C_RCON, C_NONE, C_REG, 2, 4, 0, 0, 0},
+ {AMOVW, C_RCON, C_NONE, C_REG, 2, 4, 0, 0, 0},
+ {AMVN, C_RCON, C_NONE, C_REG, 2, 4, 0, 0, 0},
+ {ACMP, C_RCON, C_REG, C_NONE, 2, 4, 0, 0, 0},
+ {AADD, C_SHIFT, C_REG, C_REG, 3, 4, 0, 0, 0},
+ {AADD, C_SHIFT, C_NONE, C_REG, 3, 4, 0, 0, 0},
+ {AMVN, C_SHIFT, C_NONE, C_REG, 3, 4, 0, 0, 0},
+ {ACMP, C_SHIFT, C_REG, C_NONE, 3, 4, 0, 0, 0},
+ {AMOVW, C_RACON, C_NONE, C_REG, 4, 4, REGSP, 0, 0},
+ {AB, C_NONE, C_NONE, C_SBRA, 5, 4, 0, LPOOL, 0},
+ {ABL, C_NONE, C_NONE, C_SBRA, 5, 4, 0, 0, 0},
+ {ABX, C_NONE, C_NONE, C_SBRA, 74, 20, 0, 0, 0},
+ {ABEQ, C_NONE, C_NONE, C_SBRA, 5, 4, 0, 0, 0},
+ {ABEQ, C_RCON, C_NONE, C_SBRA, 5, 4, 0, 0, 0}, // prediction hinted form, hint ignored
+
+ {AB, C_NONE, C_NONE, C_ROREG, 6, 4, 0, LPOOL, 0},
+ {ABL, C_NONE, C_NONE, C_ROREG, 7, 4, 0, 0, 0},
+ {ABL, C_REG, C_NONE, C_ROREG, 7, 4, 0, 0, 0},
+ {ABX, C_NONE, C_NONE, C_ROREG, 75, 12, 0, 0, 0},
+ {ABXRET, C_NONE, C_NONE, C_ROREG, 76, 4, 0, 0, 0},
+ {ASLL, C_RCON, C_REG, C_REG, 8, 4, 0, 0, 0},
+ {ASLL, C_RCON, C_NONE, C_REG, 8, 4, 0, 0, 0},
+ {ASLL, C_REG, C_NONE, C_REG, 9, 4, 0, 0, 0},
+ {ASLL, C_REG, C_REG, C_REG, 9, 4, 0, 0, 0},
+ {ASWI, C_NONE, C_NONE, C_NONE, 10, 4, 0, 0, 0},
+ {ASWI, C_NONE, C_NONE, C_LOREG, 10, 4, 0, 0, 0},
+ {ASWI, C_NONE, C_NONE, C_LCON, 10, 4, 0, 0, 0},
+ {AWORD, C_NONE, C_NONE, C_LCON, 11, 4, 0, 0, 0},
+ {AWORD, C_NONE, C_NONE, C_LCONADDR, 11, 4, 0, 0, 0},
+ {AWORD, C_NONE, C_NONE, C_ADDR, 11, 4, 0, 0, 0},
+ {AWORD, C_NONE, C_NONE, C_TLS_LE, 103, 4, 0, 0, 0},
+ {AWORD, C_NONE, C_NONE, C_TLS_IE, 104, 4, 0, 0, 0},
+ {AMOVW, C_NCON, C_NONE, C_REG, 12, 4, 0, 0, 0},
+ {AMOVW, C_LCON, C_NONE, C_REG, 12, 4, 0, LFROM, 0},
+ {AMOVW, C_LCONADDR, C_NONE, C_REG, 12, 4, 0, LFROM | LPCREL, 4},
+ {AADD, C_NCON, C_REG, C_REG, 13, 8, 0, 0, 0},
+ {AADD, C_NCON, C_NONE, C_REG, 13, 8, 0, 0, 0},
+ {AMVN, C_NCON, C_NONE, C_REG, 13, 8, 0, 0, 0},
+ {ACMP, C_NCON, C_REG, C_NONE, 13, 8, 0, 0, 0},
+ {AADD, C_LCON, C_REG, C_REG, 13, 8, 0, LFROM, 0},
+ {AADD, C_LCON, C_NONE, C_REG, 13, 8, 0, LFROM, 0},
+ {AMVN, C_LCON, C_NONE, C_REG, 13, 8, 0, LFROM, 0},
+ {ACMP, C_LCON, C_REG, C_NONE, 13, 8, 0, LFROM, 0},
+ {AMOVB, C_REG, C_NONE, C_REG, 1, 4, 0, 0, 0},
+ {AMOVBS, C_REG, C_NONE, C_REG, 14, 8, 0, 0, 0},
+ {AMOVBU, C_REG, C_NONE, C_REG, 58, 4, 0, 0, 0},
+ {AMOVH, C_REG, C_NONE, C_REG, 1, 4, 0, 0, 0},
+ {AMOVHS, C_REG, C_NONE, C_REG, 14, 8, 0, 0, 0},
+ {AMOVHU, C_REG, C_NONE, C_REG, 14, 8, 0, 0, 0},
+ {AMUL, C_REG, C_REG, C_REG, 15, 4, 0, 0, 0},
+ {AMUL, C_REG, C_NONE, C_REG, 15, 4, 0, 0, 0},
+ {ADIV, C_REG, C_REG, C_REG, 16, 4, 0, 0, 0},
+ {ADIV, C_REG, C_NONE, C_REG, 16, 4, 0, 0, 0},
+ {AMULL, C_REG, C_REG, C_REGREG, 17, 4, 0, 0, 0},
+ {AMULA, C_REG, C_REG, C_REGREG2, 17, 4, 0, 0, 0},
+ {AMOVW, C_REG, C_NONE, C_SAUTO, 20, 4, REGSP, 0, 0},
+ {AMOVW, C_REG, C_NONE, C_SOREG, 20, 4, 0, 0, 0},
+ {AMOVB, C_REG, C_NONE, C_SAUTO, 20, 4, REGSP, 0, 0},
+ {AMOVB, C_REG, C_NONE, C_SOREG, 20, 4, 0, 0, 0},
+ {AMOVBS, C_REG, C_NONE, C_SAUTO, 20, 4, REGSP, 0, 0},
+ {AMOVBS, C_REG, C_NONE, C_SOREG, 20, 4, 0, 0, 0},
+ {AMOVBU, C_REG, C_NONE, C_SAUTO, 20, 4, REGSP, 0, 0},
+ {AMOVBU, C_REG, C_NONE, C_SOREG, 20, 4, 0, 0, 0},
+ {AMOVW, C_SAUTO, C_NONE, C_REG, 21, 4, REGSP, 0, 0},
+ {AMOVW, C_SOREG, C_NONE, C_REG, 21, 4, 0, 0, 0},
+ {AMOVBU, C_SAUTO, C_NONE, C_REG, 21, 4, REGSP, 0, 0},
+ {AMOVBU, C_SOREG, C_NONE, C_REG, 21, 4, 0, 0, 0},
+ {AMOVW, C_REG, C_NONE, C_LAUTO, 30, 8, REGSP, LTO, 0},
+ {AMOVW, C_REG, C_NONE, C_LOREG, 30, 8, 0, LTO, 0},
+ {AMOVW, C_REG, C_NONE, C_ADDR, 64, 8, 0, LTO | LPCREL, 4},
+ {AMOVB, C_REG, C_NONE, C_LAUTO, 30, 8, REGSP, LTO, 0},
+ {AMOVB, C_REG, C_NONE, C_LOREG, 30, 8, 0, LTO, 0},
+ {AMOVB, C_REG, C_NONE, C_ADDR, 64, 8, 0, LTO | LPCREL, 4},
+ {AMOVBS, C_REG, C_NONE, C_LAUTO, 30, 8, REGSP, LTO, 0},
+ {AMOVBS, C_REG, C_NONE, C_LOREG, 30, 8, 0, LTO, 0},
+ {AMOVBS, C_REG, C_NONE, C_ADDR, 64, 8, 0, LTO | LPCREL, 4},
+ {AMOVBU, C_REG, C_NONE, C_LAUTO, 30, 8, REGSP, LTO, 0},
+ {AMOVBU, C_REG, C_NONE, C_LOREG, 30, 8, 0, LTO, 0},
+ {AMOVBU, C_REG, C_NONE, C_ADDR, 64, 8, 0, LTO | LPCREL, 4},
+ {AMOVW, C_TLS_LE, C_NONE, C_REG, 101, 4, 0, LFROM, 0},
+ {AMOVW, C_TLS_IE, C_NONE, C_REG, 102, 8, 0, LFROM, 0},
+ {AMOVW, C_LAUTO, C_NONE, C_REG, 31, 8, REGSP, LFROM, 0},
+ {AMOVW, C_LOREG, C_NONE, C_REG, 31, 8, 0, LFROM, 0},
+ {AMOVW, C_ADDR, C_NONE, C_REG, 65, 8, 0, LFROM | LPCREL, 4},
+ {AMOVBU, C_LAUTO, C_NONE, C_REG, 31, 8, REGSP, LFROM, 0},
+ {AMOVBU, C_LOREG, C_NONE, C_REG, 31, 8, 0, LFROM, 0},
+ {AMOVBU, C_ADDR, C_NONE, C_REG, 65, 8, 0, LFROM | LPCREL, 4},
+ {AMOVW, C_LACON, C_NONE, C_REG, 34, 8, REGSP, LFROM, 0},
+ {AMOVW, C_PSR, C_NONE, C_REG, 35, 4, 0, 0, 0},
+ {AMOVW, C_REG, C_NONE, C_PSR, 36, 4, 0, 0, 0},
+ {AMOVW, C_RCON, C_NONE, C_PSR, 37, 4, 0, 0, 0},
+ {AMOVM, C_REGLIST, C_NONE, C_SOREG, 38, 4, 0, 0, 0},
+ {AMOVM, C_SOREG, C_NONE, C_REGLIST, 39, 4, 0, 0, 0},
+ {ASWPW, C_SOREG, C_REG, C_REG, 40, 4, 0, 0, 0},
+ {ARFE, C_NONE, C_NONE, C_NONE, 41, 4, 0, 0, 0},
+ {AMOVF, C_FREG, C_NONE, C_FAUTO, 50, 4, REGSP, 0, 0},
+ {AMOVF, C_FREG, C_NONE, C_FOREG, 50, 4, 0, 0, 0},
+ {AMOVF, C_FAUTO, C_NONE, C_FREG, 51, 4, REGSP, 0, 0},
+ {AMOVF, C_FOREG, C_NONE, C_FREG, 51, 4, 0, 0, 0},
+ {AMOVF, C_FREG, C_NONE, C_LAUTO, 52, 12, REGSP, LTO, 0},
+ {AMOVF, C_FREG, C_NONE, C_LOREG, 52, 12, 0, LTO, 0},
+ {AMOVF, C_LAUTO, C_NONE, C_FREG, 53, 12, REGSP, LFROM, 0},
+ {AMOVF, C_LOREG, C_NONE, C_FREG, 53, 12, 0, LFROM, 0},
+ {AMOVF, C_FREG, C_NONE, C_ADDR, 68, 8, 0, LTO | LPCREL, 4},
+ {AMOVF, C_ADDR, C_NONE, C_FREG, 69, 8, 0, LFROM | LPCREL, 4},
+ {AADDF, C_FREG, C_NONE, C_FREG, 54, 4, 0, 0, 0},
+ {AADDF, C_FREG, C_REG, C_FREG, 54, 4, 0, 0, 0},
+ {AMOVF, C_FREG, C_NONE, C_FREG, 54, 4, 0, 0, 0},
+ {AMOVW, C_REG, C_NONE, C_FCR, 56, 4, 0, 0, 0},
+ {AMOVW, C_FCR, C_NONE, C_REG, 57, 4, 0, 0, 0},
+ {AMOVW, C_SHIFT, C_NONE, C_REG, 59, 4, 0, 0, 0},
+ {AMOVBU, C_SHIFT, C_NONE, C_REG, 59, 4, 0, 0, 0},
+ {AMOVB, C_SHIFT, C_NONE, C_REG, 60, 4, 0, 0, 0},
+ {AMOVBS, C_SHIFT, C_NONE, C_REG, 60, 4, 0, 0, 0},
+ {AMOVW, C_REG, C_NONE, C_SHIFT, 61, 4, 0, 0, 0},
+ {AMOVB, C_REG, C_NONE, C_SHIFT, 61, 4, 0, 0, 0},
+ {AMOVBS, C_REG, C_NONE, C_SHIFT, 61, 4, 0, 0, 0},
+ {AMOVBU, C_REG, C_NONE, C_SHIFT, 61, 4, 0, 0, 0},
+ {AMOVH, C_REG, C_NONE, C_HAUTO, 70, 4, REGSP, 0, 0},
+ {AMOVH, C_REG, C_NONE, C_HOREG, 70, 4, 0, 0, 0},
+ {AMOVHS, C_REG, C_NONE, C_HAUTO, 70, 4, REGSP, 0, 0},
+ {AMOVHS, C_REG, C_NONE, C_HOREG, 70, 4, 0, 0, 0},
+ {AMOVHU, C_REG, C_NONE, C_HAUTO, 70, 4, REGSP, 0, 0},
+ {AMOVHU, C_REG, C_NONE, C_HOREG, 70, 4, 0, 0, 0},
+ {AMOVB, C_HAUTO, C_NONE, C_REG, 71, 4, REGSP, 0, 0},
+ {AMOVB, C_HOREG, C_NONE, C_REG, 71, 4, 0, 0, 0},
+ {AMOVBS, C_HAUTO, C_NONE, C_REG, 71, 4, REGSP, 0, 0},
+ {AMOVBS, C_HOREG, C_NONE, C_REG, 71, 4, 0, 0, 0},
+ {AMOVH, C_HAUTO, C_NONE, C_REG, 71, 4, REGSP, 0, 0},
+ {AMOVH, C_HOREG, C_NONE, C_REG, 71, 4, 0, 0, 0},
+ {AMOVHS, C_HAUTO, C_NONE, C_REG, 71, 4, REGSP, 0, 0},
+ {AMOVHS, C_HOREG, C_NONE, C_REG, 71, 4, 0, 0, 0},
+ {AMOVHU, C_HAUTO, C_NONE, C_REG, 71, 4, REGSP, 0, 0},
+ {AMOVHU, C_HOREG, C_NONE, C_REG, 71, 4, 0, 0, 0},
+ {AMOVH, C_REG, C_NONE, C_LAUTO, 72, 8, REGSP, LTO, 0},
+ {AMOVH, C_REG, C_NONE, C_LOREG, 72, 8, 0, LTO, 0},
+ {AMOVH, C_REG, C_NONE, C_ADDR, 94, 8, 0, LTO | LPCREL, 4},
+ {AMOVHS, C_REG, C_NONE, C_LAUTO, 72, 8, REGSP, LTO, 0},
+ {AMOVHS, C_REG, C_NONE, C_LOREG, 72, 8, 0, LTO, 0},
+ {AMOVHS, C_REG, C_NONE, C_ADDR, 94, 8, 0, LTO | LPCREL, 4},
+ {AMOVHU, C_REG, C_NONE, C_LAUTO, 72, 8, REGSP, LTO, 0},
+ {AMOVHU, C_REG, C_NONE, C_LOREG, 72, 8, 0, LTO, 0},
+ {AMOVHU, C_REG, C_NONE, C_ADDR, 94, 8, 0, LTO | LPCREL, 4},
+ {AMOVB, C_LAUTO, C_NONE, C_REG, 73, 8, REGSP, LFROM, 0},
+ {AMOVB, C_LOREG, C_NONE, C_REG, 73, 8, 0, LFROM, 0},
+ {AMOVB, C_ADDR, C_NONE, C_REG, 93, 8, 0, LFROM | LPCREL, 4},
+ {AMOVBS, C_LAUTO, C_NONE, C_REG, 73, 8, REGSP, LFROM, 0},
+ {AMOVBS, C_LOREG, C_NONE, C_REG, 73, 8, 0, LFROM, 0},
+ {AMOVBS, C_ADDR, C_NONE, C_REG, 93, 8, 0, LFROM | LPCREL, 4},
+ {AMOVH, C_LAUTO, C_NONE, C_REG, 73, 8, REGSP, LFROM, 0},
+ {AMOVH, C_LOREG, C_NONE, C_REG, 73, 8, 0, LFROM, 0},
+ {AMOVH, C_ADDR, C_NONE, C_REG, 93, 8, 0, LFROM | LPCREL, 4},
+ {AMOVHS, C_LAUTO, C_NONE, C_REG, 73, 8, REGSP, LFROM, 0},
+ {AMOVHS, C_LOREG, C_NONE, C_REG, 73, 8, 0, LFROM, 0},
+ {AMOVHS, C_ADDR, C_NONE, C_REG, 93, 8, 0, LFROM | LPCREL, 4},
+ {AMOVHU, C_LAUTO, C_NONE, C_REG, 73, 8, REGSP, LFROM, 0},
+ {AMOVHU, C_LOREG, C_NONE, C_REG, 73, 8, 0, LFROM, 0},
+ {AMOVHU, C_ADDR, C_NONE, C_REG, 93, 8, 0, LFROM | LPCREL, 4},
+ {ALDREX, C_SOREG, C_NONE, C_REG, 77, 4, 0, 0, 0},
+ {ASTREX, C_SOREG, C_REG, C_REG, 78, 4, 0, 0, 0},
+ {AMOVF, C_ZFCON, C_NONE, C_FREG, 80, 8, 0, 0, 0},
+ {AMOVF, C_SFCON, C_NONE, C_FREG, 81, 4, 0, 0, 0},
+ {ACMPF, C_FREG, C_REG, C_NONE, 82, 8, 0, 0, 0},
+ {ACMPF, C_FREG, C_NONE, C_NONE, 83, 8, 0, 0, 0},
+ {AMOVFW, C_FREG, C_NONE, C_FREG, 84, 4, 0, 0, 0},
+ {AMOVWF, C_FREG, C_NONE, C_FREG, 85, 4, 0, 0, 0},
+ {AMOVFW, C_FREG, C_NONE, C_REG, 86, 8, 0, 0, 0},
+ {AMOVWF, C_REG, C_NONE, C_FREG, 87, 8, 0, 0, 0},
+ {AMOVW, C_REG, C_NONE, C_FREG, 88, 4, 0, 0, 0},
+ {AMOVW, C_FREG, C_NONE, C_REG, 89, 4, 0, 0, 0},
+ {ATST, C_REG, C_NONE, C_NONE, 90, 4, 0, 0, 0},
+ {ALDREXD, C_SOREG, C_NONE, C_REG, 91, 4, 0, 0, 0},
+ {ASTREXD, C_SOREG, C_REG, C_REG, 92, 4, 0, 0, 0},
+ {APLD, C_SOREG, C_NONE, C_NONE, 95, 4, 0, 0, 0},
+ {obj.AUNDEF, C_NONE, C_NONE, C_NONE, 96, 4, 0, 0, 0},
+ {ACLZ, C_REG, C_NONE, C_REG, 97, 4, 0, 0, 0},
+ {AMULWT, C_REG, C_REG, C_REG, 98, 4, 0, 0, 0},
+ {AMULAWT, C_REG, C_REG, C_REGREG2, 99, 4, 0, 0, 0},
+ {obj.AUSEFIELD, C_ADDR, C_NONE, C_NONE, 0, 0, 0, 0, 0},
+ {obj.APCDATA, C_LCON, C_NONE, C_LCON, 0, 0, 0, 0, 0},
+ {obj.AFUNCDATA, C_LCON, C_NONE, C_ADDR, 0, 0, 0, 0, 0},
+ {obj.ANOP, C_NONE, C_NONE, C_NONE, 0, 0, 0, 0, 0},
+ {obj.ADUFFZERO, C_NONE, C_NONE, C_SBRA, 5, 4, 0, 0, 0}, // same as ABL
+ {obj.ADUFFCOPY, C_NONE, C_NONE, C_SBRA, 5, 4, 0, 0, 0}, // same as ABL
+
+ {ADATABUNDLE, C_NONE, C_NONE, C_NONE, 100, 4, 0, 0, 0},
+ {ADATABUNDLEEND, C_NONE, C_NONE, C_NONE, 100, 0, 0, 0, 0},
+ {obj.AXXX, C_NONE, C_NONE, C_NONE, 0, 4, 0, 0, 0},
}
var pool struct {
}
var optab = []Optab{
- Optab{obj.ATEXT, C_LEXT, C_NONE, C_NONE, C_TEXTSIZE, 0, 0, 0},
- Optab{obj.ATEXT, C_LEXT, C_NONE, C_LCON, C_TEXTSIZE, 0, 0, 0},
- Optab{obj.ATEXT, C_ADDR, C_NONE, C_NONE, C_TEXTSIZE, 0, 0, 0},
- Optab{obj.ATEXT, C_ADDR, C_NONE, C_LCON, C_TEXTSIZE, 0, 0, 0},
+ {obj.ATEXT, C_LEXT, C_NONE, C_NONE, C_TEXTSIZE, 0, 0, 0},
+ {obj.ATEXT, C_LEXT, C_NONE, C_LCON, C_TEXTSIZE, 0, 0, 0},
+ {obj.ATEXT, C_ADDR, C_NONE, C_NONE, C_TEXTSIZE, 0, 0, 0},
+ {obj.ATEXT, C_ADDR, C_NONE, C_LCON, C_TEXTSIZE, 0, 0, 0},
/* move register */
- Optab{AMOVD, C_REG, C_NONE, C_NONE, C_REG, 1, 4, 0},
- Optab{AMOVB, C_REG, C_NONE, C_NONE, C_REG, 12, 4, 0},
- Optab{AMOVBZ, C_REG, C_NONE, C_NONE, C_REG, 13, 4, 0},
- Optab{AMOVW, C_REG, C_NONE, C_NONE, C_REG, 12, 4, 0},
- Optab{AMOVWZ, C_REG, C_NONE, C_NONE, C_REG, 13, 4, 0},
- Optab{AADD, C_REG, C_REG, C_NONE, C_REG, 2, 4, 0},
- Optab{AADD, C_REG, C_NONE, C_NONE, C_REG, 2, 4, 0},
- Optab{AADD, C_ADDCON, C_REG, C_NONE, C_REG, 4, 4, 0},
- Optab{AADD, C_ADDCON, C_NONE, C_NONE, C_REG, 4, 4, 0},
- Optab{AADD, C_UCON, C_REG, C_NONE, C_REG, 20, 4, 0},
- Optab{AADD, C_UCON, C_NONE, C_NONE, C_REG, 20, 4, 0},
- Optab{AADD, C_LCON, C_REG, C_NONE, C_REG, 22, 12, 0},
- Optab{AADD, C_LCON, C_NONE, C_NONE, C_REG, 22, 12, 0},
- Optab{AADDC, C_REG, C_REG, C_NONE, C_REG, 2, 4, 0},
- Optab{AADDC, C_REG, C_NONE, C_NONE, C_REG, 2, 4, 0},
- Optab{AADDC, C_ADDCON, C_REG, C_NONE, C_REG, 4, 4, 0},
- Optab{AADDC, C_ADDCON, C_NONE, C_NONE, C_REG, 4, 4, 0},
- Optab{AADDC, C_LCON, C_REG, C_NONE, C_REG, 22, 12, 0},
- Optab{AADDC, C_LCON, C_NONE, C_NONE, C_REG, 22, 12, 0},
- Optab{AAND, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0}, /* logical, no literal */
- Optab{AAND, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0},
- Optab{AANDCC, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0},
- Optab{AANDCC, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0},
- Optab{AANDCC, C_ANDCON, C_NONE, C_NONE, C_REG, 58, 4, 0},
- Optab{AANDCC, C_ANDCON, C_REG, C_NONE, C_REG, 58, 4, 0},
- Optab{AANDCC, C_UCON, C_NONE, C_NONE, C_REG, 59, 4, 0},
- Optab{AANDCC, C_UCON, C_REG, C_NONE, C_REG, 59, 4, 0},
- Optab{AANDCC, C_LCON, C_NONE, C_NONE, C_REG, 23, 12, 0},
- Optab{AANDCC, C_LCON, C_REG, C_NONE, C_REG, 23, 12, 0},
- Optab{AMULLW, C_REG, C_REG, C_NONE, C_REG, 2, 4, 0},
- Optab{AMULLW, C_REG, C_NONE, C_NONE, C_REG, 2, 4, 0},
- Optab{AMULLW, C_ADDCON, C_REG, C_NONE, C_REG, 4, 4, 0},
- Optab{AMULLW, C_ADDCON, C_NONE, C_NONE, C_REG, 4, 4, 0},
- Optab{AMULLW, C_ANDCON, C_REG, C_NONE, C_REG, 4, 4, 0},
- Optab{AMULLW, C_ANDCON, C_NONE, C_NONE, C_REG, 4, 4, 0},
- Optab{AMULLW, C_LCON, C_REG, C_NONE, C_REG, 22, 12, 0},
- Optab{AMULLW, C_LCON, C_NONE, C_NONE, C_REG, 22, 12, 0},
- Optab{ASUBC, C_REG, C_REG, C_NONE, C_REG, 10, 4, 0},
- Optab{ASUBC, C_REG, C_NONE, C_NONE, C_REG, 10, 4, 0},
- Optab{ASUBC, C_REG, C_NONE, C_ADDCON, C_REG, 27, 4, 0},
- Optab{ASUBC, C_REG, C_NONE, C_LCON, C_REG, 28, 12, 0},
- Optab{AOR, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0}, /* logical, literal not cc (or/xor) */
- Optab{AOR, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0},
- Optab{AOR, C_ANDCON, C_NONE, C_NONE, C_REG, 58, 4, 0},
- Optab{AOR, C_ANDCON, C_REG, C_NONE, C_REG, 58, 4, 0},
- Optab{AOR, C_UCON, C_NONE, C_NONE, C_REG, 59, 4, 0},
- Optab{AOR, C_UCON, C_REG, C_NONE, C_REG, 59, 4, 0},
- Optab{AOR, C_LCON, C_NONE, C_NONE, C_REG, 23, 12, 0},
- Optab{AOR, C_LCON, C_REG, C_NONE, C_REG, 23, 12, 0},
- Optab{ADIVW, C_REG, C_REG, C_NONE, C_REG, 2, 4, 0}, /* op r1[,r2],r3 */
- Optab{ADIVW, C_REG, C_NONE, C_NONE, C_REG, 2, 4, 0},
- Optab{ASUB, C_REG, C_REG, C_NONE, C_REG, 10, 4, 0}, /* op r2[,r1],r3 */
- Optab{ASUB, C_REG, C_NONE, C_NONE, C_REG, 10, 4, 0},
- Optab{ASLW, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0},
- Optab{ASLW, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0},
- Optab{ASLD, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0},
- Optab{ASLD, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0},
- Optab{ASLD, C_SCON, C_REG, C_NONE, C_REG, 25, 4, 0},
- Optab{ASLD, C_SCON, C_NONE, C_NONE, C_REG, 25, 4, 0},
- Optab{ASLW, C_SCON, C_REG, C_NONE, C_REG, 57, 4, 0},
- Optab{ASLW, C_SCON, C_NONE, C_NONE, C_REG, 57, 4, 0},
- Optab{ASRAW, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0},
- Optab{ASRAW, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0},
- Optab{ASRAW, C_SCON, C_REG, C_NONE, C_REG, 56, 4, 0},
- Optab{ASRAW, C_SCON, C_NONE, C_NONE, C_REG, 56, 4, 0},
- Optab{ASRAD, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0},
- Optab{ASRAD, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0},
- Optab{ASRAD, C_SCON, C_REG, C_NONE, C_REG, 56, 4, 0},
- Optab{ASRAD, C_SCON, C_NONE, C_NONE, C_REG, 56, 4, 0},
- Optab{ARLWMI, C_SCON, C_REG, C_LCON, C_REG, 62, 4, 0},
- Optab{ARLWMI, C_REG, C_REG, C_LCON, C_REG, 63, 4, 0},
- Optab{ARLDMI, C_SCON, C_REG, C_LCON, C_REG, 30, 4, 0},
- Optab{ARLDC, C_SCON, C_REG, C_LCON, C_REG, 29, 4, 0},
- Optab{ARLDCL, C_SCON, C_REG, C_LCON, C_REG, 29, 4, 0},
- Optab{ARLDCL, C_REG, C_REG, C_LCON, C_REG, 14, 4, 0},
- Optab{ARLDCL, C_REG, C_NONE, C_LCON, C_REG, 14, 4, 0},
- Optab{AFADD, C_FREG, C_NONE, C_NONE, C_FREG, 2, 4, 0},
- Optab{AFADD, C_FREG, C_REG, C_NONE, C_FREG, 2, 4, 0},
- Optab{AFABS, C_FREG, C_NONE, C_NONE, C_FREG, 33, 4, 0},
- Optab{AFABS, C_NONE, C_NONE, C_NONE, C_FREG, 33, 4, 0},
- Optab{AFMOVD, C_FREG, C_NONE, C_NONE, C_FREG, 33, 4, 0},
- Optab{AFMADD, C_FREG, C_REG, C_FREG, C_FREG, 34, 4, 0},
- Optab{AFMUL, C_FREG, C_NONE, C_NONE, C_FREG, 32, 4, 0},
- Optab{AFMUL, C_FREG, C_REG, C_NONE, C_FREG, 32, 4, 0},
+ {AMOVD, C_REG, C_NONE, C_NONE, C_REG, 1, 4, 0},
+ {AMOVB, C_REG, C_NONE, C_NONE, C_REG, 12, 4, 0},
+ {AMOVBZ, C_REG, C_NONE, C_NONE, C_REG, 13, 4, 0},
+ {AMOVW, C_REG, C_NONE, C_NONE, C_REG, 12, 4, 0},
+ {AMOVWZ, C_REG, C_NONE, C_NONE, C_REG, 13, 4, 0},
+ {AADD, C_REG, C_REG, C_NONE, C_REG, 2, 4, 0},
+ {AADD, C_REG, C_NONE, C_NONE, C_REG, 2, 4, 0},
+ {AADD, C_ADDCON, C_REG, C_NONE, C_REG, 4, 4, 0},
+ {AADD, C_ADDCON, C_NONE, C_NONE, C_REG, 4, 4, 0},
+ {AADD, C_UCON, C_REG, C_NONE, C_REG, 20, 4, 0},
+ {AADD, C_UCON, C_NONE, C_NONE, C_REG, 20, 4, 0},
+ {AADD, C_LCON, C_REG, C_NONE, C_REG, 22, 12, 0},
+ {AADD, C_LCON, C_NONE, C_NONE, C_REG, 22, 12, 0},
+ {AADDC, C_REG, C_REG, C_NONE, C_REG, 2, 4, 0},
+ {AADDC, C_REG, C_NONE, C_NONE, C_REG, 2, 4, 0},
+ {AADDC, C_ADDCON, C_REG, C_NONE, C_REG, 4, 4, 0},
+ {AADDC, C_ADDCON, C_NONE, C_NONE, C_REG, 4, 4, 0},
+ {AADDC, C_LCON, C_REG, C_NONE, C_REG, 22, 12, 0},
+ {AADDC, C_LCON, C_NONE, C_NONE, C_REG, 22, 12, 0},
+ {AAND, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0}, /* logical, no literal */
+ {AAND, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0},
+ {AANDCC, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0},
+ {AANDCC, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0},
+ {AANDCC, C_ANDCON, C_NONE, C_NONE, C_REG, 58, 4, 0},
+ {AANDCC, C_ANDCON, C_REG, C_NONE, C_REG, 58, 4, 0},
+ {AANDCC, C_UCON, C_NONE, C_NONE, C_REG, 59, 4, 0},
+ {AANDCC, C_UCON, C_REG, C_NONE, C_REG, 59, 4, 0},
+ {AANDCC, C_LCON, C_NONE, C_NONE, C_REG, 23, 12, 0},
+ {AANDCC, C_LCON, C_REG, C_NONE, C_REG, 23, 12, 0},
+ {AMULLW, C_REG, C_REG, C_NONE, C_REG, 2, 4, 0},
+ {AMULLW, C_REG, C_NONE, C_NONE, C_REG, 2, 4, 0},
+ {AMULLW, C_ADDCON, C_REG, C_NONE, C_REG, 4, 4, 0},
+ {AMULLW, C_ADDCON, C_NONE, C_NONE, C_REG, 4, 4, 0},
+ {AMULLW, C_ANDCON, C_REG, C_NONE, C_REG, 4, 4, 0},
+ {AMULLW, C_ANDCON, C_NONE, C_NONE, C_REG, 4, 4, 0},
+ {AMULLW, C_LCON, C_REG, C_NONE, C_REG, 22, 12, 0},
+ {AMULLW, C_LCON, C_NONE, C_NONE, C_REG, 22, 12, 0},
+ {ASUBC, C_REG, C_REG, C_NONE, C_REG, 10, 4, 0},
+ {ASUBC, C_REG, C_NONE, C_NONE, C_REG, 10, 4, 0},
+ {ASUBC, C_REG, C_NONE, C_ADDCON, C_REG, 27, 4, 0},
+ {ASUBC, C_REG, C_NONE, C_LCON, C_REG, 28, 12, 0},
+ {AOR, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0}, /* logical, literal not cc (or/xor) */
+ {AOR, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0},
+ {AOR, C_ANDCON, C_NONE, C_NONE, C_REG, 58, 4, 0},
+ {AOR, C_ANDCON, C_REG, C_NONE, C_REG, 58, 4, 0},
+ {AOR, C_UCON, C_NONE, C_NONE, C_REG, 59, 4, 0},
+ {AOR, C_UCON, C_REG, C_NONE, C_REG, 59, 4, 0},
+ {AOR, C_LCON, C_NONE, C_NONE, C_REG, 23, 12, 0},
+ {AOR, C_LCON, C_REG, C_NONE, C_REG, 23, 12, 0},
+ {ADIVW, C_REG, C_REG, C_NONE, C_REG, 2, 4, 0}, /* op r1[,r2],r3 */
+ {ADIVW, C_REG, C_NONE, C_NONE, C_REG, 2, 4, 0},
+ {ASUB, C_REG, C_REG, C_NONE, C_REG, 10, 4, 0}, /* op r2[,r1],r3 */
+ {ASUB, C_REG, C_NONE, C_NONE, C_REG, 10, 4, 0},
+ {ASLW, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0},
+ {ASLW, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0},
+ {ASLD, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0},
+ {ASLD, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0},
+ {ASLD, C_SCON, C_REG, C_NONE, C_REG, 25, 4, 0},
+ {ASLD, C_SCON, C_NONE, C_NONE, C_REG, 25, 4, 0},
+ {ASLW, C_SCON, C_REG, C_NONE, C_REG, 57, 4, 0},
+ {ASLW, C_SCON, C_NONE, C_NONE, C_REG, 57, 4, 0},
+ {ASRAW, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0},
+ {ASRAW, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0},
+ {ASRAW, C_SCON, C_REG, C_NONE, C_REG, 56, 4, 0},
+ {ASRAW, C_SCON, C_NONE, C_NONE, C_REG, 56, 4, 0},
+ {ASRAD, C_REG, C_NONE, C_NONE, C_REG, 6, 4, 0},
+ {ASRAD, C_REG, C_REG, C_NONE, C_REG, 6, 4, 0},
+ {ASRAD, C_SCON, C_REG, C_NONE, C_REG, 56, 4, 0},
+ {ASRAD, C_SCON, C_NONE, C_NONE, C_REG, 56, 4, 0},
+ {ARLWMI, C_SCON, C_REG, C_LCON, C_REG, 62, 4, 0},
+ {ARLWMI, C_REG, C_REG, C_LCON, C_REG, 63, 4, 0},
+ {ARLDMI, C_SCON, C_REG, C_LCON, C_REG, 30, 4, 0},
+ {ARLDC, C_SCON, C_REG, C_LCON, C_REG, 29, 4, 0},
+ {ARLDCL, C_SCON, C_REG, C_LCON, C_REG, 29, 4, 0},
+ {ARLDCL, C_REG, C_REG, C_LCON, C_REG, 14, 4, 0},
+ {ARLDCL, C_REG, C_NONE, C_LCON, C_REG, 14, 4, 0},
+ {AFADD, C_FREG, C_NONE, C_NONE, C_FREG, 2, 4, 0},
+ {AFADD, C_FREG, C_REG, C_NONE, C_FREG, 2, 4, 0},
+ {AFABS, C_FREG, C_NONE, C_NONE, C_FREG, 33, 4, 0},
+ {AFABS, C_NONE, C_NONE, C_NONE, C_FREG, 33, 4, 0},
+ {AFMOVD, C_FREG, C_NONE, C_NONE, C_FREG, 33, 4, 0},
+ {AFMADD, C_FREG, C_REG, C_FREG, C_FREG, 34, 4, 0},
+ {AFMUL, C_FREG, C_NONE, C_NONE, C_FREG, 32, 4, 0},
+ {AFMUL, C_FREG, C_REG, C_NONE, C_FREG, 32, 4, 0},
/* store, short offset */
- Optab{AMOVD, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO},
- Optab{AMOVW, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO},
- Optab{AMOVWZ, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO},
- Optab{AMOVBZ, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO},
- Optab{AMOVBZU, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO},
- Optab{AMOVB, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO},
- Optab{AMOVBU, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO},
- Optab{AMOVD, C_REG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB},
- Optab{AMOVW, C_REG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB},
- Optab{AMOVWZ, C_REG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB},
- Optab{AMOVBZ, C_REG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB},
- Optab{AMOVB, C_REG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB},
- Optab{AMOVD, C_REG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP},
- Optab{AMOVW, C_REG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP},
- Optab{AMOVWZ, C_REG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP},
- Optab{AMOVBZ, C_REG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP},
- Optab{AMOVB, C_REG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP},
- Optab{AMOVD, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
- Optab{AMOVW, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
- Optab{AMOVWZ, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
- Optab{AMOVBZ, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
- Optab{AMOVBZU, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
- Optab{AMOVB, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
- Optab{AMOVBU, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
+ {AMOVD, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO},
+ {AMOVW, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO},
+ {AMOVWZ, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO},
+ {AMOVBZ, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO},
+ {AMOVBZU, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO},
+ {AMOVB, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO},
+ {AMOVBU, C_REG, C_REG, C_NONE, C_ZOREG, 7, 4, REGZERO},
+ {AMOVD, C_REG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB},
+ {AMOVW, C_REG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB},
+ {AMOVWZ, C_REG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB},
+ {AMOVBZ, C_REG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB},
+ {AMOVB, C_REG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB},
+ {AMOVD, C_REG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP},
+ {AMOVW, C_REG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP},
+ {AMOVWZ, C_REG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP},
+ {AMOVBZ, C_REG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP},
+ {AMOVB, C_REG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP},
+ {AMOVD, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
+ {AMOVW, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
+ {AMOVWZ, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
+ {AMOVBZ, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
+ {AMOVBZU, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
+ {AMOVB, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
+ {AMOVBU, C_REG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
/* load, short offset */
- Optab{AMOVD, C_ZOREG, C_REG, C_NONE, C_REG, 8, 4, REGZERO},
- Optab{AMOVW, C_ZOREG, C_REG, C_NONE, C_REG, 8, 4, REGZERO},
- Optab{AMOVWZ, C_ZOREG, C_REG, C_NONE, C_REG, 8, 4, REGZERO},
- Optab{AMOVBZ, C_ZOREG, C_REG, C_NONE, C_REG, 8, 4, REGZERO},
- Optab{AMOVBZU, C_ZOREG, C_REG, C_NONE, C_REG, 8, 4, REGZERO},
- Optab{AMOVB, C_ZOREG, C_REG, C_NONE, C_REG, 9, 8, REGZERO},
- Optab{AMOVBU, C_ZOREG, C_REG, C_NONE, C_REG, 9, 8, REGZERO},
- Optab{AMOVD, C_SEXT, C_NONE, C_NONE, C_REG, 8, 4, REGSB},
- Optab{AMOVW, C_SEXT, C_NONE, C_NONE, C_REG, 8, 4, REGSB},
- Optab{AMOVWZ, C_SEXT, C_NONE, C_NONE, C_REG, 8, 4, REGSB},
- Optab{AMOVBZ, C_SEXT, C_NONE, C_NONE, C_REG, 8, 4, REGSB},
- Optab{AMOVB, C_SEXT, C_NONE, C_NONE, C_REG, 9, 8, REGSB},
- Optab{AMOVD, C_SAUTO, C_NONE, C_NONE, C_REG, 8, 4, REGSP},
- Optab{AMOVW, C_SAUTO, C_NONE, C_NONE, C_REG, 8, 4, REGSP},
- Optab{AMOVWZ, C_SAUTO, C_NONE, C_NONE, C_REG, 8, 4, REGSP},
- Optab{AMOVBZ, C_SAUTO, C_NONE, C_NONE, C_REG, 8, 4, REGSP},
- Optab{AMOVB, C_SAUTO, C_NONE, C_NONE, C_REG, 9, 8, REGSP},
- Optab{AMOVD, C_SOREG, C_NONE, C_NONE, C_REG, 8, 4, REGZERO},
- Optab{AMOVW, C_SOREG, C_NONE, C_NONE, C_REG, 8, 4, REGZERO},
- Optab{AMOVWZ, C_SOREG, C_NONE, C_NONE, C_REG, 8, 4, REGZERO},
- Optab{AMOVBZ, C_SOREG, C_NONE, C_NONE, C_REG, 8, 4, REGZERO},
- Optab{AMOVBZU, C_SOREG, C_NONE, C_NONE, C_REG, 8, 4, REGZERO},
- Optab{AMOVB, C_SOREG, C_NONE, C_NONE, C_REG, 9, 8, REGZERO},
- Optab{AMOVBU, C_SOREG, C_NONE, C_NONE, C_REG, 9, 8, REGZERO},
+ {AMOVD, C_ZOREG, C_REG, C_NONE, C_REG, 8, 4, REGZERO},
+ {AMOVW, C_ZOREG, C_REG, C_NONE, C_REG, 8, 4, REGZERO},
+ {AMOVWZ, C_ZOREG, C_REG, C_NONE, C_REG, 8, 4, REGZERO},
+ {AMOVBZ, C_ZOREG, C_REG, C_NONE, C_REG, 8, 4, REGZERO},
+ {AMOVBZU, C_ZOREG, C_REG, C_NONE, C_REG, 8, 4, REGZERO},
+ {AMOVB, C_ZOREG, C_REG, C_NONE, C_REG, 9, 8, REGZERO},
+ {AMOVBU, C_ZOREG, C_REG, C_NONE, C_REG, 9, 8, REGZERO},
+ {AMOVD, C_SEXT, C_NONE, C_NONE, C_REG, 8, 4, REGSB},
+ {AMOVW, C_SEXT, C_NONE, C_NONE, C_REG, 8, 4, REGSB},
+ {AMOVWZ, C_SEXT, C_NONE, C_NONE, C_REG, 8, 4, REGSB},
+ {AMOVBZ, C_SEXT, C_NONE, C_NONE, C_REG, 8, 4, REGSB},
+ {AMOVB, C_SEXT, C_NONE, C_NONE, C_REG, 9, 8, REGSB},
+ {AMOVD, C_SAUTO, C_NONE, C_NONE, C_REG, 8, 4, REGSP},
+ {AMOVW, C_SAUTO, C_NONE, C_NONE, C_REG, 8, 4, REGSP},
+ {AMOVWZ, C_SAUTO, C_NONE, C_NONE, C_REG, 8, 4, REGSP},
+ {AMOVBZ, C_SAUTO, C_NONE, C_NONE, C_REG, 8, 4, REGSP},
+ {AMOVB, C_SAUTO, C_NONE, C_NONE, C_REG, 9, 8, REGSP},
+ {AMOVD, C_SOREG, C_NONE, C_NONE, C_REG, 8, 4, REGZERO},
+ {AMOVW, C_SOREG, C_NONE, C_NONE, C_REG, 8, 4, REGZERO},
+ {AMOVWZ, C_SOREG, C_NONE, C_NONE, C_REG, 8, 4, REGZERO},
+ {AMOVBZ, C_SOREG, C_NONE, C_NONE, C_REG, 8, 4, REGZERO},
+ {AMOVBZU, C_SOREG, C_NONE, C_NONE, C_REG, 8, 4, REGZERO},
+ {AMOVB, C_SOREG, C_NONE, C_NONE, C_REG, 9, 8, REGZERO},
+ {AMOVBU, C_SOREG, C_NONE, C_NONE, C_REG, 9, 8, REGZERO},
/* store, long offset */
- Optab{AMOVD, C_REG, C_NONE, C_NONE, C_LEXT, 35, 8, REGSB},
- Optab{AMOVW, C_REG, C_NONE, C_NONE, C_LEXT, 35, 8, REGSB},
- Optab{AMOVWZ, C_REG, C_NONE, C_NONE, C_LEXT, 35, 8, REGSB},
- Optab{AMOVBZ, C_REG, C_NONE, C_NONE, C_LEXT, 35, 8, REGSB},
- Optab{AMOVB, C_REG, C_NONE, C_NONE, C_LEXT, 35, 8, REGSB},
- Optab{AMOVD, C_REG, C_NONE, C_NONE, C_LAUTO, 35, 8, REGSP},
- Optab{AMOVW, C_REG, C_NONE, C_NONE, C_LAUTO, 35, 8, REGSP},
- Optab{AMOVWZ, C_REG, C_NONE, C_NONE, C_LAUTO, 35, 8, REGSP},
- Optab{AMOVBZ, C_REG, C_NONE, C_NONE, C_LAUTO, 35, 8, REGSP},
- Optab{AMOVB, C_REG, C_NONE, C_NONE, C_LAUTO, 35, 8, REGSP},
- Optab{AMOVD, C_REG, C_NONE, C_NONE, C_LOREG, 35, 8, REGZERO},
- Optab{AMOVW, C_REG, C_NONE, C_NONE, C_LOREG, 35, 8, REGZERO},
- Optab{AMOVWZ, C_REG, C_NONE, C_NONE, C_LOREG, 35, 8, REGZERO},
- Optab{AMOVBZ, C_REG, C_NONE, C_NONE, C_LOREG, 35, 8, REGZERO},
- Optab{AMOVB, C_REG, C_NONE, C_NONE, C_LOREG, 35, 8, REGZERO},
- Optab{AMOVD, C_REG, C_NONE, C_NONE, C_ADDR, 74, 8, 0},
- Optab{AMOVW, C_REG, C_NONE, C_NONE, C_ADDR, 74, 8, 0},
- Optab{AMOVWZ, C_REG, C_NONE, C_NONE, C_ADDR, 74, 8, 0},
- Optab{AMOVBZ, C_REG, C_NONE, C_NONE, C_ADDR, 74, 8, 0},
- Optab{AMOVB, C_REG, C_NONE, C_NONE, C_ADDR, 74, 8, 0},
+ {AMOVD, C_REG, C_NONE, C_NONE, C_LEXT, 35, 8, REGSB},
+ {AMOVW, C_REG, C_NONE, C_NONE, C_LEXT, 35, 8, REGSB},
+ {AMOVWZ, C_REG, C_NONE, C_NONE, C_LEXT, 35, 8, REGSB},
+ {AMOVBZ, C_REG, C_NONE, C_NONE, C_LEXT, 35, 8, REGSB},
+ {AMOVB, C_REG, C_NONE, C_NONE, C_LEXT, 35, 8, REGSB},
+ {AMOVD, C_REG, C_NONE, C_NONE, C_LAUTO, 35, 8, REGSP},
+ {AMOVW, C_REG, C_NONE, C_NONE, C_LAUTO, 35, 8, REGSP},
+ {AMOVWZ, C_REG, C_NONE, C_NONE, C_LAUTO, 35, 8, REGSP},
+ {AMOVBZ, C_REG, C_NONE, C_NONE, C_LAUTO, 35, 8, REGSP},
+ {AMOVB, C_REG, C_NONE, C_NONE, C_LAUTO, 35, 8, REGSP},
+ {AMOVD, C_REG, C_NONE, C_NONE, C_LOREG, 35, 8, REGZERO},
+ {AMOVW, C_REG, C_NONE, C_NONE, C_LOREG, 35, 8, REGZERO},
+ {AMOVWZ, C_REG, C_NONE, C_NONE, C_LOREG, 35, 8, REGZERO},
+ {AMOVBZ, C_REG, C_NONE, C_NONE, C_LOREG, 35, 8, REGZERO},
+ {AMOVB, C_REG, C_NONE, C_NONE, C_LOREG, 35, 8, REGZERO},
+ {AMOVD, C_REG, C_NONE, C_NONE, C_ADDR, 74, 8, 0},
+ {AMOVW, C_REG, C_NONE, C_NONE, C_ADDR, 74, 8, 0},
+ {AMOVWZ, C_REG, C_NONE, C_NONE, C_ADDR, 74, 8, 0},
+ {AMOVBZ, C_REG, C_NONE, C_NONE, C_ADDR, 74, 8, 0},
+ {AMOVB, C_REG, C_NONE, C_NONE, C_ADDR, 74, 8, 0},
/* load, long offset */
- Optab{AMOVD, C_LEXT, C_NONE, C_NONE, C_REG, 36, 8, REGSB},
- Optab{AMOVW, C_LEXT, C_NONE, C_NONE, C_REG, 36, 8, REGSB},
- Optab{AMOVWZ, C_LEXT, C_NONE, C_NONE, C_REG, 36, 8, REGSB},
- Optab{AMOVBZ, C_LEXT, C_NONE, C_NONE, C_REG, 36, 8, REGSB},
- Optab{AMOVB, C_LEXT, C_NONE, C_NONE, C_REG, 37, 12, REGSB},
- Optab{AMOVD, C_LAUTO, C_NONE, C_NONE, C_REG, 36, 8, REGSP},
- Optab{AMOVW, C_LAUTO, C_NONE, C_NONE, C_REG, 36, 8, REGSP},
- Optab{AMOVWZ, C_LAUTO, C_NONE, C_NONE, C_REG, 36, 8, REGSP},
- Optab{AMOVBZ, C_LAUTO, C_NONE, C_NONE, C_REG, 36, 8, REGSP},
- Optab{AMOVB, C_LAUTO, C_NONE, C_NONE, C_REG, 37, 12, REGSP},
- Optab{AMOVD, C_LOREG, C_NONE, C_NONE, C_REG, 36, 8, REGZERO},
- Optab{AMOVW, C_LOREG, C_NONE, C_NONE, C_REG, 36, 8, REGZERO},
- Optab{AMOVWZ, C_LOREG, C_NONE, C_NONE, C_REG, 36, 8, REGZERO},
- Optab{AMOVBZ, C_LOREG, C_NONE, C_NONE, C_REG, 36, 8, REGZERO},
- Optab{AMOVB, C_LOREG, C_NONE, C_NONE, C_REG, 37, 12, REGZERO},
- Optab{AMOVD, C_ADDR, C_NONE, C_NONE, C_REG, 75, 8, 0},
- Optab{AMOVW, C_ADDR, C_NONE, C_NONE, C_REG, 75, 8, 0},
- Optab{AMOVWZ, C_ADDR, C_NONE, C_NONE, C_REG, 75, 8, 0},
- Optab{AMOVBZ, C_ADDR, C_NONE, C_NONE, C_REG, 75, 8, 0},
- Optab{AMOVB, C_ADDR, C_NONE, C_NONE, C_REG, 76, 12, 0},
+ {AMOVD, C_LEXT, C_NONE, C_NONE, C_REG, 36, 8, REGSB},
+ {AMOVW, C_LEXT, C_NONE, C_NONE, C_REG, 36, 8, REGSB},
+ {AMOVWZ, C_LEXT, C_NONE, C_NONE, C_REG, 36, 8, REGSB},
+ {AMOVBZ, C_LEXT, C_NONE, C_NONE, C_REG, 36, 8, REGSB},
+ {AMOVB, C_LEXT, C_NONE, C_NONE, C_REG, 37, 12, REGSB},
+ {AMOVD, C_LAUTO, C_NONE, C_NONE, C_REG, 36, 8, REGSP},
+ {AMOVW, C_LAUTO, C_NONE, C_NONE, C_REG, 36, 8, REGSP},
+ {AMOVWZ, C_LAUTO, C_NONE, C_NONE, C_REG, 36, 8, REGSP},
+ {AMOVBZ, C_LAUTO, C_NONE, C_NONE, C_REG, 36, 8, REGSP},
+ {AMOVB, C_LAUTO, C_NONE, C_NONE, C_REG, 37, 12, REGSP},
+ {AMOVD, C_LOREG, C_NONE, C_NONE, C_REG, 36, 8, REGZERO},
+ {AMOVW, C_LOREG, C_NONE, C_NONE, C_REG, 36, 8, REGZERO},
+ {AMOVWZ, C_LOREG, C_NONE, C_NONE, C_REG, 36, 8, REGZERO},
+ {AMOVBZ, C_LOREG, C_NONE, C_NONE, C_REG, 36, 8, REGZERO},
+ {AMOVB, C_LOREG, C_NONE, C_NONE, C_REG, 37, 12, REGZERO},
+ {AMOVD, C_ADDR, C_NONE, C_NONE, C_REG, 75, 8, 0},
+ {AMOVW, C_ADDR, C_NONE, C_NONE, C_REG, 75, 8, 0},
+ {AMOVWZ, C_ADDR, C_NONE, C_NONE, C_REG, 75, 8, 0},
+ {AMOVBZ, C_ADDR, C_NONE, C_NONE, C_REG, 75, 8, 0},
+ {AMOVB, C_ADDR, C_NONE, C_NONE, C_REG, 76, 12, 0},
/* load constant */
- Optab{AMOVD, C_SECON, C_NONE, C_NONE, C_REG, 3, 4, REGSB},
- Optab{AMOVD, C_SACON, C_NONE, C_NONE, C_REG, 3, 4, REGSP},
- Optab{AMOVD, C_LECON, C_NONE, C_NONE, C_REG, 26, 8, REGSB},
- Optab{AMOVD, C_LACON, C_NONE, C_NONE, C_REG, 26, 8, REGSP},
- Optab{AMOVD, C_ADDCON, C_NONE, C_NONE, C_REG, 3, 4, REGZERO},
- Optab{AMOVW, C_SECON, C_NONE, C_NONE, C_REG, 3, 4, REGSB}, /* TO DO: check */
- Optab{AMOVW, C_SACON, C_NONE, C_NONE, C_REG, 3, 4, REGSP},
- Optab{AMOVW, C_LECON, C_NONE, C_NONE, C_REG, 26, 8, REGSB},
- Optab{AMOVW, C_LACON, C_NONE, C_NONE, C_REG, 26, 8, REGSP},
- Optab{AMOVW, C_ADDCON, C_NONE, C_NONE, C_REG, 3, 4, REGZERO},
- Optab{AMOVWZ, C_SECON, C_NONE, C_NONE, C_REG, 3, 4, REGSB}, /* TO DO: check */
- Optab{AMOVWZ, C_SACON, C_NONE, C_NONE, C_REG, 3, 4, REGSP},
- Optab{AMOVWZ, C_LECON, C_NONE, C_NONE, C_REG, 26, 8, REGSB},
- Optab{AMOVWZ, C_LACON, C_NONE, C_NONE, C_REG, 26, 8, REGSP},
- Optab{AMOVWZ, C_ADDCON, C_NONE, C_NONE, C_REG, 3, 4, REGZERO},
+ {AMOVD, C_SECON, C_NONE, C_NONE, C_REG, 3, 4, REGSB},
+ {AMOVD, C_SACON, C_NONE, C_NONE, C_REG, 3, 4, REGSP},
+ {AMOVD, C_LECON, C_NONE, C_NONE, C_REG, 26, 8, REGSB},
+ {AMOVD, C_LACON, C_NONE, C_NONE, C_REG, 26, 8, REGSP},
+ {AMOVD, C_ADDCON, C_NONE, C_NONE, C_REG, 3, 4, REGZERO},
+ {AMOVW, C_SECON, C_NONE, C_NONE, C_REG, 3, 4, REGSB}, /* TO DO: check */
+ {AMOVW, C_SACON, C_NONE, C_NONE, C_REG, 3, 4, REGSP},
+ {AMOVW, C_LECON, C_NONE, C_NONE, C_REG, 26, 8, REGSB},
+ {AMOVW, C_LACON, C_NONE, C_NONE, C_REG, 26, 8, REGSP},
+ {AMOVW, C_ADDCON, C_NONE, C_NONE, C_REG, 3, 4, REGZERO},
+ {AMOVWZ, C_SECON, C_NONE, C_NONE, C_REG, 3, 4, REGSB}, /* TO DO: check */
+ {AMOVWZ, C_SACON, C_NONE, C_NONE, C_REG, 3, 4, REGSP},
+ {AMOVWZ, C_LECON, C_NONE, C_NONE, C_REG, 26, 8, REGSB},
+ {AMOVWZ, C_LACON, C_NONE, C_NONE, C_REG, 26, 8, REGSP},
+ {AMOVWZ, C_ADDCON, C_NONE, C_NONE, C_REG, 3, 4, REGZERO},
/* load unsigned/long constants (TO DO: check) */
- Optab{AMOVD, C_UCON, C_NONE, C_NONE, C_REG, 3, 4, REGZERO},
- Optab{AMOVD, C_LCON, C_NONE, C_NONE, C_REG, 19, 8, 0},
- Optab{AMOVW, C_UCON, C_NONE, C_NONE, C_REG, 3, 4, REGZERO},
- Optab{AMOVW, C_LCON, C_NONE, C_NONE, C_REG, 19, 8, 0},
- Optab{AMOVWZ, C_UCON, C_NONE, C_NONE, C_REG, 3, 4, REGZERO},
- Optab{AMOVWZ, C_LCON, C_NONE, C_NONE, C_REG, 19, 8, 0},
- Optab{AMOVHBR, C_ZOREG, C_REG, C_NONE, C_REG, 45, 4, 0},
- Optab{AMOVHBR, C_ZOREG, C_NONE, C_NONE, C_REG, 45, 4, 0},
- Optab{AMOVHBR, C_REG, C_REG, C_NONE, C_ZOREG, 44, 4, 0},
- Optab{AMOVHBR, C_REG, C_NONE, C_NONE, C_ZOREG, 44, 4, 0},
- Optab{ASYSCALL, C_NONE, C_NONE, C_NONE, C_NONE, 5, 4, 0},
- Optab{ASYSCALL, C_REG, C_NONE, C_NONE, C_NONE, 77, 12, 0},
- Optab{ASYSCALL, C_SCON, C_NONE, C_NONE, C_NONE, 77, 12, 0},
- Optab{ABEQ, C_NONE, C_NONE, C_NONE, C_SBRA, 16, 4, 0},
- Optab{ABEQ, C_CREG, C_NONE, C_NONE, C_SBRA, 16, 4, 0},
- Optab{ABR, C_NONE, C_NONE, C_NONE, C_LBRA, 11, 4, 0},
- Optab{ABC, C_SCON, C_REG, C_NONE, C_SBRA, 16, 4, 0},
- Optab{ABC, C_SCON, C_REG, C_NONE, C_LBRA, 17, 4, 0},
- Optab{ABR, C_NONE, C_NONE, C_NONE, C_LR, 18, 4, 0},
- Optab{ABR, C_NONE, C_NONE, C_NONE, C_CTR, 18, 4, 0},
- Optab{ABR, C_REG, C_NONE, C_NONE, C_CTR, 18, 4, 0},
- Optab{ABR, C_NONE, C_NONE, C_NONE, C_ZOREG, 15, 8, 0},
- Optab{ABC, C_NONE, C_REG, C_NONE, C_LR, 18, 4, 0},
- Optab{ABC, C_NONE, C_REG, C_NONE, C_CTR, 18, 4, 0},
- Optab{ABC, C_SCON, C_REG, C_NONE, C_LR, 18, 4, 0},
- Optab{ABC, C_SCON, C_REG, C_NONE, C_CTR, 18, 4, 0},
- Optab{ABC, C_NONE, C_NONE, C_NONE, C_ZOREG, 15, 8, 0},
- Optab{AFMOVD, C_SEXT, C_NONE, C_NONE, C_FREG, 8, 4, REGSB},
- Optab{AFMOVD, C_SAUTO, C_NONE, C_NONE, C_FREG, 8, 4, REGSP},
- Optab{AFMOVD, C_SOREG, C_NONE, C_NONE, C_FREG, 8, 4, REGZERO},
- Optab{AFMOVD, C_LEXT, C_NONE, C_NONE, C_FREG, 36, 8, REGSB},
- Optab{AFMOVD, C_LAUTO, C_NONE, C_NONE, C_FREG, 36, 8, REGSP},
- Optab{AFMOVD, C_LOREG, C_NONE, C_NONE, C_FREG, 36, 8, REGZERO},
- Optab{AFMOVD, C_ADDR, C_NONE, C_NONE, C_FREG, 75, 8, 0},
- Optab{AFMOVD, C_FREG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB},
- Optab{AFMOVD, C_FREG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP},
- Optab{AFMOVD, C_FREG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
- Optab{AFMOVD, C_FREG, C_NONE, C_NONE, C_LEXT, 35, 8, REGSB},
- Optab{AFMOVD, C_FREG, C_NONE, C_NONE, C_LAUTO, 35, 8, REGSP},
- Optab{AFMOVD, C_FREG, C_NONE, C_NONE, C_LOREG, 35, 8, REGZERO},
- Optab{AFMOVD, C_FREG, C_NONE, C_NONE, C_ADDR, 74, 8, 0},
- Optab{ASYNC, C_NONE, C_NONE, C_NONE, C_NONE, 46, 4, 0},
- Optab{AWORD, C_LCON, C_NONE, C_NONE, C_NONE, 40, 4, 0},
- Optab{ADWORD, C_LCON, C_NONE, C_NONE, C_NONE, 31, 8, 0},
- Optab{ADWORD, C_DCON, C_NONE, C_NONE, C_NONE, 31, 8, 0},
- Optab{AADDME, C_REG, C_NONE, C_NONE, C_REG, 47, 4, 0},
- Optab{AEXTSB, C_REG, C_NONE, C_NONE, C_REG, 48, 4, 0},
- Optab{AEXTSB, C_NONE, C_NONE, C_NONE, C_REG, 48, 4, 0},
- Optab{ANEG, C_REG, C_NONE, C_NONE, C_REG, 47, 4, 0},
- Optab{ANEG, C_NONE, C_NONE, C_NONE, C_REG, 47, 4, 0},
- Optab{AREM, C_REG, C_NONE, C_NONE, C_REG, 50, 12, 0},
- Optab{AREM, C_REG, C_REG, C_NONE, C_REG, 50, 12, 0},
- Optab{AREMU, C_REG, C_NONE, C_NONE, C_REG, 50, 16, 0},
- Optab{AREMU, C_REG, C_REG, C_NONE, C_REG, 50, 16, 0},
- Optab{AREMD, C_REG, C_NONE, C_NONE, C_REG, 51, 12, 0},
- Optab{AREMD, C_REG, C_REG, C_NONE, C_REG, 51, 12, 0},
- Optab{AREMDU, C_REG, C_NONE, C_NONE, C_REG, 51, 12, 0},
- Optab{AREMDU, C_REG, C_REG, C_NONE, C_REG, 51, 12, 0},
- Optab{AMTFSB0, C_SCON, C_NONE, C_NONE, C_NONE, 52, 4, 0},
- Optab{AMOVFL, C_FPSCR, C_NONE, C_NONE, C_FREG, 53, 4, 0},
- Optab{AMOVFL, C_FREG, C_NONE, C_NONE, C_FPSCR, 64, 4, 0},
- Optab{AMOVFL, C_FREG, C_NONE, C_LCON, C_FPSCR, 64, 4, 0},
- Optab{AMOVFL, C_LCON, C_NONE, C_NONE, C_FPSCR, 65, 4, 0},
- Optab{AMOVD, C_MSR, C_NONE, C_NONE, C_REG, 54, 4, 0}, /* mfmsr */
- Optab{AMOVD, C_REG, C_NONE, C_NONE, C_MSR, 54, 4, 0}, /* mtmsrd */
- Optab{AMOVWZ, C_REG, C_NONE, C_NONE, C_MSR, 54, 4, 0}, /* mtmsr */
+ {AMOVD, C_UCON, C_NONE, C_NONE, C_REG, 3, 4, REGZERO},
+ {AMOVD, C_LCON, C_NONE, C_NONE, C_REG, 19, 8, 0},
+ {AMOVW, C_UCON, C_NONE, C_NONE, C_REG, 3, 4, REGZERO},
+ {AMOVW, C_LCON, C_NONE, C_NONE, C_REG, 19, 8, 0},
+ {AMOVWZ, C_UCON, C_NONE, C_NONE, C_REG, 3, 4, REGZERO},
+ {AMOVWZ, C_LCON, C_NONE, C_NONE, C_REG, 19, 8, 0},
+ {AMOVHBR, C_ZOREG, C_REG, C_NONE, C_REG, 45, 4, 0},
+ {AMOVHBR, C_ZOREG, C_NONE, C_NONE, C_REG, 45, 4, 0},
+ {AMOVHBR, C_REG, C_REG, C_NONE, C_ZOREG, 44, 4, 0},
+ {AMOVHBR, C_REG, C_NONE, C_NONE, C_ZOREG, 44, 4, 0},
+ {ASYSCALL, C_NONE, C_NONE, C_NONE, C_NONE, 5, 4, 0},
+ {ASYSCALL, C_REG, C_NONE, C_NONE, C_NONE, 77, 12, 0},
+ {ASYSCALL, C_SCON, C_NONE, C_NONE, C_NONE, 77, 12, 0},
+ {ABEQ, C_NONE, C_NONE, C_NONE, C_SBRA, 16, 4, 0},
+ {ABEQ, C_CREG, C_NONE, C_NONE, C_SBRA, 16, 4, 0},
+ {ABR, C_NONE, C_NONE, C_NONE, C_LBRA, 11, 4, 0},
+ {ABC, C_SCON, C_REG, C_NONE, C_SBRA, 16, 4, 0},
+ {ABC, C_SCON, C_REG, C_NONE, C_LBRA, 17, 4, 0},
+ {ABR, C_NONE, C_NONE, C_NONE, C_LR, 18, 4, 0},
+ {ABR, C_NONE, C_NONE, C_NONE, C_CTR, 18, 4, 0},
+ {ABR, C_REG, C_NONE, C_NONE, C_CTR, 18, 4, 0},
+ {ABR, C_NONE, C_NONE, C_NONE, C_ZOREG, 15, 8, 0},
+ {ABC, C_NONE, C_REG, C_NONE, C_LR, 18, 4, 0},
+ {ABC, C_NONE, C_REG, C_NONE, C_CTR, 18, 4, 0},
+ {ABC, C_SCON, C_REG, C_NONE, C_LR, 18, 4, 0},
+ {ABC, C_SCON, C_REG, C_NONE, C_CTR, 18, 4, 0},
+ {ABC, C_NONE, C_NONE, C_NONE, C_ZOREG, 15, 8, 0},
+ {AFMOVD, C_SEXT, C_NONE, C_NONE, C_FREG, 8, 4, REGSB},
+ {AFMOVD, C_SAUTO, C_NONE, C_NONE, C_FREG, 8, 4, REGSP},
+ {AFMOVD, C_SOREG, C_NONE, C_NONE, C_FREG, 8, 4, REGZERO},
+ {AFMOVD, C_LEXT, C_NONE, C_NONE, C_FREG, 36, 8, REGSB},
+ {AFMOVD, C_LAUTO, C_NONE, C_NONE, C_FREG, 36, 8, REGSP},
+ {AFMOVD, C_LOREG, C_NONE, C_NONE, C_FREG, 36, 8, REGZERO},
+ {AFMOVD, C_ADDR, C_NONE, C_NONE, C_FREG, 75, 8, 0},
+ {AFMOVD, C_FREG, C_NONE, C_NONE, C_SEXT, 7, 4, REGSB},
+ {AFMOVD, C_FREG, C_NONE, C_NONE, C_SAUTO, 7, 4, REGSP},
+ {AFMOVD, C_FREG, C_NONE, C_NONE, C_SOREG, 7, 4, REGZERO},
+ {AFMOVD, C_FREG, C_NONE, C_NONE, C_LEXT, 35, 8, REGSB},
+ {AFMOVD, C_FREG, C_NONE, C_NONE, C_LAUTO, 35, 8, REGSP},
+ {AFMOVD, C_FREG, C_NONE, C_NONE, C_LOREG, 35, 8, REGZERO},
+ {AFMOVD, C_FREG, C_NONE, C_NONE, C_ADDR, 74, 8, 0},
+ {ASYNC, C_NONE, C_NONE, C_NONE, C_NONE, 46, 4, 0},
+ {AWORD, C_LCON, C_NONE, C_NONE, C_NONE, 40, 4, 0},
+ {ADWORD, C_LCON, C_NONE, C_NONE, C_NONE, 31, 8, 0},
+ {ADWORD, C_DCON, C_NONE, C_NONE, C_NONE, 31, 8, 0},
+ {AADDME, C_REG, C_NONE, C_NONE, C_REG, 47, 4, 0},
+ {AEXTSB, C_REG, C_NONE, C_NONE, C_REG, 48, 4, 0},
+ {AEXTSB, C_NONE, C_NONE, C_NONE, C_REG, 48, 4, 0},
+ {ANEG, C_REG, C_NONE, C_NONE, C_REG, 47, 4, 0},
+ {ANEG, C_NONE, C_NONE, C_NONE, C_REG, 47, 4, 0},
+ {AREM, C_REG, C_NONE, C_NONE, C_REG, 50, 12, 0},
+ {AREM, C_REG, C_REG, C_NONE, C_REG, 50, 12, 0},
+ {AREMU, C_REG, C_NONE, C_NONE, C_REG, 50, 16, 0},
+ {AREMU, C_REG, C_REG, C_NONE, C_REG, 50, 16, 0},
+ {AREMD, C_REG, C_NONE, C_NONE, C_REG, 51, 12, 0},
+ {AREMD, C_REG, C_REG, C_NONE, C_REG, 51, 12, 0},
+ {AREMDU, C_REG, C_NONE, C_NONE, C_REG, 51, 12, 0},
+ {AREMDU, C_REG, C_REG, C_NONE, C_REG, 51, 12, 0},
+ {AMTFSB0, C_SCON, C_NONE, C_NONE, C_NONE, 52, 4, 0},
+ {AMOVFL, C_FPSCR, C_NONE, C_NONE, C_FREG, 53, 4, 0},
+ {AMOVFL, C_FREG, C_NONE, C_NONE, C_FPSCR, 64, 4, 0},
+ {AMOVFL, C_FREG, C_NONE, C_LCON, C_FPSCR, 64, 4, 0},
+ {AMOVFL, C_LCON, C_NONE, C_NONE, C_FPSCR, 65, 4, 0},
+ {AMOVD, C_MSR, C_NONE, C_NONE, C_REG, 54, 4, 0}, /* mfmsr */
+ {AMOVD, C_REG, C_NONE, C_NONE, C_MSR, 54, 4, 0}, /* mtmsrd */
+ {AMOVWZ, C_REG, C_NONE, C_NONE, C_MSR, 54, 4, 0}, /* mtmsr */
/* 64-bit special registers */
- Optab{AMOVD, C_REG, C_NONE, C_NONE, C_SPR, 66, 4, 0},
- Optab{AMOVD, C_REG, C_NONE, C_NONE, C_LR, 66, 4, 0},
- Optab{AMOVD, C_REG, C_NONE, C_NONE, C_CTR, 66, 4, 0},
- Optab{AMOVD, C_REG, C_NONE, C_NONE, C_XER, 66, 4, 0},
- Optab{AMOVD, C_SPR, C_NONE, C_NONE, C_REG, 66, 4, 0},
- Optab{AMOVD, C_LR, C_NONE, C_NONE, C_REG, 66, 4, 0},
- Optab{AMOVD, C_CTR, C_NONE, C_NONE, C_REG, 66, 4, 0},
- Optab{AMOVD, C_XER, C_NONE, C_NONE, C_REG, 66, 4, 0},
+ {AMOVD, C_REG, C_NONE, C_NONE, C_SPR, 66, 4, 0},
+ {AMOVD, C_REG, C_NONE, C_NONE, C_LR, 66, 4, 0},
+ {AMOVD, C_REG, C_NONE, C_NONE, C_CTR, 66, 4, 0},
+ {AMOVD, C_REG, C_NONE, C_NONE, C_XER, 66, 4, 0},
+ {AMOVD, C_SPR, C_NONE, C_NONE, C_REG, 66, 4, 0},
+ {AMOVD, C_LR, C_NONE, C_NONE, C_REG, 66, 4, 0},
+ {AMOVD, C_CTR, C_NONE, C_NONE, C_REG, 66, 4, 0},
+ {AMOVD, C_XER, C_NONE, C_NONE, C_REG, 66, 4, 0},
/* 32-bit special registers (gloss over sign-extension or not?) */
- Optab{AMOVW, C_REG, C_NONE, C_NONE, C_SPR, 66, 4, 0},
- Optab{AMOVW, C_REG, C_NONE, C_NONE, C_CTR, 66, 4, 0},
- Optab{AMOVW, C_REG, C_NONE, C_NONE, C_XER, 66, 4, 0},
- Optab{AMOVW, C_SPR, C_NONE, C_NONE, C_REG, 66, 4, 0},
- Optab{AMOVW, C_XER, C_NONE, C_NONE, C_REG, 66, 4, 0},
- Optab{AMOVWZ, C_REG, C_NONE, C_NONE, C_SPR, 66, 4, 0},
- Optab{AMOVWZ, C_REG, C_NONE, C_NONE, C_CTR, 66, 4, 0},
- Optab{AMOVWZ, C_REG, C_NONE, C_NONE, C_XER, 66, 4, 0},
- Optab{AMOVWZ, C_SPR, C_NONE, C_NONE, C_REG, 66, 4, 0},
- Optab{AMOVWZ, C_XER, C_NONE, C_NONE, C_REG, 66, 4, 0},
- Optab{AMOVFL, C_FPSCR, C_NONE, C_NONE, C_CREG, 73, 4, 0},
- Optab{AMOVFL, C_CREG, C_NONE, C_NONE, C_CREG, 67, 4, 0},
- Optab{AMOVW, C_CREG, C_NONE, C_NONE, C_REG, 68, 4, 0},
- Optab{AMOVWZ, C_CREG, C_NONE, C_NONE, C_REG, 68, 4, 0},
- Optab{AMOVFL, C_REG, C_NONE, C_LCON, C_CREG, 69, 4, 0},
- Optab{AMOVFL, C_REG, C_NONE, C_NONE, C_CREG, 69, 4, 0},
- Optab{AMOVW, C_REG, C_NONE, C_NONE, C_CREG, 69, 4, 0},
- Optab{AMOVWZ, C_REG, C_NONE, C_NONE, C_CREG, 69, 4, 0},
- Optab{ACMP, C_REG, C_NONE, C_NONE, C_REG, 70, 4, 0},
- Optab{ACMP, C_REG, C_REG, C_NONE, C_REG, 70, 4, 0},
- Optab{ACMP, C_REG, C_NONE, C_NONE, C_ADDCON, 71, 4, 0},
- Optab{ACMP, C_REG, C_REG, C_NONE, C_ADDCON, 71, 4, 0},
- Optab{ACMPU, C_REG, C_NONE, C_NONE, C_REG, 70, 4, 0},
- Optab{ACMPU, C_REG, C_REG, C_NONE, C_REG, 70, 4, 0},
- Optab{ACMPU, C_REG, C_NONE, C_NONE, C_ANDCON, 71, 4, 0},
- Optab{ACMPU, C_REG, C_REG, C_NONE, C_ANDCON, 71, 4, 0},
- Optab{AFCMPO, C_FREG, C_NONE, C_NONE, C_FREG, 70, 4, 0},
- Optab{AFCMPO, C_FREG, C_REG, C_NONE, C_FREG, 70, 4, 0},
- Optab{ATW, C_LCON, C_REG, C_NONE, C_REG, 60, 4, 0},
- Optab{ATW, C_LCON, C_REG, C_NONE, C_ADDCON, 61, 4, 0},
- Optab{ADCBF, C_ZOREG, C_NONE, C_NONE, C_NONE, 43, 4, 0},
- Optab{ADCBF, C_ZOREG, C_REG, C_NONE, C_NONE, 43, 4, 0},
- Optab{AECOWX, C_REG, C_REG, C_NONE, C_ZOREG, 44, 4, 0},
- Optab{AECIWX, C_ZOREG, C_REG, C_NONE, C_REG, 45, 4, 0},
- Optab{AECOWX, C_REG, C_NONE, C_NONE, C_ZOREG, 44, 4, 0},
- Optab{AECIWX, C_ZOREG, C_NONE, C_NONE, C_REG, 45, 4, 0},
- Optab{AEIEIO, C_NONE, C_NONE, C_NONE, C_NONE, 46, 4, 0},
- Optab{ATLBIE, C_REG, C_NONE, C_NONE, C_NONE, 49, 4, 0},
- Optab{ATLBIE, C_SCON, C_NONE, C_NONE, C_REG, 49, 4, 0},
- Optab{ASLBMFEE, C_REG, C_NONE, C_NONE, C_REG, 55, 4, 0},
- Optab{ASLBMTE, C_REG, C_NONE, C_NONE, C_REG, 55, 4, 0},
- Optab{ASTSW, C_REG, C_NONE, C_NONE, C_ZOREG, 44, 4, 0},
- Optab{ASTSW, C_REG, C_NONE, C_LCON, C_ZOREG, 41, 4, 0},
- Optab{ALSW, C_ZOREG, C_NONE, C_NONE, C_REG, 45, 4, 0},
- Optab{ALSW, C_ZOREG, C_NONE, C_LCON, C_REG, 42, 4, 0},
- Optab{obj.AUNDEF, C_NONE, C_NONE, C_NONE, C_NONE, 78, 4, 0},
- Optab{obj.AUSEFIELD, C_ADDR, C_NONE, C_NONE, C_NONE, 0, 0, 0},
- Optab{obj.APCDATA, C_LCON, C_NONE, C_NONE, C_LCON, 0, 0, 0},
- Optab{obj.AFUNCDATA, C_SCON, C_NONE, C_NONE, C_ADDR, 0, 0, 0},
- Optab{obj.ANOP, C_NONE, C_NONE, C_NONE, C_NONE, 0, 0, 0},
- Optab{obj.ADUFFZERO, C_NONE, C_NONE, C_NONE, C_LBRA, 11, 4, 0}, // same as ABR/ABL
- Optab{obj.ADUFFCOPY, C_NONE, C_NONE, C_NONE, C_LBRA, 11, 4, 0}, // same as ABR/ABL
-
- Optab{obj.AXXX, C_NONE, C_NONE, C_NONE, C_NONE, 0, 4, 0},
+ {AMOVW, C_REG, C_NONE, C_NONE, C_SPR, 66, 4, 0},
+ {AMOVW, C_REG, C_NONE, C_NONE, C_CTR, 66, 4, 0},
+ {AMOVW, C_REG, C_NONE, C_NONE, C_XER, 66, 4, 0},
+ {AMOVW, C_SPR, C_NONE, C_NONE, C_REG, 66, 4, 0},
+ {AMOVW, C_XER, C_NONE, C_NONE, C_REG, 66, 4, 0},
+ {AMOVWZ, C_REG, C_NONE, C_NONE, C_SPR, 66, 4, 0},
+ {AMOVWZ, C_REG, C_NONE, C_NONE, C_CTR, 66, 4, 0},
+ {AMOVWZ, C_REG, C_NONE, C_NONE, C_XER, 66, 4, 0},
+ {AMOVWZ, C_SPR, C_NONE, C_NONE, C_REG, 66, 4, 0},
+ {AMOVWZ, C_XER, C_NONE, C_NONE, C_REG, 66, 4, 0},
+ {AMOVFL, C_FPSCR, C_NONE, C_NONE, C_CREG, 73, 4, 0},
+ {AMOVFL, C_CREG, C_NONE, C_NONE, C_CREG, 67, 4, 0},
+ {AMOVW, C_CREG, C_NONE, C_NONE, C_REG, 68, 4, 0},
+ {AMOVWZ, C_CREG, C_NONE, C_NONE, C_REG, 68, 4, 0},
+ {AMOVFL, C_REG, C_NONE, C_LCON, C_CREG, 69, 4, 0},
+ {AMOVFL, C_REG, C_NONE, C_NONE, C_CREG, 69, 4, 0},
+ {AMOVW, C_REG, C_NONE, C_NONE, C_CREG, 69, 4, 0},
+ {AMOVWZ, C_REG, C_NONE, C_NONE, C_CREG, 69, 4, 0},
+ {ACMP, C_REG, C_NONE, C_NONE, C_REG, 70, 4, 0},
+ {ACMP, C_REG, C_REG, C_NONE, C_REG, 70, 4, 0},
+ {ACMP, C_REG, C_NONE, C_NONE, C_ADDCON, 71, 4, 0},
+ {ACMP, C_REG, C_REG, C_NONE, C_ADDCON, 71, 4, 0},
+ {ACMPU, C_REG, C_NONE, C_NONE, C_REG, 70, 4, 0},
+ {ACMPU, C_REG, C_REG, C_NONE, C_REG, 70, 4, 0},
+ {ACMPU, C_REG, C_NONE, C_NONE, C_ANDCON, 71, 4, 0},
+ {ACMPU, C_REG, C_REG, C_NONE, C_ANDCON, 71, 4, 0},
+ {AFCMPO, C_FREG, C_NONE, C_NONE, C_FREG, 70, 4, 0},
+ {AFCMPO, C_FREG, C_REG, C_NONE, C_FREG, 70, 4, 0},
+ {ATW, C_LCON, C_REG, C_NONE, C_REG, 60, 4, 0},
+ {ATW, C_LCON, C_REG, C_NONE, C_ADDCON, 61, 4, 0},
+ {ADCBF, C_ZOREG, C_NONE, C_NONE, C_NONE, 43, 4, 0},
+ {ADCBF, C_ZOREG, C_REG, C_NONE, C_NONE, 43, 4, 0},
+ {AECOWX, C_REG, C_REG, C_NONE, C_ZOREG, 44, 4, 0},
+ {AECIWX, C_ZOREG, C_REG, C_NONE, C_REG, 45, 4, 0},
+ {AECOWX, C_REG, C_NONE, C_NONE, C_ZOREG, 44, 4, 0},
+ {AECIWX, C_ZOREG, C_NONE, C_NONE, C_REG, 45, 4, 0},
+ {AEIEIO, C_NONE, C_NONE, C_NONE, C_NONE, 46, 4, 0},
+ {ATLBIE, C_REG, C_NONE, C_NONE, C_NONE, 49, 4, 0},
+ {ATLBIE, C_SCON, C_NONE, C_NONE, C_REG, 49, 4, 0},
+ {ASLBMFEE, C_REG, C_NONE, C_NONE, C_REG, 55, 4, 0},
+ {ASLBMTE, C_REG, C_NONE, C_NONE, C_REG, 55, 4, 0},
+ {ASTSW, C_REG, C_NONE, C_NONE, C_ZOREG, 44, 4, 0},
+ {ASTSW, C_REG, C_NONE, C_LCON, C_ZOREG, 41, 4, 0},
+ {ALSW, C_ZOREG, C_NONE, C_NONE, C_REG, 45, 4, 0},
+ {ALSW, C_ZOREG, C_NONE, C_LCON, C_REG, 42, 4, 0},
+ {obj.AUNDEF, C_NONE, C_NONE, C_NONE, C_NONE, 78, 4, 0},
+ {obj.AUSEFIELD, C_ADDR, C_NONE, C_NONE, C_NONE, 0, 0, 0},
+ {obj.APCDATA, C_LCON, C_NONE, C_NONE, C_LCON, 0, 0, 0},
+ {obj.AFUNCDATA, C_SCON, C_NONE, C_NONE, C_ADDR, 0, 0, 0},
+ {obj.ANOP, C_NONE, C_NONE, C_NONE, C_NONE, 0, 0, 0},
+ {obj.ADUFFZERO, C_NONE, C_NONE, C_NONE, C_LBRA, 11, 4, 0}, // same as ABR/ABL
+ {obj.ADUFFCOPY, C_NONE, C_NONE, C_NONE, C_LBRA, 11, 4, 0}, // same as ABR/ABL
+
+ {obj.AXXX, C_NONE, C_NONE, C_NONE, C_NONE, 0, 4, 0},
}
type Oprang struct {
var optab =
/* as, ytab, andproto, opcode */
[]Optab{
- Optab{obj.AXXX, nil, 0, [23]uint8{}},
- Optab{AAAA, ynone, P32, [23]uint8{0x37}},
- Optab{AAAD, ynone, P32, [23]uint8{0xd5, 0x0a}},
- Optab{AAAM, ynone, P32, [23]uint8{0xd4, 0x0a}},
- Optab{AAAS, ynone, P32, [23]uint8{0x3f}},
- Optab{AADCB, yxorb, Pb, [23]uint8{0x14, 0x80, 02, 0x10, 0x10}},
- Optab{AADCL, yxorl, Px, [23]uint8{0x83, 02, 0x15, 0x81, 02, 0x11, 0x13}},
- Optab{AADCQ, yxorl, Pw, [23]uint8{0x83, 02, 0x15, 0x81, 02, 0x11, 0x13}},
- Optab{AADCW, yxorl, Pe, [23]uint8{0x83, 02, 0x15, 0x81, 02, 0x11, 0x13}},
- Optab{AADDB, yxorb, Pb, [23]uint8{0x04, 0x80, 00, 0x00, 0x02}},
- Optab{AADDL, yaddl, Px, [23]uint8{0x83, 00, 0x05, 0x81, 00, 0x01, 0x03}},
- Optab{AADDPD, yxm, Pq, [23]uint8{0x58}},
- Optab{AADDPS, yxm, Pm, [23]uint8{0x58}},
- Optab{AADDQ, yaddl, Pw, [23]uint8{0x83, 00, 0x05, 0x81, 00, 0x01, 0x03}},
- Optab{AADDSD, yxm, Pf2, [23]uint8{0x58}},
- Optab{AADDSS, yxm, Pf3, [23]uint8{0x58}},
- Optab{AADDW, yaddl, Pe, [23]uint8{0x83, 00, 0x05, 0x81, 00, 0x01, 0x03}},
- Optab{AADJSP, nil, 0, [23]uint8{}},
- Optab{AANDB, yxorb, Pb, [23]uint8{0x24, 0x80, 04, 0x20, 0x22}},
- Optab{AANDL, yxorl, Px, [23]uint8{0x83, 04, 0x25, 0x81, 04, 0x21, 0x23}},
- Optab{AANDNPD, yxm, Pq, [23]uint8{0x55}},
- Optab{AANDNPS, yxm, Pm, [23]uint8{0x55}},
- Optab{AANDPD, yxm, Pq, [23]uint8{0x54}},
- Optab{AANDPS, yxm, Pq, [23]uint8{0x54}},
- Optab{AANDQ, yxorl, Pw, [23]uint8{0x83, 04, 0x25, 0x81, 04, 0x21, 0x23}},
- Optab{AANDW, yxorl, Pe, [23]uint8{0x83, 04, 0x25, 0x81, 04, 0x21, 0x23}},
- Optab{AARPL, yrl_ml, P32, [23]uint8{0x63}},
- Optab{ABOUNDL, yrl_m, P32, [23]uint8{0x62}},
- Optab{ABOUNDW, yrl_m, Pe, [23]uint8{0x62}},
- Optab{ABSFL, yml_rl, Pm, [23]uint8{0xbc}},
- Optab{ABSFQ, yml_rl, Pw, [23]uint8{0x0f, 0xbc}},
- Optab{ABSFW, yml_rl, Pq, [23]uint8{0xbc}},
- Optab{ABSRL, yml_rl, Pm, [23]uint8{0xbd}},
- Optab{ABSRQ, yml_rl, Pw, [23]uint8{0x0f, 0xbd}},
- Optab{ABSRW, yml_rl, Pq, [23]uint8{0xbd}},
- Optab{ABSWAPL, ybswap, Px, [23]uint8{0x0f, 0xc8}},
- Optab{ABSWAPQ, ybswap, Pw, [23]uint8{0x0f, 0xc8}},
- Optab{ABTCL, ybtl, Pm, [23]uint8{0xba, 07, 0xbb}},
- Optab{ABTCQ, ybtl, Pw, [23]uint8{0x0f, 0xba, 07, 0x0f, 0xbb}},
- Optab{ABTCW, ybtl, Pq, [23]uint8{0xba, 07, 0xbb}},
- Optab{ABTL, ybtl, Pm, [23]uint8{0xba, 04, 0xa3}},
- Optab{ABTQ, ybtl, Pw, [23]uint8{0x0f, 0xba, 04, 0x0f, 0xa3}},
- Optab{ABTRL, ybtl, Pm, [23]uint8{0xba, 06, 0xb3}},
- Optab{ABTRQ, ybtl, Pw, [23]uint8{0x0f, 0xba, 06, 0x0f, 0xb3}},
- Optab{ABTRW, ybtl, Pq, [23]uint8{0xba, 06, 0xb3}},
- Optab{ABTSL, ybtl, Pm, [23]uint8{0xba, 05, 0xab}},
- Optab{ABTSQ, ybtl, Pw, [23]uint8{0x0f, 0xba, 05, 0x0f, 0xab}},
- Optab{ABTSW, ybtl, Pq, [23]uint8{0xba, 05, 0xab}},
- Optab{ABTW, ybtl, Pq, [23]uint8{0xba, 04, 0xa3}},
- Optab{ABYTE, ybyte, Px, [23]uint8{1}},
- Optab{obj.ACALL, ycall, Px, [23]uint8{0xff, 02, 0xff, 0x15, 0xe8}},
- Optab{ACDQ, ynone, Px, [23]uint8{0x99}},
- Optab{ACLC, ynone, Px, [23]uint8{0xf8}},
- Optab{ACLD, ynone, Px, [23]uint8{0xfc}},
- Optab{ACLI, ynone, Px, [23]uint8{0xfa}},
- Optab{ACLTS, ynone, Pm, [23]uint8{0x06}},
- Optab{ACMC, ynone, Px, [23]uint8{0xf5}},
- Optab{ACMOVLCC, yml_rl, Pm, [23]uint8{0x43}},
- Optab{ACMOVLCS, yml_rl, Pm, [23]uint8{0x42}},
- Optab{ACMOVLEQ, yml_rl, Pm, [23]uint8{0x44}},
- Optab{ACMOVLGE, yml_rl, Pm, [23]uint8{0x4d}},
- Optab{ACMOVLGT, yml_rl, Pm, [23]uint8{0x4f}},
- Optab{ACMOVLHI, yml_rl, Pm, [23]uint8{0x47}},
- Optab{ACMOVLLE, yml_rl, Pm, [23]uint8{0x4e}},
- Optab{ACMOVLLS, yml_rl, Pm, [23]uint8{0x46}},
- Optab{ACMOVLLT, yml_rl, Pm, [23]uint8{0x4c}},
- Optab{ACMOVLMI, yml_rl, Pm, [23]uint8{0x48}},
- Optab{ACMOVLNE, yml_rl, Pm, [23]uint8{0x45}},
- Optab{ACMOVLOC, yml_rl, Pm, [23]uint8{0x41}},
- Optab{ACMOVLOS, yml_rl, Pm, [23]uint8{0x40}},
- Optab{ACMOVLPC, yml_rl, Pm, [23]uint8{0x4b}},
- Optab{ACMOVLPL, yml_rl, Pm, [23]uint8{0x49}},
- Optab{ACMOVLPS, yml_rl, Pm, [23]uint8{0x4a}},
- Optab{ACMOVQCC, yml_rl, Pw, [23]uint8{0x0f, 0x43}},
- Optab{ACMOVQCS, yml_rl, Pw, [23]uint8{0x0f, 0x42}},
- Optab{ACMOVQEQ, yml_rl, Pw, [23]uint8{0x0f, 0x44}},
- Optab{ACMOVQGE, yml_rl, Pw, [23]uint8{0x0f, 0x4d}},
- Optab{ACMOVQGT, yml_rl, Pw, [23]uint8{0x0f, 0x4f}},
- Optab{ACMOVQHI, yml_rl, Pw, [23]uint8{0x0f, 0x47}},
- Optab{ACMOVQLE, yml_rl, Pw, [23]uint8{0x0f, 0x4e}},
- Optab{ACMOVQLS, yml_rl, Pw, [23]uint8{0x0f, 0x46}},
- Optab{ACMOVQLT, yml_rl, Pw, [23]uint8{0x0f, 0x4c}},
- Optab{ACMOVQMI, yml_rl, Pw, [23]uint8{0x0f, 0x48}},
- Optab{ACMOVQNE, yml_rl, Pw, [23]uint8{0x0f, 0x45}},
- Optab{ACMOVQOC, yml_rl, Pw, [23]uint8{0x0f, 0x41}},
- Optab{ACMOVQOS, yml_rl, Pw, [23]uint8{0x0f, 0x40}},
- Optab{ACMOVQPC, yml_rl, Pw, [23]uint8{0x0f, 0x4b}},
- Optab{ACMOVQPL, yml_rl, Pw, [23]uint8{0x0f, 0x49}},
- Optab{ACMOVQPS, yml_rl, Pw, [23]uint8{0x0f, 0x4a}},
- Optab{ACMOVWCC, yml_rl, Pq, [23]uint8{0x43}},
- Optab{ACMOVWCS, yml_rl, Pq, [23]uint8{0x42}},
- Optab{ACMOVWEQ, yml_rl, Pq, [23]uint8{0x44}},
- Optab{ACMOVWGE, yml_rl, Pq, [23]uint8{0x4d}},
- Optab{ACMOVWGT, yml_rl, Pq, [23]uint8{0x4f}},
- Optab{ACMOVWHI, yml_rl, Pq, [23]uint8{0x47}},
- Optab{ACMOVWLE, yml_rl, Pq, [23]uint8{0x4e}},
- Optab{ACMOVWLS, yml_rl, Pq, [23]uint8{0x46}},
- Optab{ACMOVWLT, yml_rl, Pq, [23]uint8{0x4c}},
- Optab{ACMOVWMI, yml_rl, Pq, [23]uint8{0x48}},
- Optab{ACMOVWNE, yml_rl, Pq, [23]uint8{0x45}},
- Optab{ACMOVWOC, yml_rl, Pq, [23]uint8{0x41}},
- Optab{ACMOVWOS, yml_rl, Pq, [23]uint8{0x40}},
- Optab{ACMOVWPC, yml_rl, Pq, [23]uint8{0x4b}},
- Optab{ACMOVWPL, yml_rl, Pq, [23]uint8{0x49}},
- Optab{ACMOVWPS, yml_rl, Pq, [23]uint8{0x4a}},
- Optab{ACMPB, ycmpb, Pb, [23]uint8{0x3c, 0x80, 07, 0x38, 0x3a}},
- Optab{ACMPL, ycmpl, Px, [23]uint8{0x83, 07, 0x3d, 0x81, 07, 0x39, 0x3b}},
- Optab{ACMPPD, yxcmpi, Px, [23]uint8{Pe, 0xc2}},
- Optab{ACMPPS, yxcmpi, Pm, [23]uint8{0xc2, 0}},
- Optab{ACMPQ, ycmpl, Pw, [23]uint8{0x83, 07, 0x3d, 0x81, 07, 0x39, 0x3b}},
- Optab{ACMPSB, ynone, Pb, [23]uint8{0xa6}},
- Optab{ACMPSD, yxcmpi, Px, [23]uint8{Pf2, 0xc2}},
- Optab{ACMPSL, ynone, Px, [23]uint8{0xa7}},
- Optab{ACMPSQ, ynone, Pw, [23]uint8{0xa7}},
- Optab{ACMPSS, yxcmpi, Px, [23]uint8{Pf3, 0xc2}},
- Optab{ACMPSW, ynone, Pe, [23]uint8{0xa7}},
- Optab{ACMPW, ycmpl, Pe, [23]uint8{0x83, 07, 0x3d, 0x81, 07, 0x39, 0x3b}},
- Optab{ACOMISD, yxcmp, Pe, [23]uint8{0x2f}},
- Optab{ACOMISS, yxcmp, Pm, [23]uint8{0x2f}},
- Optab{ACPUID, ynone, Pm, [23]uint8{0xa2}},
- Optab{ACVTPL2PD, yxcvm2, Px, [23]uint8{Pf3, 0xe6, Pe, 0x2a}},
- Optab{ACVTPL2PS, yxcvm2, Pm, [23]uint8{0x5b, 0, 0x2a, 0}},
- Optab{ACVTPD2PL, yxcvm1, Px, [23]uint8{Pf2, 0xe6, Pe, 0x2d}},
- Optab{ACVTPD2PS, yxm, Pe, [23]uint8{0x5a}},
- Optab{ACVTPS2PL, yxcvm1, Px, [23]uint8{Pe, 0x5b, Pm, 0x2d}},
- Optab{ACVTPS2PD, yxm, Pm, [23]uint8{0x5a}},
- Optab{API2FW, ymfp, Px, [23]uint8{0x0c}},
- Optab{ACVTSD2SL, yxcvfl, Pf2, [23]uint8{0x2d}},
- Optab{ACVTSD2SQ, yxcvfq, Pw, [23]uint8{Pf2, 0x2d}},
- Optab{ACVTSD2SS, yxm, Pf2, [23]uint8{0x5a}},
- Optab{ACVTSL2SD, yxcvlf, Pf2, [23]uint8{0x2a}},
- Optab{ACVTSQ2SD, yxcvqf, Pw, [23]uint8{Pf2, 0x2a}},
- Optab{ACVTSL2SS, yxcvlf, Pf3, [23]uint8{0x2a}},
- Optab{ACVTSQ2SS, yxcvqf, Pw, [23]uint8{Pf3, 0x2a}},
- Optab{ACVTSS2SD, yxm, Pf3, [23]uint8{0x5a}},
- Optab{ACVTSS2SL, yxcvfl, Pf3, [23]uint8{0x2d}},
- Optab{ACVTSS2SQ, yxcvfq, Pw, [23]uint8{Pf3, 0x2d}},
- Optab{ACVTTPD2PL, yxcvm1, Px, [23]uint8{Pe, 0xe6, Pe, 0x2c}},
- Optab{ACVTTPS2PL, yxcvm1, Px, [23]uint8{Pf3, 0x5b, Pm, 0x2c}},
- Optab{ACVTTSD2SL, yxcvfl, Pf2, [23]uint8{0x2c}},
- Optab{ACVTTSD2SQ, yxcvfq, Pw, [23]uint8{Pf2, 0x2c}},
- Optab{ACVTTSS2SL, yxcvfl, Pf3, [23]uint8{0x2c}},
- Optab{ACVTTSS2SQ, yxcvfq, Pw, [23]uint8{Pf3, 0x2c}},
- Optab{ACWD, ynone, Pe, [23]uint8{0x99}},
- Optab{ACQO, ynone, Pw, [23]uint8{0x99}},
- Optab{ADAA, ynone, P32, [23]uint8{0x27}},
- Optab{ADAS, ynone, P32, [23]uint8{0x2f}},
- Optab{obj.ADATA, nil, 0, [23]uint8{}},
- Optab{ADECB, yincb, Pb, [23]uint8{0xfe, 01}},
- Optab{ADECL, yincl, Px1, [23]uint8{0x48, 0xff, 01}},
- Optab{ADECQ, yincq, Pw, [23]uint8{0xff, 01}},
- Optab{ADECW, yincw, Pe, [23]uint8{0xff, 01}},
- Optab{ADIVB, ydivb, Pb, [23]uint8{0xf6, 06}},
- Optab{ADIVL, ydivl, Px, [23]uint8{0xf7, 06}},
- Optab{ADIVPD, yxm, Pe, [23]uint8{0x5e}},
- Optab{ADIVPS, yxm, Pm, [23]uint8{0x5e}},
- Optab{ADIVQ, ydivl, Pw, [23]uint8{0xf7, 06}},
- Optab{ADIVSD, yxm, Pf2, [23]uint8{0x5e}},
- Optab{ADIVSS, yxm, Pf3, [23]uint8{0x5e}},
- Optab{ADIVW, ydivl, Pe, [23]uint8{0xf7, 06}},
- Optab{AEMMS, ynone, Pm, [23]uint8{0x77}},
- Optab{AENTER, nil, 0, [23]uint8{}}, /* botch */
- Optab{AFXRSTOR, ysvrs, Pm, [23]uint8{0xae, 01, 0xae, 01}},
- Optab{AFXSAVE, ysvrs, Pm, [23]uint8{0xae, 00, 0xae, 00}},
- Optab{AFXRSTOR64, ysvrs, Pw, [23]uint8{0x0f, 0xae, 01, 0x0f, 0xae, 01}},
- Optab{AFXSAVE64, ysvrs, Pw, [23]uint8{0x0f, 0xae, 00, 0x0f, 0xae, 00}},
- Optab{obj.AGLOBL, nil, 0, [23]uint8{}},
- Optab{AHLT, ynone, Px, [23]uint8{0xf4}},
- Optab{AIDIVB, ydivb, Pb, [23]uint8{0xf6, 07}},
- Optab{AIDIVL, ydivl, Px, [23]uint8{0xf7, 07}},
- Optab{AIDIVQ, ydivl, Pw, [23]uint8{0xf7, 07}},
- Optab{AIDIVW, ydivl, Pe, [23]uint8{0xf7, 07}},
- Optab{AIMULB, ydivb, Pb, [23]uint8{0xf6, 05}},
- Optab{AIMULL, yimul, Px, [23]uint8{0xf7, 05, 0x6b, 0x69, Pm, 0xaf}},
- Optab{AIMULQ, yimul, Pw, [23]uint8{0xf7, 05, 0x6b, 0x69, Pm, 0xaf}},
- Optab{AIMULW, yimul, Pe, [23]uint8{0xf7, 05, 0x6b, 0x69, Pm, 0xaf}},
- Optab{AIMUL3Q, yimul3, Pw, [23]uint8{0x6b, 00}},
- Optab{AINB, yin, Pb, [23]uint8{0xe4, 0xec}},
- Optab{AINCB, yincb, Pb, [23]uint8{0xfe, 00}},
- Optab{AINCL, yincl, Px1, [23]uint8{0x40, 0xff, 00}},
- Optab{AINCQ, yincq, Pw, [23]uint8{0xff, 00}},
- Optab{AINCW, yincw, Pe, [23]uint8{0xff, 00}},
- Optab{AINL, yin, Px, [23]uint8{0xe5, 0xed}},
- Optab{AINSB, ynone, Pb, [23]uint8{0x6c}},
- Optab{AINSL, ynone, Px, [23]uint8{0x6d}},
- Optab{AINSW, ynone, Pe, [23]uint8{0x6d}},
- Optab{AINT, yint, Px, [23]uint8{0xcd}},
- Optab{AINTO, ynone, P32, [23]uint8{0xce}},
- Optab{AINW, yin, Pe, [23]uint8{0xe5, 0xed}},
- Optab{AIRETL, ynone, Px, [23]uint8{0xcf}},
- Optab{AIRETQ, ynone, Pw, [23]uint8{0xcf}},
- Optab{AIRETW, ynone, Pe, [23]uint8{0xcf}},
- Optab{AJCC, yjcond, Px, [23]uint8{0x73, 0x83, 00}},
- Optab{AJCS, yjcond, Px, [23]uint8{0x72, 0x82}},
- Optab{AJCXZL, yloop, Px, [23]uint8{0xe3}},
- Optab{AJCXZW, yloop, Px, [23]uint8{0xe3}},
- Optab{AJCXZQ, yloop, Px, [23]uint8{0xe3}},
- Optab{AJEQ, yjcond, Px, [23]uint8{0x74, 0x84}},
- Optab{AJGE, yjcond, Px, [23]uint8{0x7d, 0x8d}},
- Optab{AJGT, yjcond, Px, [23]uint8{0x7f, 0x8f}},
- Optab{AJHI, yjcond, Px, [23]uint8{0x77, 0x87}},
- Optab{AJLE, yjcond, Px, [23]uint8{0x7e, 0x8e}},
- Optab{AJLS, yjcond, Px, [23]uint8{0x76, 0x86}},
- Optab{AJLT, yjcond, Px, [23]uint8{0x7c, 0x8c}},
- Optab{AJMI, yjcond, Px, [23]uint8{0x78, 0x88}},
- Optab{obj.AJMP, yjmp, Px, [23]uint8{0xff, 04, 0xeb, 0xe9}},
- Optab{AJNE, yjcond, Px, [23]uint8{0x75, 0x85}},
- Optab{AJOC, yjcond, Px, [23]uint8{0x71, 0x81, 00}},
- Optab{AJOS, yjcond, Px, [23]uint8{0x70, 0x80, 00}},
- Optab{AJPC, yjcond, Px, [23]uint8{0x7b, 0x8b}},
- Optab{AJPL, yjcond, Px, [23]uint8{0x79, 0x89}},
- Optab{AJPS, yjcond, Px, [23]uint8{0x7a, 0x8a}},
- Optab{ALAHF, ynone, Px, [23]uint8{0x9f}},
- Optab{ALARL, yml_rl, Pm, [23]uint8{0x02}},
- Optab{ALARW, yml_rl, Pq, [23]uint8{0x02}},
- Optab{ALDMXCSR, ysvrs, Pm, [23]uint8{0xae, 02, 0xae, 02}},
- Optab{ALEAL, ym_rl, Px, [23]uint8{0x8d}},
- Optab{ALEAQ, ym_rl, Pw, [23]uint8{0x8d}},
- Optab{ALEAVEL, ynone, P32, [23]uint8{0xc9}},
- Optab{ALEAVEQ, ynone, Py, [23]uint8{0xc9}},
- Optab{ALEAVEW, ynone, Pe, [23]uint8{0xc9}},
- Optab{ALEAW, ym_rl, Pe, [23]uint8{0x8d}},
- Optab{ALOCK, ynone, Px, [23]uint8{0xf0}},
- Optab{ALODSB, ynone, Pb, [23]uint8{0xac}},
- Optab{ALODSL, ynone, Px, [23]uint8{0xad}},
- Optab{ALODSQ, ynone, Pw, [23]uint8{0xad}},
- Optab{ALODSW, ynone, Pe, [23]uint8{0xad}},
- Optab{ALONG, ybyte, Px, [23]uint8{4}},
- Optab{ALOOP, yloop, Px, [23]uint8{0xe2}},
- Optab{ALOOPEQ, yloop, Px, [23]uint8{0xe1}},
- Optab{ALOOPNE, yloop, Px, [23]uint8{0xe0}},
- Optab{ALSLL, yml_rl, Pm, [23]uint8{0x03}},
- Optab{ALSLW, yml_rl, Pq, [23]uint8{0x03}},
- Optab{AMASKMOVOU, yxr, Pe, [23]uint8{0xf7}},
- Optab{AMASKMOVQ, ymr, Pm, [23]uint8{0xf7}},
- Optab{AMAXPD, yxm, Pe, [23]uint8{0x5f}},
- Optab{AMAXPS, yxm, Pm, [23]uint8{0x5f}},
- Optab{AMAXSD, yxm, Pf2, [23]uint8{0x5f}},
- Optab{AMAXSS, yxm, Pf3, [23]uint8{0x5f}},
- Optab{AMINPD, yxm, Pe, [23]uint8{0x5d}},
- Optab{AMINPS, yxm, Pm, [23]uint8{0x5d}},
- Optab{AMINSD, yxm, Pf2, [23]uint8{0x5d}},
- Optab{AMINSS, yxm, Pf3, [23]uint8{0x5d}},
- Optab{AMOVAPD, yxmov, Pe, [23]uint8{0x28, 0x29}},
- Optab{AMOVAPS, yxmov, Pm, [23]uint8{0x28, 0x29}},
- Optab{AMOVB, ymovb, Pb, [23]uint8{0x88, 0x8a, 0xb0, 0xc6, 00}},
- Optab{AMOVBLSX, ymb_rl, Pm, [23]uint8{0xbe}},
- Optab{AMOVBLZX, ymb_rl, Pm, [23]uint8{0xb6}},
- Optab{AMOVBQSX, ymb_rl, Pw, [23]uint8{0x0f, 0xbe}},
- Optab{AMOVBQZX, ymb_rl, Pm, [23]uint8{0xb6}},
- Optab{AMOVBWSX, ymb_rl, Pq, [23]uint8{0xbe}},
- Optab{AMOVBWZX, ymb_rl, Pq, [23]uint8{0xb6}},
- Optab{AMOVO, yxmov, Pe, [23]uint8{0x6f, 0x7f}},
- Optab{AMOVOU, yxmov, Pf3, [23]uint8{0x6f, 0x7f}},
- Optab{AMOVHLPS, yxr, Pm, [23]uint8{0x12}},
- Optab{AMOVHPD, yxmov, Pe, [23]uint8{0x16, 0x17}},
- Optab{AMOVHPS, yxmov, Pm, [23]uint8{0x16, 0x17}},
- Optab{AMOVL, ymovl, Px, [23]uint8{0x89, 0x8b, 0x31, 0xb8, 0xc7, 00, 0x6e, 0x7e, Pe, 0x6e, Pe, 0x7e, 0}},
- Optab{AMOVLHPS, yxr, Pm, [23]uint8{0x16}},
- Optab{AMOVLPD, yxmov, Pe, [23]uint8{0x12, 0x13}},
- Optab{AMOVLPS, yxmov, Pm, [23]uint8{0x12, 0x13}},
- Optab{AMOVLQSX, yml_rl, Pw, [23]uint8{0x63}},
- Optab{AMOVLQZX, yml_rl, Px, [23]uint8{0x8b}},
- Optab{AMOVMSKPD, yxrrl, Pq, [23]uint8{0x50}},
- Optab{AMOVMSKPS, yxrrl, Pm, [23]uint8{0x50}},
- Optab{AMOVNTO, yxr_ml, Pe, [23]uint8{0xe7}},
- Optab{AMOVNTPD, yxr_ml, Pe, [23]uint8{0x2b}},
- Optab{AMOVNTPS, yxr_ml, Pm, [23]uint8{0x2b}},
- Optab{AMOVNTQ, ymr_ml, Pm, [23]uint8{0xe7}},
- Optab{AMOVQ, ymovq, Pw8, [23]uint8{0x6f, 0x7f, Pf2, 0xd6, Pf3, 0x7e, Pe, 0xd6, 0x89, 0x8b, 0x31, 0xc7, 00, 0xb8, 0xc7, 00, 0x6e, 0x7e, Pe, 0x6e, Pe, 0x7e, 0}},
- Optab{AMOVQOZX, ymrxr, Pf3, [23]uint8{0xd6, 0x7e}},
- Optab{AMOVSB, ynone, Pb, [23]uint8{0xa4}},
- Optab{AMOVSD, yxmov, Pf2, [23]uint8{0x10, 0x11}},
- Optab{AMOVSL, ynone, Px, [23]uint8{0xa5}},
- Optab{AMOVSQ, ynone, Pw, [23]uint8{0xa5}},
- Optab{AMOVSS, yxmov, Pf3, [23]uint8{0x10, 0x11}},
- Optab{AMOVSW, ynone, Pe, [23]uint8{0xa5}},
- Optab{AMOVUPD, yxmov, Pe, [23]uint8{0x10, 0x11}},
- Optab{AMOVUPS, yxmov, Pm, [23]uint8{0x10, 0x11}},
- Optab{AMOVW, ymovw, Pe, [23]uint8{0x89, 0x8b, 0x31, 0xb8, 0xc7, 00, 0}},
- Optab{AMOVWLSX, yml_rl, Pm, [23]uint8{0xbf}},
- Optab{AMOVWLZX, yml_rl, Pm, [23]uint8{0xb7}},
- Optab{AMOVWQSX, yml_rl, Pw, [23]uint8{0x0f, 0xbf}},
- Optab{AMOVWQZX, yml_rl, Pw, [23]uint8{0x0f, 0xb7}},
- Optab{AMULB, ydivb, Pb, [23]uint8{0xf6, 04}},
- Optab{AMULL, ydivl, Px, [23]uint8{0xf7, 04}},
- Optab{AMULPD, yxm, Pe, [23]uint8{0x59}},
- Optab{AMULPS, yxm, Ym, [23]uint8{0x59}},
- Optab{AMULQ, ydivl, Pw, [23]uint8{0xf7, 04}},
- Optab{AMULSD, yxm, Pf2, [23]uint8{0x59}},
- Optab{AMULSS, yxm, Pf3, [23]uint8{0x59}},
- Optab{AMULW, ydivl, Pe, [23]uint8{0xf7, 04}},
- Optab{ANEGB, yscond, Pb, [23]uint8{0xf6, 03}},
- Optab{ANEGL, yscond, Px, [23]uint8{0xf7, 03}},
- Optab{ANEGQ, yscond, Pw, [23]uint8{0xf7, 03}},
- Optab{ANEGW, yscond, Pe, [23]uint8{0xf7, 03}},
- Optab{obj.ANOP, ynop, Px, [23]uint8{0, 0}},
- Optab{ANOTB, yscond, Pb, [23]uint8{0xf6, 02}},
- Optab{ANOTL, yscond, Px, [23]uint8{0xf7, 02}}, // TODO(rsc): yscond is wrong here.
- Optab{ANOTQ, yscond, Pw, [23]uint8{0xf7, 02}},
- Optab{ANOTW, yscond, Pe, [23]uint8{0xf7, 02}},
- Optab{AORB, yxorb, Pb, [23]uint8{0x0c, 0x80, 01, 0x08, 0x0a}},
- Optab{AORL, yxorl, Px, [23]uint8{0x83, 01, 0x0d, 0x81, 01, 0x09, 0x0b}},
- Optab{AORPD, yxm, Pq, [23]uint8{0x56}},
- Optab{AORPS, yxm, Pm, [23]uint8{0x56}},
- Optab{AORQ, yxorl, Pw, [23]uint8{0x83, 01, 0x0d, 0x81, 01, 0x09, 0x0b}},
- Optab{AORW, yxorl, Pe, [23]uint8{0x83, 01, 0x0d, 0x81, 01, 0x09, 0x0b}},
- Optab{AOUTB, yin, Pb, [23]uint8{0xe6, 0xee}},
- Optab{AOUTL, yin, Px, [23]uint8{0xe7, 0xef}},
- Optab{AOUTSB, ynone, Pb, [23]uint8{0x6e}},
- Optab{AOUTSL, ynone, Px, [23]uint8{0x6f}},
- Optab{AOUTSW, ynone, Pe, [23]uint8{0x6f}},
- Optab{AOUTW, yin, Pe, [23]uint8{0xe7, 0xef}},
- Optab{APACKSSLW, ymm, Py1, [23]uint8{0x6b, Pe, 0x6b}},
- Optab{APACKSSWB, ymm, Py1, [23]uint8{0x63, Pe, 0x63}},
- Optab{APACKUSWB, ymm, Py1, [23]uint8{0x67, Pe, 0x67}},
- Optab{APADDB, ymm, Py1, [23]uint8{0xfc, Pe, 0xfc}},
- Optab{APADDL, ymm, Py1, [23]uint8{0xfe, Pe, 0xfe}},
- Optab{APADDQ, yxm, Pe, [23]uint8{0xd4}},
- Optab{APADDSB, ymm, Py1, [23]uint8{0xec, Pe, 0xec}},
- Optab{APADDSW, ymm, Py1, [23]uint8{0xed, Pe, 0xed}},
- Optab{APADDUSB, ymm, Py1, [23]uint8{0xdc, Pe, 0xdc}},
- Optab{APADDUSW, ymm, Py1, [23]uint8{0xdd, Pe, 0xdd}},
- Optab{APADDW, ymm, Py1, [23]uint8{0xfd, Pe, 0xfd}},
- Optab{APAND, ymm, Py1, [23]uint8{0xdb, Pe, 0xdb}},
- Optab{APANDN, ymm, Py1, [23]uint8{0xdf, Pe, 0xdf}},
- Optab{APAUSE, ynone, Px, [23]uint8{0xf3, 0x90}},
- Optab{APAVGB, ymm, Py1, [23]uint8{0xe0, Pe, 0xe0}},
- Optab{APAVGW, ymm, Py1, [23]uint8{0xe3, Pe, 0xe3}},
- Optab{APCMPEQB, ymm, Py1, [23]uint8{0x74, Pe, 0x74}},
- Optab{APCMPEQL, ymm, Py1, [23]uint8{0x76, Pe, 0x76}},
- Optab{APCMPEQW, ymm, Py1, [23]uint8{0x75, Pe, 0x75}},
- Optab{APCMPGTB, ymm, Py1, [23]uint8{0x64, Pe, 0x64}},
- Optab{APCMPGTL, ymm, Py1, [23]uint8{0x66, Pe, 0x66}},
- Optab{APCMPGTW, ymm, Py1, [23]uint8{0x65, Pe, 0x65}},
- Optab{APEXTRW, yextrw, Pq, [23]uint8{0xc5, 00}},
- Optab{APF2IL, ymfp, Px, [23]uint8{0x1d}},
- Optab{APF2IW, ymfp, Px, [23]uint8{0x1c}},
- Optab{API2FL, ymfp, Px, [23]uint8{0x0d}},
- Optab{APFACC, ymfp, Px, [23]uint8{0xae}},
- Optab{APFADD, ymfp, Px, [23]uint8{0x9e}},
- Optab{APFCMPEQ, ymfp, Px, [23]uint8{0xb0}},
- Optab{APFCMPGE, ymfp, Px, [23]uint8{0x90}},
- Optab{APFCMPGT, ymfp, Px, [23]uint8{0xa0}},
- Optab{APFMAX, ymfp, Px, [23]uint8{0xa4}},
- Optab{APFMIN, ymfp, Px, [23]uint8{0x94}},
- Optab{APFMUL, ymfp, Px, [23]uint8{0xb4}},
- Optab{APFNACC, ymfp, Px, [23]uint8{0x8a}},
- Optab{APFPNACC, ymfp, Px, [23]uint8{0x8e}},
- Optab{APFRCP, ymfp, Px, [23]uint8{0x96}},
- Optab{APFRCPIT1, ymfp, Px, [23]uint8{0xa6}},
- Optab{APFRCPI2T, ymfp, Px, [23]uint8{0xb6}},
- Optab{APFRSQIT1, ymfp, Px, [23]uint8{0xa7}},
- Optab{APFRSQRT, ymfp, Px, [23]uint8{0x97}},
- Optab{APFSUB, ymfp, Px, [23]uint8{0x9a}},
- Optab{APFSUBR, ymfp, Px, [23]uint8{0xaa}},
- Optab{APINSRW, yinsrw, Pq, [23]uint8{0xc4, 00}},
- Optab{APINSRD, yinsr, Pq, [23]uint8{0x3a, 0x22, 00}},
- Optab{APINSRQ, yinsr, Pq3, [23]uint8{0x3a, 0x22, 00}},
- Optab{APMADDWL, ymm, Py1, [23]uint8{0xf5, Pe, 0xf5}},
- Optab{APMAXSW, yxm, Pe, [23]uint8{0xee}},
- Optab{APMAXUB, yxm, Pe, [23]uint8{0xde}},
- Optab{APMINSW, yxm, Pe, [23]uint8{0xea}},
- Optab{APMINUB, yxm, Pe, [23]uint8{0xda}},
- Optab{APMOVMSKB, ymskb, Px, [23]uint8{Pe, 0xd7, 0xd7}},
- Optab{APMULHRW, ymfp, Px, [23]uint8{0xb7}},
- Optab{APMULHUW, ymm, Py1, [23]uint8{0xe4, Pe, 0xe4}},
- Optab{APMULHW, ymm, Py1, [23]uint8{0xe5, Pe, 0xe5}},
- Optab{APMULLW, ymm, Py1, [23]uint8{0xd5, Pe, 0xd5}},
- Optab{APMULULQ, ymm, Py1, [23]uint8{0xf4, Pe, 0xf4}},
- Optab{APOPAL, ynone, P32, [23]uint8{0x61}},
- Optab{APOPAW, ynone, Pe, [23]uint8{0x61}},
- Optab{APOPFL, ynone, P32, [23]uint8{0x9d}},
- Optab{APOPFQ, ynone, Py, [23]uint8{0x9d}},
- Optab{APOPFW, ynone, Pe, [23]uint8{0x9d}},
- Optab{APOPL, ypopl, P32, [23]uint8{0x58, 0x8f, 00}},
- Optab{APOPQ, ypopl, Py, [23]uint8{0x58, 0x8f, 00}},
- Optab{APOPW, ypopl, Pe, [23]uint8{0x58, 0x8f, 00}},
- Optab{APOR, ymm, Py1, [23]uint8{0xeb, Pe, 0xeb}},
- Optab{APSADBW, yxm, Pq, [23]uint8{0xf6}},
- Optab{APSHUFHW, yxshuf, Pf3, [23]uint8{0x70, 00}},
- Optab{APSHUFL, yxshuf, Pq, [23]uint8{0x70, 00}},
- Optab{APSHUFLW, yxshuf, Pf2, [23]uint8{0x70, 00}},
- Optab{APSHUFW, ymshuf, Pm, [23]uint8{0x70, 00}},
- Optab{APSHUFB, ymshufb, Pq, [23]uint8{0x38, 0x00}},
- Optab{APSLLO, ypsdq, Pq, [23]uint8{0x73, 07}},
- Optab{APSLLL, yps, Py3, [23]uint8{0xf2, 0x72, 06, Pe, 0xf2, Pe, 0x72, 06}},
- Optab{APSLLQ, yps, Py3, [23]uint8{0xf3, 0x73, 06, Pe, 0xf3, Pe, 0x73, 06}},
- Optab{APSLLW, yps, Py3, [23]uint8{0xf1, 0x71, 06, Pe, 0xf1, Pe, 0x71, 06}},
- Optab{APSRAL, yps, Py3, [23]uint8{0xe2, 0x72, 04, Pe, 0xe2, Pe, 0x72, 04}},
- Optab{APSRAW, yps, Py3, [23]uint8{0xe1, 0x71, 04, Pe, 0xe1, Pe, 0x71, 04}},
- Optab{APSRLO, ypsdq, Pq, [23]uint8{0x73, 03}},
- Optab{APSRLL, yps, Py3, [23]uint8{0xd2, 0x72, 02, Pe, 0xd2, Pe, 0x72, 02}},
- Optab{APSRLQ, yps, Py3, [23]uint8{0xd3, 0x73, 02, Pe, 0xd3, Pe, 0x73, 02}},
- Optab{APSRLW, yps, Py3, [23]uint8{0xd1, 0x71, 02, Pe, 0xe1, Pe, 0x71, 02}},
- Optab{APSUBB, yxm, Pe, [23]uint8{0xf8}},
- Optab{APSUBL, yxm, Pe, [23]uint8{0xfa}},
- Optab{APSUBQ, yxm, Pe, [23]uint8{0xfb}},
- Optab{APSUBSB, yxm, Pe, [23]uint8{0xe8}},
- Optab{APSUBSW, yxm, Pe, [23]uint8{0xe9}},
- Optab{APSUBUSB, yxm, Pe, [23]uint8{0xd8}},
- Optab{APSUBUSW, yxm, Pe, [23]uint8{0xd9}},
- Optab{APSUBW, yxm, Pe, [23]uint8{0xf9}},
- Optab{APSWAPL, ymfp, Px, [23]uint8{0xbb}},
- Optab{APUNPCKHBW, ymm, Py1, [23]uint8{0x68, Pe, 0x68}},
- Optab{APUNPCKHLQ, ymm, Py1, [23]uint8{0x6a, Pe, 0x6a}},
- Optab{APUNPCKHQDQ, yxm, Pe, [23]uint8{0x6d}},
- Optab{APUNPCKHWL, ymm, Py1, [23]uint8{0x69, Pe, 0x69}},
- Optab{APUNPCKLBW, ymm, Py1, [23]uint8{0x60, Pe, 0x60}},
- Optab{APUNPCKLLQ, ymm, Py1, [23]uint8{0x62, Pe, 0x62}},
- Optab{APUNPCKLQDQ, yxm, Pe, [23]uint8{0x6c}},
- Optab{APUNPCKLWL, ymm, Py1, [23]uint8{0x61, Pe, 0x61}},
- Optab{APUSHAL, ynone, P32, [23]uint8{0x60}},
- Optab{APUSHAW, ynone, Pe, [23]uint8{0x60}},
- Optab{APUSHFL, ynone, P32, [23]uint8{0x9c}},
- Optab{APUSHFQ, ynone, Py, [23]uint8{0x9c}},
- Optab{APUSHFW, ynone, Pe, [23]uint8{0x9c}},
- Optab{APUSHL, ypushl, P32, [23]uint8{0x50, 0xff, 06, 0x6a, 0x68}},
- Optab{APUSHQ, ypushl, Py, [23]uint8{0x50, 0xff, 06, 0x6a, 0x68}},
- Optab{APUSHW, ypushl, Pe, [23]uint8{0x50, 0xff, 06, 0x6a, 0x68}},
- Optab{APXOR, ymm, Py1, [23]uint8{0xef, Pe, 0xef}},
- Optab{AQUAD, ybyte, Px, [23]uint8{8}},
- Optab{ARCLB, yshb, Pb, [23]uint8{0xd0, 02, 0xc0, 02, 0xd2, 02}},
- Optab{ARCLL, yshl, Px, [23]uint8{0xd1, 02, 0xc1, 02, 0xd3, 02, 0xd3, 02}},
- Optab{ARCLQ, yshl, Pw, [23]uint8{0xd1, 02, 0xc1, 02, 0xd3, 02, 0xd3, 02}},
- Optab{ARCLW, yshl, Pe, [23]uint8{0xd1, 02, 0xc1, 02, 0xd3, 02, 0xd3, 02}},
- Optab{ARCPPS, yxm, Pm, [23]uint8{0x53}},
- Optab{ARCPSS, yxm, Pf3, [23]uint8{0x53}},
- Optab{ARCRB, yshb, Pb, [23]uint8{0xd0, 03, 0xc0, 03, 0xd2, 03}},
- Optab{ARCRL, yshl, Px, [23]uint8{0xd1, 03, 0xc1, 03, 0xd3, 03, 0xd3, 03}},
- Optab{ARCRQ, yshl, Pw, [23]uint8{0xd1, 03, 0xc1, 03, 0xd3, 03, 0xd3, 03}},
- Optab{ARCRW, yshl, Pe, [23]uint8{0xd1, 03, 0xc1, 03, 0xd3, 03, 0xd3, 03}},
- Optab{AREP, ynone, Px, [23]uint8{0xf3}},
- Optab{AREPN, ynone, Px, [23]uint8{0xf2}},
- Optab{obj.ARET, ynone, Px, [23]uint8{0xc3}},
- Optab{ARETFW, yret, Pe, [23]uint8{0xcb, 0xca}},
- Optab{ARETFL, yret, Px, [23]uint8{0xcb, 0xca}},
- Optab{ARETFQ, yret, Pw, [23]uint8{0xcb, 0xca}},
- Optab{AROLB, yshb, Pb, [23]uint8{0xd0, 00, 0xc0, 00, 0xd2, 00}},
- Optab{AROLL, yshl, Px, [23]uint8{0xd1, 00, 0xc1, 00, 0xd3, 00, 0xd3, 00}},
- Optab{AROLQ, yshl, Pw, [23]uint8{0xd1, 00, 0xc1, 00, 0xd3, 00, 0xd3, 00}},
- Optab{AROLW, yshl, Pe, [23]uint8{0xd1, 00, 0xc1, 00, 0xd3, 00, 0xd3, 00}},
- Optab{ARORB, yshb, Pb, [23]uint8{0xd0, 01, 0xc0, 01, 0xd2, 01}},
- Optab{ARORL, yshl, Px, [23]uint8{0xd1, 01, 0xc1, 01, 0xd3, 01, 0xd3, 01}},
- Optab{ARORQ, yshl, Pw, [23]uint8{0xd1, 01, 0xc1, 01, 0xd3, 01, 0xd3, 01}},
- Optab{ARORW, yshl, Pe, [23]uint8{0xd1, 01, 0xc1, 01, 0xd3, 01, 0xd3, 01}},
- Optab{ARSQRTPS, yxm, Pm, [23]uint8{0x52}},
- Optab{ARSQRTSS, yxm, Pf3, [23]uint8{0x52}},
- Optab{ASAHF, ynone, Px1, [23]uint8{0x9e, 00, 0x86, 0xe0, 0x50, 0x9d}}, /* XCHGB AH,AL; PUSH AX; POPFL */
- Optab{ASALB, yshb, Pb, [23]uint8{0xd0, 04, 0xc0, 04, 0xd2, 04}},
- Optab{ASALL, yshl, Px, [23]uint8{0xd1, 04, 0xc1, 04, 0xd3, 04, 0xd3, 04}},
- Optab{ASALQ, yshl, Pw, [23]uint8{0xd1, 04, 0xc1, 04, 0xd3, 04, 0xd3, 04}},
- Optab{ASALW, yshl, Pe, [23]uint8{0xd1, 04, 0xc1, 04, 0xd3, 04, 0xd3, 04}},
- Optab{ASARB, yshb, Pb, [23]uint8{0xd0, 07, 0xc0, 07, 0xd2, 07}},
- Optab{ASARL, yshl, Px, [23]uint8{0xd1, 07, 0xc1, 07, 0xd3, 07, 0xd3, 07}},
- Optab{ASARQ, yshl, Pw, [23]uint8{0xd1, 07, 0xc1, 07, 0xd3, 07, 0xd3, 07}},
- Optab{ASARW, yshl, Pe, [23]uint8{0xd1, 07, 0xc1, 07, 0xd3, 07, 0xd3, 07}},
- Optab{ASBBB, yxorb, Pb, [23]uint8{0x1c, 0x80, 03, 0x18, 0x1a}},
- Optab{ASBBL, yxorl, Px, [23]uint8{0x83, 03, 0x1d, 0x81, 03, 0x19, 0x1b}},
- Optab{ASBBQ, yxorl, Pw, [23]uint8{0x83, 03, 0x1d, 0x81, 03, 0x19, 0x1b}},
- Optab{ASBBW, yxorl, Pe, [23]uint8{0x83, 03, 0x1d, 0x81, 03, 0x19, 0x1b}},
- Optab{ASCASB, ynone, Pb, [23]uint8{0xae}},
- Optab{ASCASL, ynone, Px, [23]uint8{0xaf}},
- Optab{ASCASQ, ynone, Pw, [23]uint8{0xaf}},
- Optab{ASCASW, ynone, Pe, [23]uint8{0xaf}},
- Optab{ASETCC, yscond, Pb, [23]uint8{0x0f, 0x93, 00}},
- Optab{ASETCS, yscond, Pb, [23]uint8{0x0f, 0x92, 00}},
- Optab{ASETEQ, yscond, Pb, [23]uint8{0x0f, 0x94, 00}},
- Optab{ASETGE, yscond, Pb, [23]uint8{0x0f, 0x9d, 00}},
- Optab{ASETGT, yscond, Pb, [23]uint8{0x0f, 0x9f, 00}},
- Optab{ASETHI, yscond, Pb, [23]uint8{0x0f, 0x97, 00}},
- Optab{ASETLE, yscond, Pb, [23]uint8{0x0f, 0x9e, 00}},
- Optab{ASETLS, yscond, Pb, [23]uint8{0x0f, 0x96, 00}},
- Optab{ASETLT, yscond, Pb, [23]uint8{0x0f, 0x9c, 00}},
- Optab{ASETMI, yscond, Pb, [23]uint8{0x0f, 0x98, 00}},
- Optab{ASETNE, yscond, Pb, [23]uint8{0x0f, 0x95, 00}},
- Optab{ASETOC, yscond, Pb, [23]uint8{0x0f, 0x91, 00}},
- Optab{ASETOS, yscond, Pb, [23]uint8{0x0f, 0x90, 00}},
- Optab{ASETPC, yscond, Pb, [23]uint8{0x0f, 0x9b, 00}},
- Optab{ASETPL, yscond, Pb, [23]uint8{0x0f, 0x99, 00}},
- Optab{ASETPS, yscond, Pb, [23]uint8{0x0f, 0x9a, 00}},
- Optab{ASHLB, yshb, Pb, [23]uint8{0xd0, 04, 0xc0, 04, 0xd2, 04}},
- Optab{ASHLL, yshl, Px, [23]uint8{0xd1, 04, 0xc1, 04, 0xd3, 04, 0xd3, 04}},
- Optab{ASHLQ, yshl, Pw, [23]uint8{0xd1, 04, 0xc1, 04, 0xd3, 04, 0xd3, 04}},
- Optab{ASHLW, yshl, Pe, [23]uint8{0xd1, 04, 0xc1, 04, 0xd3, 04, 0xd3, 04}},
- Optab{ASHRB, yshb, Pb, [23]uint8{0xd0, 05, 0xc0, 05, 0xd2, 05}},
- Optab{ASHRL, yshl, Px, [23]uint8{0xd1, 05, 0xc1, 05, 0xd3, 05, 0xd3, 05}},
- Optab{ASHRQ, yshl, Pw, [23]uint8{0xd1, 05, 0xc1, 05, 0xd3, 05, 0xd3, 05}},
- Optab{ASHRW, yshl, Pe, [23]uint8{0xd1, 05, 0xc1, 05, 0xd3, 05, 0xd3, 05}},
- Optab{ASHUFPD, yxshuf, Pq, [23]uint8{0xc6, 00}},
- Optab{ASHUFPS, yxshuf, Pm, [23]uint8{0xc6, 00}},
- Optab{ASQRTPD, yxm, Pe, [23]uint8{0x51}},
- Optab{ASQRTPS, yxm, Pm, [23]uint8{0x51}},
- Optab{ASQRTSD, yxm, Pf2, [23]uint8{0x51}},
- Optab{ASQRTSS, yxm, Pf3, [23]uint8{0x51}},
- Optab{ASTC, ynone, Px, [23]uint8{0xf9}},
- Optab{ASTD, ynone, Px, [23]uint8{0xfd}},
- Optab{ASTI, ynone, Px, [23]uint8{0xfb}},
- Optab{ASTMXCSR, ysvrs, Pm, [23]uint8{0xae, 03, 0xae, 03}},
- Optab{ASTOSB, ynone, Pb, [23]uint8{0xaa}},
- Optab{ASTOSL, ynone, Px, [23]uint8{0xab}},
- Optab{ASTOSQ, ynone, Pw, [23]uint8{0xab}},
- Optab{ASTOSW, ynone, Pe, [23]uint8{0xab}},
- Optab{ASUBB, yxorb, Pb, [23]uint8{0x2c, 0x80, 05, 0x28, 0x2a}},
- Optab{ASUBL, yaddl, Px, [23]uint8{0x83, 05, 0x2d, 0x81, 05, 0x29, 0x2b}},
- Optab{ASUBPD, yxm, Pe, [23]uint8{0x5c}},
- Optab{ASUBPS, yxm, Pm, [23]uint8{0x5c}},
- Optab{ASUBQ, yaddl, Pw, [23]uint8{0x83, 05, 0x2d, 0x81, 05, 0x29, 0x2b}},
- Optab{ASUBSD, yxm, Pf2, [23]uint8{0x5c}},
- Optab{ASUBSS, yxm, Pf3, [23]uint8{0x5c}},
- Optab{ASUBW, yaddl, Pe, [23]uint8{0x83, 05, 0x2d, 0x81, 05, 0x29, 0x2b}},
- Optab{ASWAPGS, ynone, Pm, [23]uint8{0x01, 0xf8}},
- Optab{ASYSCALL, ynone, Px, [23]uint8{0x0f, 0x05}}, /* fast syscall */
- Optab{ATESTB, ytestb, Pb, [23]uint8{0xa8, 0xf6, 00, 0x84, 0x84}},
- Optab{ATESTL, ytestl, Px, [23]uint8{0xa9, 0xf7, 00, 0x85, 0x85}},
- Optab{ATESTQ, ytestl, Pw, [23]uint8{0xa9, 0xf7, 00, 0x85, 0x85}},
- Optab{ATESTW, ytestl, Pe, [23]uint8{0xa9, 0xf7, 00, 0x85, 0x85}},
- Optab{obj.ATEXT, ytext, Px, [23]uint8{}},
- Optab{AUCOMISD, yxcmp, Pe, [23]uint8{0x2e}},
- Optab{AUCOMISS, yxcmp, Pm, [23]uint8{0x2e}},
- Optab{AUNPCKHPD, yxm, Pe, [23]uint8{0x15}},
- Optab{AUNPCKHPS, yxm, Pm, [23]uint8{0x15}},
- Optab{AUNPCKLPD, yxm, Pe, [23]uint8{0x14}},
- Optab{AUNPCKLPS, yxm, Pm, [23]uint8{0x14}},
- Optab{AVERR, ydivl, Pm, [23]uint8{0x00, 04}},
- Optab{AVERW, ydivl, Pm, [23]uint8{0x00, 05}},
- Optab{AWAIT, ynone, Px, [23]uint8{0x9b}},
- Optab{AWORD, ybyte, Px, [23]uint8{2}},
- Optab{AXCHGB, yml_mb, Pb, [23]uint8{0x86, 0x86}},
- Optab{AXCHGL, yxchg, Px, [23]uint8{0x90, 0x90, 0x87, 0x87}},
- Optab{AXCHGQ, yxchg, Pw, [23]uint8{0x90, 0x90, 0x87, 0x87}},
- Optab{AXCHGW, yxchg, Pe, [23]uint8{0x90, 0x90, 0x87, 0x87}},
- Optab{AXLAT, ynone, Px, [23]uint8{0xd7}},
- Optab{AXORB, yxorb, Pb, [23]uint8{0x34, 0x80, 06, 0x30, 0x32}},
- Optab{AXORL, yxorl, Px, [23]uint8{0x83, 06, 0x35, 0x81, 06, 0x31, 0x33}},
- Optab{AXORPD, yxm, Pe, [23]uint8{0x57}},
- Optab{AXORPS, yxm, Pm, [23]uint8{0x57}},
- Optab{AXORQ, yxorl, Pw, [23]uint8{0x83, 06, 0x35, 0x81, 06, 0x31, 0x33}},
- Optab{AXORW, yxorl, Pe, [23]uint8{0x83, 06, 0x35, 0x81, 06, 0x31, 0x33}},
- Optab{AFMOVB, yfmvx, Px, [23]uint8{0xdf, 04}},
- Optab{AFMOVBP, yfmvp, Px, [23]uint8{0xdf, 06}},
- Optab{AFMOVD, yfmvd, Px, [23]uint8{0xdd, 00, 0xdd, 02, 0xd9, 00, 0xdd, 02}},
- Optab{AFMOVDP, yfmvdp, Px, [23]uint8{0xdd, 03, 0xdd, 03}},
- Optab{AFMOVF, yfmvf, Px, [23]uint8{0xd9, 00, 0xd9, 02}},
- Optab{AFMOVFP, yfmvp, Px, [23]uint8{0xd9, 03}},
- Optab{AFMOVL, yfmvf, Px, [23]uint8{0xdb, 00, 0xdb, 02}},
- Optab{AFMOVLP, yfmvp, Px, [23]uint8{0xdb, 03}},
- Optab{AFMOVV, yfmvx, Px, [23]uint8{0xdf, 05}},
- Optab{AFMOVVP, yfmvp, Px, [23]uint8{0xdf, 07}},
- Optab{AFMOVW, yfmvf, Px, [23]uint8{0xdf, 00, 0xdf, 02}},
- Optab{AFMOVWP, yfmvp, Px, [23]uint8{0xdf, 03}},
- Optab{AFMOVX, yfmvx, Px, [23]uint8{0xdb, 05}},
- Optab{AFMOVXP, yfmvp, Px, [23]uint8{0xdb, 07}},
- Optab{AFCMOVCC, yfcmv, Px, [23]uint8{0xdb, 00}},
- Optab{AFCMOVCS, yfcmv, Px, [23]uint8{0xda, 00}},
- Optab{AFCMOVEQ, yfcmv, Px, [23]uint8{0xda, 01}},
- Optab{AFCMOVHI, yfcmv, Px, [23]uint8{0xdb, 02}},
- Optab{AFCMOVLS, yfcmv, Px, [23]uint8{0xda, 02}},
- Optab{AFCMOVNE, yfcmv, Px, [23]uint8{0xdb, 01}},
- Optab{AFCMOVNU, yfcmv, Px, [23]uint8{0xdb, 03}},
- Optab{AFCMOVUN, yfcmv, Px, [23]uint8{0xda, 03}},
- Optab{AFCOMB, nil, 0, [23]uint8{}},
- Optab{AFCOMBP, nil, 0, [23]uint8{}},
- Optab{AFCOMD, yfadd, Px, [23]uint8{0xdc, 02, 0xd8, 02, 0xdc, 02}}, /* botch */
- Optab{AFCOMDP, yfadd, Px, [23]uint8{0xdc, 03, 0xd8, 03, 0xdc, 03}}, /* botch */
- Optab{AFCOMDPP, ycompp, Px, [23]uint8{0xde, 03}},
- Optab{AFCOMF, yfmvx, Px, [23]uint8{0xd8, 02}},
- Optab{AFCOMFP, yfmvx, Px, [23]uint8{0xd8, 03}},
- Optab{AFCOMI, yfmvx, Px, [23]uint8{0xdb, 06}},
- Optab{AFCOMIP, yfmvx, Px, [23]uint8{0xdf, 06}},
- Optab{AFCOML, yfmvx, Px, [23]uint8{0xda, 02}},
- Optab{AFCOMLP, yfmvx, Px, [23]uint8{0xda, 03}},
- Optab{AFCOMW, yfmvx, Px, [23]uint8{0xde, 02}},
- Optab{AFCOMWP, yfmvx, Px, [23]uint8{0xde, 03}},
- Optab{AFUCOM, ycompp, Px, [23]uint8{0xdd, 04}},
- Optab{AFUCOMI, ycompp, Px, [23]uint8{0xdb, 05}},
- Optab{AFUCOMIP, ycompp, Px, [23]uint8{0xdf, 05}},
- Optab{AFUCOMP, ycompp, Px, [23]uint8{0xdd, 05}},
- Optab{AFUCOMPP, ycompp, Px, [23]uint8{0xda, 13}},
- Optab{AFADDDP, yfaddp, Px, [23]uint8{0xde, 00}},
- Optab{AFADDW, yfmvx, Px, [23]uint8{0xde, 00}},
- Optab{AFADDL, yfmvx, Px, [23]uint8{0xda, 00}},
- Optab{AFADDF, yfmvx, Px, [23]uint8{0xd8, 00}},
- Optab{AFADDD, yfadd, Px, [23]uint8{0xdc, 00, 0xd8, 00, 0xdc, 00}},
- Optab{AFMULDP, yfaddp, Px, [23]uint8{0xde, 01}},
- Optab{AFMULW, yfmvx, Px, [23]uint8{0xde, 01}},
- Optab{AFMULL, yfmvx, Px, [23]uint8{0xda, 01}},
- Optab{AFMULF, yfmvx, Px, [23]uint8{0xd8, 01}},
- Optab{AFMULD, yfadd, Px, [23]uint8{0xdc, 01, 0xd8, 01, 0xdc, 01}},
- Optab{AFSUBDP, yfaddp, Px, [23]uint8{0xde, 05}},
- Optab{AFSUBW, yfmvx, Px, [23]uint8{0xde, 04}},
- Optab{AFSUBL, yfmvx, Px, [23]uint8{0xda, 04}},
- Optab{AFSUBF, yfmvx, Px, [23]uint8{0xd8, 04}},
- Optab{AFSUBD, yfadd, Px, [23]uint8{0xdc, 04, 0xd8, 04, 0xdc, 05}},
- Optab{AFSUBRDP, yfaddp, Px, [23]uint8{0xde, 04}},
- Optab{AFSUBRW, yfmvx, Px, [23]uint8{0xde, 05}},
- Optab{AFSUBRL, yfmvx, Px, [23]uint8{0xda, 05}},
- Optab{AFSUBRF, yfmvx, Px, [23]uint8{0xd8, 05}},
- Optab{AFSUBRD, yfadd, Px, [23]uint8{0xdc, 05, 0xd8, 05, 0xdc, 04}},
- Optab{AFDIVDP, yfaddp, Px, [23]uint8{0xde, 07}},
- Optab{AFDIVW, yfmvx, Px, [23]uint8{0xde, 06}},
- Optab{AFDIVL, yfmvx, Px, [23]uint8{0xda, 06}},
- Optab{AFDIVF, yfmvx, Px, [23]uint8{0xd8, 06}},
- Optab{AFDIVD, yfadd, Px, [23]uint8{0xdc, 06, 0xd8, 06, 0xdc, 07}},
- Optab{AFDIVRDP, yfaddp, Px, [23]uint8{0xde, 06}},
- Optab{AFDIVRW, yfmvx, Px, [23]uint8{0xde, 07}},
- Optab{AFDIVRL, yfmvx, Px, [23]uint8{0xda, 07}},
- Optab{AFDIVRF, yfmvx, Px, [23]uint8{0xd8, 07}},
- Optab{AFDIVRD, yfadd, Px, [23]uint8{0xdc, 07, 0xd8, 07, 0xdc, 06}},
- Optab{AFXCHD, yfxch, Px, [23]uint8{0xd9, 01, 0xd9, 01}},
- Optab{AFFREE, nil, 0, [23]uint8{}},
- Optab{AFLDCW, ystcw, Px, [23]uint8{0xd9, 05, 0xd9, 05}},
- Optab{AFLDENV, ystcw, Px, [23]uint8{0xd9, 04, 0xd9, 04}},
- Optab{AFRSTOR, ysvrs, Px, [23]uint8{0xdd, 04, 0xdd, 04}},
- Optab{AFSAVE, ysvrs, Px, [23]uint8{0xdd, 06, 0xdd, 06}},
- Optab{AFSTCW, ystcw, Px, [23]uint8{0xd9, 07, 0xd9, 07}},
- Optab{AFSTENV, ystcw, Px, [23]uint8{0xd9, 06, 0xd9, 06}},
- Optab{AFSTSW, ystsw, Px, [23]uint8{0xdd, 07, 0xdf, 0xe0}},
- Optab{AF2XM1, ynone, Px, [23]uint8{0xd9, 0xf0}},
- Optab{AFABS, ynone, Px, [23]uint8{0xd9, 0xe1}},
- Optab{AFCHS, ynone, Px, [23]uint8{0xd9, 0xe0}},
- Optab{AFCLEX, ynone, Px, [23]uint8{0xdb, 0xe2}},
- Optab{AFCOS, ynone, Px, [23]uint8{0xd9, 0xff}},
- Optab{AFDECSTP, ynone, Px, [23]uint8{0xd9, 0xf6}},
- Optab{AFINCSTP, ynone, Px, [23]uint8{0xd9, 0xf7}},
- Optab{AFINIT, ynone, Px, [23]uint8{0xdb, 0xe3}},
- Optab{AFLD1, ynone, Px, [23]uint8{0xd9, 0xe8}},
- Optab{AFLDL2E, ynone, Px, [23]uint8{0xd9, 0xea}},
- Optab{AFLDL2T, ynone, Px, [23]uint8{0xd9, 0xe9}},
- Optab{AFLDLG2, ynone, Px, [23]uint8{0xd9, 0xec}},
- Optab{AFLDLN2, ynone, Px, [23]uint8{0xd9, 0xed}},
- Optab{AFLDPI, ynone, Px, [23]uint8{0xd9, 0xeb}},
- Optab{AFLDZ, ynone, Px, [23]uint8{0xd9, 0xee}},
- Optab{AFNOP, ynone, Px, [23]uint8{0xd9, 0xd0}},
- Optab{AFPATAN, ynone, Px, [23]uint8{0xd9, 0xf3}},
- Optab{AFPREM, ynone, Px, [23]uint8{0xd9, 0xf8}},
- Optab{AFPREM1, ynone, Px, [23]uint8{0xd9, 0xf5}},
- Optab{AFPTAN, ynone, Px, [23]uint8{0xd9, 0xf2}},
- Optab{AFRNDINT, ynone, Px, [23]uint8{0xd9, 0xfc}},
- Optab{AFSCALE, ynone, Px, [23]uint8{0xd9, 0xfd}},
- Optab{AFSIN, ynone, Px, [23]uint8{0xd9, 0xfe}},
- Optab{AFSINCOS, ynone, Px, [23]uint8{0xd9, 0xfb}},
- Optab{AFSQRT, ynone, Px, [23]uint8{0xd9, 0xfa}},
- Optab{AFTST, ynone, Px, [23]uint8{0xd9, 0xe4}},
- Optab{AFXAM, ynone, Px, [23]uint8{0xd9, 0xe5}},
- Optab{AFXTRACT, ynone, Px, [23]uint8{0xd9, 0xf4}},
- Optab{AFYL2X, ynone, Px, [23]uint8{0xd9, 0xf1}},
- Optab{AFYL2XP1, ynone, Px, [23]uint8{0xd9, 0xf9}},
- Optab{ACMPXCHGB, yrb_mb, Pb, [23]uint8{0x0f, 0xb0}},
- Optab{ACMPXCHGL, yrl_ml, Px, [23]uint8{0x0f, 0xb1}},
- Optab{ACMPXCHGW, yrl_ml, Pe, [23]uint8{0x0f, 0xb1}},
- Optab{ACMPXCHGQ, yrl_ml, Pw, [23]uint8{0x0f, 0xb1}},
- Optab{ACMPXCHG8B, yscond, Pm, [23]uint8{0xc7, 01}},
- Optab{AINVD, ynone, Pm, [23]uint8{0x08}},
- Optab{AINVLPG, ymbs, Pm, [23]uint8{0x01, 07}},
- Optab{ALFENCE, ynone, Pm, [23]uint8{0xae, 0xe8}},
- Optab{AMFENCE, ynone, Pm, [23]uint8{0xae, 0xf0}},
- Optab{AMOVNTIL, yrl_ml, Pm, [23]uint8{0xc3}},
- Optab{AMOVNTIQ, yrl_ml, Pw, [23]uint8{0x0f, 0xc3}},
- Optab{ARDMSR, ynone, Pm, [23]uint8{0x32}},
- Optab{ARDPMC, ynone, Pm, [23]uint8{0x33}},
- Optab{ARDTSC, ynone, Pm, [23]uint8{0x31}},
- Optab{ARSM, ynone, Pm, [23]uint8{0xaa}},
- Optab{ASFENCE, ynone, Pm, [23]uint8{0xae, 0xf8}},
- Optab{ASYSRET, ynone, Pm, [23]uint8{0x07}},
- Optab{AWBINVD, ynone, Pm, [23]uint8{0x09}},
- Optab{AWRMSR, ynone, Pm, [23]uint8{0x30}},
- Optab{AXADDB, yrb_mb, Pb, [23]uint8{0x0f, 0xc0}},
- Optab{AXADDL, yrl_ml, Px, [23]uint8{0x0f, 0xc1}},
- Optab{AXADDQ, yrl_ml, Pw, [23]uint8{0x0f, 0xc1}},
- Optab{AXADDW, yrl_ml, Pe, [23]uint8{0x0f, 0xc1}},
- Optab{ACRC32B, ycrc32l, Px, [23]uint8{0xf2, 0x0f, 0x38, 0xf0, 0}},
- Optab{ACRC32Q, ycrc32l, Pw, [23]uint8{0xf2, 0x0f, 0x38, 0xf1, 0}},
- Optab{APREFETCHT0, yprefetch, Pm, [23]uint8{0x18, 01}},
- Optab{APREFETCHT1, yprefetch, Pm, [23]uint8{0x18, 02}},
- Optab{APREFETCHT2, yprefetch, Pm, [23]uint8{0x18, 03}},
- Optab{APREFETCHNTA, yprefetch, Pm, [23]uint8{0x18, 00}},
- Optab{AMOVQL, yrl_ml, Px, [23]uint8{0x89}},
- Optab{obj.AUNDEF, ynone, Px, [23]uint8{0x0f, 0x0b}},
- Optab{AAESENC, yaes, Pq, [23]uint8{0x38, 0xdc, 0}},
- Optab{AAESENCLAST, yaes, Pq, [23]uint8{0x38, 0xdd, 0}},
- Optab{AAESDEC, yaes, Pq, [23]uint8{0x38, 0xde, 0}},
- Optab{AAESDECLAST, yaes, Pq, [23]uint8{0x38, 0xdf, 0}},
- Optab{AAESIMC, yaes, Pq, [23]uint8{0x38, 0xdb, 0}},
- Optab{AAESKEYGENASSIST, yaes2, Pq, [23]uint8{0x3a, 0xdf, 0}},
- Optab{APSHUFD, yxshuf, Pq, [23]uint8{0x70, 0}},
- Optab{APCLMULQDQ, yxshuf, Pq, [23]uint8{0x3a, 0x44, 0}},
- Optab{obj.AUSEFIELD, ynop, Px, [23]uint8{0, 0}},
- Optab{obj.ATYPE, nil, 0, [23]uint8{}},
- Optab{obj.AFUNCDATA, yfuncdata, Px, [23]uint8{0, 0}},
- Optab{obj.APCDATA, ypcdata, Px, [23]uint8{0, 0}},
- Optab{obj.ACHECKNIL, nil, 0, [23]uint8{}},
- Optab{obj.AVARDEF, nil, 0, [23]uint8{}},
- Optab{obj.AVARKILL, nil, 0, [23]uint8{}},
- Optab{obj.ADUFFCOPY, yduff, Px, [23]uint8{0xe8}},
- Optab{obj.ADUFFZERO, yduff, Px, [23]uint8{0xe8}},
- Optab{obj.AEND, nil, 0, [23]uint8{}},
- Optab{0, nil, 0, [23]uint8{}},
+ {obj.AXXX, nil, 0, [23]uint8{}},
+ {AAAA, ynone, P32, [23]uint8{0x37}},
+ {AAAD, ynone, P32, [23]uint8{0xd5, 0x0a}},
+ {AAAM, ynone, P32, [23]uint8{0xd4, 0x0a}},
+ {AAAS, ynone, P32, [23]uint8{0x3f}},
+ {AADCB, yxorb, Pb, [23]uint8{0x14, 0x80, 02, 0x10, 0x10}},
+ {AADCL, yxorl, Px, [23]uint8{0x83, 02, 0x15, 0x81, 02, 0x11, 0x13}},
+ {AADCQ, yxorl, Pw, [23]uint8{0x83, 02, 0x15, 0x81, 02, 0x11, 0x13}},
+ {AADCW, yxorl, Pe, [23]uint8{0x83, 02, 0x15, 0x81, 02, 0x11, 0x13}},
+ {AADDB, yxorb, Pb, [23]uint8{0x04, 0x80, 00, 0x00, 0x02}},
+ {AADDL, yaddl, Px, [23]uint8{0x83, 00, 0x05, 0x81, 00, 0x01, 0x03}},
+ {AADDPD, yxm, Pq, [23]uint8{0x58}},
+ {AADDPS, yxm, Pm, [23]uint8{0x58}},
+ {AADDQ, yaddl, Pw, [23]uint8{0x83, 00, 0x05, 0x81, 00, 0x01, 0x03}},
+ {AADDSD, yxm, Pf2, [23]uint8{0x58}},
+ {AADDSS, yxm, Pf3, [23]uint8{0x58}},
+ {AADDW, yaddl, Pe, [23]uint8{0x83, 00, 0x05, 0x81, 00, 0x01, 0x03}},
+ {AADJSP, nil, 0, [23]uint8{}},
+ {AANDB, yxorb, Pb, [23]uint8{0x24, 0x80, 04, 0x20, 0x22}},
+ {AANDL, yxorl, Px, [23]uint8{0x83, 04, 0x25, 0x81, 04, 0x21, 0x23}},
+ {AANDNPD, yxm, Pq, [23]uint8{0x55}},
+ {AANDNPS, yxm, Pm, [23]uint8{0x55}},
+ {AANDPD, yxm, Pq, [23]uint8{0x54}},
+ {AANDPS, yxm, Pq, [23]uint8{0x54}},
+ {AANDQ, yxorl, Pw, [23]uint8{0x83, 04, 0x25, 0x81, 04, 0x21, 0x23}},
+ {AANDW, yxorl, Pe, [23]uint8{0x83, 04, 0x25, 0x81, 04, 0x21, 0x23}},
+ {AARPL, yrl_ml, P32, [23]uint8{0x63}},
+ {ABOUNDL, yrl_m, P32, [23]uint8{0x62}},
+ {ABOUNDW, yrl_m, Pe, [23]uint8{0x62}},
+ {ABSFL, yml_rl, Pm, [23]uint8{0xbc}},
+ {ABSFQ, yml_rl, Pw, [23]uint8{0x0f, 0xbc}},
+ {ABSFW, yml_rl, Pq, [23]uint8{0xbc}},
+ {ABSRL, yml_rl, Pm, [23]uint8{0xbd}},
+ {ABSRQ, yml_rl, Pw, [23]uint8{0x0f, 0xbd}},
+ {ABSRW, yml_rl, Pq, [23]uint8{0xbd}},
+ {ABSWAPL, ybswap, Px, [23]uint8{0x0f, 0xc8}},
+ {ABSWAPQ, ybswap, Pw, [23]uint8{0x0f, 0xc8}},
+ {ABTCL, ybtl, Pm, [23]uint8{0xba, 07, 0xbb}},
+ {ABTCQ, ybtl, Pw, [23]uint8{0x0f, 0xba, 07, 0x0f, 0xbb}},
+ {ABTCW, ybtl, Pq, [23]uint8{0xba, 07, 0xbb}},
+ {ABTL, ybtl, Pm, [23]uint8{0xba, 04, 0xa3}},
+ {ABTQ, ybtl, Pw, [23]uint8{0x0f, 0xba, 04, 0x0f, 0xa3}},
+ {ABTRL, ybtl, Pm, [23]uint8{0xba, 06, 0xb3}},
+ {ABTRQ, ybtl, Pw, [23]uint8{0x0f, 0xba, 06, 0x0f, 0xb3}},
+ {ABTRW, ybtl, Pq, [23]uint8{0xba, 06, 0xb3}},
+ {ABTSL, ybtl, Pm, [23]uint8{0xba, 05, 0xab}},
+ {ABTSQ, ybtl, Pw, [23]uint8{0x0f, 0xba, 05, 0x0f, 0xab}},
+ {ABTSW, ybtl, Pq, [23]uint8{0xba, 05, 0xab}},
+ {ABTW, ybtl, Pq, [23]uint8{0xba, 04, 0xa3}},
+ {ABYTE, ybyte, Px, [23]uint8{1}},
+ {obj.ACALL, ycall, Px, [23]uint8{0xff, 02, 0xff, 0x15, 0xe8}},
+ {ACDQ, ynone, Px, [23]uint8{0x99}},
+ {ACLC, ynone, Px, [23]uint8{0xf8}},
+ {ACLD, ynone, Px, [23]uint8{0xfc}},
+ {ACLI, ynone, Px, [23]uint8{0xfa}},
+ {ACLTS, ynone, Pm, [23]uint8{0x06}},
+ {ACMC, ynone, Px, [23]uint8{0xf5}},
+ {ACMOVLCC, yml_rl, Pm, [23]uint8{0x43}},
+ {ACMOVLCS, yml_rl, Pm, [23]uint8{0x42}},
+ {ACMOVLEQ, yml_rl, Pm, [23]uint8{0x44}},
+ {ACMOVLGE, yml_rl, Pm, [23]uint8{0x4d}},
+ {ACMOVLGT, yml_rl, Pm, [23]uint8{0x4f}},
+ {ACMOVLHI, yml_rl, Pm, [23]uint8{0x47}},
+ {ACMOVLLE, yml_rl, Pm, [23]uint8{0x4e}},
+ {ACMOVLLS, yml_rl, Pm, [23]uint8{0x46}},
+ {ACMOVLLT, yml_rl, Pm, [23]uint8{0x4c}},
+ {ACMOVLMI, yml_rl, Pm, [23]uint8{0x48}},
+ {ACMOVLNE, yml_rl, Pm, [23]uint8{0x45}},
+ {ACMOVLOC, yml_rl, Pm, [23]uint8{0x41}},
+ {ACMOVLOS, yml_rl, Pm, [23]uint8{0x40}},
+ {ACMOVLPC, yml_rl, Pm, [23]uint8{0x4b}},
+ {ACMOVLPL, yml_rl, Pm, [23]uint8{0x49}},
+ {ACMOVLPS, yml_rl, Pm, [23]uint8{0x4a}},
+ {ACMOVQCC, yml_rl, Pw, [23]uint8{0x0f, 0x43}},
+ {ACMOVQCS, yml_rl, Pw, [23]uint8{0x0f, 0x42}},
+ {ACMOVQEQ, yml_rl, Pw, [23]uint8{0x0f, 0x44}},
+ {ACMOVQGE, yml_rl, Pw, [23]uint8{0x0f, 0x4d}},
+ {ACMOVQGT, yml_rl, Pw, [23]uint8{0x0f, 0x4f}},
+ {ACMOVQHI, yml_rl, Pw, [23]uint8{0x0f, 0x47}},
+ {ACMOVQLE, yml_rl, Pw, [23]uint8{0x0f, 0x4e}},
+ {ACMOVQLS, yml_rl, Pw, [23]uint8{0x0f, 0x46}},
+ {ACMOVQLT, yml_rl, Pw, [23]uint8{0x0f, 0x4c}},
+ {ACMOVQMI, yml_rl, Pw, [23]uint8{0x0f, 0x48}},
+ {ACMOVQNE, yml_rl, Pw, [23]uint8{0x0f, 0x45}},
+ {ACMOVQOC, yml_rl, Pw, [23]uint8{0x0f, 0x41}},
+ {ACMOVQOS, yml_rl, Pw, [23]uint8{0x0f, 0x40}},
+ {ACMOVQPC, yml_rl, Pw, [23]uint8{0x0f, 0x4b}},
+ {ACMOVQPL, yml_rl, Pw, [23]uint8{0x0f, 0x49}},
+ {ACMOVQPS, yml_rl, Pw, [23]uint8{0x0f, 0x4a}},
+ {ACMOVWCC, yml_rl, Pq, [23]uint8{0x43}},
+ {ACMOVWCS, yml_rl, Pq, [23]uint8{0x42}},
+ {ACMOVWEQ, yml_rl, Pq, [23]uint8{0x44}},
+ {ACMOVWGE, yml_rl, Pq, [23]uint8{0x4d}},
+ {ACMOVWGT, yml_rl, Pq, [23]uint8{0x4f}},
+ {ACMOVWHI, yml_rl, Pq, [23]uint8{0x47}},
+ {ACMOVWLE, yml_rl, Pq, [23]uint8{0x4e}},
+ {ACMOVWLS, yml_rl, Pq, [23]uint8{0x46}},
+ {ACMOVWLT, yml_rl, Pq, [23]uint8{0x4c}},
+ {ACMOVWMI, yml_rl, Pq, [23]uint8{0x48}},
+ {ACMOVWNE, yml_rl, Pq, [23]uint8{0x45}},
+ {ACMOVWOC, yml_rl, Pq, [23]uint8{0x41}},
+ {ACMOVWOS, yml_rl, Pq, [23]uint8{0x40}},
+ {ACMOVWPC, yml_rl, Pq, [23]uint8{0x4b}},
+ {ACMOVWPL, yml_rl, Pq, [23]uint8{0x49}},
+ {ACMOVWPS, yml_rl, Pq, [23]uint8{0x4a}},
+ {ACMPB, ycmpb, Pb, [23]uint8{0x3c, 0x80, 07, 0x38, 0x3a}},
+ {ACMPL, ycmpl, Px, [23]uint8{0x83, 07, 0x3d, 0x81, 07, 0x39, 0x3b}},
+ {ACMPPD, yxcmpi, Px, [23]uint8{Pe, 0xc2}},
+ {ACMPPS, yxcmpi, Pm, [23]uint8{0xc2, 0}},
+ {ACMPQ, ycmpl, Pw, [23]uint8{0x83, 07, 0x3d, 0x81, 07, 0x39, 0x3b}},
+ {ACMPSB, ynone, Pb, [23]uint8{0xa6}},
+ {ACMPSD, yxcmpi, Px, [23]uint8{Pf2, 0xc2}},
+ {ACMPSL, ynone, Px, [23]uint8{0xa7}},
+ {ACMPSQ, ynone, Pw, [23]uint8{0xa7}},
+ {ACMPSS, yxcmpi, Px, [23]uint8{Pf3, 0xc2}},
+ {ACMPSW, ynone, Pe, [23]uint8{0xa7}},
+ {ACMPW, ycmpl, Pe, [23]uint8{0x83, 07, 0x3d, 0x81, 07, 0x39, 0x3b}},
+ {ACOMISD, yxcmp, Pe, [23]uint8{0x2f}},
+ {ACOMISS, yxcmp, Pm, [23]uint8{0x2f}},
+ {ACPUID, ynone, Pm, [23]uint8{0xa2}},
+ {ACVTPL2PD, yxcvm2, Px, [23]uint8{Pf3, 0xe6, Pe, 0x2a}},
+ {ACVTPL2PS, yxcvm2, Pm, [23]uint8{0x5b, 0, 0x2a, 0}},
+ {ACVTPD2PL, yxcvm1, Px, [23]uint8{Pf2, 0xe6, Pe, 0x2d}},
+ {ACVTPD2PS, yxm, Pe, [23]uint8{0x5a}},
+ {ACVTPS2PL, yxcvm1, Px, [23]uint8{Pe, 0x5b, Pm, 0x2d}},
+ {ACVTPS2PD, yxm, Pm, [23]uint8{0x5a}},
+ {API2FW, ymfp, Px, [23]uint8{0x0c}},
+ {ACVTSD2SL, yxcvfl, Pf2, [23]uint8{0x2d}},
+ {ACVTSD2SQ, yxcvfq, Pw, [23]uint8{Pf2, 0x2d}},
+ {ACVTSD2SS, yxm, Pf2, [23]uint8{0x5a}},
+ {ACVTSL2SD, yxcvlf, Pf2, [23]uint8{0x2a}},
+ {ACVTSQ2SD, yxcvqf, Pw, [23]uint8{Pf2, 0x2a}},
+ {ACVTSL2SS, yxcvlf, Pf3, [23]uint8{0x2a}},
+ {ACVTSQ2SS, yxcvqf, Pw, [23]uint8{Pf3, 0x2a}},
+ {ACVTSS2SD, yxm, Pf3, [23]uint8{0x5a}},
+ {ACVTSS2SL, yxcvfl, Pf3, [23]uint8{0x2d}},
+ {ACVTSS2SQ, yxcvfq, Pw, [23]uint8{Pf3, 0x2d}},
+ {ACVTTPD2PL, yxcvm1, Px, [23]uint8{Pe, 0xe6, Pe, 0x2c}},
+ {ACVTTPS2PL, yxcvm1, Px, [23]uint8{Pf3, 0x5b, Pm, 0x2c}},
+ {ACVTTSD2SL, yxcvfl, Pf2, [23]uint8{0x2c}},
+ {ACVTTSD2SQ, yxcvfq, Pw, [23]uint8{Pf2, 0x2c}},
+ {ACVTTSS2SL, yxcvfl, Pf3, [23]uint8{0x2c}},
+ {ACVTTSS2SQ, yxcvfq, Pw, [23]uint8{Pf3, 0x2c}},
+ {ACWD, ynone, Pe, [23]uint8{0x99}},
+ {ACQO, ynone, Pw, [23]uint8{0x99}},
+ {ADAA, ynone, P32, [23]uint8{0x27}},
+ {ADAS, ynone, P32, [23]uint8{0x2f}},
+ {obj.ADATA, nil, 0, [23]uint8{}},
+ {ADECB, yincb, Pb, [23]uint8{0xfe, 01}},
+ {ADECL, yincl, Px1, [23]uint8{0x48, 0xff, 01}},
+ {ADECQ, yincq, Pw, [23]uint8{0xff, 01}},
+ {ADECW, yincw, Pe, [23]uint8{0xff, 01}},
+ {ADIVB, ydivb, Pb, [23]uint8{0xf6, 06}},
+ {ADIVL, ydivl, Px, [23]uint8{0xf7, 06}},
+ {ADIVPD, yxm, Pe, [23]uint8{0x5e}},
+ {ADIVPS, yxm, Pm, [23]uint8{0x5e}},
+ {ADIVQ, ydivl, Pw, [23]uint8{0xf7, 06}},
+ {ADIVSD, yxm, Pf2, [23]uint8{0x5e}},
+ {ADIVSS, yxm, Pf3, [23]uint8{0x5e}},
+ {ADIVW, ydivl, Pe, [23]uint8{0xf7, 06}},
+ {AEMMS, ynone, Pm, [23]uint8{0x77}},
+ {AENTER, nil, 0, [23]uint8{}}, /* botch */
+ {AFXRSTOR, ysvrs, Pm, [23]uint8{0xae, 01, 0xae, 01}},
+ {AFXSAVE, ysvrs, Pm, [23]uint8{0xae, 00, 0xae, 00}},
+ {AFXRSTOR64, ysvrs, Pw, [23]uint8{0x0f, 0xae, 01, 0x0f, 0xae, 01}},
+ {AFXSAVE64, ysvrs, Pw, [23]uint8{0x0f, 0xae, 00, 0x0f, 0xae, 00}},
+ {obj.AGLOBL, nil, 0, [23]uint8{}},
+ {AHLT, ynone, Px, [23]uint8{0xf4}},
+ {AIDIVB, ydivb, Pb, [23]uint8{0xf6, 07}},
+ {AIDIVL, ydivl, Px, [23]uint8{0xf7, 07}},
+ {AIDIVQ, ydivl, Pw, [23]uint8{0xf7, 07}},
+ {AIDIVW, ydivl, Pe, [23]uint8{0xf7, 07}},
+ {AIMULB, ydivb, Pb, [23]uint8{0xf6, 05}},
+ {AIMULL, yimul, Px, [23]uint8{0xf7, 05, 0x6b, 0x69, Pm, 0xaf}},
+ {AIMULQ, yimul, Pw, [23]uint8{0xf7, 05, 0x6b, 0x69, Pm, 0xaf}},
+ {AIMULW, yimul, Pe, [23]uint8{0xf7, 05, 0x6b, 0x69, Pm, 0xaf}},
+ {AIMUL3Q, yimul3, Pw, [23]uint8{0x6b, 00}},
+ {AINB, yin, Pb, [23]uint8{0xe4, 0xec}},
+ {AINCB, yincb, Pb, [23]uint8{0xfe, 00}},
+ {AINCL, yincl, Px1, [23]uint8{0x40, 0xff, 00}},
+ {AINCQ, yincq, Pw, [23]uint8{0xff, 00}},
+ {AINCW, yincw, Pe, [23]uint8{0xff, 00}},
+ {AINL, yin, Px, [23]uint8{0xe5, 0xed}},
+ {AINSB, ynone, Pb, [23]uint8{0x6c}},
+ {AINSL, ynone, Px, [23]uint8{0x6d}},
+ {AINSW, ynone, Pe, [23]uint8{0x6d}},
+ {AINT, yint, Px, [23]uint8{0xcd}},
+ {AINTO, ynone, P32, [23]uint8{0xce}},
+ {AINW, yin, Pe, [23]uint8{0xe5, 0xed}},
+ {AIRETL, ynone, Px, [23]uint8{0xcf}},
+ {AIRETQ, ynone, Pw, [23]uint8{0xcf}},
+ {AIRETW, ynone, Pe, [23]uint8{0xcf}},
+ {AJCC, yjcond, Px, [23]uint8{0x73, 0x83, 00}},
+ {AJCS, yjcond, Px, [23]uint8{0x72, 0x82}},
+ {AJCXZL, yloop, Px, [23]uint8{0xe3}},
+ {AJCXZW, yloop, Px, [23]uint8{0xe3}},
+ {AJCXZQ, yloop, Px, [23]uint8{0xe3}},
+ {AJEQ, yjcond, Px, [23]uint8{0x74, 0x84}},
+ {AJGE, yjcond, Px, [23]uint8{0x7d, 0x8d}},
+ {AJGT, yjcond, Px, [23]uint8{0x7f, 0x8f}},
+ {AJHI, yjcond, Px, [23]uint8{0x77, 0x87}},
+ {AJLE, yjcond, Px, [23]uint8{0x7e, 0x8e}},
+ {AJLS, yjcond, Px, [23]uint8{0x76, 0x86}},
+ {AJLT, yjcond, Px, [23]uint8{0x7c, 0x8c}},
+ {AJMI, yjcond, Px, [23]uint8{0x78, 0x88}},
+ {obj.AJMP, yjmp, Px, [23]uint8{0xff, 04, 0xeb, 0xe9}},
+ {AJNE, yjcond, Px, [23]uint8{0x75, 0x85}},
+ {AJOC, yjcond, Px, [23]uint8{0x71, 0x81, 00}},
+ {AJOS, yjcond, Px, [23]uint8{0x70, 0x80, 00}},
+ {AJPC, yjcond, Px, [23]uint8{0x7b, 0x8b}},
+ {AJPL, yjcond, Px, [23]uint8{0x79, 0x89}},
+ {AJPS, yjcond, Px, [23]uint8{0x7a, 0x8a}},
+ {ALAHF, ynone, Px, [23]uint8{0x9f}},
+ {ALARL, yml_rl, Pm, [23]uint8{0x02}},
+ {ALARW, yml_rl, Pq, [23]uint8{0x02}},
+ {ALDMXCSR, ysvrs, Pm, [23]uint8{0xae, 02, 0xae, 02}},
+ {ALEAL, ym_rl, Px, [23]uint8{0x8d}},
+ {ALEAQ, ym_rl, Pw, [23]uint8{0x8d}},
+ {ALEAVEL, ynone, P32, [23]uint8{0xc9}},
+ {ALEAVEQ, ynone, Py, [23]uint8{0xc9}},
+ {ALEAVEW, ynone, Pe, [23]uint8{0xc9}},
+ {ALEAW, ym_rl, Pe, [23]uint8{0x8d}},
+ {ALOCK, ynone, Px, [23]uint8{0xf0}},
+ {ALODSB, ynone, Pb, [23]uint8{0xac}},
+ {ALODSL, ynone, Px, [23]uint8{0xad}},
+ {ALODSQ, ynone, Pw, [23]uint8{0xad}},
+ {ALODSW, ynone, Pe, [23]uint8{0xad}},
+ {ALONG, ybyte, Px, [23]uint8{4}},
+ {ALOOP, yloop, Px, [23]uint8{0xe2}},
+ {ALOOPEQ, yloop, Px, [23]uint8{0xe1}},
+ {ALOOPNE, yloop, Px, [23]uint8{0xe0}},
+ {ALSLL, yml_rl, Pm, [23]uint8{0x03}},
+ {ALSLW, yml_rl, Pq, [23]uint8{0x03}},
+ {AMASKMOVOU, yxr, Pe, [23]uint8{0xf7}},
+ {AMASKMOVQ, ymr, Pm, [23]uint8{0xf7}},
+ {AMAXPD, yxm, Pe, [23]uint8{0x5f}},
+ {AMAXPS, yxm, Pm, [23]uint8{0x5f}},
+ {AMAXSD, yxm, Pf2, [23]uint8{0x5f}},
+ {AMAXSS, yxm, Pf3, [23]uint8{0x5f}},
+ {AMINPD, yxm, Pe, [23]uint8{0x5d}},
+ {AMINPS, yxm, Pm, [23]uint8{0x5d}},
+ {AMINSD, yxm, Pf2, [23]uint8{0x5d}},
+ {AMINSS, yxm, Pf3, [23]uint8{0x5d}},
+ {AMOVAPD, yxmov, Pe, [23]uint8{0x28, 0x29}},
+ {AMOVAPS, yxmov, Pm, [23]uint8{0x28, 0x29}},
+ {AMOVB, ymovb, Pb, [23]uint8{0x88, 0x8a, 0xb0, 0xc6, 00}},
+ {AMOVBLSX, ymb_rl, Pm, [23]uint8{0xbe}},
+ {AMOVBLZX, ymb_rl, Pm, [23]uint8{0xb6}},
+ {AMOVBQSX, ymb_rl, Pw, [23]uint8{0x0f, 0xbe}},
+ {AMOVBQZX, ymb_rl, Pm, [23]uint8{0xb6}},
+ {AMOVBWSX, ymb_rl, Pq, [23]uint8{0xbe}},
+ {AMOVBWZX, ymb_rl, Pq, [23]uint8{0xb6}},
+ {AMOVO, yxmov, Pe, [23]uint8{0x6f, 0x7f}},
+ {AMOVOU, yxmov, Pf3, [23]uint8{0x6f, 0x7f}},
+ {AMOVHLPS, yxr, Pm, [23]uint8{0x12}},
+ {AMOVHPD, yxmov, Pe, [23]uint8{0x16, 0x17}},
+ {AMOVHPS, yxmov, Pm, [23]uint8{0x16, 0x17}},
+ {AMOVL, ymovl, Px, [23]uint8{0x89, 0x8b, 0x31, 0xb8, 0xc7, 00, 0x6e, 0x7e, Pe, 0x6e, Pe, 0x7e, 0}},
+ {AMOVLHPS, yxr, Pm, [23]uint8{0x16}},
+ {AMOVLPD, yxmov, Pe, [23]uint8{0x12, 0x13}},
+ {AMOVLPS, yxmov, Pm, [23]uint8{0x12, 0x13}},
+ {AMOVLQSX, yml_rl, Pw, [23]uint8{0x63}},
+ {AMOVLQZX, yml_rl, Px, [23]uint8{0x8b}},
+ {AMOVMSKPD, yxrrl, Pq, [23]uint8{0x50}},
+ {AMOVMSKPS, yxrrl, Pm, [23]uint8{0x50}},
+ {AMOVNTO, yxr_ml, Pe, [23]uint8{0xe7}},
+ {AMOVNTPD, yxr_ml, Pe, [23]uint8{0x2b}},
+ {AMOVNTPS, yxr_ml, Pm, [23]uint8{0x2b}},
+ {AMOVNTQ, ymr_ml, Pm, [23]uint8{0xe7}},
+ {AMOVQ, ymovq, Pw8, [23]uint8{0x6f, 0x7f, Pf2, 0xd6, Pf3, 0x7e, Pe, 0xd6, 0x89, 0x8b, 0x31, 0xc7, 00, 0xb8, 0xc7, 00, 0x6e, 0x7e, Pe, 0x6e, Pe, 0x7e, 0}},
+ {AMOVQOZX, ymrxr, Pf3, [23]uint8{0xd6, 0x7e}},
+ {AMOVSB, ynone, Pb, [23]uint8{0xa4}},
+ {AMOVSD, yxmov, Pf2, [23]uint8{0x10, 0x11}},
+ {AMOVSL, ynone, Px, [23]uint8{0xa5}},
+ {AMOVSQ, ynone, Pw, [23]uint8{0xa5}},
+ {AMOVSS, yxmov, Pf3, [23]uint8{0x10, 0x11}},
+ {AMOVSW, ynone, Pe, [23]uint8{0xa5}},
+ {AMOVUPD, yxmov, Pe, [23]uint8{0x10, 0x11}},
+ {AMOVUPS, yxmov, Pm, [23]uint8{0x10, 0x11}},
+ {AMOVW, ymovw, Pe, [23]uint8{0x89, 0x8b, 0x31, 0xb8, 0xc7, 00, 0}},
+ {AMOVWLSX, yml_rl, Pm, [23]uint8{0xbf}},
+ {AMOVWLZX, yml_rl, Pm, [23]uint8{0xb7}},
+ {AMOVWQSX, yml_rl, Pw, [23]uint8{0x0f, 0xbf}},
+ {AMOVWQZX, yml_rl, Pw, [23]uint8{0x0f, 0xb7}},
+ {AMULB, ydivb, Pb, [23]uint8{0xf6, 04}},
+ {AMULL, ydivl, Px, [23]uint8{0xf7, 04}},
+ {AMULPD, yxm, Pe, [23]uint8{0x59}},
+ {AMULPS, yxm, Ym, [23]uint8{0x59}},
+ {AMULQ, ydivl, Pw, [23]uint8{0xf7, 04}},
+ {AMULSD, yxm, Pf2, [23]uint8{0x59}},
+ {AMULSS, yxm, Pf3, [23]uint8{0x59}},
+ {AMULW, ydivl, Pe, [23]uint8{0xf7, 04}},
+ {ANEGB, yscond, Pb, [23]uint8{0xf6, 03}},
+ {ANEGL, yscond, Px, [23]uint8{0xf7, 03}},
+ {ANEGQ, yscond, Pw, [23]uint8{0xf7, 03}},
+ {ANEGW, yscond, Pe, [23]uint8{0xf7, 03}},
+ {obj.ANOP, ynop, Px, [23]uint8{0, 0}},
+ {ANOTB, yscond, Pb, [23]uint8{0xf6, 02}},
+ {ANOTL, yscond, Px, [23]uint8{0xf7, 02}}, // TODO(rsc): yscond is wrong here.
+ {ANOTQ, yscond, Pw, [23]uint8{0xf7, 02}},
+ {ANOTW, yscond, Pe, [23]uint8{0xf7, 02}},
+ {AORB, yxorb, Pb, [23]uint8{0x0c, 0x80, 01, 0x08, 0x0a}},
+ {AORL, yxorl, Px, [23]uint8{0x83, 01, 0x0d, 0x81, 01, 0x09, 0x0b}},
+ {AORPD, yxm, Pq, [23]uint8{0x56}},
+ {AORPS, yxm, Pm, [23]uint8{0x56}},
+ {AORQ, yxorl, Pw, [23]uint8{0x83, 01, 0x0d, 0x81, 01, 0x09, 0x0b}},
+ {AORW, yxorl, Pe, [23]uint8{0x83, 01, 0x0d, 0x81, 01, 0x09, 0x0b}},
+ {AOUTB, yin, Pb, [23]uint8{0xe6, 0xee}},
+ {AOUTL, yin, Px, [23]uint8{0xe7, 0xef}},
+ {AOUTSB, ynone, Pb, [23]uint8{0x6e}},
+ {AOUTSL, ynone, Px, [23]uint8{0x6f}},
+ {AOUTSW, ynone, Pe, [23]uint8{0x6f}},
+ {AOUTW, yin, Pe, [23]uint8{0xe7, 0xef}},
+ {APACKSSLW, ymm, Py1, [23]uint8{0x6b, Pe, 0x6b}},
+ {APACKSSWB, ymm, Py1, [23]uint8{0x63, Pe, 0x63}},
+ {APACKUSWB, ymm, Py1, [23]uint8{0x67, Pe, 0x67}},
+ {APADDB, ymm, Py1, [23]uint8{0xfc, Pe, 0xfc}},
+ {APADDL, ymm, Py1, [23]uint8{0xfe, Pe, 0xfe}},
+ {APADDQ, yxm, Pe, [23]uint8{0xd4}},
+ {APADDSB, ymm, Py1, [23]uint8{0xec, Pe, 0xec}},
+ {APADDSW, ymm, Py1, [23]uint8{0xed, Pe, 0xed}},
+ {APADDUSB, ymm, Py1, [23]uint8{0xdc, Pe, 0xdc}},
+ {APADDUSW, ymm, Py1, [23]uint8{0xdd, Pe, 0xdd}},
+ {APADDW, ymm, Py1, [23]uint8{0xfd, Pe, 0xfd}},
+ {APAND, ymm, Py1, [23]uint8{0xdb, Pe, 0xdb}},
+ {APANDN, ymm, Py1, [23]uint8{0xdf, Pe, 0xdf}},
+ {APAUSE, ynone, Px, [23]uint8{0xf3, 0x90}},
+ {APAVGB, ymm, Py1, [23]uint8{0xe0, Pe, 0xe0}},
+ {APAVGW, ymm, Py1, [23]uint8{0xe3, Pe, 0xe3}},
+ {APCMPEQB, ymm, Py1, [23]uint8{0x74, Pe, 0x74}},
+ {APCMPEQL, ymm, Py1, [23]uint8{0x76, Pe, 0x76}},
+ {APCMPEQW, ymm, Py1, [23]uint8{0x75, Pe, 0x75}},
+ {APCMPGTB, ymm, Py1, [23]uint8{0x64, Pe, 0x64}},
+ {APCMPGTL, ymm, Py1, [23]uint8{0x66, Pe, 0x66}},
+ {APCMPGTW, ymm, Py1, [23]uint8{0x65, Pe, 0x65}},
+ {APEXTRW, yextrw, Pq, [23]uint8{0xc5, 00}},
+ {APF2IL, ymfp, Px, [23]uint8{0x1d}},
+ {APF2IW, ymfp, Px, [23]uint8{0x1c}},
+ {API2FL, ymfp, Px, [23]uint8{0x0d}},
+ {APFACC, ymfp, Px, [23]uint8{0xae}},
+ {APFADD, ymfp, Px, [23]uint8{0x9e}},
+ {APFCMPEQ, ymfp, Px, [23]uint8{0xb0}},
+ {APFCMPGE, ymfp, Px, [23]uint8{0x90}},
+ {APFCMPGT, ymfp, Px, [23]uint8{0xa0}},
+ {APFMAX, ymfp, Px, [23]uint8{0xa4}},
+ {APFMIN, ymfp, Px, [23]uint8{0x94}},
+ {APFMUL, ymfp, Px, [23]uint8{0xb4}},
+ {APFNACC, ymfp, Px, [23]uint8{0x8a}},
+ {APFPNACC, ymfp, Px, [23]uint8{0x8e}},
+ {APFRCP, ymfp, Px, [23]uint8{0x96}},
+ {APFRCPIT1, ymfp, Px, [23]uint8{0xa6}},
+ {APFRCPI2T, ymfp, Px, [23]uint8{0xb6}},
+ {APFRSQIT1, ymfp, Px, [23]uint8{0xa7}},
+ {APFRSQRT, ymfp, Px, [23]uint8{0x97}},
+ {APFSUB, ymfp, Px, [23]uint8{0x9a}},
+ {APFSUBR, ymfp, Px, [23]uint8{0xaa}},
+ {APINSRW, yinsrw, Pq, [23]uint8{0xc4, 00}},
+ {APINSRD, yinsr, Pq, [23]uint8{0x3a, 0x22, 00}},
+ {APINSRQ, yinsr, Pq3, [23]uint8{0x3a, 0x22, 00}},
+ {APMADDWL, ymm, Py1, [23]uint8{0xf5, Pe, 0xf5}},
+ {APMAXSW, yxm, Pe, [23]uint8{0xee}},
+ {APMAXUB, yxm, Pe, [23]uint8{0xde}},
+ {APMINSW, yxm, Pe, [23]uint8{0xea}},
+ {APMINUB, yxm, Pe, [23]uint8{0xda}},
+ {APMOVMSKB, ymskb, Px, [23]uint8{Pe, 0xd7, 0xd7}},
+ {APMULHRW, ymfp, Px, [23]uint8{0xb7}},
+ {APMULHUW, ymm, Py1, [23]uint8{0xe4, Pe, 0xe4}},
+ {APMULHW, ymm, Py1, [23]uint8{0xe5, Pe, 0xe5}},
+ {APMULLW, ymm, Py1, [23]uint8{0xd5, Pe, 0xd5}},
+ {APMULULQ, ymm, Py1, [23]uint8{0xf4, Pe, 0xf4}},
+ {APOPAL, ynone, P32, [23]uint8{0x61}},
+ {APOPAW, ynone, Pe, [23]uint8{0x61}},
+ {APOPFL, ynone, P32, [23]uint8{0x9d}},
+ {APOPFQ, ynone, Py, [23]uint8{0x9d}},
+ {APOPFW, ynone, Pe, [23]uint8{0x9d}},
+ {APOPL, ypopl, P32, [23]uint8{0x58, 0x8f, 00}},
+ {APOPQ, ypopl, Py, [23]uint8{0x58, 0x8f, 00}},
+ {APOPW, ypopl, Pe, [23]uint8{0x58, 0x8f, 00}},
+ {APOR, ymm, Py1, [23]uint8{0xeb, Pe, 0xeb}},
+ {APSADBW, yxm, Pq, [23]uint8{0xf6}},
+ {APSHUFHW, yxshuf, Pf3, [23]uint8{0x70, 00}},
+ {APSHUFL, yxshuf, Pq, [23]uint8{0x70, 00}},
+ {APSHUFLW, yxshuf, Pf2, [23]uint8{0x70, 00}},
+ {APSHUFW, ymshuf, Pm, [23]uint8{0x70, 00}},
+ {APSHUFB, ymshufb, Pq, [23]uint8{0x38, 0x00}},
+ {APSLLO, ypsdq, Pq, [23]uint8{0x73, 07}},
+ {APSLLL, yps, Py3, [23]uint8{0xf2, 0x72, 06, Pe, 0xf2, Pe, 0x72, 06}},
+ {APSLLQ, yps, Py3, [23]uint8{0xf3, 0x73, 06, Pe, 0xf3, Pe, 0x73, 06}},
+ {APSLLW, yps, Py3, [23]uint8{0xf1, 0x71, 06, Pe, 0xf1, Pe, 0x71, 06}},
+ {APSRAL, yps, Py3, [23]uint8{0xe2, 0x72, 04, Pe, 0xe2, Pe, 0x72, 04}},
+ {APSRAW, yps, Py3, [23]uint8{0xe1, 0x71, 04, Pe, 0xe1, Pe, 0x71, 04}},
+ {APSRLO, ypsdq, Pq, [23]uint8{0x73, 03}},
+ {APSRLL, yps, Py3, [23]uint8{0xd2, 0x72, 02, Pe, 0xd2, Pe, 0x72, 02}},
+ {APSRLQ, yps, Py3, [23]uint8{0xd3, 0x73, 02, Pe, 0xd3, Pe, 0x73, 02}},
+ {APSRLW, yps, Py3, [23]uint8{0xd1, 0x71, 02, Pe, 0xe1, Pe, 0x71, 02}},
+ {APSUBB, yxm, Pe, [23]uint8{0xf8}},
+ {APSUBL, yxm, Pe, [23]uint8{0xfa}},
+ {APSUBQ, yxm, Pe, [23]uint8{0xfb}},
+ {APSUBSB, yxm, Pe, [23]uint8{0xe8}},
+ {APSUBSW, yxm, Pe, [23]uint8{0xe9}},
+ {APSUBUSB, yxm, Pe, [23]uint8{0xd8}},
+ {APSUBUSW, yxm, Pe, [23]uint8{0xd9}},
+ {APSUBW, yxm, Pe, [23]uint8{0xf9}},
+ {APSWAPL, ymfp, Px, [23]uint8{0xbb}},
+ {APUNPCKHBW, ymm, Py1, [23]uint8{0x68, Pe, 0x68}},
+ {APUNPCKHLQ, ymm, Py1, [23]uint8{0x6a, Pe, 0x6a}},
+ {APUNPCKHQDQ, yxm, Pe, [23]uint8{0x6d}},
+ {APUNPCKHWL, ymm, Py1, [23]uint8{0x69, Pe, 0x69}},
+ {APUNPCKLBW, ymm, Py1, [23]uint8{0x60, Pe, 0x60}},
+ {APUNPCKLLQ, ymm, Py1, [23]uint8{0x62, Pe, 0x62}},
+ {APUNPCKLQDQ, yxm, Pe, [23]uint8{0x6c}},
+ {APUNPCKLWL, ymm, Py1, [23]uint8{0x61, Pe, 0x61}},
+ {APUSHAL, ynone, P32, [23]uint8{0x60}},
+ {APUSHAW, ynone, Pe, [23]uint8{0x60}},
+ {APUSHFL, ynone, P32, [23]uint8{0x9c}},
+ {APUSHFQ, ynone, Py, [23]uint8{0x9c}},
+ {APUSHFW, ynone, Pe, [23]uint8{0x9c}},
+ {APUSHL, ypushl, P32, [23]uint8{0x50, 0xff, 06, 0x6a, 0x68}},
+ {APUSHQ, ypushl, Py, [23]uint8{0x50, 0xff, 06, 0x6a, 0x68}},
+ {APUSHW, ypushl, Pe, [23]uint8{0x50, 0xff, 06, 0x6a, 0x68}},
+ {APXOR, ymm, Py1, [23]uint8{0xef, Pe, 0xef}},
+ {AQUAD, ybyte, Px, [23]uint8{8}},
+ {ARCLB, yshb, Pb, [23]uint8{0xd0, 02, 0xc0, 02, 0xd2, 02}},
+ {ARCLL, yshl, Px, [23]uint8{0xd1, 02, 0xc1, 02, 0xd3, 02, 0xd3, 02}},
+ {ARCLQ, yshl, Pw, [23]uint8{0xd1, 02, 0xc1, 02, 0xd3, 02, 0xd3, 02}},
+ {ARCLW, yshl, Pe, [23]uint8{0xd1, 02, 0xc1, 02, 0xd3, 02, 0xd3, 02}},
+ {ARCPPS, yxm, Pm, [23]uint8{0x53}},
+ {ARCPSS, yxm, Pf3, [23]uint8{0x53}},
+ {ARCRB, yshb, Pb, [23]uint8{0xd0, 03, 0xc0, 03, 0xd2, 03}},
+ {ARCRL, yshl, Px, [23]uint8{0xd1, 03, 0xc1, 03, 0xd3, 03, 0xd3, 03}},
+ {ARCRQ, yshl, Pw, [23]uint8{0xd1, 03, 0xc1, 03, 0xd3, 03, 0xd3, 03}},
+ {ARCRW, yshl, Pe, [23]uint8{0xd1, 03, 0xc1, 03, 0xd3, 03, 0xd3, 03}},
+ {AREP, ynone, Px, [23]uint8{0xf3}},
+ {AREPN, ynone, Px, [23]uint8{0xf2}},
+ {obj.ARET, ynone, Px, [23]uint8{0xc3}},
+ {ARETFW, yret, Pe, [23]uint8{0xcb, 0xca}},
+ {ARETFL, yret, Px, [23]uint8{0xcb, 0xca}},
+ {ARETFQ, yret, Pw, [23]uint8{0xcb, 0xca}},
+ {AROLB, yshb, Pb, [23]uint8{0xd0, 00, 0xc0, 00, 0xd2, 00}},
+ {AROLL, yshl, Px, [23]uint8{0xd1, 00, 0xc1, 00, 0xd3, 00, 0xd3, 00}},
+ {AROLQ, yshl, Pw, [23]uint8{0xd1, 00, 0xc1, 00, 0xd3, 00, 0xd3, 00}},
+ {AROLW, yshl, Pe, [23]uint8{0xd1, 00, 0xc1, 00, 0xd3, 00, 0xd3, 00}},
+ {ARORB, yshb, Pb, [23]uint8{0xd0, 01, 0xc0, 01, 0xd2, 01}},
+ {ARORL, yshl, Px, [23]uint8{0xd1, 01, 0xc1, 01, 0xd3, 01, 0xd3, 01}},
+ {ARORQ, yshl, Pw, [23]uint8{0xd1, 01, 0xc1, 01, 0xd3, 01, 0xd3, 01}},
+ {ARORW, yshl, Pe, [23]uint8{0xd1, 01, 0xc1, 01, 0xd3, 01, 0xd3, 01}},
+ {ARSQRTPS, yxm, Pm, [23]uint8{0x52}},
+ {ARSQRTSS, yxm, Pf3, [23]uint8{0x52}},
+ {ASAHF, ynone, Px1, [23]uint8{0x9e, 00, 0x86, 0xe0, 0x50, 0x9d}}, /* XCHGB AH,AL; PUSH AX; POPFL */
+ {ASALB, yshb, Pb, [23]uint8{0xd0, 04, 0xc0, 04, 0xd2, 04}},
+ {ASALL, yshl, Px, [23]uint8{0xd1, 04, 0xc1, 04, 0xd3, 04, 0xd3, 04}},
+ {ASALQ, yshl, Pw, [23]uint8{0xd1, 04, 0xc1, 04, 0xd3, 04, 0xd3, 04}},
+ {ASALW, yshl, Pe, [23]uint8{0xd1, 04, 0xc1, 04, 0xd3, 04, 0xd3, 04}},
+ {ASARB, yshb, Pb, [23]uint8{0xd0, 07, 0xc0, 07, 0xd2, 07}},
+ {ASARL, yshl, Px, [23]uint8{0xd1, 07, 0xc1, 07, 0xd3, 07, 0xd3, 07}},
+ {ASARQ, yshl, Pw, [23]uint8{0xd1, 07, 0xc1, 07, 0xd3, 07, 0xd3, 07}},
+ {ASARW, yshl, Pe, [23]uint8{0xd1, 07, 0xc1, 07, 0xd3, 07, 0xd3, 07}},
+ {ASBBB, yxorb, Pb, [23]uint8{0x1c, 0x80, 03, 0x18, 0x1a}},
+ {ASBBL, yxorl, Px, [23]uint8{0x83, 03, 0x1d, 0x81, 03, 0x19, 0x1b}},
+ {ASBBQ, yxorl, Pw, [23]uint8{0x83, 03, 0x1d, 0x81, 03, 0x19, 0x1b}},
+ {ASBBW, yxorl, Pe, [23]uint8{0x83, 03, 0x1d, 0x81, 03, 0x19, 0x1b}},
+ {ASCASB, ynone, Pb, [23]uint8{0xae}},
+ {ASCASL, ynone, Px, [23]uint8{0xaf}},
+ {ASCASQ, ynone, Pw, [23]uint8{0xaf}},
+ {ASCASW, ynone, Pe, [23]uint8{0xaf}},
+ {ASETCC, yscond, Pb, [23]uint8{0x0f, 0x93, 00}},
+ {ASETCS, yscond, Pb, [23]uint8{0x0f, 0x92, 00}},
+ {ASETEQ, yscond, Pb, [23]uint8{0x0f, 0x94, 00}},
+ {ASETGE, yscond, Pb, [23]uint8{0x0f, 0x9d, 00}},
+ {ASETGT, yscond, Pb, [23]uint8{0x0f, 0x9f, 00}},
+ {ASETHI, yscond, Pb, [23]uint8{0x0f, 0x97, 00}},
+ {ASETLE, yscond, Pb, [23]uint8{0x0f, 0x9e, 00}},
+ {ASETLS, yscond, Pb, [23]uint8{0x0f, 0x96, 00}},
+ {ASETLT, yscond, Pb, [23]uint8{0x0f, 0x9c, 00}},
+ {ASETMI, yscond, Pb, [23]uint8{0x0f, 0x98, 00}},
+ {ASETNE, yscond, Pb, [23]uint8{0x0f, 0x95, 00}},
+ {ASETOC, yscond, Pb, [23]uint8{0x0f, 0x91, 00}},
+ {ASETOS, yscond, Pb, [23]uint8{0x0f, 0x90, 00}},
+ {ASETPC, yscond, Pb, [23]uint8{0x0f, 0x9b, 00}},
+ {ASETPL, yscond, Pb, [23]uint8{0x0f, 0x99, 00}},
+ {ASETPS, yscond, Pb, [23]uint8{0x0f, 0x9a, 00}},
+ {ASHLB, yshb, Pb, [23]uint8{0xd0, 04, 0xc0, 04, 0xd2, 04}},
+ {ASHLL, yshl, Px, [23]uint8{0xd1, 04, 0xc1, 04, 0xd3, 04, 0xd3, 04}},
+ {ASHLQ, yshl, Pw, [23]uint8{0xd1, 04, 0xc1, 04, 0xd3, 04, 0xd3, 04}},
+ {ASHLW, yshl, Pe, [23]uint8{0xd1, 04, 0xc1, 04, 0xd3, 04, 0xd3, 04}},
+ {ASHRB, yshb, Pb, [23]uint8{0xd0, 05, 0xc0, 05, 0xd2, 05}},
+ {ASHRL, yshl, Px, [23]uint8{0xd1, 05, 0xc1, 05, 0xd3, 05, 0xd3, 05}},
+ {ASHRQ, yshl, Pw, [23]uint8{0xd1, 05, 0xc1, 05, 0xd3, 05, 0xd3, 05}},
+ {ASHRW, yshl, Pe, [23]uint8{0xd1, 05, 0xc1, 05, 0xd3, 05, 0xd3, 05}},
+ {ASHUFPD, yxshuf, Pq, [23]uint8{0xc6, 00}},
+ {ASHUFPS, yxshuf, Pm, [23]uint8{0xc6, 00}},
+ {ASQRTPD, yxm, Pe, [23]uint8{0x51}},
+ {ASQRTPS, yxm, Pm, [23]uint8{0x51}},
+ {ASQRTSD, yxm, Pf2, [23]uint8{0x51}},
+ {ASQRTSS, yxm, Pf3, [23]uint8{0x51}},
+ {ASTC, ynone, Px, [23]uint8{0xf9}},
+ {ASTD, ynone, Px, [23]uint8{0xfd}},
+ {ASTI, ynone, Px, [23]uint8{0xfb}},
+ {ASTMXCSR, ysvrs, Pm, [23]uint8{0xae, 03, 0xae, 03}},
+ {ASTOSB, ynone, Pb, [23]uint8{0xaa}},
+ {ASTOSL, ynone, Px, [23]uint8{0xab}},
+ {ASTOSQ, ynone, Pw, [23]uint8{0xab}},
+ {ASTOSW, ynone, Pe, [23]uint8{0xab}},
+ {ASUBB, yxorb, Pb, [23]uint8{0x2c, 0x80, 05, 0x28, 0x2a}},
+ {ASUBL, yaddl, Px, [23]uint8{0x83, 05, 0x2d, 0x81, 05, 0x29, 0x2b}},
+ {ASUBPD, yxm, Pe, [23]uint8{0x5c}},
+ {ASUBPS, yxm, Pm, [23]uint8{0x5c}},
+ {ASUBQ, yaddl, Pw, [23]uint8{0x83, 05, 0x2d, 0x81, 05, 0x29, 0x2b}},
+ {ASUBSD, yxm, Pf2, [23]uint8{0x5c}},
+ {ASUBSS, yxm, Pf3, [23]uint8{0x5c}},
+ {ASUBW, yaddl, Pe, [23]uint8{0x83, 05, 0x2d, 0x81, 05, 0x29, 0x2b}},
+ {ASWAPGS, ynone, Pm, [23]uint8{0x01, 0xf8}},
+ {ASYSCALL, ynone, Px, [23]uint8{0x0f, 0x05}}, /* fast syscall */
+ {ATESTB, ytestb, Pb, [23]uint8{0xa8, 0xf6, 00, 0x84, 0x84}},
+ {ATESTL, ytestl, Px, [23]uint8{0xa9, 0xf7, 00, 0x85, 0x85}},
+ {ATESTQ, ytestl, Pw, [23]uint8{0xa9, 0xf7, 00, 0x85, 0x85}},
+ {ATESTW, ytestl, Pe, [23]uint8{0xa9, 0xf7, 00, 0x85, 0x85}},
+ {obj.ATEXT, ytext, Px, [23]uint8{}},
+ {AUCOMISD, yxcmp, Pe, [23]uint8{0x2e}},
+ {AUCOMISS, yxcmp, Pm, [23]uint8{0x2e}},
+ {AUNPCKHPD, yxm, Pe, [23]uint8{0x15}},
+ {AUNPCKHPS, yxm, Pm, [23]uint8{0x15}},
+ {AUNPCKLPD, yxm, Pe, [23]uint8{0x14}},
+ {AUNPCKLPS, yxm, Pm, [23]uint8{0x14}},
+ {AVERR, ydivl, Pm, [23]uint8{0x00, 04}},
+ {AVERW, ydivl, Pm, [23]uint8{0x00, 05}},
+ {AWAIT, ynone, Px, [23]uint8{0x9b}},
+ {AWORD, ybyte, Px, [23]uint8{2}},
+ {AXCHGB, yml_mb, Pb, [23]uint8{0x86, 0x86}},
+ {AXCHGL, yxchg, Px, [23]uint8{0x90, 0x90, 0x87, 0x87}},
+ {AXCHGQ, yxchg, Pw, [23]uint8{0x90, 0x90, 0x87, 0x87}},
+ {AXCHGW, yxchg, Pe, [23]uint8{0x90, 0x90, 0x87, 0x87}},
+ {AXLAT, ynone, Px, [23]uint8{0xd7}},
+ {AXORB, yxorb, Pb, [23]uint8{0x34, 0x80, 06, 0x30, 0x32}},
+ {AXORL, yxorl, Px, [23]uint8{0x83, 06, 0x35, 0x81, 06, 0x31, 0x33}},
+ {AXORPD, yxm, Pe, [23]uint8{0x57}},
+ {AXORPS, yxm, Pm, [23]uint8{0x57}},
+ {AXORQ, yxorl, Pw, [23]uint8{0x83, 06, 0x35, 0x81, 06, 0x31, 0x33}},
+ {AXORW, yxorl, Pe, [23]uint8{0x83, 06, 0x35, 0x81, 06, 0x31, 0x33}},
+ {AFMOVB, yfmvx, Px, [23]uint8{0xdf, 04}},
+ {AFMOVBP, yfmvp, Px, [23]uint8{0xdf, 06}},
+ {AFMOVD, yfmvd, Px, [23]uint8{0xdd, 00, 0xdd, 02, 0xd9, 00, 0xdd, 02}},
+ {AFMOVDP, yfmvdp, Px, [23]uint8{0xdd, 03, 0xdd, 03}},
+ {AFMOVF, yfmvf, Px, [23]uint8{0xd9, 00, 0xd9, 02}},
+ {AFMOVFP, yfmvp, Px, [23]uint8{0xd9, 03}},
+ {AFMOVL, yfmvf, Px, [23]uint8{0xdb, 00, 0xdb, 02}},
+ {AFMOVLP, yfmvp, Px, [23]uint8{0xdb, 03}},
+ {AFMOVV, yfmvx, Px, [23]uint8{0xdf, 05}},
+ {AFMOVVP, yfmvp, Px, [23]uint8{0xdf, 07}},
+ {AFMOVW, yfmvf, Px, [23]uint8{0xdf, 00, 0xdf, 02}},
+ {AFMOVWP, yfmvp, Px, [23]uint8{0xdf, 03}},
+ {AFMOVX, yfmvx, Px, [23]uint8{0xdb, 05}},
+ {AFMOVXP, yfmvp, Px, [23]uint8{0xdb, 07}},
+ {AFCMOVCC, yfcmv, Px, [23]uint8{0xdb, 00}},
+ {AFCMOVCS, yfcmv, Px, [23]uint8{0xda, 00}},
+ {AFCMOVEQ, yfcmv, Px, [23]uint8{0xda, 01}},
+ {AFCMOVHI, yfcmv, Px, [23]uint8{0xdb, 02}},
+ {AFCMOVLS, yfcmv, Px, [23]uint8{0xda, 02}},
+ {AFCMOVNE, yfcmv, Px, [23]uint8{0xdb, 01}},
+ {AFCMOVNU, yfcmv, Px, [23]uint8{0xdb, 03}},
+ {AFCMOVUN, yfcmv, Px, [23]uint8{0xda, 03}},
+ {AFCOMB, nil, 0, [23]uint8{}},
+ {AFCOMBP, nil, 0, [23]uint8{}},
+ {AFCOMD, yfadd, Px, [23]uint8{0xdc, 02, 0xd8, 02, 0xdc, 02}}, /* botch */
+ {AFCOMDP, yfadd, Px, [23]uint8{0xdc, 03, 0xd8, 03, 0xdc, 03}}, /* botch */
+ {AFCOMDPP, ycompp, Px, [23]uint8{0xde, 03}},
+ {AFCOMF, yfmvx, Px, [23]uint8{0xd8, 02}},
+ {AFCOMFP, yfmvx, Px, [23]uint8{0xd8, 03}},
+ {AFCOMI, yfmvx, Px, [23]uint8{0xdb, 06}},
+ {AFCOMIP, yfmvx, Px, [23]uint8{0xdf, 06}},
+ {AFCOML, yfmvx, Px, [23]uint8{0xda, 02}},
+ {AFCOMLP, yfmvx, Px, [23]uint8{0xda, 03}},
+ {AFCOMW, yfmvx, Px, [23]uint8{0xde, 02}},
+ {AFCOMWP, yfmvx, Px, [23]uint8{0xde, 03}},
+ {AFUCOM, ycompp, Px, [23]uint8{0xdd, 04}},
+ {AFUCOMI, ycompp, Px, [23]uint8{0xdb, 05}},
+ {AFUCOMIP, ycompp, Px, [23]uint8{0xdf, 05}},
+ {AFUCOMP, ycompp, Px, [23]uint8{0xdd, 05}},
+ {AFUCOMPP, ycompp, Px, [23]uint8{0xda, 13}},
+ {AFADDDP, yfaddp, Px, [23]uint8{0xde, 00}},
+ {AFADDW, yfmvx, Px, [23]uint8{0xde, 00}},
+ {AFADDL, yfmvx, Px, [23]uint8{0xda, 00}},
+ {AFADDF, yfmvx, Px, [23]uint8{0xd8, 00}},
+ {AFADDD, yfadd, Px, [23]uint8{0xdc, 00, 0xd8, 00, 0xdc, 00}},
+ {AFMULDP, yfaddp, Px, [23]uint8{0xde, 01}},
+ {AFMULW, yfmvx, Px, [23]uint8{0xde, 01}},
+ {AFMULL, yfmvx, Px, [23]uint8{0xda, 01}},
+ {AFMULF, yfmvx, Px, [23]uint8{0xd8, 01}},
+ {AFMULD, yfadd, Px, [23]uint8{0xdc, 01, 0xd8, 01, 0xdc, 01}},
+ {AFSUBDP, yfaddp, Px, [23]uint8{0xde, 05}},
+ {AFSUBW, yfmvx, Px, [23]uint8{0xde, 04}},
+ {AFSUBL, yfmvx, Px, [23]uint8{0xda, 04}},
+ {AFSUBF, yfmvx, Px, [23]uint8{0xd8, 04}},
+ {AFSUBD, yfadd, Px, [23]uint8{0xdc, 04, 0xd8, 04, 0xdc, 05}},
+ {AFSUBRDP, yfaddp, Px, [23]uint8{0xde, 04}},
+ {AFSUBRW, yfmvx, Px, [23]uint8{0xde, 05}},
+ {AFSUBRL, yfmvx, Px, [23]uint8{0xda, 05}},
+ {AFSUBRF, yfmvx, Px, [23]uint8{0xd8, 05}},
+ {AFSUBRD, yfadd, Px, [23]uint8{0xdc, 05, 0xd8, 05, 0xdc, 04}},
+ {AFDIVDP, yfaddp, Px, [23]uint8{0xde, 07}},
+ {AFDIVW, yfmvx, Px, [23]uint8{0xde, 06}},
+ {AFDIVL, yfmvx, Px, [23]uint8{0xda, 06}},
+ {AFDIVF, yfmvx, Px, [23]uint8{0xd8, 06}},
+ {AFDIVD, yfadd, Px, [23]uint8{0xdc, 06, 0xd8, 06, 0xdc, 07}},
+ {AFDIVRDP, yfaddp, Px, [23]uint8{0xde, 06}},
+ {AFDIVRW, yfmvx, Px, [23]uint8{0xde, 07}},
+ {AFDIVRL, yfmvx, Px, [23]uint8{0xda, 07}},
+ {AFDIVRF, yfmvx, Px, [23]uint8{0xd8, 07}},
+ {AFDIVRD, yfadd, Px, [23]uint8{0xdc, 07, 0xd8, 07, 0xdc, 06}},
+ {AFXCHD, yfxch, Px, [23]uint8{0xd9, 01, 0xd9, 01}},
+ {AFFREE, nil, 0, [23]uint8{}},
+ {AFLDCW, ystcw, Px, [23]uint8{0xd9, 05, 0xd9, 05}},
+ {AFLDENV, ystcw, Px, [23]uint8{0xd9, 04, 0xd9, 04}},
+ {AFRSTOR, ysvrs, Px, [23]uint8{0xdd, 04, 0xdd, 04}},
+ {AFSAVE, ysvrs, Px, [23]uint8{0xdd, 06, 0xdd, 06}},
+ {AFSTCW, ystcw, Px, [23]uint8{0xd9, 07, 0xd9, 07}},
+ {AFSTENV, ystcw, Px, [23]uint8{0xd9, 06, 0xd9, 06}},
+ {AFSTSW, ystsw, Px, [23]uint8{0xdd, 07, 0xdf, 0xe0}},
+ {AF2XM1, ynone, Px, [23]uint8{0xd9, 0xf0}},
+ {AFABS, ynone, Px, [23]uint8{0xd9, 0xe1}},
+ {AFCHS, ynone, Px, [23]uint8{0xd9, 0xe0}},
+ {AFCLEX, ynone, Px, [23]uint8{0xdb, 0xe2}},
+ {AFCOS, ynone, Px, [23]uint8{0xd9, 0xff}},
+ {AFDECSTP, ynone, Px, [23]uint8{0xd9, 0xf6}},
+ {AFINCSTP, ynone, Px, [23]uint8{0xd9, 0xf7}},
+ {AFINIT, ynone, Px, [23]uint8{0xdb, 0xe3}},
+ {AFLD1, ynone, Px, [23]uint8{0xd9, 0xe8}},
+ {AFLDL2E, ynone, Px, [23]uint8{0xd9, 0xea}},
+ {AFLDL2T, ynone, Px, [23]uint8{0xd9, 0xe9}},
+ {AFLDLG2, ynone, Px, [23]uint8{0xd9, 0xec}},
+ {AFLDLN2, ynone, Px, [23]uint8{0xd9, 0xed}},
+ {AFLDPI, ynone, Px, [23]uint8{0xd9, 0xeb}},
+ {AFLDZ, ynone, Px, [23]uint8{0xd9, 0xee}},
+ {AFNOP, ynone, Px, [23]uint8{0xd9, 0xd0}},
+ {AFPATAN, ynone, Px, [23]uint8{0xd9, 0xf3}},
+ {AFPREM, ynone, Px, [23]uint8{0xd9, 0xf8}},
+ {AFPREM1, ynone, Px, [23]uint8{0xd9, 0xf5}},
+ {AFPTAN, ynone, Px, [23]uint8{0xd9, 0xf2}},
+ {AFRNDINT, ynone, Px, [23]uint8{0xd9, 0xfc}},
+ {AFSCALE, ynone, Px, [23]uint8{0xd9, 0xfd}},
+ {AFSIN, ynone, Px, [23]uint8{0xd9, 0xfe}},
+ {AFSINCOS, ynone, Px, [23]uint8{0xd9, 0xfb}},
+ {AFSQRT, ynone, Px, [23]uint8{0xd9, 0xfa}},
+ {AFTST, ynone, Px, [23]uint8{0xd9, 0xe4}},
+ {AFXAM, ynone, Px, [23]uint8{0xd9, 0xe5}},
+ {AFXTRACT, ynone, Px, [23]uint8{0xd9, 0xf4}},
+ {AFYL2X, ynone, Px, [23]uint8{0xd9, 0xf1}},
+ {AFYL2XP1, ynone, Px, [23]uint8{0xd9, 0xf9}},
+ {ACMPXCHGB, yrb_mb, Pb, [23]uint8{0x0f, 0xb0}},
+ {ACMPXCHGL, yrl_ml, Px, [23]uint8{0x0f, 0xb1}},
+ {ACMPXCHGW, yrl_ml, Pe, [23]uint8{0x0f, 0xb1}},
+ {ACMPXCHGQ, yrl_ml, Pw, [23]uint8{0x0f, 0xb1}},
+ {ACMPXCHG8B, yscond, Pm, [23]uint8{0xc7, 01}},
+ {AINVD, ynone, Pm, [23]uint8{0x08}},
+ {AINVLPG, ymbs, Pm, [23]uint8{0x01, 07}},
+ {ALFENCE, ynone, Pm, [23]uint8{0xae, 0xe8}},
+ {AMFENCE, ynone, Pm, [23]uint8{0xae, 0xf0}},
+ {AMOVNTIL, yrl_ml, Pm, [23]uint8{0xc3}},
+ {AMOVNTIQ, yrl_ml, Pw, [23]uint8{0x0f, 0xc3}},
+ {ARDMSR, ynone, Pm, [23]uint8{0x32}},
+ {ARDPMC, ynone, Pm, [23]uint8{0x33}},
+ {ARDTSC, ynone, Pm, [23]uint8{0x31}},
+ {ARSM, ynone, Pm, [23]uint8{0xaa}},
+ {ASFENCE, ynone, Pm, [23]uint8{0xae, 0xf8}},
+ {ASYSRET, ynone, Pm, [23]uint8{0x07}},
+ {AWBINVD, ynone, Pm, [23]uint8{0x09}},
+ {AWRMSR, ynone, Pm, [23]uint8{0x30}},
+ {AXADDB, yrb_mb, Pb, [23]uint8{0x0f, 0xc0}},
+ {AXADDL, yrl_ml, Px, [23]uint8{0x0f, 0xc1}},
+ {AXADDQ, yrl_ml, Pw, [23]uint8{0x0f, 0xc1}},
+ {AXADDW, yrl_ml, Pe, [23]uint8{0x0f, 0xc1}},
+ {ACRC32B, ycrc32l, Px, [23]uint8{0xf2, 0x0f, 0x38, 0xf0, 0}},
+ {ACRC32Q, ycrc32l, Pw, [23]uint8{0xf2, 0x0f, 0x38, 0xf1, 0}},
+ {APREFETCHT0, yprefetch, Pm, [23]uint8{0x18, 01}},
+ {APREFETCHT1, yprefetch, Pm, [23]uint8{0x18, 02}},
+ {APREFETCHT2, yprefetch, Pm, [23]uint8{0x18, 03}},
+ {APREFETCHNTA, yprefetch, Pm, [23]uint8{0x18, 00}},
+ {AMOVQL, yrl_ml, Px, [23]uint8{0x89}},
+ {obj.AUNDEF, ynone, Px, [23]uint8{0x0f, 0x0b}},
+ {AAESENC, yaes, Pq, [23]uint8{0x38, 0xdc, 0}},
+ {AAESENCLAST, yaes, Pq, [23]uint8{0x38, 0xdd, 0}},
+ {AAESDEC, yaes, Pq, [23]uint8{0x38, 0xde, 0}},
+ {AAESDECLAST, yaes, Pq, [23]uint8{0x38, 0xdf, 0}},
+ {AAESIMC, yaes, Pq, [23]uint8{0x38, 0xdb, 0}},
+ {AAESKEYGENASSIST, yaes2, Pq, [23]uint8{0x3a, 0xdf, 0}},
+ {APSHUFD, yxshuf, Pq, [23]uint8{0x70, 0}},
+ {APCLMULQDQ, yxshuf, Pq, [23]uint8{0x3a, 0x44, 0}},
+ {obj.AUSEFIELD, ynop, Px, [23]uint8{0, 0}},
+ {obj.ATYPE, nil, 0, [23]uint8{}},
+ {obj.AFUNCDATA, yfuncdata, Px, [23]uint8{0, 0}},
+ {obj.APCDATA, ypcdata, Px, [23]uint8{0, 0}},
+ {obj.ACHECKNIL, nil, 0, [23]uint8{}},
+ {obj.AVARDEF, nil, 0, [23]uint8{}},
+ {obj.AVARKILL, nil, 0, [23]uint8{}},
+ {obj.ADUFFCOPY, yduff, Px, [23]uint8{0xe8}},
+ {obj.ADUFFZERO, yduff, Px, [23]uint8{0xe8}},
+ {obj.AEND, nil, 0, [23]uint8{}},
+ {0, nil, 0, [23]uint8{}},
}
var opindex [(ALAST + 1) & obj.AMask]*Optab
// constructed by hand and disassembled with gdb to verify.
// see http://www.agner.org/optimize/optimizing_assembly.pdf for discussion.
var nop = [][16]uint8{
- [16]uint8{0x90},
- [16]uint8{0x66, 0x90},
- [16]uint8{0x0F, 0x1F, 0x00},
- [16]uint8{0x0F, 0x1F, 0x40, 0x00},
- [16]uint8{0x0F, 0x1F, 0x44, 0x00, 0x00},
- [16]uint8{0x66, 0x0F, 0x1F, 0x44, 0x00, 0x00},
- [16]uint8{0x0F, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00},
- [16]uint8{0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
- [16]uint8{0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
+ {0x90},
+ {0x66, 0x90},
+ {0x0F, 0x1F, 0x00},
+ {0x0F, 0x1F, 0x40, 0x00},
+ {0x0F, 0x1F, 0x44, 0x00, 0x00},
+ {0x66, 0x0F, 0x1F, 0x44, 0x00, 0x00},
+ {0x0F, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00},
+ {0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
+ {0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
}
// Native Client rejects the repeated 0x66 prefix.
var ymovtab = []Movtab{
/* push */
- Movtab{APUSHL, Ycs, Ynone, Ynone, 0, [4]uint8{0x0e, E, 0, 0}},
- Movtab{APUSHL, Yss, Ynone, Ynone, 0, [4]uint8{0x16, E, 0, 0}},
- Movtab{APUSHL, Yds, Ynone, Ynone, 0, [4]uint8{0x1e, E, 0, 0}},
- Movtab{APUSHL, Yes, Ynone, Ynone, 0, [4]uint8{0x06, E, 0, 0}},
- Movtab{APUSHL, Yfs, Ynone, Ynone, 0, [4]uint8{0x0f, 0xa0, E, 0}},
- Movtab{APUSHL, Ygs, Ynone, Ynone, 0, [4]uint8{0x0f, 0xa8, E, 0}},
- Movtab{APUSHQ, Yfs, Ynone, Ynone, 0, [4]uint8{0x0f, 0xa0, E, 0}},
- Movtab{APUSHQ, Ygs, Ynone, Ynone, 0, [4]uint8{0x0f, 0xa8, E, 0}},
- Movtab{APUSHW, Ycs, Ynone, Ynone, 0, [4]uint8{Pe, 0x0e, E, 0}},
- Movtab{APUSHW, Yss, Ynone, Ynone, 0, [4]uint8{Pe, 0x16, E, 0}},
- Movtab{APUSHW, Yds, Ynone, Ynone, 0, [4]uint8{Pe, 0x1e, E, 0}},
- Movtab{APUSHW, Yes, Ynone, Ynone, 0, [4]uint8{Pe, 0x06, E, 0}},
- Movtab{APUSHW, Yfs, Ynone, Ynone, 0, [4]uint8{Pe, 0x0f, 0xa0, E}},
- Movtab{APUSHW, Ygs, Ynone, Ynone, 0, [4]uint8{Pe, 0x0f, 0xa8, E}},
+ {APUSHL, Ycs, Ynone, Ynone, 0, [4]uint8{0x0e, E, 0, 0}},
+ {APUSHL, Yss, Ynone, Ynone, 0, [4]uint8{0x16, E, 0, 0}},
+ {APUSHL, Yds, Ynone, Ynone, 0, [4]uint8{0x1e, E, 0, 0}},
+ {APUSHL, Yes, Ynone, Ynone, 0, [4]uint8{0x06, E, 0, 0}},
+ {APUSHL, Yfs, Ynone, Ynone, 0, [4]uint8{0x0f, 0xa0, E, 0}},
+ {APUSHL, Ygs, Ynone, Ynone, 0, [4]uint8{0x0f, 0xa8, E, 0}},
+ {APUSHQ, Yfs, Ynone, Ynone, 0, [4]uint8{0x0f, 0xa0, E, 0}},
+ {APUSHQ, Ygs, Ynone, Ynone, 0, [4]uint8{0x0f, 0xa8, E, 0}},
+ {APUSHW, Ycs, Ynone, Ynone, 0, [4]uint8{Pe, 0x0e, E, 0}},
+ {APUSHW, Yss, Ynone, Ynone, 0, [4]uint8{Pe, 0x16, E, 0}},
+ {APUSHW, Yds, Ynone, Ynone, 0, [4]uint8{Pe, 0x1e, E, 0}},
+ {APUSHW, Yes, Ynone, Ynone, 0, [4]uint8{Pe, 0x06, E, 0}},
+ {APUSHW, Yfs, Ynone, Ynone, 0, [4]uint8{Pe, 0x0f, 0xa0, E}},
+ {APUSHW, Ygs, Ynone, Ynone, 0, [4]uint8{Pe, 0x0f, 0xa8, E}},
/* pop */
- Movtab{APOPL, Ynone, Ynone, Yds, 0, [4]uint8{0x1f, E, 0, 0}},
- Movtab{APOPL, Ynone, Ynone, Yes, 0, [4]uint8{0x07, E, 0, 0}},
- Movtab{APOPL, Ynone, Ynone, Yss, 0, [4]uint8{0x17, E, 0, 0}},
- Movtab{APOPL, Ynone, Ynone, Yfs, 0, [4]uint8{0x0f, 0xa1, E, 0}},
- Movtab{APOPL, Ynone, Ynone, Ygs, 0, [4]uint8{0x0f, 0xa9, E, 0}},
- Movtab{APOPQ, Ynone, Ynone, Yfs, 0, [4]uint8{0x0f, 0xa1, E, 0}},
- Movtab{APOPQ, Ynone, Ynone, Ygs, 0, [4]uint8{0x0f, 0xa9, E, 0}},
- Movtab{APOPW, Ynone, Ynone, Yds, 0, [4]uint8{Pe, 0x1f, E, 0}},
- Movtab{APOPW, Ynone, Ynone, Yes, 0, [4]uint8{Pe, 0x07, E, 0}},
- Movtab{APOPW, Ynone, Ynone, Yss, 0, [4]uint8{Pe, 0x17, E, 0}},
- Movtab{APOPW, Ynone, Ynone, Yfs, 0, [4]uint8{Pe, 0x0f, 0xa1, E}},
- Movtab{APOPW, Ynone, Ynone, Ygs, 0, [4]uint8{Pe, 0x0f, 0xa9, E}},
+ {APOPL, Ynone, Ynone, Yds, 0, [4]uint8{0x1f, E, 0, 0}},
+ {APOPL, Ynone, Ynone, Yes, 0, [4]uint8{0x07, E, 0, 0}},
+ {APOPL, Ynone, Ynone, Yss, 0, [4]uint8{0x17, E, 0, 0}},
+ {APOPL, Ynone, Ynone, Yfs, 0, [4]uint8{0x0f, 0xa1, E, 0}},
+ {APOPL, Ynone, Ynone, Ygs, 0, [4]uint8{0x0f, 0xa9, E, 0}},
+ {APOPQ, Ynone, Ynone, Yfs, 0, [4]uint8{0x0f, 0xa1, E, 0}},
+ {APOPQ, Ynone, Ynone, Ygs, 0, [4]uint8{0x0f, 0xa9, E, 0}},
+ {APOPW, Ynone, Ynone, Yds, 0, [4]uint8{Pe, 0x1f, E, 0}},
+ {APOPW, Ynone, Ynone, Yes, 0, [4]uint8{Pe, 0x07, E, 0}},
+ {APOPW, Ynone, Ynone, Yss, 0, [4]uint8{Pe, 0x17, E, 0}},
+ {APOPW, Ynone, Ynone, Yfs, 0, [4]uint8{Pe, 0x0f, 0xa1, E}},
+ {APOPW, Ynone, Ynone, Ygs, 0, [4]uint8{Pe, 0x0f, 0xa9, E}},
/* mov seg */
- Movtab{AMOVW, Yes, Ynone, Yml, 1, [4]uint8{0x8c, 0, 0, 0}},
- Movtab{AMOVW, Ycs, Ynone, Yml, 1, [4]uint8{0x8c, 1, 0, 0}},
- Movtab{AMOVW, Yss, Ynone, Yml, 1, [4]uint8{0x8c, 2, 0, 0}},
- Movtab{AMOVW, Yds, Ynone, Yml, 1, [4]uint8{0x8c, 3, 0, 0}},
- Movtab{AMOVW, Yfs, Ynone, Yml, 1, [4]uint8{0x8c, 4, 0, 0}},
- Movtab{AMOVW, Ygs, Ynone, Yml, 1, [4]uint8{0x8c, 5, 0, 0}},
- Movtab{AMOVW, Yml, Ynone, Yes, 2, [4]uint8{0x8e, 0, 0, 0}},
- Movtab{AMOVW, Yml, Ynone, Ycs, 2, [4]uint8{0x8e, 1, 0, 0}},
- Movtab{AMOVW, Yml, Ynone, Yss, 2, [4]uint8{0x8e, 2, 0, 0}},
- Movtab{AMOVW, Yml, Ynone, Yds, 2, [4]uint8{0x8e, 3, 0, 0}},
- Movtab{AMOVW, Yml, Ynone, Yfs, 2, [4]uint8{0x8e, 4, 0, 0}},
- Movtab{AMOVW, Yml, Ynone, Ygs, 2, [4]uint8{0x8e, 5, 0, 0}},
+ {AMOVW, Yes, Ynone, Yml, 1, [4]uint8{0x8c, 0, 0, 0}},
+ {AMOVW, Ycs, Ynone, Yml, 1, [4]uint8{0x8c, 1, 0, 0}},
+ {AMOVW, Yss, Ynone, Yml, 1, [4]uint8{0x8c, 2, 0, 0}},
+ {AMOVW, Yds, Ynone, Yml, 1, [4]uint8{0x8c, 3, 0, 0}},
+ {AMOVW, Yfs, Ynone, Yml, 1, [4]uint8{0x8c, 4, 0, 0}},
+ {AMOVW, Ygs, Ynone, Yml, 1, [4]uint8{0x8c, 5, 0, 0}},
+ {AMOVW, Yml, Ynone, Yes, 2, [4]uint8{0x8e, 0, 0, 0}},
+ {AMOVW, Yml, Ynone, Ycs, 2, [4]uint8{0x8e, 1, 0, 0}},
+ {AMOVW, Yml, Ynone, Yss, 2, [4]uint8{0x8e, 2, 0, 0}},
+ {AMOVW, Yml, Ynone, Yds, 2, [4]uint8{0x8e, 3, 0, 0}},
+ {AMOVW, Yml, Ynone, Yfs, 2, [4]uint8{0x8e, 4, 0, 0}},
+ {AMOVW, Yml, Ynone, Ygs, 2, [4]uint8{0x8e, 5, 0, 0}},
/* mov cr */
- Movtab{AMOVL, Ycr0, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 0, 0}},
- Movtab{AMOVL, Ycr2, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 2, 0}},
- Movtab{AMOVL, Ycr3, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 3, 0}},
- Movtab{AMOVL, Ycr4, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 4, 0}},
- Movtab{AMOVL, Ycr8, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 8, 0}},
- Movtab{AMOVQ, Ycr0, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 0, 0}},
- Movtab{AMOVQ, Ycr2, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 2, 0}},
- Movtab{AMOVQ, Ycr3, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 3, 0}},
- Movtab{AMOVQ, Ycr4, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 4, 0}},
- Movtab{AMOVQ, Ycr8, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 8, 0}},
- Movtab{AMOVL, Yml, Ynone, Ycr0, 4, [4]uint8{0x0f, 0x22, 0, 0}},
- Movtab{AMOVL, Yml, Ynone, Ycr2, 4, [4]uint8{0x0f, 0x22, 2, 0}},
- Movtab{AMOVL, Yml, Ynone, Ycr3, 4, [4]uint8{0x0f, 0x22, 3, 0}},
- Movtab{AMOVL, Yml, Ynone, Ycr4, 4, [4]uint8{0x0f, 0x22, 4, 0}},
- Movtab{AMOVL, Yml, Ynone, Ycr8, 4, [4]uint8{0x0f, 0x22, 8, 0}},
- Movtab{AMOVQ, Yml, Ynone, Ycr0, 4, [4]uint8{0x0f, 0x22, 0, 0}},
- Movtab{AMOVQ, Yml, Ynone, Ycr2, 4, [4]uint8{0x0f, 0x22, 2, 0}},
- Movtab{AMOVQ, Yml, Ynone, Ycr3, 4, [4]uint8{0x0f, 0x22, 3, 0}},
- Movtab{AMOVQ, Yml, Ynone, Ycr4, 4, [4]uint8{0x0f, 0x22, 4, 0}},
- Movtab{AMOVQ, Yml, Ynone, Ycr8, 4, [4]uint8{0x0f, 0x22, 8, 0}},
+ {AMOVL, Ycr0, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 0, 0}},
+ {AMOVL, Ycr2, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 2, 0}},
+ {AMOVL, Ycr3, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 3, 0}},
+ {AMOVL, Ycr4, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 4, 0}},
+ {AMOVL, Ycr8, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 8, 0}},
+ {AMOVQ, Ycr0, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 0, 0}},
+ {AMOVQ, Ycr2, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 2, 0}},
+ {AMOVQ, Ycr3, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 3, 0}},
+ {AMOVQ, Ycr4, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 4, 0}},
+ {AMOVQ, Ycr8, Ynone, Yml, 3, [4]uint8{0x0f, 0x20, 8, 0}},
+ {AMOVL, Yml, Ynone, Ycr0, 4, [4]uint8{0x0f, 0x22, 0, 0}},
+ {AMOVL, Yml, Ynone, Ycr2, 4, [4]uint8{0x0f, 0x22, 2, 0}},
+ {AMOVL, Yml, Ynone, Ycr3, 4, [4]uint8{0x0f, 0x22, 3, 0}},
+ {AMOVL, Yml, Ynone, Ycr4, 4, [4]uint8{0x0f, 0x22, 4, 0}},
+ {AMOVL, Yml, Ynone, Ycr8, 4, [4]uint8{0x0f, 0x22, 8, 0}},
+ {AMOVQ, Yml, Ynone, Ycr0, 4, [4]uint8{0x0f, 0x22, 0, 0}},
+ {AMOVQ, Yml, Ynone, Ycr2, 4, [4]uint8{0x0f, 0x22, 2, 0}},
+ {AMOVQ, Yml, Ynone, Ycr3, 4, [4]uint8{0x0f, 0x22, 3, 0}},
+ {AMOVQ, Yml, Ynone, Ycr4, 4, [4]uint8{0x0f, 0x22, 4, 0}},
+ {AMOVQ, Yml, Ynone, Ycr8, 4, [4]uint8{0x0f, 0x22, 8, 0}},
/* mov dr */
- Movtab{AMOVL, Ydr0, Ynone, Yml, 3, [4]uint8{0x0f, 0x21, 0, 0}},
- Movtab{AMOVL, Ydr6, Ynone, Yml, 3, [4]uint8{0x0f, 0x21, 6, 0}},
- Movtab{AMOVL, Ydr7, Ynone, Yml, 3, [4]uint8{0x0f, 0x21, 7, 0}},
- Movtab{AMOVQ, Ydr0, Ynone, Yml, 3, [4]uint8{0x0f, 0x21, 0, 0}},
- Movtab{AMOVQ, Ydr6, Ynone, Yml, 3, [4]uint8{0x0f, 0x21, 6, 0}},
- Movtab{AMOVQ, Ydr7, Ynone, Yml, 3, [4]uint8{0x0f, 0x21, 7, 0}},
- Movtab{AMOVL, Yml, Ynone, Ydr0, 4, [4]uint8{0x0f, 0x23, 0, 0}},
- Movtab{AMOVL, Yml, Ynone, Ydr6, 4, [4]uint8{0x0f, 0x23, 6, 0}},
- Movtab{AMOVL, Yml, Ynone, Ydr7, 4, [4]uint8{0x0f, 0x23, 7, 0}},
- Movtab{AMOVQ, Yml, Ynone, Ydr0, 4, [4]uint8{0x0f, 0x23, 0, 0}},
- Movtab{AMOVQ, Yml, Ynone, Ydr6, 4, [4]uint8{0x0f, 0x23, 6, 0}},
- Movtab{AMOVQ, Yml, Ynone, Ydr7, 4, [4]uint8{0x0f, 0x23, 7, 0}},
+ {AMOVL, Ydr0, Ynone, Yml, 3, [4]uint8{0x0f, 0x21, 0, 0}},
+ {AMOVL, Ydr6, Ynone, Yml, 3, [4]uint8{0x0f, 0x21, 6, 0}},
+ {AMOVL, Ydr7, Ynone, Yml, 3, [4]uint8{0x0f, 0x21, 7, 0}},
+ {AMOVQ, Ydr0, Ynone, Yml, 3, [4]uint8{0x0f, 0x21, 0, 0}},
+ {AMOVQ, Ydr6, Ynone, Yml, 3, [4]uint8{0x0f, 0x21, 6, 0}},
+ {AMOVQ, Ydr7, Ynone, Yml, 3, [4]uint8{0x0f, 0x21, 7, 0}},
+ {AMOVL, Yml, Ynone, Ydr0, 4, [4]uint8{0x0f, 0x23, 0, 0}},
+ {AMOVL, Yml, Ynone, Ydr6, 4, [4]uint8{0x0f, 0x23, 6, 0}},
+ {AMOVL, Yml, Ynone, Ydr7, 4, [4]uint8{0x0f, 0x23, 7, 0}},
+ {AMOVQ, Yml, Ynone, Ydr0, 4, [4]uint8{0x0f, 0x23, 0, 0}},
+ {AMOVQ, Yml, Ynone, Ydr6, 4, [4]uint8{0x0f, 0x23, 6, 0}},
+ {AMOVQ, Yml, Ynone, Ydr7, 4, [4]uint8{0x0f, 0x23, 7, 0}},
/* mov tr */
- Movtab{AMOVL, Ytr6, Ynone, Yml, 3, [4]uint8{0x0f, 0x24, 6, 0}},
- Movtab{AMOVL, Ytr7, Ynone, Yml, 3, [4]uint8{0x0f, 0x24, 7, 0}},
- Movtab{AMOVL, Yml, Ynone, Ytr6, 4, [4]uint8{0x0f, 0x26, 6, E}},
- Movtab{AMOVL, Yml, Ynone, Ytr7, 4, [4]uint8{0x0f, 0x26, 7, E}},
+ {AMOVL, Ytr6, Ynone, Yml, 3, [4]uint8{0x0f, 0x24, 6, 0}},
+ {AMOVL, Ytr7, Ynone, Yml, 3, [4]uint8{0x0f, 0x24, 7, 0}},
+ {AMOVL, Yml, Ynone, Ytr6, 4, [4]uint8{0x0f, 0x26, 6, E}},
+ {AMOVL, Yml, Ynone, Ytr7, 4, [4]uint8{0x0f, 0x26, 7, E}},
/* lgdt, sgdt, lidt, sidt */
- Movtab{AMOVL, Ym, Ynone, Ygdtr, 4, [4]uint8{0x0f, 0x01, 2, 0}},
- Movtab{AMOVL, Ygdtr, Ynone, Ym, 3, [4]uint8{0x0f, 0x01, 0, 0}},
- Movtab{AMOVL, Ym, Ynone, Yidtr, 4, [4]uint8{0x0f, 0x01, 3, 0}},
- Movtab{AMOVL, Yidtr, Ynone, Ym, 3, [4]uint8{0x0f, 0x01, 1, 0}},
- Movtab{AMOVQ, Ym, Ynone, Ygdtr, 4, [4]uint8{0x0f, 0x01, 2, 0}},
- Movtab{AMOVQ, Ygdtr, Ynone, Ym, 3, [4]uint8{0x0f, 0x01, 0, 0}},
- Movtab{AMOVQ, Ym, Ynone, Yidtr, 4, [4]uint8{0x0f, 0x01, 3, 0}},
- Movtab{AMOVQ, Yidtr, Ynone, Ym, 3, [4]uint8{0x0f, 0x01, 1, 0}},
+ {AMOVL, Ym, Ynone, Ygdtr, 4, [4]uint8{0x0f, 0x01, 2, 0}},
+ {AMOVL, Ygdtr, Ynone, Ym, 3, [4]uint8{0x0f, 0x01, 0, 0}},
+ {AMOVL, Ym, Ynone, Yidtr, 4, [4]uint8{0x0f, 0x01, 3, 0}},
+ {AMOVL, Yidtr, Ynone, Ym, 3, [4]uint8{0x0f, 0x01, 1, 0}},
+ {AMOVQ, Ym, Ynone, Ygdtr, 4, [4]uint8{0x0f, 0x01, 2, 0}},
+ {AMOVQ, Ygdtr, Ynone, Ym, 3, [4]uint8{0x0f, 0x01, 0, 0}},
+ {AMOVQ, Ym, Ynone, Yidtr, 4, [4]uint8{0x0f, 0x01, 3, 0}},
+ {AMOVQ, Yidtr, Ynone, Ym, 3, [4]uint8{0x0f, 0x01, 1, 0}},
/* lldt, sldt */
- Movtab{AMOVW, Yml, Ynone, Yldtr, 4, [4]uint8{0x0f, 0x00, 2, 0}},
- Movtab{AMOVW, Yldtr, Ynone, Yml, 3, [4]uint8{0x0f, 0x00, 0, 0}},
+ {AMOVW, Yml, Ynone, Yldtr, 4, [4]uint8{0x0f, 0x00, 2, 0}},
+ {AMOVW, Yldtr, Ynone, Yml, 3, [4]uint8{0x0f, 0x00, 0, 0}},
/* lmsw, smsw */
- Movtab{AMOVW, Yml, Ynone, Ymsw, 4, [4]uint8{0x0f, 0x01, 6, 0}},
- Movtab{AMOVW, Ymsw, Ynone, Yml, 3, [4]uint8{0x0f, 0x01, 4, 0}},
+ {AMOVW, Yml, Ynone, Ymsw, 4, [4]uint8{0x0f, 0x01, 6, 0}},
+ {AMOVW, Ymsw, Ynone, Yml, 3, [4]uint8{0x0f, 0x01, 4, 0}},
/* ltr, str */
- Movtab{AMOVW, Yml, Ynone, Ytask, 4, [4]uint8{0x0f, 0x00, 3, 0}},
- Movtab{AMOVW, Ytask, Ynone, Yml, 3, [4]uint8{0x0f, 0x00, 1, 0}},
+ {AMOVW, Yml, Ynone, Ytask, 4, [4]uint8{0x0f, 0x00, 3, 0}},
+ {AMOVW, Ytask, Ynone, Yml, 3, [4]uint8{0x0f, 0x00, 1, 0}},
/* load full pointer - unsupported
Movtab{AMOVL, Yml, Ycol, 5, [4]uint8{0, 0, 0, 0}},
*/
/* double shift */
- Movtab{ASHLL, Yi8, Yrl, Yml, 6, [4]uint8{0xa4, 0xa5, 0, 0}},
- Movtab{ASHLL, Ycl, Yrl, Yml, 6, [4]uint8{0xa4, 0xa5, 0, 0}},
- Movtab{ASHLL, Ycx, Yrl, Yml, 6, [4]uint8{0xa4, 0xa5, 0, 0}},
- Movtab{ASHRL, Yi8, Yrl, Yml, 6, [4]uint8{0xac, 0xad, 0, 0}},
- Movtab{ASHRL, Ycl, Yrl, Yml, 6, [4]uint8{0xac, 0xad, 0, 0}},
- Movtab{ASHRL, Ycx, Yrl, Yml, 6, [4]uint8{0xac, 0xad, 0, 0}},
- Movtab{ASHLQ, Yi8, Yrl, Yml, 6, [4]uint8{Pw, 0xa4, 0xa5, 0}},
- Movtab{ASHLQ, Ycl, Yrl, Yml, 6, [4]uint8{Pw, 0xa4, 0xa5, 0}},
- Movtab{ASHLQ, Ycx, Yrl, Yml, 6, [4]uint8{Pw, 0xa4, 0xa5, 0}},
- Movtab{ASHRQ, Yi8, Yrl, Yml, 6, [4]uint8{Pw, 0xac, 0xad, 0}},
- Movtab{ASHRQ, Ycl, Yrl, Yml, 6, [4]uint8{Pw, 0xac, 0xad, 0}},
- Movtab{ASHRQ, Ycx, Yrl, Yml, 6, [4]uint8{Pw, 0xac, 0xad, 0}},
- Movtab{ASHLW, Yi8, Yrl, Yml, 6, [4]uint8{Pe, 0xa4, 0xa5, 0}},
- Movtab{ASHLW, Ycl, Yrl, Yml, 6, [4]uint8{Pe, 0xa4, 0xa5, 0}},
- Movtab{ASHLW, Ycx, Yrl, Yml, 6, [4]uint8{Pe, 0xa4, 0xa5, 0}},
- Movtab{ASHRW, Yi8, Yrl, Yml, 6, [4]uint8{Pe, 0xac, 0xad, 0}},
- Movtab{ASHRW, Ycl, Yrl, Yml, 6, [4]uint8{Pe, 0xac, 0xad, 0}},
- Movtab{ASHRW, Ycx, Yrl, Yml, 6, [4]uint8{Pe, 0xac, 0xad, 0}},
+ {ASHLL, Yi8, Yrl, Yml, 6, [4]uint8{0xa4, 0xa5, 0, 0}},
+ {ASHLL, Ycl, Yrl, Yml, 6, [4]uint8{0xa4, 0xa5, 0, 0}},
+ {ASHLL, Ycx, Yrl, Yml, 6, [4]uint8{0xa4, 0xa5, 0, 0}},
+ {ASHRL, Yi8, Yrl, Yml, 6, [4]uint8{0xac, 0xad, 0, 0}},
+ {ASHRL, Ycl, Yrl, Yml, 6, [4]uint8{0xac, 0xad, 0, 0}},
+ {ASHRL, Ycx, Yrl, Yml, 6, [4]uint8{0xac, 0xad, 0, 0}},
+ {ASHLQ, Yi8, Yrl, Yml, 6, [4]uint8{Pw, 0xa4, 0xa5, 0}},
+ {ASHLQ, Ycl, Yrl, Yml, 6, [4]uint8{Pw, 0xa4, 0xa5, 0}},
+ {ASHLQ, Ycx, Yrl, Yml, 6, [4]uint8{Pw, 0xa4, 0xa5, 0}},
+ {ASHRQ, Yi8, Yrl, Yml, 6, [4]uint8{Pw, 0xac, 0xad, 0}},
+ {ASHRQ, Ycl, Yrl, Yml, 6, [4]uint8{Pw, 0xac, 0xad, 0}},
+ {ASHRQ, Ycx, Yrl, Yml, 6, [4]uint8{Pw, 0xac, 0xad, 0}},
+ {ASHLW, Yi8, Yrl, Yml, 6, [4]uint8{Pe, 0xa4, 0xa5, 0}},
+ {ASHLW, Ycl, Yrl, Yml, 6, [4]uint8{Pe, 0xa4, 0xa5, 0}},
+ {ASHLW, Ycx, Yrl, Yml, 6, [4]uint8{Pe, 0xa4, 0xa5, 0}},
+ {ASHRW, Yi8, Yrl, Yml, 6, [4]uint8{Pe, 0xac, 0xad, 0}},
+ {ASHRW, Ycl, Yrl, Yml, 6, [4]uint8{Pe, 0xac, 0xad, 0}},
+ {ASHRW, Ycx, Yrl, Yml, 6, [4]uint8{Pe, 0xac, 0xad, 0}},
/* load TLS base */
- Movtab{AMOVL, Ytls, Ynone, Yrl, 7, [4]uint8{0, 0, 0, 0}},
- Movtab{AMOVQ, Ytls, Ynone, Yrl, 7, [4]uint8{0, 0, 0, 0}},
- Movtab{0, 0, 0, 0, 0, [4]uint8{}},
+ {AMOVL, Ytls, Ynone, Yrl, 7, [4]uint8{0, 0, 0, 0}},
+ {AMOVQ, Ytls, Ynone, Yrl, 7, [4]uint8{0, 0, 0, 0}},
+ {0, 0, 0, 0, 0, [4]uint8{}},
}
func isax(a *obj.Addr) bool {