x86ins.dat 112 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443
  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. reg8,reg8 \2\x0F\xC0\101 486
  1646. reg16,reg16 \320\2\x0F\xC1\101 486
  1647. reg32,reg32 \321\2\x0F\xC1\101 486
  1648. reg64,reg64 \320\2\x0F\xC1\101 X86_64
  1649. [XBTS,xbtsX]
  1650. (Ch_All, Ch_None, Ch_None)
  1651. reg16,mem \324\2\x0F\xA6\110 386,SW,UNDOC,ND
  1652. reg16,reg16 \324\2\x0F\xA6\110 386,UNDOC,ND
  1653. reg32,mem \325\2\x0F\xA6\110 386,SD,UNDOC,ND
  1654. reg32,reg32 \325\2\x0F\xA6\110 386,UNDOC,ND
  1655. [XCHG,xchgX]
  1656. (Ch_RWop1, Ch_RWop2, Ch_None)
  1657. reg_ax,reg16 \324\11\x90 8086
  1658. reg_eax,reg32 \325\11\x90 386
  1659. reg_rax,reg64 \326\11\x90 X86_64
  1660. reg16,reg_ax \324\10\x90 8086
  1661. reg32,reg_eax \325\10\x90 386
  1662. reg64,reg_rax \326\10\x90 X86_64
  1663. reg16|32|64,regmem \320\1\x87\110 8086,SM
  1664. mem,reg16|32|64 \320\1\x87\101 8086,SM
  1665. reg8,rm8 \1\x86\110 8086
  1666. mem8,reg8 \1\x86\101 8086
  1667. [XLAT]
  1668. (Ch_WEAX, Ch_REBX, Ch_None)
  1669. void \1\xD7 8086
  1670. [XLATB]
  1671. (Ch_WEAX, Ch_REBX, Ch_None)
  1672. void \1\xD7 8086
  1673. [XOR,xorX]
  1674. (Ch_Mop2, Ch_Rop1, Ch_WFlags)
  1675. regmem,reg16|32|64 \320\1\x31\101 8086,SM
  1676. reg16|32|64,regmem \320\1\x33\110 8086,SM
  1677. rm8,reg8 \1\x30\101 8086
  1678. reg8,rm8 \1\x32\110 8086
  1679. rm16|32|64,imm8 \320\1\x83\206\15 8086
  1680. reg_eax,imm \325\1\x35\41 386,SM
  1681. reg_rax,imm \326\1\x35\255 X86_64,SM
  1682. rm32,imm \320\1\x81\206\41 386,SM
  1683. rm64,imm \326\1\x81\206\255 X86_64,SM
  1684. reg_ax,imm \324\1\x35\31 8086,SW
  1685. rm16,imm \324\1\x81\206\31 8086,SW
  1686. reg_al,imm \1\x34\21 8086,SB
  1687. rm8,imm \1\x80\206\21 8086,SB
  1688. [XSTORE]
  1689. (Ch_All, Ch_None, Ch_None)
  1690. void \3\x0F\xA7\xC0 P6,CYRIX
  1691. [XCRYPTECB]
  1692. (Ch_All, Ch_None, Ch_None)
  1693. void \333\3\x0F\xA7\xC8 P6,CYRIX
  1694. [XCRYPTCBC]
  1695. (Ch_All, Ch_None, Ch_None)
  1696. void \333\3\x0F\xA7\xD0 P6,CYRIX
  1697. [XCRYPTCFB]
  1698. (Ch_All, Ch_None, Ch_None)
  1699. void \333\3\x0F\xA7\xE0 P6,CYRIX
  1700. [XCRYPTOFB]
  1701. (Ch_All, Ch_None, Ch_None)
  1702. void \333\3\x0F\xA7\xE8 P6,CYRIX
  1703. [CMOVcc,cmovCCX]
  1704. (Ch_ROp1, Ch_WOp2, Ch_RFLAGS)
  1705. reg16|32|64,regmem \320\1\x0F\13\x40\110 P6,SM
  1706. [Jcc]
  1707. (Ch_RFLAGS, Ch_None, Ch_None)
  1708. imm8 \13\x70\50 8086
  1709. imm16|32 \320\1\x0F\13\x80\64 386,PASS2
  1710. imm|short \13\x70\50 8086
  1711. imm|near \320\1\x0F\13\x80\64 386,PASS2
  1712. [SETcc,setCCX]
  1713. (Ch_RFLAGS, Ch_WOp1, Ch_None)
  1714. rm8 \1\x0F\13\x90\200 386
  1715. ;
  1716. ; Katmai Streaming SIMD instructions (SSE -- a.k.a. KNI, XMM, MMX2)
  1717. ;
  1718. [ADDPS]
  1719. (Ch_Mop2, Ch_Rop1, Ch_None)
  1720. xmmreg,xmmrm \331\2\x0F\x58\110 KATMAI,SSE
  1721. [ADDSS]
  1722. (Ch_Mop2, Ch_Rop1, Ch_None)
  1723. xmmreg,xmmrm \333\2\x0F\x58\110 KATMAI,SSE
  1724. [ANDNPS]
  1725. (Ch_Mop2, Ch_Rop1, Ch_None)
  1726. xmmreg,xmmrm \2\x0F\x55\110 KATMAI,SSE
  1727. [ANDPS]
  1728. (Ch_Mop2, Ch_Rop1, Ch_None)
  1729. xmmreg,xmmrm \2\x0F\x54\110 KATMAI,SSE
  1730. [CMPEQPS]
  1731. (Ch_All, Ch_None, Ch_None)
  1732. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x00 KATMAI,SSE
  1733. [CMPEQSS]
  1734. (Ch_All, Ch_None, Ch_None)
  1735. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x00 KATMAI,SSE
  1736. [CMPLEPS]
  1737. (Ch_All, Ch_None, Ch_None)
  1738. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x02 KATMAI,SSE
  1739. [CMPLESS]
  1740. (Ch_All, Ch_None, Ch_None)
  1741. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x02 KATMAI,SSE
  1742. [CMPLTPS]
  1743. (Ch_All, Ch_None, Ch_None)
  1744. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x01 KATMAI,SSE
  1745. [CMPLTSS]
  1746. (Ch_All, Ch_None, Ch_None)
  1747. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x01 KATMAI,SSE
  1748. [CMPNEQPS]
  1749. (Ch_All, Ch_None, Ch_None)
  1750. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x04 KATMAI,SSE
  1751. [CMPNEQSS]
  1752. (Ch_All, Ch_None, Ch_None)
  1753. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x04 KATMAI,SSE
  1754. [CMPNLEPS]
  1755. (Ch_All, Ch_None, Ch_None)
  1756. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x06 KATMAI,SSE
  1757. [CMPNLESS]
  1758. (Ch_All, Ch_None, Ch_None)
  1759. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x06 KATMAI,SSE
  1760. [CMPNLTPS]
  1761. (Ch_All, Ch_None, Ch_None)
  1762. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x05 KATMAI,SSE
  1763. [CMPNLTSS]
  1764. (Ch_All, Ch_None, Ch_None)
  1765. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x05 KATMAI,SSE
  1766. [CMPORDPS]
  1767. (Ch_All, Ch_None, Ch_None)
  1768. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x07 KATMAI,SSE
  1769. [CMPORDSS]
  1770. (Ch_All, Ch_None, Ch_None)
  1771. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x07 KATMAI,SSE
  1772. [CMPUNORDPS]
  1773. (Ch_All, Ch_None, Ch_None)
  1774. xmmreg,xmmrm \331\2\x0F\xC2\110\1\x03 KATMAI,SSE
  1775. [CMPUNORDSS]
  1776. (Ch_All, Ch_None, Ch_None)
  1777. xmmreg,xmmrm \333\2\x0F\xC2\110\1\x03 KATMAI,SSE
  1778. ;
  1779. ; CMPPS/CMPSS must come after the specific ops; that way the disassembler will find the
  1780. ; specific ops first and only disassemble illegal ones as cmpps.
  1781. ;
  1782. [CMPPS]
  1783. (Ch_All, Ch_None, Ch_None)
  1784. xmmreg,xmmrm,imm \331\2\x0F\xC2\110\22 KATMAI,SSE,SB,AR2
  1785. [CMPSS]
  1786. (Ch_All, Ch_None, Ch_None)
  1787. xmmreg,xmmrm,imm \333\2\x0F\xC2\110\22 KATMAI,SSE,SB,AR2
  1788. [COMISS]
  1789. (Ch_Rop1, Ch_Rop2, Ch_WFlags)
  1790. xmmreg,xmmrm \2\x0F\x2F\110 KATMAI,SSE
  1791. [CVTPI2PS]
  1792. (Ch_Wop2, Ch_Rop1, Ch_None)
  1793. xmmreg,mem \331\2\x0F\x2A\110 KATMAI,SSE,MMX
  1794. xmmreg,mmxreg \331\2\x0F\x2A\110 KATMAI,SSE,MMX
  1795. [CVTPS2PI]
  1796. (Ch_Wop2, Ch_Rop1, Ch_None)
  1797. mmxreg,mem \331\2\x0F\x2D\110 KATMAI,SSE,MMX
  1798. mmxreg,xmmreg \331\2\x0F\x2D\110 KATMAI,SSE,MMX
  1799. [CVTSI2SS,cvtsi2ssX]
  1800. (Ch_Wop2, Ch_Rop1, Ch_None)
  1801. xmmreg,mem \333\321\2\x0F\x2A\110 KATMAI,SSE
  1802. xmmreg,reg32|64 \333\321\2\x0F\x2A\110 KATMAI,SSE
  1803. [CVTSS2SI,cvtss2siX]
  1804. (Ch_Wop2, Ch_Rop1, Ch_None)
  1805. reg32|64,mem \333\320\2\x0F\x2D\110 KATMAI,SSE
  1806. reg32|64,xmmreg \333\320\2\x0F\x2D\110 KATMAI,SSE
  1807. [CVTTPS2PI]
  1808. (Ch_Wop2, Ch_Rop1, Ch_None)
  1809. mmxreg,mem \331\2\x0F\x2C\110 KATMAI,SSE,MMX
  1810. mmxreg,xmmreg \331\2\x0F\x2C\110 KATMAI,SSE,MMX
  1811. [CVTTSS2SI,cvttss2siX]
  1812. (Ch_Wop2, Ch_Rop1, Ch_None)
  1813. reg32|64,mem \333\320\2\x0F\x2C\110 KATMAI,SSE
  1814. reg32|64,xmmreg \333\320\2\x0F\x2C\110 KATMAI,SSE
  1815. [DIVPS]
  1816. (Ch_Mop2, Ch_Rop1, Ch_None)
  1817. xmmreg,xmmrm \331\2\x0F\x5E\110 KATMAI,SSE
  1818. [DIVSS]
  1819. (Ch_Mop2, Ch_Rop1, Ch_None)
  1820. xmmreg,xmmrm \333\2\x0F\x5E\110 KATMAI,SSE
  1821. [LDMXCSR]
  1822. (Ch_All, Ch_None, Ch_None)
  1823. mem \2\x0F\xAE\202 KATMAI,SSE,SD
  1824. [MAXPS]
  1825. (Ch_All, Ch_None, Ch_None)
  1826. xmmreg,xmmrm \331\2\x0F\x5F\110 KATMAI,SSE
  1827. [MAXSS]
  1828. (Ch_All, Ch_None, Ch_None)
  1829. xmmreg,xmmrm \333\2\x0F\x5F\110 KATMAI,SSE
  1830. [MINPS]
  1831. (Ch_All, Ch_None, Ch_None)
  1832. xmmreg,xmmrm \331\2\x0F\x5D\110 KATMAI,SSE
  1833. [MINSS]
  1834. (Ch_All, Ch_None, Ch_None)
  1835. xmmreg,xmmrm \333\2\x0F\x5D\110 KATMAI,SSE
  1836. [MOVAPS]
  1837. (Ch_ROp1, Ch_WOp2, Ch_None)
  1838. xmmreg,xmmrm \2\x0F\x28\110 KATMAI,SSE
  1839. xmmrm,xmmreg \2\x0F\x29\101 KATMAI,SSE
  1840. [MOVHPS]
  1841. (Ch_All, Ch_None, Ch_None)
  1842. xmmreg,mem \2\x0F\x16\110 KATMAI,SSE
  1843. mem,xmmreg \2\x0F\x17\101 KATMAI,SSE
  1844. [MOVLHPS]
  1845. (Ch_All, Ch_None, Ch_None)
  1846. xmmreg,xmmreg \2\x0F\x16\110 KATMAI,SSE
  1847. [MOVLPS]
  1848. (Ch_All, Ch_None, Ch_None)
  1849. xmmreg,mem \2\x0F\x12\110 KATMAI,SSE
  1850. mem,xmmreg \2\x0F\x13\101 KATMAI,SSE
  1851. [MOVHLPS]
  1852. (Ch_All, Ch_None, Ch_None)
  1853. xmmreg,xmmreg \2\x0F\x12\110 KATMAI,SSE
  1854. [MOVMSKPS]
  1855. (Ch_All, Ch_None, Ch_None)
  1856. reg32,xmmreg \2\x0F\x50\110 KATMAI,SSE
  1857. [MOVNTPS]
  1858. (Ch_All, Ch_None, Ch_None)
  1859. mem,xmmreg \2\x0F\x2B\101 KATMAI,SSE
  1860. [MOVSS]
  1861. (Ch_Wop2, Ch_Rop1, Ch_None)
  1862. xmmreg,xmmrm \333\2\x0F\x10\110 KATMAI,SSE
  1863. xmmrm,xmmreg \333\2\x0F\x11\101 KATMAI,SSE
  1864. [MOVUPS]
  1865. (Ch_All, Ch_None, Ch_None)
  1866. xmmreg,xmmrm \331\2\x0F\x10\110 KATMAI,SSE
  1867. xmmrm,xmmreg \331\2\x0F\x11\101 KATMAI,SSE
  1868. [MULPS]
  1869. (Ch_Mop2, Ch_Rop1, Ch_None)
  1870. xmmreg,xmmrm \2\x0F\x59\110 KATMAI,SSE
  1871. [MULSS]
  1872. (Ch_Mop2, Ch_Rop1, Ch_None)
  1873. xmmreg,xmmrm \333\2\x0F\x59\110 KATMAI,SSE
  1874. [ORPS]
  1875. (Ch_Mop2, Ch_Rop1, Ch_None)
  1876. xmmreg,xmmrm \2\x0F\x56\110 KATMAI,SSE
  1877. [RCPPS]
  1878. (Ch_Wop2, Ch_Rop1, Ch_None)
  1879. xmmreg,xmmrm \331\2\x0F\x53\110 KATMAI,SSE
  1880. [RCPSS]
  1881. (Ch_Wop2, Ch_Rop1, Ch_None)
  1882. xmmreg,xmmrm \333\2\x0F\x53\110 KATMAI,SSE
  1883. [RSQRTPS]
  1884. (Ch_Wop2, Ch_Rop1, Ch_None)
  1885. xmmreg,xmmrm \331\2\x0F\x52\110 KATMAI,SSE
  1886. [RSQRTSS]
  1887. (Ch_Wop2, Ch_Rop1, Ch_None)
  1888. xmmreg,xmmrm \333\2\x0F\x52\110 KATMAI,SSE
  1889. [SHUFPS]
  1890. (Ch_Mop3, Ch_Rop2, Ch_None)
  1891. xmmreg,xmmrm,imm \2\x0F\xC6\110\22 KATMAI,SSE,SB,AR2
  1892. [SQRTPS]
  1893. (Ch_Wop2, Ch_Rop1, Ch_None)
  1894. xmmreg,xmmrm \331\2\x0F\x51\110 KATMAI,SSE
  1895. [SQRTSS]
  1896. (Ch_Wop2, Ch_Rop1, Ch_None)
  1897. xmmreg,xmmrm \333\2\x0F\x51\110 KATMAI,SSE
  1898. [STMXCSR]
  1899. (Ch_All, Ch_None, Ch_None)
  1900. mem \2\x0F\xAE\203 KATMAI,SSE,SD
  1901. [SUBPS]
  1902. (Ch_Mop2, Ch_Rop1, Ch_None)
  1903. xmmreg,xmmrm \331\2\x0F\x5C\110 KATMAI,SSE
  1904. [SUBSS]
  1905. (Ch_Mop2, Ch_Rop1, Ch_None)
  1906. xmmreg,xmmrm \333\2\x0F\x5C\110 KATMAI,SSE
  1907. [UCOMISS]
  1908. (Ch_Rop1, Ch_Rop2, Ch_WFlags)
  1909. xmmreg,xmmrm \2\x0F\x2E\110 KATMAI,SSE
  1910. [UNPCKHPS]
  1911. (Ch_Mop2, Ch_Rop1, Ch_None)
  1912. xmmreg,xmmrm \2\x0F\x15\110 KATMAI,SSE
  1913. [UNPCKLPS]
  1914. (Ch_Mop2, Ch_Rop1, Ch_None)
  1915. xmmreg,xmmrm \2\x0F\x14\110 KATMAI,SSE
  1916. [XORPS]
  1917. (Ch_Mop2, Ch_Rop1, Ch_None)
  1918. xmmreg,xmmrm \2\x0F\x57\110 KATMAI,SSE
  1919. ;
  1920. ; Introduced in Dechutes but necessary for SSE support
  1921. ;
  1922. [FXRSTOR]
  1923. (Ch_All, Ch_None, Ch_None)
  1924. mem \2\x0F\xAE\201 P6,SSE,FPU
  1925. [FXSAVE]
  1926. (Ch_All, Ch_None, Ch_None)
  1927. mem \2\x0F\xAE\200 P6,SSE,FPU
  1928. ;
  1929. ; These instructions aren't SSE-specific; they are generic memory operations
  1930. ; and work even if CR4.OSFXFR == 0
  1931. ;
  1932. [PREFETCHNTA]
  1933. (Ch_All, Ch_None, Ch_None)
  1934. mem \2\x0F\x18\200 KATMAI
  1935. [PREFETCHT0]
  1936. (Ch_All, Ch_None, Ch_None)
  1937. mem \2\x0F\x18\201 KATMAI
  1938. [PREFETCHT1]
  1939. (Ch_All, Ch_None, Ch_None)
  1940. mem \2\x0F\x18\202 KATMAI
  1941. [PREFETCHT2]
  1942. (Ch_All, Ch_None, Ch_None)
  1943. mem \2\x0F\x18\203 KATMAI
  1944. [SFENCE]
  1945. (Ch_All, Ch_None, Ch_None)
  1946. void \3\x0F\xAE\xF8 KATMAI
  1947. ;
  1948. ; New MMX instructions introduced in Katmai
  1949. ;
  1950. [MASKMOVQ]
  1951. (Ch_All, Ch_None, Ch_None)
  1952. mmxreg,mmxreg \2\x0F\xF7\110 KATMAI,MMX
  1953. [MOVNTQ]
  1954. (Ch_All, Ch_None, Ch_None)
  1955. mem,mmxreg \2\x0F\xE7\101 KATMAI,MMX,SM
  1956. [PAVGB]
  1957. (Ch_All, Ch_None, Ch_None)
  1958. mmxreg,mmxrm \2\x0F\xE0\110 KATMAI,MMX,SM
  1959. xmmreg,xmmrm \361\2\x0F\xE0\110 WILLAMETTE,SSE2,SM
  1960. [PAVGW]
  1961. (Ch_All, Ch_None, Ch_None)
  1962. mmxreg,mmxrm \2\x0F\xE3\110 KATMAI,MMX,SM
  1963. xmmreg,xmmrm \361\2\x0F\xE3\110 WILLAMETTE,SSE2,SM
  1964. [PEXTRW]
  1965. (Ch_All, Ch_None, Ch_None)
  1966. reg32,mmxreg,imm \2\x0F\xC5\110\22 KATMAI,MMX,SB,AR2
  1967. reg32,xmmreg,imm \361\2\x0F\xC5\110\26 SSE41
  1968. mem32,xmmreg,imm \361\3\x0F\x3A\x15\101\26 SSE41
  1969. [PINSRW]
  1970. (Ch_All, Ch_None, Ch_None)
  1971. ; PINSRW is documented as using a reg32, but it's really using only 16 bit
  1972. ; -- accept either, but be truthful in disassembly
  1973. mmxreg,reg16,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2
  1974. mmxreg,reg32,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2,ND
  1975. mmxreg,mem,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2
  1976. mmxreg,mem16,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2,ND
  1977. xmmreg,reg16,imm \361\2\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2
  1978. xmmreg,reg32,imm \361\2\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2,ND
  1979. xmmreg,mem,imm \361\2\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2
  1980. xmmreg,mem16,imm \361\2\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2,ND
  1981. [PMAXSW]
  1982. (Ch_All, Ch_None, Ch_None)
  1983. mmxreg,mmxrm \2\x0F\xEE\110 KATMAI,MMX,SM
  1984. xmmreg,xmmrm \361\2\x0F\xEE\110 WILLAMETTE,SSE2,SM
  1985. [PMAXUB]
  1986. (Ch_All, Ch_None, Ch_None)
  1987. mmxreg,mmxrm \2\x0F\xDE\110 KATMAI,MMX,SM
  1988. xmmreg,xmmrm \361\2\x0F\xDE\110 WILLAMETTE,SSE2,SM
  1989. [PMINSW]
  1990. (Ch_All, Ch_None, Ch_None)
  1991. mmxreg,mmxrm \2\x0F\xEA\110 KATMAI,MMX,SM
  1992. xmmreg,xmmrm \361\2\x0F\xEA\110 WILLAMETTE,SSE2,SM
  1993. [PMINUB]
  1994. (Ch_All, Ch_None, Ch_None)
  1995. mmxreg,mmxrm \2\x0F\xDA\110 KATMAI,MMX,SM
  1996. xmmreg,xmmrm \361\2\x0F\xDA\110 WILLAMETTE,SSE2,SM
  1997. [PMOVMSKB]
  1998. (Ch_All, Ch_None, Ch_None)
  1999. reg32,mmxreg \2\x0F\xD7\110 KATMAI,MMX
  2000. reg32,xmmreg \361\2\x0F\xD7\110 WILLAMETTE,SSE2
  2001. [PMULHUW]
  2002. (Ch_All, Ch_None, Ch_None)
  2003. mmxreg,mmxrm \2\x0F\xE4\110 KATMAI,MMX,SM
  2004. xmmreg,xmmrm \361\2\x0F\xE4\110 WILLAMETTE,SSE2,SM
  2005. [PSADBW]
  2006. (Ch_All, Ch_None, Ch_None)
  2007. mmxreg,mmxrm \2\x0F\xF6\110 KATMAI,MMX,SM
  2008. xmmreg,xmmrm \361\2\x0F\xF6\110 WILLAMETTE,SSE2,SM
  2009. [PSHUFW]
  2010. (Ch_All, Ch_None, Ch_None)
  2011. mmxreg,mmxrm,imm \2\x0F\x70\110\22 KATMAI,MMX,SM2,SB,AR2
  2012. ;
  2013. ; New Athlon Instructions
  2014. ;
  2015. [PFNACC]
  2016. (Ch_All, Ch_None, Ch_None)
  2017. mmxreg,mmxrm \2\x0F\x0F\110\01\x8A PENT,3DNOW,SM
  2018. [PFPNACC]
  2019. (Ch_All, Ch_None, Ch_None)
  2020. mmxreg,mmxrm \2\x0F\x0F\110\01\x8E PENT,3DNOW,SM
  2021. [PI2FW]
  2022. (Ch_All, Ch_None, Ch_None)
  2023. mmxreg,mmxrm \2\x0F\x0F\110\01\x0C PENT,3DNOW,SM
  2024. [PF2IW]
  2025. (Ch_All, Ch_None, Ch_None)
  2026. mmxreg,mmxrm \2\x0F\x0F\110\01\x1C PENT,3DNOW,SM
  2027. [PSWAPD]
  2028. (Ch_All, Ch_None, Ch_None)
  2029. mmxreg,mmxrm \2\x0F\x0F\110\01\xBB PENT,3DNOW,SM
  2030. [FFREEP]
  2031. (Ch_All, Ch_None, Ch_None)
  2032. fpureg \1\xDF\10\xC0 PENT,3DNOW,FPU
  2033. ; Willamette SSE2 Cacheability Instructions
  2034. [MASKMOVDQU]
  2035. (Ch_All, Ch_None, Ch_None)
  2036. xmmreg,xmmreg \361\2\x0F\xF7\110 WILLAMETTE,SSE2
  2037. ; CLFLUSH needs its own feature flag implemented one day
  2038. [CLFLUSH]
  2039. (Ch_All, Ch_None, Ch_None)
  2040. mem \2\x0F\xAE\207 WILLAMETTE,SSE2
  2041. [MOVNTDQ]
  2042. (Ch_All, Ch_None, Ch_None)
  2043. mem,xmmreg \361\2\x0F\xE7\101 WILLAMETTE,SSE2,SM
  2044. [MOVNTI,movntiX]
  2045. (Ch_All, Ch_None, Ch_None)
  2046. mem,reg32|64 \320\2\x0F\xC3\101 WILLAMETTE,SSE2,SM
  2047. [MOVNTPD]
  2048. (Ch_All, Ch_None, Ch_None)
  2049. mem,xmmreg \361\2\x0F\x2B\101 WILLAMETTE,SSE2,SM
  2050. [PAUSE]
  2051. (Ch_All, Ch_None, Ch_None)
  2052. void \333\1\x90 WILLAMETTE,SSE2
  2053. [LFENCE]
  2054. (Ch_All, Ch_None, Ch_None)
  2055. void \3\x0F\xAE\xE8 WILLAMETTE,SSE2
  2056. [MFENCE]
  2057. (Ch_All, Ch_None, Ch_None)
  2058. void \3\x0F\xAE\xF0 WILLAMETTE,SSE2
  2059. ;
  2060. ; Willamette MMX instructions (SSE2 SIMD Integer Instructions)
  2061. ;
  2062. [MOVDQA]
  2063. (Ch_All, Ch_None, Ch_None)
  2064. xmmrm,xmmreg \361\2\x0F\x7F\101 WILLAMETTE,SSE2,SM
  2065. xmmreg,xmmrm \361\2\x0F\x6F\110 WILLAMETTE,SSE2,SM
  2066. [MOVDQU]
  2067. (Ch_All, Ch_None, Ch_None)
  2068. xmmrm,xmmreg \333\2\x0F\x7F\101 WILLAMETTE,SSE2,SM
  2069. xmmreg,xmmrm \333\2\x0F\x6F\110 WILLAMETTE,SSE2,SM
  2070. [MOVDQ2Q]
  2071. (Ch_All, Ch_None, Ch_None)
  2072. mmxreg,xmmreg \334\2\x0F\xD6\110 WILLAMETTE,SSE2
  2073. [MOVQ2DQ]
  2074. (Ch_All, Ch_None, Ch_None)
  2075. xmmreg,mmxreg \333\2\x0F\xD6\110 WILLAMETTE,SSE2
  2076. [PADDQ]
  2077. (Ch_All, Ch_None, Ch_None)
  2078. mmxreg,mmxrm \2\x0F\xD4\110 WILLAMETTE,SSE2,SM
  2079. xmmreg,xmmrm \361\2\x0F\xD4\110 WILLAMETTE,SSE2,SM
  2080. [PMULUDQ]
  2081. (Ch_All, Ch_None, Ch_None)
  2082. mmxreg,mmxrm \2\x0F\xF4\110 WILLAMETTE,SSE2,SM
  2083. xmmreg,xmmrm \361\2\x0F\xF4\110 WILLAMETTE,SSE2,SM
  2084. [PSHUFD]
  2085. (Ch_All, Ch_None, Ch_None)
  2086. xmmreg,xmmrm,imm \361\2\x0F\x70\110\22 WILLAMETTE,SSE2,SM2,SB,AR2
  2087. [PSHUFHW]
  2088. (Ch_All, Ch_None, Ch_None)
  2089. xmmreg,xmmrm,imm \333\2\x0F\x70\110\22 WILLAMETTE,SSE2,SM2,SB,AR2
  2090. [PSHUFLW]
  2091. (Ch_All, Ch_None, Ch_None)
  2092. xmmreg,xmmrm,imm \334\2\x0F\x70\110\22 WILLAMETTE,SSE2,SM2,SB,AR2
  2093. [PSRLDQ]
  2094. (Ch_All, Ch_None, Ch_None)
  2095. xmmreg,imm \361\2\x0F\x73\203\25 WILLAMETTE,SSE2,SB,AR1
  2096. [PSUBQ]
  2097. (Ch_All, Ch_None, Ch_None)
  2098. mmxreg,mmxrm \2\x0F\xFB\110 WILLAMETTE,SSE2,SM
  2099. xmmreg,xmmrm \361\2\x0F\xFB\110 WILLAMETTE,SSE2,SM
  2100. [PUNPCKHQDQ]
  2101. (Ch_All, Ch_None, Ch_None)
  2102. xmmreg,xmmrm \361\2\x0F\x6D\110 WILLAMETTE,SSE2,SM
  2103. [PUNPCKLQDQ]
  2104. (Ch_All, Ch_None, Ch_None)
  2105. xmmreg,xmmrm \361\2\x0F\x6C\110 WILLAMETTE,SSE2,SM
  2106. ;
  2107. ; Willamette Streaming SIMD instructions (SSE2)
  2108. ;
  2109. [ADDPD]
  2110. (Ch_Mop2, Ch_Rop1, Ch_None)
  2111. xmmreg,xmmrm \361\2\x0F\x58\110 WILLAMETTE,SSE2,SM
  2112. [ADDSD]
  2113. (Ch_Mop2, Ch_Rop1, Ch_None)
  2114. xmmreg,xmmrm \334\2\x0F\x58\110 WILLAMETTE,SSE2
  2115. [ANDNPD]
  2116. (Ch_Mop2, Ch_Rop1, Ch_None)
  2117. xmmreg,xmmrm \361\2\x0F\x55\110 WILLAMETTE,SSE2,SM
  2118. [ANDPD]
  2119. (Ch_Mop2, Ch_Rop1, Ch_None)
  2120. xmmreg,xmmrm \361\2\x0F\x54\110 WILLAMETTE,SSE2,SM
  2121. [CMPEQPD]
  2122. (Ch_All, Ch_None, Ch_None)
  2123. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x00 WILLAMETTE,SSE2,SM
  2124. ; note: no SM flag on CMPxxSD, they use 64-bit memory location, not 128-bit
  2125. [CMPEQSD]
  2126. (Ch_All, Ch_None, Ch_None)
  2127. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x00 WILLAMETTE,SSE2
  2128. [CMPLEPD]
  2129. (Ch_All, Ch_None, Ch_None)
  2130. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x02 WILLAMETTE,SSE2,SM
  2131. [CMPLESD]
  2132. (Ch_All, Ch_None, Ch_None)
  2133. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x02 WILLAMETTE,SSE2
  2134. [CMPLTPD]
  2135. (Ch_All, Ch_None, Ch_None)
  2136. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x01 WILLAMETTE,SSE2,SM
  2137. [CMPLTSD]
  2138. (Ch_All, Ch_None, Ch_None)
  2139. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x01 WILLAMETTE,SSE2
  2140. [CMPNEQPD]
  2141. (Ch_All, Ch_None, Ch_None)
  2142. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x04 WILLAMETTE,SSE2,SM
  2143. [CMPNEQSD]
  2144. (Ch_All, Ch_None, Ch_None)
  2145. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x04 WILLAMETTE,SSE2
  2146. [CMPNLEPD]
  2147. (Ch_All, Ch_None, Ch_None)
  2148. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x06 WILLAMETTE,SSE2,SM
  2149. [CMPNLESD]
  2150. (Ch_All, Ch_None, Ch_None)
  2151. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x06 WILLAMETTE,SSE2
  2152. [CMPNLTPD]
  2153. (Ch_All, Ch_None, Ch_None)
  2154. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x05 WILLAMETTE,SSE2,SM
  2155. [CMPNLTSD]
  2156. (Ch_All, Ch_None, Ch_None)
  2157. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x05 WILLAMETTE,SSE2
  2158. [CMPORDPD]
  2159. (Ch_All, Ch_None, Ch_None)
  2160. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x07 WILLAMETTE,SSE2,SM
  2161. [CMPORDSD]
  2162. (Ch_All, Ch_None, Ch_None)
  2163. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x07 WILLAMETTE,SSE2
  2164. [CMPUNORDPD]
  2165. (Ch_All, Ch_None, Ch_None)
  2166. xmmreg,xmmrm \361\2\x0F\xC2\110\1\x03 WILLAMETTE,SSE2,SM
  2167. [CMPUNORDSD]
  2168. (Ch_All, Ch_None, Ch_None)
  2169. xmmreg,xmmrm \334\2\x0F\xC2\110\1\x03 WILLAMETTE,SSE2
  2170. ; CMPPD/CMPSD must come after the specific ops; that way the disassembler will find the
  2171. ; specific ops first and only disassemble illegal ones as cmppd/cmpsd.
  2172. [CMPPD]
  2173. (Ch_All, Ch_None, Ch_None)
  2174. xmmreg,xmmrm,imm \361\2\x0F\xC2\110\26 WILLAMETTE,SSE2,SM2,SB,AR2
  2175. [COMISD]
  2176. (Ch_Rop1, Ch_Rop2, Ch_WFlags)
  2177. xmmreg,xmmrm \361\2\x0F\x2F\110 WILLAMETTE,SSE2
  2178. [CVTDQ2PD]
  2179. (Ch_Wop2, Ch_Rop1, Ch_None)
  2180. xmmreg,xmmrm \333\2\x0F\xE6\110 WILLAMETTE,SSE2
  2181. [CVTDQ2PS]
  2182. (Ch_Wop2, Ch_Rop1, Ch_None)
  2183. xmmreg,xmmrm \2\x0F\x5B\110 WILLAMETTE,SSE2,SM
  2184. [CVTPD2DQ]
  2185. (Ch_Wop2, Ch_Rop1, Ch_None)
  2186. xmmreg,xmmrm \334\2\x0F\xE6\110 WILLAMETTE,SSE2,SM
  2187. [CVTPD2PI]
  2188. (Ch_Wop2, Ch_Rop1, Ch_None)
  2189. mmxreg,xmmrm \361\2\x0F\x2D\110 WILLAMETTE,SSE2 ;,SO
  2190. [CVTPD2PS]
  2191. (Ch_Wop2, Ch_Rop1, Ch_None)
  2192. xmmreg,xmmrm \361\2\x0F\x5A\110 WILLAMETTE,SSE2,SM
  2193. [CVTPI2PD]
  2194. (Ch_Wop2, Ch_Rop1, Ch_None)
  2195. xmmreg,mmxrm \361\2\x0F\x2A\110 WILLAMETTE,SSE2 ;,SO
  2196. [CVTPS2DQ]
  2197. (Ch_Wop2, Ch_Rop1, Ch_None)
  2198. xmmreg,xmmrm \361\2\x0F\x5B\110 WILLAMETTE,SSE2,SM
  2199. [CVTPS2PD]
  2200. (Ch_Wop2, Ch_Rop1, Ch_None)
  2201. xmmreg,xmmrm \2\x0F\x5A\110 WILLAMETTE,SSE2 ;,SQ
  2202. [CVTSD2SI,cvtsd2siX]
  2203. (Ch_Wop2, Ch_Rop1, Ch_None)
  2204. reg32|64,xmmreg \334\320\2\x0F\x2D\110 WILLAMETTE,SSE2
  2205. reg32|64,mem \334\320\2\x0F\x2D\110 WILLAMETTE,SSE2
  2206. [CVTSD2SS]
  2207. (Ch_Wop2, Ch_Rop1, Ch_None)
  2208. xmmreg,xmmrm \334\2\x0F\x5A\110 WILLAMETTE,SSE2 ;,SQ
  2209. [CVTSI2SD,cvtsi2sdX]
  2210. (Ch_Wop2, Ch_Rop1, Ch_None)
  2211. xmmreg,reg32|64 \334\321\2\x0F\x2A\110 WILLAMETTE,SSE2
  2212. xmmreg,mem \334\321\2\x0F\x2A\110 WILLAMETTE,SSE2
  2213. [CVTSS2SD]
  2214. (Ch_Wop2, Ch_Rop1, Ch_None)
  2215. xmmreg,xmmrm \333\2\x0F\x5A\110 WILLAMETTE,SSE2 ;,SD
  2216. [CVTTPD2PI]
  2217. (Ch_Wop2, Ch_Rop1, Ch_None)
  2218. mmxreg,xmmreg \361\2\x0F\x2C\110 WILLAMETTE,SSE2
  2219. mmxreg,mem \361\2\x0F\x2C\110 WILLAMETTE,SSE2
  2220. [CVTTPD2DQ]
  2221. (Ch_Wop2, Ch_Rop1, Ch_None)
  2222. xmmreg,xmmrm \361\2\x0F\xE6\110 WILLAMETTE,SSE2,SM
  2223. [CVTTPS2DQ]
  2224. (Ch_Wop2, Ch_Rop1, Ch_None)
  2225. xmmreg,xmmrm \333\2\x0F\x5B\110 WILLAMETTE,SSE2,SM
  2226. [CVTTSD2SI,cvttsd2siX]
  2227. (Ch_Wop2, Ch_Rop1, Ch_None)
  2228. reg32|64,xmmreg \334\320\2\x0F\x2C\110 WILLAMETTE,SSE2
  2229. reg32|64,mem \334\320\2\x0F\x2C\110 WILLAMETTE,SSE2
  2230. [DIVPD]
  2231. (Ch_Mop2, Ch_Rop1, Ch_None)
  2232. xmmreg,xmmrm \361\2\x0F\x5E\110 WILLAMETTE,SSE2,SM
  2233. [DIVSD]
  2234. (Ch_Mop2, Ch_Rop1, Ch_None)
  2235. xmmreg,xmmrm \334\2\x0F\x5E\110 WILLAMETTE,SSE2
  2236. [MAXPD]
  2237. (Ch_All, Ch_None, Ch_None)
  2238. xmmreg,xmmrm \361\2\x0F\x5F\110 WILLAMETTE,SSE2,SM
  2239. [MAXSD]
  2240. (Ch_All, Ch_None, Ch_None)
  2241. xmmreg,xmmrm \334\2\x0F\x5F\110 WILLAMETTE,SSE2
  2242. [MINPD]
  2243. (Ch_All, Ch_None, Ch_None)
  2244. xmmreg,xmmrm \361\2\x0F\x5D\110 WILLAMETTE,SSE2,SM
  2245. [MINSD]
  2246. (Ch_All, Ch_None, Ch_None)
  2247. xmmreg,xmmrm \334\2\x0F\x5D\110 WILLAMETTE,SSE2
  2248. [MOVAPD]
  2249. (Ch_ROp1, Ch_WOp2, Ch_None)
  2250. xmmrm,xmmreg \361\2\x0F\x29\101 WILLAMETTE,SSE2,SM
  2251. xmmreg,xmmrm \361\2\x0F\x28\110 WILLAMETTE,SSE2,SM
  2252. [MOVHPD]
  2253. (Ch_All, Ch_None, Ch_None)
  2254. mem,xmmreg \361\2\x0F\x17\101 WILLAMETTE,SSE2
  2255. xmmreg,mem \361\2\x0F\x16\110 WILLAMETTE,SSE2
  2256. [MOVLPD]
  2257. (Ch_All, Ch_None, Ch_None)
  2258. mem,xmmreg \361\2\x0F\x13\101 WILLAMETTE,SSE2
  2259. xmmreg,mem \361\2\x0F\x12\110 WILLAMETTE,SSE2
  2260. [MOVMSKPD]
  2261. (Ch_All, Ch_None, Ch_None)
  2262. reg32,xmmreg \361\2\x0F\x50\110 WILLAMETTE,SSE2
  2263. [MOVUPD]
  2264. (Ch_All, Ch_None, Ch_None)
  2265. xmmrm,xmmreg \361\2\x0F\x11\101 WILLAMETTE,SSE2,SM
  2266. xmmreg,xmmrm \361\2\x0F\x10\110 WILLAMETTE,SSE2,SM
  2267. [MULPD]
  2268. (Ch_Mop2, Ch_Rop1, Ch_None)
  2269. xmmreg,xmmrm \361\2\x0F\x59\110 WILLAMETTE,SSE2,SM
  2270. [MULSD]
  2271. (Ch_Mop2, Ch_Rop1, Ch_None)
  2272. xmmreg,xmmrm \334\2\x0F\x59\110 WILLAMETTE,SSE2
  2273. [ORPD]
  2274. (Ch_Mop2, Ch_Rop1, Ch_None)
  2275. xmmreg,xmmrm \361\2\x0F\x56\110 WILLAMETTE,SSE2,SM
  2276. [SHUFPD]
  2277. (Ch_Mop3, Ch_Rop2, Ch_None)
  2278. xmmreg,xmmrm,imm \361\2\x0F\xC6\110\26 WILLAMETTE,SSE2,SM2,SB,AR2
  2279. [SQRTPD]
  2280. (Ch_Wop2, Ch_Rop1, Ch_None)
  2281. xmmreg,xmmrm \361\2\x0F\x51\110 WILLAMETTE,SSE2,SM
  2282. [SQRTSD]
  2283. (Ch_Wop2, Ch_Rop1, Ch_None)
  2284. xmmreg,xmmrm \334\2\x0F\x51\110 WILLAMETTE,SSE2
  2285. [SUBPD]
  2286. (Ch_Mop2, Ch_Rop1, Ch_None)
  2287. xmmreg,xmmrm \361\2\x0F\x5C\110 WILLAMETTE,SSE2,SM
  2288. [SUBSD]
  2289. (Ch_Mop2, Ch_Rop1, Ch_None)
  2290. xmmreg,xmmrm \334\2\x0F\x5C\110 WILLAMETTE,SSE2
  2291. [UCOMISD]
  2292. (Ch_Rop1, Ch_Rop2, Ch_WFlags)
  2293. xmmreg,xmmrm \361\2\x0F\x2E\110 WILLAMETTE,SSE2
  2294. [UNPCKHPD]
  2295. (Ch_All, Ch_None, Ch_None)
  2296. xmmreg,xmmrm \361\2\x0F\x15\110 WILLAMETTE,SSE2,SM
  2297. [UNPCKLPD]
  2298. (Ch_All, Ch_None, Ch_None)
  2299. xmmreg,xmmrm \361\2\x0F\x14\110 WILLAMETTE,SSE2,SM
  2300. [XORPD]
  2301. (Ch_Mop2, Ch_Rop1, Ch_None)
  2302. xmmreg,xmmrm \361\2\x0F\x57\110 WILLAMETTE,SSE2,SM
  2303. ;
  2304. ; Prescott New Instructions (SSE3)
  2305. ;
  2306. [ADDSUBPD]
  2307. (Ch_All, Ch_None, Ch_None)
  2308. xmmreg,xmmrm \361\2\x0F\xD0\110 PRESCOTT,SSE3,SM
  2309. [ADDSUBPS]
  2310. (Ch_All, Ch_None, Ch_None)
  2311. xmmreg,xmmrm \334\2\x0F\xD0\110 PRESCOTT,SSE3,SM
  2312. [HADDPD]
  2313. (Ch_Mop2, Ch_Rop1, Ch_None)
  2314. xmmreg,xmmrm \361\2\x0F\x7C\110 PRESCOTT,SSE3,SM
  2315. [HADDPS]
  2316. (Ch_Mop2, Ch_Rop1, Ch_None)
  2317. xmmreg,xmmrm \334\2\x0F\x7C\110 PRESCOTT,SSE3,SM
  2318. [HSUBPD]
  2319. (Ch_Mop2, Ch_Rop1, Ch_None)
  2320. xmmreg,xmmrm \361\2\x0F\x7D\110 PRESCOTT,SSE3,SM
  2321. [HSUBPS]
  2322. (Ch_Mop2, Ch_Rop1, Ch_None)
  2323. xmmreg,xmmrm \334\2\x0F\x7D\110 PRESCOTT,SSE3,SM
  2324. [LDDQU]
  2325. (Ch_All, Ch_None, Ch_None)
  2326. xmmreg,mem \334\2\x0F\xF0\110 PRESCOTT,SSE3
  2327. [MOVDDUP]
  2328. (Ch_All, Ch_None, Ch_None)
  2329. xmmreg,xmmrm \334\2\x0F\x12\110 PRESCOTT,SSE3
  2330. [MOVSHDUP]
  2331. (Ch_All, Ch_None, Ch_None)
  2332. xmmreg,xmmrm \333\2\x0F\x16\110 PRESCOTT,SSE3,SM
  2333. [MOVSLDUP]
  2334. (Ch_All, Ch_None, Ch_None)
  2335. xmmreg,xmmrm \333\2\x0F\x12\110 PRESCOTT,SSE3,SM
  2336. ;
  2337. ; Intel VT
  2338. ;
  2339. [VMREAD]
  2340. (Ch_All, Ch_None, Ch_None)
  2341. reg32,reg32 \2\x0F\x78\101 386,PRIV,PROT
  2342. mem,reg32 \2\x0F\x78\101 386,PRIV,PROT,SM
  2343. [VMWRITE]
  2344. (Ch_All, Ch_None, Ch_None)
  2345. reg32,reg32 \2\x0F\x79\110 386,PRIV,PROT
  2346. reg32,mem \2\x0F\x79\110 386,PRIV,PROT,SM
  2347. [VMCALL]
  2348. (Ch_All, Ch_None, Ch_None)
  2349. void \3\x0F\x01\xC1 386,PRIV,PROT
  2350. [VMLAUNCH]
  2351. (Ch_All, Ch_None, Ch_None)
  2352. void \3\x0F\x01\xC2 386,PRIV,PROT
  2353. [VMRESUME]
  2354. (Ch_All, Ch_None, Ch_None)
  2355. void \3\x0F\x01\xC3 386,PRIV,PROT
  2356. [VMXOFF]
  2357. (Ch_All, Ch_None, Ch_None)
  2358. void \3\x0F\x01\xC4 386,PRIV,PROT
  2359. ; note: ideally the following should be tagged with SQ
  2360. [VMXON]
  2361. (Ch_All, Ch_None, Ch_None)
  2362. mem \333\2\x0F\xC7\206 PRIV,PROT
  2363. [VMCLEAR]
  2364. (Ch_All, Ch_None, Ch_None)
  2365. mem \361\2\x0F\xC7\206 PRIV,PROT
  2366. [VMPTRLD]
  2367. (Ch_All, Ch_None, Ch_None)
  2368. mem \2\x0F\xC7\206 PRIV,PROT
  2369. [VMPTRST]
  2370. (Ch_All, Ch_None, Ch_None)
  2371. mem \2\x0F\xC7\207 PRIV,PROT
  2372. ;
  2373. ; AMD SVM
  2374. ;
  2375. [VMRUN]
  2376. (Ch_All, Ch_None, Ch_None)
  2377. void \3\x0F\x01\xD8 386,SVM,PRIV,PROT
  2378. [VMMCALL]
  2379. (Ch_All, Ch_None, Ch_None)
  2380. void \3\x0F\x01\xD9 386,SVM
  2381. [VMLOAD]
  2382. (Ch_All, Ch_None, Ch_None)
  2383. void \3\x0F\x01\xDA 386,SVM,PRIV,PROT
  2384. [VMSAVE]
  2385. (Ch_All, Ch_None, Ch_None)
  2386. void \3\x0F\x01\xDB 386,SVM,PRIV,PROT
  2387. [STGI]
  2388. (Ch_All, Ch_None, Ch_None)
  2389. void \3\x0F\x01\xDC 386,SVM,PRIV,PROT
  2390. [CLGI]
  2391. (Ch_All, Ch_None, Ch_None)
  2392. void \3\x0F\x01\xDD 386,SVM,PRIV,PROT
  2393. [SKINIT]
  2394. (Ch_All, Ch_None, Ch_None)
  2395. void \3\x0F\x01\xDE 386,SVM,PRIV,PROT
  2396. [INVLPGA]
  2397. (Ch_All, Ch_None, Ch_None)
  2398. void \3\x0F\x01\xDF 386,SVM,PRIV,PROT
  2399. ;
  2400. ; Centaur
  2401. ;
  2402. [MONTMUL]
  2403. (Ch_All, Ch_None, Ch_None)
  2404. void \333\3\x0F\xA6\xC0 CENTAUR
  2405. [XSHA1]
  2406. (Ch_All, Ch_None, Ch_None)
  2407. void \333\3\x0F\xA6\xC8 CENTAUR
  2408. [XSHA256]
  2409. (Ch_All, Ch_None, Ch_None)
  2410. void \333\3\x0F\xA6\xD0 CENTAUR
  2411. ;
  2412. ; Geode
  2413. ;
  2414. [DMINT]
  2415. (Ch_All, Ch_None, Ch_None)
  2416. void \2\x0F\x39 P6,CYRIX
  2417. [RDM]
  2418. (Ch_All, Ch_None, Ch_None)
  2419. void \2\x0F\x3A P6,CYRIX
  2420. ;
  2421. ; GAS specific x86-64 instructions
  2422. ;
  2423. [MOVABS]
  2424. (Ch_Wop2, Ch_Rop1, Ch_None)
  2425. reg_al,mem_offs \1\xA0\45 X86_64,SM
  2426. reg_ax|32|64,mem_offs \320\1\xA1\45 X86_64,SM
  2427. mem_offs,reg_al \1\xA2\44 X86_64,SM
  2428. mem_offs,reg_ax|32|64 \321\xA3\44 X86_64,SM
  2429. reg64,imm \326\10\xB8\55 X86_64
  2430. [MOVSXD,movslq]
  2431. (Ch_Wop2, Ch_Rop1, Ch_None)
  2432. reg64,mem \326\1\x63\110 X86_64
  2433. reg64,reg32 \326\1\x63\110 X86_64
  2434. [CQO,cqto]
  2435. (Ch_MRAX, Ch_WRDX, Ch_None)
  2436. void \326\1\x99 X86_64
  2437. [CMPXCHG16B,cmpxchg16bX]
  2438. (Ch_All, Ch_None, Ch_None)
  2439. mem \326\2\x0F\xC7\201 X86_64
  2440. ;
  2441. ; SSE4a (AMD Barcelona CPUs, n/a on Intel)
  2442. ;
  2443. [MOVNTSS]
  2444. (Ch_All, Ch_None, Ch_None)
  2445. mem,xmmreg \333\2\x0F\x2B\101 SSE4,SD
  2446. [MOVNTSD]
  2447. (Ch_All, Ch_None, Ch_None)
  2448. mem,xmmreg \334\325\2\x0F\x2B\101 SSE4 ;,SQ
  2449. [INSERTQ]
  2450. (Ch_All, Ch_None, Ch_None)
  2451. xmmreg,xmmreg \334\2\x0F\x79\110 SSE4
  2452. xmmreg,xmmreg,imm,imm \334\2\x0F\x78\110\26\27 SSE4,SB
  2453. [EXTRQ]
  2454. (Ch_All, Ch_None, Ch_None)
  2455. xmmreg,imm,imm \361\2\x0F\x78\200\25\26 SSE4,SB
  2456. xmmreg,xmmreg \361\2\x0F\x79\110 SSE4
  2457. [LZCNT,lzcntX]
  2458. (Ch_All, Ch_None, Ch_None)
  2459. reg16,regmem \320\333\2\x0F\xBD\110 386,SM,SSE4
  2460. reg32|64,regmem \321\333\2\x0F\xBD\110 386,SM,SSE4
  2461. ;*******************************************************************************
  2462. ;**********SSSE3****************************************************************
  2463. ;*******************************************************************************
  2464. [PABSB]
  2465. (Ch_All, Ch_None, Ch_None)
  2466. mmxreg,mmxrm \331\3\x0F\x38\x1C\110 SSSE3,MMX,SM
  2467. xmmreg,xmmrm \361\3\x0F\x38\x1C\110 SSSE3,SM
  2468. [PABSW]
  2469. (Ch_All, Ch_None, Ch_None)
  2470. mmxreg,mmxrm \331\3\x0F\x38\x1D\110 SSSE3,MMX,SM
  2471. xmmreg,xmmrm \361\3\x0F\x38\x1D\110 SSSE3,SM
  2472. [PABSD]
  2473. (Ch_All, Ch_None, Ch_None)
  2474. mmxreg,mmxrm \331\3\x0F\x38\x1E\110 SSSE3,MMX,SM
  2475. xmmreg,xmmrm \361\3\x0F\x38\x1E\110 SSSE3,SM
  2476. [PALIGNR]
  2477. (Ch_All, Ch_None, Ch_None)
  2478. mmxreg,mmxrm,imm \331\3\x0F\x3A\x0F\110\26 SSSE3,MMX,SM2,SB,AR2
  2479. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0F\110\26 SSSE3,SM2,SB,AR2
  2480. [PHADDW]
  2481. (Ch_All, Ch_None, Ch_None)
  2482. mmxreg,mmxrm \331\3\x0F\x38\x01\110 SSSE3,MMX,SM
  2483. xmmreg,xmmrm \361\3\x0F\x38\x01\110 SSSE3,SM
  2484. [PHADDD]
  2485. (Ch_All, Ch_None, Ch_None)
  2486. mmxreg,mmxrm \331\3\x0F\x38\x02\110 SSSE3,MMX,SM
  2487. xmmreg,xmmrm \361\3\x0F\x38\x02\110 SSSE3,SM
  2488. [PHADDSW]
  2489. (Ch_All, Ch_None, Ch_None)
  2490. mmxreg,mmxrm \331\3\x0F\x38\x03\110 SSSE3,MMX,SM
  2491. xmmreg,xmmrm \361\3\x0F\x38\x03\110 SSSE3,SM
  2492. [PHSUBW]
  2493. (Ch_All, Ch_None, Ch_None)
  2494. mmxreg,mmxrm \331\3\x0F\x38\x05\110 SSSE3,MMX,SM
  2495. xmmreg,xmmrm \361\3\x0F\x38\x05\110 SSSE3,SM
  2496. [PHSUBD]
  2497. (Ch_All, Ch_None, Ch_None)
  2498. mmxreg,mmxrm \331\3\x0F\x38\x06\110 SSSE3,MMX,SM
  2499. xmmreg,xmmrm \361\3\x0F\x38\x06\110 SSSE3,SM
  2500. [PHSUBSW]
  2501. (Ch_All, Ch_None, Ch_None)
  2502. mmxreg,mmxrm \331\3\x0F\x38\x07\110 SSSE3,MMX,SM
  2503. xmmreg,xmmrm \361\3\x0F\x38\x07\110 SSSE3,SM
  2504. [PMADDUBSW]
  2505. (Ch_All, Ch_None, Ch_None)
  2506. mmxreg,mmxrm \331\3\x0F\x38\x04\110 SSSE3,MMX,SM
  2507. xmmreg,xmmrm \361\3\x0F\x38\x04\110 SSSE3,SM
  2508. [PMULHRSW]
  2509. (Ch_All, Ch_None, Ch_None)
  2510. mmxreg,mmxrm \331\3\x0F\x38\x0B\110 SSSE3,MMX,SM
  2511. xmmreg,xmmrm \361\3\x0F\x38\x0B\110 SSSE3,SM
  2512. [PSHUFB]
  2513. (Ch_All, Ch_None, Ch_None)
  2514. mmxreg,mmxrm \331\3\x0F\x38\x00\110 SSSE3,MMX,SM
  2515. xmmreg,xmmrm \361\3\x0F\x38\x00\110 SSSE3,SM
  2516. [PSIGNB]
  2517. (Ch_All, Ch_None, Ch_None)
  2518. mmxreg,mmxrm \331\3\x0F\x38\x08\110 SSSE3,MMX,SM
  2519. xmmreg,xmmrm \361\3\x0F\x38\x08\110 SSSE3,SM
  2520. [PSIGNW]
  2521. (Ch_All, Ch_None, Ch_None)
  2522. mmxreg,mmxrm \331\3\x0F\x38\x09\110 SSSE3,MMX,SM
  2523. xmmreg,xmmrm \361\3\x0F\x38\x09\110 SSSE3,SM
  2524. [PSIGND]
  2525. (Ch_All, Ch_None, Ch_None)
  2526. mmxreg,mmxrm \331\3\x0F\x38\x0A\110 SSSE3,MMX,SM
  2527. xmmreg,xmmrm \361\3\x0F\x38\x0A\110 SSSE3,SM
  2528. ;*******************************************************************************
  2529. ;**********SSE4.1***************************************************************
  2530. ;*******************************************************************************
  2531. [BLENDPS]
  2532. (Ch_All, Ch_None, Ch_None)
  2533. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0C\110\26 SSE41,SM2,SB,AR2
  2534. [BLENDPD]
  2535. (Ch_All, Ch_None, Ch_None)
  2536. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0D\110\26 SSE41,SM2,SB,AR2
  2537. [BLENDVPS]
  2538. (Ch_All, Ch_None, Ch_None)
  2539. xmmreg,xmmrm \361\3\x0F\x38\x14\110 SSE41,SM
  2540. [BLENDVPD]
  2541. (Ch_All, Ch_None, Ch_None)
  2542. xmmreg,xmmrm \361\3\x0F\x38\x15\110 SSE41,SM
  2543. [DPPS]
  2544. (Ch_All, Ch_None, Ch_None)
  2545. xmmreg,xmmrm,imm \361\3\x0F\x3A\x40\110\26 SSE41,SM2,SB,AR2
  2546. [DPPD]
  2547. (Ch_All, Ch_None, Ch_None)
  2548. xmmreg,xmmrm,imm \361\3\x0F\x3A\x41\110\26 SSE41,SM2,SB,AR2
  2549. [EXTRACTPS]
  2550. (Ch_All, Ch_None, Ch_None)
  2551. mem,xmmreg,imm \361\325\3\x0F\x3A\x17\101\26 SSE41,SB,AR2
  2552. reg32|64,xmmreg,imm \361\3\x0F\x3A\x17\101\26 SSE41,SB,AR2
  2553. [INSERTPS]
  2554. (Ch_All, Ch_None, Ch_None)
  2555. xmmreg,xmmrm,imm \361\3\x0F\x3A\x21\110\26 SSE41,SM2,SB,AR2
  2556. [MOVNTDQA]
  2557. (Ch_All, Ch_None, Ch_None)
  2558. xmmreg,mem \361\3\x0F\x38\x2A\110 SSE41,SM
  2559. [MPSADBW]
  2560. (Ch_All, Ch_None, Ch_None)
  2561. xmmreg,xmmrm,imm \361\3\x0F\x3A\x42\110\26 SSE41,SM2,SB,AR2
  2562. [PACKUSDW]
  2563. (Ch_All, Ch_None, Ch_None)
  2564. xmmreg,xmmrm \361\3\x0F\x38\x2B\110 SSE41,SM
  2565. [PBLENDVB]
  2566. (Ch_All, Ch_None, Ch_None)
  2567. xmmreg,xmmrm \361\3\x0F\x38\x10\110 SSE41,SM
  2568. [PBLENDW]
  2569. (Ch_All, Ch_None, Ch_None)
  2570. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0E\110\26 SSE41,SM2,SB,AR2
  2571. [PCMPEQQ]
  2572. (Ch_All, Ch_None, Ch_None)
  2573. xmmreg,xmmrm \361\3\x0F\x38\x29\110 SSE41,SM
  2574. [PEXTRB]
  2575. (Ch_All, Ch_None, Ch_None)
  2576. reg32|64,xmmreg,imm \361\3\x0F\x3A\x14\101\26 SSE41,SB,AR2
  2577. mem8,xmmreg,imm \361\3\x0F\x3A\x14\101\26 SSE41,SB,AR2
  2578. ;PEXTRW - Look is prev. implementation
  2579. [PEXTRD]
  2580. (Ch_All, Ch_None, Ch_None)
  2581. reg32,xmmreg,imm \361\3\x0F\x3A\x16\101\26 SSE41,SB,AR2
  2582. mem32,xmmreg,imm \361\3\x0F\x3A\x16\101\26 SSE41,SB,AR2
  2583. [PEXTRQ]
  2584. (Ch_All, Ch_None, Ch_None)
  2585. reg64,xmmreg,imm \361\326\3\x0F\x3A\x16\101\26 SSE41,X86_64,SB,AR2
  2586. mem64,xmmreg,imm \361\326\3\x0F\x3A\x16\101\26 SSE41,X86_64,SB,AR2
  2587. [PHMINPOSUW]
  2588. (Ch_All, Ch_None, Ch_None)
  2589. xmmreg,xmmrm \361\3\x0F\x38\x41\110 SSE41,SM
  2590. [PINSRB]
  2591. (Ch_All, Ch_None, Ch_None)
  2592. xmmreg,reg32|64,imm \361\3\x0F\x3A\x20\110\26 SSE41,SB,AR2
  2593. xmmreg,mem8,imm \361\3\x0F\x3A\x20\110\26 SSE41,SB,AR2
  2594. [PINSRD]
  2595. (Ch_All, Ch_None, Ch_None)
  2596. xmmreg,reg32,imm \361\3\x0F\x3A\x22\110\26 SSE41,SB,AR2
  2597. xmmreg,mem32,imm \361\3\x0F\x3A\x22\110\26 SSE41,SB,AR2
  2598. [PINSRQ]
  2599. (Ch_All, Ch_None, Ch_None)
  2600. xmmreg,reg64,imm \361\326\3\x0F\x3A\x22\110\26 SSE41,X86_64,SB,AR2
  2601. xmmreg,mem64,imm \361\326\3\x0F\x3A\x22\110\26 SSE41,X86_64,SB,AR2
  2602. [PMAXSB]
  2603. (Ch_All, Ch_None, Ch_None)
  2604. xmmreg,xmmrm \361\3\x0F\x38\x3C\110 SSE41,SM
  2605. [PMAXSD]
  2606. (Ch_All, Ch_None, Ch_None)
  2607. xmmreg,xmmrm \361\3\x0F\x38\x3D\110 SSE41,SM
  2608. [PMAXUD]
  2609. (Ch_All, Ch_None, Ch_None)
  2610. xmmreg,xmmrm \361\3\x0F\x38\x3F\110 SSE41,SM
  2611. [PMAXUW]
  2612. (Ch_All, Ch_None, Ch_None)
  2613. xmmreg,xmmrm \361\3\x0F\x38\x3E\110 SSE41,SM
  2614. [PMINSB]
  2615. (Ch_All, Ch_None, Ch_None)
  2616. xmmreg,xmmrm \361\3\x0F\x38\x38\110 SSE41,SM
  2617. [PMINSD]
  2618. (Ch_All, Ch_None, Ch_None)
  2619. xmmreg,xmmrm \361\3\x0F\x38\x39\110 SSE41,SM
  2620. [PMINUW]
  2621. (Ch_All, Ch_None, Ch_None)
  2622. xmmreg,xmmrm \361\3\x0F\x38\x3A\110 SSE41,SM
  2623. [PMINUD]
  2624. (Ch_All, Ch_None, Ch_None)
  2625. xmmreg,xmmrm \361\3\x0F\x38\x3B\110 SSE41,SM
  2626. [PMOVSXBW]
  2627. (Ch_All, Ch_None, Ch_None)
  2628. xmmreg,xmmrm \361\3\x0F\x38\x20\110 SSE41,SM
  2629. [PMOVSXBD]
  2630. (Ch_All, Ch_None, Ch_None)
  2631. xmmreg,xmmrm \361\3\x0F\x38\x21\110 SSE41,SM
  2632. [PMOVSXBQ]
  2633. (Ch_All, Ch_None, Ch_None)
  2634. xmmreg,xmmrm \361\3\x0F\x38\x22\110 SSE41,SM
  2635. [PMOVSXWD]
  2636. (Ch_All, Ch_None, Ch_None)
  2637. xmmreg,xmmrm \361\3\x0F\x38\x23\110 SSE41,SM
  2638. [PMOVSXWQ]
  2639. (Ch_All, Ch_None, Ch_None)
  2640. xmmreg,xmmrm \361\3\x0F\x38\x24\110 SSE41,SM
  2641. [PMOVSXDQ]
  2642. (Ch_All, Ch_None, Ch_None)
  2643. xmmreg,xmmrm \361\3\x0F\x38\x25\110 SSE41,SM
  2644. [PMOVZXBW]
  2645. (Ch_All, Ch_None, Ch_None)
  2646. xmmreg,xmmrm \361\3\x0F\x38\x30\110 SSE41,SM
  2647. [PMOVZXBD]
  2648. (Ch_All, Ch_None, Ch_None)
  2649. xmmreg,xmmrm \361\3\x0F\x38\x31\110 SSE41,SM
  2650. [PMOVZXBQ]
  2651. (Ch_All, Ch_None, Ch_None)
  2652. xmmreg,xmmrm \361\3\x0F\x38\x32\110 SSE41,SM
  2653. [PMOVZXWD]
  2654. (Ch_All, Ch_None, Ch_None)
  2655. xmmreg,xmmrm \361\3\x0F\x38\x33\110 SSE41,SM
  2656. [PMOVZXWQ]
  2657. (Ch_All, Ch_None, Ch_None)
  2658. xmmreg,xmmrm \361\3\x0F\x38\x34\110 SSE41,SM
  2659. [PMOVZXDQ]
  2660. (Ch_All, Ch_None, Ch_None)
  2661. xmmreg,xmmrm \361\3\x0F\x38\x35\110 SSE41,SM
  2662. [PMULDQ]
  2663. (Ch_All, Ch_None, Ch_None)
  2664. xmmreg,xmmrm \361\3\x0F\x38\x28\110 SSE41,SM
  2665. [PMULLD]
  2666. (Ch_All, Ch_None, Ch_None)
  2667. xmmreg,xmmrm \361\3\x0F\x38\x40\110 SSE41,SM
  2668. [PTEST]
  2669. (Ch_All, Ch_None, Ch_None)
  2670. xmmreg,xmmrm \361\3\x0F\x38\x17\110 SSE41,SM
  2671. [ROUNDPS]
  2672. (Ch_All, Ch_None, Ch_None)
  2673. xmmreg,xmmrm,imm \361\3\x0F\x3A\x08\110\26 SSE41,SM2,SB,AR2
  2674. [ROUNDPD]
  2675. (Ch_All, Ch_None, Ch_None)
  2676. xmmreg,xmmrm,imm \361\3\x0F\x3A\x09\110\26 SSE41,SM2,SB,AR2
  2677. [ROUNDSS]
  2678. (Ch_All, Ch_None, Ch_None)
  2679. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0A\110\26 SSE41,SM2,SB,AR2
  2680. [ROUNDSD]
  2681. (Ch_All, Ch_None, Ch_None)
  2682. xmmreg,xmmrm,imm \361\3\x0F\x3A\x0B\110\26 SSE41,SM2,SB,AR2
  2683. ;*******************************************************************************
  2684. ;**********SSE4.2***************************************************************
  2685. ;*******************************************************************************
  2686. [CRC32,crc32X]
  2687. (Ch_Mop1, Ch_Rop2, Ch_None)
  2688. reg32,rm8 \334\3\x0F\x38\xF0\110 SSE42
  2689. reg32,rm16|32 \321\334\3\x0F\x38\xF1\110 SSE42
  2690. reg64,rm8 \334\326\3\x0F\x38\xF0\110 SSE42,X86_64
  2691. reg64,rm64 \334\326\3\x0F\x38\xF1\110 SSE42,X86_64
  2692. [PCMPESTRI]
  2693. (Ch_All, Ch_None, Ch_None)
  2694. xmmreg,xmmrm,imm \361\3\x0F\x3A\x61\110\26 SSE42,SM2,SB,AR2
  2695. [PCMPESTRM]
  2696. (Ch_All, Ch_None, Ch_None)
  2697. xmmreg,xmmrm,imm \361\3\x0F\x3A\x60\110\26 SSE42,SM2,SB,AR2
  2698. [PCMPISTRI]
  2699. (Ch_All, Ch_None, Ch_None)
  2700. xmmreg,xmmrm,imm \361\3\x0F\x3A\x63\110\26 SSE42,SM2,SB,AR2
  2701. [PCMPISTRM]
  2702. (Ch_All, Ch_None, Ch_None)
  2703. xmmreg,xmmrm,imm \361\3\x0F\x3A\x62\110\26 SSE42,SM2,SB,AR2
  2704. [PCMPGTQ]
  2705. (Ch_All, Ch_None, Ch_None)
  2706. xmmreg,xmmrm \361\3\x0F\x38\x37\110 SSE42,SM
  2707. [POPCNT,popcntX]
  2708. (Ch_All, Ch_None, Ch_None)
  2709. reg16,rm16 \333\320\2\x0F\xB8\110 386,SM,SSE4
  2710. reg32,rm32 \333\320\2\x0F\xB8\110 386,SM,SSE4
  2711. reg64,rm64 \333\320\2\x0F\xB8\110 386,SM,SSE4,X86_64
  2712. ;*******************************************************************************
  2713. ;**********AES******************************************************************
  2714. ;*******************************************************************************
  2715. ;Use SSE4, but need special flag for AES insructions set
  2716. [AESENC]
  2717. (Ch_All, Ch_None, Ch_None)
  2718. xmmreg,xmmrm \361\3\x0F\x38\xDC\110 SSE4,SM
  2719. [AESENCLAST]
  2720. (Ch_All, Ch_None, Ch_None)
  2721. xmmreg,xmmrm \361\3\x0F\x38\xDD\110 SSE4,SM
  2722. [AESDEC]
  2723. (Ch_All, Ch_None, Ch_None)
  2724. xmmreg,xmmrm \361\3\x0F\x38\xDE\110 SSE4,SM
  2725. [AESDECLAST]
  2726. (Ch_All, Ch_None, Ch_None)
  2727. xmmreg,xmmrm \361\3\x0F\x38\xDF\110 SSE4,SM
  2728. [AESIMC]
  2729. (Ch_All, Ch_None, Ch_None)
  2730. xmmreg,xmmrm \361\3\x0F\x38\xDB\110 SSE4,SM
  2731. [AESKEYGENASSIST]
  2732. (Ch_All, Ch_None, Ch_None)
  2733. xmmreg,xmmrm,imm \361\3\x0F\x3A\xDF\110\26 SSE4,SB,AR2
  2734. ;*******************************************************************************
  2735. ;*******************************************************************************
  2736. ;*******************************************************************************
  2737. [STOSQ]
  2738. (Ch_RRAX, Ch_WMemEDI, Ch_RWRDI)
  2739. void \326\1\xAB X86_64
  2740. [LODSQ]
  2741. (Ch_WRAX, Ch_RWRSI, Ch_None)
  2742. void \326\1\xAD X86_64
  2743. [CMPSQ]
  2744. (Ch_All, Ch_None, Ch_None)
  2745. void \326\1\xA7 X86_64