diff options
author | Tianon Gravi <admwiggin@gmail.com> | 2015-01-15 11:54:00 -0700 |
---|---|---|
committer | Tianon Gravi <admwiggin@gmail.com> | 2015-01-15 11:54:00 -0700 |
commit | f154da9e12608589e8d5f0508f908a0c3e88a1bb (patch) | |
tree | f8255d51e10c6f1e0ed69702200b966c9556a431 /src/liblink/asm8.c | |
parent | 8d8329ed5dfb9622c82a9fbec6fd99a580f9c9f6 (diff) | |
download | golang-upstream/1.4.tar.gz |
Imported Upstream version 1.4upstream/1.4
Diffstat (limited to 'src/liblink/asm8.c')
-rw-r--r-- | src/liblink/asm8.c | 1074 |
1 files changed, 537 insertions, 537 deletions
diff --git a/src/liblink/asm8.c b/src/liblink/asm8.c index 3ab527ce8..b6627d5fd 100644 --- a/src/liblink/asm8.c +++ b/src/liblink/asm8.c @@ -35,7 +35,7 @@ #include <bio.h> #include <link.h> #include "../cmd/8l/8.out.h" -#include "../pkg/runtime/stack.h" +#include "../runtime/stack.h" enum { @@ -43,8 +43,6 @@ enum FuncAlign = 16 }; -extern char *anames6[]; - typedef struct Optab Optab; struct Optab @@ -142,7 +140,7 @@ enum }; static uchar ycover[Ymax*Ymax]; -static char reg[D_NONE]; +static int reg[D_NONE]; static void asmins(Link *ctxt, Prog *p); static uchar ynone[] = @@ -617,548 +615,548 @@ static Optab optab[] = /* as, ytab, andproto, opcode */ { { AXXX }, - { AAAA, ynone, Px, 0x37 }, - { AAAD, ynone, Px, 0xd5,0x0a }, - { AAAM, ynone, Px, 0xd4,0x0a }, - { AAAS, ynone, Px, 0x3f }, - { AADCB, yxorb, Pb, 0x14,0x80,(02),0x10,0x10 }, - { AADCL, yxorl, Px, 0x83,(02),0x15,0x81,(02),0x11,0x13 }, - { AADCW, yxorl, Pe, 0x83,(02),0x15,0x81,(02),0x11,0x13 }, - { AADDB, yxorb, Px, 0x04,0x80,(00),0x00,0x02 }, - { AADDL, yaddl, Px, 0x83,(00),0x05,0x81,(00),0x01,0x03 }, - { AADDW, yaddl, Pe, 0x83,(00),0x05,0x81,(00),0x01,0x03 }, + { AAAA, ynone, Px, {0x37} }, + { AAAD, ynone, Px, {0xd5,0x0a} }, + { AAAM, ynone, Px, {0xd4,0x0a} }, + { AAAS, ynone, Px, {0x3f} }, + { AADCB, yxorb, Pb, {0x14,0x80,(02),0x10,0x10} }, + { AADCL, yxorl, Px, {0x83,(02),0x15,0x81,(02),0x11,0x13} }, + { AADCW, yxorl, Pe, {0x83,(02),0x15,0x81,(02),0x11,0x13} }, + { AADDB, yxorb, Px, {0x04,0x80,(00),0x00,0x02} }, + { AADDL, yaddl, Px, {0x83,(00),0x05,0x81,(00),0x01,0x03} }, + { AADDW, yaddl, Pe, {0x83,(00),0x05,0x81,(00),0x01,0x03} }, { AADJSP }, - { AANDB, yxorb, Pb, 0x24,0x80,(04),0x20,0x22 }, - { AANDL, yxorl, Px, 0x83,(04),0x25,0x81,(04),0x21,0x23 }, - { AANDW, yxorl, Pe, 0x83,(04),0x25,0x81,(04),0x21,0x23 }, - { AARPL, yrl_ml, Px, 0x63 }, - { ABOUNDL, yrl_m, Px, 0x62 }, - { ABOUNDW, yrl_m, Pe, 0x62 }, - { ABSFL, yml_rl, Pm, 0xbc }, - { ABSFW, yml_rl, Pq, 0xbc }, - { ABSRL, yml_rl, Pm, 0xbd }, - { ABSRW, yml_rl, Pq, 0xbd }, - { ABTL, yml_rl, Pm, 0xa3 }, - { ABTW, yml_rl, Pq, 0xa3 }, - { ABTCL, yml_rl, Pm, 0xbb }, - { ABTCW, yml_rl, Pq, 0xbb }, - { ABTRL, yml_rl, Pm, 0xb3 }, - { ABTRW, yml_rl, Pq, 0xb3 }, - { ABTSL, yml_rl, Pm, 0xab }, - { ABTSW, yml_rl, Pq, 0xab }, - { ABYTE, ybyte, Px, 1 }, - { ACALL, ycall, Px, 0xff,(02),0xff,(0x15),0xe8 }, - { ACLC, ynone, Px, 0xf8 }, - { ACLD, ynone, Px, 0xfc }, - { ACLI, ynone, Px, 0xfa }, - { ACLTS, ynone, Pm, 0x06 }, - { ACMC, ynone, Px, 0xf5 }, - { ACMPB, ycmpb, Pb, 0x3c,0x80,(07),0x38,0x3a }, - { ACMPL, ycmpl, Px, 0x83,(07),0x3d,0x81,(07),0x39,0x3b }, - { ACMPW, ycmpl, Pe, 0x83,(07),0x3d,0x81,(07),0x39,0x3b }, - { ACMPSB, ynone, Pb, 0xa6 }, - { ACMPSL, ynone, Px, 0xa7 }, - { ACMPSW, ynone, Pe, 0xa7 }, - { ADAA, ynone, Px, 0x27 }, - { ADAS, ynone, Px, 0x2f }, + { AANDB, yxorb, Pb, {0x24,0x80,(04),0x20,0x22} }, + { AANDL, yxorl, Px, {0x83,(04),0x25,0x81,(04),0x21,0x23} }, + { AANDW, yxorl, Pe, {0x83,(04),0x25,0x81,(04),0x21,0x23} }, + { AARPL, yrl_ml, Px, {0x63} }, + { ABOUNDL, yrl_m, Px, {0x62} }, + { ABOUNDW, yrl_m, Pe, {0x62} }, + { ABSFL, yml_rl, Pm, {0xbc} }, + { ABSFW, yml_rl, Pq, {0xbc} }, + { ABSRL, yml_rl, Pm, {0xbd} }, + { ABSRW, yml_rl, Pq, {0xbd} }, + { ABTL, yml_rl, Pm, {0xa3} }, + { ABTW, yml_rl, Pq, {0xa3} }, + { ABTCL, yml_rl, Pm, {0xbb} }, + { ABTCW, yml_rl, Pq, {0xbb} }, + { ABTRL, yml_rl, Pm, {0xb3} }, + { ABTRW, yml_rl, Pq, {0xb3} }, + { ABTSL, yml_rl, Pm, {0xab} }, + { ABTSW, yml_rl, Pq, {0xab} }, + { ABYTE, ybyte, Px, {1} }, + { ACALL, ycall, Px, {0xff,(02),0xff,(0x15),0xe8} }, + { ACLC, ynone, Px, {0xf8} }, + { ACLD, ynone, Px, {0xfc} }, + { ACLI, ynone, Px, {0xfa} }, + { ACLTS, ynone, Pm, {0x06} }, + { ACMC, ynone, Px, {0xf5} }, + { ACMPB, ycmpb, Pb, {0x3c,0x80,(07),0x38,0x3a} }, + { ACMPL, ycmpl, Px, {0x83,(07),0x3d,0x81,(07),0x39,0x3b} }, + { ACMPW, ycmpl, Pe, {0x83,(07),0x3d,0x81,(07),0x39,0x3b} }, + { ACMPSB, ynone, Pb, {0xa6} }, + { ACMPSL, ynone, Px, {0xa7} }, + { ACMPSW, ynone, Pe, {0xa7} }, + { ADAA, ynone, Px, {0x27} }, + { ADAS, ynone, Px, {0x2f} }, { ADATA }, - { ADECB, yincb, Pb, 0xfe,(01) }, - { ADECL, yincl, Px, 0x48,0xff,(01) }, - { ADECW, yincl, Pe, 0x48,0xff,(01) }, - { ADIVB, ydivb, Pb, 0xf6,(06) }, - { ADIVL, ydivl, Px, 0xf7,(06) }, - { ADIVW, ydivl, Pe, 0xf7,(06) }, + { ADECB, yincb, Pb, {0xfe,(01)} }, + { ADECL, yincl, Px, {0x48,0xff,(01)} }, + { ADECW, yincl, Pe, {0x48,0xff,(01)} }, + { ADIVB, ydivb, Pb, {0xf6,(06)} }, + { ADIVL, ydivl, Px, {0xf7,(06)} }, + { ADIVW, ydivl, Pe, {0xf7,(06)} }, { AENTER }, /* botch */ { AGLOBL }, { AGOK }, { AHISTORY }, - { AHLT, ynone, Px, 0xf4 }, - { AIDIVB, ydivb, Pb, 0xf6,(07) }, - { AIDIVL, ydivl, Px, 0xf7,(07) }, - { AIDIVW, ydivl, Pe, 0xf7,(07) }, - { AIMULB, ydivb, Pb, 0xf6,(05) }, - { AIMULL, yimul, Px, 0xf7,(05),0x6b,0x69 }, - { AIMULW, yimul, Pe, 0xf7,(05),0x6b,0x69 }, - { AINB, yin, Pb, 0xe4,0xec }, - { AINL, yin, Px, 0xe5,0xed }, - { AINW, yin, Pe, 0xe5,0xed }, - { AINCB, yincb, Pb, 0xfe,(00) }, - { AINCL, yincl, Px, 0x40,0xff,(00) }, - { AINCW, yincl, Pe, 0x40,0xff,(00) }, - { AINSB, ynone, Pb, 0x6c }, - { AINSL, ynone, Px, 0x6d }, - { AINSW, ynone, Pe, 0x6d }, - { AINT, yint, Px, 0xcd }, - { AINTO, ynone, Px, 0xce }, - { AIRETL, ynone, Px, 0xcf }, - { AIRETW, ynone, Pe, 0xcf }, - { AJCC, yjcond, Px, 0x73,0x83,(00) }, - { AJCS, yjcond, Px, 0x72,0x82 }, - { AJCXZL, yloop, Px, 0xe3 }, - { AJCXZW, yloop, Px, 0xe3 }, - { AJEQ, yjcond, Px, 0x74,0x84 }, - { AJGE, yjcond, Px, 0x7d,0x8d }, - { AJGT, yjcond, Px, 0x7f,0x8f }, - { AJHI, yjcond, Px, 0x77,0x87 }, - { AJLE, yjcond, Px, 0x7e,0x8e }, - { AJLS, yjcond, Px, 0x76,0x86 }, - { AJLT, yjcond, Px, 0x7c,0x8c }, - { AJMI, yjcond, Px, 0x78,0x88 }, - { AJMP, yjmp, Px, 0xff,(04),0xeb,0xe9 }, - { AJNE, yjcond, Px, 0x75,0x85 }, - { AJOC, yjcond, Px, 0x71,0x81,(00) }, - { AJOS, yjcond, Px, 0x70,0x80,(00) }, - { AJPC, yjcond, Px, 0x7b,0x8b }, - { AJPL, yjcond, Px, 0x79,0x89 }, - { AJPS, yjcond, Px, 0x7a,0x8a }, - { ALAHF, ynone, Px, 0x9f }, - { ALARL, yml_rl, Pm, 0x02 }, - { ALARW, yml_rl, Pq, 0x02 }, - { ALEAL, ym_rl, Px, 0x8d }, - { ALEAW, ym_rl, Pe, 0x8d }, - { ALEAVEL, ynone, Px, 0xc9 }, - { ALEAVEW, ynone, Pe, 0xc9 }, - { ALOCK, ynone, Px, 0xf0 }, - { ALODSB, ynone, Pb, 0xac }, - { ALODSL, ynone, Px, 0xad }, - { ALODSW, ynone, Pe, 0xad }, - { ALONG, ybyte, Px, 4 }, - { ALOOP, yloop, Px, 0xe2 }, - { ALOOPEQ, yloop, Px, 0xe1 }, - { ALOOPNE, yloop, Px, 0xe0 }, - { ALSLL, yml_rl, Pm, 0x03 }, - { ALSLW, yml_rl, Pq, 0x03 }, - { AMOVB, ymovb, Pb, 0x88,0x8a,0xb0,0xc6,(00) }, - { AMOVL, ymovl, Px, 0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00),Pe,0x6e,Pe,0x7e,0 }, - { AMOVW, ymovw, Pe, 0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00),0 }, - { AMOVQ, ymovq, Pf3, 0x7e }, - { AMOVBLSX, ymb_rl, Pm, 0xbe }, - { AMOVBLZX, ymb_rl, Pm, 0xb6 }, - { AMOVBWSX, ymb_rl, Pq, 0xbe }, - { AMOVBWZX, ymb_rl, Pq, 0xb6 }, - { AMOVWLSX, yml_rl, Pm, 0xbf }, - { AMOVWLZX, yml_rl, Pm, 0xb7 }, - { AMOVSB, ynone, Pb, 0xa4 }, - { AMOVSL, ynone, Px, 0xa5 }, - { AMOVSW, ynone, Pe, 0xa5 }, - { AMULB, ydivb, Pb, 0xf6,(04) }, - { AMULL, ydivl, Px, 0xf7,(04) }, - { AMULW, ydivl, Pe, 0xf7,(04) }, + { AHLT, ynone, Px, {0xf4} }, + { AIDIVB, ydivb, Pb, {0xf6,(07)} }, + { AIDIVL, ydivl, Px, {0xf7,(07)} }, + { AIDIVW, ydivl, Pe, {0xf7,(07)} }, + { AIMULB, ydivb, Pb, {0xf6,(05)} }, + { AIMULL, yimul, Px, {0xf7,(05),0x6b,0x69} }, + { AIMULW, yimul, Pe, {0xf7,(05),0x6b,0x69} }, + { AINB, yin, Pb, {0xe4,0xec} }, + { AINL, yin, Px, {0xe5,0xed} }, + { AINW, yin, Pe, {0xe5,0xed} }, + { AINCB, yincb, Pb, {0xfe,(00)} }, + { AINCL, yincl, Px, {0x40,0xff,(00)} }, + { AINCW, yincl, Pe, {0x40,0xff,(00)} }, + { AINSB, ynone, Pb, {0x6c} }, + { AINSL, ynone, Px, {0x6d} }, + { AINSW, ynone, Pe, {0x6d} }, + { AINT, yint, Px, {0xcd} }, + { AINTO, ynone, Px, {0xce} }, + { AIRETL, ynone, Px, {0xcf} }, + { AIRETW, ynone, Pe, {0xcf} }, + { AJCC, yjcond, Px, {0x73,0x83,(00)} }, + { AJCS, yjcond, Px, {0x72,0x82} }, + { AJCXZL, yloop, Px, {0xe3} }, + { AJCXZW, yloop, Px, {0xe3} }, + { AJEQ, yjcond, Px, {0x74,0x84} }, + { AJGE, yjcond, Px, {0x7d,0x8d} }, + { AJGT, yjcond, Px, {0x7f,0x8f} }, + { AJHI, yjcond, Px, {0x77,0x87} }, + { AJLE, yjcond, Px, {0x7e,0x8e} }, + { AJLS, yjcond, Px, {0x76,0x86} }, + { AJLT, yjcond, Px, {0x7c,0x8c} }, + { AJMI, yjcond, Px, {0x78,0x88} }, + { AJMP, yjmp, Px, {0xff,(04),0xeb,0xe9} }, + { AJNE, yjcond, Px, {0x75,0x85} }, + { AJOC, yjcond, Px, {0x71,0x81,(00)} }, + { AJOS, yjcond, Px, {0x70,0x80,(00)} }, + { AJPC, yjcond, Px, {0x7b,0x8b} }, + { AJPL, yjcond, Px, {0x79,0x89} }, + { AJPS, yjcond, Px, {0x7a,0x8a} }, + { ALAHF, ynone, Px, {0x9f} }, + { ALARL, yml_rl, Pm, {0x02} }, + { ALARW, yml_rl, Pq, {0x02} }, + { ALEAL, ym_rl, Px, {0x8d} }, + { ALEAW, ym_rl, Pe, {0x8d} }, + { ALEAVEL, ynone, Px, {0xc9} }, + { ALEAVEW, ynone, Pe, {0xc9} }, + { ALOCK, ynone, Px, {0xf0} }, + { ALODSB, ynone, Pb, {0xac} }, + { ALODSL, ynone, Px, {0xad} }, + { ALODSW, ynone, Pe, {0xad} }, + { ALONG, ybyte, Px, {4} }, + { ALOOP, yloop, Px, {0xe2} }, + { ALOOPEQ, yloop, Px, {0xe1} }, + { ALOOPNE, yloop, Px, {0xe0} }, + { ALSLL, yml_rl, Pm, {0x03 } }, + { ALSLW, yml_rl, Pq, {0x03 } }, + { AMOVB, ymovb, Pb, {0x88,0x8a,0xb0,0xc6,(00)} }, + { AMOVL, ymovl, Px, {0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00),Pe,0x6e,Pe,0x7e,0} }, + { AMOVW, ymovw, Pe, {0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00),0} }, + { AMOVQ, ymovq, Pf3, {0x7e} }, + { AMOVBLSX, ymb_rl, Pm, {0xbe} }, + { AMOVBLZX, ymb_rl, Pm, {0xb6} }, + { AMOVBWSX, ymb_rl, Pq, {0xbe} }, + { AMOVBWZX, ymb_rl, Pq, {0xb6} }, + { AMOVWLSX, yml_rl, Pm, {0xbf} }, + { AMOVWLZX, yml_rl, Pm, {0xb7} }, + { AMOVSB, ynone, Pb, {0xa4} }, + { AMOVSL, ynone, Px, {0xa5} }, + { AMOVSW, ynone, Pe, {0xa5} }, + { AMULB, ydivb, Pb, {0xf6,(04)} }, + { AMULL, ydivl, Px, {0xf7,(04)} }, + { AMULW, ydivl, Pe, {0xf7,(04)} }, { ANAME }, - { ANEGB, yscond, Px, 0xf6,(03) }, - { ANEGL, yscond, Px, 0xf7,(03) }, - { ANEGW, yscond, Pe, 0xf7,(03) }, - { ANOP, ynop, Px,0,0 }, - { ANOTB, yscond, Px, 0xf6,(02) }, - { ANOTL, yscond, Px, 0xf7,(02) }, - { ANOTW, yscond, Pe, 0xf7,(02) }, - { AORB, yxorb, Pb, 0x0c,0x80,(01),0x08,0x0a }, - { AORL, yxorl, Px, 0x83,(01),0x0d,0x81,(01),0x09,0x0b }, - { AORW, yxorl, Pe, 0x83,(01),0x0d,0x81,(01),0x09,0x0b }, - { AOUTB, yin, Pb, 0xe6,0xee }, - { AOUTL, yin, Px, 0xe7,0xef }, - { AOUTW, yin, Pe, 0xe7,0xef }, - { AOUTSB, ynone, Pb, 0x6e }, - { AOUTSL, ynone, Px, 0x6f }, - { AOUTSW, ynone, Pe, 0x6f }, - { APAUSE, ynone, Px, 0xf3,0x90 }, - { APOPAL, ynone, Px, 0x61 }, - { APOPAW, ynone, Pe, 0x61 }, - { APOPFL, ynone, Px, 0x9d }, - { APOPFW, ynone, Pe, 0x9d }, - { APOPL, ypopl, Px, 0x58,0x8f,(00) }, - { APOPW, ypopl, Pe, 0x58,0x8f,(00) }, - { APUSHAL, ynone, Px, 0x60 }, - { APUSHAW, ynone, Pe, 0x60 }, - { APUSHFL, ynone, Px, 0x9c }, - { APUSHFW, ynone, Pe, 0x9c }, - { APUSHL, ypushl, Px, 0x50,0xff,(06),0x6a,0x68 }, - { APUSHW, ypushl, Pe, 0x50,0xff,(06),0x6a,0x68 }, - { ARCLB, yshb, Pb, 0xd0,(02),0xc0,(02),0xd2,(02) }, - { ARCLL, yshl, Px, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) }, - { ARCLW, yshl, Pe, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) }, - { ARCRB, yshb, Pb, 0xd0,(03),0xc0,(03),0xd2,(03) }, - { ARCRL, yshl, Px, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) }, - { ARCRW, yshl, Pe, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) }, - { AREP, ynone, Px, 0xf3 }, - { AREPN, ynone, Px, 0xf2 }, - { ARET, ynone, Px, 0xc3 }, - { AROLB, yshb, Pb, 0xd0,(00),0xc0,(00),0xd2,(00) }, - { AROLL, yshl, Px, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) }, - { AROLW, yshl, Pe, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) }, - { ARORB, yshb, Pb, 0xd0,(01),0xc0,(01),0xd2,(01) }, - { ARORL, yshl, Px, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) }, - { ARORW, yshl, Pe, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) }, - { ASAHF, ynone, Px, 0x9e }, - { ASALB, yshb, Pb, 0xd0,(04),0xc0,(04),0xd2,(04) }, - { ASALL, yshl, Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) }, - { ASALW, yshl, Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) }, - { ASARB, yshb, Pb, 0xd0,(07),0xc0,(07),0xd2,(07) }, - { ASARL, yshl, Px, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) }, - { ASARW, yshl, Pe, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) }, - { ASBBB, yxorb, Pb, 0x1c,0x80,(03),0x18,0x1a }, - { ASBBL, yxorl, Px, 0x83,(03),0x1d,0x81,(03),0x19,0x1b }, - { ASBBW, yxorl, Pe, 0x83,(03),0x1d,0x81,(03),0x19,0x1b }, - { ASCASB, ynone, Pb, 0xae }, - { ASCASL, ynone, Px, 0xaf }, - { ASCASW, ynone, Pe, 0xaf }, - { ASETCC, yscond, Pm, 0x93,(00) }, - { ASETCS, yscond, Pm, 0x92,(00) }, - { ASETEQ, yscond, Pm, 0x94,(00) }, - { ASETGE, yscond, Pm, 0x9d,(00) }, - { ASETGT, yscond, Pm, 0x9f,(00) }, - { ASETHI, yscond, Pm, 0x97,(00) }, - { ASETLE, yscond, Pm, 0x9e,(00) }, - { ASETLS, yscond, Pm, 0x96,(00) }, - { ASETLT, yscond, Pm, 0x9c,(00) }, - { ASETMI, yscond, Pm, 0x98,(00) }, - { ASETNE, yscond, Pm, 0x95,(00) }, - { ASETOC, yscond, Pm, 0x91,(00) }, - { ASETOS, yscond, Pm, 0x90,(00) }, - { ASETPC, yscond, Pm, 0x96,(00) }, - { ASETPL, yscond, Pm, 0x99,(00) }, - { ASETPS, yscond, Pm, 0x9a,(00) }, - { ACDQ, ynone, Px, 0x99 }, - { ACWD, ynone, Pe, 0x99 }, - { ASHLB, yshb, Pb, 0xd0,(04),0xc0,(04),0xd2,(04) }, - { ASHLL, yshl, Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) }, - { ASHLW, yshl, Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) }, - { ASHRB, yshb, Pb, 0xd0,(05),0xc0,(05),0xd2,(05) }, - { ASHRL, yshl, Px, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) }, - { ASHRW, yshl, Pe, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) }, - { ASTC, ynone, Px, 0xf9 }, - { ASTD, ynone, Px, 0xfd }, - { ASTI, ynone, Px, 0xfb }, - { ASTOSB, ynone, Pb, 0xaa }, - { ASTOSL, ynone, Px, 0xab }, - { ASTOSW, ynone, Pe, 0xab }, - { ASUBB, yxorb, Pb, 0x2c,0x80,(05),0x28,0x2a }, - { ASUBL, yaddl, Px, 0x83,(05),0x2d,0x81,(05),0x29,0x2b }, - { ASUBW, yaddl, Pe, 0x83,(05),0x2d,0x81,(05),0x29,0x2b }, - { ASYSCALL, ynone, Px, 0xcd,100 }, - { ATESTB, ytestb, Pb, 0xa8,0xf6,(00),0x84,0x84 }, - { ATESTL, ytestl, Px, 0xa9,0xf7,(00),0x85,0x85 }, - { ATESTW, ytestl, Pe, 0xa9,0xf7,(00),0x85,0x85 }, + { ANEGB, yscond, Px, {0xf6,(03)} }, + { ANEGL, yscond, Px, {0xf7,(03)} }, + { ANEGW, yscond, Pe, {0xf7,(03)} }, + { ANOP, ynop, Px, {0,0} }, + { ANOTB, yscond, Px, {0xf6,(02)} }, + { ANOTL, yscond, Px, {0xf7,(02)} }, + { ANOTW, yscond, Pe, {0xf7,(02)} }, + { AORB, yxorb, Pb, {0x0c,0x80,(01),0x08,0x0a} }, + { AORL, yxorl, Px, {0x83,(01),0x0d,0x81,(01),0x09,0x0b} }, + { AORW, yxorl, Pe, {0x83,(01),0x0d,0x81,(01),0x09,0x0b} }, + { AOUTB, yin, Pb, {0xe6,0xee} }, + { AOUTL, yin, Px, {0xe7,0xef} }, + { AOUTW, yin, Pe, {0xe7,0xef} }, + { AOUTSB, ynone, Pb, {0x6e} }, + { AOUTSL, ynone, Px, {0x6f} }, + { AOUTSW, ynone, Pe, {0x6f} }, + { APAUSE, ynone, Px, {0xf3,0x90} }, + { APOPAL, ynone, Px, {0x61} }, + { APOPAW, ynone, Pe, {0x61} }, + { APOPFL, ynone, Px, {0x9d} }, + { APOPFW, ynone, Pe, {0x9d} }, + { APOPL, ypopl, Px, {0x58,0x8f,(00)} }, + { APOPW, ypopl, Pe, {0x58,0x8f,(00)} }, + { APUSHAL, ynone, Px, {0x60} }, + { APUSHAW, ynone, Pe, {0x60} }, + { APUSHFL, ynone, Px, {0x9c} }, + { APUSHFW, ynone, Pe, {0x9c} }, + { APUSHL, ypushl, Px, {0x50,0xff,(06),0x6a,0x68} }, + { APUSHW, ypushl, Pe, {0x50,0xff,(06),0x6a,0x68} }, + { ARCLB, yshb, Pb, {0xd0,(02),0xc0,(02),0xd2,(02)} }, + { ARCLL, yshl, Px, {0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02)} }, + { ARCLW, yshl, Pe, {0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02)} }, + { ARCRB, yshb, Pb, {0xd0,(03),0xc0,(03),0xd2,(03)} }, + { ARCRL, yshl, Px, {0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03)} }, + { ARCRW, yshl, Pe, {0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03)} }, + { AREP, ynone, Px, {0xf3} }, + { AREPN, ynone, Px, {0xf2} }, + { ARET, ynone, Px, {0xc3} }, + { AROLB, yshb, Pb, {0xd0,(00),0xc0,(00),0xd2,(00)} }, + { AROLL, yshl, Px, {0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00)} }, + { AROLW, yshl, Pe, {0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00)} }, + { ARORB, yshb, Pb, {0xd0,(01),0xc0,(01),0xd2,(01)} }, + { ARORL, yshl, Px, {0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01)} }, + { ARORW, yshl, Pe, {0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01)} }, + { ASAHF, ynone, Px, {0x9e} }, + { ASALB, yshb, Pb, {0xd0,(04),0xc0,(04),0xd2,(04)} }, + { ASALL, yshl, Px, {0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04)} }, + { ASALW, yshl, Pe, {0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04)} }, + { ASARB, yshb, Pb, {0xd0,(07),0xc0,(07),0xd2,(07)} }, + { ASARL, yshl, Px, {0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07)} }, + { ASARW, yshl, Pe, {0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07)} }, + { ASBBB, yxorb, Pb, {0x1c,0x80,(03),0x18,0x1a} }, + { ASBBL, yxorl, Px, {0x83,(03),0x1d,0x81,(03),0x19,0x1b} }, + { ASBBW, yxorl, Pe, {0x83,(03),0x1d,0x81,(03),0x19,0x1b} }, + { ASCASB, ynone, Pb, {0xae} }, + { ASCASL, ynone, Px, {0xaf} }, + { ASCASW, ynone, Pe, {0xaf} }, + { ASETCC, yscond, Pm, {0x93,(00)} }, + { ASETCS, yscond, Pm, {0x92,(00)} }, + { ASETEQ, yscond, Pm, {0x94,(00)} }, + { ASETGE, yscond, Pm, {0x9d,(00)} }, + { ASETGT, yscond, Pm, {0x9f,(00)} }, + { ASETHI, yscond, Pm, {0x97,(00)} }, + { ASETLE, yscond, Pm, {0x9e,(00)} }, + { ASETLS, yscond, Pm, {0x96,(00)} }, + { ASETLT, yscond, Pm, {0x9c,(00)} }, + { ASETMI, yscond, Pm, {0x98,(00)} }, + { ASETNE, yscond, Pm, {0x95,(00)} }, + { ASETOC, yscond, Pm, {0x91,(00)} }, + { ASETOS, yscond, Pm, {0x90,(00)} }, + { ASETPC, yscond, Pm, {0x9b,(00)} }, + { ASETPL, yscond, Pm, {0x99,(00)} }, + { ASETPS, yscond, Pm, {0x9a,(00)} }, + { ACDQ, ynone, Px, {0x99} }, + { ACWD, ynone, Pe, {0x99} }, + { ASHLB, yshb, Pb, {0xd0,(04),0xc0,(04),0xd2,(04)} }, + { ASHLL, yshl, Px, {0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04)} }, + { ASHLW, yshl, Pe, {0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04)} }, + { ASHRB, yshb, Pb, {0xd0,(05),0xc0,(05),0xd2,(05)} }, + { ASHRL, yshl, Px, {0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05)} }, + { ASHRW, yshl, Pe, {0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05)} }, + { ASTC, ynone, Px, {0xf9} }, + { ASTD, ynone, Px, {0xfd} }, + { ASTI, ynone, Px, {0xfb} }, + { ASTOSB, ynone, Pb, {0xaa} }, + { ASTOSL, ynone, Px, {0xab} }, + { ASTOSW, ynone, Pe, {0xab} }, + { ASUBB, yxorb, Pb, {0x2c,0x80,(05),0x28,0x2a} }, + { ASUBL, yaddl, Px, {0x83,(05),0x2d,0x81,(05),0x29,0x2b} }, + { ASUBW, yaddl, Pe, {0x83,(05),0x2d,0x81,(05),0x29,0x2b} }, + { ASYSCALL, ynone, Px, {0xcd,100} }, + { ATESTB, ytestb, Pb, {0xa8,0xf6,(00),0x84,0x84} }, + { ATESTL, ytestl, Px, {0xa9,0xf7,(00),0x85,0x85} }, + { ATESTW, ytestl, Pe, {0xa9,0xf7,(00),0x85,0x85} }, { ATEXT, ytext, Px }, - { AVERR, ydivl, Pm, 0x00,(04) }, - { AVERW, ydivl, Pm, 0x00,(05) }, - { AWAIT, ynone, Px, 0x9b }, - { AWORD, ybyte, Px, 2 }, - { AXCHGB, yml_mb, Pb, 0x86,0x86 }, - { AXCHGL, yxchg, Px, 0x90,0x90,0x87,0x87 }, - { AXCHGW, yxchg, Pe, 0x90,0x90,0x87,0x87 }, - { AXLAT, ynone, Px, 0xd7 }, - { AXORB, yxorb, Pb, 0x34,0x80,(06),0x30,0x32 }, - { AXORL, yxorl, Px, 0x83,(06),0x35,0x81,(06),0x31,0x33 }, - { AXORW, yxorl, Pe, 0x83,(06),0x35,0x81,(06),0x31,0x33 }, - - { AFMOVB, yfmvx, Px, 0xdf,(04) }, - { AFMOVBP, yfmvp, Px, 0xdf,(06) }, - { AFMOVD, yfmvd, Px, 0xdd,(00),0xdd,(02),0xd9,(00),0xdd,(02) }, - { AFMOVDP, yfmvdp, Px, 0xdd,(03),0xdd,(03) }, - { AFMOVF, yfmvf, Px, 0xd9,(00),0xd9,(02) }, - { AFMOVFP, yfmvp, Px, 0xd9,(03) }, - { AFMOVL, yfmvf, Px, 0xdb,(00),0xdb,(02) }, - { AFMOVLP, yfmvp, Px, 0xdb,(03) }, - { AFMOVV, yfmvx, Px, 0xdf,(05) }, - { AFMOVVP, yfmvp, Px, 0xdf,(07) }, - { AFMOVW, yfmvf, Px, 0xdf,(00),0xdf,(02) }, - { AFMOVWP, yfmvp, Px, 0xdf,(03) }, - { AFMOVX, yfmvx, Px, 0xdb,(05) }, - { AFMOVXP, yfmvp, Px, 0xdb,(07) }, + { AVERR, ydivl, Pm, {0x00,(04)} }, + { AVERW, ydivl, Pm, {0x00,(05)} }, + { AWAIT, ynone, Px, {0x9b} }, + { AWORD, ybyte, Px, {2} }, + { AXCHGB, yml_mb, Pb, {0x86,0x86} }, + { AXCHGL, yxchg, Px, {0x90,0x90,0x87,0x87} }, + { AXCHGW, yxchg, Pe, {0x90,0x90,0x87,0x87} }, + { AXLAT, ynone, Px, {0xd7} }, + { AXORB, yxorb, Pb, {0x34,0x80,(06),0x30,0x32} }, + { AXORL, yxorl, Px, {0x83,(06),0x35,0x81,(06),0x31,0x33} }, + { AXORW, yxorl, Pe, {0x83,(06),0x35,0x81,(06),0x31,0x33} }, + + { AFMOVB, yfmvx, Px, {0xdf,(04)} }, + { AFMOVBP, yfmvp, Px, {0xdf,(06)} }, + { AFMOVD, yfmvd, Px, {0xdd,(00),0xdd,(02),0xd9,(00),0xdd,(02)} }, + { AFMOVDP, yfmvdp, Px, {0xdd,(03),0xdd,(03)} }, + { AFMOVF, yfmvf, Px, {0xd9,(00),0xd9,(02)} }, + { AFMOVFP, yfmvp, Px, {0xd9,(03)} }, + { AFMOVL, yfmvf, Px, {0xdb,(00),0xdb,(02)} }, + { AFMOVLP, yfmvp, Px, {0xdb,(03)} }, + { AFMOVV, yfmvx, Px, {0xdf,(05)} }, + { AFMOVVP, yfmvp, Px, {0xdf,(07)} }, + { AFMOVW, yfmvf, Px, {0xdf,(00),0xdf,(02)} }, + { AFMOVWP, yfmvp, Px, {0xdf,(03)} }, + { AFMOVX, yfmvx, Px, {0xdb,(05)} }, + { AFMOVXP, yfmvp, Px, {0xdb,(07)} }, { AFCOMB }, { AFCOMBP }, - { AFCOMD, yfadd, Px, 0xdc,(02),0xd8,(02),0xdc,(02) }, /* botch */ - { AFCOMDP, yfadd, Px, 0xdc,(03),0xd8,(03),0xdc,(03) }, /* botch */ - { AFCOMDPP, ycompp, Px, 0xde,(03) }, - { AFCOMF, yfmvx, Px, 0xd8,(02) }, - { AFCOMFP, yfmvx, Px, 0xd8,(03) }, - { AFCOMI, yfmvx, Px, 0xdb,(06) }, - { AFCOMIP, yfmvx, Px, 0xdf,(06) }, - { AFCOML, yfmvx, Px, 0xda,(02) }, - { AFCOMLP, yfmvx, Px, 0xda,(03) }, - { AFCOMW, yfmvx, Px, 0xde,(02) }, - { AFCOMWP, yfmvx, Px, 0xde,(03) }, - - { AFUCOM, ycompp, Px, 0xdd,(04) }, - { AFUCOMI, ycompp, Px, 0xdb,(05) }, - { AFUCOMIP, ycompp, Px, 0xdf,(05) }, - { AFUCOMP, ycompp, Px, 0xdd,(05) }, - { AFUCOMPP, ycompp, Px, 0xda,(13) }, - - { AFADDDP, yfaddp, Px, 0xde,(00) }, - { AFADDW, yfmvx, Px, 0xde,(00) }, - { AFADDL, yfmvx, Px, 0xda,(00) }, - { AFADDF, yfmvx, Px, 0xd8,(00) }, - { AFADDD, yfadd, Px, 0xdc,(00),0xd8,(00),0xdc,(00) }, - - { AFMULDP, yfaddp, Px, 0xde,(01) }, - { AFMULW, yfmvx, Px, 0xde,(01) }, - { AFMULL, yfmvx, Px, 0xda,(01) }, - { AFMULF, yfmvx, Px, 0xd8,(01) }, - { AFMULD, yfadd, Px, 0xdc,(01),0xd8,(01),0xdc,(01) }, - - { AFSUBDP, yfaddp, Px, 0xde,(05) }, - { AFSUBW, yfmvx, Px, 0xde,(04) }, - { AFSUBL, yfmvx, Px, 0xda,(04) }, - { AFSUBF, yfmvx, Px, 0xd8,(04) }, - { AFSUBD, yfadd, Px, 0xdc,(04),0xd8,(04),0xdc,(05) }, - - { AFSUBRDP, yfaddp, Px, 0xde,(04) }, - { AFSUBRW, yfmvx, Px, 0xde,(05) }, - { AFSUBRL, yfmvx, Px, 0xda,(05) }, - { AFSUBRF, yfmvx, Px, 0xd8,(05) }, - { AFSUBRD, yfadd, Px, 0xdc,(05),0xd8,(05),0xdc,(04) }, - - { AFDIVDP, yfaddp, Px, 0xde,(07) }, - { AFDIVW, yfmvx, Px, 0xde,(06) }, - { AFDIVL, yfmvx, Px, 0xda,(06) }, - { AFDIVF, yfmvx, Px, 0xd8,(06) }, - { AFDIVD, yfadd, Px, 0xdc,(06),0xd8,(06),0xdc,(07) }, - - { AFDIVRDP, yfaddp, Px, 0xde,(06) }, - { AFDIVRW, yfmvx, Px, 0xde,(07) }, - { AFDIVRL, yfmvx, Px, 0xda,(07) }, - { AFDIVRF, yfmvx, Px, 0xd8,(07) }, - { AFDIVRD, yfadd, Px, 0xdc,(07),0xd8,(07),0xdc,(06) }, - - { AFXCHD, yfxch, Px, 0xd9,(01),0xd9,(01) }, + { AFCOMD, yfadd, Px, {0xdc,(02),0xd8,(02),0xdc,(02)} }, /* botch */ + { AFCOMDP, yfadd, Px, {0xdc,(03),0xd8,(03),0xdc,(03)} }, /* botch */ + { AFCOMDPP, ycompp, Px, {0xde,(03)} }, + { AFCOMF, yfmvx, Px, {0xd8,(02)} }, + { AFCOMFP, yfmvx, Px, {0xd8,(03)} }, + { AFCOMI, yfmvx, Px, {0xdb,(06)} }, + { AFCOMIP, yfmvx, Px, {0xdf,(06)} }, + { AFCOML, yfmvx, Px, {0xda,(02)} }, + { AFCOMLP, yfmvx, Px, {0xda,(03)} }, + { AFCOMW, yfmvx, Px, {0xde,(02)} }, + { AFCOMWP, yfmvx, Px, {0xde,(03)} }, + + { AFUCOM, ycompp, Px, {0xdd,(04)} }, + { AFUCOMI, ycompp, Px, {0xdb,(05)} }, + { AFUCOMIP, ycompp, Px, {0xdf,(05)} }, + { AFUCOMP, ycompp, Px, {0xdd,(05)} }, + { AFUCOMPP, ycompp, Px, {0xda,(13)} }, + + { AFADDDP, yfaddp, Px, {0xde,(00)} }, + { AFADDW, yfmvx, Px, {0xde,(00)} }, + { AFADDL, yfmvx, Px, {0xda,(00)} }, + { AFADDF, yfmvx, Px, {0xd8,(00)} }, + { AFADDD, yfadd, Px, {0xdc,(00),0xd8,(00),0xdc,(00)} }, + + { AFMULDP, yfaddp, Px, {0xde,(01)} }, + { AFMULW, yfmvx, Px, {0xde,(01)} }, + { AFMULL, yfmvx, Px, {0xda,(01)} }, + { AFMULF, yfmvx, Px, {0xd8,(01)} }, + { AFMULD, yfadd, Px, {0xdc,(01),0xd8,(01),0xdc,(01)} }, + + { AFSUBDP, yfaddp, Px, {0xde,(05)} }, + { AFSUBW, yfmvx, Px, {0xde,(04)} }, + { AFSUBL, yfmvx, Px, {0xda,(04)} }, + { AFSUBF, yfmvx, Px, {0xd8,(04)} }, + { AFSUBD, yfadd, Px, {0xdc,(04),0xd8,(04),0xdc,(05)} }, + + { AFSUBRDP, yfaddp, Px, {0xde,(04)} }, + { AFSUBRW, yfmvx, Px, {0xde,(05)} }, + { AFSUBRL, yfmvx, Px, {0xda,(05)} }, + { AFSUBRF, yfmvx, Px, {0xd8,(05)} }, + { AFSUBRD, yfadd, Px, {0xdc,(05),0xd8,(05),0xdc,(04)} }, + + { AFDIVDP, yfaddp, Px, {0xde,(07)} }, + { AFDIVW, yfmvx, Px, {0xde,(06)} }, + { AFDIVL, yfmvx, Px, {0xda,(06)} }, + { AFDIVF, yfmvx, Px, {0xd8,(06)} }, + { AFDIVD, yfadd, Px, {0xdc,(06),0xd8,(06),0xdc,(07)} }, + + { AFDIVRDP, yfaddp, Px, {0xde,(06)} }, + { AFDIVRW, yfmvx, Px, {0xde,(07)} }, + { AFDIVRL, yfmvx, Px, {0xda,(07)} }, + { AFDIVRF, yfmvx, Px, {0xd8,(07)} }, + { AFDIVRD, yfadd, Px, {0xdc,(07),0xd8,(07),0xdc,(06)} }, + + { AFXCHD, yfxch, Px, {0xd9,(01),0xd9,(01)} }, { AFFREE }, - { AFLDCW, ystcw, Px, 0xd9,(05),0xd9,(05) }, - { AFLDENV, ystcw, Px, 0xd9,(04),0xd9,(04) }, - { AFRSTOR, ysvrs, Px, 0xdd,(04),0xdd,(04) }, - { AFSAVE, ysvrs, Px, 0xdd,(06),0xdd,(06) }, - { AFSTCW, ystcw, Px, 0xd9,(07),0xd9,(07) }, - { AFSTENV, ystcw, Px, 0xd9,(06),0xd9,(06) }, - { AFSTSW, ystsw, Px, 0xdd,(07),0xdf,0xe0 }, - { AF2XM1, ynone, Px, 0xd9, 0xf0 }, - { AFABS, ynone, Px, 0xd9, 0xe1 }, - { AFCHS, ynone, Px, 0xd9, 0xe0 }, - { AFCLEX, ynone, Px, 0xdb, 0xe2 }, - { AFCOS, ynone, Px, 0xd9, 0xff }, - { AFDECSTP, ynone, Px, 0xd9, 0xf6 }, - { AFINCSTP, ynone, Px, 0xd9, 0xf7 }, - { AFINIT, ynone, Px, 0xdb, 0xe3 }, - { AFLD1, ynone, Px, 0xd9, 0xe8 }, - { AFLDL2E, ynone, Px, 0xd9, 0xea }, - { AFLDL2T, ynone, Px, 0xd9, 0xe9 }, - { AFLDLG2, ynone, Px, 0xd9, 0xec }, - { AFLDLN2, ynone, Px, 0xd9, 0xed }, - { AFLDPI, ynone, Px, 0xd9, 0xeb }, - { AFLDZ, ynone, Px, 0xd9, 0xee }, - { AFNOP, ynone, Px, 0xd9, 0xd0 }, - { AFPATAN, ynone, Px, 0xd9, 0xf3 }, - { AFPREM, ynone, Px, 0xd9, 0xf8 }, - { AFPREM1, ynone, Px, 0xd9, 0xf5 }, - { AFPTAN, ynone, Px, 0xd9, 0xf2 }, - { AFRNDINT, ynone, Px, 0xd9, 0xfc }, - { AFSCALE, ynone, Px, 0xd9, 0xfd }, - { AFSIN, ynone, Px, 0xd9, 0xfe }, - { AFSINCOS, ynone, Px, 0xd9, 0xfb }, - { AFSQRT, ynone, Px, 0xd9, 0xfa }, - { AFTST, ynone, Px, 0xd9, 0xe4 }, - { AFXAM, ynone, Px, 0xd9, 0xe5 }, - { AFXTRACT, ynone, Px, 0xd9, 0xf4 }, - { AFYL2X, ynone, Px, 0xd9, 0xf1 }, - { AFYL2XP1, ynone, Px, 0xd9, 0xf9 }, + { AFLDCW, ystcw, Px, {0xd9,(05),0xd9,(05)} }, + { AFLDENV, ystcw, Px, {0xd9,(04),0xd9,(04)} }, + { AFRSTOR, ysvrs, Px, {0xdd,(04),0xdd,(04)} }, + { AFSAVE, ysvrs, Px, {0xdd,(06),0xdd,(06)} }, + { AFSTCW, ystcw, Px, {0xd9,(07),0xd9,(07)} }, + { AFSTENV, ystcw, Px, {0xd9,(06),0xd9,(06)} }, + { AFSTSW, ystsw, Px, {0xdd,(07),0xdf,0xe0} }, + { AF2XM1, ynone, Px, {0xd9, 0xf0} }, + { AFABS, ynone, Px, {0xd9, 0xe1} }, + { AFCHS, ynone, Px, {0xd9, 0xe0} }, + { AFCLEX, ynone, Px, {0xdb, 0xe2} }, + { AFCOS, ynone, Px, {0xd9, 0xff} }, + { AFDECSTP, ynone, Px, {0xd9, 0xf6} }, + { AFINCSTP, ynone, Px, {0xd9, 0xf7} }, + { AFINIT, ynone, Px, {0xdb, 0xe3} }, + { AFLD1, ynone, Px, {0xd9, 0xe8} }, + { AFLDL2E, ynone, Px, {0xd9, 0xea} }, + { AFLDL2T, ynone, Px, {0xd9, 0xe9} }, + { AFLDLG2, ynone, Px, {0xd9, 0xec} }, + { AFLDLN2, ynone, Px, {0xd9, 0xed} }, + { AFLDPI, ynone, Px, {0xd9, 0xeb} }, + { AFLDZ, ynone, Px, {0xd9, 0xee} }, + { AFNOP, ynone, Px, {0xd9, 0xd0} }, + { AFPATAN, ynone, Px, {0xd9, 0xf3} }, + { AFPREM, ynone, Px, {0xd9, 0xf8} }, + { AFPREM1, ynone, Px, {0xd9, 0xf5} }, + { AFPTAN, ynone, Px, {0xd9, 0xf2} }, + { AFRNDINT, ynone, Px, {0xd9, 0xfc} }, + { AFSCALE, ynone, Px, {0xd9, 0xfd} }, + { AFSIN, ynone, Px, {0xd9, 0xfe} }, + { AFSINCOS, ynone, Px, {0xd9, 0xfb} }, + { AFSQRT, ynone, Px, {0xd9, 0xfa} }, + { AFTST, ynone, Px, {0xd9, 0xe4} }, + { AFXAM, ynone, Px, {0xd9, 0xe5} }, + { AFXTRACT, ynone, Px, {0xd9, 0xf4} }, + { AFYL2X, ynone, Px, {0xd9, 0xf1} }, + { AFYL2XP1, ynone, Px, {0xd9, 0xf9} }, { AEND }, { ADYNT_ }, { AINIT_ }, { ASIGNAME }, - { ACMPXCHGB, yrb_mb, Pm, 0xb0 }, - { ACMPXCHGL, yrl_ml, Pm, 0xb1 }, - { ACMPXCHGW, yrl_ml, Pm, 0xb1 }, - { ACMPXCHG8B, yscond, Pm, 0xc7,(01) }, - - { ACPUID, ynone, Pm, 0xa2 }, - { ARDTSC, ynone, Pm, 0x31 }, - - { AXADDB, yrb_mb, Pb, 0x0f,0xc0 }, - { AXADDL, yrl_ml, Pm, 0xc1 }, - { AXADDW, yrl_ml, Pe, 0x0f,0xc1 }, - - { ACMOVLCC, yml_rl, Pm, 0x43 }, - { ACMOVLCS, yml_rl, Pm, 0x42 }, - { ACMOVLEQ, yml_rl, Pm, 0x44 }, - { ACMOVLGE, yml_rl, Pm, 0x4d }, - { ACMOVLGT, yml_rl, Pm, 0x4f }, - { ACMOVLHI, yml_rl, Pm, 0x47 }, - { ACMOVLLE, yml_rl, Pm, 0x4e }, - { ACMOVLLS, yml_rl, Pm, 0x46 }, - { ACMOVLLT, yml_rl, Pm, 0x4c }, - { ACMOVLMI, yml_rl, Pm, 0x48 }, - { ACMOVLNE, yml_rl, Pm, 0x45 }, - { ACMOVLOC, yml_rl, Pm, 0x41 }, - { ACMOVLOS, yml_rl, Pm, 0x40 }, - { ACMOVLPC, yml_rl, Pm, 0x4b }, - { ACMOVLPL, yml_rl, Pm, 0x49 }, - { ACMOVLPS, yml_rl, Pm, 0x4a }, - { ACMOVWCC, yml_rl, Pq, 0x43 }, - { ACMOVWCS, yml_rl, Pq, 0x42 }, - { ACMOVWEQ, yml_rl, Pq, 0x44 }, - { ACMOVWGE, yml_rl, Pq, 0x4d }, - { ACMOVWGT, yml_rl, Pq, 0x4f }, - { ACMOVWHI, yml_rl, Pq, 0x47 }, - { ACMOVWLE, yml_rl, Pq, 0x4e }, - { ACMOVWLS, yml_rl, Pq, 0x46 }, - { ACMOVWLT, yml_rl, Pq, 0x4c }, - { ACMOVWMI, yml_rl, Pq, 0x48 }, - { ACMOVWNE, yml_rl, Pq, 0x45 }, - { ACMOVWOC, yml_rl, Pq, 0x41 }, - { ACMOVWOS, yml_rl, Pq, 0x40 }, - { ACMOVWPC, yml_rl, Pq, 0x4b }, - { ACMOVWPL, yml_rl, Pq, 0x49 }, - { ACMOVWPS, yml_rl, Pq, 0x4a }, - - { AFCMOVCC, yfcmv, Px, 0xdb,(00) }, - { AFCMOVCS, yfcmv, Px, 0xda,(00) }, - { AFCMOVEQ, yfcmv, Px, 0xda,(01) }, - { AFCMOVHI, yfcmv, Px, 0xdb,(02) }, - { AFCMOVLS, yfcmv, Px, 0xda,(02) }, - { AFCMOVNE, yfcmv, Px, 0xdb,(01) }, - { AFCMOVNU, yfcmv, Px, 0xdb,(03) }, - { AFCMOVUN, yfcmv, Px, 0xda,(03) }, - - { ALFENCE, ynone, Pm, 0xae,0xe8 }, - { AMFENCE, ynone, Pm, 0xae,0xf0 }, - { ASFENCE, ynone, Pm, 0xae,0xf8 }, - - { AEMMS, ynone, Pm, 0x77 }, - - { APREFETCHT0, yprefetch, Pm, 0x18,(01) }, - { APREFETCHT1, yprefetch, Pm, 0x18,(02) }, - { APREFETCHT2, yprefetch, Pm, 0x18,(03) }, - { APREFETCHNTA, yprefetch, Pm, 0x18,(00) }, - - { ABSWAPL, ybswap, Pm, 0xc8 }, + { ACMPXCHGB, yrb_mb, Pm, {0xb0} }, + { ACMPXCHGL, yrl_ml, Pm, {0xb1} }, + { ACMPXCHGW, yrl_ml, Pm, {0xb1} }, + { ACMPXCHG8B, yscond, Pm, {0xc7,(01)} }, + + { ACPUID, ynone, Pm, {0xa2} }, + { ARDTSC, ynone, Pm, {0x31} }, + + { AXADDB, yrb_mb, Pb, {0x0f,0xc0} }, + { AXADDL, yrl_ml, Pm, {0xc1} }, + { AXADDW, yrl_ml, Pe, {0x0f,0xc1} }, + + { ACMOVLCC, yml_rl, Pm, {0x43} }, + { ACMOVLCS, yml_rl, Pm, {0x42} }, + { ACMOVLEQ, yml_rl, Pm, {0x44} }, + { ACMOVLGE, yml_rl, Pm, {0x4d} }, + { ACMOVLGT, yml_rl, Pm, {0x4f} }, + { ACMOVLHI, yml_rl, Pm, {0x47} }, + { ACMOVLLE, yml_rl, Pm, {0x4e} }, + { ACMOVLLS, yml_rl, Pm, {0x46} }, + { ACMOVLLT, yml_rl, Pm, {0x4c} }, + { ACMOVLMI, yml_rl, Pm, {0x48} }, + { ACMOVLNE, yml_rl, Pm, {0x45} }, + { ACMOVLOC, yml_rl, Pm, {0x41} }, + { ACMOVLOS, yml_rl, Pm, {0x40} }, + { ACMOVLPC, yml_rl, Pm, {0x4b} }, + { ACMOVLPL, yml_rl, Pm, {0x49} }, + { ACMOVLPS, yml_rl, Pm, {0x4a} }, + { ACMOVWCC, yml_rl, Pq, {0x43} }, + { ACMOVWCS, yml_rl, Pq, {0x42} }, + { ACMOVWEQ, yml_rl, Pq, {0x44} }, + { ACMOVWGE, yml_rl, Pq, {0x4d} }, + { ACMOVWGT, yml_rl, Pq, {0x4f} }, + { ACMOVWHI, yml_rl, Pq, {0x47} }, + { ACMOVWLE, yml_rl, Pq, {0x4e} }, + { ACMOVWLS, yml_rl, Pq, {0x46} }, + { ACMOVWLT, yml_rl, Pq, {0x4c} }, + { ACMOVWMI, yml_rl, Pq, {0x48} }, + { ACMOVWNE, yml_rl, Pq, {0x45} }, + { ACMOVWOC, yml_rl, Pq, {0x41} }, + { ACMOVWOS, yml_rl, Pq, {0x40} }, + { ACMOVWPC, yml_rl, Pq, {0x4b} }, + { ACMOVWPL, yml_rl, Pq, {0x49} }, + { ACMOVWPS, yml_rl, Pq, {0x4a} }, + + { AFCMOVCC, yfcmv, Px, {0xdb,(00)} }, + { AFCMOVCS, yfcmv, Px, {0xda,(00)} }, + { AFCMOVEQ, yfcmv, Px, {0xda,(01)} }, + { AFCMOVHI, yfcmv, Px, {0xdb,(02)} }, + { AFCMOVLS, yfcmv, Px, {0xda,(02)} }, + { AFCMOVNE, yfcmv, Px, {0xdb,(01)} }, + { AFCMOVNU, yfcmv, Px, {0xdb,(03)} }, + { AFCMOVUN, yfcmv, Px, {0xda,(03)} }, + + { ALFENCE, ynone, Pm, {0xae,0xe8} }, + { AMFENCE, ynone, Pm, {0xae,0xf0} }, + { ASFENCE, ynone, Pm, {0xae,0xf8} }, + + { AEMMS, ynone, Pm, {0x77} }, + + { APREFETCHT0, yprefetch, Pm, {0x18,(01)} }, + { APREFETCHT1, yprefetch, Pm, {0x18,(02)} }, + { APREFETCHT2, yprefetch, Pm, {0x18,(03)} }, + { APREFETCHNTA, yprefetch, Pm, {0x18,(00)} }, + + { ABSWAPL, ybswap, Pm, {0xc8} }, - { AUNDEF, ynone, Px, 0x0f, 0x0b }, - - { AADDPD, yxm, Pq, 0x58 }, - { AADDPS, yxm, Pm, 0x58 }, - { AADDSD, yxm, Pf2, 0x58 }, - { AADDSS, yxm, Pf3, 0x58 }, - { AANDNPD, yxm, Pq, 0x55 }, - { AANDNPS, yxm, Pm, 0x55 }, - { AANDPD, yxm, Pq, 0x54 }, - { AANDPS, yxm, Pq, 0x54 }, - { ACMPPD, yxcmpi, Px, Pe,0xc2 }, - { ACMPPS, yxcmpi, Pm, 0xc2,0 }, - { ACMPSD, yxcmpi, Px, Pf2,0xc2 }, - { ACMPSS, yxcmpi, Px, Pf3,0xc2 }, - { ACOMISD, yxcmp, Pe, 0x2f }, - { ACOMISS, yxcmp, Pm, 0x2f }, - { ACVTPL2PD, yxcvm2, Px, Pf3,0xe6,Pe,0x2a }, - { ACVTPL2PS, yxcvm2, Pm, 0x5b,0,0x2a,0, }, - { ACVTPD2PL, yxcvm1, Px, Pf2,0xe6,Pe,0x2d }, - { ACVTPD2PS, yxm, Pe, 0x5a }, - { ACVTPS2PL, yxcvm1, Px, Pe,0x5b,Pm,0x2d }, - { ACVTPS2PD, yxm, Pm, 0x5a }, - { ACVTSD2SL, yxcvfl, Pf2, 0x2d }, - { ACVTSD2SS, yxm, Pf2, 0x5a }, - { ACVTSL2SD, yxcvlf, Pf2, 0x2a }, - { ACVTSL2SS, yxcvlf, Pf3, 0x2a }, - { ACVTSS2SD, yxm, Pf3, 0x5a }, - { ACVTSS2SL, yxcvfl, Pf3, 0x2d }, - { ACVTTPD2PL, yxcvm1, Px, Pe,0xe6,Pe,0x2c }, - { ACVTTPS2PL, yxcvm1, Px, Pf3,0x5b,Pm,0x2c }, - { ACVTTSD2SL, yxcvfl, Pf2, 0x2c }, - { ACVTTSS2SL, yxcvfl, Pf3, 0x2c }, - { ADIVPD, yxm, Pe, 0x5e }, - { ADIVPS, yxm, Pm, 0x5e }, - { ADIVSD, yxm, Pf2, 0x5e }, - { ADIVSS, yxm, Pf3, 0x5e }, - { AMASKMOVOU, yxr, Pe, 0xf7 }, - { AMAXPD, yxm, Pe, 0x5f }, - { AMAXPS, yxm, Pm, 0x5f }, - { AMAXSD, yxm, Pf2, 0x5f }, - { AMAXSS, yxm, Pf3, 0x5f }, - { AMINPD, yxm, Pe, 0x5d }, - { AMINPS, yxm, Pm, 0x5d }, - { AMINSD, yxm, Pf2, 0x5d }, - { AMINSS, yxm, Pf3, 0x5d }, - { AMOVAPD, yxmov, Pe, 0x28,0x29 }, - { AMOVAPS, yxmov, Pm, 0x28,0x29 }, - { AMOVO, yxmov, Pe, 0x6f,0x7f }, - { AMOVOU, yxmov, Pf3, 0x6f,0x7f }, - { AMOVHLPS, yxr, Pm, 0x12 }, - { AMOVHPD, yxmov, Pe, 0x16,0x17 }, - { AMOVHPS, yxmov, Pm, 0x16,0x17 }, - { AMOVLHPS, yxr, Pm, 0x16 }, - { AMOVLPD, yxmov, Pe, 0x12,0x13 }, - { AMOVLPS, yxmov, Pm, 0x12,0x13 }, - { AMOVMSKPD, yxrrl, Pq, 0x50 }, - { AMOVMSKPS, yxrrl, Pm, 0x50 }, - { AMOVNTO, yxr_ml, Pe, 0xe7 }, - { AMOVNTPD, yxr_ml, Pe, 0x2b }, - { AMOVNTPS, yxr_ml, Pm, 0x2b }, - { AMOVSD, yxmov, Pf2, 0x10,0x11 }, - { AMOVSS, yxmov, Pf3, 0x10,0x11 }, - { AMOVUPD, yxmov, Pe, 0x10,0x11 }, - { AMOVUPS, yxmov, Pm, 0x10,0x11 }, - { AMULPD, yxm, Pe, 0x59 }, - { AMULPS, yxm, Ym, 0x59 }, - { AMULSD, yxm, Pf2, 0x59 }, - { AMULSS, yxm, Pf3, 0x59 }, - { AORPD, yxm, Pq, 0x56 }, - { AORPS, yxm, Pm, 0x56 }, - { APADDQ, yxm, Pe, 0xd4 }, - { APAND, yxm, Pe, 0xdb }, - { APCMPEQB, yxmq, Pe ,0x74 }, - { APMAXSW, yxm, Pe, 0xee }, - { APMAXUB, yxm, Pe, 0xde }, - { APMINSW, yxm, Pe, 0xea }, - { APMINUB, yxm, Pe, 0xda }, - { APMOVMSKB, ymskb, Px, Pe,0xd7,0xd7 }, - { APSADBW, yxm, Pq, 0xf6 }, - { APSUBB, yxm, Pe, 0xf8 }, - { APSUBL, yxm, Pe, 0xfa }, - { APSUBQ, yxm, Pe, 0xfb }, - { APSUBSB, yxm, Pe, 0xe8 }, - { APSUBSW, yxm, Pe, 0xe9 }, - { APSUBUSB, yxm, Pe, 0xd8 }, - { APSUBUSW, yxm, Pe, 0xd9 }, - { APSUBW, yxm, Pe, 0xf9 }, - { APUNPCKHQDQ, yxm, Pe, 0x6d }, - { APUNPCKLQDQ, yxm, Pe, 0x6c }, - { APXOR, yxm, Pe, 0xef }, - { ARCPPS, yxm, Pm, 0x53 }, - { ARCPSS, yxm, Pf3, 0x53 }, - { ARSQRTPS, yxm, Pm, 0x52 }, - { ARSQRTSS, yxm, Pf3, 0x52 }, - { ASQRTPD, yxm, Pe, 0x51 }, - { ASQRTPS, yxm, Pm, 0x51 }, - { ASQRTSD, yxm, Pf2, 0x51 }, - { ASQRTSS, yxm, Pf3, 0x51 }, - { ASUBPD, yxm, Pe, 0x5c }, - { ASUBPS, yxm, Pm, 0x5c }, - { ASUBSD, yxm, Pf2, 0x5c }, - { ASUBSS, yxm, Pf3, 0x5c }, - { AUCOMISD, yxcmp, Pe, 0x2e }, - { AUCOMISS, yxcmp, Pm, 0x2e }, - { AUNPCKHPD, yxm, Pe, 0x15 }, - { AUNPCKHPS, yxm, Pm, 0x15 }, - { AUNPCKLPD, yxm, Pe, 0x14 }, - { AUNPCKLPS, yxm, Pm, 0x14 }, - { AXORPD, yxm, Pe, 0x57 }, - { AXORPS, yxm, Pm, 0x57 }, - - { AAESENC, yaes, Pq, 0x38,0xdc,(0) }, - { APINSRD, yinsrd, Pq, 0x3a, 0x22, (00) }, - { APSHUFB, ymshufb,Pq, 0x38, 0x00 }, - - { AUSEFIELD, ynop, Px, 0,0 }, + { AUNDEF, ynone, Px, {0x0f, 0x0b} }, + + { AADDPD, yxm, Pq, {0x58} }, + { AADDPS, yxm, Pm, {0x58} }, + { AADDSD, yxm, Pf2, {0x58} }, + { AADDSS, yxm, Pf3, {0x58} }, + { AANDNPD, yxm, Pq, {0x55} }, + { AANDNPS, yxm, Pm, {0x55} }, + { AANDPD, yxm, Pq, {0x54} }, + { AANDPS, yxm, Pq, {0x54} }, + { ACMPPD, yxcmpi, Px, {Pe,0xc2} }, + { ACMPPS, yxcmpi, Pm, {0xc2,0} }, + { ACMPSD, yxcmpi, Px, {Pf2,0xc2} }, + { ACMPSS, yxcmpi, Px, {Pf3,0xc2} }, + { ACOMISD, yxcmp, Pe, {0x2f} }, + { ACOMISS, yxcmp, Pm, {0x2f} }, + { ACVTPL2PD, yxcvm2, Px, {Pf3,0xe6,Pe,0x2a} }, + { ACVTPL2PS, yxcvm2, Pm, {0x5b,0,0x2a,0,} }, + { ACVTPD2PL, yxcvm1, Px, {Pf2,0xe6,Pe,0x2d} }, + { ACVTPD2PS, yxm, Pe, {0x5a} }, + { ACVTPS2PL, yxcvm1, Px, {Pe,0x5b,Pm,0x2d} }, + { ACVTPS2PD, yxm, Pm, {0x5a} }, + { ACVTSD2SL, yxcvfl, Pf2, {0x2d} }, + { ACVTSD2SS, yxm, Pf2, {0x5a} }, + { ACVTSL2SD, yxcvlf, Pf2, {0x2a} }, + { ACVTSL2SS, yxcvlf, Pf3, {0x2a} }, + { ACVTSS2SD, yxm, Pf3, {0x5a} }, + { ACVTSS2SL, yxcvfl, Pf3, {0x2d} }, + { ACVTTPD2PL, yxcvm1, Px, {Pe,0xe6,Pe,0x2c} }, + { ACVTTPS2PL, yxcvm1, Px, {Pf3,0x5b,Pm,0x2c} }, + { ACVTTSD2SL, yxcvfl, Pf2, {0x2c} }, + { ACVTTSS2SL, yxcvfl, Pf3, {0x2c} }, + { ADIVPD, yxm, Pe, {0x5e} }, + { ADIVPS, yxm, Pm, {0x5e} }, + { ADIVSD, yxm, Pf2, {0x5e} }, + { ADIVSS, yxm, Pf3, {0x5e} }, + { AMASKMOVOU, yxr, Pe, {0xf7} }, + { AMAXPD, yxm, Pe, {0x5f} }, + { AMAXPS, yxm, Pm, {0x5f} }, + { AMAXSD, yxm, Pf2, {0x5f} }, + { AMAXSS, yxm, Pf3, {0x5f} }, + { AMINPD, yxm, Pe, {0x5d} }, + { AMINPS, yxm, Pm, {0x5d} }, + { AMINSD, yxm, Pf2, {0x5d} }, + { AMINSS, yxm, Pf3, {0x5d} }, + { AMOVAPD, yxmov, Pe, {0x28,0x29} }, + { AMOVAPS, yxmov, Pm, {0x28,0x29} }, + { AMOVO, yxmov, Pe, {0x6f,0x7f} }, + { AMOVOU, yxmov, Pf3, {0x6f,0x7f} }, + { AMOVHLPS, yxr, Pm, {0x12} }, + { AMOVHPD, yxmov, Pe, {0x16,0x17} }, + { AMOVHPS, yxmov, Pm, {0x16,0x17} }, + { AMOVLHPS, yxr, Pm, {0x16} }, + { AMOVLPD, yxmov, Pe, {0x12,0x13} }, + { AMOVLPS, yxmov, Pm, {0x12,0x13} }, + { AMOVMSKPD, yxrrl, Pq, {0x50} }, + { AMOVMSKPS, yxrrl, Pm, {0x50} }, + { AMOVNTO, yxr_ml, Pe, {0xe7} }, + { AMOVNTPD, yxr_ml, Pe, {0x2b} }, + { AMOVNTPS, yxr_ml, Pm, {0x2b} }, + { AMOVSD, yxmov, Pf2, {0x10,0x11} }, + { AMOVSS, yxmov, Pf3, {0x10,0x11} }, + { AMOVUPD, yxmov, Pe, {0x10,0x11} }, + { AMOVUPS, yxmov, Pm, {0x10,0x11} }, + { AMULPD, yxm, Pe, {0x59} }, + { AMULPS, yxm, Ym, {0x59} }, + { AMULSD, yxm, Pf2, {0x59} }, + { AMULSS, yxm, Pf3, {0x59} }, + { AORPD, yxm, Pq, {0x56} }, + { AORPS, yxm, Pm, {0x56} }, + { APADDQ, yxm, Pe, {0xd4} }, + { APAND, yxm, Pe, {0xdb} }, + { APCMPEQB, yxmq, Pe, {0x74} }, + { APMAXSW, yxm, Pe, {0xee} }, + { APMAXUB, yxm, Pe, {0xde} }, + { APMINSW, yxm, Pe, {0xea} }, + { APMINUB, yxm, Pe, {0xda} }, + { APMOVMSKB, ymskb, Px, {Pe,0xd7,0xd7} }, + { APSADBW, yxm, Pq, {0xf6} }, + { APSUBB, yxm, Pe, {0xf8} }, + { APSUBL, yxm, Pe, {0xfa} }, + { APSUBQ, yxm, Pe, {0xfb} }, + { APSUBSB, yxm, Pe, {0xe8} }, + { APSUBSW, yxm, Pe, {0xe9} }, + { APSUBUSB, yxm, Pe, {0xd8} }, + { APSUBUSW, yxm, Pe, {0xd9} }, + { APSUBW, yxm, Pe, {0xf9} }, + { APUNPCKHQDQ, yxm, Pe, {0x6d} }, + { APUNPCKLQDQ, yxm, Pe, {0x6c} }, + { APXOR, yxm, Pe, {0xef} }, + { ARCPPS, yxm, Pm, {0x53} }, + { ARCPSS, yxm, Pf3, {0x53} }, + { ARSQRTPS, yxm, Pm, {0x52} }, + { ARSQRTSS, yxm, Pf3, {0x52} }, + { ASQRTPD, yxm, Pe, {0x51} }, + { ASQRTPS, yxm, Pm, {0x51} }, + { ASQRTSD, yxm, Pf2, {0x51} }, + { ASQRTSS, yxm, Pf3, {0x51} }, + { ASUBPD, yxm, Pe, {0x5c} }, + { ASUBPS, yxm, Pm, {0x5c} }, + { ASUBSD, yxm, Pf2, {0x5c} }, + { ASUBSS, yxm, Pf3, {0x5c} }, + { AUCOMISD, yxcmp, Pe, {0x2e} }, + { AUCOMISS, yxcmp, Pm, {0x2e} }, + { AUNPCKHPD, yxm, Pe, {0x15} }, + { AUNPCKHPS, yxm, Pm, {0x15} }, + { AUNPCKLPD, yxm, Pe, {0x14} }, + { AUNPCKLPS, yxm, Pm, {0x14} }, + { AXORPD, yxm, Pe, {0x57} }, + { AXORPS, yxm, Pm, {0x57} }, + + { AAESENC, yaes, Pq, {0x38,0xdc,(0)} }, + { APINSRD, yinsrd, Pq, {0x3a, 0x22, (00)} }, + { APSHUFB, ymshufb,Pq, {0x38, 0x00} }, + + { AUSEFIELD, ynop, Px, {0,0} }, { ATYPE }, - { AFUNCDATA, yfuncdata, Px, 0,0 }, - { APCDATA, ypcdata, Px, 0,0 }, + { AFUNCDATA, yfuncdata, Px, {0,0} }, + { APCDATA, ypcdata, Px, {0,0} }, { ACHECKNIL }, { AVARDEF }, { AVARKILL }, - { ADUFFCOPY, yduff, Px, 0xe8 }, - { ADUFFZERO, yduff, Px, 0xe8 }, + { ADUFFCOPY, yduff, Px, {0xe8} }, + { ADUFFZERO, yduff, Px, {0xe8} }, - 0 + {0} }; static int32 vaddr(Link*, Addr*, Reloc*); @@ -1902,7 +1900,11 @@ bad: return; } -#define E 0xff +enum +{ + E = 0xff, +}; + static uchar ymovtab[] = { /* push */ @@ -2134,7 +2136,7 @@ mediaop(Link *ctxt, Optab *o, int op, int osize, int z) break; } default: - if(ctxt->andptr == ctxt->and || ctxt->andptr[-1] != Pm) + if(ctxt->andptr == ctxt->and || ctxt->and[ctxt->andptr - ctxt->and - 1] != Pm) *ctxt->andptr++ = Pm; break; } @@ -2289,8 +2291,13 @@ found: *ctxt->andptr++ = p->from.offset; break; + case Zcallindreg: + r = addrel(ctxt->cursym); + r->off = p->pc; + r->type = R_CALLIND; + r->siz = 0; + // fallthrough case Zo_m: - case_Zo_m: *ctxt->andptr++ = op; asmand(ctxt, &p->to, o->op[z+1]); break; @@ -2511,13 +2518,6 @@ found: put4(ctxt, 0); break; - case Zcallindreg: - r = addrel(ctxt->cursym); - r->off = p->pc; - r->type = R_CALLIND; - r->siz = 0; - goto case_Zo_m; - case Zbyte: v = vaddr(ctxt, &p->from, &rel); if(rel.siz != 0) { @@ -2707,11 +2707,11 @@ mfound: break; case Hplan9: - if(ctxt->plan9tos == nil) - ctxt->plan9tos = linklookup(ctxt, "_tos", 0); + if(ctxt->plan9privates == nil) + ctxt->plan9privates = linklookup(ctxt, "_privates", 0); memset(&pp.from, 0, sizeof pp.from); pp.from.type = D_EXTERN; - pp.from.sym = ctxt->plan9tos; + pp.from.sym = ctxt->plan9privates; pp.from.offset = 0; pp.from.index = D_NONE; *ctxt->andptr++ = 0x8B; |