x86ins.dat 110 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414
  1. ;
  2. ; Table of assembler instructions for Free Pascal
  3. ; adapted from Netwide Assembler by Peter Vreman
  4. ;
  5. ; The Netwide Assembler is copyright (C) 1996 Simon Tatham and
  6. ; Julian Hall. All rights reserved.
  7. ;
  8. ; Layout
  9. ; [OPCODE,attnameX] (X means suffix in att name)
  10. ; arguments bytes flags
  11. ;
  12. [NONE]
  13. (Ch_None, Ch_None, Ch_None)
  14. void void none
  15. [AAA]
  16. (Ch_MEAX, Ch_WFlags, Ch_None)
  17. void \1\x37 8086,NOX86_64
  18. [AAD,aadX]
  19. (Ch_MEAX, Ch_WFlags, Ch_None)
  20. void \2\xD5\x0A 8086,NOX86_64
  21. imm \1\xD5\24 8086,SB,NOX86_64
  22. [AAM,aamX]
  23. (Ch_MEAX, Ch_WFlags, Ch_None)
  24. void \2\xD4\x0A 8086,NOX86_64
  25. imm \1\xD4\24 8086,SB,NOX86_64
  26. [AAS]
  27. (Ch_MEAX, Ch_WFlags, Ch_None)
  28. void \1\x3F 8086,NOX86_64
  29. [ADC,adcX]
  30. (Ch_Mop2, Ch_Rop1, Ch_RWFlags)
  31. regmem,reg16|32|64 \320\1\x11\101 8086,SM
  32. reg16|32|64,regmem \320\1\x13\110 8086,SM
  33. rm8,reg8 \1\x10\101 8086
  34. reg8,rm8 \1\x12\110 8086
  35. rm16|32|64,imm8 \320\1\x83\202\15 8086
  36. reg_eax,imm \325\1\x15\41 386,SM
  37. reg_rax,imm \326\1\x15\255 X86_64,SM
  38. rm32,imm \325\1\x81\202\41 386,SM
  39. rm64,imm \326\1\x81\202\255 X86_64,SM
  40. reg_ax,imm \324\1\x15\31 8086,SW
  41. rm16,imm \324\1\x81\202\31 8086,SW
  42. reg_al,imm \1\x14\21 8086,SB
  43. rm8,imm \1\x80\202\21 8086,SB
  44. [ADD,addX]
  45. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  46. regmem,reg16|32|64 \320\1\x01\101 8086,SM
  47. reg16|32|64,regmem \320\1\x03\110 8086,SM
  48. rm8,reg8 \1\x00\101 8086
  49. reg8,rm8 \1\x02\110 8086,SM
  50. rm16|32|64,imm8 \320\1\x83\200\15 8086
  51. reg_eax,imm \320\1\x05\41 386,SM
  52. reg_rax,imm \326\1\x05\255 X86_64,SM
  53. rm32,imm \325\1\x81\200\41 386,SM
  54. rm64,imm \326\1\x81\200\255 X86_64,SM
  55. reg_ax,imm \324\1\x05\31 8086,SW
  56. rm16,imm \324\1\x81\200\31 8086,SW
  57. reg_al,imm \1\x04\21 8086,SB
  58. rm8,imm \1\x80\200\21 8086,SB
  59. [AND,andX]
  60. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  61. regmem,reg16|32|64 \320\1\x21\101 8086,SM
  62. reg16|32|64,regmem \320\1\x23\110 8086,SM
  63. rm8,reg8 \1\x20\101 8086
  64. reg8,rm8 \1\x22\110 8086
  65. rm16|32|64,imm8 \320\1\x83\204\15 8086
  66. reg_eax,imm \325\1\x25\41 386,SM
  67. reg_rax,imm \326\1\x25\255 X86_64,SM
  68. rm32,imm \325\1\x81\204\41 386,SM
  69. rm64,imm \326\1\x81\204\255 X86_64,SM
  70. reg_ax,imm \324\1\x25\31 8086,SW
  71. rm16,imm \324\1\x81\204\31 8086,SW
  72. reg_al,imm \1\x24\21 8086,SB
  73. rm8,imm \1\x80\204\21 8086,SB
  74. [ARPL,arplX]
  75. (Ch_WFlags, Ch_None, Ch_None)
  76. reg16,reg16 \1\x63\101 286,PROT,NOX86_64
  77. mem,reg16 \1\x63\101 286,PROT,SM,NOX86_64
  78. [BOUND,boundX]
  79. (Ch_Rop1, Ch_None, Ch_None)
  80. reg16|32,mem \320\1\x62\110 186,NOX86_64
  81. [BSF,bsfX]
  82. (Ch_Wop2, Ch_WFlags, Ch_Rop1)
  83. reg16|32|64,regmem \320\2\x0F\xBC\110 386,SM
  84. [BSR,bsrX]
  85. (Ch_Wop2, Ch_WFlags, Ch_Rop1)
  86. reg16|32|64,regmem \320\2\x0F\xBD\110 386,SM
  87. [BSWAP,bswapX]
  88. (Ch_MOp1, Ch_None, Ch_None)
  89. reg32|64 \320\1\x0F\10\xC8 486
  90. [BT,btX]
  91. (Ch_WFlags, Ch_Rop1, Ch_Rop2)
  92. regmem,reg16|32|64 \320\2\x0F\xA3\101 386,SM
  93. rm16|32|64,imm \320\2\x0F\xBA\204\25 386,SB
  94. [BTC,btcX]
  95. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  96. regmem,reg16|32|64 \320\2\x0F\xBB\101 386,SM
  97. rm16|32|64,imm \320\2\x0F\xBA\207\25 386,SB
  98. [BTR,btrX]
  99. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  100. regmem,reg16|32|64 \320\2\x0F\xB3\101 386,SM
  101. rm16|32|64,imm \320\2\x0F\xBA\206\25 386,SB
  102. [BTS,btsX]
  103. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  104. regmem,reg16|32|64 \320\2\x0F\xAB\101 386,SM
  105. rm16|32|64,imm \320\2\x0F\xBA\205\25 386,SB
  106. [CALL,call]
  107. ; don't know value of any register
  108. (Ch_ROp1, Ch_All, Ch_None)
  109. imm \320\1\xE8\64 8086
  110. rm16|32|64 \320\1\xFF\202 8086
  111. imm|near \320\1\xE8\64 8086
  112. imm|far \320\1\x9A\34\37 8086,ND,NOX86_64
  113. mem|near \320\1\xFF\202 8086
  114. mem|far \320\1\xFF\203 8086
  115. imm:imm \327\1\x9A\35\30 8086,NOX86_64
  116. imm16:imm \324\1\x9A\31\30 8086,NOX86_64
  117. imm:imm16 \324\1\x9A\31\30 8086,NOX86_64
  118. imm32:imm \325\1\x9A\41\30 386,NOX86_64
  119. imm:imm32 \325\1\x9A\41\30 386,NOX86_64
  120. [CBW,cbtw]
  121. (Ch_MEAX, Ch_None, Ch_None)
  122. void \324\1\x98 8086
  123. [CDQ,cltd]
  124. (Ch_MEAX, Ch_WEDX, Ch_None)
  125. void \325\1\x99 386
  126. [CLC]
  127. (Ch_WFlags, Ch_None, Ch_None)
  128. void \1\xF8 8086
  129. [CLD]
  130. (Ch_CDirFlag, Ch_None, Ch_None)
  131. void \1\xFC 8086
  132. [CLI]
  133. (Ch_WFlags, Ch_None, Ch_None)
  134. void \1\xFA 8086
  135. [CLTS]
  136. (Ch_None, Ch_None, Ch_None)
  137. void \2\x0F\x06 286,PRIV
  138. [CMC]
  139. (Ch_WFlags, Ch_None, Ch_None)
  140. void \1\xF5 8086
  141. [CMP,cmpX]
  142. (Ch_ROp1, Ch_ROp2, Ch_WFlags)
  143. regmem,reg16|32|64 \320\1\x39\101 8086,SM
  144. reg16|32|64,regmem \320\1\x3B\110 8086,SM
  145. rm8,reg8 \1\x38\101 8086
  146. reg8,rm8 \1\x3A\110 8086
  147. rm16|32|64,imm8 \320\1\x83\207\15 8086
  148. reg_eax,imm \325\1\x3D\41 386,SM
  149. reg_rax,imm \326\1\x3D\255 X86_64,SM
  150. rm32,imm \325\1\x81\207\41 386,SM
  151. rm64,imm \326\1\x81\207\255 X86_64,SM
  152. reg_ax,imm \324\1\x3D\31 8086,SW
  153. rm16,imm \324\1\x81\207\31 8086,SW
  154. reg_al,imm \1\x3C\21 8086,SB
  155. rm8,imm \1\x80\207\21 8086,SB
  156. mem,imm32 \325\1\x81\207\41 386,SD
  157. mem,imm16 \324\1\x81\207\31 8086,SW
  158. mem,imm8 \1\x80\207\21 8086,SB
  159. [CMPSB]
  160. (Ch_All, Ch_None, Ch_None)
  161. void \332\1\xA6 8086
  162. [CMPSD,cmpsl]
  163. (Ch_All, Ch_None, Ch_None)
  164. void \332\325\1\xA7 386
  165. xmmreg,xmmrm,imm \334\2\x0F\xC2\110\26 WILLAMETTE,SSE2,SM2,SB,AR2
  166. [CMPSW]
  167. (Ch_All, Ch_None, Ch_None)
  168. void \332\324\1\xA7 8086
  169. [CMPXCHG,cmpxchgX]
  170. (Ch_All, Ch_None, Ch_None)
  171. regmem,reg16|32|64 \320\2\x0F\xB1\101 PENT,SM
  172. rm8,reg8 \2\x0F\xB0\101 PENT
  173. [CMPXCHG486,cmpxchg486X]
  174. (Ch_All, Ch_None, Ch_None)
  175. regmem,reg16|32|64 \320\2\x0F\xA7\101 486,SM
  176. rm8,reg8 \2\x0F\xA6\101 486,UNDOC
  177. [CMPXCHG8B,cmpxchg8b]
  178. (Ch_All, Ch_None, Ch_None)
  179. mem \2\x0F\xC7\201 PENT
  180. [CPUID]
  181. (Ch_All, Ch_None, Ch_none)
  182. void \2\x0F\xA2 PENT
  183. [CWD]
  184. (Ch_MEAX, Ch_WEDX, Ch_None)
  185. void \324\1\x99 8086
  186. [CWDE,cwtl]
  187. (Ch_MEAX, Ch_None, Ch_None)
  188. void \325\1\x98 386
  189. [DAA]
  190. (Ch_MEAX, Ch_None, Ch_None)
  191. void \1\x27 8086,NOX86_64
  192. [DAS]
  193. (Ch_MEAX, Ch_None, Ch_None)
  194. void \1\x2F 8086,NOX86_64
  195. [DEC,decX]
  196. (Ch_Mop1, Ch_WFlags, Ch_None)
  197. reg16|32 \320\10\x48 8086,NOX86_64
  198. rm16|32|64 \320\1\xFF\201 8086
  199. rm8 \1\xFE\201 8086
  200. [DIV,divX]
  201. (Ch_RWEAX, Ch_WEDX, Ch_WFlags)
  202. rm16|32|64 \320\1\xF7\206 8086
  203. rm8 \1\xF6\206 8086
  204. [EMMS]
  205. (Ch_FPU, Ch_None, Ch_None)
  206. void \2\x0F\x77 PENT,MMX
  207. [ENTER,enterX]
  208. (Ch_RWESP, Ch_None, Ch_None)
  209. imm,imm \1\xC8\30\25 186
  210. [F2XM1]
  211. (Ch_FPU, Ch_None, Ch_None)
  212. void \2\xD9\xF0 8086,FPU
  213. [FABS]
  214. (Ch_FPU, Ch_None, Ch_None)
  215. void \2\xD9\xE1 8086,FPU
  216. [FADD,faddF]
  217. (Ch_FPU, Ch_ROp1, Ch_None)
  218. mem32 \1\xD8\200 8086,FPU
  219. mem64 \1\xDC\200 8086,FPU
  220. void \2\xDE\xC1 8086,FPU
  221. fpureg|to \1\xDC\10\xC0 8086,FPU
  222. fpureg,fpu0 \1\xDC\10\xC0 8086,FPU
  223. fpureg \1\xD8\10\xC0 8086,FPU
  224. fpu0,fpureg \1\xD8\11\xC0 8086,FPU
  225. [FADDP,faddpF]
  226. (Ch_FPU, Ch_ROp1, Ch_None)
  227. void \2\xDE\xC1 8086,FPU
  228. fpureg \1\xDE\10\xC0 8086,FPU
  229. fpureg,fpu0 \1\xDE\10\xC0 8086,FPU
  230. [FBLD,fbldF]
  231. (Ch_Rop1, Ch_FPU, Ch_None)
  232. mem80 \1\xDF\204 8086,FPU
  233. mem \1\xDF\204 8086,FPU
  234. [FBSTP,fbstpF]
  235. (Ch_Wop1, Ch_FPU, Ch_None)
  236. mem80 \1\xDF\206 8086,FPU
  237. mem \1\xDF\206 8086,FPU
  238. [FCHS]
  239. (Ch_FPU, Ch_None, Ch_None)
  240. void \2\xD9\xE0 8086,FPU
  241. [FCLEX]
  242. (Ch_FPU, Ch_None, Ch_None)
  243. void \3\x9B\xDB\xE2 8086,FPU
  244. [FCMOVB,fcmovbF]
  245. (Ch_FPU, Ch_RFLAGS, Ch_None)
  246. void \2\xDA\xC1 P6,FPU
  247. fpureg \1\xDA\10\xC0 P6,FPU
  248. fpu0,fpureg \1\xDA\11\xC0 P6,FPU
  249. [FCMOVBE,fcmovbeF]
  250. (Ch_FPU, Ch_RFLAGS, Ch_None)
  251. void \2\xDA\xD1 P6,FPU
  252. fpureg \1\xDA\10\xD0 P6,FPU
  253. fpu0,fpureg \1\xDA\11\xD0 P6,FPU
  254. [FCMOVE,fcmoveF]
  255. (Ch_FPU, Ch_RFLAGS, Ch_None)
  256. void \2\xDA\xC9 P6,FPU
  257. fpureg \1\xDA\10\xC8 P6,FPU
  258. fpu0,fpureg \1\xDA\11\xC8 P6,FPU
  259. [FCMOVNB,fcmovnbF]
  260. (Ch_FPU, Ch_RFLAGS, Ch_None)
  261. void \2\xDB\xC1 P6,FPU
  262. fpureg \1\xDB\10\xC0 P6,FPU
  263. fpu0,fpureg \1\xDB\11\xC0 P6,FPU
  264. [FCMOVNBE,fcmovnbeF]
  265. (Ch_FPU, Ch_RFLAGS, Ch_None)
  266. void \2\xDB\xD1 P6,FPU
  267. fpureg \1\xDB\10\xD0 P6,FPU
  268. fpu0,fpureg \1\xDB\11\xD0 P6,FPU
  269. [FCMOVNE,fcmovneF]
  270. (Ch_FPU, Ch_RFLAGS, Ch_None)
  271. void \2\xDB\xC9 P6,FPU
  272. fpureg \1\xDB\10\xC8 P6,FPU
  273. fpu0,fpureg \1\xDB\11\xC8 P6,FPU
  274. [FCMOVNU,fcmovnuF]
  275. (Ch_FPU, Ch_RFLAGS, Ch_None)
  276. void \2\xDB\xD9 P6,FPU
  277. fpureg \1\xDB\10\xD8 P6,FPU
  278. fpu0,fpureg \1\xDB\11\xD8 P6,FPU
  279. [FCMOVU,fcmovuF]
  280. (Ch_FPU, Ch_RFLAGS, Ch_None)
  281. void \2\xDA\xD9 P6,FPU
  282. fpureg \1\xDA\10\xD8 P6,FPU
  283. fpu0,fpureg \1\xDA\11\xD8 P6,FPU
  284. [FCOM,fcomF]
  285. (Ch_FPU, Ch_None, Ch_None)
  286. mem32 \1\xD8\202 8086,FPU
  287. mem64 \1\xDC\202 8086,FPU
  288. void \2\xD8\xD1 8086,FPU
  289. fpureg \1\xD8\10\xD0 8086,FPU
  290. fpu0,fpureg \1\xD8\11\xD0 8086,FPU
  291. [FCOMI,fcomiF]
  292. (Ch_WFLAGS, Ch_None, Ch_None)
  293. void \2\xDB\xF1 P6,FPU
  294. fpureg \1\xDB\10\xF0 P6,FPU
  295. fpu0,fpureg \1\xDB\11\xF0 P6,FPU
  296. [FCOMIP,fcomipF]
  297. (Ch_FPU, Ch_WFLAGS, Ch_None)
  298. void \2\xDF\xF1 P6,FPU
  299. fpureg \1\xDF\10\xF0 P6,FPU
  300. fpu0,fpureg \1\xDF\11\xF0 P6,FPU
  301. [FCOMP,fcompF]
  302. (Ch_FPU, Ch_None, Ch_None)
  303. mem32 \1\xD8\203 8086,FPU
  304. mem64 \1\xDC\203 8086,FPU
  305. void \2\xD8\xD9 8086,FPU
  306. fpureg \1\xD8\10\xD8 8086,FPU
  307. fpu0,fpureg \1\xD8\11\xD8 8086,FPU
  308. [FCOMPP]
  309. (Ch_FPU, Ch_None, Ch_None)
  310. void \2\xDE\xD9 8086,FPU
  311. [FCOS]
  312. (Ch_FPU, Ch_None, Ch_None)
  313. void \2\xD9\xFF 386,FPU
  314. [FDECSTP]
  315. (Ch_FPU, Ch_None, Ch_None)
  316. void \2\xD9\xF6 8086,FPU
  317. [FDISI]
  318. (Ch_FPU, Ch_None, Ch_None)
  319. void \3\x9B\xDB\xE1 8086,FPU
  320. [FDIV,fdivF]
  321. (Ch_FPU, Ch_ROp1, Ch_None)
  322. mem32 \1\xD8\206 8086,FPU
  323. mem64 \1\xDC\206 8086,FPU
  324. void \2\xDC\xF1 8086,FPU
  325. fpureg|to \1\xDC\10\xF0 8086,FPU
  326. fpureg,fpu0 \1\xDC\10\xF0 8086,FPU
  327. fpureg \1\xD8\10\xF0 8086,FPU
  328. fpu0,fpureg \1\xD8\11\xF0 8086,FPU
  329. [FDIVP,fdivpF]
  330. (Ch_FPU, Ch_ROp1, Ch_None)
  331. void \2\xDE\xF1 8086,FPU
  332. fpureg,fpu0 \1\xDE\10\xF0 8086,FPU
  333. fpureg \1\xDE\10\xF0 8086,FPU
  334. [FDIVR,fdivrF]
  335. (Ch_FPU, Ch_ROp1, Ch_None)
  336. mem32 \1\xD8\207 8086,FPU
  337. mem64 \1\xDC\207 8086,FPU
  338. void \2\xDC\xF9 8086,FPU
  339. fpureg|to \1\xDC\10\xF8 8086,FPU
  340. fpureg,fpu0 \1\xDC\10\xF8 8086,FPU
  341. fpureg \1\xD8\10\xF8 8086,FPU
  342. fpu0,fpureg \1\xD8\11\xF8 8086,FPU
  343. [FDIVRP,fdivrpF]
  344. (Ch_FPU, Ch_ROp1, Ch_None)
  345. void \2\xDE\xF9 8086,FPU
  346. fpureg \1\xDE\10\xF8 8086,FPU
  347. fpureg,fpu0 \1\xDE\10\xF8 8086,FPU
  348. [FEMMS]
  349. (Ch_All, Ch_None, Ch_None)
  350. void \2\x0F\x0E PENT,3DNOW
  351. [FENI]
  352. (Ch_FPU, Ch_None, Ch_None)
  353. void \3\x9B\xDB\xE0 8086,FPU
  354. [FFREE]
  355. (Ch_FPU, Ch_None, Ch_None)
  356. fpureg \1\xDD\10\xC0 8086,FPU
  357. [FIADD,fiaddR]
  358. (Ch_FPU, Ch_ROp1, Ch_None)
  359. mem16 \1\xDE\200 8086,FPU
  360. mem32 \1\xDA\200 8086,FPU
  361. [FICOM,ficomR]
  362. (Ch_FPU, Ch_None, Ch_None)
  363. mem16 \1\xDE\202 8086,FPU
  364. mem32 \1\xDA\202 8086,FPU
  365. [FICOMP,ficompR]
  366. (Ch_FPU, Ch_None, Ch_None)
  367. mem16 \1\xDE\203 8086,FPU
  368. mem32 \1\xDA\203 8086,FPU
  369. [FIDIV,fidivR]
  370. (Ch_FPU, Ch_ROp1, Ch_None)
  371. mem16 \1\xDE\206 8086,FPU
  372. mem32 \1\xDA\206 8086,FPU
  373. [FIDIVR,fidivrR]
  374. (Ch_FPU, Ch_ROp1, Ch_None)
  375. mem16 \1\xDE\207 8086,FPU
  376. mem32 \1\xDA\207 8086,FPU
  377. [FILD,fildR]
  378. (Ch_FPU, Ch_ROp1, Ch_None)
  379. mem32 \1\xDB\200 8086,FPU
  380. mem16 \1\xDF\200 8086,FPU
  381. mem64 \1\xDF\205 8086,FPU
  382. [FIMUL,fimulR]
  383. (Ch_FPU, Ch_ROp1, Ch_None)
  384. mem16 \1\xDE\201 8086,FPU
  385. mem32 \1\xDA\201 8086,FPU
  386. [FINCSTP]
  387. (Ch_FPU, Ch_None, Ch_None)
  388. void \2\xD9\xF7 8086,FPU
  389. [FINIT]
  390. (Ch_FPU, Ch_None, Ch_None)
  391. void \3\x9B\xDB\xE3 8086,FPU
  392. [FIST,fistR]
  393. (Ch_Wop1, Ch_None, Ch_None)
  394. mem32 \1\xDB\202 8086,FPU
  395. mem16 \324\1\xDF\202 8086,FPU
  396. [FISTP,fistpR]
  397. (Ch_Wop1, Ch_None, Ch_None)
  398. mem32 \1\xDB\203 8086,FPU
  399. mem16 \324\1\xDF\203 8086,FPU
  400. mem64 \1\xDF\207 8086,FPU
  401. [FISTTP,fisttpR]
  402. (Ch_Wop1, Ch_None, Ch_None)
  403. mem32 \1\xDB\201 PRESCOTT,FPU
  404. mem16 \1\xDF\201 PRESCOTT,FPU
  405. mem64 \1\xDD\201 PRESCOTT,FPU
  406. [FISUB,fisubR]
  407. (Ch_FPU, Ch_ROp1, Ch_None)
  408. mem16 \1\xDE\204 8086,FPU
  409. mem32 \1\xDA\204 8086,FPU
  410. [FISUBR,fisubrR]
  411. (Ch_FPU, Ch_ROp1, Ch_None)
  412. mem16 \1\xDE\205 8086,FPU
  413. mem32 \1\xDA\205 8086,FPU
  414. [FLD,fldF]
  415. (Ch_Rop1, Ch_FPU, Ch_None)
  416. mem32 \1\xD9\200 8086,FPU
  417. mem64 \1\xDD\200 8086,FPU
  418. mem80 \1\xDB\205 8086,FPU
  419. fpureg \1\xD9\10\xC0 8086,FPU
  420. [FLD1]
  421. (Ch_FPU, Ch_None, Ch_None)
  422. void \2\xD9\xE8 8086,FPU
  423. [FLDCW,fldcwX]
  424. (Ch_FPU, Ch_None, Ch_None)
  425. mem \1\xD9\205 8086,FPU,SW
  426. [FLDENV,fldenv]
  427. (Ch_FPU, Ch_None, Ch_None)
  428. mem \1\xD9\204 8086,FPU
  429. [FLDL2E]
  430. (Ch_FPU, Ch_None, Ch_None)
  431. void \2\xD9\xEA 8086,FPU
  432. [FLDL2T]
  433. (Ch_FPU, Ch_None, Ch_None)
  434. void \2\xD9\xE9 8086,FPU
  435. [FLDLG2]
  436. (Ch_FPU, Ch_None, Ch_None)
  437. void \2\xD9\xEC 8086,FPU
  438. [FLDLN2]
  439. (Ch_FPU, Ch_None, Ch_None)
  440. void \2\xD9\xED 8086,FPU
  441. [FLDPI]
  442. (Ch_FPU, Ch_None, Ch_None)
  443. void \2\xD9\xEB 8086,FPU
  444. [FLDZ]
  445. (Ch_FPU, Ch_None, Ch_None)
  446. void \2\xD9\xEE 8086,FPU
  447. [FMUL,fmulF]
  448. (Ch_ROp1, Ch_FPU, Ch_None)
  449. mem32 \1\xD8\201 8086,FPU
  450. mem64 \1\xDC\201 8086,FPU
  451. void \2\xDC\xC9 8086,FPU
  452. fpureg|to \1\xDC\10\xC8 8086,FPU
  453. fpureg,fpu0 \1\xDC\10\xC8 8086,FPU
  454. fpureg \1\xD8\10\xC8 8086,FPU
  455. fpu0,fpureg \1\xD8\11\xC8 8086,FPU
  456. [FMULP,fmulpF]
  457. (Ch_ROp1, Ch_FPU, Ch_None)
  458. void \2\xDE\xC9 8086,FPU
  459. fpureg \1\xDE\10\xC8 8086,FPU
  460. fpureg,fpu0 \1\xDE\10\xC8 8086,FPU
  461. [FNCLEX]
  462. (Ch_FPU, Ch_None, Ch_None)
  463. void \2\xDB\xE2 8086,FPU
  464. [FNDISI]
  465. (Ch_FPU, Ch_None, Ch_None)
  466. void \2\xDB\xE1 8086,FPU
  467. [FNENI]
  468. (Ch_FPU, Ch_None, Ch_None)
  469. void \2\xDB\xE0 8086,FPU
  470. [FNINIT]
  471. (Ch_FPU, Ch_None, Ch_None)
  472. void \2\xDB\xE3 8086,FPU
  473. [FNOP]
  474. (Ch_FPU, Ch_None, Ch_None)
  475. void \2\xD9\xD0 8086,FPU
  476. [FNSAVE,fnsave]
  477. (Ch_FPU, Ch_None, Ch_None)
  478. mem \1\xDD\206 8086,FPU
  479. [FNSTCW,fnstcwX]
  480. (Ch_Wop1, Ch_None, Ch_None)
  481. mem \1\xD9\207 8086,FPU,SW
  482. [FNSTENV,fnstenv]
  483. (Ch_Wop1, Ch_None, Ch_None)
  484. mem \1\xD9\206 8086,FPU
  485. [FNSTSW,fnstswX]
  486. (Ch_Wop1, Ch_None, Ch_None)
  487. mem \1\xDD\207 8086,FPU,SW
  488. reg_ax \2\xDF\xE0 286,FPU
  489. [FPATAN]
  490. (Ch_FPU, Ch_None, Ch_None)
  491. void \2\xD9\xF3 8086,FPU
  492. [FPREM]
  493. (Ch_FPU, Ch_None, Ch_None)
  494. void \2\xD9\xF8 8086,FPU
  495. [FPREM1]
  496. (Ch_FPU, Ch_None, Ch_None)
  497. void \2\xD9\xF5 386,FPU
  498. [FPTAN]
  499. (Ch_FPU, Ch_None, Ch_None)
  500. void \2\xD9\xF2 8086,FPU
  501. [FRNDINT]
  502. (Ch_FPU, Ch_None, Ch_None)
  503. void \2\xD9\xFC 8086,FPU
  504. [FRSTOR,frstor]
  505. (Ch_FPU, Ch_None, Ch_None)
  506. mem \1\xDD\204 8086,FPU
  507. [FSAVE,fsave]
  508. (Ch_Wop1, Ch_None, Ch_None)
  509. mem \2\x9B\xDD\206 8086,FPU
  510. [FSCALE]
  511. (Ch_FPU, Ch_None, Ch_None)
  512. void \2\xD9\xFD 8086,FPU
  513. [FSETPM]
  514. (Ch_FPU, Ch_None, Ch_None)
  515. void \2\xDB\xE4 286,FPU
  516. [FSIN]
  517. (Ch_FPU, Ch_None, Ch_None)
  518. void \2\xD9\xFE 386,FPU
  519. [FSINCOS]
  520. (Ch_FPU, Ch_None, Ch_None)
  521. void \2\xD9\xFB 386,FPU
  522. [FSQRT]
  523. (Ch_FPU, Ch_None, Ch_None)
  524. void \2\xD9\xFA 8086,FPU
  525. [FST,fstF]
  526. (Ch_Wop1, Ch_None, Ch_None)
  527. mem32 \1\xD9\202 8086,FPU
  528. mem64 \1\xDD\202 8086,FPU
  529. fpureg \1\xDD\10\xD0 8086,FPU
  530. [FSTCW,fstcwX]
  531. (Ch_Wop1, Ch_None, Ch_None)
  532. mem \2\x9B\xD9\207 8086,FPU,SW
  533. [FSTENV,fstenv]
  534. (Ch_Wop1, Ch_None, Ch_None)
  535. mem \2\x9B\xD9\206 8086,FPU
  536. [FSTP,fstpF]
  537. (Ch_Wop1, Ch_FPU, Ch_None)
  538. mem32 \1\xD9\203 8086,FPU
  539. mem64 \1\xDD\203 8086,FPU
  540. mem80 \1\xDB\207 8086,FPU
  541. fpureg \1\xDD\10\xD8 8086,FPU
  542. [FSTSW,fstswX]
  543. (Ch_Wop1, Ch_None, Ch_None)
  544. mem \2\x9B\xDD\207 8086,FPU,SW
  545. void \3\x9B\xDF\xE0 286,FPU
  546. reg_ax \3\x9B\xDF\xE0 286,FPU
  547. [FSUB,fsubF]
  548. (Ch_ROp1, Ch_FPU, Ch_None)
  549. mem32 \1\xD8\204 8086,FPU
  550. mem64 \1\xDC\204 8086,FPU
  551. void \2\xDC\xE1 8086,FPU
  552. fpureg|to \1\xDC\10\xE0 8086,FPU
  553. fpureg,fpu0 \1\xDC\10\xE0 8086,FPU
  554. fpureg \1\xD8\10\xE0 8086,FPU
  555. fpu0,fpureg \1\xD8\11\xE0 8086,FPU
  556. [FSUBP,fsubpF]
  557. (Ch_ROp1, Ch_FPU, Ch_None)
  558. void \2\xDE\xE1 8086,FPU
  559. fpureg \1\xDE\10\xE0 8086,FPU
  560. fpureg,fpu0 \1\xDE\10\xE0 8086,FPU
  561. [FSUBR,fsubrF]
  562. (Ch_ROp1, Ch_FPU, Ch_None)
  563. mem32 \1\xD8\205 8086,FPU
  564. mem64 \1\xDC\205 8086,FPU
  565. void \2\xDC\xE9 8086,FPU
  566. fpureg|to \1\xDC\10\xE8 8086,FPU
  567. fpureg,fpu0 \1\xDC\10\xE8 8086,FPU
  568. fpureg \1\xD8\10\xE8 8086,FPU
  569. fpu0,fpureg \1\xD8\11\xE8 8086,FPU
  570. [FSUBRP,fsubrpF]
  571. (Ch_ROp1, Ch_FPU, Ch_None)
  572. void \2\xDE\xE9 8086,FPU
  573. fpureg \1\xDE\10\xE8 8086,FPU
  574. fpureg,fpu0 \1\xDE\10\xE8 8086,FPU
  575. [FTST]
  576. (Ch_FPU, Ch_None, Ch_None)
  577. void \2\xD9\xE4 8086,FPU
  578. [FUCOM,fucomF]
  579. (Ch_None, Ch_None, Ch_None)
  580. void \2\xDD\xE1 386,FPU
  581. fpureg \1\xDD\10\xE0 386,FPU
  582. fpu0,fpureg \1\xDD\11\xE0 386,FPU
  583. [FUCOMI,fucomiF]
  584. (Ch_WFLAGS, Ch_None, Ch_None)
  585. void \2\xDB\xE9 P6,FPU
  586. fpureg \1\xDB\10\xE8 P6,FPU
  587. fpu0,fpureg \1\xDB\11\xE8 P6,FPU
  588. [FUCOMIP,fucomipF]
  589. (Ch_FPU, Ch_WFLAGS, Ch_None)
  590. void \2\xDF\xE9 P6,FPU
  591. fpureg \1\xDF\10\xE8 P6,FPU
  592. fpu0,fpureg \1\xDF\11\xE8 P6,FPU
  593. [FUCOMP,fucompF]
  594. (Ch_FPU, Ch_None, Ch_None)
  595. void \2\xDD\xE9 386,FPU
  596. fpureg \1\xDD\10\xE8 386,FPU
  597. fpu0,fpureg \1\xDD\11\xE8 386,FPU
  598. [FUCOMPP]
  599. (Ch_FPU, Ch_None, Ch_None)
  600. void \2\xDA\xE9 386,FPU
  601. [FWAIT]
  602. (Ch_FPU, Ch_None, Ch_None)
  603. void \1\x9B 8086,FPU
  604. [FXAM]
  605. (Ch_FPU, Ch_None, Ch_None)
  606. void \2\xD9\xE5 8086,FPU
  607. [FXCH,fxchF]
  608. (Ch_FPU, Ch_None, Ch_None)
  609. void \2\xD9\xC9 8086,FPU
  610. fpureg \1\xD9\10\xC8 8086,FPU
  611. fpureg,fpu0 \1\xD9\10\xC8 8086,FPU
  612. fpu0,fpureg \1\xD9\11\xC8 8086,FPU
  613. [FXTRACT]
  614. (Ch_FPU, Ch_None, Ch_None)
  615. void \2\xD9\xF4 8086,FPU
  616. [FYL2X]
  617. (Ch_FPU, Ch_None, Ch_None)
  618. void \2\xD9\xF1 8086,FPU
  619. [FYL2XP1]
  620. (Ch_FPU, Ch_None, Ch_None)
  621. void \2\xD9\xF9 8086,FPU
  622. [HLT]
  623. (Ch_None, Ch_None, Ch_None)
  624. void \1\xF4 8086,PRIV
  625. [IBTS,ibtsX]
  626. (Ch_All, Ch_None, Ch_None)
  627. regmem,reg16|32|64 \320\2\x0F\xA7\101 386,SM,UNDOC,ND
  628. [ICEBP]
  629. (Ch_All, Ch_None, Ch_None)
  630. void \1\xF1 386,ND
  631. [IDIV,idivX]
  632. (Ch_RWEAX, Ch_WEDX, Ch_WFlags)
  633. rm16|32|64 \320\1\xF7\207 8086
  634. rm8 \1\xF6\207 8086
  635. [IMUL,imulX]
  636. (Ch_RWEAX, Ch_WEDX, Ch_WFlags)
  637. reg16|32|64,regmem \320\2\x0F\xAF\110 386,SM
  638. rm16|32|64 \320\1\xF7\205 8086
  639. reg32|64,regmem,imm8 \320\1\x6B\110\16 286,SM
  640. reg32|64,regmem,imm \320\1\x69\110\42 286,SM,SD,AR2
  641. reg32|64,imm8 \320\1\x6B\100\15 286
  642. reg32,imm \325\1\x69\100\41 286,SD
  643. reg64,imm \326\1\x69\100\255 X86_64
  644. reg16,regmem,imm8 \324\1\x6B\110\16 286,SM
  645. reg16,regmem,imm \324\1\x69\110\32 286,SM,SW,AR2
  646. reg16,imm8 \324\1\x6B\100\15 286
  647. reg16,imm \324\1\x69\100\31 286,SW
  648. rm8 \1\xF6\205 8086
  649. [IN,inX]
  650. (Ch_Wop2, Ch_Rop1, Ch_None)
  651. reg_al,imm \1\xE4\25 8086,SB
  652. reg_ax|32|64,imm \320\1\xE5\25 8086,SB
  653. reg_al,reg_dx \1\xEC 8086
  654. reg_ax|32|64,reg_dx \320\1\xED 8086
  655. [INC,incX]
  656. (Ch_Mop1, Ch_WFlags, Ch_None)
  657. reg16|32 \320\10\x40 8086,NOX86_64
  658. rm16|32|64 \320\1\xFF\200 8086
  659. rm8 \1\xFE\200 8086
  660. [INSB]
  661. (Ch_WMemEDI, Ch_RWEDI, Ch_REDX)
  662. void \1\x6C 186
  663. [INSD,insl]
  664. (Ch_WMemEDI, Ch_RWEDI, Ch_REDX)
  665. void \325\1\x6D 386
  666. [INSW]
  667. (Ch_WMemEDI, Ch_RWEDI, Ch_REDX)
  668. void \324\1\x6D 186
  669. [INT]
  670. (Ch_All, Ch_None, Ch_None)
  671. imm \1\xCD\24 8086,SB
  672. [INT01]
  673. (Ch_All, Ch_None, Ch_None)
  674. void \1\xF1 386,ND
  675. [INT1]
  676. (Ch_All, Ch_None, Ch_None)
  677. void \1\xF1 386
  678. [INT03]
  679. (Ch_None, Ch_None, Ch_None)
  680. void \1\xCC 8086,ND
  681. [INT3]
  682. (Ch_None, Ch_None, Ch_None)
  683. void \1\xCC 8086
  684. [INTO]
  685. (Ch_All, Ch_None, Ch_None)
  686. void \1\xCE 8086,NOX86_64
  687. [INVD]
  688. (Ch_All, Ch_None, Ch_None)
  689. void \2\x0F\x08 486,PRIV
  690. [INVLPG,invlpgX]
  691. (Ch_All, Ch_None, Ch_None)
  692. mem \2\x0F\x01\207 486,PRIV
  693. [IRET]
  694. (Ch_All, Ch_None, Ch_None)
  695. void \327\1\xCF 8086
  696. [IRETD,iret]
  697. (Ch_All, Ch_None, Ch_None)
  698. void \325\1\xCF 386
  699. [IRETW]
  700. (Ch_All, Ch_None, Ch_None)
  701. void \324\1\xCF 8086
  702. [JCXZ]
  703. (Ch_RECX, Ch_None, Ch_None)
  704. imm \310\1\xE3\50 8086,NOX86_64
  705. [JECXZ]
  706. (Ch_RECX, Ch_None, Ch_None)
  707. imm \311\1\xE3\50 386
  708. [JRCXZ]
  709. (Ch_RECX, Ch_None, Ch_None)
  710. imm \1\xE3\50 X86_64
  711. [JMP,jmpX]
  712. (Ch_ROp1, Ch_None, Ch_None)
  713. imm8 \1\xEB\50 8086,PASS2
  714. imm16|32|64 \320\1\xE9\64 8086,PASS2
  715. rm16|32|64 \320\1\xFF\204 8086
  716. imm|short \1\xEB\50 8086,PASS2
  717. imm|near \320\1\xE9\64 8086,ND,PASS2
  718. imm|far \320\1\xEA\34\37 8086,ND,PASS2,NOX86_64
  719. mem|near \320\1\xFF\204 8086
  720. mem|far \320\1\xFF\205 8086
  721. imm:imm \327\1\xEA\35\30 8086,NOX86_64
  722. imm:imm16 \324\1\xEA\31\30 8086,NOX86_64
  723. imm:imm32 \325\1\xEA\41\30 386,NOX86_64
  724. ; SAHF/LAHF are valid in x86_64 only if CPUID.80000001h:ECX.0=1
  725. [LAHF]
  726. (Ch_WEAX, Ch_RFlags, Ch_None)
  727. void \1\x9F 8086
  728. [LAR,larX]
  729. (Ch_Wop2, Ch_None, Ch_None)
  730. reg16|32|64,regmem \320\2\x0F\x02\110 286,PROT,SM
  731. [LCALL,lcall]
  732. ; don't know value of any register
  733. (Ch_All, Ch_None, Ch_None)
  734. rm16|32|64 \320\1\xFF\202 8086
  735. mem|near \320\1\xFF\202 8086
  736. mem|far \320\1\xFF\203 8086
  737. [LDS,ldsX]
  738. (Ch_Wop2, Ch_Rop1, Ch_None)
  739. reg16|32,mem \320\1\xC5\110 8086,NOX86_64
  740. [LEA,leaX]
  741. (Ch_Wop2, Ch_Rop1, Ch_None)
  742. reg32|64,mem \320\1\x8D\110 8086
  743. reg32|64,imm \320\1\x8D\110 8086,SD
  744. [LEAVE]
  745. (Ch_RWESP, Ch_WEBP, Ch_None)
  746. void \1\xC9 186
  747. [LES,lesX]
  748. (Ch_Wop2, Ch_Rop1, Ch_None)
  749. reg16|32,mem \320\1\xC4\110 8086,NOX86_64
  750. [LFS,lfsX]
  751. (Ch_Wop2, Ch_Rop1, Ch_None)
  752. reg16|32,mem \320\2\x0F\xB4\110 386
  753. [LGDT,lgdtX]
  754. (Ch_None, Ch_None, Ch_None)
  755. mem \2\x0F\x01\202 286,PRIV
  756. [LGS,lgsX]
  757. (Ch_Wop2, Ch_Rop1, Ch_None)
  758. reg16|32,mem \320\2\x0F\xB5\110 386
  759. [LIDT,lidtX]
  760. (Ch_None, Ch_None, Ch_None)
  761. mem \2\x0F\x01\203 286,PRIV
  762. [LJMP,ljmp]
  763. (Ch_ROp1, Ch_None, Ch_None)
  764. rm16|32|64 \320\1\xFF\205 8086
  765. mem|far \320\1\xFF\205 8086
  766. mem|near \320\1\xFF\204 8086
  767. [LLDT,lldtX]
  768. (Ch_None, Ch_None, Ch_None)
  769. rm16 \2\x0F\x00\202 286,PROT,PRIV
  770. [LMSW,lmswX]
  771. (Ch_None, Ch_None, Ch_None)
  772. rm16 \2\x0F\x01\206 286,PRIV
  773. [LOADALL]
  774. (Ch_All, Ch_None, Ch_None)
  775. void \2\x0F\x07 386,UNDOC
  776. [LOADALL286]
  777. (Ch_All, Ch_None, Ch_None)
  778. void \2\x0F\x05 286,UNDOC
  779. [LOCK]
  780. (Ch_None, Ch_None, Ch_None)
  781. void \1\xF0 8086,PRE
  782. [LODSB]
  783. (Ch_WEAX, Ch_RWESI, Ch_None)
  784. void \1\xAC 8086
  785. [LODSD,lodsl]
  786. (Ch_WEAX, Ch_RWESI, Ch_None)
  787. void \325\1\xAD 386
  788. [LODSW]
  789. (Ch_WEAX, Ch_RWESI, Ch_None)
  790. void \324\1\xAD 8086
  791. [LOOP]
  792. (Ch_RWECX, Ch_None, Ch_None)
  793. imm \312\1\xE2\50 8086
  794. imm,reg_cx \310\1\xE2\50 8086,NOX86_64
  795. imm,reg_ecx|64 \311\1\xE2\50 386
  796. [LOOPE]
  797. (Ch_RWECX, Ch_RFlags, Ch_None)
  798. imm \312\1\xE1\50 8086
  799. imm,reg_cx \310\1\xE1\50 8086,NOX86_64
  800. imm,reg_ecx|64 \311\1\xE1\50 386
  801. [LOOPNE]
  802. (Ch_RWECX, Ch_RFlags, Ch_None)
  803. imm \312\1\xE0\50 8086
  804. imm,reg_cx \310\1\xE0\50 8086,NOX86_64
  805. imm,reg_ecx|64 \311\1\xE0\50 386
  806. [LOOPNZ]
  807. (Ch_RWECX, Ch_RFlags, Ch_None)
  808. imm \312\1\xE0\50 8086
  809. imm,reg_cx \310\1\xE0\50 8086,NOX86_64
  810. imm,reg_ecx|64 \311\1\xE0\50 386
  811. [LOOPZ]
  812. (Ch_RWECX, Ch_RFlags, Ch_None)
  813. imm \312\1\xE1\50 8086
  814. imm,reg_cx \310\1\xE1\50 8086,NOX86_64
  815. imm,reg_ecx|64 \311\1\xE1\50 386
  816. [LSL,lslX]
  817. (Ch_Wop2, Ch_WFlags, Ch_None)
  818. reg16|32|64,regmem \320\2\x0F\x03\110 286,PROT,SM
  819. [LSS,lssX]
  820. (Ch_Wop2, Ch_ROP1, Ch_None)
  821. reg16|32|64,mem \320\2\x0F\xB2\110 386
  822. [LTR,ltrX]
  823. (Ch_None, Ch_None, Ch_None)
  824. rm16 \2\x0F\x00\203 286,PROT,PRIV
  825. [MONITOR]
  826. (Ch_None, Ch_None, Ch_None)
  827. void \3\x0F\x01\xC8 PRESCOTT
  828. reg_eax,reg_ecx,reg_edx \3\x0F\x01\xC8 PRESCOTT,ND
  829. [MOV,movX]
  830. (Ch_Wop2, Ch_Rop1, Ch_None)
  831. mem_offs,reg_ax|32 \320\1\xA3\34 8086,SM,NOX86_64
  832. regmem,reg16|32|64 \320\1\x89\101 8086,SM
  833. reg_ax,mem_offs \324\1\xA1\35 8086,SM,NOX86_64
  834. reg_eax,mem_offs \325\1\xA1\35 386,SM,NOX86_64
  835. reg16|32|64,regmem \320\1\x8B\110 8086,SM
  836. reg32|64,imm \320\10\xB8\35 386,SD
  837. rm32,imm \325\1\xC7\200\41 386,SM
  838. rm64,imm \326\1\xC7\200\255 X86_64,SM
  839. reg16,imm \324\10\xB8\31 8086,SW
  840. rm16,imm \324\1\xC7\200\31 8086,SW
  841. mem_offs,reg_al \1\xA2\34 8086,SM,NOX86_64
  842. rm8,reg8 \1\x88\101 8086
  843. reg_al,mem_offs \1\xA0\35 8086,SM,NOX86_64
  844. reg8,rm8 \1\x8A\110 8086,SM
  845. reg8,imm \10\xB0\21 8086,SB
  846. rm8,imm \1\xC6\200\21 8086,SB
  847. rm16|32,reg_cs \320\1\x8C\201 8086
  848. rm16|32,reg_dess \320\1\x8C\101 8086
  849. rm16|32,reg_fsgs \320\1\x8C\101 386
  850. reg_dess,rm16|32 \321\1\x8E\110 8086,SM
  851. reg_fsgs,rm16|32 \321\1\x8E\110 386,SM
  852. reg32,reg_cr4 \2\x0F\x20\204 PENT,PRIV,NOX86_64
  853. reg32,reg_creg \2\x0F\x20\101 386,PRIV,NOX86_64
  854. reg32,reg_dreg \2\x0F\x21\101 386,PRIV,NOX86_64
  855. reg32,reg_treg \2\x0F\x24\101 386,PRIV,NOX86_64
  856. reg64,reg_cr4 \2\x0F\x20\204 PENT,PRIV,X86_64
  857. reg64,reg_creg \2\x0F\x20\101 386,PRIV,X86_64
  858. reg64,reg_dreg \2\x0F\x21\101 386,PRIV,X86_64
  859. reg64,reg_treg \2\x0F\x24\101 386,PRIV,X86_64
  860. reg_cr4,reg32 \2\x0F\x22\214 PENT,PRIV,NOX86_64
  861. reg_creg,reg32 \2\x0F\x22\110 386,PRIV,NOX86_64
  862. reg_dreg,reg32 \2\x0F\x23\110 386,PRIV,NOX86_64
  863. reg_treg,reg32 \2\x0F\x26\110 386,PRIV,NOX86_64
  864. reg_cr4,reg64 \2\x0F\x22\214 PENT,PRIV,X86_64
  865. reg_creg,reg64 \2\x0F\x22\110 386,PRIV,X86_64
  866. reg_dreg,reg64 \2\x0F\x23\110 386,PRIV,X86_64
  867. reg_treg,reg64 \2\x0F\x26\110 386,PRIV,X86_64
  868. [MOVD,movd]
  869. (Ch_Rop1, Ch_Wop2, Ch_None)
  870. mmxreg,rm32 \2\x0F\x6E\110 PENT,MMX,SD
  871. rm32,mmxreg \2\x0F\x7E\101 PENT,MMX,SD
  872. xmmreg,rm32 \361\2\x0F\x6E\110 WILLAMETTE,SSE2
  873. rm32,xmmreg \361\2\x0F\x7E\101 WILLAMETTE,SSE2
  874. [MOVQ,movq]
  875. (Ch_Rop1, Ch_Wop2, Ch_None)
  876. mmxreg,mmxrm \2\x0F\x6F\110 PENT,MMX,SM
  877. mmxrm,mmxreg \2\x0F\x7F\101 PENT,MMX,SM
  878. mmxreg,rm64 \326\2\x0F\x6E\110 X86_64,MMX
  879. rm64,mmxreg \326\2\x0F\x7E\101 X86_64,MMX
  880. xmmreg,xmmrm \333\2\x0F\x7E\110 WILLAMETTE,SSE2
  881. xmmrm,xmmreg \361\2\x0F\xD6\101 WILLAMETTE,SSE2
  882. xmmreg,reg64 \361\326\2\x0F\x6E\110 WILLAMETTE,SSE2,X86_64
  883. reg64,xmmreg \361\326\2\x0F\x7E\101 WILLAMETTE,SSE2,X86_64
  884. [MOVSB]
  885. (Ch_All, Ch_None, Ch_None)
  886. void \1\xA4 8086
  887. [MOVSD,movsl]
  888. ; Ch_All isn't correct for the sse move, but how can it be solved? (FK)
  889. (Ch_All, Ch_None, Ch_None)
  890. void \325\1\xA5 386
  891. xmmreg,xmmrm \334\2\x0F\x10\110 WILLAMETTE,SSE2
  892. xmmrm,xmmreg \334\2\x0F\x11\101 WILLAMETTE,SSE2
  893. [MOVSQ]
  894. (Ch_All, Ch_None, Ch_None)
  895. void \326\1\xA5 X86_64
  896. [MOVSW]
  897. (Ch_All, Ch_None, Ch_None)
  898. void \324\1\xA5 8086
  899. [MOVSX,movsY]
  900. (Ch_Wop2, Ch_Rop1, Ch_None)
  901. reg32|64,rm16 \320\2\x0F\xBF\110 386
  902. reg16|32|64,rm8 \320\2\x0F\xBE\110 386
  903. [MOVZX,movzY]
  904. (Ch_Wop2, Ch_Rop1, Ch_None)
  905. reg32|64,rm16 \320\2\x0F\xB7\110 386
  906. reg16|32|64,rm8 \320\2\x0F\xB6\110 386
  907. [MUL,mulX]
  908. (Ch_RWEAX, Ch_WEDX, Ch_WFlags)
  909. rm16|32|64 \320\1\xF7\204 8086
  910. rm8 \1\xF6\204 8086
  911. [MWAIT]
  912. (Ch_None, Ch_None, Ch_None)
  913. void \3\x0F\x01\xC9 PRESCOTT
  914. reg_eax,reg_ecx \3\x0F\x01\xC9 PRESCOTT,ND
  915. [NEG,negX]
  916. (Ch_Mop1, Ch_None, Ch_None)
  917. rm16|32|64 \320\1\xF7\203 8086
  918. rm8 \1\xF6\203 8086
  919. [NOP]
  920. (Ch_None, Ch_None, Ch_None)
  921. void \1\x90 8086
  922. [NOT,notX]
  923. (Ch_Mop1, Ch_WFlags, Ch_None)
  924. rm16|32|64 \320\1\xF7\202 8086
  925. rm8 \1\xF6\202 8086
  926. [OR,orX]
  927. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  928. regmem,reg16|32|64 \320\1\x09\101 8086,SM
  929. reg16|32|64,regmem \320\1\x0B\110 8086,SM
  930. rm8,reg8 \1\x08\101 8086
  931. reg8,rm8 \1\x0A\110 8086,SM
  932. rm16|32|64,imm8 \320\1\x83\201\15 8086
  933. reg_eax,imm \325\1\x0D\41 386,SM
  934. reg_rax,imm \326\1\x0D\255 X86_64,SM
  935. rm32,imm \325\1\x81\201\41 386,SM
  936. rm64,imm \326\1\x81\201\255 X86_64,SM
  937. reg_ax,imm \324\1\x0D\31 8086,SW
  938. rm16,imm \324\1\x81\201\31 8086,SW
  939. reg_al,imm \1\x0C\21 8086,SB
  940. rm8,imm \1\x80\201\21 8086,SB
  941. [OUT,outX]
  942. (Ch_Rop1, Ch_Rop2, Ch_None)
  943. imm,reg_al \1\xE6\24 8086,SB
  944. imm,reg_ax \324\1\xE7\24 8086,SB
  945. imm,reg_eax \325\1\xE7\24 386,SB
  946. reg_dx,reg_al \1\xEE 8086
  947. reg_dx,reg_ax \324\1\xEF 8086
  948. reg_dx,reg_eax \325\1\xEF 386
  949. [OUTSB]
  950. (Ch_All, Ch_None, Ch_None)
  951. void \1\x6E 186
  952. [OUTSD,outsl]
  953. (Ch_All, Ch_None, Ch_None)
  954. void \325\1\x6F 386
  955. [OUTSW]
  956. (Ch_All, Ch_None, Ch_None)
  957. void \324\1\x6F 186
  958. [PACKSSDW]
  959. (Ch_All, Ch_None, Ch_None)
  960. mmxreg,mmxrm \2\x0F\x6B\110 PENT,MMX,SM
  961. xmmreg,xmmrm \361\2\x0F\x6B\110 WILLAMETTE,SSE2,SM
  962. [PACKSSWB]
  963. (Ch_All, Ch_None, Ch_None)
  964. mmxreg,mmxrm \2\x0F\x63\110 PENT,MMX,SM
  965. xmmreg,xmmrm \361\2\x0F\x63\110 WILLAMETTE,SSE2,SM
  966. [PACKUSWB]
  967. (Ch_All, Ch_None, Ch_None)
  968. mmxreg,mmxrm \2\x0F\x67\110 PENT,MMX,SM
  969. xmmreg,xmmrm \361\2\x0F\x67\110 WILLAMETTE,SSE2,SM
  970. [PADDB]
  971. (Ch_Mop2, Ch_Rop1, Ch_None)
  972. mmxreg,mmxrm \2\x0F\xFC\110 PENT,MMX,SM
  973. xmmreg,xmmrm \361\2\x0F\xFC\110 WILLAMETTE,SSE2,SM
  974. [PADDD]
  975. (Ch_Mop2, Ch_Rop1, Ch_None)
  976. mmxreg,mmxrm \2\x0F\xFE\110 PENT,MMX,SM
  977. xmmreg,xmmrm \361\2\x0F\xFE\110 WILLAMETTE,SSE2,SM
  978. [PADDSB]
  979. (Ch_Mop2, Ch_Rop1, Ch_None)
  980. mmxreg,mmxrm \2\x0F\xEC\110 PENT,MMX,SM
  981. xmmreg,xmmrm \361\2\x0F\xEC\110 WILLAMETTE,SSE2,SM
  982. [PADDSIW]
  983. (Ch_Mop2, Ch_Rop1, Ch_None)
  984. mmxreg,mmxrm \2\x0F\x51\110 PENT,MMX,SM,CYRIX
  985. [PADDSW]
  986. (Ch_Mop2, Ch_Rop1, Ch_None)
  987. mmxreg,mmxrm \2\x0F\xED\110 PENT,MMX,SM
  988. xmmreg,xmmrm \361\2\x0F\xED\110 WILLAMETTE,SSE2,SM
  989. [PADDUSB]
  990. (Ch_All, Ch_None, Ch_None)
  991. mmxreg,mmxrm \2\x0F\xDC\110 PENT,MMX,SM
  992. xmmreg,xmmrm \361\2\x0F\xDC\110 WILLAMETTE,SSE2,SM
  993. [PADDUSW]
  994. (Ch_All, Ch_None, Ch_None)
  995. mmxreg,mmxrm \2\x0F\xDD\110 PENT,MMX,SM
  996. xmmreg,xmmrm \361\2\x0F\xDD\110 WILLAMETTE,SSE2,SM
  997. [PADDW]
  998. (Ch_All, Ch_None, Ch_None)
  999. mmxreg,mmxrm \2\x0F\xFD\110 PENT,MMX,SM
  1000. xmmreg,xmmrm \361\2\x0F\xFD\110 WILLAMETTE,SSE2,SM
  1001. [PAND]
  1002. (Ch_All, Ch_None, Ch_None)
  1003. mmxreg,mmxrm \2\x0F\xDB\110 PENT,MMX,SM
  1004. xmmreg,xmmrm \361\2\x0F\xDB\110 WILLAMETTE,SSE2,SM
  1005. [PANDN]
  1006. (Ch_All, Ch_None, Ch_None)
  1007. mmxreg,mmxrm \2\x0F\xDF\110 PENT,MMX,SM
  1008. xmmreg,xmmrm \361\2\x0F\xDF\110 WILLAMETTE,SSE2,SM
  1009. [PAVEB]
  1010. (Ch_All, Ch_None, Ch_None)
  1011. mmxreg,mmxrm \2\x0F\x50\110 PENT,MMX,SM,CYRIX
  1012. [PAVGUSB]
  1013. (Ch_All, Ch_None, Ch_None)
  1014. mmxreg,mmxrm \2\x0F\x0F\110\01\xBF PENT,3DNOW,SM
  1015. [PCMPEQB]
  1016. (Ch_All, Ch_None, Ch_None)
  1017. mmxreg,mmxrm \2\x0F\x74\110 PENT,MMX,SM
  1018. xmmreg,xmmrm \361\2\x0F\x74\110 WILLAMETTE,SSE2,SM
  1019. [PCMPEQD]
  1020. (Ch_All, Ch_None, Ch_None)
  1021. mmxreg,mmxrm \2\x0F\x76\110 PENT,MMX,SM
  1022. xmmreg,xmmrm \361\2\x0F\x76\110 WILLAMETTE,SSE2,SM
  1023. [PCMPEQW]
  1024. (Ch_All, Ch_None, Ch_None)
  1025. mmxreg,mmxrm \2\x0F\x75\110 PENT,MMX,SM
  1026. xmmreg,xmmrm \361\2\x0F\x75\110 WILLAMETTE,SSE2,SM
  1027. [PCMPGTB]
  1028. (Ch_All, Ch_None, Ch_None)
  1029. mmxreg,mmxrm \2\x0F\x64\110 PENT,MMX,SM
  1030. xmmreg,xmmrm \361\2\x0F\x64\110 WILLAMETTE,SSE2,SM
  1031. [PCMPGTD]
  1032. (Ch_All, Ch_None, Ch_None)
  1033. mmxreg,mmxrm \2\x0F\x66\110 PENT,MMX,SM
  1034. xmmreg,xmmrm \361\2\x0F\x66\110 WILLAMETTE,SSE2,SM
  1035. [PCMPGTW]
  1036. (Ch_All, Ch_None, Ch_None)
  1037. mmxreg,mmxrm \2\x0F\x65\110 PENT,MMX,SM
  1038. xmmreg,xmmrm \361\2\x0F\x65\110 WILLAMETTE,SSE2,SM
  1039. [PDISTIB]
  1040. (Ch_All, Ch_None, Ch_None)
  1041. mmxreg,mem \2\x0F\x54\110 PENT,MMX,SM,CYRIX
  1042. [PF2ID]
  1043. (Ch_All, Ch_None, Ch_None)
  1044. mmxreg,mmxrm \2\x0F\x0F\110\01\x1D PENT,3DNOW,SM
  1045. [PFACC]
  1046. (Ch_All, Ch_None, Ch_None)
  1047. mmxreg,mmxrm \2\x0F\x0F\110\01\xAE PENT,3DNOW,SM
  1048. [PFADD]
  1049. (Ch_All, Ch_None, Ch_None)
  1050. mmxreg,mmxrm \2\x0F\x0F\110\01\x9E PENT,3DNOW,SM
  1051. [PFCMPEQ]
  1052. (Ch_All, Ch_None, Ch_None)
  1053. mmxreg,mmxrm \2\x0F\x0F\110\01\xB0 PENT,3DNOW,SM
  1054. [PFCMPGE]
  1055. (Ch_All, Ch_None, Ch_None)
  1056. mmxreg,mmxrm \2\x0F\x0F\110\01\x90 PENT,3DNOW,SM
  1057. [PFCMPGT]
  1058. (Ch_All, Ch_None, Ch_None)
  1059. mmxreg,mmxrm \2\x0F\x0F\110\01\xA0 PENT,3DNOW,SM
  1060. [PFMAX]
  1061. (Ch_All, Ch_None, Ch_None)
  1062. mmxreg,mmxrm \2\x0F\x0F\110\01\xA4 PENT,3DNOW,SM
  1063. [PFMIN]
  1064. (Ch_All, Ch_None, Ch_None)
  1065. mmxreg,mmxrm \2\x0F\x0F\110\01\x94 PENT,3DNOW,SM
  1066. [PFMUL]
  1067. (Ch_All, Ch_None, Ch_None)
  1068. mmxreg,mmxrm \2\x0F\x0F\110\01\xB4 PENT,3DNOW,SM
  1069. [PFRCP]
  1070. (Ch_All, Ch_None, Ch_None)
  1071. mmxreg,mmxrm \2\x0F\x0F\110\01\x96 PENT,3DNOW,SM
  1072. [PFRCPIT1]
  1073. (Ch_All, Ch_None, Ch_None)
  1074. mmxreg,mmxrm \2\x0F\x0F\110\01\xA6 PENT,3DNOW,SM
  1075. [PFRCPIT2]
  1076. (Ch_All, Ch_None, Ch_None)
  1077. mmxreg,mmxrm \2\x0F\x0F\110\01\xB6 PENT,3DNOW,SM
  1078. [PFRSQIT1]
  1079. (Ch_All, Ch_None, Ch_None)
  1080. mmxreg,mmxrm \2\x0F\x0F\110\01\xA7 PENT,3DNOW,SM
  1081. [PFRSQRT]
  1082. (Ch_All, Ch_None, Ch_None)
  1083. mmxreg,mmxrm \2\x0F\x0F\110\01\x97 PENT,3DNOW,SM
  1084. [PFSUB]
  1085. (Ch_All, Ch_None, Ch_None)
  1086. mmxreg,mmxrm \2\x0F\x0F\110\01\x9A PENT,3DNOW,SM
  1087. [PFSUBR]
  1088. (Ch_All, Ch_None, Ch_None)
  1089. mmxreg,mmxrm \2\x0F\x0F\110\01\xAA PENT,3DNOW,SM
  1090. [PI2FD]
  1091. (Ch_All, Ch_None, Ch_None)
  1092. mmxreg,mmxrm \2\x0F\x0F\110\01\x0D PENT,3DNOW,SM
  1093. [PMACHRIW]
  1094. (Ch_All, Ch_None, Ch_None)
  1095. mmxreg,mem \2\x0F\x5E\110 PENT,MMX,SM,CYRIX
  1096. [PMADDWD]
  1097. (Ch_All, Ch_None, Ch_None)
  1098. mmxreg,mmxrm \2\x0F\xF5\110 PENT,MMX,SM
  1099. xmmreg,xmmrm \361\2\x0F\xF5\110 WILLAMETTE,SM,SSE2
  1100. [PMAGW]
  1101. (Ch_All, Ch_None, Ch_None)
  1102. mmxreg,mmxrm \2\x0F\x52\110 PENT,MMX,SM,CYRIX
  1103. [PMULHRIW]
  1104. (Ch_All, Ch_None, Ch_None)
  1105. mmxreg,mmxrm \2\x0F\x5D\110 PENT,MMX,SM,CYRIX
  1106. [PMULHRWA]
  1107. (Ch_All, Ch_None, Ch_None)
  1108. mmxreg,mmxrm \2\x0F\x0F\110\1\xB7 PENT,3DNOW,SM
  1109. [PMULHRWC]
  1110. (Ch_All, Ch_None, Ch_None)
  1111. mmxreg,mmxrm \2\x0F\x59\110 PENT,MMX,SM,CYRIX
  1112. [PMULHW]
  1113. (Ch_All, Ch_None, Ch_None)
  1114. mmxreg,mmxrm \2\x0F\xE5\110 PENT,MMX,SM
  1115. xmmreg,xmmrm \361\2\x0F\xE5\110 WILLAMETTE,SSE2,SM
  1116. [PMULLW]
  1117. (Ch_All, Ch_None, Ch_None)
  1118. mmxreg,mmxrm \2\x0F\xD5\110 PENT,MMX,SM
  1119. xmmreg,xmmrm \361\2\x0F\xD5\110 WILLAMETTE,SSE2,SM
  1120. [PMVGEZB]
  1121. (Ch_All, Ch_None, Ch_None)
  1122. mmxreg,mem \2\x0F\x5C\110 PENT,MMX,SM,CYRIX
  1123. [PMVLZB]
  1124. (Ch_All, Ch_None, Ch_None)
  1125. mmxreg,mem \2\x0F\x5B\110 PENT,MMX,SM,CYRIX
  1126. [PMVNZB]
  1127. (Ch_All, Ch_None, Ch_None)
  1128. mmxreg,mem \2\x0F\x5A\110 PENT,MMX,SM,CYRIX
  1129. [PMVZB]
  1130. (Ch_All, Ch_None, Ch_None)
  1131. mmxreg,mem \2\x0F\x58\110 PENT,MMX,SM,CYRIX
  1132. [POP,popX]
  1133. (Ch_Wop1, Ch_RWESP, Ch_None)
  1134. reg16 \324\10\x58 8086
  1135. reg32 \325\10\x58 386,NOX86_64
  1136. reg64 \335\10\x58 X86_64
  1137. rm16 \324\1\x8F\200 8086
  1138. rm32 \325\1\x8F\200 386,NOX86_64
  1139. rm64 \335\1\x8F\200 X86_64
  1140. reg_cs \1\x0F 8086,UNDOC,ND
  1141. reg_dess \4 8086,NOX86_64
  1142. reg_fsgs \1\x0F\5\335 386
  1143. [POPA,popaX]
  1144. (Ch_All, Ch_None, Ch_None)
  1145. void \327\1\x61 186,NOX86_64
  1146. [POPAD,popal]
  1147. (Ch_All, Ch_None, Ch_None)
  1148. void \325\1\x61 386,NOX86_64
  1149. [POPAW]
  1150. (Ch_All, Ch_None, Ch_None)
  1151. void \324\1\x61 186,NOX86_64
  1152. [POPF]
  1153. (Ch_RWESP, Ch_WFlags, Ch_None)
  1154. void \327\1\x9D 186,NOX86_64
  1155. void \326\1\x9D X86_64
  1156. [POPFD,popfl]
  1157. (Ch_RWESP, Ch_WFlags, Ch_None)
  1158. void \325\1\x9D 386,NOX86_64
  1159. [POPFW]
  1160. (Ch_RWESP, Ch_WFLAGS, Ch_None)
  1161. void \324\1\x9D 186,NOX86_64
  1162. void \1\x9D X86_64
  1163. [POPFQ]
  1164. (Ch_RWESP, Ch_WFlags, Ch_None)
  1165. void \326\1\x9D X86_64
  1166. [POR]
  1167. (Ch_All, Ch_None, Ch_None)
  1168. mmxreg,mmxrm \2\x0F\xEB\110 PENT,MMX,SM
  1169. xmmreg,xmmreg \361\2\x0F\xEB\110 WILLAMETTE,SSE2,SM
  1170. [PREFETCH,prefetchX]
  1171. (Ch_All, Ch_None, Ch_None)
  1172. mem \2\x0F\x0D\200 PENT,3DNOW,SM
  1173. [PREFETCHW,prefetchwX]
  1174. (Ch_All, Ch_None, Ch_None)
  1175. mem \2\x0F\x0D\201 PENT,3DNOW,SM
  1176. [PSLLD]
  1177. (Ch_All, Ch_None, Ch_None)
  1178. mmxreg,mmxrm \2\x0F\xF2\110 PENT,MMX,SM
  1179. mmxreg,imm \2\x0F\x72\206\25 PENT,MMX,SB,AR1
  1180. xmmreg,xmmrm \361\2\x0F\xF2\110 WILLAMETTE,SSE2,SM
  1181. xmmreg,imm \361\2\x0F\x72\206\25 WILLAMETTE,SSE2,SB,AR1
  1182. [PSLLDQ]
  1183. (Ch_All, Ch_None, Ch_None)
  1184. xmmreg,imm \361\2\x0F\x73\207\25 WILLAMETTE,SSE2,SB,AR1
  1185. [PSLLQ]
  1186. (Ch_All, Ch_None, Ch_None)
  1187. mmxreg,mmxrm \2\x0F\xF3\110 PENT,MMX,SM
  1188. mmxreg,imm \2\x0F\x73\206\25 PENT,MMX,SB,AR1
  1189. xmmreg,xmmrm \361\2\x0F\xF3\110 WILLAMETTE,SSE2,SM
  1190. xmmreg,imm \361\2\x0F\x73\206\25 WILLAMETTE,SSE2,SB,AR1
  1191. [PSLLW]
  1192. (Ch_All, Ch_None, Ch_None)
  1193. mmxreg,mmxrm \2\x0F\xF1\110 PENT,MMX,SM
  1194. mmxreg,imm \2\x0F\x71\206\25 PENT,MMX,SB,AR1
  1195. xmmreg,xmmrm \361\2\x0F\xF1\110 WILLAMETTE,SSE2,SM
  1196. xmmreg,imm \361\2\x0F\x71\206\25 WILLAMETTE,SSE2,SB,AR1
  1197. [PSRAD]
  1198. (Ch_All, Ch_None, Ch_None)
  1199. mmxreg,mmxrm \2\x0F\xE2\110 PENT,MMX,SM
  1200. mmxreg,imm \2\x0F\x72\204\25 PENT,MMX,SB,AR1
  1201. xmmreg,xmmrm \361\2\x0F\xE2\110 WILLAMETTE,SSE2,SM
  1202. xmmreg,imm \361\2\x0F\x72\204\25 WILLAMETTE,SSE2,SB,AR1
  1203. [PSRAW]
  1204. (Ch_All, Ch_None, Ch_None)
  1205. mmxreg,mmxrm \2\x0F\xE1\110 PENT,MMX,SM
  1206. mmxreg,imm \2\x0F\x71\204\25 PENT,MMX,SB,AR1
  1207. xmmreg,xmmrm \361\2\x0F\xE1\110 WILLAMETTE,SSE2,SM
  1208. xmmreg,imm \361\2\x0F\x71\204\25 WILLAMETTE,SSE2,SB,AR1
  1209. [PSRLD]
  1210. (Ch_All, Ch_None, Ch_None)
  1211. mmxreg,mmxrm \2\x0F\xD2\110 PENT,MMX,SM
  1212. mmxreg,imm \2\x0F\x72\202\25 PENT,MMX,SB,AR1
  1213. xmmreg,xmmrm \361\2\x0F\xD2\110 WILLAMETTE,SSE2,SM
  1214. xmmreg,imm \361\2\x0F\x72\202\25 WILLAMETTE,SSE2,SB,AR1
  1215. [PSRLQ]
  1216. (Ch_All, Ch_None, Ch_None)
  1217. mmxreg,mmxrm \2\x0F\xD3\110 PENT,MMX,SM
  1218. mmxreg,imm \2\x0F\x73\202\25 PENT,MMX,SB,AR1
  1219. xmmreg,xmmrm \361\2\x0F\xD3\110 WILLAMETTE,SSE2,SM
  1220. xmmreg,imm \361\2\x0F\x73\202\25 WILLAMETTE,SSE2,SB,AR1
  1221. [PSRLW]
  1222. (Ch_All, Ch_None, Ch_None)
  1223. mmxreg,mmxrm \2\x0F\xD1\110 PENT,MMX,SM
  1224. mmxreg,imm \2\x0F\x71\202\25 PENT,MMX,SB,AR1
  1225. xmmreg,xmmrm \361\2\x0F\xD1\110 WILLAMETTE,SSE2,SM
  1226. xmmreg,imm \361\2\x0F\x71\202\25 WILLAMETTE,SSE2,SB,AR1
  1227. [PSUBB]
  1228. (Ch_All, Ch_None, Ch_None)
  1229. mmxreg,mmxrm \2\x0F\xF8\110 PENT,MMX,SM
  1230. xmmreg,xmmrm \361\2\x0F\xF8\110 WILLAMETTE,SSE2,SM
  1231. [PSUBD]
  1232. (Ch_All, Ch_None, Ch_None)
  1233. mmxreg,mmxrm \2\x0F\xFA\110 PENT,MMX,SM
  1234. xmmreg,xmmrm \361\2\x0F\xFA\110 WILLAMETTE,SSE2,SM
  1235. [PSUBSB]
  1236. (Ch_All, Ch_None, Ch_None)
  1237. mmxreg,mmxrm \2\x0F\xE8\110 PENT,MMX,SM
  1238. xmmreg,xmmrm \361\2\x0F\xE8\110 WILLAMETTE,SSE2,SM
  1239. [PSUBSIW]
  1240. (Ch_All, Ch_None, Ch_None)
  1241. mmxreg,mem \2\x0F\x55\110 PENT,MMX,SM,CYRIX
  1242. mmxreg,mmxreg \2\x0F\x55\110 PENT,MMX,CYRIX
  1243. [PSUBSW]
  1244. (Ch_All, Ch_None, Ch_None)
  1245. mmxreg,mmxrm \2\x0F\xE9\110 PENT,MMX,SM
  1246. xmmreg,xmmrm \361\2\x0F\xE9\110 WILLAMETTE,SSE2,SM
  1247. [PSUBUSB]
  1248. (Ch_All, Ch_None, Ch_None)
  1249. mmxreg,mmxrm \2\x0F\xD8\110 PENT,MMX,SM
  1250. xmmreg,xmmrm \361\2\x0F\xD8\110 WILLAMETTE,SSE2,SM
  1251. [PSUBUSW]
  1252. (Ch_All, Ch_None, Ch_None)
  1253. mmxreg,mmxrm \2\x0F\xD9\110 PENT,MMX,SM
  1254. xmmreg,xmmrm \361\2\x0F\xD9\110 WILLAMETTE,SSE2,SM
  1255. [PSUBW]
  1256. (Ch_All, Ch_None, Ch_None)
  1257. mmxreg,mmxrm \2\x0F\xF9\110 PENT,MMX,SM
  1258. xmmreg,xmmrm \361\2\x0F\xF9\110 WILLAMETTE,SSE2,SM
  1259. [PUNPCKHBW]
  1260. (Ch_All, Ch_None, Ch_None)
  1261. mmxreg,mmxrm \2\x0F\x68\110 PENT,MMX,SM
  1262. xmmreg,xmmrm \361\2\x0F\x68\110 WILLAMETTE,SSE2,SM
  1263. [PUNPCKHDQ]
  1264. (Ch_All, Ch_None, Ch_None)
  1265. mmxreg,mmxrm \2\x0F\x6A\110 PENT,MMX,SM
  1266. xmmreg,xmmrm \361\2\x0F\x6A\110 WILLAMETTE,SSE2,SM
  1267. [PUNPCKHWD]
  1268. (Ch_All, Ch_None, Ch_None)
  1269. mmxreg,mmxrm \2\x0F\x69\110 PENT,MMX,SM
  1270. xmmreg,xmmrm \361\2\x0F\x69\110 WILLAMETTE,SSE2,SM
  1271. [PUNPCKLBW]
  1272. (Ch_All, Ch_None, Ch_None)
  1273. mmxreg,mmxrm \2\x0F\x60\110 PENT,MMX,SM
  1274. xmmreg,xmmrm \361\2\x0F\x60\110 WILLAMETTE,SSE2,SM
  1275. [PUNPCKLDQ]
  1276. (Ch_All, Ch_None, Ch_None)
  1277. mmxreg,mmxrm \2\x0F\x62\110 PENT,MMX,SM
  1278. xmmreg,xmmrm \361\2\x0F\x62\110 WILLAMETTE,SSE2,SM
  1279. [PUNPCKLWD]
  1280. (Ch_All, Ch_None, Ch_None)
  1281. mmxreg,mmxrm \2\x0F\x61\110 PENT,MMX,SM
  1282. xmmreg,xmmrm \361\2\x0F\x61\110 WILLAMETTE,SSE2,SM
  1283. [PUSH,pushX]
  1284. (Ch_Rop1, Ch_RWESP, Ch_None)
  1285. reg16 \324\10\x50 8086
  1286. reg32 \325\10\x50 386,NOX86_64
  1287. reg64 \335\10\x50 X86_64
  1288. rm16 \324\1\xFF\206 8086
  1289. rm32 \325\1\xFF\206 386,NOX86_64
  1290. rm64 \335\1\xFF\206 X86_64
  1291. imm32 \325\1\x68\40\335 386
  1292. imm16 \324\1\x68\30\335 286
  1293. imm8 \1\x6A\14\335 286
  1294. reg_fsgs \1\x0F\7\335 386,NOX86_64
  1295. reg_sreg \6 8086,NOX86_64
  1296. [PUSHA,pushaX]
  1297. (Ch_All, Ch_None, Ch_None)
  1298. void \327\1\x60 186,NOX86_64
  1299. [PUSHAD,pushal]
  1300. (Ch_All, Ch_None, Ch_None)
  1301. void \325\1\x60 386,NOX86_64
  1302. [PUSHAW]
  1303. (Ch_All, Ch_None, Ch_None)
  1304. void \324\1\x60 186,NOX86_64
  1305. [PUSHF]
  1306. (Ch_RWESP, Ch_RFlags, Ch_None)
  1307. void \327\1\x9C 186
  1308. [PUSHFD,pushfl]
  1309. (Ch_RWESP, Ch_RFlags, Ch_None)
  1310. void \325\1\x9C 386,NOX86_64
  1311. [PUSHFW]
  1312. (Ch_RWESP, Ch_RFLAGS, Ch_None)
  1313. void \324\1\x9C 186
  1314. [PUSHFQ]
  1315. (Ch_RWESP, Ch_RFlags, Ch_None)
  1316. void \326\1\x9C X86_64
  1317. [PXOR]
  1318. (Ch_Mop2, Ch_Rop1, Ch_None)
  1319. mmxreg,mmxrm \2\x0F\xEF\110 PENT,MMX,SM
  1320. xmmreg,xmmrm \361\2\x0F\xEF\110 WILLAMETTE,SSE2,SM
  1321. [RCL,rclX]
  1322. (Ch_Mop2, Ch_Rop1, Ch_RWFlags)
  1323. rm16|32|64,unity \320\1\xD1\202 8086
  1324. rm16|32|64,reg_cl \320\1\xD3\202 8086
  1325. rm16|32|64,imm \320\1\xC1\202\25 8086,SB
  1326. rm8,unity \1\xD0\202 8086
  1327. rm8,reg_cl \1\xD2\202 8086
  1328. rm8,imm \1\xC0\202\25 186,SB
  1329. [RCR,rcrX]
  1330. (Ch_Mop2, Ch_Rop1, Ch_RWFlags)
  1331. rm16|32|64,unity \320\1\xD1\203 8086
  1332. rm16|32|64,reg_cl \320\1\xD3\203 8086
  1333. rm16|32|64,imm \320\1\xC1\203\25 8086,SB
  1334. rm8,unity \1\xD0\203 8086
  1335. rm8,reg_cl \1\xD2\203 8086
  1336. rm8,imm \1\xC0\203\25 186,SB
  1337. [RDSHR]
  1338. (Ch_All, Ch_None, Ch_None)
  1339. void \2\x0F\x36 P6,CYRIX,SMM
  1340. [RDMSR]
  1341. (Ch_WEAX, Ch_WEDX, Ch_None)
  1342. void \2\x0F\x32 PENT,PRIV
  1343. [RDPMC]
  1344. (Ch_WEAX, Ch_WEDX, Ch_None)
  1345. void \2\x0F\x33 P6
  1346. [RDTSC]
  1347. (Ch_WEAX, Ch_WEDX, Ch_None)
  1348. void \2\x0F\x31 PENT
  1349. [REP]
  1350. (Ch_RWECX, Ch_RWFlags, Ch_None)
  1351. void \1\xF3 8086,PRE
  1352. [REPE]
  1353. (Ch_RWECX, Ch_RWFlags, Ch_None)
  1354. void \1\xF3 8086,PRE
  1355. [REPNE]
  1356. (Ch_RWECX, Ch_RWFlags, Ch_None)
  1357. void \1\xF2 8086,PRE
  1358. [REPNZ]
  1359. (Ch_RWECX, Ch_RWFLAGS, Ch_None)
  1360. void \1\xF2 8086,PRE
  1361. [REPZ]
  1362. (Ch_RWECX, Ch_RWFLAGS, Ch_None)
  1363. void \1\xF3 8086,PRE
  1364. [RET]
  1365. (Ch_All, Ch_None, Ch_None)
  1366. void \1\xC3 8086
  1367. imm \1\xC2\30 8086,SW
  1368. [RETF,lret]
  1369. (Ch_All, Ch_None, Ch_None)
  1370. void \1\xCB 8086
  1371. imm \1\xCA\30 8086,SW
  1372. [RETN,ret]
  1373. (Ch_All, Ch_None, Ch_None)
  1374. void \1\xC3 8086
  1375. imm \1\xC2\30 8086,SW
  1376. [ROL,rolX]
  1377. (Ch_Mop2, Ch_Rop1, Ch_RWFlags)
  1378. rm16|32|64,unity \320\1\xD1\200 8086
  1379. rm16|32|64,reg_cl \320\1\xD3\200 8086
  1380. rm16|32|64,imm \320\1\xC1\200\25 8086,SB
  1381. rm8,unity \1\xD0\200 8086
  1382. rm8,reg_cl \1\xD2\200 8086
  1383. rm8,imm \1\xC0\200\25 186,SB
  1384. [ROR,rorX]
  1385. (Ch_Mop2, Ch_Rop1, Ch_RWFlags)
  1386. rm16|32|64,unity \320\1\xD1\201 8086
  1387. rm16|32|64,reg_cl \320\1\xD3\201 8086
  1388. rm16|32|64,imm \320\1\xC1\201\25 8086,SB
  1389. rm8,unity \1\xD0\201 8086
  1390. rm8,reg_cl \1\xD2\201 8086
  1391. rm8,imm \1\xC0\201\25 186,SB
  1392. [RSDC]
  1393. (Ch_All, Ch_None, Ch_None)
  1394. reg_sreg,mem80 \2\x0F\x79\101 486,CYRIX,SMM
  1395. [RSLDT]
  1396. (Ch_All, Ch_None, Ch_None)
  1397. mem80 \2\x0F\x7B\200 486,CYRIX,SMM
  1398. [RSM]
  1399. (Ch_All, Ch_None, Ch_None)
  1400. void \2\x0F\xAA PENT,SMM
  1401. ; SAHF/LAHF are valid in x86_64 only if CPUID.80000001h:ECX.0=1
  1402. [SAHF]
  1403. (Ch_WFlags, Ch_REAX, Ch_None)
  1404. void \1\x9E 8086
  1405. [SAL,salX]
  1406. (Ch_Mop2, Ch_Rop1, Ch_RWFlags)
  1407. rm16|32|64,unity \320\1\xD1\204 8086,ND
  1408. rm16|32|64,reg_cl \320\1\xD3\204 8086,ND
  1409. rm16|32|64,imm \320\1\xC1\204\25 8086,ND,SB
  1410. rm8,unity \1\xD0\204 8086,ND
  1411. rm8,reg_cl \1\xD2\204 8086,ND
  1412. rm8,imm \1\xC0\204\25 186,ND,SB
  1413. [SALC]
  1414. (Ch_WEAX, Ch_RFLAGS, Ch_None)
  1415. void \1\xD6 8086,UNDOC,NOX86_64
  1416. [SAR,sarX]
  1417. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  1418. rm16|32|64,unity \320\1\xD1\207 8086
  1419. rm16|32|64,reg_cl \320\1\xD3\207 8086
  1420. rm16|32|64,imm \320\1\xC1\207\25 8086,SB
  1421. rm8,unity \1\xD0\207 8086
  1422. rm8,reg_cl \1\xD2\207 8086
  1423. rm8,imm \1\xC0\207\25 186,SB
  1424. [SBB,sbbX]
  1425. (Ch_Mop2, Ch_Rop1, Ch_RWFlags)
  1426. regmem,reg16|32|64 \320\1\x19\101 8086,SM
  1427. reg16|32|64,regmem \320\1\x1B\110 8086,SM
  1428. rm16|32|64,imm8 \320\1\x83\203\15 8086
  1429. rm8,reg8 \1\x18\101 8086
  1430. reg8,rm8 \1\x1A\110 8086,SM
  1431. reg_eax,imm \325\1\x1D\41 386,SM
  1432. reg_rax,imm \326\1\x1D\255 X86_64,SM
  1433. rm32,imm \320\1\x81\203\41 386,SM
  1434. rm64,imm \326\1\x81\203\255 X86_64,SM
  1435. reg_ax,imm \324\1\x1D\31 8086,SW
  1436. rm16,imm \320\1\x81\203\31 8086,SW
  1437. reg_al,imm \1\x1C\21 8086,SB
  1438. rm8,imm \1\x80\203\21 8086,SB
  1439. [SCASB]
  1440. (Ch_All, Ch_None, Ch_None)
  1441. void \332\1\xAE 8086
  1442. [SCASD,scasl]
  1443. (Ch_All, Ch_None, Ch_None)
  1444. void \332\325\1\xAF 386
  1445. [SCASQ]
  1446. (Ch_All, Ch_None, Ch_None)
  1447. void \332\326\1\xAF X86_64
  1448. [SCASW]
  1449. (Ch_All, Ch_None, Ch_None)
  1450. void \332\324\1\xAF 8086
  1451. [SEGCS,cs]
  1452. (Ch_None, Ch_None, Ch_None)
  1453. void \1\x2E 8086,PRE
  1454. [SEGDS,ds]
  1455. (Ch_None, Ch_None, Ch_None)
  1456. void \1\x3E 8086,PRE
  1457. [SEGES,es]
  1458. (Ch_None, Ch_None, Ch_None)
  1459. void \1\x26 8086,PRE
  1460. [SEGFS,fs]
  1461. (Ch_None, Ch_None, Ch_None)
  1462. void \1\x64 8086,PRE
  1463. [SEGGS,gs]
  1464. (Ch_None, Ch_None, Ch_None)
  1465. void \1\x65 8086,PRE
  1466. [SEGSS,ss]
  1467. (Ch_None, Ch_None, Ch_None)
  1468. void \1\x36 8086,PRE
  1469. [SGDT]
  1470. (Ch_Wop1, Ch_None, Ch_None)
  1471. mem \2\x0F\x01\200 286
  1472. [SHL,shlX]
  1473. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  1474. rm16|32|64,unity \320\1\xD1\204 8086
  1475. rm16|32|64,reg_cl \320\1\xD3\204 8086
  1476. rm16|32|64,imm \320\1\xC1\204\25 186,SW
  1477. rm8,unity \1\xD0\204 8086
  1478. rm8,reg_cl \1\xD2\204 8086
  1479. rm8,imm \1\xC0\204\25 186,SB
  1480. [SHLD,shldX]
  1481. (Ch_MOp3, Ch_RWFlags, Ch_Rop2)
  1482. rm16|32|64,reg16|32|64,imm \321\2\x0F\xA4\101\26 386,SM2,SB,AR2
  1483. rm16|32|64,reg16|32|64,reg_cl \321\2\x0F\xA5\101 386,SM
  1484. [SHR,shrX]
  1485. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  1486. rm16|32|64,unity \320\1\xD1\205 8086
  1487. rm16|32|64,reg_cl \320\1\xD3\205 8086
  1488. rm16|32|64,imm \320\1\xC1\205\25 186,SW
  1489. rm8,unity \1\xD0\205 8086
  1490. rm8,reg_cl \1\xD2\205 8086
  1491. rm8,imm \1\xC0\205\25 186,SB
  1492. [SHRD,shrdX]
  1493. (Ch_MOp3, Ch_RWFlags, Ch_Rop2)
  1494. rm16|32|64,reg16|32|64,imm \321\2\x0F\xAC\101\26 386,SM2,SB,AR2
  1495. rm16|32|64,reg16|32|64,reg_cl \321\2\x0F\xAD\101 386,SM
  1496. [SIDT,sidtX]
  1497. (Ch_Wop1, Ch_None, Ch_None)
  1498. mem \2\x0F\x01\201 286
  1499. [SLDT,sldtX]
  1500. (Ch_Wop1, Ch_None, Ch_None)
  1501. mem \2\x0F\x00\200 286
  1502. reg16|32|64 \320\2\x0F\x00\200 286
  1503. [SMI]
  1504. (Ch_All, Ch_None, Ch_None)
  1505. void \1\xF1 386,UNDOC
  1506. [SMINT]
  1507. (Ch_All, Ch_None, Ch_None)
  1508. void \2\x0F\x38 P6,CYRIX
  1509. [SMINTOLD]
  1510. (Ch_All, Ch_None, Ch_None)
  1511. void \2\x0F\x7E 486,CYRIX,ND
  1512. [SMSW,smswX]
  1513. (Ch_Wop1, Ch_None, Ch_None)
  1514. rm16|32|64 \320\2\x0F\x01\204 286
  1515. [STC]
  1516. (Ch_WFlags, Ch_None, Ch_None)
  1517. void \1\xF9 8086
  1518. [STD]
  1519. (Ch_SDirFlag, Ch_None, Ch_None)
  1520. void \1\xFD 8086
  1521. [STI]
  1522. (Ch_WFlags, Ch_None, Ch_None)
  1523. void \1\xFB 8086
  1524. [STOSB]
  1525. (Ch_REAX, Ch_WMemEDI, Ch_RWEDI)
  1526. void \1\xAA 8086
  1527. [STOSD,stosl]
  1528. (Ch_REAX, Ch_WMemEDI, Ch_RWEDI)
  1529. void \325\1\xAB 386
  1530. [STOSW]
  1531. (Ch_REAX, Ch_WMemEDI, Ch_RWEDI)
  1532. void \324\1\xAB 8086
  1533. [STR,strX]
  1534. (Ch_Wop1, Ch_None, Ch_None)
  1535. mem \2\x0F\x00\201 286,PROT
  1536. reg16|32|64 \320\2\x0F\x00\201 286,PROT
  1537. [SUB,subX]
  1538. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  1539. regmem,reg16|32|64 \320\1\x29\101 8086,SM
  1540. reg16|32|64,regmem \320\1\x2B\110 8086,SM
  1541. rm8,reg8 \1\x28\101 8086
  1542. reg8,rm8 \1\x2A\110 8086,SM
  1543. rm16|32|64,imm8 \320\1\x83\205\15 8086
  1544. reg_eax,imm \325\1\x2D\41 386,SM
  1545. reg_rax,imm \326\1\x2D\255 X86_64,SM
  1546. rm32,imm \320\1\x81\205\41 386,SM
  1547. rm64,imm \326\1\x81\205\255 X86_64,SM
  1548. reg_ax,imm \324\1\x2D\31 8086,SW
  1549. rm16,imm \324\1\x81\205\31 8086,SW
  1550. reg_al,imm \1\x2C\21 8086,SB
  1551. rm8,imm \1\x80\205\21 8086,SB
  1552. [SVDC,svdcX]
  1553. (Ch_All, Ch_None, Ch_None)
  1554. mem80,reg_sreg \2\x0F\x78\101 486,CYRIX,SMM
  1555. [SVLDT,svldtX]
  1556. (Ch_All, Ch_None, Ch_None)
  1557. mem80 \2\x0F\x7A\200 486,CYRIX,SMM
  1558. [SVTS,svtsX]
  1559. (Ch_All, Ch_None, Ch_None)
  1560. mem80 \2\x0F\x7C\200 486,CYRIX,SMM
  1561. [SYSCALL]
  1562. (Ch_All, Ch_None, Ch_None)
  1563. void \2\x0F\x05 P6,AMD
  1564. [SYSENTER]
  1565. (Ch_All, Ch_None, Ch_None)
  1566. void \2\x0F\x34 P6
  1567. [SYSEXIT]
  1568. (Ch_All, Ch_None, Ch_None)
  1569. void \2\x0F\x35 P6,PRIV
  1570. [SYSRET]
  1571. (Ch_All, Ch_None, Ch_None)
  1572. void \2\x0F\x07 P6,PRIV,AMD
  1573. [TEST,testX]
  1574. (Ch_WFlags, Ch_Rop1, Ch_Rop2)
  1575. regmem,reg16|32|64 \320\1\x85\101 8086,SM
  1576. reg16|32|64,mem \320\1\x85\110 8086,SM
  1577. reg8,reg8 \1\x84\101 8086
  1578. rm8,reg8 \1\x84\101 8086,SM
  1579. reg_rax,imm \326\1\xA9\255 X86_64,SM
  1580. reg_eax,imm \325\1\xA9\41 386,SM
  1581. reg_ax,imm \324\1\xA9\31 8086,SM
  1582. reg_al,imm \1\xA8\21 8086,SM
  1583. rm64,imm \326\1\xF7\200\255 X86_64,SM
  1584. rm32,imm \325\1\xF7\200\41 386,SM
  1585. rm16,imm \324\1\xF7\200\31 8086,SM
  1586. rm8,imm \1\xF6\200\21 8086,SM
  1587. mem,imm32 \325\1\xF7\200\41 386,SM
  1588. mem,imm16 \324\1\xF7\200\31 8086,SM
  1589. mem,imm8 \1\xF6\200\21 8086,SM
  1590. [UD1]
  1591. (Ch_All, Ch_None, Ch_None)
  1592. void \2\x0F\xB9 286,UNDOC
  1593. [UD2]
  1594. (Ch_All, Ch_None, Ch_None)
  1595. void \2\x0F\x0B 286
  1596. [UMOV,umovX]
  1597. (Ch_All, Ch_None, Ch_None)
  1598. regmem,reg16|32|64 \320\2\x0F\x11\101 386,UNDOC,SM
  1599. reg16|32|64,mem \320\2\x0F\x13\110 386,UNDOC,SM
  1600. rm8,reg8 \2\x0F\x10\101 386,UNDOC
  1601. reg8,rm8 \2\x0F\x12\110 386,UNDOC
  1602. [VERR,verrX]
  1603. (Ch_WFlags, Ch_None, Ch_None)
  1604. mem \2\x0F\x00\204 286,PROT
  1605. mem16 \2\x0F\x00\204 286,PROT
  1606. reg16 \2\x0F\x00\204 286,PROT
  1607. [VERW]
  1608. (Ch_WFlags, Ch_None, Ch_None)
  1609. mem \2\x0F\x00\205 286,PROT
  1610. mem16 \2\x0F\x00\205 286,PROT
  1611. reg16 \2\x0F\x00\205 286,PROT
  1612. [WAIT]
  1613. (Ch_None, Ch_None, Ch_None)
  1614. void \1\x9B 8086
  1615. [WBINVD]
  1616. (Ch_None, Ch_None, Ch_None)
  1617. void \2\x0F\x09 486,PRIV
  1618. [WRSHR]
  1619. (Ch_All, Ch_None, Ch_None)
  1620. void \2\x0F\x37 P6,CYRIX,SMM
  1621. [WRMSR]
  1622. (Ch_All, Ch_None, Ch_None)
  1623. void \2\x0F\x30 PENT,PRIV
  1624. [XADD,xaddX]
  1625. (Ch_All, Ch_None, Ch_None)
  1626. mem,reg16|32|64 \320\2\x0F\xC1\101 486,SM
  1627. rm8,reg8 \2\x0F\xC0\101 486
  1628. [XBTS,xbtsX]
  1629. (Ch_All, Ch_None, Ch_None)
  1630. reg16,mem \324\2\x0F\xA6\110 386,SW,UNDOC,ND
  1631. reg16,reg16 \324\2\x0F\xA6\110 386,UNDOC,ND
  1632. reg32,mem \325\2\x0F\xA6\110 386,SD,UNDOC,ND
  1633. reg32,reg32 \325\2\x0F\xA6\110 386,UNDOC,ND
  1634. [XCHG,xchgX]
  1635. (Ch_RWop1, Ch_RWop2, Ch_None)
  1636. reg_ax,reg16 \324\11\x90 8086
  1637. reg_eax,reg32 \325\11\x90 386
  1638. reg_rax,reg64 \326\11\x90 X86_64
  1639. reg16,reg_ax \324\10\x90 8086
  1640. reg32,reg_eax \325\10\x90 386
  1641. reg64,reg_rax \326\10\x90 X86_64
  1642. reg16|32|64,regmem \320\1\x87\110 8086,SM
  1643. mem,reg16|32|64 \320\1\x87\101 8086,SM
  1644. reg8,rm8 \1\x86\110 8086
  1645. mem8,reg8 \1\x86\101 8086
  1646. [XLAT]
  1647. (Ch_WEAX, Ch_REBX, Ch_None)
  1648. void \1\xD7 8086
  1649. [XLATB]
  1650. (Ch_WEAX, Ch_REBX, Ch_None)
  1651. void \1\xD7 8086
  1652. [XOR,xorX]
  1653. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  1654. regmem,reg16|32|64 \320\1\x31\101 8086,SM
  1655. reg16|32|64,regmem \320\1\x33\110 8086,SM
  1656. rm8,reg8 \1\x30\101 8086
  1657. reg8,rm8 \1\x32\110 8086
  1658. rm16|32|64,imm8 \320\1\x83\206\15 8086
  1659. reg_eax,imm \325\1\x35\41 386,SM
  1660. reg_rax,imm \326\1\x35\255 X86_64,SM
  1661. rm32,imm \320\1\x81\206\41 386,SM
  1662. rm64,imm \326\1\x81\206\255 X86_64,SM
  1663. reg_ax,imm \324\1\x35\31 8086,SW
  1664. rm16,imm \324\1\x81\206\31 8086,SW
  1665. reg_al,imm \1\x34\21 8086,SB
  1666. rm8,imm \1\x80\206\21 8086,SB
  1667. [XSTORE]
  1668. (Ch_All, Ch_None, Ch_None)
  1669. void \3\x0F\xA7\xC0 P6,CYRIX
  1670. [XCRYPTECB]
  1671. (Ch_All, Ch_None, Ch_None)
  1672. void \333\3\x0F\xA7\xC8 P6,CYRIX
  1673. [XCRYPTCBC]
  1674. (Ch_All, Ch_None, Ch_None)
  1675. void \333\3\x0F\xA7\xD0 P6,CYRIX
  1676. [XCRYPTCFB]
  1677. (Ch_All, Ch_None, Ch_None)
  1678. void \333\3\x0F\xA7\xE0 P6,CYRIX
  1679. [XCRYPTOFB]
  1680. (Ch_All, Ch_None, Ch_None)
  1681. void \333\3\x0F\xA7\xE8 P6,CYRIX
  1682. [CMOVcc,cmovCCX]
  1683. (Ch_ROp1, Ch_WOp2, Ch_RFLAGS)
  1684. reg16|32|64,regmem \320\1\x0F\13\x40\110 P6,SM
  1685. [Jcc]
  1686. (Ch_RFLAGS, Ch_None, Ch_None)
  1687. imm8 \13\x70\50 8086
  1688. imm16|32 \320\1\x0F\13\x80\64 386,PASS2
  1689. imm|short \13\x70\50 8086
  1690. imm|near \320\1\x0F\13\x80\64 386,PASS2
  1691. [SETcc,setCCX]
  1692. (Ch_RFLAGS, Ch_WOp1, Ch_None)
  1693. rm8 \1\x0F\13\x90\200 386
  1694. ;
  1695. ; Katmai Streaming SIMD instructions (SSE -- a.k.a. KNI, XMM, MMX2)
  1696. ;
  1697. [ADDPS]
  1698. (Ch_Mop2, Ch_Rop1, Ch_None)
  1699. xmmreg,xmmrm \331\2\x0F\x58\110 KATMAI,SSE
  1700. [ADDSS]
  1701. (Ch_Mop2, Ch_Rop1, Ch_None)
  1702. xmmreg,xmmrm \333\2\x0F\x58\110 KATMAI,SSE
  1703. [ANDNPS]
  1704. (Ch_Mop2, Ch_Rop1, Ch_None)
  1705. xmmreg,xmmrm \2\x0F\x55\110 KATMAI,SSE
  1706. [ANDPS]
  1707. (Ch_Mop2, Ch_Rop1, Ch_None)
  1708. xmmreg,xmmrm \2\x0F\x54\110 KATMAI,SSE
  1709. [CMPEQPS]
  1710. (Ch_All, Ch_None, Ch_None)
  1711. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x00 KATMAI,SSE
  1712. [CMPEQSS]
  1713. (Ch_All, Ch_None, Ch_None)
  1714. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x00 KATMAI,SSE
  1715. [CMPLEPS]
  1716. (Ch_All, Ch_None, Ch_None)
  1717. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x02 KATMAI,SSE
  1718. [CMPLESS]
  1719. (Ch_All, Ch_None, Ch_None)
  1720. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x02 KATMAI,SSE
  1721. [CMPLTPS]
  1722. (Ch_All, Ch_None, Ch_None)
  1723. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x01 KATMAI,SSE
  1724. [CMPLTSS]
  1725. (Ch_All, Ch_None, Ch_None)
  1726. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x01 KATMAI,SSE
  1727. [CMPNEQPS]
  1728. (Ch_All, Ch_None, Ch_None)
  1729. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x04 KATMAI,SSE
  1730. [CMPNEQSS]
  1731. (Ch_All, Ch_None, Ch_None)
  1732. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x04 KATMAI,SSE
  1733. [CMPNLEPS]
  1734. (Ch_All, Ch_None, Ch_None)
  1735. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x06 KATMAI,SSE
  1736. [CMPNLESS]
  1737. (Ch_All, Ch_None, Ch_None)
  1738. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x06 KATMAI,SSE
  1739. [CMPNLTPS]
  1740. (Ch_All, Ch_None, Ch_None)
  1741. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x05 KATMAI,SSE
  1742. [CMPNLTSS]
  1743. (Ch_All, Ch_None, Ch_None)
  1744. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x05 KATMAI,SSE
  1745. [CMPORDPS]
  1746. (Ch_All, Ch_None, Ch_None)
  1747. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x07 KATMAI,SSE
  1748. [CMPORDSS]
  1749. (Ch_All, Ch_None, Ch_None)
  1750. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x07 KATMAI,SSE
  1751. [CMPUNORDPS]
  1752. (Ch_All, Ch_None, Ch_None)
  1753. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x03 KATMAI,SSE
  1754. [CMPUNORDSS]
  1755. (Ch_All, Ch_None, Ch_None)
  1756. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x03 KATMAI,SSE
  1757. ;
  1758. ; CMPPS/CMPSS must come after the specific ops; that way the disassembler will find the
  1759. ; specific ops first and only disassemble illegal ones as cmpps.
  1760. ;
  1761. [CMPPS]
  1762. (Ch_All, Ch_None, Ch_None)
  1763. xmmreg,xmmrm,imm \331\2\x0F\xC2\110\22 KATMAI,SSE,SB,AR2
  1764. [CMPSS]
  1765. (Ch_All, Ch_None, Ch_None)
  1766. xmmreg,xmmrm,imm \333\2\x0F\xC2\110\22 KATMAI,SSE,SB,AR2
  1767. [COMISS]
  1768. (Ch_All, Ch_None, Ch_None)
  1769. xmmreg,xmmrm \2\x0F\x2F\110 KATMAI,SSE
  1770. [CVTPI2PS]
  1771. (Ch_Wop2, Ch_Rop1, Ch_None)
  1772. xmmreg,mem \331\2\x0F\x2A\110 KATMAI,SSE,MMX
  1773. xmmreg,mmxreg \331\2\x0F\x2A\110 KATMAI,SSE,MMX
  1774. [CVTPS2PI]
  1775. (Ch_Wop2, Ch_Rop1, Ch_None)
  1776. mmxreg,mem \331\2\x0F\x2D\110 KATMAI,SSE,MMX
  1777. mmxreg,xmmreg \331\2\x0F\x2D\110 KATMAI,SSE,MMX
  1778. [CVTSI2SS,cvtsi2ssX]
  1779. (Ch_Wop2, Ch_Rop1, Ch_None)
  1780. xmmreg,mem \333\321\2\x0F\x2A\110 KATMAI,SSE
  1781. xmmreg,reg32|64 \333\321\2\x0F\x2A\110 KATMAI,SSE
  1782. [CVTSS2SI,cvtss2siX]
  1783. (Ch_Wop2, Ch_Rop1, Ch_None)
  1784. reg32|64,mem \333\320\2\x0F\x2D\110 KATMAI,SSE
  1785. reg32|64,xmmreg \333\320\2\x0F\x2D\110 KATMAI,SSE
  1786. [CVTTPS2PI]
  1787. (Ch_Wop2, Ch_Rop1, Ch_None)
  1788. mmxreg,mem \331\2\x0F\x2C\110 KATMAI,SSE,MMX
  1789. mmxreg,xmmreg \331\2\x0F\x2C\110 KATMAI,SSE,MMX
  1790. [CVTTSS2SI,cvttss2siX]
  1791. (Ch_Wop2, Ch_Rop1, Ch_None)
  1792. reg32|64,mem \333\320\2\x0F\x2C\110 KATMAI,SSE
  1793. reg32|64,xmmreg \333\320\2\x0F\x2C\110 KATMAI,SSE
  1794. [DIVPS]
  1795. (Ch_Mop2, Ch_Rop1, Ch_None)
  1796. xmmreg,xmmrm \331\2\x0F\x5E\110 KATMAI,SSE
  1797. [DIVSS]
  1798. (Ch_Mop2, Ch_Rop1, Ch_None)
  1799. xmmreg,xmmrm \333\2\x0F\x5E\110 KATMAI,SSE
  1800. [LDMXCSR]
  1801. (Ch_All, Ch_None, Ch_None)
  1802. mem \2\x0F\xAE\202 KATMAI,SSE,SD
  1803. [MAXPS]
  1804. (Ch_All, Ch_None, Ch_None)
  1805. xmmreg,xmmrm \331\2\x0F\x5F\110 KATMAI,SSE
  1806. [MAXSS]
  1807. (Ch_All, Ch_None, Ch_None)
  1808. xmmreg,xmmrm \333\2\x0F\x5F\110 KATMAI,SSE
  1809. [MINPS]
  1810. (Ch_All, Ch_None, Ch_None)
  1811. xmmreg,xmmrm \331\2\x0F\x5D\110 KATMAI,SSE
  1812. [MINSS]
  1813. (Ch_All, Ch_None, Ch_None)
  1814. xmmreg,xmmrm \333\2\x0F\x5D\110 KATMAI,SSE
  1815. [MOVAPS]
  1816. (Ch_ROp1, Ch_WOp2, Ch_None)
  1817. xmmreg,xmmrm \2\x0F\x28\110 KATMAI,SSE
  1818. xmmrm,xmmreg \2\x0F\x29\101 KATMAI,SSE
  1819. [MOVHPS]
  1820. (Ch_All, Ch_None, Ch_None)
  1821. xmmreg,mem \2\x0F\x16\110 KATMAI,SSE
  1822. mem,xmmreg \2\x0F\x17\101 KATMAI,SSE
  1823. [MOVLHPS]
  1824. (Ch_All, Ch_None, Ch_None)
  1825. xmmreg,xmmreg \2\x0F\x16\110 KATMAI,SSE
  1826. [MOVLPS]
  1827. (Ch_All, Ch_None, Ch_None)
  1828. xmmreg,mem \2\x0F\x12\110 KATMAI,SSE
  1829. mem,xmmreg \2\x0F\x13\101 KATMAI,SSE
  1830. [MOVHLPS]
  1831. (Ch_All, Ch_None, Ch_None)
  1832. xmmreg,xmmreg \2\x0F\x12\110 KATMAI,SSE
  1833. [MOVMSKPS]
  1834. (Ch_All, Ch_None, Ch_None)
  1835. reg32,xmmreg \2\x0F\x50\110 KATMAI,SSE
  1836. [MOVNTPS]
  1837. (Ch_All, Ch_None, Ch_None)
  1838. mem,xmmreg \2\x0F\x2B\101 KATMAI,SSE
  1839. [MOVSS]
  1840. (Ch_Wop2, Ch_Rop1, Ch_None)
  1841. xmmreg,xmmrm \333\2\x0F\x10\110 KATMAI,SSE
  1842. xmmrm,xmmreg \333\2\x0F\x11\101 KATMAI,SSE
  1843. [MOVUPS]
  1844. (Ch_All, Ch_None, Ch_None)
  1845. xmmreg,xmmrm \331\2\x0F\x10\110 KATMAI,SSE
  1846. xmmrm,xmmreg \331\2\x0F\x11\101 KATMAI,SSE
  1847. [MULPS]
  1848. (Ch_Mop2, Ch_Rop1, Ch_None)
  1849. xmmreg,xmmrm \2\x0F\x59\110 KATMAI,SSE
  1850. [MULSS]
  1851. (Ch_Mop2, Ch_Rop1, Ch_None)
  1852. xmmreg,xmmrm \333\2\x0F\x59\110 KATMAI,SSE
  1853. [ORPS]
  1854. (Ch_Mop2, Ch_Rop1, Ch_None)
  1855. xmmreg,xmmrm \2\x0F\x56\110 KATMAI,SSE
  1856. [RCPPS]
  1857. (Ch_All, Ch_None, Ch_None)
  1858. xmmreg,xmmrm \331\2\x0F\x53\110 KATMAI,SSE
  1859. [RCPSS]
  1860. (Ch_All, Ch_None, Ch_None)
  1861. xmmreg,xmmrm \333\2\x0F\x53\110 KATMAI,SSE
  1862. [RSQRTPS]
  1863. (Ch_All, Ch_None, Ch_None)
  1864. xmmreg,xmmrm \331\2\x0F\x52\110 KATMAI,SSE
  1865. [RSQRTSS]
  1866. (Ch_All, Ch_None, Ch_None)
  1867. xmmreg,xmmrm \333\2\x0F\x52\110 KATMAI,SSE
  1868. [SHUFPS]
  1869. (Ch_All, Ch_None, Ch_None)
  1870. xmmreg,xmmrm,imm \2\x0F\xC6\110\22 KATMAI,SSE,SB,AR2
  1871. [SQRTPS]
  1872. (Ch_Mop2, Ch_Rop1, Ch_None)
  1873. xmmreg,xmmrm \331\2\x0F\x51\110 KATMAI,SSE
  1874. [SQRTSS]
  1875. (Ch_Mop2, Ch_Rop1, Ch_None)
  1876. xmmreg,xmmrm \333\2\x0F\x51\110 KATMAI,SSE
  1877. [STMXCSR]
  1878. (Ch_All, Ch_None, Ch_None)
  1879. mem \2\x0F\xAE\203 KATMAI,SSE,SD
  1880. [SUBPS]
  1881. (Ch_Mop2, Ch_Rop1, Ch_None)
  1882. xmmreg,xmmrm \331\2\x0F\x5C\110 KATMAI,SSE
  1883. [SUBSS]
  1884. (Ch_Mop2, Ch_Rop1, Ch_None)
  1885. xmmreg,xmmrm \333\2\x0F\x5C\110 KATMAI,SSE
  1886. [UCOMISS]
  1887. (Ch_All, Ch_None, Ch_None)
  1888. xmmreg,xmmrm \2\x0F\x2E\110 KATMAI,SSE
  1889. [UNPCKHPS]
  1890. (Ch_All, Ch_None, Ch_None)
  1891. xmmreg,xmmrm \2\x0F\x15\110 KATMAI,SSE
  1892. [UNPCKLPS]
  1893. (Ch_All, Ch_None, Ch_None)
  1894. xmmreg,xmmrm \2\x0F\x14\110 KATMAI,SSE
  1895. [XORPS]
  1896. (Ch_Mop2, Ch_Rop1, Ch_None)
  1897. xmmreg,xmmrm \2\x0F\x57\110 KATMAI,SSE
  1898. ;
  1899. ; Introduced in Dechutes but necessary for SSE support
  1900. ;
  1901. [FXRSTOR]
  1902. (Ch_All, Ch_None, Ch_None)
  1903. mem \2\x0F\xAE\201 P6,SSE,FPU
  1904. [FXSAVE]
  1905. (Ch_All, Ch_None, Ch_None)
  1906. mem \2\x0F\xAE\200 P6,SSE,FPU
  1907. ;
  1908. ; These instructions aren't SSE-specific; they are generic memory operations
  1909. ; and work even if CR4.OSFXFR == 0
  1910. ;
  1911. [PREFETCHNTA]
  1912. (Ch_All, Ch_None, Ch_None)
  1913. mem \2\x0F\x18\200 KATMAI
  1914. [PREFETCHT0]
  1915. (Ch_All, Ch_None, Ch_None)
  1916. mem \2\x0F\x18\201 KATMAI
  1917. [PREFETCHT1]
  1918. (Ch_All, Ch_None, Ch_None)
  1919. mem \2\x0F\x18\202 KATMAI
  1920. [PREFETCHT2]
  1921. (Ch_All, Ch_None, Ch_None)
  1922. mem \2\x0F\x18\203 KATMAI
  1923. [SFENCE]
  1924. (Ch_All, Ch_None, Ch_None)
  1925. void \3\x0F\xAE\xF8 KATMAI
  1926. ;
  1927. ; New MMX instructions introduced in Katmai
  1928. ;
  1929. [MASKMOVQ]
  1930. (Ch_All, Ch_None, Ch_None)
  1931. mmxreg,mmxreg \2\x0F\xF7\110 KATMAI,MMX
  1932. [MOVNTQ]
  1933. (Ch_All, Ch_None, Ch_None)
  1934. mem,mmxreg \2\x0F\xE7\101 KATMAI,MMX,SM
  1935. [PAVGB]
  1936. (Ch_All, Ch_None, Ch_None)
  1937. mmxreg,mmxrm \2\x0F\xE0\110 KATMAI,MMX,SM
  1938. xmmreg,xmmrm \361\2\x0F\xE0\110 WILLAMETTE,SSE2,SM
  1939. [PAVGW]
  1940. (Ch_All, Ch_None, Ch_None)
  1941. mmxreg,mmxrm \2\x0F\xE3\110 KATMAI,MMX,SM
  1942. xmmreg,xmmrm \361\2\x0F\xE3\110 WILLAMETTE,SSE2,SM
  1943. [PEXTRW]
  1944. (Ch_All, Ch_None, Ch_None)
  1945. reg32,mmxreg,imm \2\x0F\xC5\110\22 KATMAI,MMX,SB,AR2
  1946. reg32,xmmreg,imm \361\2\x0F\xC5\110\26 SSE41
  1947. mem32,xmmreg,imm \361\3\x0F\x3A\x15\101\26 SSE41
  1948. [PINSRW]
  1949. (Ch_All, Ch_None, Ch_None)
  1950. ; PINSRW is documented as using a reg32, but it's really using only 16 bit
  1951. ; -- accept either, but be truthful in disassembly
  1952. mmxreg,reg16,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2
  1953. mmxreg,reg32,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2,ND
  1954. mmxreg,mem,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2
  1955. mmxreg,mem16,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2,ND
  1956. xmmreg,reg16,imm \361\2\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2
  1957. xmmreg,reg32,imm \361\2\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2,ND
  1958. xmmreg,mem,imm \361\2\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2
  1959. xmmreg,mem16,imm \361\2\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2,ND
  1960. [PMAXSW]
  1961. (Ch_All, Ch_None, Ch_None)
  1962. mmxreg,mmxrm \2\x0F\xEE\110 KATMAI,MMX,SM
  1963. xmmreg,xmmrm \361\2\x0F\xEE\110 WILLAMETTE,SSE2,SM
  1964. [PMAXUB]
  1965. (Ch_All, Ch_None, Ch_None)
  1966. mmxreg,mmxrm \2\x0F\xDE\110 KATMAI,MMX,SM
  1967. xmmreg,xmmrm \361\2\x0F\xDE\110 WILLAMETTE,SSE2,SM
  1968. [PMINSW]
  1969. (Ch_All, Ch_None, Ch_None)
  1970. mmxreg,mmxrm \2\x0F\xEA\110 KATMAI,MMX,SM
  1971. xmmreg,xmmrm \361\2\x0F\xEA\110 WILLAMETTE,SSE2,SM
  1972. [PMINUB]
  1973. (Ch_All, Ch_None, Ch_None)
  1974. mmxreg,mmxrm \2\x0F\xDA\110 KATMAI,MMX,SM
  1975. xmmreg,xmmrm \361\2\x0F\xDA\110 WILLAMETTE,SSE2,SM
  1976. [PMOVMSKB]
  1977. (Ch_All, Ch_None, Ch_None)
  1978. reg32,mmxreg \2\x0F\xD7\110 KATMAI,MMX
  1979. reg32,xmmreg \361\2\x0F\xD7\110 WILLAMETTE,SSE2
  1980. [PMULHUW]
  1981. (Ch_All, Ch_None, Ch_None)
  1982. mmxreg,mmxrm \2\x0F\xE4\110 KATMAI,MMX,SM
  1983. xmmreg,xmmrm \361\2\x0F\xE4\110 WILLAMETTE,SSE2,SM
  1984. [PSADBW]
  1985. (Ch_All, Ch_None, Ch_None)
  1986. mmxreg,mmxrm \2\x0F\xF6\110 KATMAI,MMX,SM
  1987. xmmreg,xmmrm \361\2\x0F\xF6\110 WILLAMETTE,SSE2,SM
  1988. [PSHUFW]
  1989. (Ch_All, Ch_None, Ch_None)
  1990. mmxreg,mmxrm,imm \2\x0F\x70\110\22 KATMAI,MMX,SM2,SB,AR2
  1991. ;
  1992. ; New Athlon Instructions
  1993. ;
  1994. [PFNACC]
  1995. (Ch_All, Ch_None, Ch_None)
  1996. mmxreg,mmxrm \2\x0F\x0F\110\01\x8A PENT,3DNOW,SM
  1997. [PFPNACC]
  1998. (Ch_All, Ch_None, Ch_None)
  1999. mmxreg,mmxrm \2\x0F\x0F\110\01\x8E PENT,3DNOW,SM
  2000. [PI2FW]
  2001. (Ch_All, Ch_None, Ch_None)
  2002. mmxreg,mmxrm \2\x0F\x0F\110\01\x0C PENT,3DNOW,SM
  2003. [PF2IW]
  2004. (Ch_All, Ch_None, Ch_None)
  2005. mmxreg,mmxrm \2\x0F\x0F\110\01\x1C PENT,3DNOW,SM
  2006. [PSWAPD]
  2007. (Ch_All, Ch_None, Ch_None)
  2008. mmxreg,mmxrm \2\x0F\x0F\110\01\xBB PENT,3DNOW,SM
  2009. [FFREEP]
  2010. (Ch_All, Ch_None, Ch_None)
  2011. fpureg \1\xDF\10\xC0 PENT,3DNOW,FPU
  2012. ; Willamette SSE2 Cacheability Instructions
  2013. [MASKMOVDQU]
  2014. (Ch_All, Ch_None, Ch_None)
  2015. xmmreg,xmmreg \361\2\x0F\xF7\110 WILLAMETTE,SSE2
  2016. ; CLFLUSH needs its own feature flag implemented one day
  2017. [CLFLUSH]
  2018. (Ch_All, Ch_None, Ch_None)
  2019. mem \2\x0F\xAE\207 WILLAMETTE,SSE2
  2020. [MOVNTDQ]
  2021. (Ch_All, Ch_None, Ch_None)
  2022. mem,xmmreg \361\2\x0F\xE7\101 WILLAMETTE,SSE2,SM
  2023. [MOVNTI,movntiX]
  2024. (Ch_All, Ch_None, Ch_None)
  2025. mem,reg32|64 \320\2\x0F\xC3\101 WILLAMETTE,SSE2,SM
  2026. [MOVNTPD]
  2027. (Ch_All, Ch_None, Ch_None)
  2028. mem,xmmreg \361\2\x0F\x2B\101 WILLAMETTE,SSE2,SM
  2029. [PAUSE]
  2030. (Ch_All, Ch_None, Ch_None)
  2031. void \333\1\x90 WILLAMETTE,SSE2
  2032. [LFENCE]
  2033. (Ch_All, Ch_None, Ch_None)
  2034. void \3\x0F\xAE\xE8 WILLAMETTE,SSE2
  2035. [MFENCE]
  2036. (Ch_All, Ch_None, Ch_None)
  2037. void \3\x0F\xAE\xF0 WILLAMETTE,SSE2
  2038. ;
  2039. ; Willamette MMX instructions (SSE2 SIMD Integer Instructions)
  2040. ;
  2041. [MOVDQA]
  2042. (Ch_All, Ch_None, Ch_None)
  2043. xmmrm,xmmreg \361\2\x0F\x7F\101 WILLAMETTE,SSE2,SM
  2044. xmmreg,xmmrm \361\2\x0F\x6F\110 WILLAMETTE,SSE2,SM
  2045. [MOVDQU]
  2046. (Ch_All, Ch_None, Ch_None)
  2047. xmmrm,xmmreg \333\2\x0F\x7F\101 WILLAMETTE,SSE2,SM
  2048. xmmreg,xmmrm \333\2\x0F\x6F\110 WILLAMETTE,SSE2,SM
  2049. [MOVDQ2Q]
  2050. (Ch_All, Ch_None, Ch_None)
  2051. mmxreg,xmmreg \334\2\x0F\xD6\110 WILLAMETTE,SSE2
  2052. [MOVQ2DQ]
  2053. (Ch_All, Ch_None, Ch_None)
  2054. xmmreg,mmxreg \333\2\x0F\xD6\110 WILLAMETTE,SSE2
  2055. [PADDQ]
  2056. (Ch_All, Ch_None, Ch_None)
  2057. mmxreg,mmxrm \2\x0F\xD4\110 WILLAMETTE,SSE2,SM
  2058. xmmreg,xmmrm \361\2\x0F\xD4\110 WILLAMETTE,SSE2,SM
  2059. [PMULUDQ]
  2060. (Ch_All, Ch_None, Ch_None)
  2061. mmxreg,mmxrm \2\x0F\xF4\110 WILLAMETTE,SSE2,SM
  2062. xmmreg,xmmrm \361\2\x0F\xF4\110 WILLAMETTE,SSE2,SM
  2063. [PSHUFD]
  2064. (Ch_All, Ch_None, Ch_None)
  2065. xmmreg,xmmrm,imm \361\2\x0F\x70\110\22 WILLAMETTE,SSE2,SM2,SB,AR2
  2066. [PSHUFHW]
  2067. (Ch_All, Ch_None, Ch_None)
  2068. xmmreg,xmmrm,imm \333\2\x0F\x70\110\22 WILLAMETTE,SSE2,SM2,SB,AR2
  2069. [PSHUFLW]
  2070. (Ch_All, Ch_None, Ch_None)
  2071. xmmreg,xmmrm,imm \334\2\x0F\x70\110\22 WILLAMETTE,SSE2,SM2,SB,AR2
  2072. [PSRLDQ]
  2073. (Ch_All, Ch_None, Ch_None)
  2074. xmmreg,imm \361\2\x0F\x73\203\25 WILLAMETTE,SSE2,SB,AR1
  2075. [PSUBQ]
  2076. (Ch_All, Ch_None, Ch_None)
  2077. mmxreg,mmxrm \2\x0F\xFB\110 WILLAMETTE,SSE2,SM
  2078. xmmreg,xmmrm \361\2\x0F\xFB\110 WILLAMETTE,SSE2,SM
  2079. [PUNPCKHQDQ]
  2080. (Ch_All, Ch_None, Ch_None)
  2081. xmmreg,xmmrm \361\2\x0F\x6D\110 WILLAMETTE,SSE2,SM
  2082. [PUNPCKLQDQ]
  2083. (Ch_All, Ch_None, Ch_None)
  2084. xmmreg,xmmrm \361\2\x0F\x6C\110 WILLAMETTE,SSE2,SM
  2085. ;
  2086. ; Willamette Streaming SIMD instructions (SSE2)
  2087. ;
  2088. [ADDPD]
  2089. (Ch_Mop2, Ch_Rop1, Ch_None)
  2090. xmmreg,xmmrm \361\2\x0F\x58\110 WILLAMETTE,SSE2,SM
  2091. [ADDSD]
  2092. (Ch_Mop2, Ch_Rop1, Ch_None)
  2093. xmmreg,xmmrm \334\2\x0F\x58\110 WILLAMETTE,SSE2
  2094. [ANDNPD]
  2095. (Ch_Mop2, Ch_Rop1, Ch_None)
  2096. xmmreg,xmmrm \361\2\x0F\x55\110 WILLAMETTE,SSE2,SM
  2097. [ANDPD]
  2098. (Ch_Mop2, Ch_Rop1, Ch_None)
  2099. xmmreg,xmmrm \361\2\x0F\x54\110 WILLAMETTE,SSE2,SM
  2100. [CMPEQPD]
  2101. (Ch_All, Ch_None, Ch_None)
  2102. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x00 WILLAMETTE,SSE2,SM
  2103. ; note: no SM flag on CMPxxSD, they use 64-bit memory location, not 128-bit
  2104. [CMPEQSD]
  2105. (Ch_All, Ch_None, Ch_None)
  2106. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x00 WILLAMETTE,SSE2
  2107. [CMPLEPD]
  2108. (Ch_All, Ch_None, Ch_None)
  2109. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x02 WILLAMETTE,SSE2,SM
  2110. [CMPLESD]
  2111. (Ch_All, Ch_None, Ch_None)
  2112. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x02 WILLAMETTE,SSE2
  2113. [CMPLTPD]
  2114. (Ch_All, Ch_None, Ch_None)
  2115. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x01 WILLAMETTE,SSE2,SM
  2116. [CMPLTSD]
  2117. (Ch_All, Ch_None, Ch_None)
  2118. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x01 WILLAMETTE,SSE2
  2119. [CMPNEQPD]
  2120. (Ch_All, Ch_None, Ch_None)
  2121. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x04 WILLAMETTE,SSE2,SM
  2122. [CMPNEQSD]
  2123. (Ch_All, Ch_None, Ch_None)
  2124. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x04 WILLAMETTE,SSE2
  2125. [CMPNLEPD]
  2126. (Ch_All, Ch_None, Ch_None)
  2127. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x06 WILLAMETTE,SSE2,SM
  2128. [CMPNLESD]
  2129. (Ch_All, Ch_None, Ch_None)
  2130. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x06 WILLAMETTE,SSE2
  2131. [CMPNLTPD]
  2132. (Ch_All, Ch_None, Ch_None)
  2133. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x05 WILLAMETTE,SSE2,SM
  2134. [CMPNLTSD]
  2135. (Ch_All, Ch_None, Ch_None)
  2136. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x05 WILLAMETTE,SSE2
  2137. [CMPORDPD]
  2138. (Ch_All, Ch_None, Ch_None)
  2139. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x07 WILLAMETTE,SSE2,SM
  2140. [CMPORDSD]
  2141. (Ch_All, Ch_None, Ch_None)
  2142. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x07 WILLAMETTE,SSE2
  2143. [CMPUNORDPD]
  2144. (Ch_All, Ch_None, Ch_None)
  2145. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x03 WILLAMETTE,SSE2,SM
  2146. [CMPUNORDSD]
  2147. (Ch_All, Ch_None, Ch_None)
  2148. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x03 WILLAMETTE,SSE2
  2149. ; CMPPD/CMPSD must come after the specific ops; that way the disassembler will find the
  2150. ; specific ops first and only disassemble illegal ones as cmppd/cmpsd.
  2151. [CMPPD]
  2152. (Ch_All, Ch_None, Ch_None)
  2153. xmmreg,xmmrm,imm \361\2\x0F\xC2\110\26 WILLAMETTE,SSE2,SM2,SB,AR2
  2154. [COMISD]
  2155. (Ch_All, Ch_None, Ch_None)
  2156. xmmreg,xmmrm \361\2\x0F\x2F\110 WILLAMETTE,SSE2
  2157. [CVTDQ2PD]
  2158. (Ch_Wop2, Ch_Rop1, Ch_None)
  2159. xmmreg,xmmrm \333\2\x0F\xE6\110 WILLAMETTE,SSE2
  2160. [CVTDQ2PS]
  2161. (Ch_Wop2, Ch_Rop1, Ch_None)
  2162. xmmreg,xmmrm \2\x0F\x5B\110 WILLAMETTE,SSE2,SM
  2163. [CVTPD2DQ]
  2164. (Ch_Wop2, Ch_Rop1, Ch_None)
  2165. xmmreg,xmmrm \334\2\x0F\xE6\110 WILLAMETTE,SSE2,SM
  2166. [CVTPD2PI]
  2167. (Ch_Wop2, Ch_Rop1, Ch_None)
  2168. mmxreg,xmmrm \361\2\x0F\x2D\110 WILLAMETTE,SSE2 ;,SO
  2169. [CVTPD2PS]
  2170. (Ch_Wop2, Ch_Rop1, Ch_None)
  2171. xmmreg,xmmrm \361\2\x0F\x5A\110 WILLAMETTE,SSE2,SM
  2172. [CVTPI2PD]
  2173. (Ch_Wop2, Ch_Rop1, Ch_None)
  2174. xmmreg,mmxrm \361\2\x0F\x2A\110 WILLAMETTE,SSE2 ;,SO
  2175. [CVTPS2DQ]
  2176. (Ch_Wop2, Ch_Rop1, Ch_None)
  2177. xmmreg,xmmrm \361\2\x0F\x5B\110 WILLAMETTE,SSE2,SM
  2178. [CVTPS2PD]
  2179. (Ch_Wop2, Ch_Rop1, Ch_None)
  2180. xmmreg,xmmrm \2\x0F\x5A\110 WILLAMETTE,SSE2 ;,SQ
  2181. [CVTSD2SI,cvtsd2siX]
  2182. (Ch_Wop2, Ch_Rop1, Ch_None)
  2183. reg32|64,xmmreg \334\320\2\x0F\x2D\110 WILLAMETTE,SSE2
  2184. reg32|64,mem \334\320\2\x0F\x2D\110 WILLAMETTE,SSE2
  2185. [CVTSD2SS]
  2186. (Ch_Wop2, Ch_Rop1, Ch_None)
  2187. xmmreg,xmmrm \334\2\x0F\x5A\110 WILLAMETTE,SSE2 ;,SQ
  2188. [CVTSI2SD,cvtsi2sdX]
  2189. (Ch_Wop2, Ch_Rop1, Ch_None)
  2190. xmmreg,reg32|64 \334\321\2\x0F\x2A\110 WILLAMETTE,SSE2
  2191. xmmreg,mem \334\321\2\x0F\x2A\110 WILLAMETTE,SSE2
  2192. [CVTSS2SD]
  2193. (Ch_Wop2, Ch_Rop1, Ch_None)
  2194. xmmreg,xmmrm \333\2\x0F\x5A\110 WILLAMETTE,SSE2 ;,SD
  2195. [CVTTPD2PI]
  2196. (Ch_Wop2, Ch_Rop1, Ch_None)
  2197. mmxreg,xmmreg \361\2\x0F\x2C\110 WILLAMETTE,SSE2
  2198. mmxreg,mem \361\2\x0F\x2C\110 WILLAMETTE,SSE2
  2199. [CVTTPD2DQ]
  2200. (Ch_Wop2, Ch_Rop1, Ch_None)
  2201. xmmreg,xmmrm \361\2\x0F\xE6\110 WILLAMETTE,SSE2,SM
  2202. [CVTTPS2DQ]
  2203. (Ch_Wop2, Ch_Rop1, Ch_None)
  2204. xmmreg,xmmrm \333\2\x0F\x5B\110 WILLAMETTE,SSE2,SM
  2205. [CVTTSD2SI,cvttsd2siX]
  2206. (Ch_Wop2, Ch_Rop1, Ch_None)
  2207. reg32|64,xmmreg \334\320\2\x0F\x2C\110 WILLAMETTE,SSE2
  2208. reg32|64,mem \334\320\2\x0F\x2C\110 WILLAMETTE,SSE2
  2209. [DIVPD]
  2210. (Ch_Mop2, Ch_Rop1, Ch_None)
  2211. xmmreg,xmmrm \361\2\x0F\x5E\110 WILLAMETTE,SSE2,SM
  2212. [DIVSD]
  2213. (Ch_Mop2, Ch_Rop1, Ch_None)
  2214. xmmreg,xmmrm \334\2\x0F\x5E\110 WILLAMETTE,SSE2
  2215. [MAXPD]
  2216. (Ch_All, Ch_None, Ch_None)
  2217. xmmreg,xmmrm \361\2\x0F\x5F\110 WILLAMETTE,SSE2,SM
  2218. [MAXSD]
  2219. (Ch_All, Ch_None, Ch_None)
  2220. xmmreg,xmmrm \334\2\x0F\x5F\110 WILLAMETTE,SSE2
  2221. [MINPD]
  2222. (Ch_All, Ch_None, Ch_None)
  2223. xmmreg,xmmrm \361\2\x0F\x5D\110 WILLAMETTE,SSE2,SM
  2224. [MINSD]
  2225. (Ch_All, Ch_None, Ch_None)
  2226. xmmreg,xmmrm \334\2\x0F\x5D\110 WILLAMETTE,SSE2
  2227. [MOVAPD]
  2228. (Ch_ROp1, Ch_WOp2, Ch_None)
  2229. xmmrm,xmmreg \361\2\x0F\x29\101 WILLAMETTE,SSE2,SM
  2230. xmmreg,xmmrm \361\2\x0F\x28\110 WILLAMETTE,SSE2,SM
  2231. [MOVHPD]
  2232. (Ch_All, Ch_None, Ch_None)
  2233. mem,xmmreg \361\2\x0F\x17\101 WILLAMETTE,SSE2
  2234. xmmreg,mem \361\2\x0F\x16\110 WILLAMETTE,SSE2
  2235. [MOVLPD]
  2236. (Ch_All, Ch_None, Ch_None)
  2237. mem,xmmreg \361\2\x0F\x13\101 WILLAMETTE,SSE2
  2238. xmmreg,mem \361\2\x0F\x12\110 WILLAMETTE,SSE2
  2239. [MOVMSKPD]
  2240. (Ch_All, Ch_None, Ch_None)
  2241. reg32,xmmreg \361\2\x0F\x50\110 WILLAMETTE,SSE2
  2242. [MOVUPD]
  2243. (Ch_All, Ch_None, Ch_None)
  2244. xmmrm,xmmreg \361\2\x0F\x11\101 WILLAMETTE,SSE2,SM
  2245. xmmreg,xmmrm \361\2\x0F\x10\110 WILLAMETTE,SSE2,SM
  2246. [MULPD]
  2247. (Ch_Mop2, Ch_Rop1, Ch_None)
  2248. xmmreg,xmmrm \361\2\x0F\x59\110 WILLAMETTE,SSE2,SM
  2249. [MULSD]
  2250. (Ch_Mop2, Ch_Rop1, Ch_None)
  2251. xmmreg,xmmrm \334\2\x0F\x59\110 WILLAMETTE,SSE2
  2252. [ORPD]
  2253. (Ch_Mop2, Ch_Rop1, Ch_None)
  2254. xmmreg,xmmrm \361\2\x0F\x56\110 WILLAMETTE,SSE2,SM
  2255. [SHUFPD]
  2256. (Ch_All, Ch_None, Ch_None)
  2257. xmmreg,xmmrm,imm \361\2\x0F\xC6\110\26 WILLAMETTE,SSE2,SM2,SB,AR2
  2258. [SQRTPD]
  2259. (Ch_Mop2, Ch_Rop1, Ch_None)
  2260. xmmreg,xmmrm \361\2\x0F\x51\110 WILLAMETTE,SSE2,SM
  2261. [SQRTSD]
  2262. (Ch_Mop2, Ch_Rop1, Ch_None)
  2263. xmmreg,xmmrm \334\2\x0F\x51\110 WILLAMETTE,SSE2
  2264. [SUBPD]
  2265. (Ch_Mop2, Ch_Rop1, Ch_None)
  2266. xmmreg,xmmrm \361\2\x0F\x5C\110 WILLAMETTE,SSE2,SM
  2267. [SUBSD]
  2268. (Ch_Mop2, Ch_Rop1, Ch_None)
  2269. xmmreg,xmmrm \334\2\x0F\x5C\110 WILLAMETTE,SSE2
  2270. [UCOMISD]
  2271. (Ch_All, Ch_None, Ch_None)
  2272. xmmreg,xmmrm \361\2\x0F\x2E\110 WILLAMETTE,SSE2
  2273. [UNPCKHPD]
  2274. (Ch_All, Ch_None, Ch_None)
  2275. xmmreg,xmmrm \361\2\x0F\x15\110 WILLAMETTE,SSE2,SM
  2276. [UNPCKLPD]
  2277. (Ch_All, Ch_None, Ch_None)
  2278. xmmreg,xmmrm \361\2\x0F\x14\110 WILLAMETTE,SSE2,SM
  2279. [XORPD]
  2280. (Ch_Mop2, Ch_Rop1, Ch_None)
  2281. xmmreg,xmmrm \361\2\x0F\x57\110 WILLAMETTE,SSE2,SM
  2282. ;
  2283. ; Prescott New Instructions (SSE3)
  2284. ;
  2285. [ADDSUBPD]
  2286. (Ch_All, Ch_None, Ch_None)
  2287. xmmreg,xmmrm \361\2\x0F\xD0\110 PRESCOTT,SSE3,SM
  2288. [ADDSUBPS]
  2289. (Ch_All, Ch_None, Ch_None)
  2290. xmmreg,xmmrm \334\2\x0F\xD0\110 PRESCOTT,SSE3,SM
  2291. [HADDPD]
  2292. (Ch_All, Ch_None, Ch_None)
  2293. xmmreg,xmmrm \361\2\x0F\x7C\110 PRESCOTT,SSE3,SM
  2294. [HADDPS]
  2295. (Ch_All, Ch_None, Ch_None)
  2296. xmmreg,xmmrm \334\2\x0F\x7C\110 PRESCOTT,SSE3,SM
  2297. [HSUBPD]
  2298. (Ch_All, Ch_None, Ch_None)
  2299. xmmreg,xmmrm \361\2\x0F\x7D\110 PRESCOTT,SSE3,SM
  2300. [HSUBPS]
  2301. (Ch_All, Ch_None, Ch_None)
  2302. xmmreg,xmmrm \334\2\x0F\x7D\110 PRESCOTT,SSE3,SM
  2303. [LDDQU]
  2304. (Ch_All, Ch_None, Ch_None)
  2305. xmmreg,mem \334\2\x0F\xF0\110 PRESCOTT,SSE3
  2306. [MOVDDUP]
  2307. (Ch_All, Ch_None, Ch_None)
  2308. xmmreg,xmmrm \334\2\x0F\x12\110 PRESCOTT,SSE3
  2309. [MOVSHDUP]
  2310. (Ch_All, Ch_None, Ch_None)
  2311. xmmreg,xmmrm \333\2\x0F\x16\110 PRESCOTT,SSE3,SM
  2312. [MOVSLDUP]
  2313. (Ch_All, Ch_None, Ch_None)
  2314. xmmreg,xmmrm \333\2\x0F\x12\110 PRESCOTT,SSE3,SM
  2315. ;
  2316. ; Intel VT
  2317. ;
  2318. [VMREAD]
  2319. (Ch_All, Ch_None, Ch_None)
  2320. reg32,reg32 \2\x0F\x78\101 386,PRIV,PROT
  2321. mem,reg32 \2\x0F\x78\101 386,PRIV,PROT,SM
  2322. [VMWRITE]
  2323. (Ch_All, Ch_None, Ch_None)
  2324. reg32,reg32 \2\x0F\x79\110 386,PRIV,PROT
  2325. reg32,mem \2\x0F\x79\110 386,PRIV,PROT,SM
  2326. [VMCALL]
  2327. (Ch_All, Ch_None, Ch_None)
  2328. void \3\x0F\x01\xC1 386,PRIV,PROT
  2329. [VMLAUNCH]
  2330. (Ch_All, Ch_None, Ch_None)
  2331. void \3\x0F\x01\xC2 386,PRIV,PROT
  2332. [VMRESUME]
  2333. (Ch_All, Ch_None, Ch_None)
  2334. void \3\x0F\x01\xC3 386,PRIV,PROT
  2335. [VMXOFF]
  2336. (Ch_All, Ch_None, Ch_None)
  2337. void \3\x0F\x01\xC4 386,PRIV,PROT
  2338. ; note: ideally the following should be tagged with SQ
  2339. [VMXON]
  2340. (Ch_All, Ch_None, Ch_None)
  2341. mem \333\2\x0F\xC7\206 PRIV,PROT
  2342. [VMCLEAR]
  2343. (Ch_All, Ch_None, Ch_None)
  2344. mem \361\2\x0F\xC7\206 PRIV,PROT
  2345. [VMPTRLD]
  2346. (Ch_All, Ch_None, Ch_None)
  2347. mem \2\x0F\xC7\206 PRIV,PROT
  2348. [VMPTRST]
  2349. (Ch_All, Ch_None, Ch_None)
  2350. mem \2\x0F\xC7\207 PRIV,PROT
  2351. ;
  2352. ; AMD SVM
  2353. ;
  2354. [VMRUN]
  2355. (Ch_All, Ch_None, Ch_None)
  2356. void \3\x0F\x01\xD8 386,SVM,PRIV,PROT
  2357. [VMMCALL]
  2358. (Ch_All, Ch_None, Ch_None)
  2359. void \3\x0F\x01\xD9 386,SVM
  2360. [VMLOAD]
  2361. (Ch_All, Ch_None, Ch_None)
  2362. void \3\x0F\x01\xDA 386,SVM,PRIV,PROT
  2363. [VMSAVE]
  2364. (Ch_All, Ch_None, Ch_None)
  2365. void \3\x0F\x01\xDB 386,SVM,PRIV,PROT
  2366. [STGI]
  2367. (Ch_All, Ch_None, Ch_None)
  2368. void \3\x0F\x01\xDC 386,SVM,PRIV,PROT
  2369. [CLGI]
  2370. (Ch_All, Ch_None, Ch_None)
  2371. void \3\x0F\x01\xDD 386,SVM,PRIV,PROT
  2372. [SKINIT]
  2373. (Ch_All, Ch_None, Ch_None)
  2374. void \3\x0F\x01\xDE 386,SVM,PRIV,PROT
  2375. [INVLPGA]
  2376. (Ch_All, Ch_None, Ch_None)
  2377. void \3\x0F\x01\xDF 386,SVM,PRIV,PROT
  2378. ;
  2379. ; Centaur
  2380. ;
  2381. [MONTMUL]
  2382. (Ch_All, Ch_None, Ch_None)
  2383. void \333\3\x0F\xA6\xC0 CENTAUR
  2384. [XSHA1]
  2385. (Ch_All, Ch_None, Ch_None)
  2386. void \333\3\x0F\xA6\xC8 CENTAUR
  2387. [XSHA256]
  2388. (Ch_All, Ch_None, Ch_None)
  2389. void \333\3\x0F\xA6\xD0 CENTAUR
  2390. ;
  2391. ; Geode
  2392. ;
  2393. [DMINT]
  2394. (Ch_All, Ch_None, Ch_None)
  2395. void \2\x0F\x39 P6,CYRIX
  2396. [RDM]
  2397. (Ch_All, Ch_None, Ch_None)
  2398. void \2\x0F\x3A P6,CYRIX
  2399. ;
  2400. ; GAS specific x86-64 instructions
  2401. ;
  2402. [MOVABS]
  2403. (Ch_Wop2, Ch_Rop1, Ch_None)
  2404. reg32,imm \325\10\xB8\41 X86_64
  2405. [MOVSXD,movslq]
  2406. (Ch_Wop2, Ch_Rop1, Ch_None)
  2407. reg64,mem \326\1\x63\110 X86_64
  2408. reg64,reg32 \326\1\x63\110 X86_64
  2409. [CQO,cqto]
  2410. (Ch_MRAX, Ch_WRDX, Ch_None)
  2411. void \326\1\x99 X86_64
  2412. [CMPXCHG16B,cmpxchg16bX]
  2413. (Ch_All, Ch_None, Ch_None)
  2414. mem \326\2\x0F\xC7\201 X86_64
  2415. ;
  2416. ; SSE4a (AMD Barcelona CPUs, n/a on Intel)
  2417. ;
  2418. [MOVNTSS]
  2419. (Ch_All, Ch_None, Ch_None)
  2420. mem,xmmreg \333\2\x0F\x2B\101 SSE4,SD
  2421. [MOVNTSD]
  2422. (Ch_All, Ch_None, Ch_None)
  2423. mem,xmmreg \334\325\2\x0F\x2B\101 SSE4 ;,SQ
  2424. [INSERTQ]
  2425. (Ch_All, Ch_None, Ch_None)
  2426. xmmreg,xmmreg \334\2\x0F\x79\110 SSE4
  2427. ; four operands are not possible yet
  2428. ; xmmreg,xmmreg,imm,imm \334\2\x0F\x78\110\26\27 SSE4,SB
  2429. [EXTRQ]
  2430. (Ch_All, Ch_None, Ch_None)
  2431. xmmreg,imm,imm \361\2\x0F\x78\200\25\26 SSE4,SB
  2432. xmmreg,xmmreg \361\2\x0F\x79\110 SSE4
  2433. [LZCNT,lzcntX]
  2434. (Ch_All, Ch_None, Ch_None)
  2435. reg16,regmem \320\333\2\x0F\xBD\110 386,SM,SSE4
  2436. reg32|64,regmem \321\333\2\x0F\xBD\110 386,SM,SSE4
  2437. ;*******************************************************************************
  2438. ;**********SSSE3****************************************************************
  2439. ;*******************************************************************************
  2440. [PABSB]
  2441. (Ch_All, Ch_None, Ch_None)
  2442. mmxreg,mmxrm \331\3\x0F\x38\x1C\110 SSSE3,MMX,SM
  2443. xmmreg,xmmrm \361\3\x0F\x38\x1C\110 SSSE3,SM
  2444. [PABSW]
  2445. (Ch_All, Ch_None, Ch_None)
  2446. mmxreg,mmxrm \331\3\x0F\x38\x1D\110 SSSE3,MMX,SM
  2447. xmmreg,xmmrm \361\3\x0F\x38\x1D\110 SSSE3,SM
  2448. [PABSD]
  2449. (Ch_All, Ch_None, Ch_None)
  2450. mmxreg,mmxrm \331\3\x0F\x38\x1E\110 SSSE3,MMX,SM
  2451. xmmreg,xmmrm \361\3\x0F\x38\x1E\110 SSSE3,SM
  2452. [PALIGNR]
  2453. (Ch_All, Ch_None, Ch_None)
  2454. mmxreg,mmxrm,imm \331\3\x0F\x3A\x0F\110\26 SSSE3,MMX,SM2,SB,AR2
  2455. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0F\110\26 SSSE3,SM2,SB,AR2
  2456. [PHADDW]
  2457. (Ch_All, Ch_None, Ch_None)
  2458. mmxreg,mmxrm \331\3\x0F\x38\x01\110 SSSE3,MMX,SM
  2459. xmmreg,xmmrm \361\3\x0F\x38\x01\110 SSSE3,SM
  2460. [PHADDD]
  2461. (Ch_All, Ch_None, Ch_None)
  2462. mmxreg,mmxrm \331\3\x0F\x38\x02\110 SSSE3,MMX,SM
  2463. xmmreg,xmmrm \361\3\x0F\x38\x02\110 SSSE3,SM
  2464. [PHADDSW]
  2465. (Ch_All, Ch_None, Ch_None)
  2466. mmxreg,mmxrm \331\3\x0F\x38\x03\110 SSSE3,MMX,SM
  2467. xmmreg,xmmrm \361\3\x0F\x38\x03\110 SSSE3,SM
  2468. [PHSUBW]
  2469. (Ch_All, Ch_None, Ch_None)
  2470. mmxreg,mmxrm \331\3\x0F\x38\x05\110 SSSE3,MMX,SM
  2471. xmmreg,xmmrm \361\3\x0F\x38\x05\110 SSSE3,SM
  2472. [PHSUBD]
  2473. (Ch_All, Ch_None, Ch_None)
  2474. mmxreg,mmxrm \331\3\x0F\x38\x06\110 SSSE3,MMX,SM
  2475. xmmreg,xmmrm \361\3\x0F\x38\x06\110 SSSE3,SM
  2476. [PHSUBSW]
  2477. (Ch_All, Ch_None, Ch_None)
  2478. mmxreg,mmxrm \331\3\x0F\x38\x07\110 SSSE3,MMX,SM
  2479. xmmreg,xmmrm \361\3\x0F\x38\x07\110 SSSE3,SM
  2480. [PMADDUBSW]
  2481. (Ch_All, Ch_None, Ch_None)
  2482. mmxreg,mmxrm \331\3\x0F\x38\x04\110 SSSE3,MMX,SM
  2483. xmmreg,xmmrm \361\3\x0F\x38\x04\110 SSSE3,SM
  2484. [PMULHRSW]
  2485. (Ch_All, Ch_None, Ch_None)
  2486. mmxreg,mmxrm \331\3\x0F\x38\x0B\110 SSSE3,MMX,SM
  2487. xmmreg,xmmrm \361\3\x0F\x38\x0B\110 SSSE3,SM
  2488. [PSHUFB]
  2489. (Ch_All, Ch_None, Ch_None)
  2490. mmxreg,mmxrm \331\3\x0F\x38\x00\110 SSSE3,MMX,SM
  2491. xmmreg,xmmrm \361\3\x0F\x38\x00\110 SSSE3,SM
  2492. [PSIGNB]
  2493. (Ch_All, Ch_None, Ch_None)
  2494. mmxreg,mmxrm \331\3\x0F\x38\x08\110 SSSE3,MMX,SM
  2495. xmmreg,xmmrm \361\3\x0F\x38\x08\110 SSSE3,SM
  2496. [PSIGNW]
  2497. (Ch_All, Ch_None, Ch_None)
  2498. mmxreg,mmxrm \331\3\x0F\x38\x09\110 SSSE3,MMX,SM
  2499. xmmreg,xmmrm \361\3\x0F\x38\x09\110 SSSE3,SM
  2500. [PSIGND]
  2501. (Ch_All, Ch_None, Ch_None)
  2502. mmxreg,mmxrm \331\3\x0F\x38\x0A\110 SSSE3,MMX,SM
  2503. xmmreg,xmmrm \361\3\x0F\x38\x0A\110 SSSE3,SM
  2504. ;*******************************************************************************
  2505. ;**********SSE4.1***************************************************************
  2506. ;*******************************************************************************
  2507. [BLENDPS]
  2508. (Ch_All, Ch_None, Ch_None)
  2509. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0C\110\26 SSE41,SM2,SB,AR2
  2510. [BLENDPD]
  2511. (Ch_All, Ch_None, Ch_None)
  2512. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0D\110\26 SSE41,SM2,SB,AR2
  2513. [BLENDVPS]
  2514. (Ch_All, Ch_None, Ch_None)
  2515. xmmreg,xmmrm \361\3\x0F\x38\x14\110 SSE41,SM
  2516. [BLENDVPD]
  2517. (Ch_All, Ch_None, Ch_None)
  2518. xmmreg,xmmrm \361\3\x0F\x38\x15\110 SSE41,SM
  2519. [DPPS]
  2520. (Ch_All, Ch_None, Ch_None)
  2521. xmmreg,xmmrm,imm \361\3\x0F\x3A\x40\110\26 SSE41,SM2,SB,AR2
  2522. [DPPD]
  2523. (Ch_All, Ch_None, Ch_None)
  2524. xmmreg,xmmrm,imm \361\3\x0F\x3A\x41\110\26 SSE41,SM2,SB,AR2
  2525. [EXTRACTPS]
  2526. (Ch_All, Ch_None, Ch_None)
  2527. mem,xmmreg,imm \361\325\3\x0F\x3A\x17\101\26 SSE41,SB,AR2
  2528. reg32|64,xmmreg,imm \361\3\x0F\x3A\x17\101\26 SSE41,SB,AR2
  2529. [INSERTPS]
  2530. (Ch_All, Ch_None, Ch_None)
  2531. xmmreg,xmmrm,imm \361\3\x0F\x3A\x21\110\26 SSE41,SM2,SB,AR2
  2532. [MOVNTDQA]
  2533. (Ch_All, Ch_None, Ch_None)
  2534. xmmreg,mem \361\3\x0F\x38\x2A\110 SSE41,SM
  2535. [MPSADBW]
  2536. (Ch_All, Ch_None, Ch_None)
  2537. xmmreg,xmmrm,imm \361\3\x0F\x3A\x42\110\26 SSE41,SM2,SB,AR2
  2538. [PACKUSDW]
  2539. (Ch_All, Ch_None, Ch_None)
  2540. xmmreg,xmmrm \361\3\x0F\x38\x2B\110 SSE41,SM
  2541. [PBLENDVB]
  2542. (Ch_All, Ch_None, Ch_None)
  2543. xmmreg,xmmrm \361\3\x0F\x38\x10\110 SSE41,SM
  2544. [PBLENDW]
  2545. (Ch_All, Ch_None, Ch_None)
  2546. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0E\110\26 SSE41,SM2,SB,AR2
  2547. [PCMPEQQ]
  2548. (Ch_All, Ch_None, Ch_None)
  2549. xmmreg,xmmrm \361\3\x0F\x38\x29\110 SSE41,SM
  2550. [PEXTRB]
  2551. (Ch_All, Ch_None, Ch_None)
  2552. reg32|64,xmmreg,imm \361\3\x0F\x3A\x14\101\26 SSE41,SB,AR2
  2553. mem8,xmmreg,imm \361\3\x0F\x3A\x14\101\26 SSE41,SB,AR2
  2554. ;PEXTRW - Look is prev. implementation
  2555. [PEXTRD]
  2556. (Ch_All, Ch_None, Ch_None)
  2557. reg32,xmmreg,imm \361\3\x0F\x3A\x16\101\26 SSE41,SB,AR2
  2558. mem32,xmmreg,imm \361\3\x0F\x3A\x16\101\26 SSE41,SB,AR2
  2559. [PEXTRQ]
  2560. (Ch_All, Ch_None, Ch_None)
  2561. reg64,xmmreg,imm \361\326\3\x0F\x3A\x16\101\26 SSE41,X86_64,SB,AR2
  2562. mem64,xmmreg,imm \361\326\3\x0F\x3A\x16\101\26 SSE41,X86_64,SB,AR2
  2563. [PHMINPOSUW]
  2564. (Ch_All, Ch_None, Ch_None)
  2565. xmmreg,xmmrm \361\3\x0F\x38\x41\110 SSE41,SM
  2566. [PINSRB]
  2567. (Ch_All, Ch_None, Ch_None)
  2568. xmmreg,reg32|64,imm \361\3\x0F\x3A\x20\110\26 SSE41,SB,AR2
  2569. xmmreg,mem8,imm \361\3\x0F\x3A\x20\110\26 SSE41,SB,AR2
  2570. [PINSRD]
  2571. (Ch_All, Ch_None, Ch_None)
  2572. xmmreg,reg32,imm \361\3\x0F\x3A\x22\110\26 SSE41,SB,AR2
  2573. xmmreg,mem32,imm \361\3\x0F\x3A\x22\110\26 SSE41,SB,AR2
  2574. [PINSRQ]
  2575. (Ch_All, Ch_None, Ch_None)
  2576. xmmreg,reg64,imm \361\326\3\x0F\x3A\x22\110\26 SSE41,X86_64,SB,AR2
  2577. xmmreg,mem64,imm \361\326\3\x0F\x3A\x22\110\26 SSE41,X86_64,SB,AR2
  2578. [PMAXSB]
  2579. (Ch_All, Ch_None, Ch_None)
  2580. xmmreg,xmmrm \361\3\x0F\x38\x3C\110 SSE41,SM
  2581. [PMAXSD]
  2582. (Ch_All, Ch_None, Ch_None)
  2583. xmmreg,xmmrm \361\3\x0F\x38\x3D\110 SSE41,SM
  2584. [PMAXUD]
  2585. (Ch_All, Ch_None, Ch_None)
  2586. xmmreg,xmmrm \361\3\x0F\x38\x3F\110 SSE41,SM
  2587. [PMAXUW]
  2588. (Ch_All, Ch_None, Ch_None)
  2589. xmmreg,xmmrm \361\3\x0F\x38\x3E\110 SSE41,SM
  2590. [PMINSB]
  2591. (Ch_All, Ch_None, Ch_None)
  2592. xmmreg,xmmrm \361\3\x0F\x38\x38\110 SSE41,SM
  2593. [PMINSD]
  2594. (Ch_All, Ch_None, Ch_None)
  2595. xmmreg,xmmrm \361\3\x0F\x38\x39\110 SSE41,SM
  2596. [PMINUW]
  2597. (Ch_All, Ch_None, Ch_None)
  2598. xmmreg,xmmrm \361\3\x0F\x38\x3A\110 SSE41,SM
  2599. [PMINUD]
  2600. (Ch_All, Ch_None, Ch_None)
  2601. xmmreg,xmmrm \361\3\x0F\x38\x3B\110 SSE41,SM
  2602. [PMOVSXBW]
  2603. (Ch_All, Ch_None, Ch_None)
  2604. xmmreg,xmmrm \361\3\x0F\x38\x20\110 SSE41,SM
  2605. [PMOVSXBD]
  2606. (Ch_All, Ch_None, Ch_None)
  2607. xmmreg,xmmrm \361\3\x0F\x38\x21\110 SSE41,SM
  2608. [PMOVSXBQ]
  2609. (Ch_All, Ch_None, Ch_None)
  2610. xmmreg,xmmrm \361\3\x0F\x38\x22\110 SSE41,SM
  2611. [PMOVSXWD]
  2612. (Ch_All, Ch_None, Ch_None)
  2613. xmmreg,xmmrm \361\3\x0F\x38\x23\110 SSE41,SM
  2614. [PMOVSXWQ]
  2615. (Ch_All, Ch_None, Ch_None)
  2616. xmmreg,xmmrm \361\3\x0F\x38\x24\110 SSE41,SM
  2617. [PMOVSXDQ]
  2618. (Ch_All, Ch_None, Ch_None)
  2619. xmmreg,xmmrm \361\3\x0F\x38\x25\110 SSE41,SM
  2620. [PMOVZXBW]
  2621. (Ch_All, Ch_None, Ch_None)
  2622. xmmreg,xmmrm \361\3\x0F\x38\x30\110 SSE41,SM
  2623. [PMOVZXBD]
  2624. (Ch_All, Ch_None, Ch_None)
  2625. xmmreg,xmmrm \361\3\x0F\x38\x31\110 SSE41,SM
  2626. [PMOVZXBQ]
  2627. (Ch_All, Ch_None, Ch_None)
  2628. xmmreg,xmmrm \361\3\x0F\x38\x32\110 SSE41,SM
  2629. [PMOVZXWD]
  2630. (Ch_All, Ch_None, Ch_None)
  2631. xmmreg,xmmrm \361\3\x0F\x38\x33\110 SSE41,SM
  2632. [PMOVZXWQ]
  2633. (Ch_All, Ch_None, Ch_None)
  2634. xmmreg,xmmrm \361\3\x0F\x38\x34\110 SSE41,SM
  2635. [PMOVZXDQ]
  2636. (Ch_All, Ch_None, Ch_None)
  2637. xmmreg,xmmrm \361\3\x0F\x38\x35\110 SSE41,SM
  2638. [PMULDQ]
  2639. (Ch_All, Ch_None, Ch_None)
  2640. xmmreg,xmmrm \361\3\x0F\x38\x28\110 SSE41,SM
  2641. [PTEST]
  2642. (Ch_All, Ch_None, Ch_None)
  2643. xmmreg,xmmrm \361\3\x0F\x38\x17\110 SSE41,SM
  2644. [ROUNDPS]
  2645. (Ch_All, Ch_None, Ch_None)
  2646. xmmreg,xmmrm,imm \361\3\x0F\x3A\x08\110\26 SSE41,SM2,SB,AR2
  2647. [ROUNDPD]
  2648. (Ch_All, Ch_None, Ch_None)
  2649. xmmreg,xmmrm,imm \361\3\x0F\x3A\x09\110\26 SSE41,SM2,SB,AR2
  2650. [ROUNDSS]
  2651. (Ch_All, Ch_None, Ch_None)
  2652. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0A\110\26 SSE41,SM2,SB,AR2
  2653. [ROUNDSD]
  2654. (Ch_All, Ch_None, Ch_None)
  2655. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0B\110\26 SSE41,SM2,SB,AR2
  2656. ;*******************************************************************************
  2657. ;**********SSE4.2***************************************************************
  2658. ;*******************************************************************************
  2659. [CRC32,crc32X]
  2660. (Ch_Mop1, Ch_Rop2, Ch_None)
  2661. reg32,rm8 \334\3\x0F\x38\xF0\110 SSE42
  2662. reg32,rm16|32 \321\334\3\x0F\x38\xF1\110 SSE42
  2663. reg64,rm8 \334\326\3\x0F\x38\xF0\110 SSE42,X86_64
  2664. reg64,rm64 \334\326\3\x0F\x38\xF1\110 SSE42,X86_64
  2665. [PCMPESTRI]
  2666. (Ch_All, Ch_None, Ch_None)
  2667. xmmreg,xmmrm,imm \361\3\x0F\x3A\x61\110\26 SSE42,SM2,SB,AR2
  2668. [PCMPESTRM]
  2669. (Ch_All, Ch_None, Ch_None)
  2670. xmmreg,xmmrm,imm \361\3\x0F\x3A\x60\110\26 SSE42,SM2,SB,AR2
  2671. [PCMPISTRI]
  2672. (Ch_All, Ch_None, Ch_None)
  2673. xmmreg,xmmrm,imm \361\3\x0F\x3A\x63\110\26 SSE42,SM2,SB,AR2
  2674. [PCMPISTRM]
  2675. (Ch_All, Ch_None, Ch_None)
  2676. xmmreg,xmmrm,imm \361\3\x0F\x3A\x62\110\26 SSE42,SM2,SB,AR2
  2677. [PCMPGTQ]
  2678. (Ch_All, Ch_None, Ch_None)
  2679. xmmreg,xmmrm \361\3\x0F\x38\x37\110 SSE42,SM
  2680. [POPCNT,popcntX]
  2681. (Ch_All, Ch_None, Ch_None)
  2682. reg16,rm16 \333\320\2\x0F\xB8\110 386,SM,SSE4
  2683. reg32,rm32 \333\320\2\x0F\xB8\110 386,SM,SSE4
  2684. reg64,rm64 \333\320\2\x0F\xB8\110 386,SM,SSE4,X86_64
  2685. ;*******************************************************************************
  2686. ;**********AES******************************************************************
  2687. ;*******************************************************************************
  2688. ;Use SSE4, but need special flag for AES insructions set
  2689. [AESENC]
  2690. (Ch_All, Ch_None, Ch_None)
  2691. xmmreg,xmmrm \361\3\x0F\x38\xDC\110 SSE4,SM
  2692. [AESENCLAST]
  2693. (Ch_All, Ch_None, Ch_None)
  2694. xmmreg,xmmrm \361\3\x0F\x38\xDD\110 SSE4,SM
  2695. [AESDEC]
  2696. (Ch_All, Ch_None, Ch_None)
  2697. xmmreg,xmmrm \361\3\x0F\x38\xDE\110 SSE4,SM
  2698. [AESDECLAST]
  2699. (Ch_All, Ch_None, Ch_None)
  2700. xmmreg,xmmrm \361\3\x0F\x38\xDF\110 SSE4,SM
  2701. [AESIMC]
  2702. (Ch_All, Ch_None, Ch_None)
  2703. xmmreg,xmmrm \361\3\x0F\x38\xDB\110 SSE4,SM
  2704. [AESKEYGENASSIST]
  2705. (Ch_All, Ch_None, Ch_None)
  2706. xmmreg,xmmrm,imm \361\3\x0F\x3A\xDF\110\26 SSE4,SB,AR2
  2707. ;*******************************************************************************
  2708. ;*******************************************************************************
  2709. ;*******************************************************************************
  2710. [STOSQ]
  2711. (Ch_RRAX, Ch_WMemEDI, Ch_RWRDI)
  2712. void \326\1\xAB X86_64
  2713. [LODSQ]
  2714. (Ch_WRAX, Ch_RWRSI, Ch_None)
  2715. void \326\1\xAD X86_64
  2716. [CMPSQ]
  2717. (Ch_All, Ch_None, Ch_None)
  2718. void \326\1\xA7 X86_64