x86ins.dat 111 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430
  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. ; 64-bit variant does not exist
  650. [IN,inX]
  651. (Ch_Wop2, Ch_Rop1, Ch_None)
  652. reg_al,imm \1\xE4\25 8086,SB
  653. reg_ax|32,imm \320\1\xE5\25 8086,SB
  654. reg_al,reg_dx \1\xEC 8086
  655. reg_ax|32,reg_dx \320\1\xED 8086
  656. [INC,incX]
  657. (Ch_Mop1, Ch_WFlags, Ch_None)
  658. reg16|32 \320\10\x40 8086,NOX86_64
  659. rm16|32|64 \320\1\xFF\200 8086
  660. rm8 \1\xFE\200 8086
  661. [INSB]
  662. (Ch_WMemEDI, Ch_RWEDI, Ch_REDX)
  663. void \1\x6C 186
  664. [INSD,insl]
  665. (Ch_WMemEDI, Ch_RWEDI, Ch_REDX)
  666. void \325\1\x6D 386
  667. [INSW]
  668. (Ch_WMemEDI, Ch_RWEDI, Ch_REDX)
  669. void \324\1\x6D 186
  670. [INT]
  671. (Ch_All, Ch_None, Ch_None)
  672. imm \1\xCD\24 8086,SB
  673. [INT01]
  674. (Ch_All, Ch_None, Ch_None)
  675. void \1\xF1 386,ND
  676. [INT1]
  677. (Ch_All, Ch_None, Ch_None)
  678. void \1\xF1 386
  679. [INT03]
  680. (Ch_None, Ch_None, Ch_None)
  681. void \1\xCC 8086,ND
  682. [INT3]
  683. (Ch_None, Ch_None, Ch_None)
  684. void \1\xCC 8086
  685. [INTO]
  686. (Ch_All, Ch_None, Ch_None)
  687. void \1\xCE 8086,NOX86_64
  688. [INVD]
  689. (Ch_All, Ch_None, Ch_None)
  690. void \2\x0F\x08 486,PRIV
  691. [INVLPG,invlpgX]
  692. (Ch_All, Ch_None, Ch_None)
  693. mem \2\x0F\x01\207 486,PRIV
  694. [IRET]
  695. (Ch_All, Ch_None, Ch_None)
  696. void \327\1\xCF 8086
  697. [IRETD,iret]
  698. (Ch_All, Ch_None, Ch_None)
  699. void \325\1\xCF 386
  700. [IRETW]
  701. (Ch_All, Ch_None, Ch_None)
  702. void \324\1\xCF 8086
  703. [IRETQ]
  704. (Ch_All, Ch_None, Ch_None)
  705. void \326\1\xCF X86_64
  706. [JCXZ]
  707. (Ch_RECX, Ch_None, Ch_None)
  708. imm \310\1\xE3\50 8086,NOX86_64
  709. [JECXZ]
  710. (Ch_RECX, Ch_None, Ch_None)
  711. imm \311\1\xE3\50 386
  712. [JRCXZ]
  713. (Ch_RECX, Ch_None, Ch_None)
  714. imm \1\xE3\50 X86_64
  715. [JMP,jmpX]
  716. (Ch_ROp1, Ch_None, Ch_None)
  717. imm8 \1\xEB\50 8086,PASS2
  718. imm16|32 \320\1\xE9\64 8086,PASS2
  719. rm16|32|64 \320\1\xFF\204 8086
  720. imm|short \1\xEB\50 8086,PASS2
  721. imm|near \320\1\xE9\64 8086,ND,PASS2
  722. imm|far \320\1\xEA\34\37 8086,ND,PASS2,NOX86_64
  723. mem|near \320\1\xFF\204 8086
  724. mem|far \320\1\xFF\205 8086
  725. imm:imm \327\1\xEA\35\30 8086,NOX86_64
  726. imm:imm16 \324\1\xEA\31\30 8086,NOX86_64
  727. imm:imm32 \325\1\xEA\41\30 386,NOX86_64
  728. ; SAHF/LAHF are valid in x86_64 only if CPUID.80000001h:ECX.0=1
  729. [LAHF]
  730. (Ch_WEAX, Ch_RFlags, Ch_None)
  731. void \1\x9F 8086
  732. [LAR,larX]
  733. (Ch_Wop2, Ch_None, Ch_None)
  734. reg16|32|64,regmem \320\2\x0F\x02\110 286,PROT,SM
  735. [LCALL,lcall]
  736. ; don't know value of any register
  737. (Ch_All, Ch_None, Ch_None)
  738. rm16|32|64 \320\1\xFF\202 8086
  739. mem|near \320\1\xFF\202 8086
  740. mem|far \320\1\xFF\203 8086
  741. [LDS,ldsX]
  742. (Ch_Wop2, Ch_Rop1, Ch_None)
  743. reg16|32,mem \320\1\xC5\110 8086,NOX86_64
  744. [LEA,leaX]
  745. (Ch_Wop2, Ch_Rop1, Ch_None)
  746. reg32|64,mem \320\1\x8D\110 8086
  747. reg32|64,imm \320\1\x8D\110 8086,SD
  748. [LEAVE]
  749. (Ch_RWESP, Ch_WEBP, Ch_None)
  750. void \1\xC9 186
  751. [LES,lesX]
  752. (Ch_Wop2, Ch_Rop1, Ch_None)
  753. reg16|32,mem \320\1\xC4\110 8086,NOX86_64
  754. [LFS,lfsX]
  755. (Ch_Wop2, Ch_Rop1, Ch_None)
  756. reg16|32,mem \320\2\x0F\xB4\110 386
  757. [LGDT,lgdtX]
  758. (Ch_None, Ch_None, Ch_None)
  759. mem \2\x0F\x01\202 286,PRIV
  760. [LGS,lgsX]
  761. (Ch_Wop2, Ch_Rop1, Ch_None)
  762. reg16|32,mem \320\2\x0F\xB5\110 386
  763. [LIDT,lidtX]
  764. (Ch_None, Ch_None, Ch_None)
  765. mem \2\x0F\x01\203 286,PRIV
  766. [LJMP,ljmp]
  767. (Ch_ROp1, Ch_None, Ch_None)
  768. rm16|32|64 \320\1\xFF\205 8086
  769. mem|far \320\1\xFF\205 8086
  770. mem|near \320\1\xFF\204 8086
  771. [LLDT,lldtX]
  772. (Ch_None, Ch_None, Ch_None)
  773. rm16 \2\x0F\x00\202 286,PROT,PRIV
  774. [LMSW,lmswX]
  775. (Ch_None, Ch_None, Ch_None)
  776. rm16 \2\x0F\x01\206 286,PRIV
  777. [LOADALL]
  778. (Ch_All, Ch_None, Ch_None)
  779. void \2\x0F\x07 386,UNDOC
  780. [LOADALL286]
  781. (Ch_All, Ch_None, Ch_None)
  782. void \2\x0F\x05 286,UNDOC
  783. [LOCK]
  784. (Ch_None, Ch_None, Ch_None)
  785. void \1\xF0 8086,PRE
  786. [LODSB]
  787. (Ch_WEAX, Ch_RWESI, Ch_None)
  788. void \1\xAC 8086
  789. [LODSD,lodsl]
  790. (Ch_WEAX, Ch_RWESI, Ch_None)
  791. void \325\1\xAD 386
  792. [LODSW]
  793. (Ch_WEAX, Ch_RWESI, Ch_None)
  794. void \324\1\xAD 8086
  795. [LOOP]
  796. (Ch_RWECX, Ch_None, Ch_None)
  797. imm \312\1\xE2\50 8086
  798. imm,reg_cx \310\1\xE2\50 8086,NOX86_64
  799. imm,reg_ecx|64 \311\1\xE2\50 386
  800. [LOOPE]
  801. (Ch_RWECX, Ch_RFlags, Ch_None)
  802. imm \312\1\xE1\50 8086
  803. imm,reg_cx \310\1\xE1\50 8086,NOX86_64
  804. imm,reg_ecx|64 \311\1\xE1\50 386
  805. [LOOPNE]
  806. (Ch_RWECX, Ch_RFlags, Ch_None)
  807. imm \312\1\xE0\50 8086
  808. imm,reg_cx \310\1\xE0\50 8086,NOX86_64
  809. imm,reg_ecx|64 \311\1\xE0\50 386
  810. [LOOPNZ]
  811. (Ch_RWECX, Ch_RFlags, Ch_None)
  812. imm \312\1\xE0\50 8086
  813. imm,reg_cx \310\1\xE0\50 8086,NOX86_64
  814. imm,reg_ecx|64 \311\1\xE0\50 386
  815. [LOOPZ]
  816. (Ch_RWECX, Ch_RFlags, Ch_None)
  817. imm \312\1\xE1\50 8086
  818. imm,reg_cx \310\1\xE1\50 8086,NOX86_64
  819. imm,reg_ecx|64 \311\1\xE1\50 386
  820. [LSL,lslX]
  821. (Ch_Wop2, Ch_WFlags, Ch_None)
  822. reg16|32|64,regmem \320\2\x0F\x03\110 286,PROT,SM
  823. [LSS,lssX]
  824. (Ch_Wop2, Ch_ROP1, Ch_None)
  825. reg16|32|64,mem \320\2\x0F\xB2\110 386
  826. [LTR,ltrX]
  827. (Ch_None, Ch_None, Ch_None)
  828. rm16 \2\x0F\x00\203 286,PROT,PRIV
  829. [MONITOR]
  830. (Ch_None, Ch_None, Ch_None)
  831. void \3\x0F\x01\xC8 PRESCOTT
  832. reg_eax,reg_ecx,reg_edx \3\x0F\x01\xC8 PRESCOTT,ND
  833. [MOV,movX]
  834. (Ch_Wop2, Ch_Rop1, Ch_None)
  835. mem_offs,reg_ax \324\1\xA3\44 8086,SM
  836. mem_offs,reg_eax \325\1\xA3\44 386,SM
  837. mem_offs,reg_rax \326\1\xA3\44 X86_64,SM
  838. regmem,reg16|32|64 \320\1\x89\101 8086,SM
  839. reg_ax,mem_offs \324\1\xA1\45 8086,SM
  840. reg_eax,mem_offs \325\1\xA1\45 386,SM
  841. reg_rax,mem_offs \326\1\xA1\45 X86_64,SM
  842. reg16|32|64,regmem \320\1\x8B\110 8086,SM
  843. reg32,imm \325\10\xB8\41 386,SD
  844. reg64,imm \326\10\xB8\55 X86_64,SM
  845. rm32,imm \325\1\xC7\200\41 386,SM
  846. rm64,imm \326\1\xC7\200\255 X86_64,SM
  847. reg16,imm \324\10\xB8\31 8086,SW
  848. rm16,imm \324\1\xC7\200\31 8086,SW
  849. mem_offs,reg_al \1\xA2\44 8086,SM
  850. rm8,reg8 \1\x88\101 8086
  851. reg_al,mem_offs \1\xA0\45 8086,SM
  852. reg8,rm8 \1\x8A\110 8086,SM
  853. reg8,imm \10\xB0\21 8086,SB
  854. rm8,imm \1\xC6\200\21 8086,SB
  855. rm16|32,reg_cs \320\1\x8C\201 8086
  856. rm16|32,reg_dess \320\1\x8C\101 8086
  857. rm16|32,reg_fsgs \320\1\x8C\101 386
  858. reg_dess,rm16|32 \321\1\x8E\110 8086,SM
  859. reg_fsgs,rm16|32 \321\1\x8E\110 386,SM
  860. reg32,reg_cr4 \2\x0F\x20\204 PENT,PRIV,NOX86_64
  861. reg32,reg_creg \2\x0F\x20\101 386,PRIV,NOX86_64
  862. reg32,reg_dreg \2\x0F\x21\101 386,PRIV,NOX86_64
  863. reg32,reg_treg \2\x0F\x24\101 386,PRIV,NOX86_64
  864. reg64,reg_cr4 \2\x0F\x20\204 PENT,PRIV,X86_64
  865. reg64,reg_creg \2\x0F\x20\101 386,PRIV,X86_64
  866. reg64,reg_dreg \2\x0F\x21\101 386,PRIV,X86_64
  867. reg64,reg_treg \2\x0F\x24\101 386,PRIV,X86_64
  868. reg_cr4,reg32 \2\x0F\x22\214 PENT,PRIV,NOX86_64
  869. reg_creg,reg32 \2\x0F\x22\110 386,PRIV,NOX86_64
  870. reg_dreg,reg32 \2\x0F\x23\110 386,PRIV,NOX86_64
  871. reg_treg,reg32 \2\x0F\x26\110 386,PRIV,NOX86_64
  872. reg_cr4,reg64 \2\x0F\x22\214 PENT,PRIV,X86_64
  873. reg_creg,reg64 \2\x0F\x22\110 386,PRIV,X86_64
  874. reg_dreg,reg64 \2\x0F\x23\110 386,PRIV,X86_64
  875. reg_treg,reg64 \2\x0F\x26\110 386,PRIV,X86_64
  876. [MOVD,movd]
  877. (Ch_Rop1, Ch_Wop2, Ch_None)
  878. mmxreg,rm32 \2\x0F\x6E\110 PENT,MMX,SD
  879. rm32,mmxreg \2\x0F\x7E\101 PENT,MMX,SD
  880. xmmreg,rm32 \361\2\x0F\x6E\110 WILLAMETTE,SSE2
  881. rm32,xmmreg \361\2\x0F\x7E\101 WILLAMETTE,SSE2
  882. [MOVQ,movq]
  883. (Ch_Rop1, Ch_Wop2, Ch_None)
  884. mmxreg,mmxrm \2\x0F\x6F\110 PENT,MMX,SM
  885. mmxrm,mmxreg \2\x0F\x7F\101 PENT,MMX,SM
  886. mmxreg,rm64 \326\2\x0F\x6E\110 X86_64,MMX
  887. rm64,mmxreg \326\2\x0F\x7E\101 X86_64,MMX
  888. xmmreg,xmmrm \333\2\x0F\x7E\110 WILLAMETTE,SSE2
  889. xmmrm,xmmreg \361\2\x0F\xD6\101 WILLAMETTE,SSE2
  890. xmmreg,reg64 \361\326\2\x0F\x6E\110 WILLAMETTE,SSE2,X86_64
  891. reg64,xmmreg \361\326\2\x0F\x7E\101 WILLAMETTE,SSE2,X86_64
  892. [MOVSB]
  893. (Ch_All, Ch_None, Ch_None)
  894. void \1\xA4 8086
  895. [MOVSD,movsl]
  896. ; Ch_All isn't correct for the sse move, but how can it be solved? (FK)
  897. (Ch_All, Ch_None, Ch_None)
  898. void \325\1\xA5 386
  899. xmmreg,xmmrm \334\2\x0F\x10\110 WILLAMETTE,SSE2
  900. xmmrm,xmmreg \334\2\x0F\x11\101 WILLAMETTE,SSE2
  901. [MOVSQ]
  902. (Ch_All, Ch_None, Ch_None)
  903. void \326\1\xA5 X86_64
  904. [MOVSW]
  905. (Ch_All, Ch_None, Ch_None)
  906. void \324\1\xA5 8086
  907. [MOVSX,movsY]
  908. (Ch_Wop2, Ch_Rop1, Ch_None)
  909. reg32|64,rm16 \320\2\x0F\xBF\110 386
  910. reg16|32|64,rm8 \320\2\x0F\xBE\110 386
  911. [MOVZX,movzY]
  912. (Ch_Wop2, Ch_Rop1, Ch_None)
  913. reg32|64,rm16 \320\2\x0F\xB7\110 386
  914. reg16|32|64,rm8 \320\2\x0F\xB6\110 386
  915. [MUL,mulX]
  916. (Ch_RWEAX, Ch_WEDX, Ch_WFlags)
  917. rm16|32|64 \320\1\xF7\204 8086
  918. rm8 \1\xF6\204 8086
  919. [MWAIT]
  920. (Ch_None, Ch_None, Ch_None)
  921. void \3\x0F\x01\xC9 PRESCOTT
  922. reg_eax,reg_ecx \3\x0F\x01\xC9 PRESCOTT,ND
  923. [NEG,negX]
  924. (Ch_Mop1, Ch_None, Ch_None)
  925. rm16|32|64 \320\1\xF7\203 8086
  926. rm8 \1\xF6\203 8086
  927. [NOP]
  928. (Ch_None, Ch_None, Ch_None)
  929. void \1\x90 8086
  930. [NOT,notX]
  931. (Ch_Mop1, Ch_WFlags, Ch_None)
  932. rm16|32|64 \320\1\xF7\202 8086
  933. rm8 \1\xF6\202 8086
  934. [OR,orX]
  935. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  936. regmem,reg16|32|64 \320\1\x09\101 8086,SM
  937. reg16|32|64,regmem \320\1\x0B\110 8086,SM
  938. rm8,reg8 \1\x08\101 8086
  939. reg8,rm8 \1\x0A\110 8086,SM
  940. rm16|32|64,imm8 \320\1\x83\201\15 8086
  941. reg_eax,imm \325\1\x0D\41 386,SM
  942. reg_rax,imm \326\1\x0D\255 X86_64,SM
  943. rm32,imm \325\1\x81\201\41 386,SM
  944. rm64,imm \326\1\x81\201\255 X86_64,SM
  945. reg_ax,imm \324\1\x0D\31 8086,SW
  946. rm16,imm \324\1\x81\201\31 8086,SW
  947. reg_al,imm \1\x0C\21 8086,SB
  948. rm8,imm \1\x80\201\21 8086,SB
  949. [OUT,outX]
  950. (Ch_Rop1, Ch_Rop2, Ch_None)
  951. imm,reg_al \1\xE6\24 8086,SB
  952. imm,reg_ax \324\1\xE7\24 8086,SB
  953. imm,reg_eax \325\1\xE7\24 386,SB
  954. reg_dx,reg_al \1\xEE 8086
  955. reg_dx,reg_ax \324\1\xEF 8086
  956. reg_dx,reg_eax \325\1\xEF 386
  957. [OUTSB]
  958. (Ch_All, Ch_None, Ch_None)
  959. void \1\x6E 186
  960. [OUTSD,outsl]
  961. (Ch_All, Ch_None, Ch_None)
  962. void \325\1\x6F 386
  963. [OUTSW]
  964. (Ch_All, Ch_None, Ch_None)
  965. void \324\1\x6F 186
  966. [PACKSSDW]
  967. (Ch_All, Ch_None, Ch_None)
  968. mmxreg,mmxrm \2\x0F\x6B\110 PENT,MMX,SM
  969. xmmreg,xmmrm \361\2\x0F\x6B\110 WILLAMETTE,SSE2,SM
  970. [PACKSSWB]
  971. (Ch_All, Ch_None, Ch_None)
  972. mmxreg,mmxrm \2\x0F\x63\110 PENT,MMX,SM
  973. xmmreg,xmmrm \361\2\x0F\x63\110 WILLAMETTE,SSE2,SM
  974. [PACKUSWB]
  975. (Ch_All, Ch_None, Ch_None)
  976. mmxreg,mmxrm \2\x0F\x67\110 PENT,MMX,SM
  977. xmmreg,xmmrm \361\2\x0F\x67\110 WILLAMETTE,SSE2,SM
  978. [PADDB]
  979. (Ch_Mop2, Ch_Rop1, Ch_None)
  980. mmxreg,mmxrm \2\x0F\xFC\110 PENT,MMX,SM
  981. xmmreg,xmmrm \361\2\x0F\xFC\110 WILLAMETTE,SSE2,SM
  982. [PADDD]
  983. (Ch_Mop2, Ch_Rop1, Ch_None)
  984. mmxreg,mmxrm \2\x0F\xFE\110 PENT,MMX,SM
  985. xmmreg,xmmrm \361\2\x0F\xFE\110 WILLAMETTE,SSE2,SM
  986. [PADDSB]
  987. (Ch_Mop2, Ch_Rop1, Ch_None)
  988. mmxreg,mmxrm \2\x0F\xEC\110 PENT,MMX,SM
  989. xmmreg,xmmrm \361\2\x0F\xEC\110 WILLAMETTE,SSE2,SM
  990. [PADDSIW]
  991. (Ch_Mop2, Ch_Rop1, Ch_None)
  992. mmxreg,mmxrm \2\x0F\x51\110 PENT,MMX,SM,CYRIX
  993. [PADDSW]
  994. (Ch_Mop2, Ch_Rop1, Ch_None)
  995. mmxreg,mmxrm \2\x0F\xED\110 PENT,MMX,SM
  996. xmmreg,xmmrm \361\2\x0F\xED\110 WILLAMETTE,SSE2,SM
  997. [PADDUSB]
  998. (Ch_All, Ch_None, Ch_None)
  999. mmxreg,mmxrm \2\x0F\xDC\110 PENT,MMX,SM
  1000. xmmreg,xmmrm \361\2\x0F\xDC\110 WILLAMETTE,SSE2,SM
  1001. [PADDUSW]
  1002. (Ch_All, Ch_None, Ch_None)
  1003. mmxreg,mmxrm \2\x0F\xDD\110 PENT,MMX,SM
  1004. xmmreg,xmmrm \361\2\x0F\xDD\110 WILLAMETTE,SSE2,SM
  1005. [PADDW]
  1006. (Ch_All, Ch_None, Ch_None)
  1007. mmxreg,mmxrm \2\x0F\xFD\110 PENT,MMX,SM
  1008. xmmreg,xmmrm \361\2\x0F\xFD\110 WILLAMETTE,SSE2,SM
  1009. [PAND]
  1010. (Ch_All, Ch_None, Ch_None)
  1011. mmxreg,mmxrm \2\x0F\xDB\110 PENT,MMX,SM
  1012. xmmreg,xmmrm \361\2\x0F\xDB\110 WILLAMETTE,SSE2,SM
  1013. [PANDN]
  1014. (Ch_All, Ch_None, Ch_None)
  1015. mmxreg,mmxrm \2\x0F\xDF\110 PENT,MMX,SM
  1016. xmmreg,xmmrm \361\2\x0F\xDF\110 WILLAMETTE,SSE2,SM
  1017. [PAVEB]
  1018. (Ch_All, Ch_None, Ch_None)
  1019. mmxreg,mmxrm \2\x0F\x50\110 PENT,MMX,SM,CYRIX
  1020. [PAVGUSB]
  1021. (Ch_All, Ch_None, Ch_None)
  1022. mmxreg,mmxrm \2\x0F\x0F\110\01\xBF PENT,3DNOW,SM
  1023. [PCMPEQB]
  1024. (Ch_All, Ch_None, Ch_None)
  1025. mmxreg,mmxrm \2\x0F\x74\110 PENT,MMX,SM
  1026. xmmreg,xmmrm \361\2\x0F\x74\110 WILLAMETTE,SSE2,SM
  1027. [PCMPEQD]
  1028. (Ch_All, Ch_None, Ch_None)
  1029. mmxreg,mmxrm \2\x0F\x76\110 PENT,MMX,SM
  1030. xmmreg,xmmrm \361\2\x0F\x76\110 WILLAMETTE,SSE2,SM
  1031. [PCMPEQW]
  1032. (Ch_All, Ch_None, Ch_None)
  1033. mmxreg,mmxrm \2\x0F\x75\110 PENT,MMX,SM
  1034. xmmreg,xmmrm \361\2\x0F\x75\110 WILLAMETTE,SSE2,SM
  1035. [PCMPGTB]
  1036. (Ch_All, Ch_None, Ch_None)
  1037. mmxreg,mmxrm \2\x0F\x64\110 PENT,MMX,SM
  1038. xmmreg,xmmrm \361\2\x0F\x64\110 WILLAMETTE,SSE2,SM
  1039. [PCMPGTD]
  1040. (Ch_All, Ch_None, Ch_None)
  1041. mmxreg,mmxrm \2\x0F\x66\110 PENT,MMX,SM
  1042. xmmreg,xmmrm \361\2\x0F\x66\110 WILLAMETTE,SSE2,SM
  1043. [PCMPGTW]
  1044. (Ch_All, Ch_None, Ch_None)
  1045. mmxreg,mmxrm \2\x0F\x65\110 PENT,MMX,SM
  1046. xmmreg,xmmrm \361\2\x0F\x65\110 WILLAMETTE,SSE2,SM
  1047. [PDISTIB]
  1048. (Ch_All, Ch_None, Ch_None)
  1049. mmxreg,mem \2\x0F\x54\110 PENT,MMX,SM,CYRIX
  1050. [PF2ID]
  1051. (Ch_All, Ch_None, Ch_None)
  1052. mmxreg,mmxrm \2\x0F\x0F\110\01\x1D PENT,3DNOW,SM
  1053. [PFACC]
  1054. (Ch_All, Ch_None, Ch_None)
  1055. mmxreg,mmxrm \2\x0F\x0F\110\01\xAE PENT,3DNOW,SM
  1056. [PFADD]
  1057. (Ch_All, Ch_None, Ch_None)
  1058. mmxreg,mmxrm \2\x0F\x0F\110\01\x9E PENT,3DNOW,SM
  1059. [PFCMPEQ]
  1060. (Ch_All, Ch_None, Ch_None)
  1061. mmxreg,mmxrm \2\x0F\x0F\110\01\xB0 PENT,3DNOW,SM
  1062. [PFCMPGE]
  1063. (Ch_All, Ch_None, Ch_None)
  1064. mmxreg,mmxrm \2\x0F\x0F\110\01\x90 PENT,3DNOW,SM
  1065. [PFCMPGT]
  1066. (Ch_All, Ch_None, Ch_None)
  1067. mmxreg,mmxrm \2\x0F\x0F\110\01\xA0 PENT,3DNOW,SM
  1068. [PFMAX]
  1069. (Ch_All, Ch_None, Ch_None)
  1070. mmxreg,mmxrm \2\x0F\x0F\110\01\xA4 PENT,3DNOW,SM
  1071. [PFMIN]
  1072. (Ch_All, Ch_None, Ch_None)
  1073. mmxreg,mmxrm \2\x0F\x0F\110\01\x94 PENT,3DNOW,SM
  1074. [PFMUL]
  1075. (Ch_All, Ch_None, Ch_None)
  1076. mmxreg,mmxrm \2\x0F\x0F\110\01\xB4 PENT,3DNOW,SM
  1077. [PFRCP]
  1078. (Ch_All, Ch_None, Ch_None)
  1079. mmxreg,mmxrm \2\x0F\x0F\110\01\x96 PENT,3DNOW,SM
  1080. [PFRCPIT1]
  1081. (Ch_All, Ch_None, Ch_None)
  1082. mmxreg,mmxrm \2\x0F\x0F\110\01\xA6 PENT,3DNOW,SM
  1083. [PFRCPIT2]
  1084. (Ch_All, Ch_None, Ch_None)
  1085. mmxreg,mmxrm \2\x0F\x0F\110\01\xB6 PENT,3DNOW,SM
  1086. [PFRSQIT1]
  1087. (Ch_All, Ch_None, Ch_None)
  1088. mmxreg,mmxrm \2\x0F\x0F\110\01\xA7 PENT,3DNOW,SM
  1089. [PFRSQRT]
  1090. (Ch_All, Ch_None, Ch_None)
  1091. mmxreg,mmxrm \2\x0F\x0F\110\01\x97 PENT,3DNOW,SM
  1092. [PFSUB]
  1093. (Ch_All, Ch_None, Ch_None)
  1094. mmxreg,mmxrm \2\x0F\x0F\110\01\x9A PENT,3DNOW,SM
  1095. [PFSUBR]
  1096. (Ch_All, Ch_None, Ch_None)
  1097. mmxreg,mmxrm \2\x0F\x0F\110\01\xAA PENT,3DNOW,SM
  1098. [PI2FD]
  1099. (Ch_All, Ch_None, Ch_None)
  1100. mmxreg,mmxrm \2\x0F\x0F\110\01\x0D PENT,3DNOW,SM
  1101. [PMACHRIW]
  1102. (Ch_All, Ch_None, Ch_None)
  1103. mmxreg,mem \2\x0F\x5E\110 PENT,MMX,SM,CYRIX
  1104. [PMADDWD]
  1105. (Ch_All, Ch_None, Ch_None)
  1106. mmxreg,mmxrm \2\x0F\xF5\110 PENT,MMX,SM
  1107. xmmreg,xmmrm \361\2\x0F\xF5\110 WILLAMETTE,SM,SSE2
  1108. [PMAGW]
  1109. (Ch_All, Ch_None, Ch_None)
  1110. mmxreg,mmxrm \2\x0F\x52\110 PENT,MMX,SM,CYRIX
  1111. [PMULHRIW]
  1112. (Ch_All, Ch_None, Ch_None)
  1113. mmxreg,mmxrm \2\x0F\x5D\110 PENT,MMX,SM,CYRIX
  1114. [PMULHRWA]
  1115. (Ch_All, Ch_None, Ch_None)
  1116. mmxreg,mmxrm \2\x0F\x0F\110\1\xB7 PENT,3DNOW,SM
  1117. [PMULHRWC]
  1118. (Ch_All, Ch_None, Ch_None)
  1119. mmxreg,mmxrm \2\x0F\x59\110 PENT,MMX,SM,CYRIX
  1120. [PMULHW]
  1121. (Ch_All, Ch_None, Ch_None)
  1122. mmxreg,mmxrm \2\x0F\xE5\110 PENT,MMX,SM
  1123. xmmreg,xmmrm \361\2\x0F\xE5\110 WILLAMETTE,SSE2,SM
  1124. [PMULLW]
  1125. (Ch_All, Ch_None, Ch_None)
  1126. mmxreg,mmxrm \2\x0F\xD5\110 PENT,MMX,SM
  1127. xmmreg,xmmrm \361\2\x0F\xD5\110 WILLAMETTE,SSE2,SM
  1128. [PMVGEZB]
  1129. (Ch_All, Ch_None, Ch_None)
  1130. mmxreg,mem \2\x0F\x5C\110 PENT,MMX,SM,CYRIX
  1131. [PMVLZB]
  1132. (Ch_All, Ch_None, Ch_None)
  1133. mmxreg,mem \2\x0F\x5B\110 PENT,MMX,SM,CYRIX
  1134. [PMVNZB]
  1135. (Ch_All, Ch_None, Ch_None)
  1136. mmxreg,mem \2\x0F\x5A\110 PENT,MMX,SM,CYRIX
  1137. [PMVZB]
  1138. (Ch_All, Ch_None, Ch_None)
  1139. mmxreg,mem \2\x0F\x58\110 PENT,MMX,SM,CYRIX
  1140. [POP,popX]
  1141. (Ch_Wop1, Ch_RWESP, Ch_None)
  1142. reg16 \324\10\x58 8086
  1143. reg32 \325\10\x58 386,NOX86_64
  1144. reg64 \335\10\x58 X86_64
  1145. rm16 \324\1\x8F\200 8086
  1146. rm32 \325\1\x8F\200 386,NOX86_64
  1147. rm64 \335\1\x8F\200 X86_64
  1148. reg_cs \1\x0F 8086,UNDOC,ND
  1149. reg_dess \4 8086,NOX86_64
  1150. reg_fsgs \1\x0F\5\335 386
  1151. [POPA,popaX]
  1152. (Ch_All, Ch_None, Ch_None)
  1153. void \327\1\x61 186,NOX86_64
  1154. [POPAD,popal]
  1155. (Ch_All, Ch_None, Ch_None)
  1156. void \325\1\x61 386,NOX86_64
  1157. [POPAW]
  1158. (Ch_All, Ch_None, Ch_None)
  1159. void \324\1\x61 186,NOX86_64
  1160. [POPF]
  1161. (Ch_RWESP, Ch_WFlags, Ch_None)
  1162. void \327\1\x9D 186,NOX86_64
  1163. void \326\1\x9D X86_64
  1164. [POPFD,popfl]
  1165. (Ch_RWESP, Ch_WFlags, Ch_None)
  1166. void \325\1\x9D 386,NOX86_64
  1167. [POPFW]
  1168. (Ch_RWESP, Ch_WFLAGS, Ch_None)
  1169. void \324\1\x9D 186,NOX86_64
  1170. void \1\x9D X86_64
  1171. [POPFQ]
  1172. (Ch_RWESP, Ch_WFlags, Ch_None)
  1173. void \326\1\x9D X86_64
  1174. [POR]
  1175. (Ch_All, Ch_None, Ch_None)
  1176. mmxreg,mmxrm \2\x0F\xEB\110 PENT,MMX,SM
  1177. xmmreg,xmmreg \361\2\x0F\xEB\110 WILLAMETTE,SSE2,SM
  1178. [PREFETCH,prefetchX]
  1179. (Ch_All, Ch_None, Ch_None)
  1180. mem \2\x0F\x0D\200 PENT,3DNOW,SM
  1181. [PREFETCHW,prefetchwX]
  1182. (Ch_All, Ch_None, Ch_None)
  1183. mem \2\x0F\x0D\201 PENT,3DNOW,SM
  1184. [PSLLD]
  1185. (Ch_All, Ch_None, Ch_None)
  1186. mmxreg,mmxrm \2\x0F\xF2\110 PENT,MMX,SM
  1187. mmxreg,imm \2\x0F\x72\206\25 PENT,MMX,SB,AR1
  1188. xmmreg,xmmrm \361\2\x0F\xF2\110 WILLAMETTE,SSE2,SM
  1189. xmmreg,imm \361\2\x0F\x72\206\25 WILLAMETTE,SSE2,SB,AR1
  1190. [PSLLDQ]
  1191. (Ch_All, Ch_None, Ch_None)
  1192. xmmreg,imm \361\2\x0F\x73\207\25 WILLAMETTE,SSE2,SB,AR1
  1193. [PSLLQ]
  1194. (Ch_All, Ch_None, Ch_None)
  1195. mmxreg,mmxrm \2\x0F\xF3\110 PENT,MMX,SM
  1196. mmxreg,imm \2\x0F\x73\206\25 PENT,MMX,SB,AR1
  1197. xmmreg,xmmrm \361\2\x0F\xF3\110 WILLAMETTE,SSE2,SM
  1198. xmmreg,imm \361\2\x0F\x73\206\25 WILLAMETTE,SSE2,SB,AR1
  1199. [PSLLW]
  1200. (Ch_All, Ch_None, Ch_None)
  1201. mmxreg,mmxrm \2\x0F\xF1\110 PENT,MMX,SM
  1202. mmxreg,imm \2\x0F\x71\206\25 PENT,MMX,SB,AR1
  1203. xmmreg,xmmrm \361\2\x0F\xF1\110 WILLAMETTE,SSE2,SM
  1204. xmmreg,imm \361\2\x0F\x71\206\25 WILLAMETTE,SSE2,SB,AR1
  1205. [PSRAD]
  1206. (Ch_All, Ch_None, Ch_None)
  1207. mmxreg,mmxrm \2\x0F\xE2\110 PENT,MMX,SM
  1208. mmxreg,imm \2\x0F\x72\204\25 PENT,MMX,SB,AR1
  1209. xmmreg,xmmrm \361\2\x0F\xE2\110 WILLAMETTE,SSE2,SM
  1210. xmmreg,imm \361\2\x0F\x72\204\25 WILLAMETTE,SSE2,SB,AR1
  1211. [PSRAW]
  1212. (Ch_All, Ch_None, Ch_None)
  1213. mmxreg,mmxrm \2\x0F\xE1\110 PENT,MMX,SM
  1214. mmxreg,imm \2\x0F\x71\204\25 PENT,MMX,SB,AR1
  1215. xmmreg,xmmrm \361\2\x0F\xE1\110 WILLAMETTE,SSE2,SM
  1216. xmmreg,imm \361\2\x0F\x71\204\25 WILLAMETTE,SSE2,SB,AR1
  1217. [PSRLD]
  1218. (Ch_All, Ch_None, Ch_None)
  1219. mmxreg,mmxrm \2\x0F\xD2\110 PENT,MMX,SM
  1220. mmxreg,imm \2\x0F\x72\202\25 PENT,MMX,SB,AR1
  1221. xmmreg,xmmrm \361\2\x0F\xD2\110 WILLAMETTE,SSE2,SM
  1222. xmmreg,imm \361\2\x0F\x72\202\25 WILLAMETTE,SSE2,SB,AR1
  1223. [PSRLQ]
  1224. (Ch_All, Ch_None, Ch_None)
  1225. mmxreg,mmxrm \2\x0F\xD3\110 PENT,MMX,SM
  1226. mmxreg,imm \2\x0F\x73\202\25 PENT,MMX,SB,AR1
  1227. xmmreg,xmmrm \361\2\x0F\xD3\110 WILLAMETTE,SSE2,SM
  1228. xmmreg,imm \361\2\x0F\x73\202\25 WILLAMETTE,SSE2,SB,AR1
  1229. [PSRLW]
  1230. (Ch_All, Ch_None, Ch_None)
  1231. mmxreg,mmxrm \2\x0F\xD1\110 PENT,MMX,SM
  1232. mmxreg,imm \2\x0F\x71\202\25 PENT,MMX,SB,AR1
  1233. xmmreg,xmmrm \361\2\x0F\xD1\110 WILLAMETTE,SSE2,SM
  1234. xmmreg,imm \361\2\x0F\x71\202\25 WILLAMETTE,SSE2,SB,AR1
  1235. [PSUBB]
  1236. (Ch_All, Ch_None, Ch_None)
  1237. mmxreg,mmxrm \2\x0F\xF8\110 PENT,MMX,SM
  1238. xmmreg,xmmrm \361\2\x0F\xF8\110 WILLAMETTE,SSE2,SM
  1239. [PSUBD]
  1240. (Ch_All, Ch_None, Ch_None)
  1241. mmxreg,mmxrm \2\x0F\xFA\110 PENT,MMX,SM
  1242. xmmreg,xmmrm \361\2\x0F\xFA\110 WILLAMETTE,SSE2,SM
  1243. [PSUBSB]
  1244. (Ch_All, Ch_None, Ch_None)
  1245. mmxreg,mmxrm \2\x0F\xE8\110 PENT,MMX,SM
  1246. xmmreg,xmmrm \361\2\x0F\xE8\110 WILLAMETTE,SSE2,SM
  1247. [PSUBSIW]
  1248. (Ch_All, Ch_None, Ch_None)
  1249. mmxreg,mem \2\x0F\x55\110 PENT,MMX,SM,CYRIX
  1250. mmxreg,mmxreg \2\x0F\x55\110 PENT,MMX,CYRIX
  1251. [PSUBSW]
  1252. (Ch_All, Ch_None, Ch_None)
  1253. mmxreg,mmxrm \2\x0F\xE9\110 PENT,MMX,SM
  1254. xmmreg,xmmrm \361\2\x0F\xE9\110 WILLAMETTE,SSE2,SM
  1255. [PSUBUSB]
  1256. (Ch_All, Ch_None, Ch_None)
  1257. mmxreg,mmxrm \2\x0F\xD8\110 PENT,MMX,SM
  1258. xmmreg,xmmrm \361\2\x0F\xD8\110 WILLAMETTE,SSE2,SM
  1259. [PSUBUSW]
  1260. (Ch_All, Ch_None, Ch_None)
  1261. mmxreg,mmxrm \2\x0F\xD9\110 PENT,MMX,SM
  1262. xmmreg,xmmrm \361\2\x0F\xD9\110 WILLAMETTE,SSE2,SM
  1263. [PSUBW]
  1264. (Ch_All, Ch_None, Ch_None)
  1265. mmxreg,mmxrm \2\x0F\xF9\110 PENT,MMX,SM
  1266. xmmreg,xmmrm \361\2\x0F\xF9\110 WILLAMETTE,SSE2,SM
  1267. [PUNPCKHBW]
  1268. (Ch_All, Ch_None, Ch_None)
  1269. mmxreg,mmxrm \2\x0F\x68\110 PENT,MMX,SM
  1270. xmmreg,xmmrm \361\2\x0F\x68\110 WILLAMETTE,SSE2,SM
  1271. [PUNPCKHDQ]
  1272. (Ch_All, Ch_None, Ch_None)
  1273. mmxreg,mmxrm \2\x0F\x6A\110 PENT,MMX,SM
  1274. xmmreg,xmmrm \361\2\x0F\x6A\110 WILLAMETTE,SSE2,SM
  1275. [PUNPCKHWD]
  1276. (Ch_All, Ch_None, Ch_None)
  1277. mmxreg,mmxrm \2\x0F\x69\110 PENT,MMX,SM
  1278. xmmreg,xmmrm \361\2\x0F\x69\110 WILLAMETTE,SSE2,SM
  1279. [PUNPCKLBW]
  1280. (Ch_All, Ch_None, Ch_None)
  1281. mmxreg,mmxrm \2\x0F\x60\110 PENT,MMX,SM
  1282. xmmreg,xmmrm \361\2\x0F\x60\110 WILLAMETTE,SSE2,SM
  1283. [PUNPCKLDQ]
  1284. (Ch_All, Ch_None, Ch_None)
  1285. mmxreg,mmxrm \2\x0F\x62\110 PENT,MMX,SM
  1286. xmmreg,xmmrm \361\2\x0F\x62\110 WILLAMETTE,SSE2,SM
  1287. [PUNPCKLWD]
  1288. (Ch_All, Ch_None, Ch_None)
  1289. mmxreg,mmxrm \2\x0F\x61\110 PENT,MMX,SM
  1290. xmmreg,xmmrm \361\2\x0F\x61\110 WILLAMETTE,SSE2,SM
  1291. [PUSH,pushX]
  1292. (Ch_Rop1, Ch_RWESP, Ch_None)
  1293. reg16 \324\10\x50 8086
  1294. reg32 \325\10\x50 386,NOX86_64
  1295. reg64 \335\10\x50 X86_64
  1296. rm16 \324\1\xFF\206 8086
  1297. rm32 \325\1\xFF\206 386,NOX86_64
  1298. rm64 \335\1\xFF\206 X86_64
  1299. imm32 \325\1\x68\40\335 386
  1300. imm16 \324\1\x68\30\335 286
  1301. imm8 \1\x6A\14\335 286
  1302. reg_fsgs \1\x0F\7\335 386,NOX86_64
  1303. reg_sreg \6 8086,NOX86_64
  1304. [PUSHA,pushaX]
  1305. (Ch_All, Ch_None, Ch_None)
  1306. void \327\1\x60 186,NOX86_64
  1307. [PUSHAD,pushal]
  1308. (Ch_All, Ch_None, Ch_None)
  1309. void \325\1\x60 386,NOX86_64
  1310. [PUSHAW]
  1311. (Ch_All, Ch_None, Ch_None)
  1312. void \324\1\x60 186,NOX86_64
  1313. [PUSHF]
  1314. (Ch_RWESP, Ch_RFlags, Ch_None)
  1315. void \327\1\x9C 186
  1316. [PUSHFD,pushfl]
  1317. (Ch_RWESP, Ch_RFlags, Ch_None)
  1318. void \325\1\x9C 386,NOX86_64
  1319. [PUSHFW]
  1320. (Ch_RWESP, Ch_RFLAGS, Ch_None)
  1321. void \324\1\x9C 186
  1322. [PUSHFQ]
  1323. (Ch_RWESP, Ch_RFlags, Ch_None)
  1324. void \326\1\x9C X86_64
  1325. [PXOR]
  1326. (Ch_Mop2, Ch_Rop1, Ch_None)
  1327. mmxreg,mmxrm \2\x0F\xEF\110 PENT,MMX,SM
  1328. xmmreg,xmmrm \361\2\x0F\xEF\110 WILLAMETTE,SSE2,SM
  1329. [RCL,rclX]
  1330. (Ch_Mop2, Ch_Rop1, Ch_RWFlags)
  1331. rm16|32|64,unity \320\1\xD1\202 8086
  1332. rm16|32|64,reg_cl \320\1\xD3\202 8086
  1333. rm16|32|64,imm \320\1\xC1\202\25 8086,SB
  1334. rm8,unity \1\xD0\202 8086
  1335. rm8,reg_cl \1\xD2\202 8086
  1336. rm8,imm \1\xC0\202\25 186,SB
  1337. [RCR,rcrX]
  1338. (Ch_Mop2, Ch_Rop1, Ch_RWFlags)
  1339. rm16|32|64,unity \320\1\xD1\203 8086
  1340. rm16|32|64,reg_cl \320\1\xD3\203 8086
  1341. rm16|32|64,imm \320\1\xC1\203\25 8086,SB
  1342. rm8,unity \1\xD0\203 8086
  1343. rm8,reg_cl \1\xD2\203 8086
  1344. rm8,imm \1\xC0\203\25 186,SB
  1345. [RDSHR]
  1346. (Ch_All, Ch_None, Ch_None)
  1347. void \2\x0F\x36 P6,CYRIX,SMM
  1348. [RDMSR]
  1349. (Ch_WEAX, Ch_WEDX, Ch_None)
  1350. void \2\x0F\x32 PENT,PRIV
  1351. [RDPMC]
  1352. (Ch_WEAX, Ch_WEDX, Ch_None)
  1353. void \2\x0F\x33 P6
  1354. [RDTSC]
  1355. (Ch_WEAX, Ch_WEDX, Ch_None)
  1356. void \2\x0F\x31 PENT
  1357. [REP]
  1358. (Ch_RWECX, Ch_RWFlags, Ch_None)
  1359. void \1\xF3 8086,PRE
  1360. [REPE]
  1361. (Ch_RWECX, Ch_RWFlags, Ch_None)
  1362. void \1\xF3 8086,PRE
  1363. [REPNE]
  1364. (Ch_RWECX, Ch_RWFlags, Ch_None)
  1365. void \1\xF2 8086,PRE
  1366. [REPNZ]
  1367. (Ch_RWECX, Ch_RWFLAGS, Ch_None)
  1368. void \1\xF2 8086,PRE
  1369. [REPZ]
  1370. (Ch_RWECX, Ch_RWFLAGS, Ch_None)
  1371. void \1\xF3 8086,PRE
  1372. [RET]
  1373. (Ch_All, Ch_None, Ch_None)
  1374. void \1\xC3 8086
  1375. imm \1\xC2\30 8086,SW
  1376. [RETF,lret]
  1377. (Ch_All, Ch_None, Ch_None)
  1378. void \1\xCB 8086
  1379. imm \1\xCA\30 8086,SW
  1380. [RETN,ret]
  1381. (Ch_All, Ch_None, Ch_None)
  1382. void \1\xC3 8086
  1383. imm \1\xC2\30 8086,SW
  1384. [ROL,rolX]
  1385. (Ch_Mop2, Ch_Rop1, Ch_RWFlags)
  1386. rm16|32|64,unity \320\1\xD1\200 8086
  1387. rm16|32|64,reg_cl \320\1\xD3\200 8086
  1388. rm16|32|64,imm \320\1\xC1\200\25 8086,SB
  1389. rm8,unity \1\xD0\200 8086
  1390. rm8,reg_cl \1\xD2\200 8086
  1391. rm8,imm \1\xC0\200\25 186,SB
  1392. [ROR,rorX]
  1393. (Ch_Mop2, Ch_Rop1, Ch_RWFlags)
  1394. rm16|32|64,unity \320\1\xD1\201 8086
  1395. rm16|32|64,reg_cl \320\1\xD3\201 8086
  1396. rm16|32|64,imm \320\1\xC1\201\25 8086,SB
  1397. rm8,unity \1\xD0\201 8086
  1398. rm8,reg_cl \1\xD2\201 8086
  1399. rm8,imm \1\xC0\201\25 186,SB
  1400. [RSDC]
  1401. (Ch_All, Ch_None, Ch_None)
  1402. reg_sreg,mem80 \2\x0F\x79\101 486,CYRIX,SMM
  1403. [RSLDT]
  1404. (Ch_All, Ch_None, Ch_None)
  1405. mem80 \2\x0F\x7B\200 486,CYRIX,SMM
  1406. [RSM]
  1407. (Ch_All, Ch_None, Ch_None)
  1408. void \2\x0F\xAA PENT,SMM
  1409. ; SAHF/LAHF are valid in x86_64 only if CPUID.80000001h:ECX.0=1
  1410. [SAHF]
  1411. (Ch_WFlags, Ch_REAX, Ch_None)
  1412. void \1\x9E 8086
  1413. [SAL,salX]
  1414. (Ch_Mop2, Ch_Rop1, Ch_RWFlags)
  1415. rm16|32|64,unity \320\1\xD1\204 8086,ND
  1416. rm16|32|64,reg_cl \320\1\xD3\204 8086,ND
  1417. rm16|32|64,imm \320\1\xC1\204\25 8086,ND,SB
  1418. rm8,unity \1\xD0\204 8086,ND
  1419. rm8,reg_cl \1\xD2\204 8086,ND
  1420. rm8,imm \1\xC0\204\25 186,ND,SB
  1421. [SALC]
  1422. (Ch_WEAX, Ch_RFLAGS, Ch_None)
  1423. void \1\xD6 8086,UNDOC,NOX86_64
  1424. [SAR,sarX]
  1425. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  1426. rm16|32|64,unity \320\1\xD1\207 8086
  1427. rm16|32|64,reg_cl \320\1\xD3\207 8086
  1428. rm16|32|64,imm \320\1\xC1\207\25 8086,SB
  1429. rm8,unity \1\xD0\207 8086
  1430. rm8,reg_cl \1\xD2\207 8086
  1431. rm8,imm \1\xC0\207\25 186,SB
  1432. [SBB,sbbX]
  1433. (Ch_Mop2, Ch_Rop1, Ch_RWFlags)
  1434. regmem,reg16|32|64 \320\1\x19\101 8086,SM
  1435. reg16|32|64,regmem \320\1\x1B\110 8086,SM
  1436. rm16|32|64,imm8 \320\1\x83\203\15 8086
  1437. rm8,reg8 \1\x18\101 8086
  1438. reg8,rm8 \1\x1A\110 8086,SM
  1439. reg_eax,imm \325\1\x1D\41 386,SM
  1440. reg_rax,imm \326\1\x1D\255 X86_64,SM
  1441. rm32,imm \320\1\x81\203\41 386,SM
  1442. rm64,imm \326\1\x81\203\255 X86_64,SM
  1443. reg_ax,imm \324\1\x1D\31 8086,SW
  1444. rm16,imm \320\1\x81\203\31 8086,SW
  1445. reg_al,imm \1\x1C\21 8086,SB
  1446. rm8,imm \1\x80\203\21 8086,SB
  1447. [SCASB]
  1448. (Ch_All, Ch_None, Ch_None)
  1449. void \332\1\xAE 8086
  1450. [SCASD,scasl]
  1451. (Ch_All, Ch_None, Ch_None)
  1452. void \332\325\1\xAF 386
  1453. [SCASQ]
  1454. (Ch_All, Ch_None, Ch_None)
  1455. void \332\326\1\xAF X86_64
  1456. [SCASW]
  1457. (Ch_All, Ch_None, Ch_None)
  1458. void \332\324\1\xAF 8086
  1459. [SEGCS,cs]
  1460. (Ch_None, Ch_None, Ch_None)
  1461. void \1\x2E 8086,PRE
  1462. [SEGDS,ds]
  1463. (Ch_None, Ch_None, Ch_None)
  1464. void \1\x3E 8086,PRE
  1465. [SEGES,es]
  1466. (Ch_None, Ch_None, Ch_None)
  1467. void \1\x26 8086,PRE
  1468. [SEGFS,fs]
  1469. (Ch_None, Ch_None, Ch_None)
  1470. void \1\x64 8086,PRE
  1471. [SEGGS,gs]
  1472. (Ch_None, Ch_None, Ch_None)
  1473. void \1\x65 8086,PRE
  1474. [SEGSS,ss]
  1475. (Ch_None, Ch_None, Ch_None)
  1476. void \1\x36 8086,PRE
  1477. [SGDT]
  1478. (Ch_Wop1, Ch_None, Ch_None)
  1479. mem \2\x0F\x01\200 286
  1480. [SHL,shlX]
  1481. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  1482. rm16|32|64,unity \320\1\xD1\204 8086
  1483. rm16|32|64,reg_cl \320\1\xD3\204 8086
  1484. rm16|32|64,imm \320\1\xC1\204\25 186,SW
  1485. rm8,unity \1\xD0\204 8086
  1486. rm8,reg_cl \1\xD2\204 8086
  1487. rm8,imm \1\xC0\204\25 186,SB
  1488. [SHLD,shldX]
  1489. (Ch_MOp3, Ch_RWFlags, Ch_Rop2)
  1490. rm16|32|64,reg16|32|64,imm \321\2\x0F\xA4\101\26 386,SM2,SB,AR2
  1491. rm16|32|64,reg16|32|64,reg_cl \321\2\x0F\xA5\101 386,SM
  1492. [SHR,shrX]
  1493. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  1494. rm16|32|64,unity \320\1\xD1\205 8086
  1495. rm16|32|64,reg_cl \320\1\xD3\205 8086
  1496. rm16|32|64,imm \320\1\xC1\205\25 186,SW
  1497. rm8,unity \1\xD0\205 8086
  1498. rm8,reg_cl \1\xD2\205 8086
  1499. rm8,imm \1\xC0\205\25 186,SB
  1500. [SHRD,shrdX]
  1501. (Ch_MOp3, Ch_RWFlags, Ch_Rop2)
  1502. rm16|32|64,reg16|32|64,imm \321\2\x0F\xAC\101\26 386,SM2,SB,AR2
  1503. rm16|32|64,reg16|32|64,reg_cl \321\2\x0F\xAD\101 386,SM
  1504. [SIDT,sidtX]
  1505. (Ch_Wop1, Ch_None, Ch_None)
  1506. mem \2\x0F\x01\201 286
  1507. [SLDT,sldtX]
  1508. (Ch_Wop1, Ch_None, Ch_None)
  1509. mem \2\x0F\x00\200 286
  1510. reg16|32|64 \320\2\x0F\x00\200 286
  1511. [SMI]
  1512. (Ch_All, Ch_None, Ch_None)
  1513. void \1\xF1 386,UNDOC
  1514. [SMINT]
  1515. (Ch_All, Ch_None, Ch_None)
  1516. void \2\x0F\x38 P6,CYRIX
  1517. [SMINTOLD]
  1518. (Ch_All, Ch_None, Ch_None)
  1519. void \2\x0F\x7E 486,CYRIX,ND
  1520. [SMSW,smswX]
  1521. (Ch_Wop1, Ch_None, Ch_None)
  1522. rm16|32|64 \320\2\x0F\x01\204 286
  1523. [STC]
  1524. (Ch_WFlags, Ch_None, Ch_None)
  1525. void \1\xF9 8086
  1526. [STD]
  1527. (Ch_SDirFlag, Ch_None, Ch_None)
  1528. void \1\xFD 8086
  1529. [STI]
  1530. (Ch_WFlags, Ch_None, Ch_None)
  1531. void \1\xFB 8086
  1532. [STOSB]
  1533. (Ch_REAX, Ch_WMemEDI, Ch_RWEDI)
  1534. void \1\xAA 8086
  1535. [STOSD,stosl]
  1536. (Ch_REAX, Ch_WMemEDI, Ch_RWEDI)
  1537. void \325\1\xAB 386
  1538. [STOSW]
  1539. (Ch_REAX, Ch_WMemEDI, Ch_RWEDI)
  1540. void \324\1\xAB 8086
  1541. [STR,strX]
  1542. (Ch_Wop1, Ch_None, Ch_None)
  1543. mem \2\x0F\x00\201 286,PROT
  1544. reg16|32|64 \320\2\x0F\x00\201 286,PROT
  1545. [SUB,subX]
  1546. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  1547. regmem,reg16|32|64 \320\1\x29\101 8086,SM
  1548. reg16|32|64,regmem \320\1\x2B\110 8086,SM
  1549. rm8,reg8 \1\x28\101 8086
  1550. reg8,rm8 \1\x2A\110 8086,SM
  1551. rm16|32|64,imm8 \320\1\x83\205\15 8086
  1552. reg_eax,imm \325\1\x2D\41 386,SM
  1553. reg_rax,imm \326\1\x2D\255 X86_64,SM
  1554. rm32,imm \320\1\x81\205\41 386,SM
  1555. rm64,imm \326\1\x81\205\255 X86_64,SM
  1556. reg_ax,imm \324\1\x2D\31 8086,SW
  1557. rm16,imm \324\1\x81\205\31 8086,SW
  1558. reg_al,imm \1\x2C\21 8086,SB
  1559. rm8,imm \1\x80\205\21 8086,SB
  1560. [SVDC,svdcX]
  1561. (Ch_All, Ch_None, Ch_None)
  1562. mem80,reg_sreg \2\x0F\x78\101 486,CYRIX,SMM
  1563. [SVLDT,svldtX]
  1564. (Ch_All, Ch_None, Ch_None)
  1565. mem80 \2\x0F\x7A\200 486,CYRIX,SMM
  1566. [SVTS,svtsX]
  1567. (Ch_All, Ch_None, Ch_None)
  1568. mem80 \2\x0F\x7C\200 486,CYRIX,SMM
  1569. [SYSCALL]
  1570. (Ch_All, Ch_None, Ch_None)
  1571. void \2\x0F\x05 P6,AMD
  1572. [SYSENTER]
  1573. (Ch_All, Ch_None, Ch_None)
  1574. void \2\x0F\x34 P6
  1575. [SYSEXIT]
  1576. (Ch_All, Ch_None, Ch_None)
  1577. void \2\x0F\x35 P6,PRIV
  1578. [SYSRET]
  1579. (Ch_All, Ch_None, Ch_None)
  1580. void \2\x0F\x07 P6,PRIV,AMD
  1581. [TEST,testX]
  1582. (Ch_WFlags, Ch_Rop1, Ch_Rop2)
  1583. regmem,reg16|32|64 \320\1\x85\101 8086,SM
  1584. reg16|32|64,mem \320\1\x85\110 8086,SM
  1585. reg8,reg8 \1\x84\101 8086
  1586. rm8,reg8 \1\x84\101 8086,SM
  1587. reg_rax,imm \326\1\xA9\255 X86_64,SM
  1588. reg_eax,imm \325\1\xA9\41 386,SM
  1589. reg_ax,imm \324\1\xA9\31 8086,SM
  1590. reg_al,imm \1\xA8\21 8086,SM
  1591. rm64,imm \326\1\xF7\200\255 X86_64,SM
  1592. rm32,imm \325\1\xF7\200\41 386,SM
  1593. rm16,imm \324\1\xF7\200\31 8086,SM
  1594. rm8,imm \1\xF6\200\21 8086,SM
  1595. mem,imm32 \325\1\xF7\200\41 386,SM
  1596. mem,imm16 \324\1\xF7\200\31 8086,SM
  1597. mem,imm8 \1\xF6\200\21 8086,SM
  1598. [UD1]
  1599. (Ch_All, Ch_None, Ch_None)
  1600. void \2\x0F\xB9 286,UNDOC
  1601. [UD2]
  1602. (Ch_All, Ch_None, Ch_None)
  1603. void \2\x0F\x0B 286
  1604. [UMOV,umovX]
  1605. (Ch_All, Ch_None, Ch_None)
  1606. regmem,reg16|32|64 \320\2\x0F\x11\101 386,UNDOC,SM
  1607. reg16|32|64,mem \320\2\x0F\x13\110 386,UNDOC,SM
  1608. rm8,reg8 \2\x0F\x10\101 386,UNDOC
  1609. reg8,rm8 \2\x0F\x12\110 386,UNDOC
  1610. [VERR,verrX]
  1611. (Ch_WFlags, Ch_None, Ch_None)
  1612. mem \2\x0F\x00\204 286,PROT
  1613. mem16 \2\x0F\x00\204 286,PROT
  1614. reg16 \2\x0F\x00\204 286,PROT
  1615. [VERW]
  1616. (Ch_WFlags, Ch_None, Ch_None)
  1617. mem \2\x0F\x00\205 286,PROT
  1618. mem16 \2\x0F\x00\205 286,PROT
  1619. reg16 \2\x0F\x00\205 286,PROT
  1620. [WAIT]
  1621. (Ch_None, Ch_None, Ch_None)
  1622. void \1\x9B 8086
  1623. [WBINVD]
  1624. (Ch_None, Ch_None, Ch_None)
  1625. void \2\x0F\x09 486,PRIV
  1626. [WRSHR]
  1627. (Ch_All, Ch_None, Ch_None)
  1628. void \2\x0F\x37 P6,CYRIX,SMM
  1629. [WRMSR]
  1630. (Ch_All, Ch_None, Ch_None)
  1631. void \2\x0F\x30 PENT,PRIV
  1632. [XADD,xaddX]
  1633. (Ch_All, Ch_None, Ch_None)
  1634. mem,reg16|32|64 \320\2\x0F\xC1\101 486,SM
  1635. rm8,reg8 \2\x0F\xC0\101 486
  1636. [XBTS,xbtsX]
  1637. (Ch_All, Ch_None, Ch_None)
  1638. reg16,mem \324\2\x0F\xA6\110 386,SW,UNDOC,ND
  1639. reg16,reg16 \324\2\x0F\xA6\110 386,UNDOC,ND
  1640. reg32,mem \325\2\x0F\xA6\110 386,SD,UNDOC,ND
  1641. reg32,reg32 \325\2\x0F\xA6\110 386,UNDOC,ND
  1642. [XCHG,xchgX]
  1643. (Ch_RWop1, Ch_RWop2, Ch_None)
  1644. reg_ax,reg16 \324\11\x90 8086
  1645. reg_eax,reg32 \325\11\x90 386
  1646. reg_rax,reg64 \326\11\x90 X86_64
  1647. reg16,reg_ax \324\10\x90 8086
  1648. reg32,reg_eax \325\10\x90 386
  1649. reg64,reg_rax \326\10\x90 X86_64
  1650. reg16|32|64,regmem \320\1\x87\110 8086,SM
  1651. mem,reg16|32|64 \320\1\x87\101 8086,SM
  1652. reg8,rm8 \1\x86\110 8086
  1653. mem8,reg8 \1\x86\101 8086
  1654. [XLAT]
  1655. (Ch_WEAX, Ch_REBX, Ch_None)
  1656. void \1\xD7 8086
  1657. [XLATB]
  1658. (Ch_WEAX, Ch_REBX, Ch_None)
  1659. void \1\xD7 8086
  1660. [XOR,xorX]
  1661. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  1662. regmem,reg16|32|64 \320\1\x31\101 8086,SM
  1663. reg16|32|64,regmem \320\1\x33\110 8086,SM
  1664. rm8,reg8 \1\x30\101 8086
  1665. reg8,rm8 \1\x32\110 8086
  1666. rm16|32|64,imm8 \320\1\x83\206\15 8086
  1667. reg_eax,imm \325\1\x35\41 386,SM
  1668. reg_rax,imm \326\1\x35\255 X86_64,SM
  1669. rm32,imm \320\1\x81\206\41 386,SM
  1670. rm64,imm \326\1\x81\206\255 X86_64,SM
  1671. reg_ax,imm \324\1\x35\31 8086,SW
  1672. rm16,imm \324\1\x81\206\31 8086,SW
  1673. reg_al,imm \1\x34\21 8086,SB
  1674. rm8,imm \1\x80\206\21 8086,SB
  1675. [XSTORE]
  1676. (Ch_All, Ch_None, Ch_None)
  1677. void \3\x0F\xA7\xC0 P6,CYRIX
  1678. [XCRYPTECB]
  1679. (Ch_All, Ch_None, Ch_None)
  1680. void \333\3\x0F\xA7\xC8 P6,CYRIX
  1681. [XCRYPTCBC]
  1682. (Ch_All, Ch_None, Ch_None)
  1683. void \333\3\x0F\xA7\xD0 P6,CYRIX
  1684. [XCRYPTCFB]
  1685. (Ch_All, Ch_None, Ch_None)
  1686. void \333\3\x0F\xA7\xE0 P6,CYRIX
  1687. [XCRYPTOFB]
  1688. (Ch_All, Ch_None, Ch_None)
  1689. void \333\3\x0F\xA7\xE8 P6,CYRIX
  1690. [CMOVcc,cmovCCX]
  1691. (Ch_ROp1, Ch_WOp2, Ch_RFLAGS)
  1692. reg16|32|64,regmem \320\1\x0F\13\x40\110 P6,SM
  1693. [Jcc]
  1694. (Ch_RFLAGS, Ch_None, Ch_None)
  1695. imm8 \13\x70\50 8086
  1696. imm16|32 \320\1\x0F\13\x80\64 386,PASS2
  1697. imm|short \13\x70\50 8086
  1698. imm|near \320\1\x0F\13\x80\64 386,PASS2
  1699. [SETcc,setCCX]
  1700. (Ch_RFLAGS, Ch_WOp1, Ch_None)
  1701. rm8 \1\x0F\13\x90\200 386
  1702. ;
  1703. ; Katmai Streaming SIMD instructions (SSE -- a.k.a. KNI, XMM, MMX2)
  1704. ;
  1705. [ADDPS]
  1706. (Ch_Mop2, Ch_Rop1, Ch_None)
  1707. xmmreg,xmmrm \331\2\x0F\x58\110 KATMAI,SSE
  1708. [ADDSS]
  1709. (Ch_Mop2, Ch_Rop1, Ch_None)
  1710. xmmreg,xmmrm \333\2\x0F\x58\110 KATMAI,SSE
  1711. [ANDNPS]
  1712. (Ch_Mop2, Ch_Rop1, Ch_None)
  1713. xmmreg,xmmrm \2\x0F\x55\110 KATMAI,SSE
  1714. [ANDPS]
  1715. (Ch_Mop2, Ch_Rop1, Ch_None)
  1716. xmmreg,xmmrm \2\x0F\x54\110 KATMAI,SSE
  1717. [CMPEQPS]
  1718. (Ch_All, Ch_None, Ch_None)
  1719. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x00 KATMAI,SSE
  1720. [CMPEQSS]
  1721. (Ch_All, Ch_None, Ch_None)
  1722. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x00 KATMAI,SSE
  1723. [CMPLEPS]
  1724. (Ch_All, Ch_None, Ch_None)
  1725. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x02 KATMAI,SSE
  1726. [CMPLESS]
  1727. (Ch_All, Ch_None, Ch_None)
  1728. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x02 KATMAI,SSE
  1729. [CMPLTPS]
  1730. (Ch_All, Ch_None, Ch_None)
  1731. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x01 KATMAI,SSE
  1732. [CMPLTSS]
  1733. (Ch_All, Ch_None, Ch_None)
  1734. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x01 KATMAI,SSE
  1735. [CMPNEQPS]
  1736. (Ch_All, Ch_None, Ch_None)
  1737. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x04 KATMAI,SSE
  1738. [CMPNEQSS]
  1739. (Ch_All, Ch_None, Ch_None)
  1740. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x04 KATMAI,SSE
  1741. [CMPNLEPS]
  1742. (Ch_All, Ch_None, Ch_None)
  1743. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x06 KATMAI,SSE
  1744. [CMPNLESS]
  1745. (Ch_All, Ch_None, Ch_None)
  1746. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x06 KATMAI,SSE
  1747. [CMPNLTPS]
  1748. (Ch_All, Ch_None, Ch_None)
  1749. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x05 KATMAI,SSE
  1750. [CMPNLTSS]
  1751. (Ch_All, Ch_None, Ch_None)
  1752. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x05 KATMAI,SSE
  1753. [CMPORDPS]
  1754. (Ch_All, Ch_None, Ch_None)
  1755. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x07 KATMAI,SSE
  1756. [CMPORDSS]
  1757. (Ch_All, Ch_None, Ch_None)
  1758. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x07 KATMAI,SSE
  1759. [CMPUNORDPS]
  1760. (Ch_All, Ch_None, Ch_None)
  1761. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x03 KATMAI,SSE
  1762. [CMPUNORDSS]
  1763. (Ch_All, Ch_None, Ch_None)
  1764. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x03 KATMAI,SSE
  1765. ;
  1766. ; CMPPS/CMPSS must come after the specific ops; that way the disassembler will find the
  1767. ; specific ops first and only disassemble illegal ones as cmpps.
  1768. ;
  1769. [CMPPS]
  1770. (Ch_All, Ch_None, Ch_None)
  1771. xmmreg,xmmrm,imm \331\2\x0F\xC2\110\22 KATMAI,SSE,SB,AR2
  1772. [CMPSS]
  1773. (Ch_All, Ch_None, Ch_None)
  1774. xmmreg,xmmrm,imm \333\2\x0F\xC2\110\22 KATMAI,SSE,SB,AR2
  1775. [COMISS]
  1776. (Ch_Rop1, Ch_Rop2, Ch_WFlags)
  1777. xmmreg,xmmrm \2\x0F\x2F\110 KATMAI,SSE
  1778. [CVTPI2PS]
  1779. (Ch_Wop2, Ch_Rop1, Ch_None)
  1780. xmmreg,mem \331\2\x0F\x2A\110 KATMAI,SSE,MMX
  1781. xmmreg,mmxreg \331\2\x0F\x2A\110 KATMAI,SSE,MMX
  1782. [CVTPS2PI]
  1783. (Ch_Wop2, Ch_Rop1, Ch_None)
  1784. mmxreg,mem \331\2\x0F\x2D\110 KATMAI,SSE,MMX
  1785. mmxreg,xmmreg \331\2\x0F\x2D\110 KATMAI,SSE,MMX
  1786. [CVTSI2SS,cvtsi2ssX]
  1787. (Ch_Wop2, Ch_Rop1, Ch_None)
  1788. xmmreg,mem \333\321\2\x0F\x2A\110 KATMAI,SSE
  1789. xmmreg,reg32|64 \333\321\2\x0F\x2A\110 KATMAI,SSE
  1790. [CVTSS2SI,cvtss2siX]
  1791. (Ch_Wop2, Ch_Rop1, Ch_None)
  1792. reg32|64,mem \333\320\2\x0F\x2D\110 KATMAI,SSE
  1793. reg32|64,xmmreg \333\320\2\x0F\x2D\110 KATMAI,SSE
  1794. [CVTTPS2PI]
  1795. (Ch_Wop2, Ch_Rop1, Ch_None)
  1796. mmxreg,mem \331\2\x0F\x2C\110 KATMAI,SSE,MMX
  1797. mmxreg,xmmreg \331\2\x0F\x2C\110 KATMAI,SSE,MMX
  1798. [CVTTSS2SI,cvttss2siX]
  1799. (Ch_Wop2, Ch_Rop1, Ch_None)
  1800. reg32|64,mem \333\320\2\x0F\x2C\110 KATMAI,SSE
  1801. reg32|64,xmmreg \333\320\2\x0F\x2C\110 KATMAI,SSE
  1802. [DIVPS]
  1803. (Ch_Mop2, Ch_Rop1, Ch_None)
  1804. xmmreg,xmmrm \331\2\x0F\x5E\110 KATMAI,SSE
  1805. [DIVSS]
  1806. (Ch_Mop2, Ch_Rop1, Ch_None)
  1807. xmmreg,xmmrm \333\2\x0F\x5E\110 KATMAI,SSE
  1808. [LDMXCSR]
  1809. (Ch_All, Ch_None, Ch_None)
  1810. mem \2\x0F\xAE\202 KATMAI,SSE,SD
  1811. [MAXPS]
  1812. (Ch_All, Ch_None, Ch_None)
  1813. xmmreg,xmmrm \331\2\x0F\x5F\110 KATMAI,SSE
  1814. [MAXSS]
  1815. (Ch_All, Ch_None, Ch_None)
  1816. xmmreg,xmmrm \333\2\x0F\x5F\110 KATMAI,SSE
  1817. [MINPS]
  1818. (Ch_All, Ch_None, Ch_None)
  1819. xmmreg,xmmrm \331\2\x0F\x5D\110 KATMAI,SSE
  1820. [MINSS]
  1821. (Ch_All, Ch_None, Ch_None)
  1822. xmmreg,xmmrm \333\2\x0F\x5D\110 KATMAI,SSE
  1823. [MOVAPS]
  1824. (Ch_ROp1, Ch_WOp2, Ch_None)
  1825. xmmreg,xmmrm \2\x0F\x28\110 KATMAI,SSE
  1826. xmmrm,xmmreg \2\x0F\x29\101 KATMAI,SSE
  1827. [MOVHPS]
  1828. (Ch_All, Ch_None, Ch_None)
  1829. xmmreg,mem \2\x0F\x16\110 KATMAI,SSE
  1830. mem,xmmreg \2\x0F\x17\101 KATMAI,SSE
  1831. [MOVLHPS]
  1832. (Ch_All, Ch_None, Ch_None)
  1833. xmmreg,xmmreg \2\x0F\x16\110 KATMAI,SSE
  1834. [MOVLPS]
  1835. (Ch_All, Ch_None, Ch_None)
  1836. xmmreg,mem \2\x0F\x12\110 KATMAI,SSE
  1837. mem,xmmreg \2\x0F\x13\101 KATMAI,SSE
  1838. [MOVHLPS]
  1839. (Ch_All, Ch_None, Ch_None)
  1840. xmmreg,xmmreg \2\x0F\x12\110 KATMAI,SSE
  1841. [MOVMSKPS]
  1842. (Ch_All, Ch_None, Ch_None)
  1843. reg32,xmmreg \2\x0F\x50\110 KATMAI,SSE
  1844. [MOVNTPS]
  1845. (Ch_All, Ch_None, Ch_None)
  1846. mem,xmmreg \2\x0F\x2B\101 KATMAI,SSE
  1847. [MOVSS]
  1848. (Ch_Wop2, Ch_Rop1, Ch_None)
  1849. xmmreg,xmmrm \333\2\x0F\x10\110 KATMAI,SSE
  1850. xmmrm,xmmreg \333\2\x0F\x11\101 KATMAI,SSE
  1851. [MOVUPS]
  1852. (Ch_All, Ch_None, Ch_None)
  1853. xmmreg,xmmrm \331\2\x0F\x10\110 KATMAI,SSE
  1854. xmmrm,xmmreg \331\2\x0F\x11\101 KATMAI,SSE
  1855. [MULPS]
  1856. (Ch_Mop2, Ch_Rop1, Ch_None)
  1857. xmmreg,xmmrm \2\x0F\x59\110 KATMAI,SSE
  1858. [MULSS]
  1859. (Ch_Mop2, Ch_Rop1, Ch_None)
  1860. xmmreg,xmmrm \333\2\x0F\x59\110 KATMAI,SSE
  1861. [ORPS]
  1862. (Ch_Mop2, Ch_Rop1, Ch_None)
  1863. xmmreg,xmmrm \2\x0F\x56\110 KATMAI,SSE
  1864. [RCPPS]
  1865. (Ch_Wop2, Ch_Rop1, Ch_None)
  1866. xmmreg,xmmrm \331\2\x0F\x53\110 KATMAI,SSE
  1867. [RCPSS]
  1868. (Ch_Wop2, Ch_Rop1, Ch_None)
  1869. xmmreg,xmmrm \333\2\x0F\x53\110 KATMAI,SSE
  1870. [RSQRTPS]
  1871. (Ch_Wop2, Ch_Rop1, Ch_None)
  1872. xmmreg,xmmrm \331\2\x0F\x52\110 KATMAI,SSE
  1873. [RSQRTSS]
  1874. (Ch_Wop2, Ch_Rop1, Ch_None)
  1875. xmmreg,xmmrm \333\2\x0F\x52\110 KATMAI,SSE
  1876. [SHUFPS]
  1877. (Ch_Mop3, Ch_Rop2, Ch_None)
  1878. xmmreg,xmmrm,imm \2\x0F\xC6\110\22 KATMAI,SSE,SB,AR2
  1879. [SQRTPS]
  1880. (Ch_Wop2, Ch_Rop1, Ch_None)
  1881. xmmreg,xmmrm \331\2\x0F\x51\110 KATMAI,SSE
  1882. [SQRTSS]
  1883. (Ch_Wop2, Ch_Rop1, Ch_None)
  1884. xmmreg,xmmrm \333\2\x0F\x51\110 KATMAI,SSE
  1885. [STMXCSR]
  1886. (Ch_All, Ch_None, Ch_None)
  1887. mem \2\x0F\xAE\203 KATMAI,SSE,SD
  1888. [SUBPS]
  1889. (Ch_Mop2, Ch_Rop1, Ch_None)
  1890. xmmreg,xmmrm \331\2\x0F\x5C\110 KATMAI,SSE
  1891. [SUBSS]
  1892. (Ch_Mop2, Ch_Rop1, Ch_None)
  1893. xmmreg,xmmrm \333\2\x0F\x5C\110 KATMAI,SSE
  1894. [UCOMISS]
  1895. (Ch_Rop1, Ch_Rop2, Ch_WFlags)
  1896. xmmreg,xmmrm \2\x0F\x2E\110 KATMAI,SSE
  1897. [UNPCKHPS]
  1898. (Ch_Mop2, Ch_Rop1, Ch_None)
  1899. xmmreg,xmmrm \2\x0F\x15\110 KATMAI,SSE
  1900. [UNPCKLPS]
  1901. (Ch_Mop2, Ch_Rop1, Ch_None)
  1902. xmmreg,xmmrm \2\x0F\x14\110 KATMAI,SSE
  1903. [XORPS]
  1904. (Ch_Mop2, Ch_Rop1, Ch_None)
  1905. xmmreg,xmmrm \2\x0F\x57\110 KATMAI,SSE
  1906. ;
  1907. ; Introduced in Dechutes but necessary for SSE support
  1908. ;
  1909. [FXRSTOR]
  1910. (Ch_All, Ch_None, Ch_None)
  1911. mem \2\x0F\xAE\201 P6,SSE,FPU
  1912. [FXSAVE]
  1913. (Ch_All, Ch_None, Ch_None)
  1914. mem \2\x0F\xAE\200 P6,SSE,FPU
  1915. ;
  1916. ; These instructions aren't SSE-specific; they are generic memory operations
  1917. ; and work even if CR4.OSFXFR == 0
  1918. ;
  1919. [PREFETCHNTA]
  1920. (Ch_All, Ch_None, Ch_None)
  1921. mem \2\x0F\x18\200 KATMAI
  1922. [PREFETCHT0]
  1923. (Ch_All, Ch_None, Ch_None)
  1924. mem \2\x0F\x18\201 KATMAI
  1925. [PREFETCHT1]
  1926. (Ch_All, Ch_None, Ch_None)
  1927. mem \2\x0F\x18\202 KATMAI
  1928. [PREFETCHT2]
  1929. (Ch_All, Ch_None, Ch_None)
  1930. mem \2\x0F\x18\203 KATMAI
  1931. [SFENCE]
  1932. (Ch_All, Ch_None, Ch_None)
  1933. void \3\x0F\xAE\xF8 KATMAI
  1934. ;
  1935. ; New MMX instructions introduced in Katmai
  1936. ;
  1937. [MASKMOVQ]
  1938. (Ch_All, Ch_None, Ch_None)
  1939. mmxreg,mmxreg \2\x0F\xF7\110 KATMAI,MMX
  1940. [MOVNTQ]
  1941. (Ch_All, Ch_None, Ch_None)
  1942. mem,mmxreg \2\x0F\xE7\101 KATMAI,MMX,SM
  1943. [PAVGB]
  1944. (Ch_All, Ch_None, Ch_None)
  1945. mmxreg,mmxrm \2\x0F\xE0\110 KATMAI,MMX,SM
  1946. xmmreg,xmmrm \361\2\x0F\xE0\110 WILLAMETTE,SSE2,SM
  1947. [PAVGW]
  1948. (Ch_All, Ch_None, Ch_None)
  1949. mmxreg,mmxrm \2\x0F\xE3\110 KATMAI,MMX,SM
  1950. xmmreg,xmmrm \361\2\x0F\xE3\110 WILLAMETTE,SSE2,SM
  1951. [PEXTRW]
  1952. (Ch_All, Ch_None, Ch_None)
  1953. reg32,mmxreg,imm \2\x0F\xC5\110\22 KATMAI,MMX,SB,AR2
  1954. reg32,xmmreg,imm \361\2\x0F\xC5\110\26 SSE41
  1955. mem32,xmmreg,imm \361\3\x0F\x3A\x15\101\26 SSE41
  1956. [PINSRW]
  1957. (Ch_All, Ch_None, Ch_None)
  1958. ; PINSRW is documented as using a reg32, but it's really using only 16 bit
  1959. ; -- accept either, but be truthful in disassembly
  1960. mmxreg,reg16,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2
  1961. mmxreg,reg32,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2,ND
  1962. mmxreg,mem,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2
  1963. mmxreg,mem16,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2,ND
  1964. xmmreg,reg16,imm \361\2\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2
  1965. xmmreg,reg32,imm \361\2\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2,ND
  1966. xmmreg,mem,imm \361\2\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2
  1967. xmmreg,mem16,imm \361\2\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2,ND
  1968. [PMAXSW]
  1969. (Ch_All, Ch_None, Ch_None)
  1970. mmxreg,mmxrm \2\x0F\xEE\110 KATMAI,MMX,SM
  1971. xmmreg,xmmrm \361\2\x0F\xEE\110 WILLAMETTE,SSE2,SM
  1972. [PMAXUB]
  1973. (Ch_All, Ch_None, Ch_None)
  1974. mmxreg,mmxrm \2\x0F\xDE\110 KATMAI,MMX,SM
  1975. xmmreg,xmmrm \361\2\x0F\xDE\110 WILLAMETTE,SSE2,SM
  1976. [PMINSW]
  1977. (Ch_All, Ch_None, Ch_None)
  1978. mmxreg,mmxrm \2\x0F\xEA\110 KATMAI,MMX,SM
  1979. xmmreg,xmmrm \361\2\x0F\xEA\110 WILLAMETTE,SSE2,SM
  1980. [PMINUB]
  1981. (Ch_All, Ch_None, Ch_None)
  1982. mmxreg,mmxrm \2\x0F\xDA\110 KATMAI,MMX,SM
  1983. xmmreg,xmmrm \361\2\x0F\xDA\110 WILLAMETTE,SSE2,SM
  1984. [PMOVMSKB]
  1985. (Ch_All, Ch_None, Ch_None)
  1986. reg32,mmxreg \2\x0F\xD7\110 KATMAI,MMX
  1987. reg32,xmmreg \361\2\x0F\xD7\110 WILLAMETTE,SSE2
  1988. [PMULHUW]
  1989. (Ch_All, Ch_None, Ch_None)
  1990. mmxreg,mmxrm \2\x0F\xE4\110 KATMAI,MMX,SM
  1991. xmmreg,xmmrm \361\2\x0F\xE4\110 WILLAMETTE,SSE2,SM
  1992. [PSADBW]
  1993. (Ch_All, Ch_None, Ch_None)
  1994. mmxreg,mmxrm \2\x0F\xF6\110 KATMAI,MMX,SM
  1995. xmmreg,xmmrm \361\2\x0F\xF6\110 WILLAMETTE,SSE2,SM
  1996. [PSHUFW]
  1997. (Ch_All, Ch_None, Ch_None)
  1998. mmxreg,mmxrm,imm \2\x0F\x70\110\22 KATMAI,MMX,SM2,SB,AR2
  1999. ;
  2000. ; New Athlon Instructions
  2001. ;
  2002. [PFNACC]
  2003. (Ch_All, Ch_None, Ch_None)
  2004. mmxreg,mmxrm \2\x0F\x0F\110\01\x8A PENT,3DNOW,SM
  2005. [PFPNACC]
  2006. (Ch_All, Ch_None, Ch_None)
  2007. mmxreg,mmxrm \2\x0F\x0F\110\01\x8E PENT,3DNOW,SM
  2008. [PI2FW]
  2009. (Ch_All, Ch_None, Ch_None)
  2010. mmxreg,mmxrm \2\x0F\x0F\110\01\x0C PENT,3DNOW,SM
  2011. [PF2IW]
  2012. (Ch_All, Ch_None, Ch_None)
  2013. mmxreg,mmxrm \2\x0F\x0F\110\01\x1C PENT,3DNOW,SM
  2014. [PSWAPD]
  2015. (Ch_All, Ch_None, Ch_None)
  2016. mmxreg,mmxrm \2\x0F\x0F\110\01\xBB PENT,3DNOW,SM
  2017. [FFREEP]
  2018. (Ch_All, Ch_None, Ch_None)
  2019. fpureg \1\xDF\10\xC0 PENT,3DNOW,FPU
  2020. ; Willamette SSE2 Cacheability Instructions
  2021. [MASKMOVDQU]
  2022. (Ch_All, Ch_None, Ch_None)
  2023. xmmreg,xmmreg \361\2\x0F\xF7\110 WILLAMETTE,SSE2
  2024. ; CLFLUSH needs its own feature flag implemented one day
  2025. [CLFLUSH]
  2026. (Ch_All, Ch_None, Ch_None)
  2027. mem \2\x0F\xAE\207 WILLAMETTE,SSE2
  2028. [MOVNTDQ]
  2029. (Ch_All, Ch_None, Ch_None)
  2030. mem,xmmreg \361\2\x0F\xE7\101 WILLAMETTE,SSE2,SM
  2031. [MOVNTI,movntiX]
  2032. (Ch_All, Ch_None, Ch_None)
  2033. mem,reg32|64 \320\2\x0F\xC3\101 WILLAMETTE,SSE2,SM
  2034. [MOVNTPD]
  2035. (Ch_All, Ch_None, Ch_None)
  2036. mem,xmmreg \361\2\x0F\x2B\101 WILLAMETTE,SSE2,SM
  2037. [PAUSE]
  2038. (Ch_All, Ch_None, Ch_None)
  2039. void \333\1\x90 WILLAMETTE,SSE2
  2040. [LFENCE]
  2041. (Ch_All, Ch_None, Ch_None)
  2042. void \3\x0F\xAE\xE8 WILLAMETTE,SSE2
  2043. [MFENCE]
  2044. (Ch_All, Ch_None, Ch_None)
  2045. void \3\x0F\xAE\xF0 WILLAMETTE,SSE2
  2046. ;
  2047. ; Willamette MMX instructions (SSE2 SIMD Integer Instructions)
  2048. ;
  2049. [MOVDQA]
  2050. (Ch_All, Ch_None, Ch_None)
  2051. xmmrm,xmmreg \361\2\x0F\x7F\101 WILLAMETTE,SSE2,SM
  2052. xmmreg,xmmrm \361\2\x0F\x6F\110 WILLAMETTE,SSE2,SM
  2053. [MOVDQU]
  2054. (Ch_All, Ch_None, Ch_None)
  2055. xmmrm,xmmreg \333\2\x0F\x7F\101 WILLAMETTE,SSE2,SM
  2056. xmmreg,xmmrm \333\2\x0F\x6F\110 WILLAMETTE,SSE2,SM
  2057. [MOVDQ2Q]
  2058. (Ch_All, Ch_None, Ch_None)
  2059. mmxreg,xmmreg \334\2\x0F\xD6\110 WILLAMETTE,SSE2
  2060. [MOVQ2DQ]
  2061. (Ch_All, Ch_None, Ch_None)
  2062. xmmreg,mmxreg \333\2\x0F\xD6\110 WILLAMETTE,SSE2
  2063. [PADDQ]
  2064. (Ch_All, Ch_None, Ch_None)
  2065. mmxreg,mmxrm \2\x0F\xD4\110 WILLAMETTE,SSE2,SM
  2066. xmmreg,xmmrm \361\2\x0F\xD4\110 WILLAMETTE,SSE2,SM
  2067. [PMULUDQ]
  2068. (Ch_All, Ch_None, Ch_None)
  2069. mmxreg,mmxrm \2\x0F\xF4\110 WILLAMETTE,SSE2,SM
  2070. xmmreg,xmmrm \361\2\x0F\xF4\110 WILLAMETTE,SSE2,SM
  2071. [PSHUFD]
  2072. (Ch_All, Ch_None, Ch_None)
  2073. xmmreg,xmmrm,imm \361\2\x0F\x70\110\22 WILLAMETTE,SSE2,SM2,SB,AR2
  2074. [PSHUFHW]
  2075. (Ch_All, Ch_None, Ch_None)
  2076. xmmreg,xmmrm,imm \333\2\x0F\x70\110\22 WILLAMETTE,SSE2,SM2,SB,AR2
  2077. [PSHUFLW]
  2078. (Ch_All, Ch_None, Ch_None)
  2079. xmmreg,xmmrm,imm \334\2\x0F\x70\110\22 WILLAMETTE,SSE2,SM2,SB,AR2
  2080. [PSRLDQ]
  2081. (Ch_All, Ch_None, Ch_None)
  2082. xmmreg,imm \361\2\x0F\x73\203\25 WILLAMETTE,SSE2,SB,AR1
  2083. [PSUBQ]
  2084. (Ch_All, Ch_None, Ch_None)
  2085. mmxreg,mmxrm \2\x0F\xFB\110 WILLAMETTE,SSE2,SM
  2086. xmmreg,xmmrm \361\2\x0F\xFB\110 WILLAMETTE,SSE2,SM
  2087. [PUNPCKHQDQ]
  2088. (Ch_All, Ch_None, Ch_None)
  2089. xmmreg,xmmrm \361\2\x0F\x6D\110 WILLAMETTE,SSE2,SM
  2090. [PUNPCKLQDQ]
  2091. (Ch_All, Ch_None, Ch_None)
  2092. xmmreg,xmmrm \361\2\x0F\x6C\110 WILLAMETTE,SSE2,SM
  2093. ;
  2094. ; Willamette Streaming SIMD instructions (SSE2)
  2095. ;
  2096. [ADDPD]
  2097. (Ch_Mop2, Ch_Rop1, Ch_None)
  2098. xmmreg,xmmrm \361\2\x0F\x58\110 WILLAMETTE,SSE2,SM
  2099. [ADDSD]
  2100. (Ch_Mop2, Ch_Rop1, Ch_None)
  2101. xmmreg,xmmrm \334\2\x0F\x58\110 WILLAMETTE,SSE2
  2102. [ANDNPD]
  2103. (Ch_Mop2, Ch_Rop1, Ch_None)
  2104. xmmreg,xmmrm \361\2\x0F\x55\110 WILLAMETTE,SSE2,SM
  2105. [ANDPD]
  2106. (Ch_Mop2, Ch_Rop1, Ch_None)
  2107. xmmreg,xmmrm \361\2\x0F\x54\110 WILLAMETTE,SSE2,SM
  2108. [CMPEQPD]
  2109. (Ch_All, Ch_None, Ch_None)
  2110. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x00 WILLAMETTE,SSE2,SM
  2111. ; note: no SM flag on CMPxxSD, they use 64-bit memory location, not 128-bit
  2112. [CMPEQSD]
  2113. (Ch_All, Ch_None, Ch_None)
  2114. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x00 WILLAMETTE,SSE2
  2115. [CMPLEPD]
  2116. (Ch_All, Ch_None, Ch_None)
  2117. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x02 WILLAMETTE,SSE2,SM
  2118. [CMPLESD]
  2119. (Ch_All, Ch_None, Ch_None)
  2120. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x02 WILLAMETTE,SSE2
  2121. [CMPLTPD]
  2122. (Ch_All, Ch_None, Ch_None)
  2123. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x01 WILLAMETTE,SSE2,SM
  2124. [CMPLTSD]
  2125. (Ch_All, Ch_None, Ch_None)
  2126. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x01 WILLAMETTE,SSE2
  2127. [CMPNEQPD]
  2128. (Ch_All, Ch_None, Ch_None)
  2129. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x04 WILLAMETTE,SSE2,SM
  2130. [CMPNEQSD]
  2131. (Ch_All, Ch_None, Ch_None)
  2132. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x04 WILLAMETTE,SSE2
  2133. [CMPNLEPD]
  2134. (Ch_All, Ch_None, Ch_None)
  2135. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x06 WILLAMETTE,SSE2,SM
  2136. [CMPNLESD]
  2137. (Ch_All, Ch_None, Ch_None)
  2138. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x06 WILLAMETTE,SSE2
  2139. [CMPNLTPD]
  2140. (Ch_All, Ch_None, Ch_None)
  2141. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x05 WILLAMETTE,SSE2,SM
  2142. [CMPNLTSD]
  2143. (Ch_All, Ch_None, Ch_None)
  2144. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x05 WILLAMETTE,SSE2
  2145. [CMPORDPD]
  2146. (Ch_All, Ch_None, Ch_None)
  2147. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x07 WILLAMETTE,SSE2,SM
  2148. [CMPORDSD]
  2149. (Ch_All, Ch_None, Ch_None)
  2150. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x07 WILLAMETTE,SSE2
  2151. [CMPUNORDPD]
  2152. (Ch_All, Ch_None, Ch_None)
  2153. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x03 WILLAMETTE,SSE2,SM
  2154. [CMPUNORDSD]
  2155. (Ch_All, Ch_None, Ch_None)
  2156. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x03 WILLAMETTE,SSE2
  2157. ; CMPPD/CMPSD must come after the specific ops; that way the disassembler will find the
  2158. ; specific ops first and only disassemble illegal ones as cmppd/cmpsd.
  2159. [CMPPD]
  2160. (Ch_All, Ch_None, Ch_None)
  2161. xmmreg,xmmrm,imm \361\2\x0F\xC2\110\26 WILLAMETTE,SSE2,SM2,SB,AR2
  2162. [COMISD]
  2163. (Ch_Rop1, Ch_Rop2, Ch_WFlags)
  2164. xmmreg,xmmrm \361\2\x0F\x2F\110 WILLAMETTE,SSE2
  2165. [CVTDQ2PD]
  2166. (Ch_Wop2, Ch_Rop1, Ch_None)
  2167. xmmreg,xmmrm \333\2\x0F\xE6\110 WILLAMETTE,SSE2
  2168. [CVTDQ2PS]
  2169. (Ch_Wop2, Ch_Rop1, Ch_None)
  2170. xmmreg,xmmrm \2\x0F\x5B\110 WILLAMETTE,SSE2,SM
  2171. [CVTPD2DQ]
  2172. (Ch_Wop2, Ch_Rop1, Ch_None)
  2173. xmmreg,xmmrm \334\2\x0F\xE6\110 WILLAMETTE,SSE2,SM
  2174. [CVTPD2PI]
  2175. (Ch_Wop2, Ch_Rop1, Ch_None)
  2176. mmxreg,xmmrm \361\2\x0F\x2D\110 WILLAMETTE,SSE2 ;,SO
  2177. [CVTPD2PS]
  2178. (Ch_Wop2, Ch_Rop1, Ch_None)
  2179. xmmreg,xmmrm \361\2\x0F\x5A\110 WILLAMETTE,SSE2,SM
  2180. [CVTPI2PD]
  2181. (Ch_Wop2, Ch_Rop1, Ch_None)
  2182. xmmreg,mmxrm \361\2\x0F\x2A\110 WILLAMETTE,SSE2 ;,SO
  2183. [CVTPS2DQ]
  2184. (Ch_Wop2, Ch_Rop1, Ch_None)
  2185. xmmreg,xmmrm \361\2\x0F\x5B\110 WILLAMETTE,SSE2,SM
  2186. [CVTPS2PD]
  2187. (Ch_Wop2, Ch_Rop1, Ch_None)
  2188. xmmreg,xmmrm \2\x0F\x5A\110 WILLAMETTE,SSE2 ;,SQ
  2189. [CVTSD2SI,cvtsd2siX]
  2190. (Ch_Wop2, Ch_Rop1, Ch_None)
  2191. reg32|64,xmmreg \334\320\2\x0F\x2D\110 WILLAMETTE,SSE2
  2192. reg32|64,mem \334\320\2\x0F\x2D\110 WILLAMETTE,SSE2
  2193. [CVTSD2SS]
  2194. (Ch_Wop2, Ch_Rop1, Ch_None)
  2195. xmmreg,xmmrm \334\2\x0F\x5A\110 WILLAMETTE,SSE2 ;,SQ
  2196. [CVTSI2SD,cvtsi2sdX]
  2197. (Ch_Wop2, Ch_Rop1, Ch_None)
  2198. xmmreg,reg32|64 \334\321\2\x0F\x2A\110 WILLAMETTE,SSE2
  2199. xmmreg,mem \334\321\2\x0F\x2A\110 WILLAMETTE,SSE2
  2200. [CVTSS2SD]
  2201. (Ch_Wop2, Ch_Rop1, Ch_None)
  2202. xmmreg,xmmrm \333\2\x0F\x5A\110 WILLAMETTE,SSE2 ;,SD
  2203. [CVTTPD2PI]
  2204. (Ch_Wop2, Ch_Rop1, Ch_None)
  2205. mmxreg,xmmreg \361\2\x0F\x2C\110 WILLAMETTE,SSE2
  2206. mmxreg,mem \361\2\x0F\x2C\110 WILLAMETTE,SSE2
  2207. [CVTTPD2DQ]
  2208. (Ch_Wop2, Ch_Rop1, Ch_None)
  2209. xmmreg,xmmrm \361\2\x0F\xE6\110 WILLAMETTE,SSE2,SM
  2210. [CVTTPS2DQ]
  2211. (Ch_Wop2, Ch_Rop1, Ch_None)
  2212. xmmreg,xmmrm \333\2\x0F\x5B\110 WILLAMETTE,SSE2,SM
  2213. [CVTTSD2SI,cvttsd2siX]
  2214. (Ch_Wop2, Ch_Rop1, Ch_None)
  2215. reg32|64,xmmreg \334\320\2\x0F\x2C\110 WILLAMETTE,SSE2
  2216. reg32|64,mem \334\320\2\x0F\x2C\110 WILLAMETTE,SSE2
  2217. [DIVPD]
  2218. (Ch_Mop2, Ch_Rop1, Ch_None)
  2219. xmmreg,xmmrm \361\2\x0F\x5E\110 WILLAMETTE,SSE2,SM
  2220. [DIVSD]
  2221. (Ch_Mop2, Ch_Rop1, Ch_None)
  2222. xmmreg,xmmrm \334\2\x0F\x5E\110 WILLAMETTE,SSE2
  2223. [MAXPD]
  2224. (Ch_All, Ch_None, Ch_None)
  2225. xmmreg,xmmrm \361\2\x0F\x5F\110 WILLAMETTE,SSE2,SM
  2226. [MAXSD]
  2227. (Ch_All, Ch_None, Ch_None)
  2228. xmmreg,xmmrm \334\2\x0F\x5F\110 WILLAMETTE,SSE2
  2229. [MINPD]
  2230. (Ch_All, Ch_None, Ch_None)
  2231. xmmreg,xmmrm \361\2\x0F\x5D\110 WILLAMETTE,SSE2,SM
  2232. [MINSD]
  2233. (Ch_All, Ch_None, Ch_None)
  2234. xmmreg,xmmrm \334\2\x0F\x5D\110 WILLAMETTE,SSE2
  2235. [MOVAPD]
  2236. (Ch_ROp1, Ch_WOp2, Ch_None)
  2237. xmmrm,xmmreg \361\2\x0F\x29\101 WILLAMETTE,SSE2,SM
  2238. xmmreg,xmmrm \361\2\x0F\x28\110 WILLAMETTE,SSE2,SM
  2239. [MOVHPD]
  2240. (Ch_All, Ch_None, Ch_None)
  2241. mem,xmmreg \361\2\x0F\x17\101 WILLAMETTE,SSE2
  2242. xmmreg,mem \361\2\x0F\x16\110 WILLAMETTE,SSE2
  2243. [MOVLPD]
  2244. (Ch_All, Ch_None, Ch_None)
  2245. mem,xmmreg \361\2\x0F\x13\101 WILLAMETTE,SSE2
  2246. xmmreg,mem \361\2\x0F\x12\110 WILLAMETTE,SSE2
  2247. [MOVMSKPD]
  2248. (Ch_All, Ch_None, Ch_None)
  2249. reg32,xmmreg \361\2\x0F\x50\110 WILLAMETTE,SSE2
  2250. [MOVUPD]
  2251. (Ch_All, Ch_None, Ch_None)
  2252. xmmrm,xmmreg \361\2\x0F\x11\101 WILLAMETTE,SSE2,SM
  2253. xmmreg,xmmrm \361\2\x0F\x10\110 WILLAMETTE,SSE2,SM
  2254. [MULPD]
  2255. (Ch_Mop2, Ch_Rop1, Ch_None)
  2256. xmmreg,xmmrm \361\2\x0F\x59\110 WILLAMETTE,SSE2,SM
  2257. [MULSD]
  2258. (Ch_Mop2, Ch_Rop1, Ch_None)
  2259. xmmreg,xmmrm \334\2\x0F\x59\110 WILLAMETTE,SSE2
  2260. [ORPD]
  2261. (Ch_Mop2, Ch_Rop1, Ch_None)
  2262. xmmreg,xmmrm \361\2\x0F\x56\110 WILLAMETTE,SSE2,SM
  2263. [SHUFPD]
  2264. (Ch_Mop3, Ch_Rop2, Ch_None)
  2265. xmmreg,xmmrm,imm \361\2\x0F\xC6\110\26 WILLAMETTE,SSE2,SM2,SB,AR2
  2266. [SQRTPD]
  2267. (Ch_Wop2, Ch_Rop1, Ch_None)
  2268. xmmreg,xmmrm \361\2\x0F\x51\110 WILLAMETTE,SSE2,SM
  2269. [SQRTSD]
  2270. (Ch_Wop2, Ch_Rop1, Ch_None)
  2271. xmmreg,xmmrm \334\2\x0F\x51\110 WILLAMETTE,SSE2
  2272. [SUBPD]
  2273. (Ch_Mop2, Ch_Rop1, Ch_None)
  2274. xmmreg,xmmrm \361\2\x0F\x5C\110 WILLAMETTE,SSE2,SM
  2275. [SUBSD]
  2276. (Ch_Mop2, Ch_Rop1, Ch_None)
  2277. xmmreg,xmmrm \334\2\x0F\x5C\110 WILLAMETTE,SSE2
  2278. [UCOMISD]
  2279. (Ch_Rop1, Ch_Rop2, Ch_WFlags)
  2280. xmmreg,xmmrm \361\2\x0F\x2E\110 WILLAMETTE,SSE2
  2281. [UNPCKHPD]
  2282. (Ch_All, Ch_None, Ch_None)
  2283. xmmreg,xmmrm \361\2\x0F\x15\110 WILLAMETTE,SSE2,SM
  2284. [UNPCKLPD]
  2285. (Ch_All, Ch_None, Ch_None)
  2286. xmmreg,xmmrm \361\2\x0F\x14\110 WILLAMETTE,SSE2,SM
  2287. [XORPD]
  2288. (Ch_Mop2, Ch_Rop1, Ch_None)
  2289. xmmreg,xmmrm \361\2\x0F\x57\110 WILLAMETTE,SSE2,SM
  2290. ;
  2291. ; Prescott New Instructions (SSE3)
  2292. ;
  2293. [ADDSUBPD]
  2294. (Ch_All, Ch_None, Ch_None)
  2295. xmmreg,xmmrm \361\2\x0F\xD0\110 PRESCOTT,SSE3,SM
  2296. [ADDSUBPS]
  2297. (Ch_All, Ch_None, Ch_None)
  2298. xmmreg,xmmrm \334\2\x0F\xD0\110 PRESCOTT,SSE3,SM
  2299. [HADDPD]
  2300. (Ch_Mop2, Ch_Rop1, Ch_None)
  2301. xmmreg,xmmrm \361\2\x0F\x7C\110 PRESCOTT,SSE3,SM
  2302. [HADDPS]
  2303. (Ch_Mop2, Ch_Rop1, Ch_None)
  2304. xmmreg,xmmrm \334\2\x0F\x7C\110 PRESCOTT,SSE3,SM
  2305. [HSUBPD]
  2306. (Ch_Mop2, Ch_Rop1, Ch_None)
  2307. xmmreg,xmmrm \361\2\x0F\x7D\110 PRESCOTT,SSE3,SM
  2308. [HSUBPS]
  2309. (Ch_Mop2, Ch_Rop1, Ch_None)
  2310. xmmreg,xmmrm \334\2\x0F\x7D\110 PRESCOTT,SSE3,SM
  2311. [LDDQU]
  2312. (Ch_All, Ch_None, Ch_None)
  2313. xmmreg,mem \334\2\x0F\xF0\110 PRESCOTT,SSE3
  2314. [MOVDDUP]
  2315. (Ch_All, Ch_None, Ch_None)
  2316. xmmreg,xmmrm \334\2\x0F\x12\110 PRESCOTT,SSE3
  2317. [MOVSHDUP]
  2318. (Ch_All, Ch_None, Ch_None)
  2319. xmmreg,xmmrm \333\2\x0F\x16\110 PRESCOTT,SSE3,SM
  2320. [MOVSLDUP]
  2321. (Ch_All, Ch_None, Ch_None)
  2322. xmmreg,xmmrm \333\2\x0F\x12\110 PRESCOTT,SSE3,SM
  2323. ;
  2324. ; Intel VT
  2325. ;
  2326. [VMREAD]
  2327. (Ch_All, Ch_None, Ch_None)
  2328. reg32,reg32 \2\x0F\x78\101 386,PRIV,PROT
  2329. mem,reg32 \2\x0F\x78\101 386,PRIV,PROT,SM
  2330. [VMWRITE]
  2331. (Ch_All, Ch_None, Ch_None)
  2332. reg32,reg32 \2\x0F\x79\110 386,PRIV,PROT
  2333. reg32,mem \2\x0F\x79\110 386,PRIV,PROT,SM
  2334. [VMCALL]
  2335. (Ch_All, Ch_None, Ch_None)
  2336. void \3\x0F\x01\xC1 386,PRIV,PROT
  2337. [VMLAUNCH]
  2338. (Ch_All, Ch_None, Ch_None)
  2339. void \3\x0F\x01\xC2 386,PRIV,PROT
  2340. [VMRESUME]
  2341. (Ch_All, Ch_None, Ch_None)
  2342. void \3\x0F\x01\xC3 386,PRIV,PROT
  2343. [VMXOFF]
  2344. (Ch_All, Ch_None, Ch_None)
  2345. void \3\x0F\x01\xC4 386,PRIV,PROT
  2346. ; note: ideally the following should be tagged with SQ
  2347. [VMXON]
  2348. (Ch_All, Ch_None, Ch_None)
  2349. mem \333\2\x0F\xC7\206 PRIV,PROT
  2350. [VMCLEAR]
  2351. (Ch_All, Ch_None, Ch_None)
  2352. mem \361\2\x0F\xC7\206 PRIV,PROT
  2353. [VMPTRLD]
  2354. (Ch_All, Ch_None, Ch_None)
  2355. mem \2\x0F\xC7\206 PRIV,PROT
  2356. [VMPTRST]
  2357. (Ch_All, Ch_None, Ch_None)
  2358. mem \2\x0F\xC7\207 PRIV,PROT
  2359. ;
  2360. ; AMD SVM
  2361. ;
  2362. [VMRUN]
  2363. (Ch_All, Ch_None, Ch_None)
  2364. void \3\x0F\x01\xD8 386,SVM,PRIV,PROT
  2365. [VMMCALL]
  2366. (Ch_All, Ch_None, Ch_None)
  2367. void \3\x0F\x01\xD9 386,SVM
  2368. [VMLOAD]
  2369. (Ch_All, Ch_None, Ch_None)
  2370. void \3\x0F\x01\xDA 386,SVM,PRIV,PROT
  2371. [VMSAVE]
  2372. (Ch_All, Ch_None, Ch_None)
  2373. void \3\x0F\x01\xDB 386,SVM,PRIV,PROT
  2374. [STGI]
  2375. (Ch_All, Ch_None, Ch_None)
  2376. void \3\x0F\x01\xDC 386,SVM,PRIV,PROT
  2377. [CLGI]
  2378. (Ch_All, Ch_None, Ch_None)
  2379. void \3\x0F\x01\xDD 386,SVM,PRIV,PROT
  2380. [SKINIT]
  2381. (Ch_All, Ch_None, Ch_None)
  2382. void \3\x0F\x01\xDE 386,SVM,PRIV,PROT
  2383. [INVLPGA]
  2384. (Ch_All, Ch_None, Ch_None)
  2385. void \3\x0F\x01\xDF 386,SVM,PRIV,PROT
  2386. ;
  2387. ; Centaur
  2388. ;
  2389. [MONTMUL]
  2390. (Ch_All, Ch_None, Ch_None)
  2391. void \333\3\x0F\xA6\xC0 CENTAUR
  2392. [XSHA1]
  2393. (Ch_All, Ch_None, Ch_None)
  2394. void \333\3\x0F\xA6\xC8 CENTAUR
  2395. [XSHA256]
  2396. (Ch_All, Ch_None, Ch_None)
  2397. void \333\3\x0F\xA6\xD0 CENTAUR
  2398. ;
  2399. ; Geode
  2400. ;
  2401. [DMINT]
  2402. (Ch_All, Ch_None, Ch_None)
  2403. void \2\x0F\x39 P6,CYRIX
  2404. [RDM]
  2405. (Ch_All, Ch_None, Ch_None)
  2406. void \2\x0F\x3A P6,CYRIX
  2407. ;
  2408. ; GAS specific x86-64 instructions
  2409. ;
  2410. [MOVABS]
  2411. (Ch_Wop2, Ch_Rop1, Ch_None)
  2412. reg_al,mem_offs \1\xA0\45 X86_64,SM
  2413. reg_ax|32|64,mem_offs \320\1\xA1\45 X86_64,SM
  2414. mem_offs,reg_al \1\xA2\44 X86_64,SM
  2415. mem_offs,reg_ax|32|64 \321\xA3\44 X86_64,SM
  2416. reg64,imm \326\10\xB8\55 X86_64
  2417. [MOVSXD,movslq]
  2418. (Ch_Wop2, Ch_Rop1, Ch_None)
  2419. reg64,mem \326\1\x63\110 X86_64
  2420. reg64,reg32 \326\1\x63\110 X86_64
  2421. [CQO,cqto]
  2422. (Ch_MRAX, Ch_WRDX, Ch_None)
  2423. void \326\1\x99 X86_64
  2424. [CMPXCHG16B,cmpxchg16bX]
  2425. (Ch_All, Ch_None, Ch_None)
  2426. mem \326\2\x0F\xC7\201 X86_64
  2427. ;
  2428. ; SSE4a (AMD Barcelona CPUs, n/a on Intel)
  2429. ;
  2430. [MOVNTSS]
  2431. (Ch_All, Ch_None, Ch_None)
  2432. mem,xmmreg \333\2\x0F\x2B\101 SSE4,SD
  2433. [MOVNTSD]
  2434. (Ch_All, Ch_None, Ch_None)
  2435. mem,xmmreg \334\325\2\x0F\x2B\101 SSE4 ;,SQ
  2436. [INSERTQ]
  2437. (Ch_All, Ch_None, Ch_None)
  2438. xmmreg,xmmreg \334\2\x0F\x79\110 SSE4
  2439. xmmreg,xmmreg,imm,imm \334\2\x0F\x78\110\26\27 SSE4,SB
  2440. [EXTRQ]
  2441. (Ch_All, Ch_None, Ch_None)
  2442. xmmreg,imm,imm \361\2\x0F\x78\200\25\26 SSE4,SB
  2443. xmmreg,xmmreg \361\2\x0F\x79\110 SSE4
  2444. [LZCNT,lzcntX]
  2445. (Ch_All, Ch_None, Ch_None)
  2446. reg16,regmem \320\333\2\x0F\xBD\110 386,SM,SSE4
  2447. reg32|64,regmem \321\333\2\x0F\xBD\110 386,SM,SSE4
  2448. ;*******************************************************************************
  2449. ;**********SSSE3****************************************************************
  2450. ;*******************************************************************************
  2451. [PABSB]
  2452. (Ch_All, Ch_None, Ch_None)
  2453. mmxreg,mmxrm \331\3\x0F\x38\x1C\110 SSSE3,MMX,SM
  2454. xmmreg,xmmrm \361\3\x0F\x38\x1C\110 SSSE3,SM
  2455. [PABSW]
  2456. (Ch_All, Ch_None, Ch_None)
  2457. mmxreg,mmxrm \331\3\x0F\x38\x1D\110 SSSE3,MMX,SM
  2458. xmmreg,xmmrm \361\3\x0F\x38\x1D\110 SSSE3,SM
  2459. [PABSD]
  2460. (Ch_All, Ch_None, Ch_None)
  2461. mmxreg,mmxrm \331\3\x0F\x38\x1E\110 SSSE3,MMX,SM
  2462. xmmreg,xmmrm \361\3\x0F\x38\x1E\110 SSSE3,SM
  2463. [PALIGNR]
  2464. (Ch_All, Ch_None, Ch_None)
  2465. mmxreg,mmxrm,imm \331\3\x0F\x3A\x0F\110\26 SSSE3,MMX,SM2,SB,AR2
  2466. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0F\110\26 SSSE3,SM2,SB,AR2
  2467. [PHADDW]
  2468. (Ch_All, Ch_None, Ch_None)
  2469. mmxreg,mmxrm \331\3\x0F\x38\x01\110 SSSE3,MMX,SM
  2470. xmmreg,xmmrm \361\3\x0F\x38\x01\110 SSSE3,SM
  2471. [PHADDD]
  2472. (Ch_All, Ch_None, Ch_None)
  2473. mmxreg,mmxrm \331\3\x0F\x38\x02\110 SSSE3,MMX,SM
  2474. xmmreg,xmmrm \361\3\x0F\x38\x02\110 SSSE3,SM
  2475. [PHADDSW]
  2476. (Ch_All, Ch_None, Ch_None)
  2477. mmxreg,mmxrm \331\3\x0F\x38\x03\110 SSSE3,MMX,SM
  2478. xmmreg,xmmrm \361\3\x0F\x38\x03\110 SSSE3,SM
  2479. [PHSUBW]
  2480. (Ch_All, Ch_None, Ch_None)
  2481. mmxreg,mmxrm \331\3\x0F\x38\x05\110 SSSE3,MMX,SM
  2482. xmmreg,xmmrm \361\3\x0F\x38\x05\110 SSSE3,SM
  2483. [PHSUBD]
  2484. (Ch_All, Ch_None, Ch_None)
  2485. mmxreg,mmxrm \331\3\x0F\x38\x06\110 SSSE3,MMX,SM
  2486. xmmreg,xmmrm \361\3\x0F\x38\x06\110 SSSE3,SM
  2487. [PHSUBSW]
  2488. (Ch_All, Ch_None, Ch_None)
  2489. mmxreg,mmxrm \331\3\x0F\x38\x07\110 SSSE3,MMX,SM
  2490. xmmreg,xmmrm \361\3\x0F\x38\x07\110 SSSE3,SM
  2491. [PMADDUBSW]
  2492. (Ch_All, Ch_None, Ch_None)
  2493. mmxreg,mmxrm \331\3\x0F\x38\x04\110 SSSE3,MMX,SM
  2494. xmmreg,xmmrm \361\3\x0F\x38\x04\110 SSSE3,SM
  2495. [PMULHRSW]
  2496. (Ch_All, Ch_None, Ch_None)
  2497. mmxreg,mmxrm \331\3\x0F\x38\x0B\110 SSSE3,MMX,SM
  2498. xmmreg,xmmrm \361\3\x0F\x38\x0B\110 SSSE3,SM
  2499. [PSHUFB]
  2500. (Ch_All, Ch_None, Ch_None)
  2501. mmxreg,mmxrm \331\3\x0F\x38\x00\110 SSSE3,MMX,SM
  2502. xmmreg,xmmrm \361\3\x0F\x38\x00\110 SSSE3,SM
  2503. [PSIGNB]
  2504. (Ch_All, Ch_None, Ch_None)
  2505. mmxreg,mmxrm \331\3\x0F\x38\x08\110 SSSE3,MMX,SM
  2506. xmmreg,xmmrm \361\3\x0F\x38\x08\110 SSSE3,SM
  2507. [PSIGNW]
  2508. (Ch_All, Ch_None, Ch_None)
  2509. mmxreg,mmxrm \331\3\x0F\x38\x09\110 SSSE3,MMX,SM
  2510. xmmreg,xmmrm \361\3\x0F\x38\x09\110 SSSE3,SM
  2511. [PSIGND]
  2512. (Ch_All, Ch_None, Ch_None)
  2513. mmxreg,mmxrm \331\3\x0F\x38\x0A\110 SSSE3,MMX,SM
  2514. xmmreg,xmmrm \361\3\x0F\x38\x0A\110 SSSE3,SM
  2515. ;*******************************************************************************
  2516. ;**********SSE4.1***************************************************************
  2517. ;*******************************************************************************
  2518. [BLENDPS]
  2519. (Ch_All, Ch_None, Ch_None)
  2520. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0C\110\26 SSE41,SM2,SB,AR2
  2521. [BLENDPD]
  2522. (Ch_All, Ch_None, Ch_None)
  2523. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0D\110\26 SSE41,SM2,SB,AR2
  2524. [BLENDVPS]
  2525. (Ch_All, Ch_None, Ch_None)
  2526. xmmreg,xmmrm \361\3\x0F\x38\x14\110 SSE41,SM
  2527. [BLENDVPD]
  2528. (Ch_All, Ch_None, Ch_None)
  2529. xmmreg,xmmrm \361\3\x0F\x38\x15\110 SSE41,SM
  2530. [DPPS]
  2531. (Ch_All, Ch_None, Ch_None)
  2532. xmmreg,xmmrm,imm \361\3\x0F\x3A\x40\110\26 SSE41,SM2,SB,AR2
  2533. [DPPD]
  2534. (Ch_All, Ch_None, Ch_None)
  2535. xmmreg,xmmrm,imm \361\3\x0F\x3A\x41\110\26 SSE41,SM2,SB,AR2
  2536. [EXTRACTPS]
  2537. (Ch_All, Ch_None, Ch_None)
  2538. mem,xmmreg,imm \361\325\3\x0F\x3A\x17\101\26 SSE41,SB,AR2
  2539. reg32|64,xmmreg,imm \361\3\x0F\x3A\x17\101\26 SSE41,SB,AR2
  2540. [INSERTPS]
  2541. (Ch_All, Ch_None, Ch_None)
  2542. xmmreg,xmmrm,imm \361\3\x0F\x3A\x21\110\26 SSE41,SM2,SB,AR2
  2543. [MOVNTDQA]
  2544. (Ch_All, Ch_None, Ch_None)
  2545. xmmreg,mem \361\3\x0F\x38\x2A\110 SSE41,SM
  2546. [MPSADBW]
  2547. (Ch_All, Ch_None, Ch_None)
  2548. xmmreg,xmmrm,imm \361\3\x0F\x3A\x42\110\26 SSE41,SM2,SB,AR2
  2549. [PACKUSDW]
  2550. (Ch_All, Ch_None, Ch_None)
  2551. xmmreg,xmmrm \361\3\x0F\x38\x2B\110 SSE41,SM
  2552. [PBLENDVB]
  2553. (Ch_All, Ch_None, Ch_None)
  2554. xmmreg,xmmrm \361\3\x0F\x38\x10\110 SSE41,SM
  2555. [PBLENDW]
  2556. (Ch_All, Ch_None, Ch_None)
  2557. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0E\110\26 SSE41,SM2,SB,AR2
  2558. [PCMPEQQ]
  2559. (Ch_All, Ch_None, Ch_None)
  2560. xmmreg,xmmrm \361\3\x0F\x38\x29\110 SSE41,SM
  2561. [PEXTRB]
  2562. (Ch_All, Ch_None, Ch_None)
  2563. reg32|64,xmmreg,imm \361\3\x0F\x3A\x14\101\26 SSE41,SB,AR2
  2564. mem8,xmmreg,imm \361\3\x0F\x3A\x14\101\26 SSE41,SB,AR2
  2565. ;PEXTRW - Look is prev. implementation
  2566. [PEXTRD]
  2567. (Ch_All, Ch_None, Ch_None)
  2568. reg32,xmmreg,imm \361\3\x0F\x3A\x16\101\26 SSE41,SB,AR2
  2569. mem32,xmmreg,imm \361\3\x0F\x3A\x16\101\26 SSE41,SB,AR2
  2570. [PEXTRQ]
  2571. (Ch_All, Ch_None, Ch_None)
  2572. reg64,xmmreg,imm \361\326\3\x0F\x3A\x16\101\26 SSE41,X86_64,SB,AR2
  2573. mem64,xmmreg,imm \361\326\3\x0F\x3A\x16\101\26 SSE41,X86_64,SB,AR2
  2574. [PHMINPOSUW]
  2575. (Ch_All, Ch_None, Ch_None)
  2576. xmmreg,xmmrm \361\3\x0F\x38\x41\110 SSE41,SM
  2577. [PINSRB]
  2578. (Ch_All, Ch_None, Ch_None)
  2579. xmmreg,reg32|64,imm \361\3\x0F\x3A\x20\110\26 SSE41,SB,AR2
  2580. xmmreg,mem8,imm \361\3\x0F\x3A\x20\110\26 SSE41,SB,AR2
  2581. [PINSRD]
  2582. (Ch_All, Ch_None, Ch_None)
  2583. xmmreg,reg32,imm \361\3\x0F\x3A\x22\110\26 SSE41,SB,AR2
  2584. xmmreg,mem32,imm \361\3\x0F\x3A\x22\110\26 SSE41,SB,AR2
  2585. [PINSRQ]
  2586. (Ch_All, Ch_None, Ch_None)
  2587. xmmreg,reg64,imm \361\326\3\x0F\x3A\x22\110\26 SSE41,X86_64,SB,AR2
  2588. xmmreg,mem64,imm \361\326\3\x0F\x3A\x22\110\26 SSE41,X86_64,SB,AR2
  2589. [PMAXSB]
  2590. (Ch_All, Ch_None, Ch_None)
  2591. xmmreg,xmmrm \361\3\x0F\x38\x3C\110 SSE41,SM
  2592. [PMAXSD]
  2593. (Ch_All, Ch_None, Ch_None)
  2594. xmmreg,xmmrm \361\3\x0F\x38\x3D\110 SSE41,SM
  2595. [PMAXUD]
  2596. (Ch_All, Ch_None, Ch_None)
  2597. xmmreg,xmmrm \361\3\x0F\x38\x3F\110 SSE41,SM
  2598. [PMAXUW]
  2599. (Ch_All, Ch_None, Ch_None)
  2600. xmmreg,xmmrm \361\3\x0F\x38\x3E\110 SSE41,SM
  2601. [PMINSB]
  2602. (Ch_All, Ch_None, Ch_None)
  2603. xmmreg,xmmrm \361\3\x0F\x38\x38\110 SSE41,SM
  2604. [PMINSD]
  2605. (Ch_All, Ch_None, Ch_None)
  2606. xmmreg,xmmrm \361\3\x0F\x38\x39\110 SSE41,SM
  2607. [PMINUW]
  2608. (Ch_All, Ch_None, Ch_None)
  2609. xmmreg,xmmrm \361\3\x0F\x38\x3A\110 SSE41,SM
  2610. [PMINUD]
  2611. (Ch_All, Ch_None, Ch_None)
  2612. xmmreg,xmmrm \361\3\x0F\x38\x3B\110 SSE41,SM
  2613. [PMOVSXBW]
  2614. (Ch_All, Ch_None, Ch_None)
  2615. xmmreg,xmmrm \361\3\x0F\x38\x20\110 SSE41,SM
  2616. [PMOVSXBD]
  2617. (Ch_All, Ch_None, Ch_None)
  2618. xmmreg,xmmrm \361\3\x0F\x38\x21\110 SSE41,SM
  2619. [PMOVSXBQ]
  2620. (Ch_All, Ch_None, Ch_None)
  2621. xmmreg,xmmrm \361\3\x0F\x38\x22\110 SSE41,SM
  2622. [PMOVSXWD]
  2623. (Ch_All, Ch_None, Ch_None)
  2624. xmmreg,xmmrm \361\3\x0F\x38\x23\110 SSE41,SM
  2625. [PMOVSXWQ]
  2626. (Ch_All, Ch_None, Ch_None)
  2627. xmmreg,xmmrm \361\3\x0F\x38\x24\110 SSE41,SM
  2628. [PMOVSXDQ]
  2629. (Ch_All, Ch_None, Ch_None)
  2630. xmmreg,xmmrm \361\3\x0F\x38\x25\110 SSE41,SM
  2631. [PMOVZXBW]
  2632. (Ch_All, Ch_None, Ch_None)
  2633. xmmreg,xmmrm \361\3\x0F\x38\x30\110 SSE41,SM
  2634. [PMOVZXBD]
  2635. (Ch_All, Ch_None, Ch_None)
  2636. xmmreg,xmmrm \361\3\x0F\x38\x31\110 SSE41,SM
  2637. [PMOVZXBQ]
  2638. (Ch_All, Ch_None, Ch_None)
  2639. xmmreg,xmmrm \361\3\x0F\x38\x32\110 SSE41,SM
  2640. [PMOVZXWD]
  2641. (Ch_All, Ch_None, Ch_None)
  2642. xmmreg,xmmrm \361\3\x0F\x38\x33\110 SSE41,SM
  2643. [PMOVZXWQ]
  2644. (Ch_All, Ch_None, Ch_None)
  2645. xmmreg,xmmrm \361\3\x0F\x38\x34\110 SSE41,SM
  2646. [PMOVZXDQ]
  2647. (Ch_All, Ch_None, Ch_None)
  2648. xmmreg,xmmrm \361\3\x0F\x38\x35\110 SSE41,SM
  2649. [PMULDQ]
  2650. (Ch_All, Ch_None, Ch_None)
  2651. xmmreg,xmmrm \361\3\x0F\x38\x28\110 SSE41,SM
  2652. [PMULLD]
  2653. (Ch_All, Ch_None, Ch_None)
  2654. xmmreg,xmmrm \361\3\x0F\x38\x40\110 SSE41,SM
  2655. [PTEST]
  2656. (Ch_All, Ch_None, Ch_None)
  2657. xmmreg,xmmrm \361\3\x0F\x38\x17\110 SSE41,SM
  2658. [ROUNDPS]
  2659. (Ch_All, Ch_None, Ch_None)
  2660. xmmreg,xmmrm,imm \361\3\x0F\x3A\x08\110\26 SSE41,SM2,SB,AR2
  2661. [ROUNDPD]
  2662. (Ch_All, Ch_None, Ch_None)
  2663. xmmreg,xmmrm,imm \361\3\x0F\x3A\x09\110\26 SSE41,SM2,SB,AR2
  2664. [ROUNDSS]
  2665. (Ch_All, Ch_None, Ch_None)
  2666. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0A\110\26 SSE41,SM2,SB,AR2
  2667. [ROUNDSD]
  2668. (Ch_All, Ch_None, Ch_None)
  2669. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0B\110\26 SSE41,SM2,SB,AR2
  2670. ;*******************************************************************************
  2671. ;**********SSE4.2***************************************************************
  2672. ;*******************************************************************************
  2673. [CRC32,crc32X]
  2674. (Ch_Mop1, Ch_Rop2, Ch_None)
  2675. reg32,rm8 \334\3\x0F\x38\xF0\110 SSE42
  2676. reg32,rm16|32 \321\334\3\x0F\x38\xF1\110 SSE42
  2677. reg64,rm8 \334\326\3\x0F\x38\xF0\110 SSE42,X86_64
  2678. reg64,rm64 \334\326\3\x0F\x38\xF1\110 SSE42,X86_64
  2679. [PCMPESTRI]
  2680. (Ch_All, Ch_None, Ch_None)
  2681. xmmreg,xmmrm,imm \361\3\x0F\x3A\x61\110\26 SSE42,SM2,SB,AR2
  2682. [PCMPESTRM]
  2683. (Ch_All, Ch_None, Ch_None)
  2684. xmmreg,xmmrm,imm \361\3\x0F\x3A\x60\110\26 SSE42,SM2,SB,AR2
  2685. [PCMPISTRI]
  2686. (Ch_All, Ch_None, Ch_None)
  2687. xmmreg,xmmrm,imm \361\3\x0F\x3A\x63\110\26 SSE42,SM2,SB,AR2
  2688. [PCMPISTRM]
  2689. (Ch_All, Ch_None, Ch_None)
  2690. xmmreg,xmmrm,imm \361\3\x0F\x3A\x62\110\26 SSE42,SM2,SB,AR2
  2691. [PCMPGTQ]
  2692. (Ch_All, Ch_None, Ch_None)
  2693. xmmreg,xmmrm \361\3\x0F\x38\x37\110 SSE42,SM
  2694. [POPCNT,popcntX]
  2695. (Ch_All, Ch_None, Ch_None)
  2696. reg16,rm16 \333\320\2\x0F\xB8\110 386,SM,SSE4
  2697. reg32,rm32 \333\320\2\x0F\xB8\110 386,SM,SSE4
  2698. reg64,rm64 \333\320\2\x0F\xB8\110 386,SM,SSE4,X86_64
  2699. ;*******************************************************************************
  2700. ;**********AES******************************************************************
  2701. ;*******************************************************************************
  2702. ;Use SSE4, but need special flag for AES insructions set
  2703. [AESENC]
  2704. (Ch_All, Ch_None, Ch_None)
  2705. xmmreg,xmmrm \361\3\x0F\x38\xDC\110 SSE4,SM
  2706. [AESENCLAST]
  2707. (Ch_All, Ch_None, Ch_None)
  2708. xmmreg,xmmrm \361\3\x0F\x38\xDD\110 SSE4,SM
  2709. [AESDEC]
  2710. (Ch_All, Ch_None, Ch_None)
  2711. xmmreg,xmmrm \361\3\x0F\x38\xDE\110 SSE4,SM
  2712. [AESDECLAST]
  2713. (Ch_All, Ch_None, Ch_None)
  2714. xmmreg,xmmrm \361\3\x0F\x38\xDF\110 SSE4,SM
  2715. [AESIMC]
  2716. (Ch_All, Ch_None, Ch_None)
  2717. xmmreg,xmmrm \361\3\x0F\x38\xDB\110 SSE4,SM
  2718. [AESKEYGENASSIST]
  2719. (Ch_All, Ch_None, Ch_None)
  2720. xmmreg,xmmrm,imm \361\3\x0F\x3A\xDF\110\26 SSE4,SB,AR2
  2721. ;*******************************************************************************
  2722. ;*******************************************************************************
  2723. ;*******************************************************************************
  2724. [STOSQ]
  2725. (Ch_RRAX, Ch_WMemEDI, Ch_RWRDI)
  2726. void \326\1\xAB X86_64
  2727. [LODSQ]
  2728. (Ch_WRAX, Ch_RWRSI, Ch_None)
  2729. void \326\1\xAD X86_64
  2730. [CMPSQ]
  2731. (Ch_All, Ch_None, Ch_None)
  2732. void \326\1\xA7 X86_64