x86ins.dat 111 KB

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