i386 revision 5bd4444e15b0bda948b3753e01de10ef8999e5c8
1%mask {s} 1 2%mask {w} 1 3%mask {w1} 1 4%mask {W1} 1 5%mask {W2} 1 6dnl floating point reg suffix 7%mask {D} 1 8%mask {imm8} 8 9%mask {imms8} 8 10%mask {imm16} 16 11%mask {reg} 3 12%mask {oreg} 3 13%mask {reg16} 3 14%mask {reg64} 3 15%mask {tttn} 4 16%mask {mod} 2 17%mask {moda} 2 18%mask {MOD} 2 19%mask {r_m} 3 20dnl like {r_m} but referencing byte register 21%mask {8r_m} 3 22dnl like {r_m} but referencing 16-bit register 23%mask {16r_m} 3 24dnl like {r_m} but referencing 32- or 64-bit register 25%mask {64r_m} 3 26%mask {disp8} 8 27dnl imm really is 8/16/32 bit depending on the situation. 28%mask {imm} 8 29%mask {imm64} 8 30%mask {imms} 8 31%mask {rel} 32 32%mask {abs} 32 33%mask {absval} 32 34%mask {sel} 16 35%mask {imm32} 32 36%mask {ccc} 3 37%mask {ddd} 3 38%mask {sreg3} 3 39%mask {sreg2} 2 40%mask {mmxreg} 3 41%mask {R_M} 3 42%mask {Mod} 2 43%mask {xmmreg} 3 44%mask {R_m} 3 45%mask {xmmreg1} 3 46%mask {xmmreg2} 3 47%mask {mmxreg1} 3 48%mask {mmxreg2} 3 49%mask {predps} 8 50%mask {freg} 3 51%mask {fmod} 2 52%mask {fr_m} 3 53%prefix {R} 54%prefix {RE} 55%suffix {W} 56%suffix {w0} 57%synonym {xmmreg1} {xmmreg} 58%synonym {xmmreg2} {xmmreg} 59%synonym {mmxreg1} {mmxreg} 60%synonym {mmxreg2} {mmxreg} 61ifdef(`i386', 62`%synonym {oreg} {reg} 63%synonym {imm64} {imm} 64')dnl 65 66%% 67ifdef(`i386', 68`00110111:aaa 6911010101,00001010:aad 7011010100,00001010:aam 7100111111:aas 72')dnl 730001010{w},{imm}:adc {imm}{w},{ax}{w} 741000000{w},{mod}010{r_m},{imm}:adc{w} {imm}{w},{mod}{r_m}{w} 751000001{w},{mod}010{r_m},{imms8}:adc{w} {imms8},{mod}{r_m} 760001000{w},{mod}{reg}{r_m}:adc {reg}{w},{mod}{r_m}{w} 770001001{w},{mod}{reg}{r_m}:adc {mod}{r_m}{w},{reg}{w} 780000010{w},{imm}:add {imm}{w},{ax}{w} 791000000{w},{mod}000{r_m},{imm}:add{w} {imm}{w},{mod}{r_m}{w} 8010000011,{mod}000{r_m},{imms8}:add{w} {imms8},{mod}{r_m} 810000000{w},{mod}{reg}{r_m}:add {reg}{w},{mod}{r_m}{w} 820000001{w},{mod}{reg}{r_m}:add {mod}{r_m}{w},{reg}{w} 8301100110,00001111,11010000,{Mod}{xmmreg}{R_m}:addsubpd {Mod}{R_m},{xmmreg} 8411110010,00001111,11010000,{Mod}{xmmreg}{R_m}:addsubps {Mod}{R_m},{xmmreg} 850010010{w},{imm}:and {imm}{w},{ax}{w} 861000000{w},{mod}100{r_m},{imm}:and{w} {imm}{w},{mod}{r_m}{w} 871000001{w},{mod}100{r_m},{imms8}:and{w} {imms8},{mod}{r_m} 880010000{w},{mod}{reg}{r_m}:and {reg}{w},{mod}{r_m}{w} 890010001{w},{mod}{reg}{r_m}:and {mod}{r_m}{w},{reg}{w} 9001100110,00001111,01010100,{Mod}{xmmreg}{R_m}:andpd {Mod}{R_m},{xmmreg} 9100001111,01010100,{Mod}{xmmreg}{R_m}:andps {Mod}{R_m},{xmmreg} 9201100110,00001111,01010101,{Mod}{xmmreg}{R_m}:andnpd {Mod}{R_m},{xmmreg} 9300001111,01010101,{Mod}{xmmreg}{R_m}:andnps {Mod}{R_m},{xmmreg} 94ifdef(`i386', 95`01100011,{mod}{reg16}{r_m}:arpl {reg16},{mod}{r_m} 9601100010,{moda}{reg}{r_m}:bound {reg},{moda}{r_m} 97', 98`01100011,{mod}{reg64}{r_m}:movslq {mod}{r_m},{reg64} 99')dnl 10000001111,10111100,{mod}{reg}{r_m}:bsf {mod}{r_m},{reg} 10100001111,10111101,{mod}{reg}{r_m}:bsr {mod}{r_m},{reg} 10200001111,11001{reg}:bswap {reg} 10300001111,10100011,{mod}{reg}{r_m}:bt {reg},{mod}{r_m} 10400001111,10111010,{mod}100{r_m},{imm8}:bt{w} {imm8},{mod}{r_m} 10500001111,10111011,{mod}{reg}{r_m}:btc {reg},{mod}{r_m} 10600001111,10111010,{mod}111{r_m},{imm8}:btc{w} {imm8},{mod}{r_m} 10700001111,10110011,{mod}{reg}{r_m}:btr {reg},{mod}{r_m} 10800001111,10111010,{mod}110{r_m},{imm8}:btr{w} {imm8},{mod}{r_m} 10900001111,10101011,{mod}{reg}{r_m}:bts {reg},{mod}{r_m} 11000001111,10111010,{mod}101{r_m},{imm8}:bts{w} {imm8},{mod}{r_m} 11111101000,{rel}:call{W} {rel} 11211111111,{mod}010{64r_m}:call{W} *{mod}{64r_m} 113ifdef(`i386', 114`10011010,{absval},{sel}:lcall {sel},{absval} 115')dnl 11611111111,{mod}011{64r_m}:lcall{W} *{mod}{64r_m} 117# SPECIAL 10011000:[{rex.w}?cltq:{dpfx}?cbtw:cwtl] 11810011000:INVALID 119# SPECIAL 10011001:[{rex.w}?cqto:{dpfx}?cltd:cwtd] 12010011001:INVALID 12111111000:clc 12211111100:cld 12311111010:cli 12400001111,00000101:syscall 12500001111,00000110:clts 12600001111,00000111:sysret 12700001111,00110100:sysenter 12800001111,00110101:sysexit 12911110101:cmc 13000001111,0100{tttn},{mod}{reg}{r_m}:cmov{tttn} {mod}{r_m},{reg} 1310011110{w},{imm}:cmp {imm}{w},{ax}{w} 1321000000{w},{mod}111{r_m},{imm}:cmp{w} {imm}{w},{mod}{r_m}{w} 13310000011,{mod}111{r_m},{imms8}:cmp{w} {imms8},{mod}{r_m} 1340011100{w},{mod}{reg}{r_m}:cmp {reg}{w},{mod}{r_m}{w} 1350011101{w},{mod}{reg}{r_m}:cmp {mod}{r_m}{w},{reg}{w} 136ifdef(`ASSEMBLER', 137`11110010,00001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:cmpsd {imm8},{Mod}{R_m},{xmmreg} 13811110011,00001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:cmpss {imm8},{Mod}{R_m},{xmmreg} 13901100110,00001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:cmppd {imm8},{Mod}{R_m},{xmmreg} 14000001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:cmpps {imm8},{Mod}{R_m},{xmmreg} 141', 142`11110010,00001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:INVALID {Mod}{R_m},{xmmreg} 14311110011,00001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:INVALID {Mod}{R_m},{xmmreg} 14401100110,00001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:INVALID {Mod}{R_m},{xmmreg} 14500001111,11000010,{Mod}{xmmreg}{R_m},{imm8}:INVALID {Mod}{R_m},{xmmreg} 146')dnl 1471010011{w}:{RE}cmps{w} {es_di},{ds_si} 14800001111,1011000{w},{mod}{reg}{r_m}:cmpxchg {reg}{w},{mod}{r_m}{w} 149ifdef(`i386', 150`00001111,11000111,{mod}001{r_m}:cmpxchg8b {mod}{r_m} 151', 152`# SPECIAL 00001111,11000111,{mod}001{r_m}:[{rex.w}?cmpxchg16b:cmpxchg8b] {reg},{mod}{r_m} 15300001111,11000111,{mod}001{r_m}:INVALID {mod}{r_m} 154')dnl 15500001111,10100010:cpuid 15611110011,00001111,11100110,{Mod}{xmmreg}{R_m}:cvtdq2pd {Mod}{R_m},{xmmreg} 15711110010,00001111,11100110,{Mod}{xmmreg}{R_m}:cvtpd2dq {Mod}{R_m},{xmmreg} 15801100110,00001111,11100110,{Mod}{xmmreg}{R_m}:cvttpd2dq {Mod}{R_m},{xmmreg} 159ifdef(`i386', 160`00100111:daa 16100101111:das 162')dnl 1631111111{w},{mod}001{r_m}:dec{w} {mod}{r_m}{w} 164ifdef(`i386', 165`01001{reg}:dec {reg} 166')dnl 1671111011{w},{mod}110{r_m}:div{w} {mod}{r_m}{w} 16800001111,01110111:emms 16911001000,{imm16},{imm8}:enter{W} {imm16},{imm8} 17011011001,11010000:fnop 17111011001,11100000:fchs 17211011001,11100001:fabs 17311011001,11100100:ftst 17411011001,11100101:fxam 17511011001,11101000:fld1 17611011001,11101001:fldl2t 17711011001,11101010:fldl2e 17811011001,11101011:fldpi 17911011001,11101100:fldlg2 18011011001,11101101:fldln2 18111011001,11101110:fldz 18211011001,11110000:f2xm1 18311011001,11110001:fyl2x 18411011001,11110010:fptan 18511011001,11110011:fpatan 18611011001,11110100:fxtract 18711011001,11110101:fprem1 18811011001,11110110:fdecstp 18911011001,11110111:fincstp 19011011001,11111000:fprem 19111011001,11111001:fyl2xp1 19211011001,11111010:fsqrt 19311011001,11111011:fsincos 19411011001,11111100:frndint 19511011001,11111101:fscale 19611011001,11111110:fsin 19711011001,11111111:fcos 198# ORDER 19911011000,11000{freg}:fadd {freg},%st 20011011100,11000{freg}:fadd %st,{freg} 20111011{D}00,{mod}000{r_m}:fadd{D} {mod}{r_m} 202# ORDER END 203# ORDER 20411011000,11001{freg}:fmul {freg},%st 20511011100,11001{freg}:fmul %st,{freg} 20611011{D}00,{mod}001{r_m}:fmul{D} {mod}{r_m} 207# ORDER END 208# ORDER 20911011000,11100{freg}:fsub {freg},%st 21011011100,11100{freg}:fsub %st,{freg} 21111011{D}00,{mod}100{r_m}:fsub{D} {mod}{r_m} 212# ORDER END 213# ORDER 21411011000,11101{freg}:fsubr {freg},%st 21511011100,11101{freg}:fsubr %st,{freg} 21611011{D}00,{mod}101{r_m}:fsubr{D} {mod}{r_m} 217# ORDER END 218# ORDER 21911011101,11010{freg}:fst {freg} 22011011{D}01,{mod}010{r_m}:fst{D} {mod}{r_m} 221# ORDER END 222# ORDER 22311011101,11011{freg}:fstp {freg} 22411011{D}01,{mod}011{r_m}:fstp{D} {mod}{r_m} 225# ORDER END 22611011001,{mod}100{r_m}:fldenv {mod}{r_m} 22711011001,{mod}101{r_m}:fldcw {mod}{r_m} 22811011001,{mod}110{r_m}:fnstenv {mod}{r_m} 22911011001,{mod}111{r_m}:fnstcw {mod}{r_m} 23011011001,11001{freg}:fxch {freg} 231# ORDER 23211011110,11000{freg}:faddp %st,{freg} 233ifdef(`ASSEMBLER', 234`11011110,11000001:faddp 235')dnl 236# ORDER 23711011010,11000{freg}:fcmovb {freg},%st 23811011{w1}10,{mod}000{r_m}:fiadd{w1} {mod}{r_m} 239# ORDER END 240# ORDER 24111011010,11001{freg}:fcmove {freg},%st 24211011110,11001{freg}:fmulp %st,{freg} 24311011{w1}10,{mod}001{r_m}:fimul{w1} {mod}{r_m} 244# ORDER END 245# ORDER 24611011110,11100{freg}:fsubp %st,{freg} 24711011{w1}10,{mod}100{r_m}:fisub{w1} {mod}{r_m} 248# ORDER END 249# ORDER 25011011110,11101{freg}:fsubrp %st,{freg} 25111011{w1}10,{mod}101{r_m}:fisubr{w1} {mod}{r_m} 252# ORDER END 253# ORDER 25411011111,11100000:fnstsw %ax 25511011111,{mod}100{r_m}:fbld {mod}{r_m} 256# ORDER END 257# ORDER 25811011111,11110{freg}:fcomip {freg},%st 25911011111,{mod}110{r_m}:fbstp {mod}{r_m} 260# ORDER END 26111011001,11100000:fchs 262# ORDER 26310011011,11011011,11100010:fclex 26410011011,11011011,11100011:finit 26510011011:fwait 266# END ORDER 26711011011,11100010:fnclex 26811011010,11000{freg}:fcmovb {freg},%st 26911011010,11001{freg}:fcmove {freg},%st 27011011010,11010{freg}:fcmovbe {freg},%st 27111011010,11011{freg}:fcmovu {freg},%st 27211011011,11000{freg}:fcmovnb {freg},%st 27311011011,11001{freg}:fcmovne {freg},%st 27411011011,11010{freg}:fcmovnbe {freg},%st 27511011011,11011{freg}:fcmovnu {freg},%st 276# ORDER 27711011000,11010{freg}:fcom {freg} 278ifdef(`ASSEMBLER', 279`11011000,11010001:fcom 280')dnl 28111011{D}00,{mod}010{r_m}:fcom{D} {mod}{r_m} 282# END ORDER 283# ORDER 28411011000,11011{freg}:fcomp {freg} 285ifdef(`ASSEMBLER', 286`11011000,11011001:fcomp 287')dnl 28811011{D}00,{mod}011{r_m}:fcomp{D} {mod}{r_m} 289# END ORDER 29011011110,11011001:fcompp 29111011011,11110{freg}:fcomi {freg},%st 29211011111,11110{freg}:fcomip {freg},%st 29311011011,11101{freg}:fucomi {freg},%st 29411011111,11101{freg}:fucomip {freg},%st 29511011001,11111111:fcos 29611011001,11110110:fdecstp 297# ORDER 29811011000,11110{freg}:fdiv {freg},%st 29911011100,11110{freg}:fdiv %st,{freg} 30011011{D}00,{mod}110{r_m}:fdiv{D} {mod}{r_m} 301# END ORDER 30211011010,{mod}110{r_m}:fidivl {mod}{r_m} 303# ORDER 30411011110,11110{freg}:fdivp %st,{freg} 30511011110,{mod}110{r_m}:fidiv {mod}{r_m} 306# END ORDER 30711011110,11111{freg}:fdivrp %st,{freg} 308ifdef(`ASSEMBLER', 309`11011110,11111001:fdivp 310')dnl 311# ORDER 31211011000,11111{freg}:fdivr {freg},%st 31311011100,11111{freg}:fdivr %st,{freg} 31411011{D}00,{mod}111{r_m}:fdivr{D} {mod}{r_m} 315# END ORDER 31611011010,{mod}111{r_m}:fidivrl {mod}{r_m} 31711011110,{mod}111{r_m}:fidivr {mod}{r_m} 31811011110,11110{freg}:fdivrp %st,{freg} 319ifdef(`ASSEMBLER', 320`11011110,11110001:fdivrp 321')dnl 32211011101,11000{freg}:ffree {freg} 32311011010,11010{freg}:fcmovbe {freg} 32411011{w1}10,{mod}010{r_m}:ficom{w1} {mod}{r_m} 32511011010,11011{freg}:fcmovu {freg} 32611011{w1}10,{mod}011{r_m}:ficomp{w1} {mod}{r_m} 32711011111,{mod}000{r_m}:fild {mod}{r_m} 32811011011,{mod}000{r_m}:fildl {mod}{r_m} 32911011111,{mod}101{r_m}:fildll {mod}{r_m} 33011011001,11110111:fincstp 33111011011,11100011:fninit 33211011{w1}11,{mod}010{r_m}:fist{w1} {mod}{r_m} 33311011{w1}11,{mod}011{r_m}:fistp{w1} {mod}{r_m} 33411011111,{mod}111{r_m}:fistpll {mod}{r_m} 33511011{w1}11,{mod}001{r_m}:fisttp{w1} {mod}{r_m} 33611011101,{mod}001{r_m}:fisttpll {mod}{r_m} 33711011011,{mod}101{r_m}:fldt {mod}{r_m} 33811011011,{mod}111{r_m}:fstpt {mod}{r_m} 339# ORDER 34011011001,11000{freg}:fld {freg} 34111011{D}01,{mod}000{r_m}:fld{D} {mod}{r_m} 342# ORDER END 343# ORDER 34411011101,11100{freg}:fucom {freg} 34511011101,{mod}100{r_m}:frstor {mod}{r_m} 346# ORDER END 34711011101,11101{freg}:fucomp {freg} 34811011101,{mod}110{r_m}:fnsave {mod}{r_m} 34911011101,{mod}111{r_m}:fnstsw {mod}{r_m} 350# 351# 352# 35311110100:hlt 3541111011{w},{mod}111{r_m}:idiv{w} {mod}{r_m}{w} 3551111011{w},{mod}101{r_m}:imul{w} {mod}{r_m}{w} 35600001111,10101111,{mod}{reg}{r_m}:imul {mod}{r_m},{reg} 357011010{s}1,{mod}{reg}{r_m},{imm}:imul {imm}{s},{mod}{r_m},{reg} 3581110010{w},{imm8}:in {imm8},{ax}{w} 3591110110{w}:in {dx},{ax}{w} 3601111111{w},{mod}000{r_m}:inc{w} {mod}{r_m}{w} 361ifdef(`i386', 362`01000{reg}:inc {reg} 363')dnl 3640110110{w}:{R}ins{w} {dx},{es_di} 36511001101,{imm8}:int {imm8} 36611001100:int3 367ifdef(`i386', 368`11001110:into 369')dnl 37000001111,00001000:invd 371# ORDER 37200001111,00000001,11111000:swapgs 37300001111,00000001,{mod}111{r_m}:invlpg {mod}{r_m} 374# ORDER END 37511001111:iret{W1} 3760111{tttn},{disp8}:j{tttn} {disp8} 37700001111,1000{tttn},{rel}:j{tttn} {rel} 37800001111,1001{tttn},{mod}000{8r_m}:set{tttn} {mod}{8r_m} 379# SPECIAL 11100011,{disp8}:[{dpfx}?jcxz:jecxz] {disp8} 38011100011,{disp8}:INVALID {disp8} 38111101011,{disp8}:jmp {disp8} 38211101001,{rel}:jmp{W} {rel} 38311111111,{mod}100{64r_m}:jmp{W} *{mod}{64r_m} 38411101010,{absval},{sel}:ljmp {sel},{absval} 38511111111,{mod}101{64r_m}:ljmp{W} *{mod}{64r_m} 38610011111:lahf 38700001111,00000010,{mod}{reg}{16r_m}:lar {mod}{16r_m},{reg} 388ifdef(`i386', 389`11000101,{mod}{reg}{r_m}:lds {mod}{r_m},{reg} 390')dnl 39110001101,{mod}{reg}{r_m}:lea {mod}{r_m},{reg} 39211001001:leave{W} 393ifdef(`i386', 394`11000100,{mod}{reg}{r_m}:les {mod}{r_m},{reg} 395')dnl 39600001111,10110100,{mod}{reg}{r_m}:lfs {mod}{r_m},{reg} 39700001111,10110101,{mod}{reg}{r_m}:lgs {mod}{r_m},{reg} 398ifdef(`i386', 399`00001111,00000001,{mod}010{r_m}:lgdt{w0} {mod}{r_m} 40000001111,00000001,{mod}011{r_m}:lidt{w0} {mod}{r_m} 401', 402`00001111,00000001,{mod}010{r_m}:lgdt {mod}{r_m} 40300001111,00000001,{mod}011{r_m}:lidt {mod}{r_m} 404')dnl 40500001111,00000000,{mod}010{16r_m}:lldt {mod}{16r_m} 40600001111,00000001,{mod}110{16r_m}:lmsw {mod}{16r_m} 40711110000:lock 4081010110{w}:{R}lods {ds_si},{ax}{w} 40911100010,{disp8}:loop {disp8} 41011100001,{disp8}:loope {disp8} 41111100000,{disp8}:loopne {disp8} 41200001111,00000011,{mod}{reg}{16r_m}:lsl {mod}{16r_m},{reg} 41300001111,10110010,{mod}{reg}{r_m}:lss {mod}{r_m},{reg} 41400001111,00000000,{mod}011{16r_m}:ltr {mod}{16r_m} 4151000100{w},{mod}{reg}{r_m}:mov {reg}{w},{mod}{r_m}{w} 4161000101{w},{mod}{reg}{r_m}:mov {mod}{r_m}{w},{reg}{w} 4171100011{w},{mod}000{r_m},{imm}:mov{w} {imm}{w},{mod}{r_m}{w} 4181011{w}{oreg},{imm64}:mov {imm64}{w},{oreg}{w} 4191010000{w},{abs}:mov {abs},{ax}{w} 4201010001{w},{abs}:mov {ax}{w},{abs} 42100001111,00100000,11{ccc}{reg64}:mov {ccc},{reg64} 42200001111,00100010,11{ccc}{reg64}:mov {reg64},{ccc} 42300001111,00100001,11{ddd}{reg64}:mov {ddd},{reg64} 42400001111,00100011,11{ddd}{reg64}:mov {reg64},{ddd} 42510001100,{mod}{sreg3}{r_m}:mov {sreg3},{mod}{r_m} 42610001110,{mod}{sreg3}{r_m}:mov {mod}{r_m},{sreg3} 4271010010{w}:{R}movs{w} {ds_si},{es_di} 42800001111,10111110,{mod}{reg}{8r_m}:movsbl {mod}{8r_m},{reg} 42900001111,10111111,{mod}{reg}{16r_m}:movswl {mod}{16r_m},{reg} 43000001111,10110110,{mod}{reg}{8r_m}:movzbl {mod}{8r_m},{reg} 43100001111,10110111,{mod}{reg}{16r_m}:movzwl {mod}{16r_m},{reg} 4321111011{w},{mod}100{r_m}:mul{w} {mod}{r_m}{w} 4331111011{w},{mod}011{r_m}:neg{w} {mod}{r_m}{w} 43411110011,10010000:pause 435ifdef(`i386', 436`10010000:nop 437', 438`10010000:INVALID 439')dnl 4401111011{w},{mod}010{r_m}:not{w} {mod}{r_m}{w} 4410000100{w},{mod}{reg}{r_m}:or {reg}{w},{mod}{r_m}{w} 4420000101{w},{mod}{reg}{r_m}:or {mod}{r_m}{w},{reg}{w} 4431000000{w},{mod}001{r_m},{imm}:or{w} {imm}{w},{mod}{r_m}{w} 4441000001{w},{mod}001{r_m},{imms8}:or{w} {imms8},{mod}{r_m}{w} 4450000110{w},{imm}:or {imm}{w},{ax}{w} 4461110011{w},{imm8}:out {ax}{w},{imm8} 4471110111{w}:out {ax}{w},{dx} 4480110111{w}:{R}outs{w} {ds_si},{dx} 449ifdef(`i386', 450`10001111,{mod}000{r_m}:pop{w} {mod}{r_m} 451', 452# XXX This is not the cleanest way... 453`10001111,11000{reg64}:pop {reg64} 45410001111,{mod}000{r_m}:pop{W} {mod}{r_m} 455')dnl 45600001111,10{sreg3}001:pop{W} {sreg3} 45710011101:popf{W} 458# XXX This is not the cleanest way... 459ifdef(`i386', 460`11111111,{mod}110{r_m}:push{w} {mod}{r_m} 461', 462`11111111,11110{reg64}:push {reg64} 46311111111,{mod}110{r_m}:pushq {mod}{r_m} 464')dnl 465ifdef(`i386', 466`01010{reg}:push {reg} 46701011{reg}:pop {reg} 468', 469`01010{reg64}:push {reg64} 47001011{reg64}:pop {reg64} 471')dnl 472011010{s}0,{imm}:push{W} {imm}{s} 473000{sreg2}110:push {sreg2} 47400001111,10{sreg3}000:push{W} {sreg3} 475ifdef(`i386', 476`01100000:pusha{W} 47701100001:popa{W} 478')dnl 47910011100:pushf{W} 4801101000{w},{mod}010{r_m}:rcl{w} {mod}{r_m}{w} 4811101001{w},{mod}010{r_m}:rcl{w} %cl,{mod}{r_m}{w} 4821100000{w},{mod}010{r_m},{imm8}:rcl{w} {imm8},{mod}{r_m}{w} 4831101000{w},{mod}011{r_m}:rcr{w} {mod}{r_m}{w} 4841101001{w},{mod}011{r_m}:rcr{w} %cl,{mod}{r_m}{w} 4851100000{w},{mod}011{r_m},{imm8}:rcr{w} {imm8},{mod}{r_m}{w} 48600001111,00110010:rdmsr 48700001111,00110011:rdpmc 48800001111,00110001:rdtsc 48911000011:ret{W} 49011000010,{imm16}:ret{W} {imm16} 49111001011:lret 49211001010,{imm16}:lret {imm16} 4931101000{w},{mod}000{r_m}:rol{w} {mod}{r_m}{w} 4941101001{w},{mod}000{r_m}:rol{w} %cl,{mod}{r_m}{w} 4951100000{w},{mod}000{r_m},{imm8}:rol{w} {imm8},{mod}{r_m}{w} 4961101000{w},{mod}001{r_m}:ror{w} {mod}{r_m}{w} 4971101001{w},{mod}001{r_m}:ror{w} %cl,{mod}{r_m}{w} 4981100000{w},{mod}001{r_m},{imm8}:ror{w} {imm8},{mod}{r_m}{w} 49900001111,10101010:rsm 50010011110:sahf 5011101000{w},{mod}111{r_m}:sar{w} {mod}{r_m}{w} 5021101001{w},{mod}111{r_m}:sar{w} %cl,{mod}{r_m}{w} 5031100000{w},{mod}111{r_m},{imm8}:sar{w} {imm8},{mod}{r_m}{w} 5040001100{w},{mod}{reg}{r_m}:sbb {reg}{w},{mod}{r_m}{w} 5050001101{w},{mod}{reg}{r_m}:sbb {mod}{r_m}{w},{reg}{w} 5060001110{w},{imm}:sbb {imm}{w},{ax}{w} 5071000000{w},{mod}011{r_m},{imm}:sbb{w} {imm}{w},{mod}{r_m}{w} 5081000001{w},{mod}011{r_m},{imms8}:sbb{w} {imms8},{mod}{r_m} 5091010111{w}:{RE}scas {es_di},{ax}{w} 51000001111,1001{tttn},{mod}000{r_m}:set{tttn} {mod}{r_m} 5111101000{w},{mod}100{r_m}:shl{w} {mod}{r_m}{w} 5121101001{w},{mod}100{r_m}:shl{w} %cl,{mod}{r_m}{w} 5131100000{w},{mod}100{r_m},{imm8}:shl{w} {imm8},{mod}{r_m}{w} 5141101000{w},{mod}101{r_m}:shr{w} {mod}{r_m}{w} 51500001111,10100100,{mod}{reg}{r_m},{imm8}:shld {imm8},{reg},{mod}{r_m} 51600001111,10100101,{mod}{reg}{r_m}:shld %cl,{reg},{mod}{r_m} 5171101001{w},{mod}101{r_m}:shr{w} %cl,{mod}{r_m}{w} 5181100000{w},{mod}101{r_m},{imm8}:shr{w} {imm8},{mod}{r_m}{w} 51900001111,10101100,{mod}{reg}{r_m},{imm8}:shrd {imm8},{reg},{mod}{r_m} 52000001111,10101101,{mod}{reg}{r_m}:shrd %cl,{reg},{mod}{r_m} 521# ORDER 52200001111,00000001,11000001:vmcall 52300001111,00000001,11000010:vmlaunch 52400001111,00000001,11000011:vmresume 52500001111,00000001,11000100:vmxoff 52600001111,01111000,{mod}{reg64}{64r_m}:vmread {reg64},{mod}{64r_m} 52700001111,01111001,{mod}{reg64}{64r_m}:vmwrite {mod}{64r_m},{reg64} 528ifdef(`i386', 529`00001111,00000001,{mod}000{r_m}:sgdtl {mod}{r_m} 530', 531`00001111,00000001,{mod}000{r_m}:sgdt {mod}{r_m} 532')dnl 533# ORDER END 534# ORDER 535ifdef(`i386', 536`00001111,00000001,11001000:monitor %eax,%ecx,%edx 53700001111,00000001,11001001:mwait %eax,%ecx 538', 539`00001111,00000001,11001000:monitor %rax,%rcx,%rdx 54000001111,00000001,11001001:mwait %rax,%rcx 541')dnl 542ifdef(`i386', 543`00001111,00000001,{mod}001{r_m}:sidtl {mod}{r_m} 544', 545`00001111,00000001,{mod}001{r_m}:sidt {mod}{r_m} 546')dnl 547# ORDER END 54800001111,00000000,{mod}000{r_m}:sldt {mod}{r_m} 54900001111,00000001,{mod}100{r_m}:smsw {mod}{r_m} 55011111001:stc 55111111101:std 55211111011:sti 5531010101{w}:{R}stos {ax}{w},{es_di} 55400001111,00000000,{mod}001{r_m}:str {mod}{r_m} 5550010100{w},{mod}{reg}{r_m}:sub {reg}{w},{mod}{r_m}{w} 5560010101{w},{mod}{reg}{r_m}:sub {mod}{r_m}{w},{reg}{w} 5570010110{w},{imm}:sub {imm}{w},{ax}{w} 5581000000{w},{mod}101{r_m},{imm}:sub{w} {imm}{w},{mod}{r_m}{w} 5591000001{w},{mod}101{r_m},{imms8}:sub{w} {imms8},{mod}{r_m} 5601000010{w},{mod}{reg}{r_m}:test {reg}{w},{mod}{r_m}{w} 5611010100{w},{imm}:test {imm}{w},{ax}{w} 5621111011{w},{mod}000{r_m},{imm}:test{w} {imm}{w},{mod}{r_m}{w} 56300001111,00001011:ud2a 56400001111,00000000,{mod}100{16r_m}:verr {mod}{16r_m} 56500001111,00000000,{mod}101{16r_m}:verw {mod}{16r_m} 56600001111,00001001:wbinvd 56700001111,00001101,{mod}000{8r_m}:prefetch {mod}{8r_m} 56800001111,00001101,{mod}001{8r_m}:prefetchw {mod}{8r_m} 56900001111,00011000,{mod}000{r_m}:prefetchnta {mod}{r_m} 57000001111,00011000,{mod}001{r_m}:prefetcht0 {mod}{r_m} 57100001111,00011000,{mod}010{r_m}:prefetcht1 {mod}{r_m} 57200001111,00011000,{mod}011{r_m}:prefetcht2 {mod}{r_m} 57300001111,00011111,{mod}{reg}{r_m}:nop{w} {mod}{r_m} 57400001111,00110000:wrmsr 57500001111,1100000{w},{mod}{reg}{r_m}:xadd {reg}{w},{mod}{r_m}{w} 5761000011{w},{mod}{reg}{r_m}:xchg {reg}{w},{mod}{r_m}{w} 57710010{oreg}:xchg {ax},{oreg} 57811010111:xlat {ds_bx} 5790011000{w},{mod}{reg}{r_m}:xor {reg}{w},{mod}{r_m}{w} 5800011001{w},{mod}{reg}{r_m}:xor {mod}{r_m}{w},{reg}{w} 5810011010{w},{imm}:xor {imm}{w},{ax}{w} 5821000000{w},{mod}110{r_m},{imm}:xor{w} {imm}{w},{mod}{r_m}{w} 5831000001{w},{mod}110{r_m},{imms8}:xor{w} {imms8},{mod}{r_m} 58400001111,01110111:emms 58501100110,00001111,11011011,{Mod}{xmmreg}{R_m}:pand {Mod}{R_m},{xmmreg} 58600001111,11011011,{MOD}{mmxreg}{R_M}:pand {MOD}{R_M},{mmxreg} 58701100110,00001111,11011111,{Mod}{xmmreg}{R_m}:pandn {Mod}{R_m},{xmmreg} 58800001111,11011111,{MOD}{mmxreg}{R_M}:pandn {MOD}{R_M},{mmxreg} 58901100110,00001111,11110101,{Mod}{xmmreg}{R_m}:pmaddwd {Mod}{R_m},{xmmreg} 59000001111,11110101,{MOD}{mmxreg}{R_M}:pmaddwd {MOD}{R_M},{mmxreg} 59101100110,00001111,11101011,{Mod}{xmmreg}{R_m}:por {Mod}{R_m},{xmmreg} 59200001111,11101011,{MOD}{mmxreg}{R_M}:por {MOD}{R_M},{mmxreg} 59301100110,00001111,11101111,{Mod}{xmmreg}{R_m}:pxor {Mod}{R_m},{xmmreg} 59400001111,11101111,{MOD}{mmxreg}{R_M}:pxor {MOD}{R_M},{mmxreg} 59500001111,01010101,{Mod}{xmmreg}{R_m}:andnps {Mod}{R_m},{xmmreg} 59600001111,01010100,{Mod}{xmmreg}{R_m}:andps {Mod}{R_m},{xmmreg} 59700001111,11000010,{Mod}{xmmreg}{R_m},00000000:cmpeqps {Mod}{R_m},{xmmreg} 59800001111,11000010,{Mod}{xmmreg}{R_m},00000001:cmpltps {Mod}{R_m},{xmmreg} 59900001111,11000010,{Mod}{xmmreg}{R_m},00000010:cmpleps {Mod}{R_m},{xmmreg} 60000001111,11000010,{Mod}{xmmreg}{R_m},00000011:cmpunordps {Mod}{R_m},{xmmreg} 60100001111,11000010,{Mod}{xmmreg}{R_m},00000100:cmpneqps {Mod}{R_m},{xmmreg} 60200001111,11000010,{Mod}{xmmreg}{R_m},00000101:cmpnltps {Mod}{R_m},{xmmreg} 60300001111,11000010,{Mod}{xmmreg}{R_m},00000110:cmpnleps {Mod}{R_m},{xmmreg} 60400001111,11000010,{Mod}{xmmreg}{R_m},00000111:cmpordps {Mod}{R_m},{xmmreg} 60511110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000000:cmpeqss {Mod}{R_m},{xmmreg} 60611110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000001:cmpltss {Mod}{R_m},{xmmreg} 60711110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000010:cmpless {Mod}{R_m},{xmmreg} 60811110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000011:cmpunordss {Mod}{R_m},{xmmreg} 60911110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000100:cmpneqss {Mod}{R_m},{xmmreg} 61011110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000101:cmpnltss {Mod}{R_m},{xmmreg} 61111110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000110:cmpnless {Mod}{R_m},{xmmreg} 61211110011,00001111,11000010,{Mod}{xmmreg}{R_m},00000111:cmpordss {Mod}{R_m},{xmmreg} 61300001111,10101110,{mod}001{r_m}:fxrstor {mod}{r_m} 61400001111,10101110,{mod}000{r_m}:fxsave {mod}{r_m} 61500001111,10101110,{mod}010{r_m}:ldmxcsr {mod}{r_m} 61600001111,10101110,{mod}011{r_m}:stmxcsr {mod}{r_m} 61711110010,00001111,00010000,{Mod}{xmmreg}{R_m}:movsd {Mod}{R_m},{xmmreg} 61811110011,00001111,00010000,{Mod}{xmmreg}{R_m}:movss {Mod}{R_m},{xmmreg} 61901100110,00001111,00010000,{Mod}{xmmreg}{R_m}:movupd {Mod}{R_m},{xmmreg} 62000001111,00010000,{Mod}{xmmreg}{R_m}:movups {Mod}{R_m},{xmmreg} 62111110010,00001111,00010001,{Mod}{xmmreg}{R_m}:movsd {xmmreg},{Mod}{R_m} 62211110011,00001111,00010001,{Mod}{xmmreg}{R_m}:movss {xmmreg},{Mod}{R_m} 62301100110,00001111,00010001,{Mod}{xmmreg}{R_m}:movupd {xmmreg},{Mod}{R_m} 62400001111,00010001,{Mod}{xmmreg}{R_m}:movups {xmmreg},{Mod}{R_m} 62511110010,00001111,00010010,{Mod}{xmmreg}{R_m}:movddup {Mod}{R_m},{xmmreg} 62611110011,00001111,00010010,{Mod}{xmmreg}{R_m}:movsldup {Mod}{R_m},{xmmreg} 62701100110,00001111,00010010,{Mod}{xmmreg}{R_m}:movlpd {Mod}{R_m},{xmmreg} 62800001111,00010010,11{xmmreg1}{xmmreg2}:movhlps {xmmreg2},{xmmreg1} 62900001111,00010010,{Mod}{xmmreg}{R_m}:movlps {Mod}{R_m},{xmmreg} 63001100110,00001111,00010011,11{xmmreg1}{xmmreg2}:movhlpd {xmmreg1},{xmmreg2} 63100001111,00010011,11{xmmreg1}{xmmreg2}:movhlps {xmmreg1},{xmmreg2} 63201100110,00001111,00010011,{Mod}{xmmreg}{R_m}:movlpd {xmmreg},{Mod}{R_m} 63300001111,00010011,{Mod}{xmmreg}{R_m}:movlps {xmmreg},{Mod}{R_m} 63401100110,00001111,00010100,{Mod}{xmmreg}{R_m}:unpcklpd {Mod}{R_m},{xmmreg} 63500001111,00010100,{Mod}{xmmreg}{R_m}:unpcklps {Mod}{R_m},{xmmreg} 63601100110,00001111,00010101,{Mod}{xmmreg}{R_m}:unpckhpd {Mod}{R_m},{xmmreg} 63700001111,00010101,{Mod}{xmmreg}{R_m}:unpckhps {Mod}{R_m},{xmmreg} 63811110011,00001111,00010110,{Mod}{xmmreg}{R_m}:movshdup {Mod}{R_m},{xmmreg} 63901100110,00001111,00010110,{Mod}{xmmreg}{R_m}:movhpd {Mod}{R_m},{xmmreg} 64000001111,00010110,11{xmmreg1}{xmmreg2}:movlhps {xmmreg2},{xmmreg1} 64100001111,00010110,{Mod}{xmmreg}{R_m}:movhps {Mod}{R_m},{xmmreg} 64201100110,00001111,00010111,11{xmmreg1}{xmmreg2}:movlhpd {xmmreg1},{xmmreg2} 64300001111,00010111,11{xmmreg1}{xmmreg2}:movlhps {xmmreg1},{xmmreg2} 64401100110,00001111,00010111,{Mod}{xmmreg}{R_m}:movhpd {xmmreg},{Mod}{R_m} 64500001111,00010111,{Mod}{xmmreg}{R_m}:movhps {xmmreg},{Mod}{R_m} 64601100110,00001111,00101000,{Mod}{xmmreg}{R_m}:movapd {Mod}{R_m},{xmmreg} 64700001111,00101000,{Mod}{xmmreg}{R_m}:movaps {Mod}{R_m},{xmmreg} 64801100110,00001111,00101001,{Mod}{xmmreg}{R_m}:movapd {xmmreg},{Mod}{R_m} 64900001111,00101001,{Mod}{xmmreg}{R_m}:movaps {xmmreg},{Mod}{R_m} 65011110010,00001111,00101010,{mod}{xmmreg}{r_m}:cvtsi2sd {mod}{r_m},{xmmreg} 65111110011,00001111,00101010,{mod}{xmmreg}{r_m}:cvtsi2ss {mod}{r_m},{xmmreg} 65201100110,00001111,00101010,{MOD}{xmmreg}{R_M}:cvtpi2pd {MOD}{R_M},{xmmreg} 65300001111,00101010,{MOD}{xmmreg}{R_M}:cvtpi2ps {MOD}{R_M},{xmmreg} 65401100110,00001111,00101011,{mod}{xmmreg}{r_m}:movntpd {xmmreg},{mod}{r_m} 65500001111,00101011,{mod}{xmmreg}{r_m}:movntps {xmmreg},{mod}{r_m} 65611110010,00001111,00101100,{Mod}{reg}{R_m}:cvttsd2si {Mod}{R_m},{reg} 65711110011,00001111,00101100,{Mod}{reg}{R_m}:cvttss2si {Mod}{R_m},{reg} 65801100110,00001111,00101100,{Mod}{mmxreg}{R_m}:cvttpd2pi {Mod}{R_m},{mmxreg} 65900001111,00101100,{Mod}{mmxreg}{R_m}:cvttps2pi {Mod}{R_m},{mmxreg} 66001100110,00001111,00101101,{Mod}{mmxreg}{R_m}:cvtpd2pi {Mod}{R_m},{mmxreg} 66111110010,00001111,00101101,{Mod}{reg}{R_m}:cvtsd2si {Mod}{R_m},{reg} 66211110011,00001111,00101101,{Mod}{reg}{R_m}:cvtss2si {Mod}{R_m},{reg} 66300001111,00101101,{Mod}{mmxreg}{R_m}:cvtps2pi {Mod}{R_m},{mmxreg} 66401100110,00001111,00101110,{Mod}{xmmreg}{R_m}:ucomisd {Mod}{R_m},{xmmreg} 66500001111,00101110,{Mod}{xmmreg}{R_m}:ucomiss {Mod}{R_m},{xmmreg} 66601100110,00001111,00101111,{Mod}{xmmreg}{R_m}:comisd {Mod}{R_m},{xmmreg} 66700001111,00101111,{Mod}{xmmreg}{R_m}:comiss {Mod}{R_m},{xmmreg} 66800001111,00110111:getsec 66901100110,00001111,01010000,11{reg}{xmmreg}:movmskpd {xmmreg},{reg} 67000001111,01010000,11{reg}{xmmreg}:movmskps {xmmreg},{reg} 67101100110,00001111,01010001,{Mod}{xmmreg}{R_m}:sqrtpd {Mod}{R_m},{xmmreg} 67211110010,00001111,01010001,{Mod}{xmmreg}{R_m}:sqrtsd {Mod}{R_m},{xmmreg} 67311110011,00001111,01010001,{Mod}{xmmreg}{R_m}:sqrtss {Mod}{R_m},{xmmreg} 67400001111,01010001,{Mod}{xmmreg}{R_m}:sqrtps {Mod}{R_m},{xmmreg} 67511110011,00001111,01010010,{Mod}{xmmreg}{R_m}:rsqrtss {Mod}{R_m},{xmmreg} 67600001111,01010010,{Mod}{xmmreg}{R_m}:rsqrtps {Mod}{R_m},{xmmreg} 67711110011,00001111,01010011,{Mod}{xmmreg}{R_m}:rcpss {Mod}{R_m},{xmmreg} 67800001111,01010011,{Mod}{xmmreg}{R_m}:rcpps {Mod}{R_m},{xmmreg} 67901100110,00001111,01010100,{Mod}{xmmreg}{R_m}:andpd {Mod}{R_m},{xmmreg} 68000001111,01010100,{Mod}{xmmreg}{R_m}:andps {Mod}{R_m},{xmmreg} 68101100110,00001111,01010101,{Mod}{xmmreg}{R_m}:andnpd {Mod}{R_m},{xmmreg} 68200001111,01010101,{Mod}{xmmreg}{R_m}:andnps {Mod}{R_m},{xmmreg} 68301100110,00001111,01010110,{Mod}{xmmreg}{R_m}:orpd {Mod}{R_m},{xmmreg} 68400001111,01010110,{Mod}{xmmreg}{R_m}:orps {Mod}{R_m},{xmmreg} 68501100110,00001111,01010111,{Mod}{xmmreg}{R_m}:xorpd {Mod}{R_m},{xmmreg} 68600001111,01010111,{Mod}{xmmreg}{R_m}:xorps {Mod}{R_m},{xmmreg} 68711110010,00001111,01011000,{Mod}{xmmreg}{R_m}:addsd {Mod}{R_m},{xmmreg} 68811110011,00001111,01011000,{Mod}{xmmreg}{R_m}:addss {Mod}{R_m},{xmmreg} 68901100110,00001111,01011000,{Mod}{xmmreg}{R_m}:addpd {Mod}{R_m},{xmmreg} 69000001111,01011000,{Mod}{xmmreg}{R_m}:addps {Mod}{R_m},{xmmreg} 69111110010,00001111,01011001,{Mod}{xmmreg}{R_m}:mulsd {Mod}{R_m},{xmmreg} 69211110011,00001111,01011001,{Mod}{xmmreg}{R_m}:mulss {Mod}{R_m},{xmmreg} 69301100110,00001111,01011001,{Mod}{xmmreg}{R_m}:mulpd {Mod}{R_m},{xmmreg} 69400001111,01011001,{Mod}{xmmreg}{R_m}:mulps {Mod}{R_m},{xmmreg} 69511110010,00001111,01011010,{Mod}{xmmreg}{R_m}:cvtsd2ss {Mod}{R_m},{xmmreg} 69611110011,00001111,01011010,{Mod}{xmmreg}{R_m}:cvtss2sd {Mod}{R_m},{xmmreg} 69701100110,00001111,01011010,{Mod}{xmmreg}{R_m}:cvtpd2ps {Mod}{R_m},{xmmreg} 69800001111,01011010,{Mod}{xmmreg}{R_m}:cvtps2pd {Mod}{R_m},{xmmreg} 69901100110,00001111,01011011,{Mod}{xmmreg}{R_m}:cvtps2dq {Mod}{R_m},{xmmreg} 70011110011,00001111,01011011,{Mod}{xmmreg}{R_m}:cvttps2dq {Mod}{R_m},{xmmreg} 70100001111,01011011,{Mod}{xmmreg}{R_m}:cvtdq2ps {Mod}{R_m},{xmmreg} 70211110010,00001111,01011100,{Mod}{xmmreg}{R_m}:subsd {Mod}{R_m},{xmmreg} 70311110011,00001111,01011100,{Mod}{xmmreg}{R_m}:subss {Mod}{R_m},{xmmreg} 70401100110,00001111,01011100,{Mod}{xmmreg}{R_m}:subpd {Mod}{R_m},{xmmreg} 70500001111,01011100,{Mod}{xmmreg}{R_m}:subps {Mod}{R_m},{xmmreg} 70611110010,00001111,01011101,{Mod}{xmmreg}{R_m}:minsd {Mod}{R_m},{xmmreg} 70711110011,00001111,01011101,{Mod}{xmmreg}{R_m}:minss {Mod}{R_m},{xmmreg} 70801100110,00001111,01011101,{Mod}{xmmreg}{R_m}:minpd {Mod}{R_m},{xmmreg} 70900001111,01011101,{Mod}{xmmreg}{R_m}:minps {Mod}{R_m},{xmmreg} 71011110010,00001111,01011110,{Mod}{xmmreg}{R_m}:divsd {Mod}{R_m},{xmmreg} 71111110011,00001111,01011110,{Mod}{xmmreg}{R_m}:divss {Mod}{R_m},{xmmreg} 71201100110,00001111,01011110,{Mod}{xmmreg}{R_m}:divpd {Mod}{R_m},{xmmreg} 71300001111,01011110,{Mod}{xmmreg}{R_m}:divps {Mod}{R_m},{xmmreg} 71411110010,00001111,01011111,{Mod}{xmmreg}{R_m}:maxsd {Mod}{R_m},{xmmreg} 71511110011,00001111,01011111,{Mod}{xmmreg}{R_m}:maxss {Mod}{R_m},{xmmreg} 71601100110,00001111,01011111,{Mod}{xmmreg}{R_m}:maxpd {Mod}{R_m},{xmmreg} 71700001111,01011111,{Mod}{xmmreg}{R_m}:maxps {Mod}{R_m},{xmmreg} 71801100110,00001111,01100000,{Mod}{xmmreg}{R_m}:punpcklbw {Mod}{R_m},{xmmreg} 71900001111,01100000,{MOD}{mmxreg}{R_M}:punpcklbw {MOD}{R_M},{mmxreg} 72001100110,00001111,01100001,{Mod}{xmmreg}{R_m}:punpcklwd {Mod}{R_m},{xmmreg} 72100001111,01100001,{MOD}{mmxreg}{R_M}:punpcklwd {MOD}{R_M},{mmxreg} 72201100110,00001111,01100010,{Mod}{xmmreg}{R_m}:punpckldq {Mod}{R_m},{xmmreg} 72300001111,01100010,{MOD}{mmxreg}{R_M}:punpckldq {MOD}{R_M},{mmxreg} 72401100110,00001111,01100011,{Mod}{xmmreg}{R_m}:packsswb {Mod}{R_m},{xmmreg} 72500001111,01100011,{MOD}{mmxreg}{R_M}:packsswb {MOD}{R_M},{mmxreg} 72601100110,00001111,01100100,{Mod}{xmmreg}{R_m}:pcmpgtb {Mod}{R_m},{xmmreg} 72700001111,01100100,{MOD}{mmxreg}{R_M}:pcmpgtb {MOD}{R_M},{mmxreg} 72801100110,00001111,01100101,{Mod}{xmmreg}{R_m}:pcmpgtw {Mod}{R_m},{xmmreg} 72900001111,01100101,{MOD}{mmxreg}{R_M}:pcmpgtw {MOD}{R_M},{mmxreg} 73001100110,00001111,01100110,{Mod}{xmmreg}{R_m}:pcmpgtd {Mod}{R_m},{xmmreg} 73100001111,01100110,{MOD}{mmxreg}{R_M}:pcmpgtd {MOD}{R_M},{mmxreg} 73201100110,00001111,01100111,{Mod}{xmmreg}{R_m}:packuswb {Mod}{R_m},{xmmreg} 73300001111,01100111,{MOD}{mmxreg}{R_M}:packuswb {MOD}{R_M},{mmxreg} 73401100110,00001111,01101000,{Mod}{xmmreg}{R_m}:punpckhbw {Mod}{R_m},{xmmreg} 73500001111,01101000,{MOD}{mmxreg}{R_M}:punpckhbw {MOD}{R_M},{mmxreg} 73601100110,00001111,01101001,{Mod}{xmmreg}{R_m}:punpckhwd {Mod}{R_m},{xmmreg} 73700001111,01101001,{MOD}{mmxreg}{R_M}:punpckhwd {MOD}{R_M},{mmxreg} 73801100110,00001111,01101010,{Mod}{xmmreg}{R_m}:punpckhdq {Mod}{R_m},{xmmreg} 73900001111,01101010,{MOD}{mmxreg}{R_M}:punpckhdq {MOD}{R_M},{mmxreg} 74001100110,00001111,01101011,{Mod}{xmmreg}{R_m}:packssdw {Mod}{R_m},{xmmreg} 74100001111,01101011,{MOD}{mmxreg}{R_M}:packssdw {MOD}{R_M},{mmxreg} 74201100110,00001111,01101100,{Mod}{xmmreg}{R_m}:punpcklqdq {Mod}{R_m},{xmmreg} 74301100110,00001111,01101101,{Mod}{xmmreg}{R_m}:punpckhqdq {Mod}{R_m},{xmmreg} 74401100110,00001111,01101110,{mod}{xmmreg}{r_m}:movd {mod}{r_m},{xmmreg} 74500001111,01101110,{mod}{mmxreg}{r_m}:movd {mod}{r_m},{mmxreg} 74601100110,00001111,01101111,{Mod}{xmmreg}{R_m}:movdqa {Mod}{R_m},{xmmreg} 74711110011,00001111,01101111,{Mod}{xmmreg}{R_m}:movdqu {Mod}{R_m},{xmmreg} 74800001111,01101111,{MOD}{mmxreg}{R_M}:movq {MOD}{R_M},{mmxreg} 74901100110,00001111,01110000,{Mod}{xmmreg}{R_m},{imm8}:pshufd {imm8},{Mod}{R_m},{xmmreg} 75011110010,00001111,01110000,{Mod}{xmmreg}{R_m},{imm8}:pshuflw {imm8},{Mod}{R_m},{xmmreg} 75111110011,00001111,01110000,{Mod}{xmmreg}{R_m},{imm8}:pshufhw {imm8},{Mod}{R_m},{xmmreg} 75200001111,01110000,{MOD}{mmxreg}{R_M},{imm8}:pshufw {imm8},{MOD}{R_M},{mmxreg} 75301100110,00001111,01110100,{Mod}{xmmreg}{R_m}:pcmpeqb {Mod}{R_m},{xmmreg} 75400001111,01110100,{MOD}{mmxreg}{R_M}:pcmpeqb {MOD}{R_M},{mmxreg} 75501100110,00001111,01110101,{Mod}{xmmreg}{R_m}:pcmpeqw {Mod}{R_m},{xmmreg} 75600001111,01110101,{MOD}{mmxreg}{R_M}:pcmpeqw {MOD}{R_M},{mmxreg} 75701100110,00001111,01110110,{Mod}{xmmreg}{R_m}:pcmpeqd {Mod}{R_m},{xmmreg} 75800001111,01110110,{MOD}{mmxreg}{R_M}:pcmpeqd {MOD}{R_M},{mmxreg} 75901100110,00001111,01111100,{Mod}{xmmreg}{R_m}:haddpd {Mod}{R_m},{xmmreg} 76011110010,00001111,01111100,{Mod}{xmmreg}{R_m}:haddps {Mod}{R_m},{xmmreg} 76101100110,00001111,01111101,{Mod}{xmmreg}{R_m}:hsubpd {Mod}{R_m},{xmmreg} 76211110010,00001111,01111101,{Mod}{xmmreg}{R_m}:hsubps {Mod}{R_m},{xmmreg} 76301100110,00001111,01111110,{mod}{xmmreg}{r_m}:movd {xmmreg},{mod}{r_m} 76411110011,00001111,01111110,{Mod}{xmmreg}{R_m}:movq {Mod}{R_m},{xmmreg} 76500001111,01111110,{mod}{mmxreg}{r_m}:movd {mmxreg},{mod}{r_m} 76601100110,00001111,01111111,{Mod}{xmmreg}{R_m}:movdqa {xmmreg},{Mod}{R_m} 76711110011,00001111,01111111,{Mod}{xmmreg}{R_m}:movdqu {xmmreg},{Mod}{R_m} 76800001111,01111111,{MOD}{mmxreg}{R_M}:movq {mmxreg},{MOD}{R_M} 76900001111,11000011,{mod}{reg}{r_m}:movnti {reg},{mod}{r_m} 77001100110,00001111,11000100,{mod}{xmmreg}{r_m},{imm8}:pinsrw {imm8},{mod}{r_m},{xmmreg} 77100001111,11000100,{mod}{mmxreg}{r_m},{imm8}:pinsrw {imm8},{mod}{r_m},{mmxreg} 77201100110,00001111,11000101,11{reg}{xmmreg},{imm8}:pextrw {imm8},{xmmreg},{reg} 77300001111,11000101,11{reg}{mmxreg},{imm8}:pextrw {imm8},{mmxreg},{reg} 77401100110,00001111,11000110,{Mod}{xmmreg}{R_m},{imm8}:shufpd {imm8},{Mod}{R_m},{xmmreg} 77500001111,11000110,{Mod}{xmmreg}{R_m},{imm8}:shufps {imm8},{Mod}{R_m},{xmmreg} 77601100110,00001111,11010001,{Mod}{xmmreg}{R_m}:psrlw {Mod}{R_m},{xmmreg} 77700001111,11010001,{MOD}{mmxreg}{R_M}:psrlw {MOD}{R_M},{mmxreg} 77801100110,00001111,11010010,{Mod}{xmmreg}{R_m}:psrld {Mod}{R_m},{xmmreg} 77900001111,11010010,{MOD}{mmxreg}{R_M}:psrld {MOD}{R_M},{mmxreg} 78001100110,00001111,11010011,{Mod}{xmmreg}{R_m}:psrlq {Mod}{R_m},{xmmreg} 78100001111,11010011,{MOD}{mmxreg}{R_M}:psrlq {MOD}{R_M},{mmxreg} 78201100110,00001111,11010100,{Mod}{xmmreg}{R_m}:paddq {Mod}{R_m},{xmmreg} 78300001111,11010100,{MOD}{mmxreg}{R_M}:paddq {MOD}{R_M},{mmxreg} 78401100110,00001111,11010101,{Mod}{xmmreg}{R_m}:pmullw {Mod}{R_m},{xmmreg} 78500001111,11010101,{MOD}{mmxreg}{R_M}:pmullw {MOD}{R_M},{mmxreg} 78601100110,00001111,11010110,{Mod}{xmmreg}{R_m}:movq {xmmreg},{Mod}{R_m} 78711110010,00001111,11010110,11{mmxreg}{xmmreg}:movdq2q {xmmreg},{mmxreg} 78811110011,00001111,11010110,11{xmmreg}{mmxreg}:movq2dq {mmxreg},{xmmreg} 78901100110,00001111,11010111,11{reg}{xmmreg}:pmovmskb {xmmreg},{reg} 79000001111,11010111,11{reg}{mmxreg}:pmovmskb {mmxreg},{reg} 79101100110,00001111,11011000,{Mod}{xmmreg}{R_m}:psubusb {Mod}{R_m},{xmmreg} 79200001111,11011000,{MOD}{mmxreg}{R_M}:psubusb {MOD}{R_M},{mmxreg} 79301100110,00001111,11011001,{Mod}{xmmreg}{R_m}:psubusw {Mod}{R_m},{xmmreg} 79400001111,11011001,{MOD}{mmxreg}{R_M}:psubusw {MOD}{R_M},{mmxreg} 79501100110,00001111,11011010,{Mod}{xmmreg}{R_m}:pminub {Mod}{R_m},{xmmreg} 79600001111,11011010,{MOD}{mmxreg}{R_M}:pminub {MOD}{R_M},{mmxreg} 79701100110,00001111,11011100,{Mod}{xmmreg}{R_m}:paddusb {Mod}{R_m},{xmmreg} 79800001111,11011100,{MOD}{mmxreg}{R_M}:paddusb {MOD}{R_M},{mmxreg} 79901100110,00001111,11011101,{Mod}{xmmreg}{R_m}:paddusw {Mod}{R_m},{xmmreg} 80000001111,11011101,{MOD}{mmxreg}{R_M}:paddusw {MOD}{R_M},{mmxreg} 80101100110,00001111,11011110,{Mod}{xmmreg}{R_m}:pmaxub {Mod}{R_m},{xmmreg} 80200001111,11011110,{MOD}{mmxreg}{R_M}:pmaxub {MOD}{R_M},{mmxreg} 80301100110,00001111,11100000,{Mod}{xmmreg}{R_m}:pavgb {Mod}{R_m},{xmmreg} 80400001111,11100000,{MOD}{mmxreg}{R_M}:pavgb {MOD}{R_M},{mmxreg} 80501100110,00001111,11100001,{Mod}{xmmreg}{R_m}:psraw {Mod}{R_m},{xmmreg} 80600001111,11100001,{MOD}{mmxreg}{R_M}:psraw {MOD}{R_M},{mmxreg} 80701100110,00001111,11100010,{Mod}{xmmreg}{R_m}:psrad {Mod}{R_m},{xmmreg} 80800001111,11100010,{MOD}{mmxreg}{R_M}:psrad {MOD}{R_M},{mmxreg} 80901100110,00001111,11100011,{Mod}{xmmreg}{R_m}:pavgw {Mod}{R_m},{xmmreg} 81000001111,11100011,{MOD}{mmxreg}{R_M}:pavgw {MOD}{R_M},{mmxreg} 81101100110,00001111,11100100,{Mod}{xmmreg}{R_m}:pmulhuw {Mod}{R_m},{xmmreg} 81200001111,11100100,{MOD}{mmxreg}{R_M}:pmulhuw {MOD}{R_M},{mmxreg} 81301100110,00001111,11100101,{Mod}{xmmreg}{R_m}:pmulhw {Mod}{R_m},{xmmreg} 81400001111,11100101,{MOD}{mmxreg}{R_M}:pmulhw {MOD}{R_M},{mmxreg} 81501100110,00001111,11100111,{Mod}{xmmreg}{R_m}:movntdq {xmmreg},{Mod}{R_m} 81600001111,11100111,{MOD}{mmxreg}{R_M}:movntq {mmxreg},{MOD}{R_M} 81701100110,00001111,11101000,{Mod}{xmmreg}{R_m}:psubsb {Mod}{R_m},{xmmreg} 81800001111,11101000,{MOD}{mmxreg}{R_M}:psubsb {MOD}{R_M},{mmxreg} 81901100110,00001111,11101001,{Mod}{xmmreg}{R_m}:psubsw {Mod}{R_m},{xmmreg} 82000001111,11101001,{MOD}{mmxreg}{R_M}:psubsw {MOD}{R_M},{mmxreg} 82101100110,00001111,11101010,{Mod}{xmmreg}{R_m}:pminsw {Mod}{R_m},{xmmreg} 82200001111,11101010,{MOD}{mmxreg}{R_M}:pminsw {MOD}{R_M},{mmxreg} 82301100110,00001111,11101100,{Mod}{xmmreg}{R_m}:paddsb {Mod}{R_m},{xmmreg} 82400001111,11101100,{MOD}{mmxreg}{R_M}:paddsb {MOD}{R_M},{mmxreg} 82501100110,00001111,11101101,{Mod}{xmmreg}{R_m}:paddsw {Mod}{R_m},{xmmreg} 82600001111,11101101,{MOD}{mmxreg}{R_M}:paddsw {MOD}{R_M},{mmxreg} 82701100110,00001111,11101110,{Mod}{xmmreg}{R_m}:pmaxsw {Mod}{R_m},{xmmreg} 82800001111,11101110,{MOD}{mmxreg}{R_M}:pmaxsw {MOD}{R_M},{mmxreg} 82911110010,00001111,11110000,{mod}{xmmreg}{r_m}:lddqu {mod}{r_m},{xmmreg} 83001100110,00001111,11110001,{Mod}{xmmreg}{R_m}:psllw {Mod}{R_m},{xmmreg} 83100001111,11110001,{MOD}{mmxreg}{R_M}:psllw {MOD}{R_M},{mmxreg} 83201100110,00001111,11110010,{Mod}{xmmreg}{R_m}:pslld {Mod}{R_m},{xmmreg} 83300001111,11110010,{MOD}{mmxreg}{R_M}:pslld {MOD}{R_M},{mmxreg} 83401100110,00001111,11110011,{Mod}{xmmreg}{R_m}:psllq {Mod}{R_m},{xmmreg} 83500001111,11110011,{MOD}{mmxreg}{R_M}:psllq {MOD}{R_M},{mmxreg} 83601100110,00001111,11110100,{Mod}{xmmreg}{R_m}:pmuludq {Mod}{R_m},{xmmreg} 83700001111,11110100,{MOD}{mmxreg}{R_M}:pmuludq {MOD}{R_M},{mmxreg} 83801100110,00001111,11110110,{Mod}{xmmreg}{R_m}:psadbw {Mod}{R_m},{xmmreg} 83900001111,11110110,{MOD}{mmxreg}{R_M}:psadbw {MOD}{R_M},{mmxreg} 84001100110,00001111,11110111,11{xmmreg1}{xmmreg2}:maskmovdqu {xmmreg2},{xmmreg1} 84100001111,11110111,11{mmxreg1}{mmxreg2}:maskmovq {mmxreg2},{mmxreg1} 84201100110,00001111,11111000,{Mod}{xmmreg}{R_m}:psubb {Mod}{R_m},{xmmreg} 84300001111,11111000,{MOD}{mmxreg}{R_M}:psubb {MOD}{R_M},{mmxreg} 84401100110,00001111,11111001,{Mod}{xmmreg}{R_m}:psubw {Mod}{R_m},{xmmreg} 84500001111,11111001,{MOD}{mmxreg}{R_M}:psubw {MOD}{R_M},{mmxreg} 84601100110,00001111,11111010,{Mod}{xmmreg}{R_m}:psubd {Mod}{R_m},{xmmreg} 84700001111,11111010,{MOD}{mmxreg}{R_M}:psubd {MOD}{R_M},{mmxreg} 84801100110,00001111,11111011,{Mod}{xmmreg}{R_m}:psubq {Mod}{R_m},{xmmreg} 84900001111,11111011,{MOD}{mmxreg}{R_M}:psubq {MOD}{R_M},{mmxreg} 85001100110,00001111,11111100,{Mod}{xmmreg}{R_m}:paddb {Mod}{R_m},{xmmreg} 85100001111,11111100,{MOD}{mmxreg}{R_M}:paddb {MOD}{R_M},{mmxreg} 85201100110,00001111,11111101,{Mod}{xmmreg}{R_m}:paddw {Mod}{R_m},{xmmreg} 85300001111,11111101,{MOD}{mmxreg}{R_M}:paddw {MOD}{R_M},{mmxreg} 85401100110,00001111,11111110,{Mod}{xmmreg}{R_m}:paddd {Mod}{R_m},{xmmreg} 85500001111,11111110,{MOD}{mmxreg}{R_M}:paddd {MOD}{R_M},{mmxreg} 85601100110,00001111,00111000,00000000,{Mod}{xmmreg}{R_m}:pshufb {Mod}{R_m},{xmmreg} 85700001111,00111000,00000000,{MOD}{mmxreg}{R_M}:pshufb {MOD}{R_M},{mmxreg} 85801100110,00001111,00111000,00000001,{Mod}{xmmreg}{R_m}:phaddw {Mod}{R_m},{xmmreg} 85900001111,00111000,00000001,{MOD}{mmxreg}{R_M}:phaddw {MOD}{R_M},{mmxreg} 86001100110,00001111,00111000,00000010,{Mod}{xmmreg}{R_m}:phaddd {Mod}{R_m},{xmmreg} 86100001111,00111000,00000010,{MOD}{mmxreg}{R_M}:phaddd {MOD}{R_M},{mmxreg} 86201100110,00001111,00111000,00000011,{Mod}{xmmreg}{R_m}:phaddsw {Mod}{R_m},{xmmreg} 86300001111,00111000,00000011,{MOD}{mmxreg}{R_M}:phaddsw {MOD}{R_M},{mmxreg} 86401100110,00001111,00111000,00000100,{Mod}{xmmreg}{R_m}:pmaddubsw {Mod}{R_m},{xmmreg} 86500001111,00111000,00000100,{MOD}{mmxreg}{R_M}:pmaddubsw {MOD}{R_M},{mmxreg} 86601100110,00001111,00111000,00000101,{Mod}{xmmreg}{R_m}:phsubw {Mod}{R_m},{xmmreg} 86700001111,00111000,00000101,{MOD}{mmxreg}{R_M}:phsubw {MOD}{R_M},{mmxreg} 86801100110,00001111,00111000,00000110,{Mod}{xmmreg}{R_m}:phsubd {Mod}{R_m},{xmmreg} 86900001111,00111000,00000110,{MOD}{mmxreg}{R_M}:phsubd {MOD}{R_M},{mmxreg} 87001100110,00001111,00111000,00000111,{Mod}{xmmreg}{R_m}:phsubsw {Mod}{R_m},{xmmreg} 87100001111,00111000,00000111,{MOD}{mmxreg}{R_M}:phsubsw {MOD}{R_M},{mmxreg} 87201100110,00001111,00111000,00001000,{Mod}{xmmreg}{R_m}:psignb {Mod}{R_m},{xmmreg} 87300001111,00111000,00001000,{MOD}{mmxreg}{R_M}:psignb {MOD}{R_M},{mmxreg} 87401100110,00001111,00111000,00001001,{Mod}{xmmreg}{R_m}:psignw {Mod}{R_m},{xmmreg} 87500001111,00111000,00001001,{MOD}{mmxreg}{R_M}:psignw {MOD}{R_M},{mmxreg} 87601100110,00001111,00111000,00001010,{Mod}{xmmreg}{R_m}:psignd {Mod}{R_m},{xmmreg} 87700001111,00111000,00001010,{MOD}{mmxreg}{R_M}:psignd {MOD}{R_M},{mmxreg} 87801100110,00001111,00111000,00001011,{Mod}{xmmreg}{R_m}:pmulhrsw {Mod}{R_m},{xmmreg} 87900001111,00111000,00001011,{MOD}{mmxreg}{R_M}:pmulhrsw {MOD}{R_M},{mmxreg} 88001100110,00001111,00111000,00011100,{Mod}{xmmreg}{R_m}:pabsb {Mod}{R_m},{xmmreg} 88100001111,00111000,00011100,{MOD}{mmxreg}{R_M}:pabsb {MOD}{R_M},{mmxreg} 88201100110,00001111,00111000,00011101,{Mod}{xmmreg}{R_m}:pabsw {Mod}{R_m},{xmmreg} 88300001111,00111000,00011101,{MOD}{mmxreg}{R_M}:pabsw {MOD}{R_M},{mmxreg} 88401100110,00001111,00111000,00011110,{Mod}{xmmreg}{R_m}:pabsd {Mod}{R_m},{xmmreg} 88500001111,00111000,00011110,{MOD}{mmxreg}{R_M}:pabsd {MOD}{R_M},{mmxreg} 88601100110,00001111,00111010,00001111,{Mod}{xmmreg}{R_m},{imm8}:palignr {imm8},{Mod}{R_m},{xmmreg} 88700001111,00111010,00001111,{MOD}{mmxreg}{R_M},{imm8}:palignr {imm8},{MOD}{R_M},{mmxreg} 88801100110,00001111,11000111,{mod}110{r_m}:vmclear {mod}{r_m} 88911110011,00001111,11000111,{mod}110{r_m}:vmxon {mod}{r_m} 89000001111,11000111,{mod}110{r_m}:vmptrld {mod}{r_m} 89100001111,11000111,{mod}111{r_m}:vmptrst {mod}{r_m} 89201100110,00001111,01110001,11010{xmmreg},{imm8}:psrlw {imm8},{xmmreg} 89300001111,01110001,11010{mmxreg},{imm8}:psrlw {imm8},{mmxreg} 89401100110,00001111,01110001,11100{xmmreg},{imm8}:psraw {imm8},{xmmreg} 89500001111,01110001,11100{mmxreg},{imm8}:psraw {imm8},{mmxreg} 89601100110,00001111,01110001,11110{xmmreg},{imm8}:psllw {imm8},{xmmreg} 89700001111,01110001,11110{mmxreg},{imm8}:psllw {imm8},{mmxreg} 89801100110,00001111,01110010,11010{xmmreg},{imm8}:psrld {imm8},{xmmreg} 89900001111,01110010,11010{mmxreg},{imm8}:psrld {imm8},{mmxreg} 90001100110,00001111,01110010,11100{xmmreg},{imm8}:psrad {imm8},{xmmreg} 90100001111,01110010,11100{mmxreg},{imm8}:psrad {imm8},{mmxreg} 90201100110,00001111,01110010,11110{xmmreg},{imm8}:pslld {imm8},{xmmreg} 90300001111,01110010,11110{mmxreg},{imm8}:pslld {imm8},{mmxreg} 90401100110,00001111,01110011,11010{xmmreg},{imm8}:psrlq {imm8},{xmmreg} 90500001111,01110011,11010{mmxreg},{imm8}:psrlq {imm8},{mmxreg} 90601100110,00001111,01110011,11011{xmmreg},{imm8}:psrldq {imm8},{xmmreg} 90701100110,00001111,01110011,11110{xmmreg},{imm8}:psllq {imm8},{xmmreg} 90800001111,01110011,11110{mmxreg},{imm8}:psllq {imm8},{mmxreg} 90901100110,00001111,01110011,11111{xmmreg},{imm8}:pslldq {imm8},{xmmreg} 91000001111,10101110,11101000:lfence 91100001111,10101110,11110000:mfence 91200001111,10101110,11111000:sfence 91300001111,10101110,{mod}111{r_m}:clflush {mod}{r_m} 91400001111,00001111,{MOD}{mmxreg}{R_M}:INVALID {MOD}{R_M},{mmxreg} 91501100110,00001111,00111010,00001100,{Mod}{xmmreg}{R_m},{imm8}:blendps {imm8},{Mod}{R_m},{xmmreg} 91601100110,00001111,00111010,00001101,{Mod}{xmmreg}{R_m},{imm8}:blendpd {imm8},{Mod}{R_m},{xmmreg} 91701100110,00001111,00111000,00010100,{Mod}{xmmreg}{R_m}:blendvps %xmm0,{Mod}{R_m},{xmmreg} 91801100110,00001111,00111000,00010101,{Mod}{xmmreg}{R_m}:blendvpd %xmm0,{Mod}{R_m},{xmmreg} 919# ORDER: 920dnl Many previous entries depend on this being last. 921000{sreg2}111:pop {sreg2} 922# ORDER END: 923