Commit 7d48573d authored by Didier Spezia's avatar Didier Spezia Committed by Brad Fitzpatrick

cmd/internal/obj: map/slice literals janitoring

Simplify slice/map literal expressions.
Caught with gofmt -d -s, fixed with gofmt -w -s
Checked that the result can still be compiled with Go 1.4.

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