asmjit_test_opcode.h 191 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043
  1. // [AsmJit]
  2. // Machine Code Generation for C++.
  3. //
  4. // [License]
  5. // Zlib - See LICENSE.md file in the package.
  6. #ifndef _ASMJIT_TEST_OPCODE_H
  7. #define _ASMJIT_TEST_OPCODE_H
  8. #include "./asmjit.h"
  9. namespace asmtest {
  10. // Generate all instructions asmjit can emit.
  11. static void generateOpcodes(asmjit::x86::Emitter* e, bool useRex1 = false, bool useRex2 = false) {
  12. using namespace asmjit;
  13. using namespace asmjit::x86;
  14. bool isX64 = e->is64Bit();
  15. // Prevent a crash when the generated function is called to see the disassembly.
  16. e->ret();
  17. // All instructions use the following register that can be changed to see if
  18. // `x86::Assembler` can properly encode all possible combinations. If the given
  19. // `useRexRegs` argument is true the `A` version will in most cases contain
  20. // a register having index 8 or greater to force REX prefix.
  21. Gp gLoA = useRex1 ? r8b : al;
  22. Gp gLoB = useRex2 ? r9b : bl;
  23. Gp gHiA = ah;
  24. Gp gHiB = bh;
  25. Gp gwA = useRex1 ? r8w : ax;
  26. Gp gwB = useRex2 ? r9w : bx;
  27. Gp gdA = useRex1 ? r8d : eax;
  28. Gp gdB = useRex2 ? r9d : ebx;
  29. Gp gdC = useRex2 ? r10d : ecx;
  30. Gp gzA = useRex1 ? r8 : e->zax();
  31. Gp gzB = useRex2 ? r9 : e->zbx();
  32. Gp gzC = useRex2 ? r10 : e->zcx();
  33. Gp gzD = useRex2 ? r11 : e->zdx();
  34. KReg kA = k1;
  35. KReg kB = k2;
  36. KReg kC = k3;
  37. Mem anyptr_gpA = ptr(gzA);
  38. Mem anyptr_gpB = ptr(gzB);
  39. Mem anyptr_gpC = ptr(gzC);
  40. Mem anyptr_gpD = ptr(gzD);
  41. Mem intptr_gpA = e->intptr_ptr(gzA);
  42. Mem intptr_gpB = e->intptr_ptr(gzB);
  43. St stA = st0;
  44. St stB = st7;
  45. Mm mmA = mm0;
  46. Mm mmB = mm1;
  47. Xmm xmmA = useRex1 ? xmm8 : xmm0;
  48. Xmm xmmB = useRex2 ? xmm9 : xmm1;
  49. Xmm xmmC = useRex2 ? xmm10 : xmm2;
  50. Xmm xmmD = useRex2 ? xmm11 : xmm3;
  51. Ymm ymmA = useRex1 ? ymm8 : ymm0;
  52. Ymm ymmB = useRex2 ? ymm9 : ymm1;
  53. Ymm ymmC = useRex2 ? ymm10 : ymm2;
  54. Ymm ymmD = useRex2 ? ymm11 : ymm3;
  55. Zmm zmmA = useRex1 ? zmm8 : zmm0;
  56. Zmm zmmB = useRex2 ? zmm9 : zmm1;
  57. Zmm zmmC = useRex2 ? zmm10 : zmm2;
  58. Zmm zmmD = useRex2 ? zmm11 : zmm3;
  59. Mem vx_ptr = ptr(gzB, xmmB);
  60. Mem vy_ptr = ptr(gzB, ymmB);
  61. Mem vz_ptr = ptr(gzB, zmmB);
  62. Label L;
  63. // Base.
  64. e->adc(gLoA, 1);
  65. e->adc(gLoB, 1);
  66. e->adc(gHiA, 1);
  67. e->adc(gHiB, 1);
  68. e->adc(gwA, 1);
  69. e->adc(gwB, 1);
  70. e->adc(gdA, 1);
  71. e->adc(gdB, 1);
  72. e->adc(gzA, 1);
  73. e->adc(gzA, gzB);
  74. e->adc(gzA, intptr_gpB);
  75. e->adc(intptr_gpA, 1);
  76. e->adc(intptr_gpA, gzB);
  77. e->add(gLoA, 1);
  78. e->add(gLoB, 1);
  79. e->add(gHiA, 1);
  80. e->add(gHiB, 1);
  81. e->add(gwA, 1);
  82. e->add(gwB, 1);
  83. e->add(gdA, 1);
  84. e->add(gdB, 1);
  85. e->add(gzA, 1);
  86. e->add(gzA, gzB);
  87. e->add(gzA, intptr_gpB);
  88. e->add(intptr_gpA, 1);
  89. e->add(intptr_gpA, gzB);
  90. e->and_(gLoA, 1);
  91. e->and_(gLoB, 1);
  92. e->and_(gHiA, 1);
  93. e->and_(gHiB, 1);
  94. e->and_(gwA, 1);
  95. e->and_(gwB, 1);
  96. e->and_(gdA, 1);
  97. e->and_(gdB, 1);
  98. e->and_(gzA, 1);
  99. e->and_(gzA, gzB);
  100. e->and_(gzA, intptr_gpB);
  101. e->and_(intptr_gpA, 1);
  102. e->and_(intptr_gpA, gzB);
  103. e->bswap(gzA);
  104. e->bt(gdA, 1);
  105. e->bt(gzA, 1);
  106. e->bt(gdA, gdB);
  107. e->bt(gzA, gzB);
  108. e->bt(intptr_gpA, 1);
  109. e->bt(anyptr_gpA, gdB);
  110. e->bt(intptr_gpA, gzB);
  111. e->btc(gdA, 1);
  112. e->btc(gzA, 1);
  113. e->btc(gdA, gdB);
  114. e->btc(gzA, gzB);
  115. e->btc(intptr_gpA, 1);
  116. e->btc(anyptr_gpA, gdB);
  117. e->btc(intptr_gpA, gzB);
  118. e->btr(gdA, 1);
  119. e->btr(gzA, 1);
  120. e->btr(gdA, gdB);
  121. e->btr(gzA, gzB);
  122. e->btr(intptr_gpA, 1);
  123. e->btr(anyptr_gpA, gdB);
  124. e->btr(intptr_gpA, gzB);
  125. e->bts(gdA, 1);
  126. e->bts(gzA, 1);
  127. e->bts(gdA, gdB);
  128. e->bts(gzA, gzB);
  129. e->bts(intptr_gpA, 1);
  130. e->bts(anyptr_gpA, gdB);
  131. e->bts(intptr_gpA, gzB);
  132. e->call(gzA);
  133. e->call(intptr_gpA);
  134. e->cbw(); // Implicit AX <- Sign Extend AL.
  135. e->cbw(ax); // Explicit AX <- Sign Extend AL.
  136. e->cdq(); // Implicit EDX:EAX <- Sign Extend EAX.
  137. e->cdq(edx, eax); // Explicit EDX:EAX <- Sign Extend EAX.
  138. if (isX64) e->cdqe(); // Implicit RAX <- Sign Extend EAX.
  139. if (isX64) e->cdqe(eax); // Explicit RAX <- Sign Extend EAX.
  140. e->cwd(); // Implicit DX:AX <- Sign Extend AX.
  141. e->cwd(dx, ax); // Explicit DX:AX <- Sign Extend AX.
  142. e->cwde(); // Implicit EAX <- Sign Extend AX.
  143. e->cwde(eax); // Explicit EAX <- Sign Extend AX.
  144. if (isX64) e->cqo(); // Implicit RDX:RAX <- Sign Extend RAX.
  145. if (isX64) e->cqo(rdx, rax); // Explicit RDX:RAX <- Sign Extend RAX.
  146. e->clc();
  147. e->cld();
  148. e->cmc();
  149. e->cmp(gLoA, 1);
  150. e->cmp(gLoB, 1);
  151. e->cmp(gHiA, 1);
  152. e->cmp(gHiB, 1);
  153. e->cmp(gwA, 1);
  154. e->cmp(gwB, 1);
  155. e->cmp(gdA, 1);
  156. e->cmp(gdB, 1);
  157. e->cmp(gzA, 1);
  158. e->cmp(gLoA, gLoB);
  159. e->cmp(gHiA, gHiB);
  160. e->cmp(gwA, gwB);
  161. e->cmp(gdA, gdB);
  162. e->cmp(gzA, gzB);
  163. e->cmp(gdA, anyptr_gpB);
  164. e->cmp(gzA, intptr_gpB);
  165. e->cmp(intptr_gpA, 1);
  166. e->cmp(anyptr_gpA, gdB);
  167. e->cmp(intptr_gpA, gzB);
  168. e->cmpxchg(gdA, gdB); // Implicit regA, regB, <EAX>
  169. e->cmpxchg(gzA, gzB); // Implicit regA, regB, <ZAX>
  170. e->cmpxchg(gdA, gdB, eax); // Explicit regA, regB, <EAX>
  171. e->cmpxchg(gzA, gzB, e->zax()); // Explicit regA, regB, <ZAX>
  172. e->cmpxchg(anyptr_gpA, gdB); // Implicit mem , regB, <EAX>
  173. e->cmpxchg(anyptr_gpA, gzB); // Implicit mem , regB, <ZAX>
  174. e->cmpxchg(anyptr_gpA, gdB, eax); // Explicit mem , regB, <EAX>
  175. e->cmpxchg(anyptr_gpA, gzB, e->zax()); // Explicit mem , regB, <ZAX>
  176. e->cmpxchg8b(anyptr_gpA); // Implicit mem , <EDX>, <EAX>, <ECX>, <EBX>
  177. e->cmpxchg8b(anyptr_gpA,
  178. x86::edx, x86::eax,
  179. x86::ecx, x86::ebx); // Explicit mem , <EDX>, <EAX>, <ECX>, <EBX>
  180. if (isX64) e->cmpxchg16b(anyptr_gpA); // Implicit mem , <RDX>, <RAX>, <RCX>, <RBX>
  181. if (isX64) e->cmpxchg16b(anyptr_gpA,
  182. x86::rdx, x86::rax,
  183. x86::rcx, x86::rbx); // Explicit mem , <EDX>, <EAX>, <ECX>, <EBX>
  184. e->cpuid(); // Implicit <EAX>, <EBX>, <ECX>, <EDX>
  185. e->cpuid(eax, ebx, ecx, edx); // Explicit <EAX>, <EBX>, <ECX>, <EDX>
  186. e->crc32(gdA, byte_ptr(gzB));
  187. e->crc32(gdA, word_ptr(gzB));
  188. e->crc32(gdA, dword_ptr(gzB));
  189. if (isX64) e->crc32(gdA, qword_ptr(gzB));
  190. if (isX64) e->crc32(gzA, qword_ptr(gzB));
  191. e->dec(gLoA);
  192. e->dec(gHiA);
  193. e->dec(gwA);
  194. e->dec(gdA);
  195. e->dec(gzA);
  196. e->dec(intptr_gpA);
  197. e->inc(gLoA);
  198. e->inc(gwA);
  199. e->inc(gdA);
  200. e->inc(gzA);
  201. e->inc(intptr_gpA);
  202. e->int_(13);
  203. e->int3();
  204. e->into();
  205. e->lea(gzA, intptr_gpB);
  206. e->mov(gLoA, 1);
  207. e->mov(gHiA, 1);
  208. e->mov(gwA, 1);
  209. e->mov(gdA, 1);
  210. e->mov(gzA, 1);
  211. e->mov(gLoA, gLoB);
  212. e->mov(gHiA, gHiB);
  213. e->mov(gwA, gwB);
  214. e->mov(gdA, gdB);
  215. e->mov(gzA, gzB);
  216. e->mov(gLoA, anyptr_gpB);
  217. e->mov(gwA, anyptr_gpB);
  218. e->mov(gdA, anyptr_gpB);
  219. e->mov(gzA, intptr_gpB);
  220. e->mov(anyptr_gpA, gLoB);
  221. e->mov(anyptr_gpA, gwB);
  222. e->mov(anyptr_gpA, gdB);
  223. e->mov(intptr_gpA, 1);
  224. e->mov(intptr_gpA, gzB);
  225. e->movsx(gzA, gLoB);
  226. e->movsx(gzA, byte_ptr(gzB));
  227. e->movzx(gzA, gLoB);
  228. e->movzx(gzA, byte_ptr(gzB));
  229. e->movbe(gzA, anyptr_gpB);
  230. e->movbe(anyptr_gpA, gzB);
  231. e->neg(gzA);
  232. e->neg(intptr_gpA);
  233. e->nop();
  234. e->not_(gzA);
  235. e->not_(intptr_gpA);
  236. e->or_(gLoA, 1);
  237. e->or_(gLoB, 1);
  238. e->or_(gHiA, 1);
  239. e->or_(gHiB, 1);
  240. e->or_(gwA, 1);
  241. e->or_(gwB, 1);
  242. e->or_(gdA, 1);
  243. e->or_(gdB, 1);
  244. e->or_(gzA, 1);
  245. e->or_(gzA, gzB);
  246. e->or_(gzA, intptr_gpB);
  247. e->or_(intptr_gpA, 1);
  248. e->or_(intptr_gpA, gzB);
  249. e->pop(gzA);
  250. e->pop(intptr_gpA);
  251. if (!isX64) e->popa();
  252. if (!isX64) e->popad();
  253. e->popf();
  254. if (!isX64) e->popfd();
  255. if ( isX64) e->popfq();
  256. e->push(gzA);
  257. e->push(intptr_gpA);
  258. e->push(0);
  259. if (!isX64) e->pusha();
  260. if (!isX64) e->pushad();
  261. e->pushf();
  262. if (!isX64) e->pushfd();
  263. if ( isX64) e->pushfq();
  264. e->rcl(gdA, 0);
  265. e->rcl(gzA, 0);
  266. e->rcl(gdA, 1);
  267. e->rcl(gzA, 1);
  268. e->rcl(gdA, cl);
  269. e->rcl(gzA, cl);
  270. e->rcl(intptr_gpA, 0);
  271. e->rcl(intptr_gpA, 1);
  272. e->rcl(intptr_gpA, cl);
  273. e->rcr(gdA, 0);
  274. e->rcr(gzA, 0);
  275. e->rcr(gdA, 1);
  276. e->rcr(gzA, 1);
  277. e->rcr(gdA, cl);
  278. e->rcr(gzA, cl);
  279. e->rcr(intptr_gpA, 0);
  280. e->rcr(intptr_gpA, 1);
  281. e->rcr(intptr_gpA, cl);
  282. e->rdtsc(); // Implicit <EDX:EAX>
  283. e->rdtsc(edx, eax); // Explicit <EDX:EAX>
  284. e->rdtscp(); // Implicit <EDX:EAX>, <ECX>
  285. e->rdtscp(edx, eax, ecx); // Implicit <EDX:EAX>, <ECX>
  286. e->ret();
  287. e->ret(0);
  288. e->rol(gdA, 0);
  289. e->rol(gzA, 0);
  290. e->rol(gdA, 1);
  291. e->rol(gzA, 1);
  292. e->rol(gdA, cl);
  293. e->rol(gzA, cl);
  294. e->rol(intptr_gpA, 0);
  295. e->rol(intptr_gpA, 1);
  296. e->rol(intptr_gpA, cl);
  297. e->ror(gdA, 0);
  298. e->ror(gzA, 0);
  299. e->ror(gdA, 1);
  300. e->ror(gzA, 1);
  301. e->ror(gdA, cl);
  302. e->ror(gzA, cl);
  303. e->ror(intptr_gpA, 0);
  304. e->ror(intptr_gpA, 1);
  305. e->ror(intptr_gpA, cl);
  306. e->sbb(gLoA, 1);
  307. e->sbb(gLoB, 1);
  308. e->sbb(gHiA, 1);
  309. e->sbb(gHiB, 1);
  310. e->sbb(gwA, 1);
  311. e->sbb(gwB, 1);
  312. e->sbb(gdA, 1);
  313. e->sbb(gdB, 1);
  314. e->sbb(gzA, 1);
  315. e->sbb(gzA, gzB);
  316. e->sbb(gzA, intptr_gpB);
  317. e->sbb(intptr_gpA, 1);
  318. e->sbb(intptr_gpA, gzB);
  319. e->sal(gdA, 0);
  320. e->sal(gzA, 0);
  321. e->sal(gdA, 1);
  322. e->sal(gzA, 1);
  323. e->sal(gdA, cl);
  324. e->sal(gzA, cl);
  325. e->sal(intptr_gpA, 0);
  326. e->sal(intptr_gpA, 1);
  327. e->sal(intptr_gpA, cl);
  328. e->sar(gdA, 0);
  329. e->sar(gzA, 0);
  330. e->sar(gdA, 1);
  331. e->sar(gzA, 1);
  332. e->sar(gdA, cl);
  333. e->sar(gzA, cl);
  334. e->sar(intptr_gpA, 0);
  335. e->sar(intptr_gpA, 1);
  336. e->sar(intptr_gpA, cl);
  337. e->shl(gdA, 0);
  338. e->shl(gzA, 0);
  339. e->shl(gdA, 1);
  340. e->shl(gzA, 1);
  341. e->shl(gdA, cl);
  342. e->shl(gzA, cl);
  343. e->shl(intptr_gpA, 0);
  344. e->shl(intptr_gpA, 1);
  345. e->shl(intptr_gpA, cl);
  346. e->shr(gdA, 0);
  347. e->shr(gzA, 0);
  348. e->shr(gdA, 1);
  349. e->shr(gzA, 1);
  350. e->shr(gdA, cl);
  351. e->shr(gzA, cl);
  352. e->shr(intptr_gpA, 0);
  353. e->shr(intptr_gpA, 1);
  354. e->shr(intptr_gpA, cl);
  355. e->shld(gdA, gdB, 0);
  356. e->shld(gzA, gzB, 0);
  357. e->shld(gdA, gdB, cl);
  358. e->shld(gzA, gzB, cl);
  359. e->shld(anyptr_gpA, gdB, 0);
  360. e->shld(intptr_gpA, gzB, 0);
  361. e->shld(anyptr_gpA, gdB, cl);
  362. e->shld(intptr_gpA, gzB, cl);
  363. e->shrd(gdA, gdB, 0);
  364. e->shrd(gzA, gzB, 0);
  365. e->shrd(gdA, gdB, cl);
  366. e->shrd(gzA, gzB, cl);
  367. e->shrd(anyptr_gpA, gdB, 0);
  368. e->shrd(intptr_gpA, gzB, 0);
  369. e->shrd(anyptr_gpA, gdB, cl);
  370. e->shrd(intptr_gpA, gzB, cl);
  371. e->stc();
  372. e->std();
  373. e->sti();
  374. e->sub(gLoA, 1);
  375. e->sub(gLoB, 1);
  376. e->sub(gHiA, 1);
  377. e->sub(gHiB, 1);
  378. e->sub(gwA, 1);
  379. e->sub(gwB, 1);
  380. e->sub(gdA, 1);
  381. e->sub(gdB, 1);
  382. e->sub(gzA, 1);
  383. e->sub(gzA, gzB);
  384. e->sub(gzA, intptr_gpB);
  385. e->sub(intptr_gpA, 1);
  386. e->sub(intptr_gpA, gzB);
  387. e->swapgs();
  388. e->test(gzA, 1);
  389. e->test(gzA, gzB);
  390. e->test(intptr_gpA, 1);
  391. e->test(intptr_gpA, gzB);
  392. e->ud2();
  393. e->xadd(gzA, gzB);
  394. e->xadd(intptr_gpA, gzB);
  395. e->xchg(gzA, gzB);
  396. e->xchg(intptr_gpA, gzB);
  397. e->xchg(gzA, intptr_gpB);
  398. e->xor_(gLoA, 1);
  399. e->xor_(gLoB, 1);
  400. e->xor_(gHiA, 1);
  401. e->xor_(gHiB, 1);
  402. e->xor_(gwA, 1);
  403. e->xor_(gwB, 1);
  404. e->xor_(gdA, 1);
  405. e->xor_(gdB, 1);
  406. e->xor_(gzA, 1);
  407. e->xor_(gzA, gzB);
  408. e->xor_(gzA, intptr_gpB);
  409. e->xor_(intptr_gpA, 1);
  410. e->xor_(intptr_gpA, gzB);
  411. // Special case - div|mul.
  412. e->div(cl); // Implicit AH:AL <- AX * r8
  413. e->div(byte_ptr(gzA)); // Implicit AH:AL <- AX * m8
  414. e->div(ax, cl); // Explicit AH:AL <- AX * r8
  415. e->div(ax, anyptr_gpA); // Explicit AH:AL <- AX * m8
  416. e->div(cx); // Implicit DX:AX <- DX:AX * r16
  417. e->div(word_ptr(gzA)); // Implicit DX:AX <- DX:AX * m16
  418. e->div(dx, ax, cx); // Explicit DX:AX <- DX:AX * r16
  419. e->div(dx, ax, anyptr_gpA); // Explicit DX:AX <- DX:AX * m16
  420. e->div(ecx); // Implicit EDX:EAX <- EDX:EAX * r32
  421. e->div(dword_ptr(gzA)); // Implicit EDX:EAX <- EDX:EAX * m32
  422. e->div(edx, eax, ecx); // Explicit EDX:EAX <- EDX:EAX * r32
  423. e->div(edx, eax, anyptr_gpA); // Explicit EDX:EAX <- EDX:EAX * m32
  424. if (isX64) e->div(rcx); // Implicit RDX|RAX <- RDX:RAX * r64
  425. if (isX64) e->div(qword_ptr(gzA)); // Implicit RDX|RAX <- RDX:RAX * m64
  426. if (isX64) e->div(rdx, rax, rcx); // Explicit RDX|RAX <- RDX:RAX * r64
  427. if (isX64) e->div(rdx, rax, anyptr_gpA); // Explicit RDX|RAX <- RDX:RAX * m64
  428. e->idiv(cl); // Implicit AH:AL <- AX * r8
  429. e->idiv(byte_ptr(gzA)); // Implicit AH:AL <- AX * m8
  430. e->idiv(ax, cl); // Explicit AH:AL <- AX * r8
  431. e->idiv(ax, anyptr_gpA); // Explicit AH:AL <- AX * m8
  432. e->idiv(cx); // Implicit DX:AX <- DX:AX * r16
  433. e->idiv(word_ptr(gzA)); // Implicit DX:AX <- DX:AX * m16
  434. e->idiv(dx, ax, cx); // Explicit DX:AX <- DX:AX * r16
  435. e->idiv(dx, ax, anyptr_gpA); // Explicit DX:AX <- DX:AX * m16
  436. e->idiv(ecx); // Implicit EDX:EAX <- EDX:EAX * r32
  437. e->idiv(dword_ptr(gzA)); // Implicit EDX:EAX <- EDX:EAX * m32
  438. e->idiv(edx, eax, ecx); // Explicit EDX:EAX <- EDX:EAX * r32
  439. e->idiv(edx, eax, anyptr_gpA); // Explicit EDX:EAX <- EDX:EAX * m32
  440. if (isX64) e->idiv(rcx); // Implicit RDX|RAX <- RDX:RAX * r64
  441. if (isX64) e->idiv(qword_ptr(gzA)); // Implicit RDX|RAX <- RDX:RAX * m64
  442. if (isX64) e->idiv(rdx, rax, rcx); // Explicit RDX|RAX <- RDX:RAX * r64
  443. if (isX64) e->idiv(rdx, rax, anyptr_gpA); // Explicit RDX|RAX <- RDX:RAX * m64
  444. e->mul(cl); // Implicit AX <- AL * r8
  445. e->mul(byte_ptr(gzA)); // Implicit AX <- AL * m8
  446. e->mul(ax, cl); // Explicit AX <- AL * r8
  447. e->mul(ax, anyptr_gpA); // Explicit AX <- AL * m8
  448. e->mul(cx); // Implicit DX:AX <- AX * r16
  449. e->mul(word_ptr(gzA)); // Implicit DX:AX <- AX * m16
  450. e->mul(dx, ax, cx); // Explicit DX:AX <- AX * r16
  451. e->mul(dx, ax, anyptr_gpA); // Explicit DX:AX <- AX * m16
  452. e->mul(ecx); // Implicit EDX:EAX <- EAX * r32
  453. e->mul(dword_ptr(gzA)); // Implicit EDX:EAX <- EAX * m32
  454. e->mul(edx, eax, ecx); // Explicit EDX:EAX <- EAX * r32
  455. e->mul(edx, eax, anyptr_gpA); // Explicit EDX:EAX <- EAX * m32
  456. if (isX64) e->mul(rcx); // Implicit RDX|RAX <- RAX * r64
  457. if (isX64) e->mul(qword_ptr(gzA)); // Implicit RDX|RAX <- RAX * m64
  458. if (isX64) e->mul(rdx, rax, rcx); // Explicit RDX|RAX <- RAX * r64
  459. if (isX64) e->mul(rdx, rax, anyptr_gpA); // Explicit RDX|RAX <- RAX * m64
  460. e->imul(gdA);
  461. e->imul(gzA);
  462. e->imul(intptr_gpA);
  463. e->imul(gdA, 1);
  464. e->imul(gzA, 1);
  465. e->imul(gdA, gdB);
  466. e->imul(gzA, gzB);
  467. e->imul(gdA, gdB, 1);
  468. e->imul(gzA, gzB, 1);
  469. e->imul(gdA, anyptr_gpB);
  470. e->imul(gzA, intptr_gpB);
  471. e->imul(gdA, anyptr_gpB, 1);
  472. e->imul(gzA, intptr_gpB, 1);
  473. // Special case - zero-extend 32-bit immediate instead of sign-extend:
  474. if (isX64) e->mov(gzA, uint32_t(0xFEEDFEED));
  475. if (isX64) e->and_(gzA, uint32_t(0xFEEDFEED));
  476. // Special case - mov with absolute 32-bit address.
  477. e->mov(al , ptr(0x01020304u));
  478. e->mov(ax , ptr(0x01020304u));
  479. e->mov(eax, ptr(0x01020304u));
  480. e->mov(ptr(0x01020304u), al );
  481. e->mov(ptr(0x01020304u), ax );
  482. e->mov(ptr(0x01020304u), eax);
  483. // Special case - mov with absolute 64-bit address.
  484. if (isX64) e->mov(al , ptr(0x0102030405060708u));
  485. if (isX64) e->mov(ax , ptr(0x0102030405060708u));
  486. if (isX64) e->mov(eax, ptr(0x0102030405060708u));
  487. if (isX64) e->mov(rax, ptr(0x0102030405060708u));
  488. if (isX64) e->mov(ptr(0x0102030405060708u), al );
  489. if (isX64) e->mov(ptr(0x0102030405060708u), ax );
  490. if (isX64) e->mov(ptr(0x0102030405060708u), eax);
  491. if (isX64) e->mov(ptr(0x0102030405060708u), rax);
  492. // Control registers.
  493. e->nop();
  494. e->mov(gzA, cr0);
  495. e->mov(cr0, gzA);
  496. if (isX64) e->mov(gzA, cr8);
  497. if (isX64) e->mov(cr8, gzA);
  498. // Debug registers.
  499. e->nop();
  500. e->mov(gzA, dr0);
  501. e->mov(dr0, gzA);
  502. // Segment registers.
  503. e->nop();
  504. if (!isX64) e->mov(es, ax);
  505. if (!isX64) e->mov(es, bx);
  506. if (!isX64) e->mov(ax, es);
  507. if (!isX64) e->mov(bx, es);
  508. if (!isX64) e->mov(cs, ax);
  509. if (!isX64) e->mov(cs, bx);
  510. if (!isX64) e->mov(ax, cs);
  511. if (!isX64) e->mov(bx, cs);
  512. if (!isX64) e->mov(ss, ax);
  513. if (!isX64) e->mov(ss, bx);
  514. if (!isX64) e->mov(ax, ss);
  515. if (!isX64) e->mov(bx, ss);
  516. if (!isX64) e->mov(ds, ax);
  517. if (!isX64) e->mov(ds, bx);
  518. if (!isX64) e->mov(ax, ds);
  519. if (!isX64) e->mov(bx, ds);
  520. e->mov(fs, ax);
  521. e->mov(fs, bx);
  522. e->mov(ax, fs);
  523. e->mov(bx, fs);
  524. e->mov(gs, ax);
  525. e->mov(gs, bx);
  526. e->mov(ax, gs);
  527. e->mov(bx, gs);
  528. // Instructions using REP prefix.
  529. e->nop();
  530. e->in(al, 0);
  531. e->in(al, dx);
  532. e->in(ax, 0);
  533. e->in(ax, dx);
  534. e->in(eax, 0);
  535. e->in(eax, dx);
  536. e->rep().ins(byte_ptr(e->zdi()), dx);
  537. e->rep().ins(word_ptr(e->zdi()), dx);
  538. e->rep().ins(dword_ptr(e->zdi()), dx);
  539. e->out(imm(0), al);
  540. e->out(dx, al);
  541. e->out(imm(0), ax);
  542. e->out(dx, ax);
  543. e->out(imm(0), eax);
  544. e->out(dx, eax);
  545. e->rep().outs(dx, byte_ptr(e->zsi()));
  546. e->rep().outs(dx, word_ptr(e->zsi()));
  547. e->rep().outs(dx, dword_ptr(e->zsi()));
  548. e->lodsb();
  549. e->lodsd();
  550. e->lodsw();
  551. e->rep().lodsb();
  552. e->rep().lodsd();
  553. e->rep().lodsw();
  554. if (isX64) e->rep().lodsq();
  555. e->movsb();
  556. e->movsd();
  557. e->movsw();
  558. e->rep().movsb();
  559. e->rep().movsd();
  560. e->rep().movsw();
  561. if (isX64) e->rep().movsq();
  562. e->stosb();
  563. e->stosd();
  564. e->stosw();
  565. e->rep().stosb();
  566. e->rep().stosd();
  567. e->rep().stosw();
  568. if (isX64) e->rep().stosq();
  569. e->cmpsb();
  570. e->cmpsd();
  571. e->cmpsw();
  572. e->repz().cmpsb();
  573. e->repz().cmpsd();
  574. e->repz().cmpsw();
  575. if (isX64) e->repz().cmpsq();
  576. e->repnz().cmpsb();
  577. e->repnz().cmpsd();
  578. e->repnz().cmpsw();
  579. if (isX64) e->repnz().cmpsq();
  580. e->scasb();
  581. e->scasd();
  582. e->scasw();
  583. e->repz().scasb();
  584. e->repz().scasd();
  585. e->repz().scasw();
  586. if (isX64) e->repz().scasq();
  587. e->repnz().scasb();
  588. e->repnz().scasd();
  589. e->repnz().scasw();
  590. if (isX64) e->repnz().scasq();
  591. // Label...Jcc/Jecxz/Jmp.
  592. e->nop();
  593. L = e->newLabel();
  594. e->bind(L);
  595. e->ja(L);
  596. e->jae(L);
  597. e->jb(L);
  598. e->jbe(L);
  599. e->jc(L);
  600. e->je(L);
  601. e->jg(L);
  602. e->jge(L);
  603. e->jl(L);
  604. e->jle(L);
  605. e->jna(L);
  606. e->jnae(L);
  607. e->jnb(L);
  608. e->jnbe(L);
  609. e->jnc(L);
  610. e->jne(L);
  611. e->jng(L);
  612. e->jnge(L);
  613. e->jnl(L);
  614. e->jnle(L);
  615. e->jno(L);
  616. e->jnp(L);
  617. e->jns(L);
  618. e->jnz(L);
  619. e->jo(L);
  620. e->jp(L);
  621. e->jpe(L);
  622. e->jpo(L);
  623. e->js(L);
  624. e->jz(L);
  625. e->jecxz(ecx, L);
  626. e->jmp(L);
  627. // Jcc/Jecxz/Jmp...Label.
  628. e->nop();
  629. L = e->newLabel();
  630. e->ja(L);
  631. e->jae(L);
  632. e->jb(L);
  633. e->jbe(L);
  634. e->jc(L);
  635. e->je(L);
  636. e->jg(L);
  637. e->jge(L);
  638. e->jl(L);
  639. e->jle(L);
  640. e->jna(L);
  641. e->jnae(L);
  642. e->jnb(L);
  643. e->jnbe(L);
  644. e->jnc(L);
  645. e->jne(L);
  646. e->jng(L);
  647. e->jnge(L);
  648. e->jnl(L);
  649. e->jnle(L);
  650. e->jno(L);
  651. e->jnp(L);
  652. e->jns(L);
  653. e->jnz(L);
  654. e->jo(L);
  655. e->jp(L);
  656. e->jpe(L);
  657. e->jpo(L);
  658. e->js(L);
  659. e->jz(L);
  660. e->jecxz(ecx, L);
  661. e->jmp(L);
  662. e->bind(L);
  663. // FPU.
  664. e->nop();
  665. e->f2xm1();
  666. e->fabs();
  667. e->fadd(stA, stB);
  668. e->fadd(stB, stA);
  669. e->fadd(dword_ptr(gzA));
  670. e->fadd(qword_ptr(gzA));
  671. e->faddp(stB);
  672. e->faddp();
  673. e->fbld(dword_ptr(gzA));
  674. e->fbstp(dword_ptr(gzA));
  675. e->fchs();
  676. e->fclex();
  677. e->fcom(stB);
  678. e->fcom();
  679. e->fcom(dword_ptr(gzA));
  680. e->fcom(qword_ptr(gzA));
  681. e->fcomp(stB);
  682. e->fcomp();
  683. e->fcomp(dword_ptr(gzA));
  684. e->fcomp(qword_ptr(gzA));
  685. e->fcompp();
  686. e->fcos();
  687. e->fdecstp();
  688. e->fdiv(stA, stB);
  689. e->fdiv(stB, stA);
  690. e->fdiv(dword_ptr(gzA));
  691. e->fdiv(qword_ptr(gzA));
  692. e->fdivp(stB);
  693. e->fdivp();
  694. e->fdivr(stA, stB);
  695. e->fdivr(stB, stA);
  696. e->fdivr(dword_ptr(gzA));
  697. e->fdivr(qword_ptr(gzA));
  698. e->fdivrp(stB);
  699. e->fdivrp();
  700. e->fiadd(dword_ptr(gzA));
  701. e->ficom(word_ptr(gzA));
  702. e->ficom(dword_ptr(gzA));
  703. e->ficomp(word_ptr(gzA));
  704. e->ficomp(dword_ptr(gzA));
  705. e->fidiv(word_ptr(gzA));
  706. e->fidiv(dword_ptr(gzA));
  707. e->fidivr(word_ptr(gzA));
  708. e->fidivr(dword_ptr(gzA));
  709. e->fild(word_ptr(gzA));
  710. e->fild(dword_ptr(gzA));
  711. e->fild(qword_ptr(gzA));
  712. e->fimul(word_ptr(gzA));
  713. e->fimul(dword_ptr(gzA));
  714. e->fincstp();
  715. e->finit();
  716. e->fninit();
  717. e->fisub(word_ptr(gzA));
  718. e->fisub(dword_ptr(gzA));
  719. e->fisubr(word_ptr(gzA));
  720. e->fisubr(dword_ptr(gzA));
  721. e->fist(word_ptr(gzA));
  722. e->fist(dword_ptr(gzA));
  723. e->fistp(word_ptr(gzA));
  724. e->fistp(dword_ptr(gzA));
  725. e->fistp(qword_ptr(gzA));
  726. e->fld(dword_ptr(gzA));
  727. e->fld(qword_ptr(gzA));
  728. e->fld(tword_ptr(gzA));
  729. e->fld1();
  730. e->fldl2t();
  731. e->fldl2e();
  732. e->fldpi();
  733. e->fldlg2();
  734. e->fldln2();
  735. e->fldz();
  736. e->fldcw(anyptr_gpA);
  737. e->fldenv(anyptr_gpA);
  738. e->fmul(stA, stB);
  739. e->fmul(stB, stA);
  740. e->fmul(dword_ptr(gzA));
  741. e->fmul(qword_ptr(gzA));
  742. e->fmulp(stB);
  743. e->fmulp();
  744. e->fnclex();
  745. e->fnop();
  746. e->fnsave(anyptr_gpA);
  747. e->fnstenv(anyptr_gpA);
  748. e->fnstcw(anyptr_gpA);
  749. e->fpatan();
  750. e->fprem();
  751. e->fprem1();
  752. e->fptan();
  753. e->frndint();
  754. e->frstor(anyptr_gpA);
  755. e->fsave(anyptr_gpA);
  756. e->fscale();
  757. e->fsin();
  758. e->fsincos();
  759. e->fsqrt();
  760. e->fst(dword_ptr(gzA));
  761. e->fst(qword_ptr(gzA));
  762. e->fstp(dword_ptr(gzA));
  763. e->fstp(qword_ptr(gzA));
  764. e->fstp(tword_ptr(gzA));
  765. e->fstcw(anyptr_gpA);
  766. e->fstenv(anyptr_gpA);
  767. e->fsub(stA, stB);
  768. e->fsub(stB, stA);
  769. e->fsub(dword_ptr(gzA));
  770. e->fsub(qword_ptr(gzA));
  771. e->fsubp(stB);
  772. e->fsubp();
  773. e->fsubr(stA, stB);
  774. e->fsubr(stB, stA);
  775. e->fsubr(dword_ptr(gzA));
  776. e->fsubr(qword_ptr(gzA));
  777. e->fsubrp(stB);
  778. e->fsubrp();
  779. e->ftst();
  780. e->fucom(stB);
  781. e->fucom();
  782. e->fucom(stB);
  783. e->fucomi(stB);
  784. e->fucomip(stB);
  785. e->fucomp(stB);
  786. e->fucompp();
  787. e->fxam();
  788. e->fxtract();
  789. e->fyl2x();
  790. e->fyl2xp1();
  791. // LAHF/SAHF
  792. e->lahf(); // Implicit <AH>
  793. e->lahf(ah); // Explicit <AH>
  794. e->sahf(); // Implicit <AH>
  795. e->sahf(ah); // Explicit <AH>
  796. // FXSR.
  797. e->fxrstor(anyptr_gpA);
  798. e->fxsave(anyptr_gpA);
  799. // XSAVE.
  800. e->nop();
  801. e->xgetbv(); // Implicit <EDX:EAX>, <ECX>
  802. e->xgetbv(edx, eax, ecx); // Explicit <EDX:EAX>, <ECX>
  803. e->xsetbv(); // Implicit <EDX:EAX>, <ECX>
  804. e->xsetbv(edx, eax, ecx); // Explicit <EDX:EAX>, <ECX>
  805. e->xrstor(anyptr_gpA); // Implicit <EDX:EAX>
  806. e->xrstors(anyptr_gpA); // Implicit <EDX:EAX>
  807. e->xsave(anyptr_gpA); // Implicit <EDX:EAX>
  808. e->xsavec(anyptr_gpA); // Implicit <EDX:EAX>
  809. e->xsaveopt(anyptr_gpA); // Implicit <EDX:EAX>
  810. e->xsaves(anyptr_gpA); // Implicit <EDX:EAX>
  811. if (isX64) e->xrstor64(anyptr_gpA); // Implicit <EDX:EAX>
  812. if (isX64) e->xrstors64(anyptr_gpA); // Implicit <EDX:EAX>
  813. if (isX64) e->xsave64(anyptr_gpA); // Implicit <EDX:EAX>
  814. if (isX64) e->xsavec64(anyptr_gpA); // Implicit <EDX:EAX>
  815. if (isX64) e->xsaveopt64(anyptr_gpA); // Implicit <EDX:EAX>
  816. if (isX64) e->xsaves64(anyptr_gpA); // Implicit <EDX:EAX>
  817. // POPCNT.
  818. e->nop();
  819. e->popcnt(gdA, gdB);
  820. e->popcnt(gzA, gzB);
  821. e->popcnt(gdA, anyptr_gpB);
  822. e->popcnt(gzA, anyptr_gpB);
  823. // LZCNT.
  824. e->nop();
  825. e->lzcnt(gdA, gdB);
  826. e->lzcnt(gzA, gzB);
  827. e->lzcnt(gdA, anyptr_gpB);
  828. e->lzcnt(gzA, anyptr_gpB);
  829. // BMI.
  830. e->nop();
  831. e->andn(gdA, gdB, gdC);
  832. e->andn(gzA, gzB, gzC);
  833. e->andn(gdA, gdB, anyptr_gpC);
  834. e->andn(gzA, gzB, anyptr_gpC);
  835. e->bextr(gdA, gdB, gdC);
  836. e->bextr(gzA, gzB, gzC);
  837. e->bextr(gdA, anyptr_gpB, gdC);
  838. e->bextr(gzA, anyptr_gpB, gzC);
  839. e->blsi(gdA, gdB);
  840. e->blsi(gzA, gzB);
  841. e->blsi(gdA, anyptr_gpB);
  842. e->blsi(gzA, anyptr_gpB);
  843. e->blsmsk(gdA, gdB);
  844. e->blsmsk(gzA, gzB);
  845. e->blsmsk(gdA, anyptr_gpB);
  846. e->blsmsk(gzA, anyptr_gpB);
  847. e->blsr(gdA, gdB);
  848. e->blsr(gzA, gzB);
  849. e->blsr(gdA, anyptr_gpB);
  850. e->blsr(gzA, anyptr_gpB);
  851. e->tzcnt(gdA, gdB);
  852. e->tzcnt(gzA, gzB);
  853. e->tzcnt(gdA, anyptr_gpB);
  854. e->tzcnt(gzA, anyptr_gpB);
  855. // BMI2.
  856. e->nop();
  857. e->bzhi(gdA, gdB, gdC);
  858. e->bzhi(gzA, gzB, gzC);
  859. e->bzhi(gdA, anyptr_gpB, gdC);
  860. e->bzhi(gzA, anyptr_gpB, gzC);
  861. e->mulx(gdA, gdB, gdC); // Implicit gpA, gpB, gpC, <EDX>
  862. e->mulx(gdA, gdB, gdC, edx); // Explicit gpA, gpB, gpC, <EDX>
  863. e->mulx(gzA, gzB, gzC); // Implicit gpA, gpB, gpC, <EDX|RDX>
  864. e->mulx(gzA, gzB, gzC, e->zdx()); // Explicit gpA, gpB, gpC, <EDX|RDX>
  865. e->mulx(gdA, gdB, anyptr_gpC); // Implicit gpA, gpB, mem, <EDX>
  866. e->mulx(gdA, gdB, anyptr_gpC, edx); // Explicit gpA, gpB, mem, <EDX>
  867. e->mulx(gzA, gzB, anyptr_gpC); // Implicit gpA, gpB, mem, <EDX|RDX>
  868. e->mulx(gzA, gzB, anyptr_gpC, e->zdx()); // Explicit gpA, gpB, mem, <EDX|RDX>
  869. e->pdep(gdA, gdB, gdC);
  870. e->pdep(gzA, gzB, gzC);
  871. e->pdep(gdA, gdB, anyptr_gpC);
  872. e->pdep(gzA, gzB, anyptr_gpC);
  873. e->pext(gdA, gdB, gdC);
  874. e->pext(gzA, gzB, gzC);
  875. e->pext(gdA, gdB, anyptr_gpC);
  876. e->pext(gzA, gzB, anyptr_gpC);
  877. e->rorx(gdA, gdB, 0);
  878. e->rorx(gzA, gzB, 0);
  879. e->rorx(gdA, anyptr_gpB, 0);
  880. e->rorx(gzA, anyptr_gpB, 0);
  881. e->sarx(gdA, gdB, gdC);
  882. e->sarx(gzA, gzB, gzC);
  883. e->sarx(gdA, anyptr_gpB, gdC);
  884. e->sarx(gzA, anyptr_gpB, gzC);
  885. e->shlx(gdA, gdB, gdC);
  886. e->shlx(gzA, gzB, gzC);
  887. e->shlx(gdA, anyptr_gpB, gdC);
  888. e->shlx(gzA, anyptr_gpB, gzC);
  889. e->shrx(gdA, gdB, gdC);
  890. e->shrx(gzA, gzB, gzC);
  891. e->shrx(gdA, anyptr_gpB, gdC);
  892. e->shrx(gzA, anyptr_gpB, gzC);
  893. // ADX.
  894. e->nop();
  895. e->adcx(gdA, gdB);
  896. e->adcx(gzA, gzB);
  897. e->adcx(gdA, anyptr_gpB);
  898. e->adcx(gzA, anyptr_gpB);
  899. e->adox(gdA, gdB);
  900. e->adox(gzA, gzB);
  901. e->adox(gdA, anyptr_gpB);
  902. e->adox(gzA, anyptr_gpB);
  903. // TBM.
  904. e->nop();
  905. e->blcfill(gdA, gdB);
  906. e->blcfill(gzA, gzB);
  907. e->blcfill(gdA, anyptr_gpB);
  908. e->blcfill(gzA, anyptr_gpB);
  909. e->blci(gdA, gdB);
  910. e->blci(gzA, gzB);
  911. e->blci(gdA, anyptr_gpB);
  912. e->blci(gzA, anyptr_gpB);
  913. e->blcic(gdA, gdB);
  914. e->blcic(gzA, gzB);
  915. e->blcic(gdA, anyptr_gpB);
  916. e->blcic(gzA, anyptr_gpB);
  917. e->blcmsk(gdA, gdB);
  918. e->blcmsk(gzA, gzB);
  919. e->blcmsk(gdA, anyptr_gpB);
  920. e->blcmsk(gzA, anyptr_gpB);
  921. e->blcs(gdA, gdB);
  922. e->blcs(gzA, gzB);
  923. e->blcs(gdA, anyptr_gpB);
  924. e->blcs(gzA, anyptr_gpB);
  925. e->blsfill(gdA, gdB);
  926. e->blsfill(gzA, gzB);
  927. e->blsfill(gdA, anyptr_gpB);
  928. e->blsfill(gzA, anyptr_gpB);
  929. e->blsic(gdA, gdB);
  930. e->blsic(gzA, gzB);
  931. e->blsic(gdA, anyptr_gpB);
  932. e->blsic(gzA, anyptr_gpB);
  933. e->t1mskc(gdA, gdB);
  934. e->t1mskc(gzA, gzB);
  935. e->t1mskc(gdA, anyptr_gpB);
  936. e->t1mskc(gzA, anyptr_gpB);
  937. e->tzmsk(gdA, gdB);
  938. e->tzmsk(gzA, gzB);
  939. e->tzmsk(gdA, anyptr_gpB);
  940. e->tzmsk(gzA, anyptr_gpB);
  941. // CLFLUSH / CLFLUSH_OPT.
  942. e->nop();
  943. e->clflush(anyptr_gpA);
  944. e->clflushopt(anyptr_gpA);
  945. // CLWB.
  946. e->nop();
  947. e->clwb(anyptr_gpA);
  948. // CLZERO.
  949. e->nop();
  950. e->clzero(); // Implicit <ds:[EAX|RAX]>
  951. e->clzero(ptr(e->zax())); // Explicit <ds:[EAX|RAX]>
  952. // MONITOR[X] / MWAIT[X].
  953. e->nop();
  954. e->monitor(); // Implicit <ds:[EAX|RAX]>, <ECX>, <EDX>
  955. e->monitorx(); // Implicit <ds:[EAX|RAX]>, <ECX>, <EDX>
  956. e->mwait(); // Implicit <EAX>, <ECX>
  957. e->mwaitx(); // Implicit <EAX>, <ECX>, <EBX>
  958. // PCOMMIT.
  959. e->nop();
  960. e->pcommit();
  961. // PREFETCH / PREFETCHW / PREFETCHWT1.
  962. e->nop();
  963. e->prefetch(anyptr_gpA); // 3DNOW.
  964. e->prefetchnta(anyptr_gpA); // MMX+SSE.
  965. e->prefetcht0(anyptr_gpA); // MMX+SSE.
  966. e->prefetcht1(anyptr_gpA); // MMX+SSE.
  967. e->prefetcht2(anyptr_gpA); // MMX+SSE.
  968. e->prefetchw(anyptr_gpA); // PREFETCHW.
  969. e->prefetchwt1(anyptr_gpA); // PREFETCHWT1.
  970. // RDRAND / RDSEED.
  971. e->nop();
  972. e->rdrand(gdA);
  973. e->rdrand(gzA);
  974. e->rdseed(gdA);
  975. e->rdseed(gzA);
  976. // MMX/MMX2.
  977. e->nop();
  978. e->movd(anyptr_gpA, mmB);
  979. e->movd(gdA, mmB);
  980. e->movd(mmA, anyptr_gpB);
  981. e->movd(mmA, gdB);
  982. e->movq(mmA, mmB);
  983. e->movq(anyptr_gpA, mmB);
  984. e->movq(mmA, anyptr_gpB);
  985. e->packuswb(mmA, mmB);
  986. e->packuswb(mmA, anyptr_gpB);
  987. e->paddb(mmA, mmB);
  988. e->paddb(mmA, anyptr_gpB);
  989. e->paddw(mmA, mmB);
  990. e->paddw(mmA, anyptr_gpB);
  991. e->paddd(mmA, mmB);
  992. e->paddd(mmA, anyptr_gpB);
  993. e->paddsb(mmA, mmB);
  994. e->paddsb(mmA, anyptr_gpB);
  995. e->paddsw(mmA, mmB);
  996. e->paddsw(mmA, anyptr_gpB);
  997. e->paddusb(mmA, mmB);
  998. e->paddusb(mmA, anyptr_gpB);
  999. e->paddusw(mmA, mmB);
  1000. e->paddusw(mmA, anyptr_gpB);
  1001. e->pand(mmA, mmB);
  1002. e->pand(mmA, anyptr_gpB);
  1003. e->pandn(mmA, mmB);
  1004. e->pandn(mmA, anyptr_gpB);
  1005. e->pcmpeqb(mmA, mmB);
  1006. e->pcmpeqb(mmA, anyptr_gpB);
  1007. e->pcmpeqw(mmA, mmB);
  1008. e->pcmpeqw(mmA, anyptr_gpB);
  1009. e->pcmpeqd(mmA, mmB);
  1010. e->pcmpeqd(mmA, anyptr_gpB);
  1011. e->pcmpgtb(mmA, mmB);
  1012. e->pcmpgtb(mmA, anyptr_gpB);
  1013. e->pcmpgtw(mmA, mmB);
  1014. e->pcmpgtw(mmA, anyptr_gpB);
  1015. e->pcmpgtd(mmA, mmB);
  1016. e->pcmpgtd(mmA, anyptr_gpB);
  1017. e->pmulhw(mmA, mmB);
  1018. e->pmulhw(mmA, anyptr_gpB);
  1019. e->pmullw(mmA, mmB);
  1020. e->pmullw(mmA, anyptr_gpB);
  1021. e->por(mmA, mmB);
  1022. e->por(mmA, anyptr_gpB);
  1023. e->pmaddwd(mmA, mmB);
  1024. e->pmaddwd(mmA, anyptr_gpB);
  1025. e->pslld(mmA, mmB);
  1026. e->pslld(mmA, anyptr_gpB);
  1027. e->pslld(mmA, 0);
  1028. e->psllq(mmA, mmB);
  1029. e->psllq(mmA, anyptr_gpB);
  1030. e->psllq(mmA, 0);
  1031. e->psllw(mmA, mmB);
  1032. e->psllw(mmA, anyptr_gpB);
  1033. e->psllw(mmA, 0);
  1034. e->psrad(mmA, mmB);
  1035. e->psrad(mmA, anyptr_gpB);
  1036. e->psrad(mmA, 0);
  1037. e->psraw(mmA, mmB);
  1038. e->psraw(mmA, anyptr_gpB);
  1039. e->psraw(mmA, 0);
  1040. e->psrld(mmA, mmB);
  1041. e->psrld(mmA, anyptr_gpB);
  1042. e->psrld(mmA, 0);
  1043. e->psrlq(mmA, mmB);
  1044. e->psrlq(mmA, anyptr_gpB);
  1045. e->psrlq(mmA, 0);
  1046. e->psrlw(mmA, mmB);
  1047. e->psrlw(mmA, anyptr_gpB);
  1048. e->psrlw(mmA, 0);
  1049. e->psubb(mmA, mmB);
  1050. e->psubb(mmA, anyptr_gpB);
  1051. e->psubw(mmA, mmB);
  1052. e->psubw(mmA, anyptr_gpB);
  1053. e->psubd(mmA, mmB);
  1054. e->psubd(mmA, anyptr_gpB);
  1055. e->psubsb(mmA, mmB);
  1056. e->psubsb(mmA, anyptr_gpB);
  1057. e->psubsw(mmA, mmB);
  1058. e->psubsw(mmA, anyptr_gpB);
  1059. e->psubusb(mmA, mmB);
  1060. e->psubusb(mmA, anyptr_gpB);
  1061. e->psubusw(mmA, mmB);
  1062. e->psubusw(mmA, anyptr_gpB);
  1063. e->punpckhbw(mmA, mmB);
  1064. e->punpckhbw(mmA, anyptr_gpB);
  1065. e->punpckhwd(mmA, mmB);
  1066. e->punpckhwd(mmA, anyptr_gpB);
  1067. e->punpckhdq(mmA, mmB);
  1068. e->punpckhdq(mmA, anyptr_gpB);
  1069. e->punpcklbw(mmA, mmB);
  1070. e->punpcklbw(mmA, anyptr_gpB);
  1071. e->punpcklwd(mmA, mmB);
  1072. e->punpcklwd(mmA, anyptr_gpB);
  1073. e->punpckldq(mmA, mmB);
  1074. e->punpckldq(mmA, anyptr_gpB);
  1075. e->pxor(mmA, mmB);
  1076. e->pxor(mmA, anyptr_gpB);
  1077. e->emms();
  1078. // 3DNOW.
  1079. e->nop();
  1080. e->pavgusb(mmA, mmB);
  1081. e->pavgusb(mmA, anyptr_gpB);
  1082. e->pf2id(mmA, mmB);
  1083. e->pf2id(mmA, anyptr_gpB);
  1084. e->pf2iw(mmA, mmB);
  1085. e->pf2iw(mmA, anyptr_gpB);
  1086. e->pfacc(mmA, mmB);
  1087. e->pfacc(mmA, anyptr_gpB);
  1088. e->pfadd(mmA, mmB);
  1089. e->pfadd(mmA, anyptr_gpB);
  1090. e->pfcmpeq(mmA, mmB);
  1091. e->pfcmpeq(mmA, anyptr_gpB);
  1092. e->pfcmpge(mmA, mmB);
  1093. e->pfcmpge(mmA, anyptr_gpB);
  1094. e->pfcmpgt(mmA, mmB);
  1095. e->pfcmpgt(mmA, anyptr_gpB);
  1096. e->pfmax(mmA, mmB);
  1097. e->pfmax(mmA, anyptr_gpB);
  1098. e->pfmin(mmA, mmB);
  1099. e->pfmin(mmA, anyptr_gpB);
  1100. e->pfmul(mmA, mmB);
  1101. e->pfmul(mmA, anyptr_gpB);
  1102. e->pfnacc(mmA, mmB);
  1103. e->pfnacc(mmA, anyptr_gpB);
  1104. e->pfpnacc(mmA, mmB);
  1105. e->pfpnacc(mmA, anyptr_gpB);
  1106. e->pfrcp(mmA, mmB);
  1107. e->pfrcp(mmA, anyptr_gpB);
  1108. e->pfrcpit1(mmA, mmB);
  1109. e->pfrcpit1(mmA, anyptr_gpB);
  1110. e->pfrcpit2(mmA, mmB);
  1111. e->pfrcpit2(mmA, anyptr_gpB);
  1112. e->pfrcpv(mmA, mmB);
  1113. e->pfrcpv(mmA, anyptr_gpB);
  1114. e->pfrsqit1(mmA, mmB);
  1115. e->pfrsqit1(mmA, anyptr_gpB);
  1116. e->pfrsqrt(mmA, mmB);
  1117. e->pfrsqrt(mmA, anyptr_gpB);
  1118. e->pfrsqrtv(mmA, mmB);
  1119. e->pfrsqrtv(mmA, anyptr_gpB);
  1120. e->pfsub(mmA, mmB);
  1121. e->pfsub(mmA, anyptr_gpB);
  1122. e->pfsubr(mmA, mmB);
  1123. e->pfsubr(mmA, anyptr_gpB);
  1124. e->pi2fd(mmA, mmB);
  1125. e->pi2fd(mmA, anyptr_gpB);
  1126. e->pi2fw(mmA, mmB);
  1127. e->pi2fw(mmA, anyptr_gpB);
  1128. e->pmulhrw(mmA, mmB);
  1129. e->pmulhrw(mmA, anyptr_gpB);
  1130. e->pswapd(mmA, mmB);
  1131. e->pswapd(mmA, anyptr_gpB);
  1132. e->femms();
  1133. // SSE.
  1134. e->nop();
  1135. e->addps(xmmA, xmmB);
  1136. e->addps(xmmA, anyptr_gpB);
  1137. e->addss(xmmA, xmmB);
  1138. e->addss(xmmA, anyptr_gpB);
  1139. e->andnps(xmmA, xmmB);
  1140. e->andnps(xmmA, anyptr_gpB);
  1141. e->andps(xmmA, xmmB);
  1142. e->andps(xmmA, anyptr_gpB);
  1143. e->cmpps(xmmA, xmmB, 0);
  1144. e->cmpps(xmmA, anyptr_gpB, 0);
  1145. e->cmpss(xmmA, xmmB, 0);
  1146. e->cmpss(xmmA, anyptr_gpB, 0);
  1147. e->comiss(xmmA, xmmB);
  1148. e->comiss(xmmA, anyptr_gpB);
  1149. e->cvtpi2ps(xmmA, mmB);
  1150. e->cvtpi2ps(xmmA, anyptr_gpB);
  1151. e->cvtps2pi(mmA, xmmB);
  1152. e->cvtps2pi(mmA, anyptr_gpB);
  1153. e->cvtsi2ss(xmmA, gdB);
  1154. e->cvtsi2ss(xmmA, gzB);
  1155. e->cvtsi2ss(xmmA, anyptr_gpB);
  1156. e->cvtss2si(gdA, xmmB);
  1157. e->cvtss2si(gzA, xmmB);
  1158. e->cvtss2si(gdA, anyptr_gpB);
  1159. e->cvtss2si(gzA, anyptr_gpB);
  1160. e->cvttps2pi(mmA, xmmB);
  1161. e->cvttps2pi(mmA, anyptr_gpB);
  1162. e->cvttss2si(gdA, xmmB);
  1163. e->cvttss2si(gzA, xmmB);
  1164. e->cvttss2si(gdA, anyptr_gpB);
  1165. e->cvttss2si(gzA, anyptr_gpB);
  1166. e->divps(xmmA, xmmB);
  1167. e->divps(xmmA, anyptr_gpB);
  1168. e->divss(xmmA, xmmB);
  1169. e->divss(xmmA, anyptr_gpB);
  1170. e->ldmxcsr(anyptr_gpA);
  1171. e->maskmovq(mmA, mmB); // Implicit mmA, mmB, <ds:[EDI|RDI]>
  1172. e->maskmovq(mmA, mmB, ptr(e->zdi())); // Explicit mmA, mmB, <ds:[EDI|RDI]>
  1173. e->maxps(xmmA, xmmB);
  1174. e->maxps(xmmA, anyptr_gpB);
  1175. e->maxss(xmmA, xmmB);
  1176. e->maxss(xmmA, anyptr_gpB);
  1177. e->minps(xmmA, xmmB);
  1178. e->minps(xmmA, anyptr_gpB);
  1179. e->minss(xmmA, xmmB);
  1180. e->minss(xmmA, anyptr_gpB);
  1181. e->movaps(xmmA, xmmB);
  1182. e->movaps(xmmA, anyptr_gpB);
  1183. e->movaps(anyptr_gpA, xmmB);
  1184. e->movd(anyptr_gpA, xmmB);
  1185. e->movd(gdA, xmmB);
  1186. e->movd(gzA, xmmB);
  1187. e->movd(xmmA, anyptr_gpB);
  1188. e->movd(xmmA, gdB);
  1189. e->movd(xmmA, gzB);
  1190. e->movq(mmA, mmB);
  1191. e->movq(xmmA, xmmB);
  1192. e->movq(anyptr_gpA, xmmB);
  1193. e->movq(xmmA, anyptr_gpB);
  1194. e->movntq(anyptr_gpA, mmB);
  1195. e->movhlps(xmmA, xmmB);
  1196. e->movhps(xmmA, anyptr_gpB);
  1197. e->movhps(anyptr_gpA, xmmB);
  1198. e->movlhps(xmmA, xmmB);
  1199. e->movlps(xmmA, anyptr_gpB);
  1200. e->movlps(anyptr_gpA, xmmB);
  1201. e->movntps(anyptr_gpA, xmmB);
  1202. e->movss(xmmA, anyptr_gpB);
  1203. e->movss(anyptr_gpA, xmmB);
  1204. e->movups(xmmA, xmmB);
  1205. e->movups(xmmA, anyptr_gpB);
  1206. e->movups(anyptr_gpA, xmmB);
  1207. e->mulps(xmmA, xmmB);
  1208. e->mulps(xmmA, anyptr_gpB);
  1209. e->mulss(xmmA, xmmB);
  1210. e->mulss(xmmA, anyptr_gpB);
  1211. e->orps(xmmA, xmmB);
  1212. e->orps(xmmA, anyptr_gpB);
  1213. e->pavgb(mmA, mmB);
  1214. e->pavgb(mmA, anyptr_gpB);
  1215. e->pavgw(mmA, mmB);
  1216. e->pavgw(mmA, anyptr_gpB);
  1217. e->pextrw(gdA, mmB, 0);
  1218. e->pextrw(gzA, mmB, 0);
  1219. e->pinsrw(mmA, gdB, 0);
  1220. e->pinsrw(mmA, gzB, 0);
  1221. e->pinsrw(mmA, anyptr_gpB, 0);
  1222. e->pmaxsw(mmA, mmB);
  1223. e->pmaxsw(mmA, anyptr_gpB);
  1224. e->pmaxub(mmA, mmB);
  1225. e->pmaxub(mmA, anyptr_gpB);
  1226. e->pminsw(mmA, mmB);
  1227. e->pminsw(mmA, anyptr_gpB);
  1228. e->pminub(mmA, mmB);
  1229. e->pminub(mmA, anyptr_gpB);
  1230. e->pmovmskb(gdA, mmB);
  1231. e->pmovmskb(gzA, mmB);
  1232. e->pmulhuw(mmA, mmB);
  1233. e->pmulhuw(mmA, anyptr_gpB);
  1234. e->psadbw(mmA, mmB);
  1235. e->psadbw(mmA, anyptr_gpB);
  1236. e->pshufw(mmA, mmB, 0);
  1237. e->pshufw(mmA, anyptr_gpB, 0);
  1238. e->rcpps(xmmA, xmmB);
  1239. e->rcpps(xmmA, anyptr_gpB);
  1240. e->rcpss(xmmA, xmmB);
  1241. e->rcpss(xmmA, anyptr_gpB);
  1242. e->psadbw(xmmA, xmmB);
  1243. e->psadbw(xmmA, anyptr_gpB);
  1244. e->rsqrtps(xmmA, xmmB);
  1245. e->rsqrtps(xmmA, anyptr_gpB);
  1246. e->rsqrtss(xmmA, xmmB);
  1247. e->rsqrtss(xmmA, anyptr_gpB);
  1248. e->sfence();
  1249. e->shufps(xmmA, xmmB, 0);
  1250. e->shufps(xmmA, anyptr_gpB, 0);
  1251. e->sqrtps(xmmA, xmmB);
  1252. e->sqrtps(xmmA, anyptr_gpB);
  1253. e->sqrtss(xmmA, xmmB);
  1254. e->sqrtss(xmmA, anyptr_gpB);
  1255. e->stmxcsr(anyptr_gpA);
  1256. e->subps(xmmA, xmmB);
  1257. e->subps(xmmA, anyptr_gpB);
  1258. e->subss(xmmA, xmmB);
  1259. e->subss(xmmA, anyptr_gpB);
  1260. e->ucomiss(xmmA, xmmB);
  1261. e->ucomiss(xmmA, anyptr_gpB);
  1262. e->unpckhps(xmmA, xmmB);
  1263. e->unpckhps(xmmA, anyptr_gpB);
  1264. e->unpcklps(xmmA, xmmB);
  1265. e->unpcklps(xmmA, anyptr_gpB);
  1266. e->xorps(xmmA, xmmB);
  1267. e->xorps(xmmA, anyptr_gpB);
  1268. // SSE2.
  1269. e->nop();
  1270. e->addpd(xmmA, xmmB);
  1271. e->addpd(xmmA, anyptr_gpB);
  1272. e->addsd(xmmA, xmmB);
  1273. e->addsd(xmmA, anyptr_gpB);
  1274. e->andnpd(xmmA, xmmB);
  1275. e->andnpd(xmmA, anyptr_gpB);
  1276. e->andpd(xmmA, xmmB);
  1277. e->andpd(xmmA, anyptr_gpB);
  1278. e->cmppd(xmmA, xmmB, 0);
  1279. e->cmppd(xmmA, anyptr_gpB, 0);
  1280. e->cmpsd(xmmA, xmmB, 0);
  1281. e->cmpsd(xmmA, anyptr_gpB, 0);
  1282. e->comisd(xmmA, xmmB);
  1283. e->comisd(xmmA, anyptr_gpB);
  1284. e->cvtdq2pd(xmmA, xmmB);
  1285. e->cvtdq2pd(xmmA, anyptr_gpB);
  1286. e->cvtdq2ps(xmmA, xmmB);
  1287. e->cvtdq2ps(xmmA, anyptr_gpB);
  1288. e->cvtpd2dq(xmmA, xmmB);
  1289. e->cvtpd2dq(xmmA, anyptr_gpB);
  1290. e->cvtpd2pi(mmA, xmmB);
  1291. e->cvtpd2pi(mmA, anyptr_gpB);
  1292. e->cvtpd2ps(xmmA, xmmB);
  1293. e->cvtpd2ps(xmmA, anyptr_gpB);
  1294. e->cvtpi2pd(xmmA, mmB);
  1295. e->cvtpi2pd(xmmA, anyptr_gpB);
  1296. e->cvtps2dq(xmmA, xmmB);
  1297. e->cvtps2dq(xmmA, anyptr_gpB);
  1298. e->cvtps2pd(xmmA, xmmB);
  1299. e->cvtps2pd(xmmA, anyptr_gpB);
  1300. e->cvtsd2si(gdA, xmmB);
  1301. e->cvtsd2si(gzA, xmmB);
  1302. e->cvtsd2si(gdA, anyptr_gpB);
  1303. e->cvtsd2si(gzA, anyptr_gpB);
  1304. e->cvtsd2ss(xmmA, xmmB);
  1305. e->cvtsd2ss(xmmA, anyptr_gpB);
  1306. e->cvtsi2sd(xmmA, gdB);
  1307. e->cvtsi2sd(xmmA, gzB);
  1308. e->cvtsi2sd(xmmA, anyptr_gpB);
  1309. e->cvtss2sd(xmmA, xmmB);
  1310. e->cvtss2sd(xmmA, anyptr_gpB);
  1311. e->cvtss2si(gdA, xmmB);
  1312. e->cvtss2si(gzA, xmmB);
  1313. e->cvtss2si(gdA, anyptr_gpB);
  1314. e->cvtss2si(gzA, anyptr_gpB);
  1315. e->cvttpd2pi(mmA, xmmB);
  1316. e->cvttpd2pi(mmA, anyptr_gpB);
  1317. e->cvttpd2dq(xmmA, xmmB);
  1318. e->cvttpd2dq(xmmA, anyptr_gpB);
  1319. e->cvttps2dq(xmmA, xmmB);
  1320. e->cvttps2dq(xmmA, anyptr_gpB);
  1321. e->cvttsd2si(gdA, xmmB);
  1322. e->cvttsd2si(gzA, xmmB);
  1323. e->cvttsd2si(gdA, anyptr_gpB);
  1324. e->cvttsd2si(gzA, anyptr_gpB);
  1325. e->divpd(xmmA, xmmB);
  1326. e->divpd(xmmA, anyptr_gpB);
  1327. e->divsd(xmmA, xmmB);
  1328. e->divsd(xmmA, anyptr_gpB);
  1329. e->lfence();
  1330. e->maskmovdqu(xmmA, xmmB); // Implicit xmmA, xmmB, <ds:[EDI|RDI]>
  1331. e->maskmovdqu(xmmA, xmmB, ptr(e->zdi())); // Explicit xmmA, xmmB, <ds:[EDI|RDI]>
  1332. e->maxpd(xmmA, xmmB);
  1333. e->maxpd(xmmA, anyptr_gpB);
  1334. e->maxsd(xmmA, xmmB);
  1335. e->maxsd(xmmA, anyptr_gpB);
  1336. e->mfence();
  1337. e->minpd(xmmA, xmmB);
  1338. e->minpd(xmmA, anyptr_gpB);
  1339. e->minsd(xmmA, xmmB);
  1340. e->minsd(xmmA, anyptr_gpB);
  1341. e->movdqa(xmmA, xmmB);
  1342. e->movdqa(xmmA, anyptr_gpB);
  1343. e->movdqa(anyptr_gpA, xmmB);
  1344. e->movdqu(xmmA, xmmB);
  1345. e->movdqu(xmmA, anyptr_gpB);
  1346. e->movdqu(anyptr_gpA, xmmB);
  1347. e->movmskps(gdA, xmmB);
  1348. e->movmskps(gzA, xmmB);
  1349. e->movmskpd(gdA, xmmB);
  1350. e->movmskpd(gzA, xmmB);
  1351. e->movsd(xmmA, xmmB);
  1352. e->movsd(xmmA, anyptr_gpB);
  1353. e->movsd(anyptr_gpA, xmmB);
  1354. e->movapd(xmmA, anyptr_gpB);
  1355. e->movapd(anyptr_gpA, xmmB);
  1356. e->movdq2q(mmA, xmmB);
  1357. e->movq2dq(xmmA, mmB);
  1358. e->movhpd(xmmA, anyptr_gpB);
  1359. e->movhpd(anyptr_gpA, xmmB);
  1360. e->movlpd(xmmA, anyptr_gpB);
  1361. e->movlpd(anyptr_gpA, xmmB);
  1362. e->movntdq(anyptr_gpA, xmmB);
  1363. e->movnti(anyptr_gpA, gdB);
  1364. e->movnti(anyptr_gpA, gzB);
  1365. e->movntpd(anyptr_gpA, xmmB);
  1366. e->movupd(xmmA, anyptr_gpB);
  1367. e->movupd(anyptr_gpA, xmmB);
  1368. e->mulpd(xmmA, xmmB);
  1369. e->mulpd(xmmA, anyptr_gpB);
  1370. e->mulsd(xmmA, xmmB);
  1371. e->mulsd(xmmA, anyptr_gpB);
  1372. e->orpd(xmmA, xmmB);
  1373. e->orpd(xmmA, anyptr_gpB);
  1374. e->packsswb(xmmA, xmmB);
  1375. e->packsswb(xmmA, anyptr_gpB);
  1376. e->packssdw(xmmA, xmmB);
  1377. e->packssdw(xmmA, anyptr_gpB);
  1378. e->packuswb(xmmA, xmmB);
  1379. e->packuswb(xmmA, anyptr_gpB);
  1380. e->paddb(xmmA, xmmB);
  1381. e->paddb(xmmA, anyptr_gpB);
  1382. e->paddw(xmmA, xmmB);
  1383. e->paddw(xmmA, anyptr_gpB);
  1384. e->paddd(xmmA, xmmB);
  1385. e->paddd(xmmA, anyptr_gpB);
  1386. e->paddq(mmA, mmB);
  1387. e->paddq(mmA, anyptr_gpB);
  1388. e->paddq(xmmA, xmmB);
  1389. e->paddq(xmmA, anyptr_gpB);
  1390. e->paddsb(xmmA, xmmB);
  1391. e->paddsb(xmmA, anyptr_gpB);
  1392. e->paddsw(xmmA, xmmB);
  1393. e->paddsw(xmmA, anyptr_gpB);
  1394. e->paddusb(xmmA, xmmB);
  1395. e->paddusb(xmmA, anyptr_gpB);
  1396. e->paddusw(xmmA, xmmB);
  1397. e->paddusw(xmmA, anyptr_gpB);
  1398. e->pand(xmmA, xmmB);
  1399. e->pand(xmmA, anyptr_gpB);
  1400. e->pandn(xmmA, xmmB);
  1401. e->pandn(xmmA, anyptr_gpB);
  1402. e->pause();
  1403. e->pavgb(xmmA, xmmB);
  1404. e->pavgb(xmmA, anyptr_gpB);
  1405. e->pavgw(xmmA, xmmB);
  1406. e->pavgw(xmmA, anyptr_gpB);
  1407. e->pcmpeqb(xmmA, xmmB);
  1408. e->pcmpeqb(xmmA, anyptr_gpB);
  1409. e->pcmpeqw(xmmA, xmmB);
  1410. e->pcmpeqw(xmmA, anyptr_gpB);
  1411. e->pcmpeqd(xmmA, xmmB);
  1412. e->pcmpeqd(xmmA, anyptr_gpB);
  1413. e->pcmpgtb(xmmA, xmmB);
  1414. e->pcmpgtb(xmmA, anyptr_gpB);
  1415. e->pcmpgtw(xmmA, xmmB);
  1416. e->pcmpgtw(xmmA, anyptr_gpB);
  1417. e->pcmpgtd(xmmA, xmmB);
  1418. e->pcmpgtd(xmmA, anyptr_gpB);
  1419. e->pmaxsw(xmmA, xmmB);
  1420. e->pmaxsw(xmmA, anyptr_gpB);
  1421. e->pmaxub(xmmA, xmmB);
  1422. e->pmaxub(xmmA, anyptr_gpB);
  1423. e->pminsw(xmmA, xmmB);
  1424. e->pminsw(xmmA, anyptr_gpB);
  1425. e->pminub(xmmA, xmmB);
  1426. e->pminub(xmmA, anyptr_gpB);
  1427. e->pmovmskb(gdA, xmmB);
  1428. e->pmovmskb(gzA, xmmB);
  1429. e->pmulhw(xmmA, xmmB);
  1430. e->pmulhw(xmmA, anyptr_gpB);
  1431. e->pmulhuw(xmmA, xmmB);
  1432. e->pmulhuw(xmmA, anyptr_gpB);
  1433. e->pmullw(xmmA, xmmB);
  1434. e->pmullw(xmmA, anyptr_gpB);
  1435. e->pmuludq(mmA, mmB);
  1436. e->pmuludq(mmA, anyptr_gpB);
  1437. e->pmuludq(xmmA, xmmB);
  1438. e->pmuludq(xmmA, anyptr_gpB);
  1439. e->por(xmmA, xmmB);
  1440. e->por(xmmA, anyptr_gpB);
  1441. e->pslld(xmmA, xmmB);
  1442. e->pslld(xmmA, anyptr_gpB);
  1443. e->pslld(xmmA, 0);
  1444. e->psllq(xmmA, xmmB);
  1445. e->psllq(xmmA, anyptr_gpB);
  1446. e->psllq(xmmA, 0);
  1447. e->psllw(xmmA, xmmB);
  1448. e->psllw(xmmA, anyptr_gpB);
  1449. e->psllw(xmmA, 0);
  1450. e->pslldq(xmmA, 0);
  1451. e->psrad(xmmA, xmmB);
  1452. e->psrad(xmmA, anyptr_gpB);
  1453. e->psrad(xmmA, 0);
  1454. e->psraw(xmmA, xmmB);
  1455. e->psraw(xmmA, anyptr_gpB);
  1456. e->psraw(xmmA, 0);
  1457. e->psubb(xmmA, xmmB);
  1458. e->psubb(xmmA, anyptr_gpB);
  1459. e->psubw(xmmA, xmmB);
  1460. e->psubw(xmmA, anyptr_gpB);
  1461. e->psubd(xmmA, xmmB);
  1462. e->psubd(xmmA, anyptr_gpB);
  1463. e->psubq(mmA, mmB);
  1464. e->psubq(mmA, anyptr_gpB);
  1465. e->psubq(xmmA, xmmB);
  1466. e->psubq(xmmA, anyptr_gpB);
  1467. e->pmaddwd(xmmA, xmmB);
  1468. e->pmaddwd(xmmA, anyptr_gpB);
  1469. e->pshufd(xmmA, xmmB, 0);
  1470. e->pshufd(xmmA, anyptr_gpB, 0);
  1471. e->pshufhw(xmmA, xmmB, 0);
  1472. e->pshufhw(xmmA, anyptr_gpB, 0);
  1473. e->pshuflw(xmmA, xmmB, 0);
  1474. e->pshuflw(xmmA, anyptr_gpB, 0);
  1475. e->psrld(xmmA, xmmB);
  1476. e->psrld(xmmA, anyptr_gpB);
  1477. e->psrld(xmmA, 0);
  1478. e->psrlq(xmmA, xmmB);
  1479. e->psrlq(xmmA, anyptr_gpB);
  1480. e->psrlq(xmmA, 0);
  1481. e->psrldq(xmmA, 0);
  1482. e->psrlw(xmmA, xmmB);
  1483. e->psrlw(xmmA, anyptr_gpB);
  1484. e->psrlw(xmmA, 0);
  1485. e->psubsb(xmmA, xmmB);
  1486. e->psubsb(xmmA, anyptr_gpB);
  1487. e->psubsw(xmmA, xmmB);
  1488. e->psubsw(xmmA, anyptr_gpB);
  1489. e->psubusb(xmmA, xmmB);
  1490. e->psubusb(xmmA, anyptr_gpB);
  1491. e->psubusw(xmmA, xmmB);
  1492. e->psubusw(xmmA, anyptr_gpB);
  1493. e->punpckhbw(xmmA, xmmB);
  1494. e->punpckhbw(xmmA, anyptr_gpB);
  1495. e->punpckhwd(xmmA, xmmB);
  1496. e->punpckhwd(xmmA, anyptr_gpB);
  1497. e->punpckhdq(xmmA, xmmB);
  1498. e->punpckhdq(xmmA, anyptr_gpB);
  1499. e->punpckhqdq(xmmA, xmmB);
  1500. e->punpckhqdq(xmmA, anyptr_gpB);
  1501. e->punpcklbw(xmmA, xmmB);
  1502. e->punpcklbw(xmmA, anyptr_gpB);
  1503. e->punpcklwd(xmmA, xmmB);
  1504. e->punpcklwd(xmmA, anyptr_gpB);
  1505. e->punpckldq(xmmA, xmmB);
  1506. e->punpckldq(xmmA, anyptr_gpB);
  1507. e->punpcklqdq(xmmA, xmmB);
  1508. e->punpcklqdq(xmmA, anyptr_gpB);
  1509. e->pxor(xmmA, xmmB);
  1510. e->pxor(xmmA, anyptr_gpB);
  1511. e->sqrtpd(xmmA, xmmB);
  1512. e->sqrtpd(xmmA, anyptr_gpB);
  1513. e->sqrtsd(xmmA, xmmB);
  1514. e->sqrtsd(xmmA, anyptr_gpB);
  1515. e->subpd(xmmA, xmmB);
  1516. e->subpd(xmmA, anyptr_gpB);
  1517. e->subsd(xmmA, xmmB);
  1518. e->subsd(xmmA, anyptr_gpB);
  1519. e->ucomisd(xmmA, xmmB);
  1520. e->ucomisd(xmmA, anyptr_gpB);
  1521. e->unpckhpd(xmmA, xmmB);
  1522. e->unpckhpd(xmmA, anyptr_gpB);
  1523. e->unpcklpd(xmmA, xmmB);
  1524. e->unpcklpd(xmmA, anyptr_gpB);
  1525. e->xorpd(xmmA, xmmB);
  1526. e->xorpd(xmmA, anyptr_gpB);
  1527. // SSE3.
  1528. e->nop();
  1529. e->addsubpd(xmmA, xmmB);
  1530. e->addsubpd(xmmA, anyptr_gpB);
  1531. e->addsubps(xmmA, xmmB);
  1532. e->addsubps(xmmA, anyptr_gpB);
  1533. e->fisttp(dword_ptr(gzA));
  1534. e->haddpd(xmmA, xmmB);
  1535. e->haddpd(xmmA, anyptr_gpB);
  1536. e->haddps(xmmA, xmmB);
  1537. e->haddps(xmmA, anyptr_gpB);
  1538. e->hsubpd(xmmA, xmmB);
  1539. e->hsubpd(xmmA, anyptr_gpB);
  1540. e->hsubps(xmmA, xmmB);
  1541. e->hsubps(xmmA, anyptr_gpB);
  1542. e->lddqu(xmmA, anyptr_gpB);
  1543. e->movddup(xmmA, xmmB);
  1544. e->movddup(xmmA, anyptr_gpB);
  1545. e->movshdup(xmmA, xmmB);
  1546. e->movshdup(xmmA, anyptr_gpB);
  1547. e->movsldup(xmmA, xmmB);
  1548. e->movsldup(xmmA, anyptr_gpB);
  1549. // SSSE3.
  1550. e->nop();
  1551. e->psignb(mmA, mmB);
  1552. e->psignb(mmA, anyptr_gpB);
  1553. e->psignb(xmmA, xmmB);
  1554. e->psignb(xmmA, anyptr_gpB);
  1555. e->psignw(mmA, mmB);
  1556. e->psignw(mmA, anyptr_gpB);
  1557. e->psignw(xmmA, xmmB);
  1558. e->psignw(xmmA, anyptr_gpB);
  1559. e->psignd(mmA, mmB);
  1560. e->psignd(mmA, anyptr_gpB);
  1561. e->psignd(xmmA, xmmB);
  1562. e->psignd(xmmA, anyptr_gpB);
  1563. e->phaddw(mmA, mmB);
  1564. e->phaddw(mmA, anyptr_gpB);
  1565. e->phaddw(xmmA, xmmB);
  1566. e->phaddw(xmmA, anyptr_gpB);
  1567. e->phaddd(mmA, mmB);
  1568. e->phaddd(mmA, anyptr_gpB);
  1569. e->phaddd(xmmA, xmmB);
  1570. e->phaddd(xmmA, anyptr_gpB);
  1571. e->phaddsw(mmA, mmB);
  1572. e->phaddsw(mmA, anyptr_gpB);
  1573. e->phaddsw(xmmA, xmmB);
  1574. e->phaddsw(xmmA, anyptr_gpB);
  1575. e->phsubw(mmA, mmB);
  1576. e->phsubw(mmA, anyptr_gpB);
  1577. e->phsubw(xmmA, xmmB);
  1578. e->phsubw(xmmA, anyptr_gpB);
  1579. e->phsubd(mmA, mmB);
  1580. e->phsubd(mmA, anyptr_gpB);
  1581. e->phsubd(xmmA, xmmB);
  1582. e->phsubd(xmmA, anyptr_gpB);
  1583. e->phsubsw(mmA, mmB);
  1584. e->phsubsw(mmA, anyptr_gpB);
  1585. e->phsubsw(xmmA, xmmB);
  1586. e->phsubsw(xmmA, anyptr_gpB);
  1587. e->pmaddubsw(mmA, mmB);
  1588. e->pmaddubsw(mmA, anyptr_gpB);
  1589. e->pmaddubsw(xmmA, xmmB);
  1590. e->pmaddubsw(xmmA, anyptr_gpB);
  1591. e->pabsb(mmA, mmB);
  1592. e->pabsb(mmA, anyptr_gpB);
  1593. e->pabsb(xmmA, xmmB);
  1594. e->pabsb(xmmA, anyptr_gpB);
  1595. e->pabsw(mmA, mmB);
  1596. e->pabsw(mmA, anyptr_gpB);
  1597. e->pabsw(xmmA, xmmB);
  1598. e->pabsw(xmmA, anyptr_gpB);
  1599. e->pabsd(mmA, mmB);
  1600. e->pabsd(mmA, anyptr_gpB);
  1601. e->pabsd(xmmA, xmmB);
  1602. e->pabsd(xmmA, anyptr_gpB);
  1603. e->pmulhrsw(mmA, mmB);
  1604. e->pmulhrsw(mmA, anyptr_gpB);
  1605. e->pmulhrsw(xmmA, xmmB);
  1606. e->pmulhrsw(xmmA, anyptr_gpB);
  1607. e->pshufb(mmA, mmB);
  1608. e->pshufb(mmA, anyptr_gpB);
  1609. e->pshufb(xmmA, xmmB);
  1610. e->pshufb(xmmA, anyptr_gpB);
  1611. e->palignr(mmA, mmB, 0);
  1612. e->palignr(mmA, anyptr_gpB, 0);
  1613. e->palignr(xmmA, xmmB, 0);
  1614. e->palignr(xmmA, anyptr_gpB, 0);
  1615. // SSE4.1.
  1616. e->nop();
  1617. e->blendpd(xmmA, xmmB, 0);
  1618. e->blendpd(xmmA, anyptr_gpB, 0);
  1619. e->blendps(xmmA, xmmB, 0);
  1620. e->blendps(xmmA, anyptr_gpB, 0);
  1621. e->blendvpd(xmmA, xmmB); // Implicit xmmA, xmmB, <XMM0>
  1622. e->blendvpd(xmmA, xmmB, xmm0); // Explicit xmmA, xmmB, <XMM0>
  1623. e->blendvpd(xmmA, anyptr_gpB); // Implicit xmmA, mem , <XMM0>
  1624. e->blendvpd(xmmA, anyptr_gpB, xmm0); // Explicit xmmA, mem , <XMM0>
  1625. e->blendvps(xmmA, xmmB); // Implicit xmmA, xmmB, <XMM0>
  1626. e->blendvps(xmmA, xmmB, xmm0); // Explicit xmmA, xmmB, <XMM0>
  1627. e->blendvps(xmmA, anyptr_gpB); // Implicit xmmA, mem , <XMM0>
  1628. e->blendvps(xmmA, anyptr_gpB, xmm0); // Explicit xmmA, mem , <XMM0>
  1629. e->dppd(xmmA, xmmB, 0);
  1630. e->dppd(xmmA, anyptr_gpB, 0);
  1631. e->dpps(xmmA, xmmB, 0);
  1632. e->dpps(xmmA, anyptr_gpB, 0);
  1633. e->extractps(gdA, xmmB, 0);
  1634. e->extractps(gzA, xmmB, 0);
  1635. e->extractps(anyptr_gpA, xmmB, 0);
  1636. e->insertps(xmmA, xmmB, 0);
  1637. e->insertps(xmmA, anyptr_gpB, 0);
  1638. e->movntdqa(xmmA, anyptr_gpB);
  1639. e->mpsadbw(xmmA, xmmB, 0);
  1640. e->mpsadbw(xmmA, anyptr_gpB, 0);
  1641. e->packusdw(xmmA, xmmB);
  1642. e->packusdw(xmmA, anyptr_gpB);
  1643. e->pblendvb(xmmA, xmmB); // Implicit xmmA, xmmB, <XMM0>
  1644. e->pblendvb(xmmA, xmmB, xmm0); // Explicit xmmA, xmmB, <XMM0>
  1645. e->pblendvb(xmmA, anyptr_gpB); // Implicit xmmA, mem, <XMM0>
  1646. e->pblendvb(xmmA, anyptr_gpB, xmm0); // Implicit xmmA, mem, <XMM0>
  1647. e->pblendw(xmmA, xmmB, 0);
  1648. e->pblendw(xmmA, anyptr_gpB, 0);
  1649. e->pcmpeqq(xmmA, xmmB);
  1650. e->pcmpeqq(xmmA, anyptr_gpB);
  1651. e->pextrb(gdA, xmmB, 0);
  1652. e->pextrb(gzA, xmmB, 0);
  1653. e->pextrb(anyptr_gpA, xmmB, 0);
  1654. e->pextrd(gdA, xmmB, 0);
  1655. e->pextrd(gzA, xmmB, 0);
  1656. e->pextrd(anyptr_gpA, xmmB, 0);
  1657. if (isX64) e->pextrq(gzA, xmmB, 0);
  1658. if (isX64) e->pextrq(anyptr_gpA, xmmB, 0);
  1659. e->pextrw(gdA, xmmB, 0);
  1660. e->pextrw(gzA, xmmB, 0);
  1661. e->pextrw(anyptr_gpA, xmmB, 0);
  1662. e->phminposuw(xmmA, xmmB);
  1663. e->phminposuw(xmmA, anyptr_gpB);
  1664. e->pinsrb(xmmA, gdB, 0);
  1665. e->pinsrb(xmmA, gzB, 0);
  1666. e->pinsrb(xmmA, anyptr_gpB, 0);
  1667. e->pinsrd(xmmA, gdB, 0);
  1668. e->pinsrd(xmmA, gzB, 0);
  1669. e->pinsrd(xmmA, anyptr_gpB, 0);
  1670. e->pinsrw(xmmA, gdB, 0);
  1671. e->pinsrw(xmmA, gzB, 0);
  1672. e->pinsrw(xmmA, anyptr_gpB, 0);
  1673. e->pmaxuw(xmmA, xmmB);
  1674. e->pmaxuw(xmmA, anyptr_gpB);
  1675. e->pmaxsb(xmmA, xmmB);
  1676. e->pmaxsb(xmmA, anyptr_gpB);
  1677. e->pmaxsd(xmmA, xmmB);
  1678. e->pmaxsd(xmmA, anyptr_gpB);
  1679. e->pmaxud(xmmA, xmmB);
  1680. e->pmaxud(xmmA, anyptr_gpB);
  1681. e->pminsb(xmmA, xmmB);
  1682. e->pminsb(xmmA, anyptr_gpB);
  1683. e->pminuw(xmmA, xmmB);
  1684. e->pminuw(xmmA, anyptr_gpB);
  1685. e->pminud(xmmA, xmmB);
  1686. e->pminud(xmmA, anyptr_gpB);
  1687. e->pminsd(xmmA, xmmB);
  1688. e->pminsd(xmmA, anyptr_gpB);
  1689. e->pmovsxbw(xmmA, xmmB);
  1690. e->pmovsxbw(xmmA, anyptr_gpB);
  1691. e->pmovsxbd(xmmA, xmmB);
  1692. e->pmovsxbd(xmmA, anyptr_gpB);
  1693. e->pmovsxbq(xmmA, xmmB);
  1694. e->pmovsxbq(xmmA, anyptr_gpB);
  1695. e->pmovsxwd(xmmA, xmmB);
  1696. e->pmovsxwd(xmmA, anyptr_gpB);
  1697. e->pmovsxwq(xmmA, xmmB);
  1698. e->pmovsxwq(xmmA, anyptr_gpB);
  1699. e->pmovsxdq(xmmA, xmmB);
  1700. e->pmovsxdq(xmmA, anyptr_gpB);
  1701. e->pmovzxbw(xmmA, xmmB);
  1702. e->pmovzxbw(xmmA, anyptr_gpB);
  1703. e->pmovzxbd(xmmA, xmmB);
  1704. e->pmovzxbd(xmmA, anyptr_gpB);
  1705. e->pmovzxbq(xmmA, xmmB);
  1706. e->pmovzxbq(xmmA, anyptr_gpB);
  1707. e->pmovzxwd(xmmA, xmmB);
  1708. e->pmovzxwd(xmmA, anyptr_gpB);
  1709. e->pmovzxwq(xmmA, xmmB);
  1710. e->pmovzxwq(xmmA, anyptr_gpB);
  1711. e->pmovzxdq(xmmA, xmmB);
  1712. e->pmovzxdq(xmmA, anyptr_gpB);
  1713. e->pmuldq(xmmA, xmmB);
  1714. e->pmuldq(xmmA, anyptr_gpB);
  1715. e->pmulld(xmmA, xmmB);
  1716. e->pmulld(xmmA, anyptr_gpB);
  1717. e->ptest(xmmA, xmmB);
  1718. e->ptest(xmmA, anyptr_gpB);
  1719. e->roundps(xmmA, xmmB, 0);
  1720. e->roundps(xmmA, anyptr_gpB, 0);
  1721. e->roundss(xmmA, xmmB, 0);
  1722. e->roundss(xmmA, anyptr_gpB, 0);
  1723. e->roundpd(xmmA, xmmB, 0);
  1724. e->roundpd(xmmA, anyptr_gpB, 0);
  1725. e->roundsd(xmmA, xmmB, 0);
  1726. e->roundsd(xmmA, anyptr_gpB, 0);
  1727. // SSE4.2.
  1728. e->nop();
  1729. e->pcmpestri(xmmA, xmmB , imm(0)); // Implicit xmmA, xmmB, imm, <ECX>, <EAX>, <EDX>
  1730. e->pcmpestri(xmmA, xmmB , imm(0), ecx, eax, edx); // Explicit xmmA, xmmB, imm, <ECX>, <EAX>, <EDX>
  1731. e->pcmpestri(xmmA, anyptr_gpB, imm(0)); // Implicit xmmA, mem , imm, <ECX>, <EAX>, <EDX>
  1732. e->pcmpestri(xmmA, anyptr_gpB, imm(0), ecx, eax, edx); // Explicit xmmA, mem , imm, <ECX>, <EAX>, <EDX>
  1733. e->pcmpestrm(xmmA, xmmB , imm(0)); // Implicit xmmA, xmmB, imm, <XMM0>, <EAX>, <EDX>
  1734. e->pcmpestrm(xmmA, xmmB , imm(0), xmm0, eax, edx); // Explicit xmmA, xmmB, imm, <XMM0>, <EAX>, <EDX>
  1735. e->pcmpestrm(xmmA, anyptr_gpB, imm(0)); // Implicit xmmA, mem , imm, <XMM0>, <EAX>, <EDX>
  1736. e->pcmpestrm(xmmA, anyptr_gpB, imm(0), xmm0, eax, edx); // Explicit xmmA, mem , imm, <XMM0>, <EAX>, <EDX>
  1737. e->pcmpistri(xmmA, xmmB , imm(0)); // Implicit xmmA, xmmB, imm, <ECX>
  1738. e->pcmpistri(xmmA, xmmB , imm(0), ecx); // Explicit xmmA, xmmB, imm, <ECX>
  1739. e->pcmpistri(xmmA, anyptr_gpB, imm(0)); // Implicit xmmA, mem , imm, <ECX>
  1740. e->pcmpistri(xmmA, anyptr_gpB, imm(0), ecx); // Explicit xmmA, mem , imm, <ECX>
  1741. e->pcmpistrm(xmmA, xmmB , imm(0)); // Implicit xmmA, xmmB, imm, <XMM0>
  1742. e->pcmpistrm(xmmA, xmmB , imm(0), xmm0); // Explicit xmmA, xmmB, imm, <XMM0>
  1743. e->pcmpistrm(xmmA, anyptr_gpB, imm(0)); // Implicit xmmA, mem , imm, <XMM0>
  1744. e->pcmpistrm(xmmA, anyptr_gpB, imm(0), xmm0); // Explicit xmmA, mem , imm, <XMM0>
  1745. e->pcmpgtq(xmmA, xmmB);
  1746. e->pcmpgtq(xmmA, anyptr_gpB);
  1747. // SSE4A.
  1748. e->nop();
  1749. e->extrq(xmmA, xmmB);
  1750. e->extrq(xmmA, 0x1, 0x2);
  1751. e->extrq(xmmB, 0x1, 0x2);
  1752. e->insertq(xmmA, xmmB);
  1753. e->insertq(xmmA, xmmB, 0x1, 0x2);
  1754. e->movntsd(anyptr_gpA, xmmB);
  1755. e->movntss(anyptr_gpA, xmmB);
  1756. // AESNI.
  1757. e->nop();
  1758. e->aesdec(xmmA, xmmB);
  1759. e->aesdec(xmmA, anyptr_gpB);
  1760. e->aesdeclast(xmmA, xmmB);
  1761. e->aesdeclast(xmmA, anyptr_gpB);
  1762. e->aesenc(xmmA, xmmB);
  1763. e->aesenc(xmmA, anyptr_gpB);
  1764. e->aesenclast(xmmA, xmmB);
  1765. e->aesenclast(xmmA, anyptr_gpB);
  1766. e->aesimc(xmmA, xmmB);
  1767. e->aesimc(xmmA, anyptr_gpB);
  1768. e->aeskeygenassist(xmmA, xmmB, 0);
  1769. e->aeskeygenassist(xmmA, anyptr_gpB, 0);
  1770. // SHA.
  1771. e->nop();
  1772. e->sha1msg1(xmmA, xmmB);
  1773. e->sha1msg1(xmmA, anyptr_gpB);
  1774. e->sha1msg2(xmmA, xmmB);
  1775. e->sha1msg2(xmmA, anyptr_gpB);
  1776. e->sha1nexte(xmmA, xmmB);
  1777. e->sha1nexte(xmmA, anyptr_gpB);
  1778. e->sha1rnds4(xmmA, xmmB, 0);
  1779. e->sha1rnds4(xmmA, anyptr_gpB, 0);
  1780. e->sha256msg1(xmmA, xmmB);
  1781. e->sha256msg1(xmmA, anyptr_gpB);
  1782. e->sha256msg2(xmmA, xmmB);
  1783. e->sha256msg2(xmmA, anyptr_gpB);
  1784. e->sha256rnds2(xmmA, xmmB); // Implicit xmmA, xmmB, <XMM0>
  1785. e->sha256rnds2(xmmA, xmmB, xmm0); // Explicit xmmA, xmmB, <XMM0>
  1786. e->sha256rnds2(xmmA, anyptr_gpB); // Implicit xmmA, mem, <XMM0>
  1787. e->sha256rnds2(xmmA, anyptr_gpB, xmm0); // Explicit xmmA, mem, <XMM0>
  1788. // PCLMULQDQ.
  1789. e->nop();
  1790. e->pclmulqdq(xmmA, xmmB, 0);
  1791. e->pclmulqdq(xmmA, anyptr_gpB, 0);
  1792. // AVX.
  1793. e->nop();
  1794. e->vaddpd(xmmA, xmmB, xmmC);
  1795. e->vaddpd(xmmA, xmmB, anyptr_gpC);
  1796. e->vaddpd(ymmA, ymmB, ymmC);
  1797. e->vaddpd(ymmA, ymmB, anyptr_gpC);
  1798. e->vaddps(xmmA, xmmB, xmmC);
  1799. e->vaddps(xmmA, xmmB, anyptr_gpC);
  1800. e->vaddps(ymmA, ymmB, ymmC);
  1801. e->vaddps(ymmA, ymmB, anyptr_gpC);
  1802. e->vaddsd(xmmA, xmmB, xmmC);
  1803. e->vaddsd(xmmA, xmmB, anyptr_gpC);
  1804. e->vaddss(xmmA, xmmB, xmmC);
  1805. e->vaddss(xmmA, xmmB, anyptr_gpC);
  1806. e->vaddsubpd(xmmA, xmmB, xmmC);
  1807. e->vaddsubpd(xmmA, xmmB, anyptr_gpC);
  1808. e->vaddsubpd(ymmA, ymmB, ymmC);
  1809. e->vaddsubpd(ymmA, ymmB, anyptr_gpC);
  1810. e->vaddsubps(xmmA, xmmB, xmmC);
  1811. e->vaddsubps(xmmA, xmmB, anyptr_gpC);
  1812. e->vaddsubps(ymmA, ymmB, ymmC);
  1813. e->vaddsubps(ymmA, ymmB, anyptr_gpC);
  1814. e->vandpd(xmmA, xmmB, xmmC);
  1815. e->vandpd(xmmA, xmmB, anyptr_gpC);
  1816. e->vandpd(ymmA, ymmB, ymmC);
  1817. e->vandpd(ymmA, ymmB, anyptr_gpC);
  1818. e->vandps(xmmA, xmmB, xmmC);
  1819. e->vandps(xmmA, xmmB, anyptr_gpC);
  1820. e->vandps(ymmA, ymmB, ymmC);
  1821. e->vandps(ymmA, ymmB, anyptr_gpC);
  1822. e->vandnpd(xmmA, xmmB, xmmC);
  1823. e->vandnpd(xmmA, xmmB, anyptr_gpC);
  1824. e->vandnpd(ymmA, ymmB, ymmC);
  1825. e->vandnpd(ymmA, ymmB, anyptr_gpC);
  1826. e->vandnps(xmmA, xmmB, xmmC);
  1827. e->vandnps(xmmA, xmmB, anyptr_gpC);
  1828. e->vandnps(ymmA, ymmB, ymmC);
  1829. e->vandnps(ymmA, ymmB, anyptr_gpC);
  1830. e->vblendpd(xmmA, xmmB, xmmC, 0);
  1831. e->vblendpd(xmmA, xmmB, anyptr_gpC, 0);
  1832. e->vblendpd(ymmA, ymmB, ymmC, 0);
  1833. e->vblendpd(ymmA, ymmB, anyptr_gpC, 0);
  1834. e->vblendps(xmmA, xmmB, xmmC, 0);
  1835. e->vblendps(xmmA, xmmB, anyptr_gpC, 0);
  1836. e->vblendps(ymmA, ymmB, ymmC, 0);
  1837. e->vblendps(ymmA, ymmB, anyptr_gpC, 0);
  1838. e->vblendvpd(xmmA, xmmB, xmmC, xmmD);
  1839. e->vblendvpd(xmmA, xmmB, anyptr_gpC, xmmD);
  1840. e->vblendvpd(ymmA, ymmB, ymmC, ymmD);
  1841. e->vblendvpd(ymmA, ymmB, anyptr_gpC, ymmD);
  1842. e->vbroadcastf128(ymmA, anyptr_gpB);
  1843. e->vbroadcastsd(ymmA, anyptr_gpB);
  1844. e->vbroadcastss(xmmA, anyptr_gpB);
  1845. e->vbroadcastss(ymmA, anyptr_gpB);
  1846. e->vcmppd(xmmA, xmmB, xmmC, 0);
  1847. e->vcmppd(xmmA, xmmB, anyptr_gpC, 0);
  1848. e->vcmppd(ymmA, ymmB, ymmC, 0);
  1849. e->vcmppd(ymmA, ymmB, anyptr_gpC, 0);
  1850. e->vcmpps(xmmA, xmmB, xmmC, 0);
  1851. e->vcmpps(xmmA, xmmB, anyptr_gpC, 0);
  1852. e->vcmpps(ymmA, ymmB, ymmC, 0);
  1853. e->vcmpps(ymmA, ymmB, anyptr_gpC, 0);
  1854. e->vcmpsd(xmmA, xmmB, xmmC, 0);
  1855. e->vcmpsd(xmmA, xmmB, anyptr_gpC, 0);
  1856. e->vcmpss(xmmA, xmmB, xmmC, 0);
  1857. e->vcmpss(xmmA, xmmB, anyptr_gpC, 0);
  1858. e->vcomisd(xmmA, xmmB);
  1859. e->vcomisd(xmmA, anyptr_gpB);
  1860. e->vcomiss(xmmA, xmmB);
  1861. e->vcomiss(xmmA, anyptr_gpB);
  1862. e->vcvtdq2pd(xmmA, xmmB);
  1863. e->vcvtdq2pd(xmmA, anyptr_gpB);
  1864. e->vcvtdq2pd(ymmA, xmmB);
  1865. e->vcvtdq2pd(ymmA, anyptr_gpB);
  1866. e->vcvtdq2ps(xmmA, xmmB);
  1867. e->vcvtdq2ps(xmmA, anyptr_gpB);
  1868. e->vcvtdq2ps(ymmA, ymmB);
  1869. e->vcvtdq2ps(ymmA, anyptr_gpB);
  1870. e->vcvtpd2dq(xmmA, xmmB);
  1871. e->vcvtpd2dq(xmmA, ymmB);
  1872. e->vcvtpd2dq(xmmA, anyptr_gpB);
  1873. e->vcvtpd2ps(xmmA, xmmB);
  1874. e->vcvtpd2ps(xmmA, ymmB);
  1875. e->vcvtpd2ps(xmmA, anyptr_gpB);
  1876. e->vcvtps2dq(xmmA, xmmB);
  1877. e->vcvtps2dq(xmmA, anyptr_gpB);
  1878. e->vcvtps2dq(ymmA, ymmB);
  1879. e->vcvtps2dq(ymmA, anyptr_gpB);
  1880. e->vcvtps2pd(xmmA, xmmB);
  1881. e->vcvtps2pd(xmmA, anyptr_gpB);
  1882. e->vcvtps2pd(ymmA, xmmB);
  1883. e->vcvtps2pd(ymmA, anyptr_gpB);
  1884. e->vcvtsd2si(gzA, xmmB);
  1885. e->vcvtsd2si(gzA, anyptr_gpB);
  1886. e->vcvtsd2ss(xmmA, xmmB, xmmC);
  1887. e->vcvtsd2ss(xmmA, xmmB, anyptr_gpC);
  1888. e->vcvtsi2sd(xmmA, xmmB, gzC);
  1889. e->vcvtsi2sd(xmmA, xmmB, anyptr_gpC);
  1890. e->vcvtsi2ss(xmmA, xmmB, gzC);
  1891. e->vcvtsi2ss(xmmA, xmmB, anyptr_gpC);
  1892. e->vcvtss2sd(xmmA, xmmB, xmmC);
  1893. e->vcvtss2sd(xmmA, xmmB, anyptr_gpC);
  1894. e->vcvtss2si(gzA, xmmB);
  1895. e->vcvtss2si(gzA, anyptr_gpB);
  1896. e->vcvttpd2dq(xmmA, xmmB);
  1897. e->vcvttpd2dq(xmmA, ymmB);
  1898. e->vcvttpd2dq(xmmA, anyptr_gpB);
  1899. e->vcvttps2dq(xmmA, xmmB);
  1900. e->vcvttps2dq(xmmA, anyptr_gpB);
  1901. e->vcvttps2dq(ymmA, ymmB);
  1902. e->vcvttps2dq(ymmA, anyptr_gpB);
  1903. e->vcvttsd2si(gzA, xmmB);
  1904. e->vcvttsd2si(gzA, anyptr_gpB);
  1905. e->vcvttss2si(gzA, xmmB);
  1906. e->vcvttss2si(gzA, anyptr_gpB);
  1907. e->vdivpd(xmmA, xmmB, xmmC);
  1908. e->vdivpd(xmmA, xmmB, anyptr_gpC);
  1909. e->vdivpd(ymmA, ymmB, ymmC);
  1910. e->vdivpd(ymmA, ymmB, anyptr_gpC);
  1911. e->vdivps(xmmA, xmmB, xmmC);
  1912. e->vdivps(xmmA, xmmB, anyptr_gpC);
  1913. e->vdivps(ymmA, ymmB, ymmC);
  1914. e->vdivps(ymmA, ymmB, anyptr_gpC);
  1915. e->vdivsd(xmmA, xmmB, xmmC);
  1916. e->vdivsd(xmmA, xmmB, anyptr_gpC);
  1917. e->vdivss(xmmA, xmmB, xmmC);
  1918. e->vdivss(xmmA, xmmB, anyptr_gpC);
  1919. e->vdppd(xmmA, xmmB, xmmC, 0);
  1920. e->vdppd(xmmA, xmmB, anyptr_gpC, 0);
  1921. e->vdpps(xmmA, xmmB, xmmC, 0);
  1922. e->vdpps(xmmA, xmmB, anyptr_gpC, 0);
  1923. e->vdpps(ymmA, ymmB, ymmC, 0);
  1924. e->vdpps(ymmA, ymmB, anyptr_gpC, 0);
  1925. e->vextractf128(xmmA, ymmB, 0);
  1926. e->vextractf128(anyptr_gpA, ymmB, 0);
  1927. e->vextractps(gzA, xmmB, 0);
  1928. e->vextractps(anyptr_gpA, xmmB, 0);
  1929. e->vhaddpd(xmmA, xmmB, xmmC);
  1930. e->vhaddpd(xmmA, xmmB, anyptr_gpC);
  1931. e->vhaddpd(ymmA, ymmB, ymmC);
  1932. e->vhaddpd(ymmA, ymmB, anyptr_gpC);
  1933. e->vhaddps(xmmA, xmmB, xmmC);
  1934. e->vhaddps(xmmA, xmmB, anyptr_gpC);
  1935. e->vhaddps(ymmA, ymmB, ymmC);
  1936. e->vhaddps(ymmA, ymmB, anyptr_gpC);
  1937. e->vhsubpd(xmmA, xmmB, xmmC);
  1938. e->vhsubpd(xmmA, xmmB, anyptr_gpC);
  1939. e->vhsubpd(ymmA, ymmB, ymmC);
  1940. e->vhsubpd(ymmA, ymmB, anyptr_gpC);
  1941. e->vhsubps(xmmA, xmmB, xmmC);
  1942. e->vhsubps(xmmA, xmmB, anyptr_gpC);
  1943. e->vhsubps(ymmA, ymmB, ymmC);
  1944. e->vhsubps(ymmA, ymmB, anyptr_gpC);
  1945. e->vinsertf128(ymmA, ymmB, xmmC, 0);
  1946. e->vinsertf128(ymmA, ymmB, anyptr_gpC, 0);
  1947. e->vinsertps(xmmA, xmmB, xmmC, 0);
  1948. e->vinsertps(xmmA, xmmB, anyptr_gpC, 0);
  1949. e->vlddqu(xmmA, anyptr_gpB);
  1950. e->vlddqu(ymmA, anyptr_gpB);
  1951. e->vldmxcsr(anyptr_gpA);
  1952. e->vmaskmovdqu(xmmA, xmmB); // Implicit xmmA, xmmB, <ds:[EDI|RDI]>
  1953. e->vmaskmovdqu(xmmA, xmmB, ptr(e->zdi())); // Explicit xmmA, xmmB, <ds:[EDI|RDI]>
  1954. e->vmaskmovps(xmmA, xmmB, anyptr_gpC);
  1955. e->vmaskmovps(ymmA, ymmB, anyptr_gpC);
  1956. e->vmaskmovps(anyptr_gpA, xmmB, xmmC);
  1957. e->vmaskmovps(anyptr_gpA, ymmB, ymmC);
  1958. e->vmaskmovpd(xmmA, xmmB, anyptr_gpC);
  1959. e->vmaskmovpd(ymmA, ymmB, anyptr_gpC);
  1960. e->vmaskmovpd(anyptr_gpA, xmmB, xmmC);
  1961. e->vmaskmovpd(anyptr_gpA, ymmB, ymmC);
  1962. e->vmaxpd(xmmA, xmmB, xmmC);
  1963. e->vmaxpd(xmmA, xmmB, anyptr_gpC);
  1964. e->vmaxpd(ymmA, ymmB, ymmC);
  1965. e->vmaxpd(ymmA, ymmB, anyptr_gpC);
  1966. e->vmaxps(xmmA, xmmB, xmmC);
  1967. e->vmaxps(xmmA, xmmB, anyptr_gpC);
  1968. e->vmaxps(ymmA, ymmB, ymmC);
  1969. e->vmaxps(ymmA, ymmB, anyptr_gpC);
  1970. e->vmaxsd(xmmA, xmmB, xmmC);
  1971. e->vmaxsd(xmmA, xmmB, anyptr_gpC);
  1972. e->vmaxss(xmmA, xmmB, xmmC);
  1973. e->vmaxss(xmmA, xmmB, anyptr_gpC);
  1974. e->vminpd(xmmA, xmmB, xmmC);
  1975. e->vminpd(xmmA, xmmB, anyptr_gpC);
  1976. e->vminpd(ymmA, ymmB, ymmC);
  1977. e->vminpd(ymmA, ymmB, anyptr_gpC);
  1978. e->vminps(xmmA, xmmB, xmmC);
  1979. e->vminps(xmmA, xmmB, anyptr_gpC);
  1980. e->vminps(ymmA, ymmB, ymmC);
  1981. e->vminps(ymmA, ymmB, anyptr_gpC);
  1982. e->vminsd(xmmA, xmmB, xmmC);
  1983. e->vminsd(xmmA, xmmB, anyptr_gpC);
  1984. e->vminss(xmmA, xmmB, xmmC);
  1985. e->vminss(xmmA, xmmB, anyptr_gpC);
  1986. e->vmovapd(xmmA, xmmB);
  1987. e->vmovapd(xmmA, anyptr_gpB);
  1988. e->vmovapd(anyptr_gpA, xmmB);
  1989. e->vmovapd(ymmA, ymmB);
  1990. e->vmovapd(ymmA, anyptr_gpB);
  1991. e->vmovapd(anyptr_gpA, ymmB);
  1992. e->vmovaps(xmmA, xmmB);
  1993. e->vmovaps(xmmA, anyptr_gpB);
  1994. e->vmovaps(anyptr_gpA, xmmB);
  1995. e->vmovaps(ymmA, ymmB);
  1996. e->vmovaps(ymmA, anyptr_gpB);
  1997. e->vmovaps(anyptr_gpA, ymmB);
  1998. e->vmovd(xmmA, gzB);
  1999. e->vmovd(xmmA, anyptr_gpB);
  2000. e->vmovd(gzA, xmmB);
  2001. e->vmovd(anyptr_gpA, xmmB);
  2002. e->vmovddup(xmmA, xmmB);
  2003. e->vmovddup(xmmA, anyptr_gpB);
  2004. e->vmovddup(ymmA, ymmB);
  2005. e->vmovddup(ymmA, anyptr_gpB);
  2006. e->vmovdqa(xmmA, xmmB);
  2007. e->vmovdqa(xmmA, anyptr_gpB);
  2008. e->vmovdqa(anyptr_gpA, xmmB);
  2009. e->vmovdqa(ymmA, ymmB);
  2010. e->vmovdqa(ymmA, anyptr_gpB);
  2011. e->vmovdqa(anyptr_gpA, ymmB);
  2012. e->vmovdqu(xmmA, xmmB);
  2013. e->vmovdqu(xmmA, anyptr_gpB);
  2014. e->vmovdqu(anyptr_gpA, xmmB);
  2015. e->vmovdqu(ymmA, ymmB);
  2016. e->vmovdqu(ymmA, anyptr_gpB);
  2017. e->vmovdqu(anyptr_gpA, ymmB);
  2018. e->vmovhlps(xmmA, xmmB, xmmC);
  2019. e->vmovhpd(xmmA, xmmB, anyptr_gpC);
  2020. e->vmovhpd(anyptr_gpA, xmmB);
  2021. e->vmovhps(xmmA, xmmB, anyptr_gpC);
  2022. e->vmovhps(anyptr_gpA, xmmB);
  2023. e->vmovlhps(xmmA, xmmB, xmmC);
  2024. e->vmovlpd(xmmA, xmmB, anyptr_gpC);
  2025. e->vmovlpd(anyptr_gpA, xmmB);
  2026. e->vmovlps(xmmA, xmmB, anyptr_gpC);
  2027. e->vmovlps(anyptr_gpA, xmmB);
  2028. e->vmovmskpd(gzA, xmmB);
  2029. e->vmovmskpd(gzA, ymmB);
  2030. e->vmovmskps(gzA, xmmB);
  2031. e->vmovmskps(gzA, ymmB);
  2032. e->vmovntdq(anyptr_gpA, xmmB);
  2033. e->vmovntdq(anyptr_gpA, ymmB);
  2034. e->vmovntdqa(xmmA, anyptr_gpB);
  2035. e->vmovntpd(anyptr_gpA, xmmB);
  2036. e->vmovntpd(anyptr_gpA, ymmB);
  2037. e->vmovntps(anyptr_gpA, xmmB);
  2038. e->vmovntps(anyptr_gpA, ymmB);
  2039. e->vmovsd(xmmA, xmmB, xmmC);
  2040. e->vmovsd(xmmA, anyptr_gpB);
  2041. e->vmovsd(anyptr_gpA, xmmB);
  2042. e->vmovshdup(xmmA, xmmB);
  2043. e->vmovshdup(xmmA, anyptr_gpB);
  2044. e->vmovshdup(ymmA, ymmB);
  2045. e->vmovshdup(ymmA, anyptr_gpB);
  2046. e->vmovsldup(xmmA, xmmB);
  2047. e->vmovsldup(xmmA, anyptr_gpB);
  2048. e->vmovsldup(ymmA, ymmB);
  2049. e->vmovsldup(ymmA, anyptr_gpB);
  2050. e->vmovss(xmmA, xmmB, xmmC);
  2051. e->vmovss(xmmA, anyptr_gpB);
  2052. e->vmovss(anyptr_gpA, xmmB);
  2053. e->vmovupd(xmmA, xmmB);
  2054. e->vmovupd(xmmA, anyptr_gpB);
  2055. e->vmovupd(anyptr_gpA, xmmB);
  2056. e->vmovupd(ymmA, ymmB);
  2057. e->vmovupd(ymmA, anyptr_gpB);
  2058. e->vmovupd(anyptr_gpA, ymmB);
  2059. e->vmovups(xmmA, xmmB);
  2060. e->vmovups(xmmA, anyptr_gpB);
  2061. e->vmovups(anyptr_gpA, xmmB);
  2062. e->vmovups(ymmA, ymmB);
  2063. e->vmovups(ymmA, anyptr_gpB);
  2064. e->vmovups(anyptr_gpA, ymmB);
  2065. e->vmpsadbw(xmmA, xmmB, xmmC, 0);
  2066. e->vmpsadbw(xmmA, xmmB, anyptr_gpC, 0);
  2067. e->vmulpd(xmmA, xmmB, xmmC);
  2068. e->vmulpd(xmmA, xmmB, anyptr_gpC);
  2069. e->vmulpd(ymmA, ymmB, ymmC);
  2070. e->vmulpd(ymmA, ymmB, anyptr_gpC);
  2071. e->vmulps(xmmA, xmmB, xmmC);
  2072. e->vmulps(xmmA, xmmB, anyptr_gpC);
  2073. e->vmulps(ymmA, ymmB, ymmC);
  2074. e->vmulps(ymmA, ymmB, anyptr_gpC);
  2075. e->vmulsd(xmmA, xmmB, xmmC);
  2076. e->vmulsd(xmmA, xmmB, anyptr_gpC);
  2077. e->vmulss(xmmA, xmmB, xmmC);
  2078. e->vmulss(xmmA, xmmB, anyptr_gpC);
  2079. e->vorpd(xmmA, xmmB, xmmC);
  2080. e->vorpd(xmmA, xmmB, anyptr_gpC);
  2081. e->vorpd(ymmA, ymmB, ymmC);
  2082. e->vorpd(ymmA, ymmB, anyptr_gpC);
  2083. e->vorps(xmmA, xmmB, xmmC);
  2084. e->vorps(xmmA, xmmB, anyptr_gpC);
  2085. e->vorps(ymmA, ymmB, ymmC);
  2086. e->vorps(ymmA, ymmB, anyptr_gpC);
  2087. e->vpabsb(xmmA, xmmB);
  2088. e->vpabsb(xmmA, anyptr_gpB);
  2089. e->vpabsd(xmmA, xmmB);
  2090. e->vpabsd(xmmA, anyptr_gpB);
  2091. e->vpabsw(xmmA, xmmB);
  2092. e->vpabsw(xmmA, anyptr_gpB);
  2093. e->vpackssdw(xmmA, xmmB, xmmC);
  2094. e->vpackssdw(xmmA, xmmB, anyptr_gpC);
  2095. e->vpacksswb(xmmA, xmmB, xmmC);
  2096. e->vpacksswb(xmmA, xmmB, anyptr_gpC);
  2097. e->vpackusdw(xmmA, xmmB, xmmC);
  2098. e->vpackusdw(xmmA, xmmB, anyptr_gpC);
  2099. e->vpackuswb(xmmA, xmmB, xmmC);
  2100. e->vpackuswb(xmmA, xmmB, anyptr_gpC);
  2101. e->vpaddb(xmmA, xmmB, xmmC);
  2102. e->vpaddb(xmmA, xmmB, anyptr_gpC);
  2103. e->vpaddd(xmmA, xmmB, xmmC);
  2104. e->vpaddd(xmmA, xmmB, anyptr_gpC);
  2105. e->vpaddq(xmmA, xmmB, xmmC);
  2106. e->vpaddq(xmmA, xmmB, anyptr_gpC);
  2107. e->vpaddw(xmmA, xmmB, xmmC);
  2108. e->vpaddw(xmmA, xmmB, anyptr_gpC);
  2109. e->vpaddsb(xmmA, xmmB, xmmC);
  2110. e->vpaddsb(xmmA, xmmB, anyptr_gpC);
  2111. e->vpaddsw(xmmA, xmmB, xmmC);
  2112. e->vpaddsw(xmmA, xmmB, anyptr_gpC);
  2113. e->vpaddusb(xmmA, xmmB, xmmC);
  2114. e->vpaddusb(xmmA, xmmB, anyptr_gpC);
  2115. e->vpaddusw(xmmA, xmmB, xmmC);
  2116. e->vpaddusw(xmmA, xmmB, anyptr_gpC);
  2117. e->vpalignr(xmmA, xmmB, xmmC, 0);
  2118. e->vpalignr(xmmA, xmmB, anyptr_gpC, 0);
  2119. e->vpand(xmmA, xmmB, xmmC);
  2120. e->vpand(xmmA, xmmB, anyptr_gpC);
  2121. e->vpandn(xmmA, xmmB, xmmC);
  2122. e->vpandn(xmmA, xmmB, anyptr_gpC);
  2123. e->vpavgb(xmmA, xmmB, xmmC);
  2124. e->vpavgb(xmmA, xmmB, anyptr_gpC);
  2125. e->vpavgw(xmmA, xmmB, xmmC);
  2126. e->vpavgw(xmmA, xmmB, anyptr_gpC);
  2127. e->vpblendvb(xmmA, xmmB, xmmC, xmmD);
  2128. e->vpblendvb(xmmA, xmmB, anyptr_gpC, xmmD);
  2129. e->vpblendw(xmmA, xmmB, xmmC, 0);
  2130. e->vpblendw(xmmA, xmmB, anyptr_gpC, 0);
  2131. e->vpcmpeqb(xmmA, xmmB, xmmC);
  2132. e->vpcmpeqb(xmmA, xmmB, anyptr_gpC);
  2133. e->vpcmpeqd(xmmA, xmmB, xmmC);
  2134. e->vpcmpeqd(xmmA, xmmB, anyptr_gpC);
  2135. e->vpcmpeqq(xmmA, xmmB, xmmC);
  2136. e->vpcmpeqq(xmmA, xmmB, anyptr_gpC);
  2137. e->vpcmpeqw(xmmA, xmmB, xmmC);
  2138. e->vpcmpeqw(xmmA, xmmB, anyptr_gpC);
  2139. e->vpcmpgtb(xmmA, xmmB, xmmC);
  2140. e->vpcmpgtb(xmmA, xmmB, anyptr_gpC);
  2141. e->vpcmpgtd(xmmA, xmmB, xmmC);
  2142. e->vpcmpgtd(xmmA, xmmB, anyptr_gpC);
  2143. e->vpcmpgtq(xmmA, xmmB, xmmC);
  2144. e->vpcmpgtq(xmmA, xmmB, anyptr_gpC);
  2145. e->vpcmpgtw(xmmA, xmmB, xmmC);
  2146. e->vpcmpgtw(xmmA, xmmB, anyptr_gpC);
  2147. e->vpcmpestri(xmmA, xmmB, 0);
  2148. e->vpcmpestri(xmmA, anyptr_gpB, 0);
  2149. e->vpcmpestrm(xmmA, xmmB, 0);
  2150. e->vpcmpestrm(xmmA, anyptr_gpB, 0);
  2151. e->vpcmpistri(xmmA, xmmB, 0);
  2152. e->vpcmpistri(xmmA, anyptr_gpB, 0);
  2153. e->vpcmpistrm(xmmA, xmmB, 0);
  2154. e->vpcmpistrm(xmmA, anyptr_gpB, 0);
  2155. e->vpermilpd(xmmA, xmmB, xmmC);
  2156. e->vpermilpd(xmmA, xmmB, anyptr_gpC);
  2157. e->vpermilpd(ymmA, ymmB, ymmC);
  2158. e->vpermilpd(ymmA, ymmB, anyptr_gpC);
  2159. e->vpermilpd(xmmA, xmmB, 0);
  2160. e->vpermilpd(xmmA, anyptr_gpB, 0);
  2161. e->vpermilpd(ymmA, ymmB, 0);
  2162. e->vpermilpd(ymmA, anyptr_gpB, 0);
  2163. e->vpermilps(xmmA, xmmB, xmmC);
  2164. e->vpermilps(xmmA, xmmB, anyptr_gpC);
  2165. e->vpermilps(ymmA, ymmB, ymmC);
  2166. e->vpermilps(ymmA, ymmB, anyptr_gpC);
  2167. e->vpermilps(xmmA, xmmB, 0);
  2168. e->vpermilps(xmmA, anyptr_gpB, 0);
  2169. e->vpermilps(ymmA, ymmB, 0);
  2170. e->vpermilps(ymmA, anyptr_gpB, 0);
  2171. e->vperm2f128(ymmA, ymmB, ymmC, 0);
  2172. e->vperm2f128(ymmA, ymmB, anyptr_gpC, 0);
  2173. e->vpextrb(gzA, xmmB, 0);
  2174. e->vpextrb(anyptr_gpA, xmmB, 0);
  2175. e->vpextrd(gzA, xmmB, 0);
  2176. e->vpextrd(anyptr_gpA, xmmB, 0);
  2177. if (isX64) e->vpextrq(gzA, xmmB, 0);
  2178. if (isX64) e->vpextrq(anyptr_gpA, xmmB, 0);
  2179. e->vpextrw(gzA, xmmB, 0);
  2180. e->vpextrw(anyptr_gpA, xmmB, 0);
  2181. e->vphaddd(xmmA, xmmB, xmmC);
  2182. e->vphaddd(xmmA, xmmB, anyptr_gpC);
  2183. e->vphaddsw(xmmA, xmmB, xmmC);
  2184. e->vphaddsw(xmmA, xmmB, anyptr_gpC);
  2185. e->vphaddw(xmmA, xmmB, xmmC);
  2186. e->vphaddw(xmmA, xmmB, anyptr_gpC);
  2187. e->vphminposuw(xmmA, xmmB);
  2188. e->vphminposuw(xmmA, anyptr_gpB);
  2189. e->vphsubd(xmmA, xmmB, xmmC);
  2190. e->vphsubd(xmmA, xmmB, anyptr_gpC);
  2191. e->vphsubsw(xmmA, xmmB, xmmC);
  2192. e->vphsubsw(xmmA, xmmB, anyptr_gpC);
  2193. e->vphsubw(xmmA, xmmB, xmmC);
  2194. e->vphsubw(xmmA, xmmB, anyptr_gpC);
  2195. e->vpinsrb(xmmA, xmmB, gzC, 0);
  2196. e->vpinsrb(xmmA, xmmB, anyptr_gpC, 0);
  2197. e->vpinsrd(xmmA, xmmB, gzC, 0);
  2198. e->vpinsrd(xmmA, xmmB, anyptr_gpC, 0);
  2199. e->vpinsrw(xmmA, xmmB, gzC, 0);
  2200. e->vpinsrw(xmmA, xmmB, anyptr_gpC, 0);
  2201. e->vpmaddubsw(xmmA, xmmB, xmmC);
  2202. e->vpmaddubsw(xmmA, xmmB, anyptr_gpC);
  2203. e->vpmaddwd(xmmA, xmmB, xmmC);
  2204. e->vpmaddwd(xmmA, xmmB, anyptr_gpC);
  2205. e->vpmaxsb(xmmA, xmmB, xmmC);
  2206. e->vpmaxsb(xmmA, xmmB, anyptr_gpC);
  2207. e->vpmaxsd(xmmA, xmmB, xmmC);
  2208. e->vpmaxsd(xmmA, xmmB, anyptr_gpC);
  2209. e->vpmaxsw(xmmA, xmmB, xmmC);
  2210. e->vpmaxsw(xmmA, xmmB, anyptr_gpC);
  2211. e->vpmaxub(xmmA, xmmB, xmmC);
  2212. e->vpmaxub(xmmA, xmmB, anyptr_gpC);
  2213. e->vpmaxud(xmmA, xmmB, xmmC);
  2214. e->vpmaxud(xmmA, xmmB, anyptr_gpC);
  2215. e->vpmaxuw(xmmA, xmmB, xmmC);
  2216. e->vpmaxuw(xmmA, xmmB, anyptr_gpC);
  2217. e->vpminsb(xmmA, xmmB, xmmC);
  2218. e->vpminsb(xmmA, xmmB, anyptr_gpC);
  2219. e->vpminsd(xmmA, xmmB, xmmC);
  2220. e->vpminsd(xmmA, xmmB, anyptr_gpC);
  2221. e->vpminsw(xmmA, xmmB, xmmC);
  2222. e->vpminsw(xmmA, xmmB, anyptr_gpC);
  2223. e->vpminub(xmmA, xmmB, xmmC);
  2224. e->vpminub(xmmA, xmmB, anyptr_gpC);
  2225. e->vpminud(xmmA, xmmB, xmmC);
  2226. e->vpminud(xmmA, xmmB, anyptr_gpC);
  2227. e->vpminuw(xmmA, xmmB, xmmC);
  2228. e->vpminuw(xmmA, xmmB, anyptr_gpC);
  2229. e->vpmovmskb(gzA, xmmB);
  2230. e->vpmovsxbd(xmmA, xmmB);
  2231. e->vpmovsxbd(xmmA, anyptr_gpB);
  2232. e->vpmovsxbq(xmmA, xmmB);
  2233. e->vpmovsxbq(xmmA, anyptr_gpB);
  2234. e->vpmovsxbw(xmmA, xmmB);
  2235. e->vpmovsxbw(xmmA, anyptr_gpB);
  2236. e->vpmovsxdq(xmmA, xmmB);
  2237. e->vpmovsxdq(xmmA, anyptr_gpB);
  2238. e->vpmovsxwd(xmmA, xmmB);
  2239. e->vpmovsxwd(xmmA, anyptr_gpB);
  2240. e->vpmovsxwq(xmmA, xmmB);
  2241. e->vpmovsxwq(xmmA, anyptr_gpB);
  2242. e->vpmovzxbd(xmmA, xmmB);
  2243. e->vpmovzxbd(xmmA, anyptr_gpB);
  2244. e->vpmovzxbq(xmmA, xmmB);
  2245. e->vpmovzxbq(xmmA, anyptr_gpB);
  2246. e->vpmovzxbw(xmmA, xmmB);
  2247. e->vpmovzxbw(xmmA, anyptr_gpB);
  2248. e->vpmovzxdq(xmmA, xmmB);
  2249. e->vpmovzxdq(xmmA, anyptr_gpB);
  2250. e->vpmovzxwd(xmmA, xmmB);
  2251. e->vpmovzxwd(xmmA, anyptr_gpB);
  2252. e->vpmovzxwq(xmmA, xmmB);
  2253. e->vpmovzxwq(xmmA, anyptr_gpB);
  2254. e->vpmuldq(xmmA, xmmB, xmmC);
  2255. e->vpmuldq(xmmA, xmmB, anyptr_gpC);
  2256. e->vpmulhrsw(xmmA, xmmB, xmmC);
  2257. e->vpmulhrsw(xmmA, xmmB, anyptr_gpC);
  2258. e->vpmulhuw(xmmA, xmmB, xmmC);
  2259. e->vpmulhuw(xmmA, xmmB, anyptr_gpC);
  2260. e->vpmulhw(xmmA, xmmB, xmmC);
  2261. e->vpmulhw(xmmA, xmmB, anyptr_gpC);
  2262. e->vpmulld(xmmA, xmmB, xmmC);
  2263. e->vpmulld(xmmA, xmmB, anyptr_gpC);
  2264. e->vpmullw(xmmA, xmmB, xmmC);
  2265. e->vpmullw(xmmA, xmmB, anyptr_gpC);
  2266. e->vpmuludq(xmmA, xmmB, xmmC);
  2267. e->vpmuludq(xmmA, xmmB, anyptr_gpC);
  2268. e->vpor(xmmA, xmmB, xmmC);
  2269. e->vpor(xmmA, xmmB, anyptr_gpC);
  2270. e->vpsadbw(xmmA, xmmB, xmmC);
  2271. e->vpsadbw(xmmA, xmmB, anyptr_gpC);
  2272. e->vpshufb(xmmA, xmmB, xmmC);
  2273. e->vpshufb(xmmA, xmmB, anyptr_gpC);
  2274. e->vpshufd(xmmA, xmmB, 0);
  2275. e->vpshufd(xmmA, anyptr_gpB, 0);
  2276. e->vpshufhw(xmmA, xmmB, 0);
  2277. e->vpshufhw(xmmA, anyptr_gpB, 0);
  2278. e->vpshuflw(xmmA, xmmB, 0);
  2279. e->vpshuflw(xmmA, anyptr_gpB, 0);
  2280. e->vpsignb(xmmA, xmmB, xmmC);
  2281. e->vpsignb(xmmA, xmmB, anyptr_gpC);
  2282. e->vpsignd(xmmA, xmmB, xmmC);
  2283. e->vpsignd(xmmA, xmmB, anyptr_gpC);
  2284. e->vpsignw(xmmA, xmmB, xmmC);
  2285. e->vpsignw(xmmA, xmmB, anyptr_gpC);
  2286. e->vpslld(xmmA, xmmB, xmmC);
  2287. e->vpslld(xmmA, xmmB, anyptr_gpC);
  2288. e->vpslld(xmmA, xmmB, 0);
  2289. e->vpslldq(xmmA, xmmB, 0);
  2290. e->vpsllq(xmmA, xmmB, xmmC);
  2291. e->vpsllq(xmmA, xmmB, anyptr_gpC);
  2292. e->vpsllq(xmmA, xmmB, 0);
  2293. e->vpsllw(xmmA, xmmB, xmmC);
  2294. e->vpsllw(xmmA, xmmB, anyptr_gpC);
  2295. e->vpsllw(xmmA, xmmB, 0);
  2296. e->vpsrad(xmmA, xmmB, xmmC);
  2297. e->vpsrad(xmmA, xmmB, anyptr_gpC);
  2298. e->vpsrad(xmmA, xmmB, 0);
  2299. e->vpsraw(xmmA, xmmB, xmmC);
  2300. e->vpsraw(xmmA, xmmB, anyptr_gpC);
  2301. e->vpsraw(xmmA, xmmB, 0);
  2302. e->vpsrld(xmmA, xmmB, xmmC);
  2303. e->vpsrld(xmmA, xmmB, anyptr_gpC);
  2304. e->vpsrld(xmmA, xmmB, 0);
  2305. e->vpsrldq(xmmA, xmmB, 0);
  2306. e->vpsrlq(xmmA, xmmB, xmmC);
  2307. e->vpsrlq(xmmA, xmmB, anyptr_gpC);
  2308. e->vpsrlq(xmmA, xmmB, 0);
  2309. e->vpsrlw(xmmA, xmmB, xmmC);
  2310. e->vpsrlw(xmmA, xmmB, anyptr_gpC);
  2311. e->vpsrlw(xmmA, xmmB, 0);
  2312. e->vpsubb(xmmA, xmmB, xmmC);
  2313. e->vpsubb(xmmA, xmmB, anyptr_gpC);
  2314. e->vpsubd(xmmA, xmmB, xmmC);
  2315. e->vpsubd(xmmA, xmmB, anyptr_gpC);
  2316. e->vpsubq(xmmA, xmmB, xmmC);
  2317. e->vpsubq(xmmA, xmmB, anyptr_gpC);
  2318. e->vpsubw(xmmA, xmmB, xmmC);
  2319. e->vpsubw(xmmA, xmmB, anyptr_gpC);
  2320. e->vpsubsb(xmmA, xmmB, xmmC);
  2321. e->vpsubsb(xmmA, xmmB, anyptr_gpC);
  2322. e->vpsubsw(xmmA, xmmB, xmmC);
  2323. e->vpsubsw(xmmA, xmmB, anyptr_gpC);
  2324. e->vpsubusb(xmmA, xmmB, xmmC);
  2325. e->vpsubusb(xmmA, xmmB, anyptr_gpC);
  2326. e->vpsubusw(xmmA, xmmB, xmmC);
  2327. e->vpsubusw(xmmA, xmmB, anyptr_gpC);
  2328. e->vptest(xmmA, xmmB);
  2329. e->vptest(xmmA, anyptr_gpB);
  2330. e->vptest(ymmA, ymmB);
  2331. e->vptest(ymmA, anyptr_gpB);
  2332. e->vpunpckhbw(xmmA, xmmB, xmmC);
  2333. e->vpunpckhbw(xmmA, xmmB, anyptr_gpC);
  2334. e->vpunpckhdq(xmmA, xmmB, xmmC);
  2335. e->vpunpckhdq(xmmA, xmmB, anyptr_gpC);
  2336. e->vpunpckhqdq(xmmA, xmmB, xmmC);
  2337. e->vpunpckhqdq(xmmA, xmmB, anyptr_gpC);
  2338. e->vpunpckhwd(xmmA, xmmB, xmmC);
  2339. e->vpunpckhwd(xmmA, xmmB, anyptr_gpC);
  2340. e->vpunpcklbw(xmmA, xmmB, xmmC);
  2341. e->vpunpcklbw(xmmA, xmmB, anyptr_gpC);
  2342. e->vpunpckldq(xmmA, xmmB, xmmC);
  2343. e->vpunpckldq(xmmA, xmmB, anyptr_gpC);
  2344. e->vpunpcklqdq(xmmA, xmmB, xmmC);
  2345. e->vpunpcklqdq(xmmA, xmmB, anyptr_gpC);
  2346. e->vpunpcklwd(xmmA, xmmB, xmmC);
  2347. e->vpunpcklwd(xmmA, xmmB, anyptr_gpC);
  2348. e->vpxor(xmmA, xmmB, xmmC);
  2349. e->vpxor(xmmA, xmmB, anyptr_gpC);
  2350. e->vrcpps(xmmA, xmmB);
  2351. e->vrcpps(xmmA, anyptr_gpB);
  2352. e->vrcpps(ymmA, ymmB);
  2353. e->vrcpps(ymmA, anyptr_gpB);
  2354. e->vrcpss(xmmA, xmmB, xmmC);
  2355. e->vrcpss(xmmA, xmmB, anyptr_gpC);
  2356. e->vrsqrtps(xmmA, xmmB);
  2357. e->vrsqrtps(xmmA, anyptr_gpB);
  2358. e->vrsqrtps(ymmA, ymmB);
  2359. e->vrsqrtps(ymmA, anyptr_gpB);
  2360. e->vrsqrtss(xmmA, xmmB, xmmC);
  2361. e->vrsqrtss(xmmA, xmmB, anyptr_gpC);
  2362. e->vroundpd(xmmA, xmmB, 0);
  2363. e->vroundpd(xmmA, anyptr_gpB, 0);
  2364. e->vroundpd(ymmA, ymmB, 0);
  2365. e->vroundpd(ymmA, anyptr_gpB, 0);
  2366. e->vroundps(xmmA, xmmB, 0);
  2367. e->vroundps(xmmA, anyptr_gpB, 0);
  2368. e->vroundps(ymmA, ymmB, 0);
  2369. e->vroundps(ymmA, anyptr_gpB, 0);
  2370. e->vroundsd(xmmA, xmmB, xmmC, 0);
  2371. e->vroundsd(xmmA, xmmB, anyptr_gpC, 0);
  2372. e->vroundss(xmmA, xmmB, xmmC, 0);
  2373. e->vroundss(xmmA, xmmB, anyptr_gpC, 0);
  2374. e->vshufpd(xmmA, xmmB, xmmC, 0);
  2375. e->vshufpd(xmmA, xmmB, anyptr_gpC, 0);
  2376. e->vshufpd(ymmA, ymmB, ymmC, 0);
  2377. e->vshufpd(ymmA, ymmB, anyptr_gpC, 0);
  2378. e->vshufps(xmmA, xmmB, xmmC, 0);
  2379. e->vshufps(xmmA, xmmB, anyptr_gpC, 0);
  2380. e->vshufps(ymmA, ymmB, ymmC, 0);
  2381. e->vshufps(ymmA, ymmB, anyptr_gpC, 0);
  2382. e->vsqrtpd(xmmA, xmmB);
  2383. e->vsqrtpd(xmmA, anyptr_gpB);
  2384. e->vsqrtpd(ymmA, ymmB);
  2385. e->vsqrtpd(ymmA, anyptr_gpB);
  2386. e->vsqrtps(xmmA, xmmB);
  2387. e->vsqrtps(xmmA, anyptr_gpB);
  2388. e->vsqrtps(ymmA, ymmB);
  2389. e->vsqrtps(ymmA, anyptr_gpB);
  2390. e->vsqrtsd(xmmA, xmmB, xmmC);
  2391. e->vsqrtsd(xmmA, xmmB, anyptr_gpC);
  2392. e->vsqrtss(xmmA, xmmB, xmmC);
  2393. e->vsqrtss(xmmA, xmmB, anyptr_gpC);
  2394. e->vstmxcsr(anyptr_gpA);
  2395. e->vsubpd(xmmA, xmmB, xmmC);
  2396. e->vsubpd(xmmA, xmmB, anyptr_gpC);
  2397. e->vsubpd(ymmA, ymmB, ymmC);
  2398. e->vsubpd(ymmA, ymmB, anyptr_gpC);
  2399. e->vsubps(xmmA, xmmB, xmmC);
  2400. e->vsubps(xmmA, xmmB, anyptr_gpC);
  2401. e->vsubps(ymmA, ymmB, ymmC);
  2402. e->vsubps(ymmA, ymmB, anyptr_gpC);
  2403. e->vsubsd(xmmA, xmmB, xmmC);
  2404. e->vsubsd(xmmA, xmmB, anyptr_gpC);
  2405. e->vsubss(xmmA, xmmB, xmmC);
  2406. e->vsubss(xmmA, xmmB, anyptr_gpC);
  2407. e->vtestps(xmmA, xmmB);
  2408. e->vtestps(xmmA, anyptr_gpB);
  2409. e->vtestps(ymmA, ymmB);
  2410. e->vtestps(ymmA, anyptr_gpB);
  2411. e->vtestpd(xmmA, xmmB);
  2412. e->vtestpd(xmmA, anyptr_gpB);
  2413. e->vtestpd(ymmA, ymmB);
  2414. e->vtestpd(ymmA, anyptr_gpB);
  2415. e->vucomisd(xmmA, xmmB);
  2416. e->vucomisd(xmmA, anyptr_gpB);
  2417. e->vucomiss(xmmA, xmmB);
  2418. e->vucomiss(xmmA, anyptr_gpB);
  2419. e->vunpckhpd(xmmA, xmmB, xmmC);
  2420. e->vunpckhpd(xmmA, xmmB, anyptr_gpC);
  2421. e->vunpckhpd(ymmA, ymmB, ymmC);
  2422. e->vunpckhpd(ymmA, ymmB, anyptr_gpC);
  2423. e->vunpckhps(xmmA, xmmB, xmmC);
  2424. e->vunpckhps(xmmA, xmmB, anyptr_gpC);
  2425. e->vunpckhps(ymmA, ymmB, ymmC);
  2426. e->vunpckhps(ymmA, ymmB, anyptr_gpC);
  2427. e->vunpcklpd(xmmA, xmmB, xmmC);
  2428. e->vunpcklpd(xmmA, xmmB, anyptr_gpC);
  2429. e->vunpcklpd(ymmA, ymmB, ymmC);
  2430. e->vunpcklpd(ymmA, ymmB, anyptr_gpC);
  2431. e->vunpcklps(xmmA, xmmB, xmmC);
  2432. e->vunpcklps(xmmA, xmmB, anyptr_gpC);
  2433. e->vunpcklps(ymmA, ymmB, ymmC);
  2434. e->vunpcklps(ymmA, ymmB, anyptr_gpC);
  2435. e->vxorpd(xmmA, xmmB, xmmC);
  2436. e->vxorpd(xmmA, xmmB, anyptr_gpC);
  2437. e->vxorpd(ymmA, ymmB, ymmC);
  2438. e->vxorpd(ymmA, ymmB, anyptr_gpC);
  2439. e->vxorps(xmmA, xmmB, xmmC);
  2440. e->vxorps(xmmA, xmmB, anyptr_gpC);
  2441. e->vxorps(ymmA, ymmB, ymmC);
  2442. e->vxorps(ymmA, ymmB, anyptr_gpC);
  2443. e->vzeroall();
  2444. e->vex3().vzeroall();
  2445. e->vzeroupper();
  2446. e->vex3().vzeroupper();
  2447. // AVX+AESNI.
  2448. e->nop();
  2449. e->vaesdec(xmmA, xmmB, xmmC);
  2450. e->vaesdec(xmmA, xmmB, anyptr_gpC);
  2451. e->vaesdeclast(xmmA, xmmB, xmmC);
  2452. e->vaesdeclast(xmmA, xmmB, anyptr_gpC);
  2453. e->vaesenc(xmmA, xmmB, xmmC);
  2454. e->vaesenc(xmmA, xmmB, anyptr_gpC);
  2455. e->vaesenclast(xmmA, xmmB, xmmC);
  2456. e->vaesenclast(xmmA, xmmB, anyptr_gpC);
  2457. e->vaesimc(xmmA, xmmB);
  2458. e->vaesimc(xmmA, anyptr_gpB);
  2459. e->vaeskeygenassist(xmmA, xmmB, 0);
  2460. e->vaeskeygenassist(xmmA, anyptr_gpB, 0);
  2461. // AVX+PCLMULQDQ.
  2462. e->nop();
  2463. e->vpclmulqdq(xmmA, xmmB, xmmC, 0);
  2464. e->vpclmulqdq(xmmA, xmmB, anyptr_gpC, 0);
  2465. // AVX2.
  2466. e->nop();
  2467. e->vbroadcasti128(ymmA, anyptr_gpB);
  2468. e->vbroadcastsd(ymmA, xmmB);
  2469. e->vbroadcastss(xmmA, xmmB);
  2470. e->vbroadcastss(ymmA, xmmB);
  2471. e->vextracti128(xmmA, ymmB, 0);
  2472. e->vextracti128(anyptr_gpA, ymmB, 0);
  2473. e->vgatherdpd(xmmA, vx_ptr, xmmC);
  2474. e->vgatherdpd(ymmA, vx_ptr, ymmC);
  2475. e->vgatherdps(xmmA, vx_ptr, xmmC);
  2476. e->vgatherdps(ymmA, vy_ptr, ymmC);
  2477. e->vgatherqpd(xmmA, vx_ptr, xmmC);
  2478. e->vgatherqpd(ymmA, vy_ptr, ymmC);
  2479. e->vgatherqps(xmmA, vx_ptr, xmmC);
  2480. e->vgatherqps(xmmA, vy_ptr, xmmC);
  2481. e->vinserti128(ymmA, ymmB, xmmC, 0);
  2482. e->vinserti128(ymmA, ymmB, anyptr_gpC, 0);
  2483. e->vmovntdqa(ymmA, anyptr_gpB);
  2484. e->vmpsadbw(ymmA, ymmB, ymmC, 0);
  2485. e->vmpsadbw(ymmA, ymmB, anyptr_gpC, 0);
  2486. e->vpabsb(ymmA, ymmB);
  2487. e->vpabsb(ymmA, anyptr_gpB);
  2488. e->vpabsd(ymmA, ymmB);
  2489. e->vpabsd(ymmA, anyptr_gpB);
  2490. e->vpabsw(ymmA, ymmB);
  2491. e->vpabsw(ymmA, anyptr_gpB);
  2492. e->vpackssdw(ymmA, ymmB, ymmC);
  2493. e->vpackssdw(ymmA, ymmB, anyptr_gpC);
  2494. e->vpacksswb(ymmA, ymmB, ymmC);
  2495. e->vpacksswb(ymmA, ymmB, anyptr_gpC);
  2496. e->vpackusdw(ymmA, ymmB, ymmC);
  2497. e->vpackusdw(ymmA, ymmB, anyptr_gpC);
  2498. e->vpackuswb(ymmA, ymmB, ymmC);
  2499. e->vpackuswb(ymmA, ymmB, anyptr_gpC);
  2500. e->vpaddb(ymmA, ymmB, ymmC);
  2501. e->vpaddb(ymmA, ymmB, anyptr_gpC);
  2502. e->vpaddd(ymmA, ymmB, ymmC);
  2503. e->vpaddd(ymmA, ymmB, anyptr_gpC);
  2504. e->vpaddq(ymmA, ymmB, ymmC);
  2505. e->vpaddq(ymmA, ymmB, anyptr_gpC);
  2506. e->vpaddw(ymmA, ymmB, ymmC);
  2507. e->vpaddw(ymmA, ymmB, anyptr_gpC);
  2508. e->vpaddsb(ymmA, ymmB, ymmC);
  2509. e->vpaddsb(ymmA, ymmB, anyptr_gpC);
  2510. e->vpaddsw(ymmA, ymmB, ymmC);
  2511. e->vpaddsw(ymmA, ymmB, anyptr_gpC);
  2512. e->vpaddusb(ymmA, ymmB, ymmC);
  2513. e->vpaddusb(ymmA, ymmB, anyptr_gpC);
  2514. e->vpaddusw(ymmA, ymmB, ymmC);
  2515. e->vpaddusw(ymmA, ymmB, anyptr_gpC);
  2516. e->vpalignr(ymmA, ymmB, ymmC, 0);
  2517. e->vpalignr(ymmA, ymmB, anyptr_gpC, 0);
  2518. e->vpand(ymmA, ymmB, ymmC);
  2519. e->vpand(ymmA, ymmB, anyptr_gpC);
  2520. e->vpandn(ymmA, ymmB, ymmC);
  2521. e->vpandn(ymmA, ymmB, anyptr_gpC);
  2522. e->vpavgb(ymmA, ymmB, ymmC);
  2523. e->vpavgb(ymmA, ymmB, anyptr_gpC);
  2524. e->vpavgw(ymmA, ymmB, ymmC);
  2525. e->vpavgw(ymmA, ymmB, anyptr_gpC);
  2526. e->vpblendd(xmmA, xmmB, xmmC, 0);
  2527. e->vpblendd(xmmA, xmmB, anyptr_gpC, 0);
  2528. e->vpblendd(ymmA, ymmB, ymmC, 0);
  2529. e->vpblendd(ymmA, ymmB, anyptr_gpC, 0);
  2530. e->vpblendvb(ymmA, ymmB, ymmC, ymmD);
  2531. e->vpblendvb(ymmA, ymmB, anyptr_gpC, ymmD);
  2532. e->vpblendw(ymmA, ymmB, ymmC, 0);
  2533. e->vpblendw(ymmA, ymmB, anyptr_gpC, 0);
  2534. e->vpbroadcastb(xmmA, xmmB);
  2535. e->vpbroadcastb(xmmA, anyptr_gpB);
  2536. e->vpbroadcastb(ymmA, xmmB);
  2537. e->vpbroadcastb(ymmA, anyptr_gpB);
  2538. e->vpbroadcastd(xmmA, xmmB);
  2539. e->vpbroadcastd(xmmA, anyptr_gpB);
  2540. e->vpbroadcastd(ymmA, xmmB);
  2541. e->vpbroadcastd(ymmA, anyptr_gpB);
  2542. e->vpbroadcastq(xmmA, xmmB);
  2543. e->vpbroadcastq(xmmA, anyptr_gpB);
  2544. e->vpbroadcastq(ymmA, xmmB);
  2545. e->vpbroadcastq(ymmA, anyptr_gpB);
  2546. e->vpbroadcastw(xmmA, xmmB);
  2547. e->vpbroadcastw(xmmA, anyptr_gpB);
  2548. e->vpbroadcastw(ymmA, xmmB);
  2549. e->vpbroadcastw(ymmA, anyptr_gpB);
  2550. e->vpcmpeqb(ymmA, ymmB, ymmC);
  2551. e->vpcmpeqb(ymmA, ymmB, anyptr_gpC);
  2552. e->vpcmpeqd(ymmA, ymmB, ymmC);
  2553. e->vpcmpeqd(ymmA, ymmB, anyptr_gpC);
  2554. e->vpcmpeqq(ymmA, ymmB, ymmC);
  2555. e->vpcmpeqq(ymmA, ymmB, anyptr_gpC);
  2556. e->vpcmpeqw(ymmA, ymmB, ymmC);
  2557. e->vpcmpeqw(ymmA, ymmB, anyptr_gpC);
  2558. e->vpcmpgtb(ymmA, ymmB, ymmC);
  2559. e->vpcmpgtb(ymmA, ymmB, anyptr_gpC);
  2560. e->vpcmpgtd(ymmA, ymmB, ymmC);
  2561. e->vpcmpgtd(ymmA, ymmB, anyptr_gpC);
  2562. e->vpcmpgtq(ymmA, ymmB, ymmC);
  2563. e->vpcmpgtq(ymmA, ymmB, anyptr_gpC);
  2564. e->vpcmpgtw(ymmA, ymmB, ymmC);
  2565. e->vpcmpgtw(ymmA, ymmB, anyptr_gpC);
  2566. e->vperm2i128(ymmA, ymmB, ymmC, 0);
  2567. e->vperm2i128(ymmA, ymmB, anyptr_gpC, 0);
  2568. e->vpermd(ymmA, ymmB, ymmC);
  2569. e->vpermd(ymmA, ymmB, anyptr_gpC);
  2570. e->vpermps(ymmA, ymmB, ymmC);
  2571. e->vpermps(ymmA, ymmB, anyptr_gpC);
  2572. e->vpermpd(ymmA, ymmB, 0);
  2573. e->vpermpd(ymmA, anyptr_gpB, 0);
  2574. e->vpermq(ymmA, ymmB, 0);
  2575. e->vpermq(ymmA, anyptr_gpB, 0);
  2576. e->vpgatherdd(xmmA, vx_ptr, xmmC);
  2577. e->vpgatherdd(ymmA, vy_ptr, ymmC);
  2578. e->vpgatherdq(xmmA, vx_ptr, xmmC);
  2579. e->vpgatherdq(ymmA, vx_ptr, ymmC);
  2580. e->vpgatherqd(xmmA, vx_ptr, xmmC);
  2581. e->vpgatherqd(xmmA, vy_ptr, xmmC);
  2582. e->vpgatherqq(xmmA, vx_ptr, xmmC);
  2583. e->vpgatherqq(ymmA, vy_ptr, ymmC);
  2584. e->vpmovmskb(gzA, ymmB);
  2585. e->vpmovsxbd(ymmA, anyptr_gpB);
  2586. e->vpmovsxbd(ymmA, xmmB);
  2587. e->vpmovsxbq(ymmA, anyptr_gpB);
  2588. e->vpmovsxbq(ymmA, xmmB);
  2589. e->vpmovsxbw(ymmA, anyptr_gpB);
  2590. e->vpmovsxbw(ymmA, xmmB);
  2591. e->vpmovsxdq(ymmA, anyptr_gpB);
  2592. e->vpmovsxdq(ymmA, xmmB);
  2593. e->vpmovsxwd(ymmA, anyptr_gpB);
  2594. e->vpmovsxwd(ymmA, xmmB);
  2595. e->vpmovsxwq(ymmA, anyptr_gpB);
  2596. e->vpmovsxwq(ymmA, xmmB);
  2597. e->vpmovzxbd(ymmA, anyptr_gpB);
  2598. e->vpmovzxbd(ymmA, xmmB);
  2599. e->vpmovzxbq(ymmA, anyptr_gpB);
  2600. e->vpmovzxbq(ymmA, xmmB);
  2601. e->vpmovzxbw(ymmA, anyptr_gpB);
  2602. e->vpmovzxbw(ymmA, xmmB);
  2603. e->vpmovzxdq(ymmA, anyptr_gpB);
  2604. e->vpmovzxdq(ymmA, xmmB);
  2605. e->vpmovzxwd(ymmA, anyptr_gpB);
  2606. e->vpmovzxwd(ymmA, xmmB);
  2607. e->vpmovzxwq(ymmA, anyptr_gpB);
  2608. e->vpmovzxwq(ymmA, xmmB);
  2609. e->vpshufd(ymmA, anyptr_gpB, 0);
  2610. e->vpshufd(ymmA, ymmB, 0);
  2611. e->vpshufhw(ymmA, anyptr_gpB, 0);
  2612. e->vpshufhw(ymmA, ymmB, 0);
  2613. e->vpshuflw(ymmA, anyptr_gpB, 0);
  2614. e->vpshuflw(ymmA, ymmB, 0);
  2615. e->vpslld(ymmA, ymmB, 0);
  2616. e->vpslldq(ymmA, ymmB, 0);
  2617. e->vpsllq(ymmA, ymmB, 0);
  2618. e->vpsllw(ymmA, ymmB, 0);
  2619. e->vpsrad(ymmA, ymmB, 0);
  2620. e->vpsraw(ymmA, ymmB, 0);
  2621. e->vpsrld(ymmA, ymmB, 0);
  2622. e->vpsrldq(ymmA, ymmB, 0);
  2623. e->vpsrlq(ymmA, ymmB, 0);
  2624. e->vpsrlw(ymmA, ymmB, 0);
  2625. e->vphaddd(ymmA, ymmB, anyptr_gpC);
  2626. e->vphaddd(ymmA, ymmB, ymmC);
  2627. e->vphaddsw(ymmA, ymmB, anyptr_gpC);
  2628. e->vphaddsw(ymmA, ymmB, ymmC);
  2629. e->vphaddw(ymmA, ymmB, anyptr_gpC);
  2630. e->vphaddw(ymmA, ymmB, ymmC);
  2631. e->vphsubd(ymmA, ymmB, anyptr_gpC);
  2632. e->vphsubd(ymmA, ymmB, ymmC);
  2633. e->vphsubsw(ymmA, ymmB, anyptr_gpC);
  2634. e->vphsubsw(ymmA, ymmB, ymmC);
  2635. e->vphsubw(ymmA, ymmB, anyptr_gpC);
  2636. e->vphsubw(ymmA, ymmB, ymmC);
  2637. e->vpmaddubsw(ymmA, ymmB, anyptr_gpC);
  2638. e->vpmaddubsw(ymmA, ymmB, ymmC);
  2639. e->vpmaddwd(ymmA, ymmB, anyptr_gpC);
  2640. e->vpmaddwd(ymmA, ymmB, ymmC);
  2641. e->vpmaskmovd(anyptr_gpA, xmmB, xmmC);
  2642. e->vpmaskmovd(anyptr_gpA, ymmB, ymmC);
  2643. e->vpmaskmovd(xmmA, xmmB, anyptr_gpC);
  2644. e->vpmaskmovd(ymmA, ymmB, anyptr_gpC);
  2645. e->vpmaskmovq(anyptr_gpA, xmmB, xmmC);
  2646. e->vpmaskmovq(anyptr_gpA, ymmB, ymmC);
  2647. e->vpmaskmovq(xmmA, xmmB, anyptr_gpC);
  2648. e->vpmaskmovq(ymmA, ymmB, anyptr_gpC);
  2649. e->vpmaxsb(ymmA, ymmB, anyptr_gpC);
  2650. e->vpmaxsb(ymmA, ymmB, ymmC);
  2651. e->vpmaxsd(ymmA, ymmB, anyptr_gpC);
  2652. e->vpmaxsd(ymmA, ymmB, ymmC);
  2653. e->vpmaxsw(ymmA, ymmB, anyptr_gpC);
  2654. e->vpmaxsw(ymmA, ymmB, ymmC);
  2655. e->vpmaxub(ymmA, ymmB, anyptr_gpC);
  2656. e->vpmaxub(ymmA, ymmB, ymmC);
  2657. e->vpmaxud(ymmA, ymmB, anyptr_gpC);
  2658. e->vpmaxud(ymmA, ymmB, ymmC);
  2659. e->vpmaxuw(ymmA, ymmB, anyptr_gpC);
  2660. e->vpmaxuw(ymmA, ymmB, ymmC);
  2661. e->vpminsb(ymmA, ymmB, anyptr_gpC);
  2662. e->vpminsb(ymmA, ymmB, ymmC);
  2663. e->vpminsd(ymmA, ymmB, anyptr_gpC);
  2664. e->vpminsd(ymmA, ymmB, ymmC);
  2665. e->vpminsw(ymmA, ymmB, anyptr_gpC);
  2666. e->vpminsw(ymmA, ymmB, ymmC);
  2667. e->vpminub(ymmA, ymmB, anyptr_gpC);
  2668. e->vpminub(ymmA, ymmB, ymmC);
  2669. e->vpminud(ymmA, ymmB, anyptr_gpC);
  2670. e->vpminud(ymmA, ymmB, ymmC);
  2671. e->vpminuw(ymmA, ymmB, anyptr_gpC);
  2672. e->vpminuw(ymmA, ymmB, ymmC);
  2673. e->vpmuldq(ymmA, ymmB, anyptr_gpC);
  2674. e->vpmuldq(ymmA, ymmB, ymmC);
  2675. e->vpmulhrsw(ymmA, ymmB, anyptr_gpC);
  2676. e->vpmulhrsw(ymmA, ymmB, ymmC);
  2677. e->vpmulhuw(ymmA, ymmB, anyptr_gpC);
  2678. e->vpmulhuw(ymmA, ymmB, ymmC);
  2679. e->vpmulhw(ymmA, ymmB, anyptr_gpC);
  2680. e->vpmulhw(ymmA, ymmB, ymmC);
  2681. e->vpmulld(ymmA, ymmB, anyptr_gpC);
  2682. e->vpmulld(ymmA, ymmB, ymmC);
  2683. e->vpmullw(ymmA, ymmB, anyptr_gpC);
  2684. e->vpmullw(ymmA, ymmB, ymmC);
  2685. e->vpmuludq(ymmA, ymmB, anyptr_gpC);
  2686. e->vpmuludq(ymmA, ymmB, ymmC);
  2687. e->vpor(ymmA, ymmB, anyptr_gpC);
  2688. e->vpor(ymmA, ymmB, ymmC);
  2689. e->vpsadbw(ymmA, ymmB, anyptr_gpC);
  2690. e->vpsadbw(ymmA, ymmB, ymmC);
  2691. e->vpshufb(ymmA, ymmB, anyptr_gpC);
  2692. e->vpshufb(ymmA, ymmB, ymmC);
  2693. e->vpsignb(ymmA, ymmB, anyptr_gpC);
  2694. e->vpsignb(ymmA, ymmB, ymmC);
  2695. e->vpsignd(ymmA, ymmB, anyptr_gpC);
  2696. e->vpsignd(ymmA, ymmB, ymmC);
  2697. e->vpsignw(ymmA, ymmB, anyptr_gpC);
  2698. e->vpsignw(ymmA, ymmB, ymmC);
  2699. e->vpslld(ymmA, ymmB, anyptr_gpC);
  2700. e->vpslld(ymmA, ymmB, xmmC);
  2701. e->vpsllq(ymmA, ymmB, anyptr_gpC);
  2702. e->vpsllq(ymmA, ymmB, xmmC);
  2703. e->vpsllvd(xmmA, xmmB, anyptr_gpC);
  2704. e->vpsllvd(xmmA, xmmB, xmmC);
  2705. e->vpsllvd(ymmA, ymmB, anyptr_gpC);
  2706. e->vpsllvd(ymmA, ymmB, ymmC);
  2707. e->vpsllvq(xmmA, xmmB, anyptr_gpC);
  2708. e->vpsllvq(xmmA, xmmB, xmmC);
  2709. e->vpsllvq(ymmA, ymmB, anyptr_gpC);
  2710. e->vpsllvq(ymmA, ymmB, ymmC);
  2711. e->vpsllw(ymmA, ymmB, anyptr_gpC);
  2712. e->vpsllw(ymmA, ymmB, xmmC);
  2713. e->vpsrad(ymmA, ymmB, anyptr_gpC);
  2714. e->vpsrad(ymmA, ymmB, xmmC);
  2715. e->vpsravd(xmmA, xmmB, anyptr_gpC);
  2716. e->vpsravd(xmmA, xmmB, xmmC);
  2717. e->vpsravd(ymmA, ymmB, anyptr_gpC);
  2718. e->vpsravd(ymmA, ymmB, ymmC);
  2719. e->vpsraw(ymmA, ymmB, anyptr_gpC);
  2720. e->vpsraw(ymmA, ymmB, xmmC);
  2721. e->vpsrld(ymmA, ymmB, anyptr_gpC);
  2722. e->vpsrld(ymmA, ymmB, xmmC);
  2723. e->vpsrlq(ymmA, ymmB, anyptr_gpC);
  2724. e->vpsrlq(ymmA, ymmB, xmmC);
  2725. e->vpsrlvd(xmmA, xmmB, anyptr_gpC);
  2726. e->vpsrlvd(xmmA, xmmB, xmmC);
  2727. e->vpsrlvd(ymmA, ymmB, anyptr_gpC);
  2728. e->vpsrlvd(ymmA, ymmB, ymmC);
  2729. e->vpsrlvq(xmmA, xmmB, anyptr_gpC);
  2730. e->vpsrlvq(xmmA, xmmB, xmmC);
  2731. e->vpsrlvq(ymmA, ymmB, anyptr_gpC);
  2732. e->vpsrlvq(ymmA, ymmB, ymmC);
  2733. e->vpsrlw(ymmA, ymmB, anyptr_gpC);
  2734. e->vpsrlw(ymmA, ymmB, xmmC);
  2735. e->vpsubb(ymmA, ymmB, anyptr_gpC);
  2736. e->vpsubb(ymmA, ymmB, ymmC);
  2737. e->vpsubd(ymmA, ymmB, anyptr_gpC);
  2738. e->vpsubd(ymmA, ymmB, ymmC);
  2739. e->vpsubq(ymmA, ymmB, anyptr_gpC);
  2740. e->vpsubq(ymmA, ymmB, ymmC);
  2741. e->vpsubsb(ymmA, ymmB, anyptr_gpC);
  2742. e->vpsubsb(ymmA, ymmB, ymmC);
  2743. e->vpsubsw(ymmA, ymmB, anyptr_gpC);
  2744. e->vpsubsw(ymmA, ymmB, ymmC);
  2745. e->vpsubusb(ymmA, ymmB, anyptr_gpC);
  2746. e->vpsubusb(ymmA, ymmB, ymmC);
  2747. e->vpsubusw(ymmA, ymmB, anyptr_gpC);
  2748. e->vpsubusw(ymmA, ymmB, ymmC);
  2749. e->vpsubw(ymmA, ymmB, anyptr_gpC);
  2750. e->vpsubw(ymmA, ymmB, ymmC);
  2751. e->vpunpckhbw(ymmA, ymmB, anyptr_gpC);
  2752. e->vpunpckhbw(ymmA, ymmB, ymmC);
  2753. e->vpunpckhdq(ymmA, ymmB, anyptr_gpC);
  2754. e->vpunpckhdq(ymmA, ymmB, ymmC);
  2755. e->vpunpckhqdq(ymmA, ymmB, anyptr_gpC);
  2756. e->vpunpckhqdq(ymmA, ymmB, ymmC);
  2757. e->vpunpckhwd(ymmA, ymmB, anyptr_gpC);
  2758. e->vpunpckhwd(ymmA, ymmB, ymmC);
  2759. e->vpunpcklbw(ymmA, ymmB, anyptr_gpC);
  2760. e->vpunpcklbw(ymmA, ymmB, ymmC);
  2761. e->vpunpckldq(ymmA, ymmB, anyptr_gpC);
  2762. e->vpunpckldq(ymmA, ymmB, ymmC);
  2763. e->vpunpcklqdq(ymmA, ymmB, anyptr_gpC);
  2764. e->vpunpcklqdq(ymmA, ymmB, ymmC);
  2765. e->vpunpcklwd(ymmA, ymmB, anyptr_gpC);
  2766. e->vpunpcklwd(ymmA, ymmB, ymmC);
  2767. e->vpxor(ymmA, ymmB, anyptr_gpC);
  2768. e->vpxor(ymmA, ymmB, ymmC);
  2769. // FMA.
  2770. e->nop();
  2771. e->vfmadd132pd(xmmA, xmmB, anyptr_gpC);
  2772. e->vfmadd132pd(xmmA, xmmB, xmmC);
  2773. e->vfmadd132pd(ymmA, ymmB, anyptr_gpC);
  2774. e->vfmadd132pd(ymmA, ymmB, ymmC);
  2775. e->vfmadd132ps(xmmA, xmmB, anyptr_gpC);
  2776. e->vfmadd132ps(xmmA, xmmB, xmmC);
  2777. e->vfmadd132ps(ymmA, ymmB, anyptr_gpC);
  2778. e->vfmadd132ps(ymmA, ymmB, ymmC);
  2779. e->vfmadd132sd(xmmA, xmmB, anyptr_gpC);
  2780. e->vfmadd132sd(xmmA, xmmB, xmmC);
  2781. e->vfmadd132ss(xmmA, xmmB, anyptr_gpC);
  2782. e->vfmadd132ss(xmmA, xmmB, xmmC);
  2783. e->vfmadd213pd(xmmA, xmmB, anyptr_gpC);
  2784. e->vfmadd213pd(xmmA, xmmB, xmmC);
  2785. e->vfmadd213pd(ymmA, ymmB, anyptr_gpC);
  2786. e->vfmadd213pd(ymmA, ymmB, ymmC);
  2787. e->vfmadd213ps(xmmA, xmmB, anyptr_gpC);
  2788. e->vfmadd213ps(xmmA, xmmB, xmmC);
  2789. e->vfmadd213ps(ymmA, ymmB, anyptr_gpC);
  2790. e->vfmadd213ps(ymmA, ymmB, ymmC);
  2791. e->vfmadd213sd(xmmA, xmmB, anyptr_gpC);
  2792. e->vfmadd213sd(xmmA, xmmB, xmmC);
  2793. e->vfmadd213ss(xmmA, xmmB, anyptr_gpC);
  2794. e->vfmadd213ss(xmmA, xmmB, xmmC);
  2795. e->vfmadd231pd(xmmA, xmmB, anyptr_gpC);
  2796. e->vfmadd231pd(xmmA, xmmB, xmmC);
  2797. e->vfmadd231pd(ymmA, ymmB, anyptr_gpC);
  2798. e->vfmadd231pd(ymmA, ymmB, ymmC);
  2799. e->vfmadd231ps(xmmA, xmmB, anyptr_gpC);
  2800. e->vfmadd231ps(xmmA, xmmB, xmmC);
  2801. e->vfmadd231ps(ymmA, ymmB, anyptr_gpC);
  2802. e->vfmadd231ps(ymmA, ymmB, ymmC);
  2803. e->vfmadd231sd(xmmA, xmmB, anyptr_gpC);
  2804. e->vfmadd231sd(xmmA, xmmB, xmmC);
  2805. e->vfmadd231ss(xmmA, xmmB, anyptr_gpC);
  2806. e->vfmadd231ss(xmmA, xmmB, xmmC);
  2807. e->vfmaddsub132pd(xmmA, xmmB, anyptr_gpC);
  2808. e->vfmaddsub132pd(xmmA, xmmB, xmmC);
  2809. e->vfmaddsub132pd(ymmA, ymmB, anyptr_gpC);
  2810. e->vfmaddsub132pd(ymmA, ymmB, ymmC);
  2811. e->vfmaddsub132ps(xmmA, xmmB, anyptr_gpC);
  2812. e->vfmaddsub132ps(xmmA, xmmB, xmmC);
  2813. e->vfmaddsub132ps(ymmA, ymmB, anyptr_gpC);
  2814. e->vfmaddsub132ps(ymmA, ymmB, ymmC);
  2815. e->vfmaddsub213pd(xmmA, xmmB, anyptr_gpC);
  2816. e->vfmaddsub213pd(xmmA, xmmB, xmmC);
  2817. e->vfmaddsub213pd(ymmA, ymmB, anyptr_gpC);
  2818. e->vfmaddsub213pd(ymmA, ymmB, ymmC);
  2819. e->vfmaddsub213ps(xmmA, xmmB, anyptr_gpC);
  2820. e->vfmaddsub213ps(xmmA, xmmB, xmmC);
  2821. e->vfmaddsub213ps(ymmA, ymmB, anyptr_gpC);
  2822. e->vfmaddsub213ps(ymmA, ymmB, ymmC);
  2823. e->vfmaddsub231pd(xmmA, xmmB, anyptr_gpC);
  2824. e->vfmaddsub231pd(xmmA, xmmB, xmmC);
  2825. e->vfmaddsub231pd(ymmA, ymmB, anyptr_gpC);
  2826. e->vfmaddsub231pd(ymmA, ymmB, ymmC);
  2827. e->vfmaddsub231ps(xmmA, xmmB, anyptr_gpC);
  2828. e->vfmaddsub231ps(xmmA, xmmB, xmmC);
  2829. e->vfmaddsub231ps(ymmA, ymmB, anyptr_gpC);
  2830. e->vfmaddsub231ps(ymmA, ymmB, ymmC);
  2831. e->vfmsub132pd(xmmA, xmmB, anyptr_gpC);
  2832. e->vfmsub132pd(xmmA, xmmB, xmmC);
  2833. e->vfmsub132pd(ymmA, ymmB, anyptr_gpC);
  2834. e->vfmsub132pd(ymmA, ymmB, ymmC);
  2835. e->vfmsub132ps(xmmA, xmmB, anyptr_gpC);
  2836. e->vfmsub132ps(xmmA, xmmB, xmmC);
  2837. e->vfmsub132ps(ymmA, ymmB, anyptr_gpC);
  2838. e->vfmsub132ps(ymmA, ymmB, ymmC);
  2839. e->vfmsub132sd(xmmA, xmmB, anyptr_gpC);
  2840. e->vfmsub132sd(xmmA, xmmB, xmmC);
  2841. e->vfmsub132ss(xmmA, xmmB, anyptr_gpC);
  2842. e->vfmsub132ss(xmmA, xmmB, xmmC);
  2843. e->vfmsub213pd(xmmA, xmmB, anyptr_gpC);
  2844. e->vfmsub213pd(xmmA, xmmB, xmmC);
  2845. e->vfmsub213pd(ymmA, ymmB, anyptr_gpC);
  2846. e->vfmsub213pd(ymmA, ymmB, ymmC);
  2847. e->vfmsub213ps(xmmA, xmmB, anyptr_gpC);
  2848. e->vfmsub213ps(xmmA, xmmB, xmmC);
  2849. e->vfmsub213ps(ymmA, ymmB, anyptr_gpC);
  2850. e->vfmsub213ps(ymmA, ymmB, ymmC);
  2851. e->vfmsub213sd(xmmA, xmmB, anyptr_gpC);
  2852. e->vfmsub213sd(xmmA, xmmB, xmmC);
  2853. e->vfmsub213ss(xmmA, xmmB, anyptr_gpC);
  2854. e->vfmsub213ss(xmmA, xmmB, xmmC);
  2855. e->vfmsub231pd(xmmA, xmmB, anyptr_gpC);
  2856. e->vfmsub231pd(xmmA, xmmB, xmmC);
  2857. e->vfmsub231pd(ymmA, ymmB, anyptr_gpC);
  2858. e->vfmsub231pd(ymmA, ymmB, ymmC);
  2859. e->vfmsub231ps(xmmA, xmmB, anyptr_gpC);
  2860. e->vfmsub231ps(xmmA, xmmB, xmmC);
  2861. e->vfmsub231ps(ymmA, ymmB, anyptr_gpC);
  2862. e->vfmsub231ps(ymmA, ymmB, ymmC);
  2863. e->vfmsub231sd(xmmA, xmmB, anyptr_gpC);
  2864. e->vfmsub231sd(xmmA, xmmB, xmmC);
  2865. e->vfmsub231ss(xmmA, xmmB, anyptr_gpC);
  2866. e->vfmsub231ss(xmmA, xmmB, xmmC);
  2867. e->vfmsubadd132pd(xmmA, xmmB, anyptr_gpC);
  2868. e->vfmsubadd132pd(xmmA, xmmB, xmmC);
  2869. e->vfmsubadd132pd(ymmA, ymmB, anyptr_gpC);
  2870. e->vfmsubadd132pd(ymmA, ymmB, ymmC);
  2871. e->vfmsubadd132ps(xmmA, xmmB, anyptr_gpC);
  2872. e->vfmsubadd132ps(xmmA, xmmB, xmmC);
  2873. e->vfmsubadd132ps(ymmA, ymmB, anyptr_gpC);
  2874. e->vfmsubadd132ps(ymmA, ymmB, ymmC);
  2875. e->vfmsubadd213pd(xmmA, xmmB, anyptr_gpC);
  2876. e->vfmsubadd213pd(xmmA, xmmB, xmmC);
  2877. e->vfmsubadd213pd(ymmA, ymmB, anyptr_gpC);
  2878. e->vfmsubadd213pd(ymmA, ymmB, ymmC);
  2879. e->vfmsubadd213ps(xmmA, xmmB, anyptr_gpC);
  2880. e->vfmsubadd213ps(xmmA, xmmB, xmmC);
  2881. e->vfmsubadd213ps(ymmA, ymmB, anyptr_gpC);
  2882. e->vfmsubadd213ps(ymmA, ymmB, ymmC);
  2883. e->vfmsubadd231pd(xmmA, xmmB, anyptr_gpC);
  2884. e->vfmsubadd231pd(xmmA, xmmB, xmmC);
  2885. e->vfmsubadd231pd(ymmA, ymmB, anyptr_gpC);
  2886. e->vfmsubadd231pd(ymmA, ymmB, ymmC);
  2887. e->vfmsubadd231ps(xmmA, xmmB, anyptr_gpC);
  2888. e->vfmsubadd231ps(xmmA, xmmB, xmmC);
  2889. e->vfmsubadd231ps(ymmA, ymmB, anyptr_gpC);
  2890. e->vfmsubadd231ps(ymmA, ymmB, ymmC);
  2891. e->vfnmadd132pd(xmmA, xmmB, anyptr_gpC);
  2892. e->vfnmadd132pd(xmmA, xmmB, xmmC);
  2893. e->vfnmadd132pd(ymmA, ymmB, anyptr_gpC);
  2894. e->vfnmadd132pd(ymmA, ymmB, ymmC);
  2895. e->vfnmadd132ps(xmmA, xmmB, anyptr_gpC);
  2896. e->vfnmadd132ps(xmmA, xmmB, xmmC);
  2897. e->vfnmadd132ps(ymmA, ymmB, anyptr_gpC);
  2898. e->vfnmadd132ps(ymmA, ymmB, ymmC);
  2899. e->vfnmadd132sd(xmmA, xmmB, anyptr_gpC);
  2900. e->vfnmadd132sd(xmmA, xmmB, xmmC);
  2901. e->vfnmadd132ss(xmmA, xmmB, anyptr_gpC);
  2902. e->vfnmadd132ss(xmmA, xmmB, xmmC);
  2903. e->vfnmadd213pd(xmmA, xmmB, anyptr_gpC);
  2904. e->vfnmadd213pd(xmmA, xmmB, xmmC);
  2905. e->vfnmadd213pd(ymmA, ymmB, anyptr_gpC);
  2906. e->vfnmadd213pd(ymmA, ymmB, ymmC);
  2907. e->vfnmadd213ps(xmmA, xmmB, anyptr_gpC);
  2908. e->vfnmadd213ps(xmmA, xmmB, xmmC);
  2909. e->vfnmadd213ps(ymmA, ymmB, anyptr_gpC);
  2910. e->vfnmadd213ps(ymmA, ymmB, ymmC);
  2911. e->vfnmadd213sd(xmmA, xmmB, anyptr_gpC);
  2912. e->vfnmadd213sd(xmmA, xmmB, xmmC);
  2913. e->vfnmadd213ss(xmmA, xmmB, anyptr_gpC);
  2914. e->vfnmadd213ss(xmmA, xmmB, xmmC);
  2915. e->vfnmadd231pd(xmmA, xmmB, anyptr_gpC);
  2916. e->vfnmadd231pd(xmmA, xmmB, xmmC);
  2917. e->vfnmadd231pd(ymmA, ymmB, anyptr_gpC);
  2918. e->vfnmadd231pd(ymmA, ymmB, ymmC);
  2919. e->vfnmadd231ps(xmmA, xmmB, anyptr_gpC);
  2920. e->vfnmadd231ps(xmmA, xmmB, xmmC);
  2921. e->vfnmadd231ps(ymmA, ymmB, anyptr_gpC);
  2922. e->vfnmadd231ps(ymmA, ymmB, ymmC);
  2923. e->vfnmadd231sd(xmmA, xmmB, anyptr_gpC);
  2924. e->vfnmadd231sd(xmmA, xmmB, xmmC);
  2925. e->vfnmadd231ss(xmmA, xmmB, anyptr_gpC);
  2926. e->vfnmadd231ss(xmmA, xmmB, xmmC);
  2927. e->vfnmsub132pd(xmmA, xmmB, anyptr_gpC);
  2928. e->vfnmsub132pd(xmmA, xmmB, xmmC);
  2929. e->vfnmsub132pd(ymmA, ymmB, anyptr_gpC);
  2930. e->vfnmsub132pd(ymmA, ymmB, ymmC);
  2931. e->vfnmsub132ps(xmmA, xmmB, anyptr_gpC);
  2932. e->vfnmsub132ps(xmmA, xmmB, xmmC);
  2933. e->vfnmsub132ps(ymmA, ymmB, anyptr_gpC);
  2934. e->vfnmsub132ps(ymmA, ymmB, ymmC);
  2935. e->vfnmsub132sd(xmmA, xmmB, anyptr_gpC);
  2936. e->vfnmsub132sd(xmmA, xmmB, xmmC);
  2937. e->vfnmsub132ss(xmmA, xmmB, anyptr_gpC);
  2938. e->vfnmsub132ss(xmmA, xmmB, xmmC);
  2939. e->vfnmsub213pd(xmmA, xmmB, anyptr_gpC);
  2940. e->vfnmsub213pd(xmmA, xmmB, xmmC);
  2941. e->vfnmsub213pd(ymmA, ymmB, anyptr_gpC);
  2942. e->vfnmsub213pd(ymmA, ymmB, ymmC);
  2943. e->vfnmsub213ps(xmmA, xmmB, anyptr_gpC);
  2944. e->vfnmsub213ps(xmmA, xmmB, xmmC);
  2945. e->vfnmsub213ps(ymmA, ymmB, anyptr_gpC);
  2946. e->vfnmsub213ps(ymmA, ymmB, ymmC);
  2947. e->vfnmsub213sd(xmmA, xmmB, anyptr_gpC);
  2948. e->vfnmsub213sd(xmmA, xmmB, xmmC);
  2949. e->vfnmsub213ss(xmmA, xmmB, anyptr_gpC);
  2950. e->vfnmsub213ss(xmmA, xmmB, xmmC);
  2951. e->vfnmsub231pd(xmmA, xmmB, anyptr_gpC);
  2952. e->vfnmsub231pd(xmmA, xmmB, xmmC);
  2953. e->vfnmsub231pd(ymmA, ymmB, anyptr_gpC);
  2954. e->vfnmsub231pd(ymmA, ymmB, ymmC);
  2955. e->vfnmsub231ps(xmmA, xmmB, anyptr_gpC);
  2956. e->vfnmsub231ps(xmmA, xmmB, xmmC);
  2957. e->vfnmsub231ps(ymmA, ymmB, anyptr_gpC);
  2958. e->vfnmsub231ps(ymmA, ymmB, ymmC);
  2959. e->vfnmsub231sd(xmmA, xmmB, anyptr_gpC);
  2960. e->vfnmsub231sd(xmmA, xmmB, xmmC);
  2961. e->vfnmsub231ss(xmmA, xmmB, anyptr_gpC);
  2962. e->vfnmsub231ss(xmmA, xmmB, xmmC);
  2963. // FMA4.
  2964. e->nop();
  2965. e->vfmaddpd(xmmA, xmmB, xmmC, xmmD);
  2966. e->vfmaddpd(xmmA, xmmB, anyptr_gpC, xmmD);
  2967. e->vfmaddpd(xmmA, xmmB, xmmC, anyptr_gpD);
  2968. e->vfmaddpd(ymmA, ymmB, ymmC, ymmD);
  2969. e->vfmaddpd(ymmA, ymmB, anyptr_gpC, ymmD);
  2970. e->vfmaddpd(ymmA, ymmB, ymmC, anyptr_gpD);
  2971. e->vfmaddps(xmmA, xmmB, xmmC, xmmD);
  2972. e->vfmaddps(xmmA, xmmB, anyptr_gpC, xmmD);
  2973. e->vfmaddps(xmmA, xmmB, xmmC, anyptr_gpD);
  2974. e->vfmaddps(ymmA, ymmB, ymmC, ymmD);
  2975. e->vfmaddps(ymmA, ymmB, anyptr_gpC, ymmD);
  2976. e->vfmaddps(ymmA, ymmB, ymmC, anyptr_gpD);
  2977. e->vfmaddsd(xmmA, xmmB, xmmC, xmmD);
  2978. e->vfmaddsd(xmmA, xmmB, anyptr_gpC, xmmD);
  2979. e->vfmaddsd(xmmA, xmmB, xmmC, anyptr_gpD);
  2980. e->vfmaddss(xmmA, xmmB, xmmC, xmmD);
  2981. e->vfmaddss(xmmA, xmmB, anyptr_gpC, xmmD);
  2982. e->vfmaddss(xmmA, xmmB, xmmC, anyptr_gpD);
  2983. e->vfmaddsubpd(xmmA, xmmB, xmmC, xmmD);
  2984. e->vfmaddsubpd(xmmA, xmmB, anyptr_gpC, xmmD);
  2985. e->vfmaddsubpd(xmmA, xmmB, xmmC, anyptr_gpD);
  2986. e->vfmaddsubpd(ymmA, ymmB, ymmC, ymmD);
  2987. e->vfmaddsubpd(ymmA, ymmB, anyptr_gpC, ymmD);
  2988. e->vfmaddsubpd(ymmA, ymmB, ymmC, anyptr_gpD);
  2989. e->vfmaddsubps(xmmA, xmmB, xmmC, xmmD);
  2990. e->vfmaddsubps(xmmA, xmmB, anyptr_gpC, xmmD);
  2991. e->vfmaddsubps(xmmA, xmmB, xmmC, anyptr_gpD);
  2992. e->vfmaddsubps(ymmA, ymmB, ymmC, ymmD);
  2993. e->vfmaddsubps(ymmA, ymmB, anyptr_gpC, ymmD);
  2994. e->vfmaddsubps(ymmA, ymmB, ymmC, anyptr_gpD);
  2995. e->vfmsubaddpd(xmmA, xmmB, xmmC, xmmD);
  2996. e->vfmsubaddpd(xmmA, xmmB, anyptr_gpC, xmmD);
  2997. e->vfmsubaddpd(xmmA, xmmB, xmmC, anyptr_gpD);
  2998. e->vfmsubaddpd(ymmA, ymmB, ymmC, ymmD);
  2999. e->vfmsubaddpd(ymmA, ymmB, anyptr_gpC, ymmD);
  3000. e->vfmsubaddpd(ymmA, ymmB, ymmC, anyptr_gpD);
  3001. e->vfmsubaddps(xmmA, xmmB, xmmC, xmmD);
  3002. e->vfmsubaddps(xmmA, xmmB, anyptr_gpC, xmmD);
  3003. e->vfmsubaddps(xmmA, xmmB, xmmC, anyptr_gpD);
  3004. e->vfmsubaddps(ymmA, ymmB, ymmC, ymmD);
  3005. e->vfmsubaddps(ymmA, ymmB, anyptr_gpC, ymmD);
  3006. e->vfmsubaddps(ymmA, ymmB, ymmC, anyptr_gpD);
  3007. e->vfmsubpd(xmmA, xmmB, xmmC, xmmD);
  3008. e->vfmsubpd(xmmA, xmmB, anyptr_gpC, xmmD);
  3009. e->vfmsubpd(xmmA, xmmB, xmmC, anyptr_gpD);
  3010. e->vfmsubpd(ymmA, ymmB, ymmC, ymmD);
  3011. e->vfmsubpd(ymmA, ymmB, anyptr_gpC, ymmD);
  3012. e->vfmsubpd(ymmA, ymmB, ymmC, anyptr_gpD);
  3013. e->vfmsubps(xmmA, xmmB, xmmC, xmmD);
  3014. e->vfmsubps(xmmA, xmmB, anyptr_gpC, xmmD);
  3015. e->vfmsubps(xmmA, xmmB, xmmC, anyptr_gpD);
  3016. e->vfmsubps(ymmA, ymmB, ymmC, ymmD);
  3017. e->vfmsubps(ymmA, ymmB, anyptr_gpC, ymmD);
  3018. e->vfmsubps(ymmA, ymmB, ymmC, anyptr_gpD);
  3019. e->vfmsubsd(xmmA, xmmB, xmmC, xmmD);
  3020. e->vfmsubsd(xmmA, xmmB, anyptr_gpC, xmmD);
  3021. e->vfmsubsd(xmmA, xmmB, xmmC, anyptr_gpD);
  3022. e->vfmsubss(xmmA, xmmB, xmmC, xmmD);
  3023. e->vfmsubss(xmmA, xmmB, anyptr_gpC, xmmD);
  3024. e->vfmsubss(xmmA, xmmB, xmmC, anyptr_gpD);
  3025. e->vfnmaddpd(xmmA, xmmB, xmmC, xmmD);
  3026. e->vfnmaddpd(xmmA, xmmB, anyptr_gpC, xmmD);
  3027. e->vfnmaddpd(xmmA, xmmB, xmmC, anyptr_gpD);
  3028. e->vfnmaddpd(ymmA, ymmB, ymmC, ymmD);
  3029. e->vfnmaddpd(ymmA, ymmB, anyptr_gpC, ymmD);
  3030. e->vfnmaddpd(ymmA, ymmB, ymmC, anyptr_gpD);
  3031. e->vfnmaddps(xmmA, xmmB, xmmC, xmmD);
  3032. e->vfnmaddps(xmmA, xmmB, anyptr_gpC, xmmD);
  3033. e->vfnmaddps(xmmA, xmmB, xmmC, anyptr_gpD);
  3034. e->vfnmaddps(ymmA, ymmB, ymmC, ymmD);
  3035. e->vfnmaddps(ymmA, ymmB, anyptr_gpC, ymmD);
  3036. e->vfnmaddps(ymmA, ymmB, ymmC, anyptr_gpD);
  3037. e->vfnmaddsd(xmmA, xmmB, xmmC, xmmD);
  3038. e->vfnmaddsd(xmmA, xmmB, anyptr_gpC, xmmD);
  3039. e->vfnmaddsd(xmmA, xmmB, xmmC, anyptr_gpD);
  3040. e->vfnmaddss(xmmA, xmmB, xmmC, xmmD);
  3041. e->vfnmaddss(xmmA, xmmB, anyptr_gpC, xmmD);
  3042. e->vfnmaddss(xmmA, xmmB, xmmC, anyptr_gpD);
  3043. e->vfnmsubpd(xmmA, xmmB, xmmC, xmmD);
  3044. e->vfnmsubpd(xmmA, xmmB, anyptr_gpC, xmmD);
  3045. e->vfnmsubpd(xmmA, xmmB, xmmC, anyptr_gpD);
  3046. e->vfnmsubpd(ymmA, ymmB, ymmC, ymmD);
  3047. e->vfnmsubpd(ymmA, ymmB, anyptr_gpC, ymmD);
  3048. e->vfnmsubpd(ymmA, ymmB, ymmC, anyptr_gpD);
  3049. e->vfnmsubps(xmmA, xmmB, xmmC, xmmD);
  3050. e->vfnmsubps(xmmA, xmmB, anyptr_gpC, xmmD);
  3051. e->vfnmsubps(xmmA, xmmB, xmmC, anyptr_gpD);
  3052. e->vfnmsubps(ymmA, ymmB, ymmC, ymmD);
  3053. e->vfnmsubps(ymmA, ymmB, anyptr_gpC, ymmD);
  3054. e->vfnmsubps(ymmA, ymmB, ymmC, anyptr_gpD);
  3055. e->vfnmsubsd(xmmA, xmmB, xmmC, xmmD);
  3056. e->vfnmsubsd(xmmA, xmmB, anyptr_gpC, xmmD);
  3057. e->vfnmsubsd(xmmA, xmmB, xmmC, anyptr_gpD);
  3058. e->vfnmsubss(xmmA, xmmB, xmmC, xmmD);
  3059. e->vfnmsubss(xmmA, xmmB, anyptr_gpC, xmmD);
  3060. e->vfnmsubss(xmmA, xmmB, xmmC, anyptr_gpD);
  3061. // XOP.
  3062. e->nop();
  3063. e->vfrczpd(xmmA, xmmB);
  3064. e->vfrczpd(xmmA, anyptr_gpB);
  3065. e->vfrczpd(ymmA, ymmB);
  3066. e->vfrczpd(ymmA, anyptr_gpB);
  3067. e->vfrczps(xmmA, xmmB);
  3068. e->vfrczps(xmmA, anyptr_gpB);
  3069. e->vfrczps(ymmA, ymmB);
  3070. e->vfrczps(ymmA, anyptr_gpB);
  3071. e->vfrczsd(xmmA, xmmB);
  3072. e->vfrczsd(xmmA, anyptr_gpB);
  3073. e->vfrczss(xmmA, xmmB);
  3074. e->vfrczss(xmmA, anyptr_gpB);
  3075. e->vpcmov(xmmA, xmmB, xmmC, xmmD);
  3076. e->vpcmov(xmmA, xmmB, anyptr_gpC, xmmD);
  3077. e->vpcmov(xmmA, xmmB, xmmC, anyptr_gpD);
  3078. e->vpcmov(ymmA, ymmB, ymmC, ymmD);
  3079. e->vpcmov(ymmA, ymmB, anyptr_gpC, ymmD);
  3080. e->vpcmov(ymmA, ymmB, ymmC, anyptr_gpD);
  3081. e->vpcomb(xmmA, xmmB, xmmC, 0);
  3082. e->vpcomb(xmmA, xmmB, anyptr_gpC, 0);
  3083. e->vpcomd(xmmA, xmmB, xmmC, 0);
  3084. e->vpcomd(xmmA, xmmB, anyptr_gpC, 0);
  3085. e->vpcomq(xmmA, xmmB, xmmC, 0);
  3086. e->vpcomq(xmmA, xmmB, anyptr_gpC, 0);
  3087. e->vpcomw(xmmA, xmmB, xmmC, 0);
  3088. e->vpcomw(xmmA, xmmB, anyptr_gpC, 0);
  3089. e->vpcomub(xmmA, xmmB, xmmC, 0);
  3090. e->vpcomub(xmmA, xmmB, anyptr_gpC, 0);
  3091. e->vpcomud(xmmA, xmmB, xmmC, 0);
  3092. e->vpcomud(xmmA, xmmB, anyptr_gpC, 0);
  3093. e->vpcomuq(xmmA, xmmB, xmmC, 0);
  3094. e->vpcomuq(xmmA, xmmB, anyptr_gpC, 0);
  3095. e->vpcomuw(xmmA, xmmB, xmmC, 0);
  3096. e->vpcomuw(xmmA, xmmB, anyptr_gpC, 0);
  3097. e->vpermil2pd(xmmA, xmmB, xmmC, xmmD, 0);
  3098. e->vpermil2pd(xmmA, xmmB, anyptr_gpC, xmmD, 0);
  3099. e->vpermil2pd(xmmA, xmmB, xmmC, anyptr_gpD, 0);
  3100. e->vpermil2pd(ymmA, ymmB, ymmC, ymmD, 0);
  3101. e->vpermil2pd(ymmA, ymmB, anyptr_gpC, ymmD, 0);
  3102. e->vpermil2pd(ymmA, ymmB, ymmC, anyptr_gpD, 0);
  3103. e->vpermil2ps(xmmA, xmmB, xmmC, xmmD, 0);
  3104. e->vpermil2ps(xmmA, xmmB, anyptr_gpC, xmmD, 0);
  3105. e->vpermil2ps(xmmA, xmmB, xmmC, anyptr_gpD, 0);
  3106. e->vpermil2ps(ymmA, ymmB, ymmC, ymmD, 0);
  3107. e->vpermil2ps(ymmA, ymmB, anyptr_gpC, ymmD, 0);
  3108. e->vpermil2ps(ymmA, ymmB, ymmC, anyptr_gpD, 0);
  3109. e->vphaddbd(xmmA, xmmB);
  3110. e->vphaddbd(xmmA, anyptr_gpB);
  3111. e->vphaddbq(xmmA, xmmB);
  3112. e->vphaddbq(xmmA, anyptr_gpB);
  3113. e->vphaddbw(xmmA, xmmB);
  3114. e->vphaddbw(xmmA, anyptr_gpB);
  3115. e->vphadddq(xmmA, xmmB);
  3116. e->vphadddq(xmmA, anyptr_gpB);
  3117. e->vphaddwd(xmmA, xmmB);
  3118. e->vphaddwd(xmmA, anyptr_gpB);
  3119. e->vphaddwq(xmmA, xmmB);
  3120. e->vphaddwq(xmmA, anyptr_gpB);
  3121. e->vphaddubd(xmmA, xmmB);
  3122. e->vphaddubd(xmmA, anyptr_gpB);
  3123. e->vphaddubq(xmmA, xmmB);
  3124. e->vphaddubq(xmmA, anyptr_gpB);
  3125. e->vphaddubw(xmmA, xmmB);
  3126. e->vphaddubw(xmmA, anyptr_gpB);
  3127. e->vphaddudq(xmmA, xmmB);
  3128. e->vphaddudq(xmmA, anyptr_gpB);
  3129. e->vphadduwd(xmmA, xmmB);
  3130. e->vphadduwd(xmmA, anyptr_gpB);
  3131. e->vphadduwq(xmmA, xmmB);
  3132. e->vphadduwq(xmmA, anyptr_gpB);
  3133. e->vphsubbw(xmmA, xmmB);
  3134. e->vphsubbw(xmmA, anyptr_gpB);
  3135. e->vphsubdq(xmmA, xmmB);
  3136. e->vphsubdq(xmmA, anyptr_gpB);
  3137. e->vphsubwd(xmmA, xmmB);
  3138. e->vphsubwd(xmmA, anyptr_gpB);
  3139. e->vpmacsdd(xmmA, xmmB, xmmC, xmmD);
  3140. e->vpmacsdd(xmmA, xmmB, anyptr_gpC, xmmD);
  3141. e->vpmacsdqh(xmmA, xmmB, xmmC, xmmD);
  3142. e->vpmacsdqh(xmmA, xmmB, anyptr_gpC, xmmD);
  3143. e->vpmacsdql(xmmA, xmmB, xmmC, xmmD);
  3144. e->vpmacsdql(xmmA, xmmB, anyptr_gpC, xmmD);
  3145. e->vpmacswd(xmmA, xmmB, xmmC, xmmD);
  3146. e->vpmacswd(xmmA, xmmB, anyptr_gpC, xmmD);
  3147. e->vpmacsww(xmmA, xmmB, xmmC, xmmD);
  3148. e->vpmacsww(xmmA, xmmB, anyptr_gpC, xmmD);
  3149. e->vpmacssdd(xmmA, xmmB, xmmC, xmmD);
  3150. e->vpmacssdd(xmmA, xmmB, anyptr_gpC, xmmD);
  3151. e->vpmacssdqh(xmmA, xmmB, xmmC, xmmD);
  3152. e->vpmacssdqh(xmmA, xmmB, anyptr_gpC, xmmD);
  3153. e->vpmacssdql(xmmA, xmmB, xmmC, xmmD);
  3154. e->vpmacssdql(xmmA, xmmB, anyptr_gpC, xmmD);
  3155. e->vpmacsswd(xmmA, xmmB, xmmC, xmmD);
  3156. e->vpmacsswd(xmmA, xmmB, anyptr_gpC, xmmD);
  3157. e->vpmacssww(xmmA, xmmB, xmmC, xmmD);
  3158. e->vpmacssww(xmmA, xmmB, anyptr_gpC, xmmD);
  3159. e->vpmadcsswd(xmmA, xmmB, xmmC, xmmD);
  3160. e->vpmadcsswd(xmmA, xmmB, anyptr_gpC, xmmD);
  3161. e->vpmadcswd(xmmA, xmmB, xmmC, xmmD);
  3162. e->vpmadcswd(xmmA, xmmB, anyptr_gpC, xmmD);
  3163. e->vpperm(xmmA, xmmB, xmmC, xmmD);
  3164. e->vpperm(xmmA, xmmB, anyptr_gpC, xmmD);
  3165. e->vpperm(xmmA, xmmB, xmmC, anyptr_gpD);
  3166. e->vprotb(xmmA, xmmB, xmmC);
  3167. e->vprotb(xmmA, anyptr_gpB, xmmC);
  3168. e->vprotb(xmmA, xmmB, anyptr_gpC);
  3169. e->vprotb(xmmA, xmmB, 0);
  3170. e->vprotb(xmmA, anyptr_gpB, 0);
  3171. e->vprotd(xmmA, xmmB, xmmC);
  3172. e->vprotd(xmmA, anyptr_gpB, xmmC);
  3173. e->vprotd(xmmA, xmmB, anyptr_gpC);
  3174. e->vprotd(xmmA, xmmB, 0);
  3175. e->vprotd(xmmA, anyptr_gpB, 0);
  3176. e->vprotq(xmmA, xmmB, xmmC);
  3177. e->vprotq(xmmA, anyptr_gpB, xmmC);
  3178. e->vprotq(xmmA, xmmB, anyptr_gpC);
  3179. e->vprotq(xmmA, xmmB, 0);
  3180. e->vprotq(xmmA, anyptr_gpB, 0);
  3181. e->vprotw(xmmA, xmmB, xmmC);
  3182. e->vprotw(xmmA, anyptr_gpB, xmmC);
  3183. e->vprotw(xmmA, xmmB, anyptr_gpC);
  3184. e->vprotw(xmmA, xmmB, 0);
  3185. e->vprotw(xmmA, anyptr_gpB, 0);
  3186. e->vpshab(xmmA, xmmB, xmmC);
  3187. e->vpshab(xmmA, anyptr_gpB, xmmC);
  3188. e->vpshab(xmmA, xmmB, anyptr_gpC);
  3189. e->vpshad(xmmA, xmmB, xmmC);
  3190. e->vpshad(xmmA, anyptr_gpB, xmmC);
  3191. e->vpshad(xmmA, xmmB, anyptr_gpC);
  3192. e->vpshaq(xmmA, xmmB, xmmC);
  3193. e->vpshaq(xmmA, anyptr_gpB, xmmC);
  3194. e->vpshaq(xmmA, xmmB, anyptr_gpC);
  3195. e->vpshaw(xmmA, xmmB, xmmC);
  3196. e->vpshaw(xmmA, anyptr_gpB, xmmC);
  3197. e->vpshaw(xmmA, xmmB, anyptr_gpC);
  3198. e->vpshlb(xmmA, xmmB, xmmC);
  3199. e->vpshlb(xmmA, anyptr_gpB, xmmC);
  3200. e->vpshlb(xmmA, xmmB, anyptr_gpC);
  3201. e->vpshld(xmmA, xmmB, xmmC);
  3202. e->vpshld(xmmA, anyptr_gpB, xmmC);
  3203. e->vpshld(xmmA, xmmB, anyptr_gpC);
  3204. e->vpshlq(xmmA, xmmB, xmmC);
  3205. e->vpshlq(xmmA, anyptr_gpB, xmmC);
  3206. e->vpshlq(xmmA, xmmB, anyptr_gpC);
  3207. e->vpshlw(xmmA, xmmB, xmmC);
  3208. e->vpshlw(xmmA, anyptr_gpB, xmmC);
  3209. e->vpshlw(xmmA, xmmB, anyptr_gpC);
  3210. // F16C.
  3211. e->nop();
  3212. e->vcvtph2ps(xmmA, xmmB);
  3213. e->vcvtph2ps(xmmA, anyptr_gpB);
  3214. e->vcvtph2ps(ymmA, xmmB);
  3215. e->vcvtph2ps(ymmA, anyptr_gpB);
  3216. e->vcvtps2ph(xmmA, xmmB, 0);
  3217. e->vcvtps2ph(anyptr_gpA, xmmB, 0);
  3218. e->vcvtps2ph(xmmA, ymmB, 0);
  3219. e->vcvtps2ph(anyptr_gpA, ymmB, 0);
  3220. // AVX512.
  3221. e->nop();
  3222. e->kaddb(kA, kB, kC);
  3223. e->kaddd(kA, kB, kC);
  3224. e->kaddq(kA, kB, kC);
  3225. e->kaddw(kA, kB, kC);
  3226. e->kandb(kA, kB, kC);
  3227. e->kandd(kA, kB, kC);
  3228. e->kandnb(kA, kB, kC);
  3229. e->kandnd(kA, kB, kC);
  3230. e->kandnq(kA, kB, kC);
  3231. e->kandnw(kA, kB, kC);
  3232. e->kandq(kA, kB, kC);
  3233. e->kandw(kA, kB, kC);
  3234. e->kmovb(kA, kB);
  3235. e->kmovb(kA, anyptr_gpB);
  3236. e->kmovb(kA, gdB);
  3237. if (isX64) e->kmovb(kA, gzB);
  3238. e->kmovb(anyptr_gpA, kB);
  3239. e->kmovb(gdA, kB);
  3240. if (isX64) e->kmovb(gzA, kB);
  3241. e->kmovd(kA, kB);
  3242. e->kmovd(kA, anyptr_gpB);
  3243. e->kmovd(kA, gdB);
  3244. if (isX64) e->kmovd(kA, gzB);
  3245. e->kmovd(anyptr_gpA, kB);
  3246. e->kmovd(gdA, kB);
  3247. if (isX64) e->kmovd(gzA, kB);
  3248. e->kmovq(kA, kB);
  3249. e->kmovq(kA, anyptr_gpB);
  3250. if (isX64) e->kmovq(kA, gzB);
  3251. e->kmovq(anyptr_gpA, kB);
  3252. if (isX64) e->kmovq(gzA, kB);
  3253. e->kmovw(kA, kB);
  3254. e->kmovw(kA, anyptr_gpB);
  3255. e->kmovw(kA, gdB);
  3256. if (isX64) e->kmovw(kA, gzB);
  3257. e->kmovw(anyptr_gpA, kB);
  3258. e->kmovw(gdA, kB);
  3259. if (isX64) e->kmovw(gzA, kB);
  3260. e->knotb(kA, kB);
  3261. e->knotd(kA, kB);
  3262. e->knotq(kA, kB);
  3263. e->knotw(kA, kB);
  3264. e->korb(kA, kB, kC);
  3265. e->kord(kA, kB, kC);
  3266. e->korq(kA, kB, kC);
  3267. e->kortestb(kA, kB);
  3268. e->kortestd(kA, kB);
  3269. e->kortestq(kA, kB);
  3270. e->kortestw(kA, kB);
  3271. e->korw(kA, kB, kC);
  3272. e->kshiftlb(kA, kB, 0);
  3273. e->kshiftld(kA, kB, 0);
  3274. e->kshiftlq(kA, kB, 0);
  3275. e->kshiftlw(kA, kB, 0);
  3276. e->kshiftrb(kA, kB, 0);
  3277. e->kshiftrd(kA, kB, 0);
  3278. e->kshiftrq(kA, kB, 0);
  3279. e->kshiftrw(kA, kB, 0);
  3280. e->ktestb(kA, kB);
  3281. e->ktestd(kA, kB);
  3282. e->ktestq(kA, kB);
  3283. e->ktestw(kA, kB);
  3284. e->kunpckbw(kA, kB, kC);
  3285. e->kunpckdq(kA, kB, kC);
  3286. e->kunpckwd(kA, kB, kC);
  3287. e->kxnorb(kA, kB, kC);
  3288. e->kxnord(kA, kB, kC);
  3289. e->kxnorq(kA, kB, kC);
  3290. e->kxnorw(kA, kB, kC);
  3291. e->kxorb(kA, kB, kC);
  3292. e->kxord(kA, kB, kC);
  3293. e->kxorq(kA, kB, kC);
  3294. e->kxorw(kA, kB, kC);
  3295. e->nop();
  3296. e->vaddpd(xmmA, xmmB, xmmC);
  3297. e->vaddpd(xmmA, xmmB, anyptr_gpC);
  3298. e->vaddpd(ymmA, ymmB, ymmC);
  3299. e->vaddpd(ymmA, ymmB, anyptr_gpC);
  3300. e->vaddpd(zmmA, zmmB, zmmC);
  3301. e->vaddpd(zmmA, zmmB, anyptr_gpC);
  3302. e->vaddps(xmmA, xmmB, xmmC);
  3303. e->vaddps(xmmA, xmmB, anyptr_gpC);
  3304. e->vaddps(ymmA, ymmB, ymmC);
  3305. e->vaddps(ymmA, ymmB, anyptr_gpC);
  3306. e->vaddps(zmmA, zmmB, zmmC);
  3307. e->vaddps(zmmA, zmmB, anyptr_gpC);
  3308. e->vaddsd(xmmA, xmmB, xmmC);
  3309. e->vaddsd(xmmA, xmmB, anyptr_gpC);
  3310. e->vaddss(xmmA, xmmB, xmmC);
  3311. e->vaddss(xmmA, xmmB, anyptr_gpC);
  3312. e->valignd(xmmA, xmmB, xmmC, 0);
  3313. e->valignd(xmmA, xmmB, anyptr_gpC, 0);
  3314. e->valignd(ymmA, ymmB, ymmC, 0);
  3315. e->valignd(ymmA, ymmB, anyptr_gpC, 0);
  3316. e->valignd(zmmA, zmmB, zmmC, 0);
  3317. e->valignd(zmmA, zmmB, anyptr_gpC, 0);
  3318. e->valignq(xmmA, xmmB, xmmC, 0);
  3319. e->valignq(xmmA, xmmB, anyptr_gpC, 0);
  3320. e->valignq(ymmA, ymmB, ymmC, 0);
  3321. e->valignq(ymmA, ymmB, anyptr_gpC, 0);
  3322. e->valignq(zmmA, zmmB, zmmC, 0);
  3323. e->valignq(zmmA, zmmB, anyptr_gpC, 0);
  3324. e->vandnpd(xmmA, xmmB, xmmC);
  3325. e->vandnpd(xmmA, xmmB, anyptr_gpC);
  3326. e->vandnpd(ymmA, ymmB, ymmC);
  3327. e->vandnpd(ymmA, ymmB, anyptr_gpC);
  3328. e->vandnpd(zmmA, zmmB, zmmC);
  3329. e->vandnpd(zmmA, zmmB, anyptr_gpC);
  3330. e->vandnps(xmmA, xmmB, xmmC);
  3331. e->vandnps(xmmA, xmmB, anyptr_gpC);
  3332. e->vandnps(ymmA, ymmB, ymmC);
  3333. e->vandnps(ymmA, ymmB, anyptr_gpC);
  3334. e->vandnps(zmmA, zmmB, zmmC);
  3335. e->vandnps(zmmA, zmmB, anyptr_gpC);
  3336. e->vandpd(xmmA, xmmB, xmmC);
  3337. e->vandpd(xmmA, xmmB, anyptr_gpC);
  3338. e->vandpd(ymmA, ymmB, ymmC);
  3339. e->vandpd(ymmA, ymmB, anyptr_gpC);
  3340. e->vandpd(zmmA, zmmB, zmmC);
  3341. e->vandpd(zmmA, zmmB, anyptr_gpC);
  3342. e->vandps(xmmA, xmmB, xmmC);
  3343. e->vandps(xmmA, xmmB, anyptr_gpC);
  3344. e->vandps(ymmA, ymmB, ymmC);
  3345. e->vandps(ymmA, ymmB, anyptr_gpC);
  3346. e->vandps(zmmA, zmmB, zmmC);
  3347. e->vandps(zmmA, zmmB, anyptr_gpC);
  3348. e->vblendmb(xmmA, xmmB, xmmC);
  3349. e->vblendmb(xmmA, xmmB, anyptr_gpC);
  3350. e->vblendmb(ymmA, ymmB, ymmC);
  3351. e->vblendmb(ymmA, ymmB, anyptr_gpC);
  3352. e->vblendmb(zmmA, zmmB, zmmC);
  3353. e->vblendmb(zmmA, zmmB, anyptr_gpC);
  3354. e->vblendmd(xmmA, xmmB, xmmC);
  3355. e->vblendmd(xmmA, xmmB, anyptr_gpC);
  3356. e->vblendmd(ymmA, ymmB, ymmC);
  3357. e->vblendmd(ymmA, ymmB, anyptr_gpC);
  3358. e->vblendmd(zmmA, zmmB, zmmC);
  3359. e->vblendmd(zmmA, zmmB, anyptr_gpC);
  3360. e->vblendmpd(xmmA, xmmB, xmmC);
  3361. e->vblendmpd(xmmA, xmmB, anyptr_gpC);
  3362. e->vblendmpd(ymmA, ymmB, ymmC);
  3363. e->vblendmpd(ymmA, ymmB, anyptr_gpC);
  3364. e->vblendmpd(zmmA, zmmB, zmmC);
  3365. e->vblendmpd(zmmA, zmmB, anyptr_gpC);
  3366. e->vblendmps(xmmA, xmmB, xmmC);
  3367. e->vblendmps(xmmA, xmmB, anyptr_gpC);
  3368. e->vblendmps(ymmA, ymmB, ymmC);
  3369. e->vblendmps(ymmA, ymmB, anyptr_gpC);
  3370. e->vblendmps(zmmA, zmmB, zmmC);
  3371. e->vblendmps(zmmA, zmmB, anyptr_gpC);
  3372. e->vblendmq(xmmA, xmmB, xmmC);
  3373. e->vblendmq(xmmA, xmmB, anyptr_gpC);
  3374. e->vblendmq(ymmA, ymmB, ymmC);
  3375. e->vblendmq(ymmA, ymmB, anyptr_gpC);
  3376. e->vblendmq(zmmA, zmmB, zmmC);
  3377. e->vblendmq(zmmA, zmmB, anyptr_gpC);
  3378. e->vblendmw(xmmA, xmmB, xmmC);
  3379. e->vblendmw(xmmA, xmmB, anyptr_gpC);
  3380. e->vblendmw(ymmA, ymmB, ymmC);
  3381. e->vblendmw(ymmA, ymmB, anyptr_gpC);
  3382. e->vblendmw(zmmA, zmmB, zmmC);
  3383. e->vblendmw(zmmA, zmmB, anyptr_gpC);
  3384. e->vbroadcastf32x2(ymmA, xmmB);
  3385. e->vbroadcastf32x2(ymmA, anyptr_gpB);
  3386. e->vbroadcastf32x2(zmmA, xmmB);
  3387. e->vbroadcastf32x2(zmmA, anyptr_gpB);
  3388. e->vbroadcastf32x4(ymmA, anyptr_gpB);
  3389. e->vbroadcastf32x4(zmmA, anyptr_gpB);
  3390. e->vbroadcastf32x8(zmmA, anyptr_gpB);
  3391. e->vbroadcastf64x2(ymmA, anyptr_gpB);
  3392. e->vbroadcastf64x2(zmmA, anyptr_gpB);
  3393. e->vbroadcastf64x4(zmmA, anyptr_gpB);
  3394. e->vbroadcasti32x2(xmmA, xmmB);
  3395. e->vbroadcasti32x2(xmmA, anyptr_gpB);
  3396. e->vbroadcasti32x2(ymmA, xmmB);
  3397. e->vbroadcasti32x2(ymmA, anyptr_gpB);
  3398. e->vbroadcasti32x2(zmmA, xmmB);
  3399. e->vbroadcasti32x2(zmmA, anyptr_gpB);
  3400. e->vbroadcasti32x4(ymmA, anyptr_gpB);
  3401. e->vbroadcasti32x4(zmmA, anyptr_gpB);
  3402. e->vbroadcasti32x8(zmmA, anyptr_gpB);
  3403. e->vbroadcasti64x2(ymmA, anyptr_gpB);
  3404. e->vbroadcasti64x2(zmmA, anyptr_gpB);
  3405. e->vbroadcasti64x4(zmmA, anyptr_gpB);
  3406. e->vbroadcastsd(ymmA, xmmB);
  3407. e->vbroadcastsd(ymmA, anyptr_gpB);
  3408. e->vbroadcastsd(zmmA, xmmB);
  3409. e->vbroadcastsd(zmmA, anyptr_gpB);
  3410. e->vbroadcastss(xmmA, xmmB);
  3411. e->vbroadcastss(xmmA, anyptr_gpB);
  3412. e->vbroadcastss(ymmA, xmmB);
  3413. e->vbroadcastss(ymmA, anyptr_gpB);
  3414. e->vbroadcastss(zmmA, xmmB);
  3415. e->vbroadcastss(zmmA, anyptr_gpB);
  3416. e->vcmppd(kA, xmmB, xmmC, 0);
  3417. e->vcmppd(kA, xmmB, anyptr_gpC, 0);
  3418. e->vcmppd(kA, ymmB, ymmC, 0);
  3419. e->vcmppd(kA, ymmB, anyptr_gpC, 0);
  3420. e->vcmppd(kA, zmmB, zmmC, 0);
  3421. e->vcmppd(kA, zmmB, anyptr_gpC, 0);
  3422. e->vcmpps(kA, xmmB, xmmC, 0);
  3423. e->vcmpps(kA, xmmB, anyptr_gpC, 0);
  3424. e->vcmpps(kA, ymmB, ymmC, 0);
  3425. e->vcmpps(kA, ymmB, anyptr_gpC, 0);
  3426. e->vcmpps(kA, zmmB, zmmC, 0);
  3427. e->vcmpps(kA, zmmB, anyptr_gpC, 0);
  3428. e->vcmpsd(kA, xmmB, xmmC, 0);
  3429. e->vcmpsd(kA, xmmB, anyptr_gpC, 0);
  3430. e->vcmpss(kA, xmmB, xmmC, 0);
  3431. e->vcmpss(kA, xmmB, anyptr_gpC, 0);
  3432. e->vcomisd(xmmA, xmmB);
  3433. e->vcomisd(xmmA, anyptr_gpB);
  3434. e->vcomiss(xmmA, xmmB);
  3435. e->vcomiss(xmmA, anyptr_gpB);
  3436. e->vcompresspd(xmmA, xmmB);
  3437. e->vcompresspd(anyptr_gpA, xmmB);
  3438. e->vcompresspd(ymmA, ymmB);
  3439. e->vcompresspd(anyptr_gpA, ymmB);
  3440. e->vcompresspd(zmmA, zmmB);
  3441. e->vcompresspd(anyptr_gpA, zmmB);
  3442. e->vcompressps(xmmA, xmmB);
  3443. e->vcompressps(anyptr_gpA, xmmB);
  3444. e->vcompressps(ymmA, ymmB);
  3445. e->vcompressps(anyptr_gpA, ymmB);
  3446. e->vcompressps(zmmA, zmmB);
  3447. e->vcompressps(anyptr_gpA, zmmB);
  3448. e->vcvtdq2pd(xmmA, xmmB);
  3449. e->vcvtdq2pd(xmmA, anyptr_gpB);
  3450. e->vcvtdq2pd(ymmA, xmmB);
  3451. e->vcvtdq2pd(ymmA, anyptr_gpB);
  3452. e->vcvtdq2pd(zmmA, ymmB);
  3453. e->vcvtdq2pd(zmmA, anyptr_gpB);
  3454. e->vcvtdq2ps(xmmA, xmmB);
  3455. e->vcvtdq2ps(xmmA, anyptr_gpB);
  3456. e->vcvtdq2ps(ymmA, ymmB);
  3457. e->vcvtdq2ps(ymmA, anyptr_gpB);
  3458. e->vcvtdq2ps(zmmA, zmmB);
  3459. e->vcvtdq2ps(zmmA, anyptr_gpB);
  3460. e->vcvtpd2dq(xmmA, xmmB);
  3461. e->vcvtpd2dq(xmmA, anyptr_gpB);
  3462. e->vcvtpd2dq(xmmA, ymmB);
  3463. e->vcvtpd2dq(xmmA, anyptr_gpB);
  3464. e->vcvtpd2dq(ymmA, zmmB);
  3465. e->vcvtpd2dq(ymmA, anyptr_gpB);
  3466. e->vcvtpd2qq(xmmA, xmmB);
  3467. e->vcvtpd2qq(xmmA, anyptr_gpB);
  3468. e->vcvtpd2qq(ymmA, ymmB);
  3469. e->vcvtpd2qq(ymmA, anyptr_gpB);
  3470. e->vcvtpd2qq(zmmA, zmmB);
  3471. e->vcvtpd2qq(zmmA, anyptr_gpB);
  3472. e->vcvtpd2udq(xmmA, xmmB);
  3473. e->vcvtpd2udq(xmmA, anyptr_gpB);
  3474. e->vcvtpd2udq(xmmA, ymmB);
  3475. e->vcvtpd2udq(xmmA, anyptr_gpB);
  3476. e->vcvtpd2udq(ymmA, zmmB);
  3477. e->vcvtpd2udq(ymmA, anyptr_gpB);
  3478. e->vcvtpd2uqq(xmmA, xmmB);
  3479. e->vcvtpd2uqq(xmmA, anyptr_gpB);
  3480. e->vcvtpd2uqq(ymmA, ymmB);
  3481. e->vcvtpd2uqq(ymmA, anyptr_gpB);
  3482. e->vcvtpd2uqq(zmmA, zmmB);
  3483. e->vcvtpd2uqq(zmmA, anyptr_gpB);
  3484. e->vcvtph2ps(xmmA, xmmB);
  3485. e->vcvtph2ps(xmmA, anyptr_gpB);
  3486. e->vcvtph2ps(ymmA, xmmB);
  3487. e->vcvtph2ps(ymmA, anyptr_gpB);
  3488. e->vcvtph2ps(zmmA, ymmB);
  3489. e->vcvtph2ps(zmmA, anyptr_gpB);
  3490. e->vcvtps2dq(xmmA, xmmB);
  3491. e->vcvtps2dq(xmmA, anyptr_gpB);
  3492. e->vcvtps2dq(ymmA, ymmB);
  3493. e->vcvtps2dq(ymmA, anyptr_gpB);
  3494. e->vcvtps2dq(zmmA, zmmB);
  3495. e->vcvtps2dq(zmmA, anyptr_gpB);
  3496. e->vcvtps2pd(xmmA, xmmB);
  3497. e->vcvtps2pd(xmmA, anyptr_gpB);
  3498. e->vcvtps2pd(ymmA, xmmB);
  3499. e->vcvtps2pd(ymmA, anyptr_gpB);
  3500. e->vcvtps2pd(zmmA, ymmB);
  3501. e->vcvtps2pd(zmmA, anyptr_gpB);
  3502. e->vcvtps2ph(xmmA, xmmB, 0);
  3503. e->vcvtps2ph(anyptr_gpA, xmmB, 0);
  3504. e->vcvtps2ph(xmmA, ymmB, 0);
  3505. e->vcvtps2ph(anyptr_gpA, ymmB, 0);
  3506. e->vcvtps2ph(ymmA, zmmB, 0);
  3507. e->vcvtps2ph(anyptr_gpA, zmmB, 0);
  3508. e->vcvtps2qq(xmmA, xmmB);
  3509. e->vcvtps2qq(xmmA, anyptr_gpB);
  3510. e->vcvtps2qq(ymmA, xmmB);
  3511. e->vcvtps2qq(ymmA, anyptr_gpB);
  3512. e->vcvtps2qq(zmmA, ymmB);
  3513. e->vcvtps2qq(zmmA, anyptr_gpB);
  3514. e->vcvtps2udq(xmmA, xmmB);
  3515. e->vcvtps2udq(xmmA, anyptr_gpB);
  3516. e->vcvtps2udq(ymmA, ymmB);
  3517. e->vcvtps2udq(ymmA, anyptr_gpB);
  3518. e->vcvtps2udq(zmmA, zmmB);
  3519. e->vcvtps2udq(zmmA, anyptr_gpB);
  3520. e->vcvtps2uqq(xmmA, xmmB);
  3521. e->vcvtps2uqq(xmmA, anyptr_gpB);
  3522. e->vcvtps2uqq(ymmA, xmmB);
  3523. e->vcvtps2uqq(ymmA, anyptr_gpB);
  3524. e->vcvtps2uqq(zmmA, ymmB);
  3525. e->vcvtps2uqq(zmmA, anyptr_gpB);
  3526. e->vcvtqq2pd(xmmA, xmmB);
  3527. e->vcvtqq2pd(xmmA, anyptr_gpB);
  3528. e->vcvtqq2pd(ymmA, ymmB);
  3529. e->vcvtqq2pd(ymmA, anyptr_gpB);
  3530. e->vcvtqq2pd(zmmA, zmmB);
  3531. e->vcvtqq2pd(zmmA, anyptr_gpB);
  3532. e->vcvtqq2ps(xmmA, xmmB);
  3533. e->vcvtqq2ps(xmmA, anyptr_gpB);
  3534. e->vcvtqq2ps(xmmA, ymmB);
  3535. e->vcvtqq2ps(xmmA, anyptr_gpB);
  3536. e->vcvtqq2ps(ymmA, zmmB);
  3537. e->vcvtqq2ps(ymmA, anyptr_gpB);
  3538. e->vcvtsd2si(gdA, xmmB);
  3539. e->vcvtsd2si(gdA, anyptr_gpB);
  3540. if (isX64) e->vcvtsd2si(gzA, xmmB);
  3541. if (isX64) e->vcvtsd2si(gzA, anyptr_gpB);
  3542. e->vcvtsd2ss(xmmA, xmmB, xmmC);
  3543. e->vcvtsd2ss(xmmA, xmmB, anyptr_gpC);
  3544. e->vcvtsd2usi(gdA, xmmB);
  3545. e->vcvtsd2usi(gdA, anyptr_gpB);
  3546. if (isX64) e->vcvtsd2usi(gzA, xmmB);
  3547. if (isX64) e->vcvtsd2usi(gzA, anyptr_gpB);
  3548. e->vcvtsi2sd(xmmA, xmmB, gdC);
  3549. e->vcvtsi2sd(xmmA, xmmB, dword_ptr(gzC));
  3550. if (isX64) e->vcvtsi2sd(xmmA, xmmB, gzC);
  3551. if (isX64) e->vcvtsi2sd(xmmA, xmmB, qword_ptr(gzC));
  3552. e->vcvtsi2ss(xmmA, xmmB, gdC);
  3553. e->vcvtsi2ss(xmmA, xmmB, dword_ptr(gzC));
  3554. if (isX64) e->vcvtsi2ss(xmmA, xmmB, gzC);
  3555. if (isX64) e->vcvtsi2ss(xmmA, xmmB, qword_ptr(gzC));
  3556. e->vcvtss2sd(xmmA, xmmB, xmmC);
  3557. e->vcvtss2sd(xmmA, xmmB, anyptr_gpC);
  3558. e->vcvtss2si(gdA, xmmB);
  3559. e->vcvtss2si(gdA, anyptr_gpB);
  3560. if (isX64) e->vcvtss2si(gzA, xmmB);
  3561. if (isX64) e->vcvtss2si(gzA, anyptr_gpB);
  3562. e->vcvtss2usi(gdA, xmmB);
  3563. e->vcvtss2usi(gdA, anyptr_gpB);
  3564. if (isX64) e->vcvtss2usi(gzA, xmmB);
  3565. if (isX64) e->vcvtss2usi(gzA, anyptr_gpB);
  3566. e->vcvttpd2dq(xmmA, xmmB);
  3567. e->vcvttpd2dq(xmmA, anyptr_gpB);
  3568. e->vcvttpd2dq(xmmA, ymmB);
  3569. e->vcvttpd2dq(xmmA, anyptr_gpB);
  3570. e->vcvttpd2dq(ymmA, zmmB);
  3571. e->vcvttpd2dq(ymmA, anyptr_gpB);
  3572. e->vcvttpd2qq(xmmA, xmmB);
  3573. e->vcvttpd2qq(xmmA, anyptr_gpB);
  3574. e->vcvttpd2qq(ymmA, ymmB);
  3575. e->vcvttpd2qq(ymmA, anyptr_gpB);
  3576. e->vcvttpd2qq(zmmA, zmmB);
  3577. e->vcvttpd2qq(zmmA, anyptr_gpB);
  3578. e->vcvttpd2udq(xmmA, xmmB);
  3579. e->vcvttpd2udq(xmmA, anyptr_gpB);
  3580. e->vcvttpd2udq(xmmA, ymmB);
  3581. e->vcvttpd2udq(xmmA, anyptr_gpB);
  3582. e->vcvttpd2udq(ymmA, zmmB);
  3583. e->vcvttpd2udq(ymmA, anyptr_gpB);
  3584. e->vcvttpd2uqq(xmmA, xmmB);
  3585. e->vcvttpd2uqq(xmmA, anyptr_gpB);
  3586. e->vcvttpd2uqq(ymmA, ymmB);
  3587. e->vcvttpd2uqq(ymmA, anyptr_gpB);
  3588. e->vcvttpd2uqq(zmmA, zmmB);
  3589. e->vcvttpd2uqq(zmmA, anyptr_gpB);
  3590. e->vcvttps2dq(xmmA, xmmB);
  3591. e->vcvttps2dq(xmmA, anyptr_gpB);
  3592. e->vcvttps2dq(ymmA, ymmB);
  3593. e->vcvttps2dq(ymmA, anyptr_gpB);
  3594. e->vcvttps2dq(zmmA, zmmB);
  3595. e->vcvttps2dq(zmmA, anyptr_gpB);
  3596. e->vcvttps2qq(xmmA, xmmB);
  3597. e->vcvttps2qq(xmmA, anyptr_gpB);
  3598. e->vcvttps2qq(ymmA, xmmB);
  3599. e->vcvttps2qq(ymmA, anyptr_gpB);
  3600. e->vcvttps2qq(zmmA, ymmB);
  3601. e->vcvttps2qq(zmmA, anyptr_gpB);
  3602. e->vcvttps2udq(xmmA, xmmB);
  3603. e->vcvttps2udq(xmmA, anyptr_gpB);
  3604. e->vcvttps2udq(ymmA, ymmB);
  3605. e->vcvttps2udq(ymmA, anyptr_gpB);
  3606. e->vcvttps2udq(zmmA, zmmB);
  3607. e->vcvttps2udq(zmmA, anyptr_gpB);
  3608. e->vcvttps2uqq(xmmA, xmmB);
  3609. e->vcvttps2uqq(xmmA, anyptr_gpB);
  3610. e->vcvttps2uqq(ymmA, xmmB);
  3611. e->vcvttps2uqq(ymmA, anyptr_gpB);
  3612. e->vcvttps2uqq(zmmA, ymmB);
  3613. e->vcvttps2uqq(zmmA, anyptr_gpB);
  3614. e->vcvttsd2si(gdA, xmmB);
  3615. e->vcvttsd2si(gdA, anyptr_gpB);
  3616. if (isX64) e->vcvttsd2si(gzA, xmmB);
  3617. if (isX64) e->vcvttsd2si(gzA, anyptr_gpB);
  3618. e->vcvttsd2usi(gdA, xmmB);
  3619. e->vcvttsd2usi(gdA, anyptr_gpB);
  3620. if (isX64) e->vcvttsd2usi(gzA, xmmB);
  3621. if (isX64) e->vcvttsd2usi(gzA, anyptr_gpB);
  3622. e->vcvttss2si(gdA, xmmB);
  3623. e->vcvttss2si(gdA, anyptr_gpB);
  3624. if (isX64) e->vcvttss2si(gzA, xmmB);
  3625. if (isX64) e->vcvttss2si(gzA, anyptr_gpB);
  3626. e->vcvttss2usi(gdA, xmmB);
  3627. e->vcvttss2usi(gdA, anyptr_gpB);
  3628. if (isX64) e->vcvttss2usi(gzA, xmmB);
  3629. if (isX64) e->vcvttss2usi(gzA, anyptr_gpB);
  3630. e->vcvtudq2pd(xmmA, xmmB);
  3631. e->vcvtudq2pd(xmmA, anyptr_gpB);
  3632. e->vcvtudq2pd(ymmA, xmmB);
  3633. e->vcvtudq2pd(ymmA, anyptr_gpB);
  3634. e->vcvtudq2pd(zmmA, ymmB);
  3635. e->vcvtudq2pd(zmmA, anyptr_gpB);
  3636. e->vcvtudq2ps(xmmA, xmmB);
  3637. e->vcvtudq2ps(xmmA, anyptr_gpB);
  3638. e->vcvtudq2ps(ymmA, ymmB);
  3639. e->vcvtudq2ps(ymmA, anyptr_gpB);
  3640. e->vcvtudq2ps(zmmA, zmmB);
  3641. e->vcvtudq2ps(zmmA, anyptr_gpB);
  3642. e->vcvtuqq2pd(xmmA, xmmB);
  3643. e->vcvtuqq2pd(xmmA, anyptr_gpB);
  3644. e->vcvtuqq2pd(ymmA, ymmB);
  3645. e->vcvtuqq2pd(ymmA, anyptr_gpB);
  3646. e->vcvtuqq2pd(zmmA, zmmB);
  3647. e->vcvtuqq2pd(zmmA, anyptr_gpB);
  3648. e->vcvtuqq2ps(xmmA, xmmB);
  3649. e->vcvtuqq2ps(xmmA, anyptr_gpB);
  3650. e->vcvtuqq2ps(xmmA, ymmB);
  3651. e->vcvtuqq2ps(xmmA, anyptr_gpB);
  3652. e->vcvtuqq2ps(ymmA, zmmB);
  3653. e->vcvtuqq2ps(ymmA, anyptr_gpB);
  3654. e->vcvtusi2sd(xmmA, xmmB, gdC);
  3655. e->vcvtusi2sd(xmmA, xmmB, dword_ptr(gzC));
  3656. if (isX64) e->vcvtusi2sd(xmmA, xmmB, gzC);
  3657. if (isX64) e->vcvtusi2sd(xmmA, xmmB, qword_ptr(gzC));
  3658. e->vcvtusi2ss(xmmA, xmmB, gdC);
  3659. e->vcvtusi2ss(xmmA, xmmB, dword_ptr(gzC));
  3660. if (isX64) e->vcvtusi2ss(xmmA, xmmB, gzC);
  3661. if (isX64) e->vcvtusi2ss(xmmA, xmmB, qword_ptr(gzC));
  3662. e->vdbpsadbw(xmmA, xmmB, xmmC, 0);
  3663. e->vdbpsadbw(xmmA, xmmB, anyptr_gpC, 0);
  3664. e->vdbpsadbw(ymmA, ymmB, ymmC, 0);
  3665. e->vdbpsadbw(ymmA, ymmB, anyptr_gpC, 0);
  3666. e->vdbpsadbw(zmmA, zmmB, zmmC, 0);
  3667. e->vdbpsadbw(zmmA, zmmB, anyptr_gpC, 0);
  3668. e->vdivpd(xmmA, xmmB, xmmC);
  3669. e->vdivpd(xmmA, xmmB, anyptr_gpC);
  3670. e->vdivpd(ymmA, ymmB, ymmC);
  3671. e->vdivpd(ymmA, ymmB, anyptr_gpC);
  3672. e->vdivpd(zmmA, zmmB, zmmC);
  3673. e->vdivpd(zmmA, zmmB, anyptr_gpC);
  3674. e->vdivps(xmmA, xmmB, xmmC);
  3675. e->vdivps(xmmA, xmmB, anyptr_gpC);
  3676. e->vdivps(ymmA, ymmB, ymmC);
  3677. e->vdivps(ymmA, ymmB, anyptr_gpC);
  3678. e->vdivps(zmmA, zmmB, zmmC);
  3679. e->vdivps(zmmA, zmmB, anyptr_gpC);
  3680. e->vdivsd(xmmA, xmmB, xmmC);
  3681. e->vdivsd(xmmA, xmmB, anyptr_gpC);
  3682. e->vdivss(xmmA, xmmB, xmmC);
  3683. e->vdivss(xmmA, xmmB, anyptr_gpC);
  3684. e->vexp2pd(zmmA, zmmB);
  3685. e->vexp2pd(zmmA, anyptr_gpB);
  3686. e->vexp2ps(zmmA, zmmB);
  3687. e->vexp2ps(zmmA, anyptr_gpB);
  3688. e->vexpandpd(xmmA, xmmB);
  3689. e->vexpandpd(xmmA, anyptr_gpB);
  3690. e->vexpandpd(ymmA, ymmB);
  3691. e->vexpandpd(ymmA, anyptr_gpB);
  3692. e->vexpandpd(zmmA, zmmB);
  3693. e->vexpandpd(zmmA, anyptr_gpB);
  3694. e->vexpandps(xmmA, xmmB);
  3695. e->vexpandps(xmmA, anyptr_gpB);
  3696. e->vexpandps(ymmA, ymmB);
  3697. e->vexpandps(ymmA, anyptr_gpB);
  3698. e->vexpandps(zmmA, zmmB);
  3699. e->vexpandps(zmmA, anyptr_gpB);
  3700. e->vextractf32x4(xmmA, ymmB, 0);
  3701. e->vextractf32x4(anyptr_gpA, ymmB, 0);
  3702. e->vextractf32x4(xmmA, zmmB, 0);
  3703. e->vextractf32x4(anyptr_gpA, zmmB, 0);
  3704. e->vextractf32x8(ymmA, zmmB, 0);
  3705. e->vextractf32x8(anyptr_gpA, zmmB, 0);
  3706. e->vextractf64x2(xmmA, ymmB, 0);
  3707. e->vextractf64x2(anyptr_gpA, ymmB, 0);
  3708. e->vextractf64x2(xmmA, zmmB, 0);
  3709. e->vextractf64x2(anyptr_gpA, zmmB, 0);
  3710. e->vextractf64x4(ymmA, zmmB, 0);
  3711. e->vextractf64x4(anyptr_gpA, zmmB, 0);
  3712. e->vextracti32x4(xmmA, ymmB, 0);
  3713. e->vextracti32x4(anyptr_gpA, ymmB, 0);
  3714. e->vextracti32x4(xmmA, zmmB, 0);
  3715. e->vextracti32x4(anyptr_gpA, zmmB, 0);
  3716. e->vextracti32x8(ymmA, zmmB, 0);
  3717. e->vextracti32x8(anyptr_gpA, zmmB, 0);
  3718. e->vextracti64x2(xmmA, ymmB, 0);
  3719. e->vextracti64x2(anyptr_gpA, ymmB, 0);
  3720. e->vextracti64x2(xmmA, zmmB, 0);
  3721. e->vextracti64x2(anyptr_gpA, zmmB, 0);
  3722. e->vextracti64x4(ymmA, zmmB, 0);
  3723. e->vextracti64x4(anyptr_gpA, zmmB, 0);
  3724. e->vextractps(gdA, xmmB, 0);
  3725. e->vextractps(gzA, xmmB, 0);
  3726. e->vextractps(anyptr_gpA, xmmB, 0);
  3727. e->vfixupimmpd(xmmA, xmmB, xmmC, 0);
  3728. e->vfixupimmpd(xmmA, xmmB, anyptr_gpC, 0);
  3729. e->vfixupimmpd(ymmA, ymmB, ymmC, 0);
  3730. e->vfixupimmpd(ymmA, ymmB, anyptr_gpC, 0);
  3731. e->vfixupimmpd(zmmA, zmmB, zmmC, 0);
  3732. e->vfixupimmpd(zmmA, zmmB, anyptr_gpC, 0);
  3733. e->vfixupimmps(xmmA, xmmB, xmmC, 0);
  3734. e->vfixupimmps(xmmA, xmmB, anyptr_gpC, 0);
  3735. e->vfixupimmps(ymmA, ymmB, ymmC, 0);
  3736. e->vfixupimmps(ymmA, ymmB, anyptr_gpC, 0);
  3737. e->vfixupimmps(zmmA, zmmB, zmmC, 0);
  3738. e->vfixupimmps(zmmA, zmmB, anyptr_gpC, 0);
  3739. e->vfixupimmsd(xmmA, xmmB, xmmC, 0);
  3740. e->vfixupimmsd(xmmA, xmmB, anyptr_gpC, 0);
  3741. e->vfixupimmss(xmmA, xmmB, xmmC, 0);
  3742. e->vfixupimmss(xmmA, xmmB, anyptr_gpC, 0);
  3743. e->vfmadd132pd(xmmA, xmmB, xmmC);
  3744. e->vfmadd132pd(xmmA, xmmB, anyptr_gpC);
  3745. e->vfmadd132pd(ymmA, ymmB, ymmC);
  3746. e->vfmadd132pd(ymmA, ymmB, anyptr_gpC);
  3747. e->vfmadd132pd(zmmA, zmmB, zmmC);
  3748. e->vfmadd132pd(zmmA, zmmB, anyptr_gpC);
  3749. e->vfmadd132ps(xmmA, xmmB, xmmC);
  3750. e->vfmadd132ps(xmmA, xmmB, anyptr_gpC);
  3751. e->vfmadd132ps(ymmA, ymmB, ymmC);
  3752. e->vfmadd132ps(ymmA, ymmB, anyptr_gpC);
  3753. e->vfmadd132ps(zmmA, zmmB, zmmC);
  3754. e->vfmadd132ps(zmmA, zmmB, anyptr_gpC);
  3755. e->vfmadd132sd(xmmA, xmmB, xmmC);
  3756. e->vfmadd132sd(xmmA, xmmB, anyptr_gpC);
  3757. e->vfmadd132ss(xmmA, xmmB, xmmC);
  3758. e->vfmadd132ss(xmmA, xmmB, anyptr_gpC);
  3759. e->vfmadd213pd(xmmA, xmmB, xmmC);
  3760. e->vfmadd213pd(xmmA, xmmB, anyptr_gpC);
  3761. e->vfmadd213pd(ymmA, ymmB, ymmC);
  3762. e->vfmadd213pd(ymmA, ymmB, anyptr_gpC);
  3763. e->vfmadd213pd(zmmA, zmmB, zmmC);
  3764. e->vfmadd213pd(zmmA, zmmB, anyptr_gpC);
  3765. e->vfmadd213ps(xmmA, xmmB, xmmC);
  3766. e->vfmadd213ps(xmmA, xmmB, anyptr_gpC);
  3767. e->vfmadd213ps(ymmA, ymmB, ymmC);
  3768. e->vfmadd213ps(ymmA, ymmB, anyptr_gpC);
  3769. e->vfmadd213ps(zmmA, zmmB, zmmC);
  3770. e->vfmadd213ps(zmmA, zmmB, anyptr_gpC);
  3771. e->vfmadd213sd(xmmA, xmmB, xmmC);
  3772. e->vfmadd213sd(xmmA, xmmB, anyptr_gpC);
  3773. e->vfmadd213ss(xmmA, xmmB, xmmC);
  3774. e->vfmadd213ss(xmmA, xmmB, anyptr_gpC);
  3775. e->vfmadd231pd(xmmA, xmmB, xmmC);
  3776. e->vfmadd231pd(xmmA, xmmB, anyptr_gpC);
  3777. e->vfmadd231pd(ymmA, ymmB, ymmC);
  3778. e->vfmadd231pd(ymmA, ymmB, anyptr_gpC);
  3779. e->vfmadd231pd(zmmA, zmmB, zmmC);
  3780. e->vfmadd231pd(zmmA, zmmB, anyptr_gpC);
  3781. e->vfmadd231ps(xmmA, xmmB, xmmC);
  3782. e->vfmadd231ps(xmmA, xmmB, anyptr_gpC);
  3783. e->vfmadd231ps(ymmA, ymmB, ymmC);
  3784. e->vfmadd231ps(ymmA, ymmB, anyptr_gpC);
  3785. e->vfmadd231ps(zmmA, zmmB, zmmC);
  3786. e->vfmadd231ps(zmmA, zmmB, anyptr_gpC);
  3787. e->vfmadd231sd(xmmA, xmmB, xmmC);
  3788. e->vfmadd231sd(xmmA, xmmB, anyptr_gpC);
  3789. e->vfmadd231ss(xmmA, xmmB, xmmC);
  3790. e->vfmadd231ss(xmmA, xmmB, anyptr_gpC);
  3791. e->vfmaddsub132pd(xmmA, xmmB, xmmC);
  3792. e->vfmaddsub132pd(xmmA, xmmB, anyptr_gpC);
  3793. e->vfmaddsub132pd(ymmA, ymmB, ymmC);
  3794. e->vfmaddsub132pd(ymmA, ymmB, anyptr_gpC);
  3795. e->vfmaddsub132pd(zmmA, zmmB, zmmC);
  3796. e->vfmaddsub132pd(zmmA, zmmB, anyptr_gpC);
  3797. e->vfmaddsub132ps(xmmA, xmmB, xmmC);
  3798. e->vfmaddsub132ps(xmmA, xmmB, anyptr_gpC);
  3799. e->vfmaddsub132ps(ymmA, ymmB, ymmC);
  3800. e->vfmaddsub132ps(ymmA, ymmB, anyptr_gpC);
  3801. e->vfmaddsub132ps(zmmA, zmmB, zmmC);
  3802. e->vfmaddsub132ps(zmmA, zmmB, anyptr_gpC);
  3803. e->vfmaddsub213pd(xmmA, xmmB, xmmC);
  3804. e->vfmaddsub213pd(xmmA, xmmB, anyptr_gpC);
  3805. e->vfmaddsub213pd(ymmA, ymmB, ymmC);
  3806. e->vfmaddsub213pd(ymmA, ymmB, anyptr_gpC);
  3807. e->vfmaddsub213pd(zmmA, zmmB, zmmC);
  3808. e->vfmaddsub213pd(zmmA, zmmB, anyptr_gpC);
  3809. e->vfmaddsub213ps(xmmA, xmmB, xmmC);
  3810. e->vfmaddsub213ps(xmmA, xmmB, anyptr_gpC);
  3811. e->vfmaddsub213ps(ymmA, ymmB, ymmC);
  3812. e->vfmaddsub213ps(ymmA, ymmB, anyptr_gpC);
  3813. e->vfmaddsub213ps(zmmA, zmmB, zmmC);
  3814. e->vfmaddsub213ps(zmmA, zmmB, anyptr_gpC);
  3815. e->vfmaddsub231pd(xmmA, xmmB, xmmC);
  3816. e->vfmaddsub231pd(xmmA, xmmB, anyptr_gpC);
  3817. e->vfmaddsub231pd(ymmA, ymmB, ymmC);
  3818. e->vfmaddsub231pd(ymmA, ymmB, anyptr_gpC);
  3819. e->vfmaddsub231pd(zmmA, zmmB, zmmC);
  3820. e->vfmaddsub231pd(zmmA, zmmB, anyptr_gpC);
  3821. e->vfmaddsub231ps(xmmA, xmmB, xmmC);
  3822. e->vfmaddsub231ps(xmmA, xmmB, anyptr_gpC);
  3823. e->vfmaddsub231ps(ymmA, ymmB, ymmC);
  3824. e->vfmaddsub231ps(ymmA, ymmB, anyptr_gpC);
  3825. e->vfmaddsub231ps(zmmA, zmmB, zmmC);
  3826. e->vfmaddsub231ps(zmmA, zmmB, anyptr_gpC);
  3827. e->vfmsub132pd(xmmA, xmmB, xmmC);
  3828. e->vfmsub132pd(xmmA, xmmB, anyptr_gpC);
  3829. e->vfmsub132pd(ymmA, ymmB, ymmC);
  3830. e->vfmsub132pd(ymmA, ymmB, anyptr_gpC);
  3831. e->vfmsub132pd(zmmA, zmmB, zmmC);
  3832. e->vfmsub132pd(zmmA, zmmB, anyptr_gpC);
  3833. e->vfmsub132ps(xmmA, xmmB, xmmC);
  3834. e->vfmsub132ps(xmmA, xmmB, anyptr_gpC);
  3835. e->vfmsub132ps(ymmA, ymmB, ymmC);
  3836. e->vfmsub132ps(ymmA, ymmB, anyptr_gpC);
  3837. e->vfmsub132ps(zmmA, zmmB, zmmC);
  3838. e->vfmsub132ps(zmmA, zmmB, anyptr_gpC);
  3839. e->vfmsub132sd(xmmA, xmmB, xmmC);
  3840. e->vfmsub132sd(xmmA, xmmB, anyptr_gpC);
  3841. e->vfmsub132ss(xmmA, xmmB, xmmC);
  3842. e->vfmsub132ss(xmmA, xmmB, anyptr_gpC);
  3843. e->vfmsub213pd(xmmA, xmmB, xmmC);
  3844. e->vfmsub213pd(xmmA, xmmB, anyptr_gpC);
  3845. e->vfmsub213pd(ymmA, ymmB, ymmC);
  3846. e->vfmsub213pd(ymmA, ymmB, anyptr_gpC);
  3847. e->vfmsub213pd(zmmA, zmmB, zmmC);
  3848. e->vfmsub213pd(zmmA, zmmB, anyptr_gpC);
  3849. e->vfmsub213ps(xmmA, xmmB, xmmC);
  3850. e->vfmsub213ps(xmmA, xmmB, anyptr_gpC);
  3851. e->vfmsub213ps(ymmA, ymmB, ymmC);
  3852. e->vfmsub213ps(ymmA, ymmB, anyptr_gpC);
  3853. e->vfmsub213ps(zmmA, zmmB, zmmC);
  3854. e->vfmsub213ps(zmmA, zmmB, anyptr_gpC);
  3855. e->vfmsub213sd(xmmA, xmmB, xmmC);
  3856. e->vfmsub213sd(xmmA, xmmB, anyptr_gpC);
  3857. e->vfmsub213ss(xmmA, xmmB, xmmC);
  3858. e->vfmsub213ss(xmmA, xmmB, anyptr_gpC);
  3859. e->vfmsub231pd(xmmA, xmmB, xmmC);
  3860. e->vfmsub231pd(xmmA, xmmB, anyptr_gpC);
  3861. e->vfmsub231pd(ymmA, ymmB, ymmC);
  3862. e->vfmsub231pd(ymmA, ymmB, anyptr_gpC);
  3863. e->vfmsub231pd(zmmA, zmmB, zmmC);
  3864. e->vfmsub231pd(zmmA, zmmB, anyptr_gpC);
  3865. e->vfmsub231ps(xmmA, xmmB, xmmC);
  3866. e->vfmsub231ps(xmmA, xmmB, anyptr_gpC);
  3867. e->vfmsub231ps(ymmA, ymmB, ymmC);
  3868. e->vfmsub231ps(ymmA, ymmB, anyptr_gpC);
  3869. e->vfmsub231ps(zmmA, zmmB, zmmC);
  3870. e->vfmsub231ps(zmmA, zmmB, anyptr_gpC);
  3871. e->vfmsub231sd(xmmA, xmmB, xmmC);
  3872. e->vfmsub231sd(xmmA, xmmB, anyptr_gpC);
  3873. e->vfmsub231ss(xmmA, xmmB, xmmC);
  3874. e->vfmsub231ss(xmmA, xmmB, anyptr_gpC);
  3875. e->vfmsubadd132pd(xmmA, xmmB, xmmC);
  3876. e->vfmsubadd132pd(xmmA, xmmB, anyptr_gpC);
  3877. e->vfmsubadd132pd(ymmA, ymmB, ymmC);
  3878. e->vfmsubadd132pd(ymmA, ymmB, anyptr_gpC);
  3879. e->vfmsubadd132pd(zmmA, zmmB, zmmC);
  3880. e->vfmsubadd132pd(zmmA, zmmB, anyptr_gpC);
  3881. e->vfmsubadd132ps(xmmA, xmmB, xmmC);
  3882. e->vfmsubadd132ps(xmmA, xmmB, anyptr_gpC);
  3883. e->vfmsubadd132ps(ymmA, ymmB, ymmC);
  3884. e->vfmsubadd132ps(ymmA, ymmB, anyptr_gpC);
  3885. e->vfmsubadd132ps(zmmA, zmmB, zmmC);
  3886. e->vfmsubadd132ps(zmmA, zmmB, anyptr_gpC);
  3887. e->vfmsubadd213pd(xmmA, xmmB, xmmC);
  3888. e->vfmsubadd213pd(xmmA, xmmB, anyptr_gpC);
  3889. e->vfmsubadd213pd(ymmA, ymmB, ymmC);
  3890. e->vfmsubadd213pd(ymmA, ymmB, anyptr_gpC);
  3891. e->vfmsubadd213pd(zmmA, zmmB, zmmC);
  3892. e->vfmsubadd213pd(zmmA, zmmB, anyptr_gpC);
  3893. e->vfmsubadd213ps(xmmA, xmmB, xmmC);
  3894. e->vfmsubadd213ps(xmmA, xmmB, anyptr_gpC);
  3895. e->vfmsubadd213ps(ymmA, ymmB, ymmC);
  3896. e->vfmsubadd213ps(ymmA, ymmB, anyptr_gpC);
  3897. e->vfmsubadd213ps(zmmA, zmmB, zmmC);
  3898. e->vfmsubadd213ps(zmmA, zmmB, anyptr_gpC);
  3899. e->vfmsubadd231pd(xmmA, xmmB, xmmC);
  3900. e->vfmsubadd231pd(xmmA, xmmB, anyptr_gpC);
  3901. e->vfmsubadd231pd(ymmA, ymmB, ymmC);
  3902. e->vfmsubadd231pd(ymmA, ymmB, anyptr_gpC);
  3903. e->vfmsubadd231pd(zmmA, zmmB, zmmC);
  3904. e->vfmsubadd231pd(zmmA, zmmB, anyptr_gpC);
  3905. e->vfmsubadd231ps(xmmA, xmmB, xmmC);
  3906. e->vfmsubadd231ps(xmmA, xmmB, anyptr_gpC);
  3907. e->vfmsubadd231ps(ymmA, ymmB, ymmC);
  3908. e->vfmsubadd231ps(ymmA, ymmB, anyptr_gpC);
  3909. e->vfmsubadd231ps(zmmA, zmmB, zmmC);
  3910. e->vfmsubadd231ps(zmmA, zmmB, anyptr_gpC);
  3911. e->vfnmadd132pd(xmmA, xmmB, xmmC);
  3912. e->vfnmadd132pd(xmmA, xmmB, anyptr_gpC);
  3913. e->vfnmadd132pd(ymmA, ymmB, ymmC);
  3914. e->vfnmadd132pd(ymmA, ymmB, anyptr_gpC);
  3915. e->vfnmadd132pd(zmmA, zmmB, zmmC);
  3916. e->vfnmadd132pd(zmmA, zmmB, anyptr_gpC);
  3917. e->vfnmadd132ps(xmmA, xmmB, xmmC);
  3918. e->vfnmadd132ps(xmmA, xmmB, anyptr_gpC);
  3919. e->vfnmadd132ps(ymmA, ymmB, ymmC);
  3920. e->vfnmadd132ps(ymmA, ymmB, anyptr_gpC);
  3921. e->vfnmadd132ps(zmmA, zmmB, zmmC);
  3922. e->vfnmadd132ps(zmmA, zmmB, anyptr_gpC);
  3923. e->vfnmadd132sd(xmmA, xmmB, xmmC);
  3924. e->vfnmadd132sd(xmmA, xmmB, anyptr_gpC);
  3925. e->vfnmadd132ss(xmmA, xmmB, xmmC);
  3926. e->vfnmadd132ss(xmmA, xmmB, anyptr_gpC);
  3927. e->vfnmadd213pd(xmmA, xmmB, xmmC);
  3928. e->vfnmadd213pd(xmmA, xmmB, anyptr_gpC);
  3929. e->vfnmadd213pd(ymmA, ymmB, ymmC);
  3930. e->vfnmadd213pd(ymmA, ymmB, anyptr_gpC);
  3931. e->vfnmadd213pd(zmmA, zmmB, zmmC);
  3932. e->vfnmadd213pd(zmmA, zmmB, anyptr_gpC);
  3933. e->vfnmadd213ps(xmmA, xmmB, xmmC);
  3934. e->vfnmadd213ps(xmmA, xmmB, anyptr_gpC);
  3935. e->vfnmadd213ps(ymmA, ymmB, ymmC);
  3936. e->vfnmadd213ps(ymmA, ymmB, anyptr_gpC);
  3937. e->vfnmadd213ps(zmmA, zmmB, zmmC);
  3938. e->vfnmadd213ps(zmmA, zmmB, anyptr_gpC);
  3939. e->vfnmadd213sd(xmmA, xmmB, xmmC);
  3940. e->vfnmadd213sd(xmmA, xmmB, anyptr_gpC);
  3941. e->vfnmadd213ss(xmmA, xmmB, xmmC);
  3942. e->vfnmadd213ss(xmmA, xmmB, anyptr_gpC);
  3943. e->vfnmadd231pd(xmmA, xmmB, xmmC);
  3944. e->vfnmadd231pd(xmmA, xmmB, anyptr_gpC);
  3945. e->vfnmadd231pd(ymmA, ymmB, ymmC);
  3946. e->vfnmadd231pd(ymmA, ymmB, anyptr_gpC);
  3947. e->vfnmadd231pd(zmmA, zmmB, zmmC);
  3948. e->vfnmadd231pd(zmmA, zmmB, anyptr_gpC);
  3949. e->vfnmadd231ps(xmmA, xmmB, xmmC);
  3950. e->vfnmadd231ps(xmmA, xmmB, anyptr_gpC);
  3951. e->vfnmadd231ps(ymmA, ymmB, ymmC);
  3952. e->vfnmadd231ps(ymmA, ymmB, anyptr_gpC);
  3953. e->vfnmadd231ps(zmmA, zmmB, zmmC);
  3954. e->vfnmadd231ps(zmmA, zmmB, anyptr_gpC);
  3955. e->vfnmadd231sd(xmmA, xmmB, xmmC);
  3956. e->vfnmadd231sd(xmmA, xmmB, anyptr_gpC);
  3957. e->vfnmadd231ss(xmmA, xmmB, xmmC);
  3958. e->vfnmadd231ss(xmmA, xmmB, anyptr_gpC);
  3959. e->vfnmsub132pd(xmmA, xmmB, xmmC);
  3960. e->vfnmsub132pd(xmmA, xmmB, anyptr_gpC);
  3961. e->vfnmsub132pd(ymmA, ymmB, ymmC);
  3962. e->vfnmsub132pd(ymmA, ymmB, anyptr_gpC);
  3963. e->vfnmsub132pd(zmmA, zmmB, zmmC);
  3964. e->vfnmsub132pd(zmmA, zmmB, anyptr_gpC);
  3965. e->vfnmsub132ps(xmmA, xmmB, xmmC);
  3966. e->vfnmsub132ps(xmmA, xmmB, anyptr_gpC);
  3967. e->vfnmsub132ps(ymmA, ymmB, ymmC);
  3968. e->vfnmsub132ps(ymmA, ymmB, anyptr_gpC);
  3969. e->vfnmsub132ps(zmmA, zmmB, zmmC);
  3970. e->vfnmsub132ps(zmmA, zmmB, anyptr_gpC);
  3971. e->vfnmsub132sd(xmmA, xmmB, xmmC);
  3972. e->vfnmsub132sd(xmmA, xmmB, anyptr_gpC);
  3973. e->vfnmsub132ss(xmmA, xmmB, xmmC);
  3974. e->vfnmsub132ss(xmmA, xmmB, anyptr_gpC);
  3975. e->vfnmsub213pd(xmmA, xmmB, xmmC);
  3976. e->vfnmsub213pd(xmmA, xmmB, anyptr_gpC);
  3977. e->vfnmsub213pd(ymmA, ymmB, ymmC);
  3978. e->vfnmsub213pd(ymmA, ymmB, anyptr_gpC);
  3979. e->vfnmsub213pd(zmmA, zmmB, zmmC);
  3980. e->vfnmsub213pd(zmmA, zmmB, anyptr_gpC);
  3981. e->vfnmsub213ps(xmmA, xmmB, xmmC);
  3982. e->vfnmsub213ps(xmmA, xmmB, anyptr_gpC);
  3983. e->vfnmsub213ps(ymmA, ymmB, ymmC);
  3984. e->vfnmsub213ps(ymmA, ymmB, anyptr_gpC);
  3985. e->vfnmsub213ps(zmmA, zmmB, zmmC);
  3986. e->vfnmsub213ps(zmmA, zmmB, anyptr_gpC);
  3987. e->vfnmsub213sd(xmmA, xmmB, xmmC);
  3988. e->vfnmsub213sd(xmmA, xmmB, anyptr_gpC);
  3989. e->vfnmsub213ss(xmmA, xmmB, xmmC);
  3990. e->vfnmsub213ss(xmmA, xmmB, anyptr_gpC);
  3991. e->vfnmsub231pd(xmmA, xmmB, xmmC);
  3992. e->vfnmsub231pd(xmmA, xmmB, anyptr_gpC);
  3993. e->vfnmsub231pd(ymmA, ymmB, ymmC);
  3994. e->vfnmsub231pd(ymmA, ymmB, anyptr_gpC);
  3995. e->vfnmsub231pd(zmmA, zmmB, zmmC);
  3996. e->vfnmsub231pd(zmmA, zmmB, anyptr_gpC);
  3997. e->vfnmsub231ps(xmmA, xmmB, xmmC);
  3998. e->vfnmsub231ps(xmmA, xmmB, anyptr_gpC);
  3999. e->vfnmsub231ps(ymmA, ymmB, ymmC);
  4000. e->vfnmsub231ps(ymmA, ymmB, anyptr_gpC);
  4001. e->vfnmsub231ps(zmmA, zmmB, zmmC);
  4002. e->vfnmsub231ps(zmmA, zmmB, anyptr_gpC);
  4003. e->vfnmsub231sd(xmmA, xmmB, xmmC);
  4004. e->vfnmsub231sd(xmmA, xmmB, anyptr_gpC);
  4005. e->vfnmsub231ss(xmmA, xmmB, xmmC);
  4006. e->vfnmsub231ss(xmmA, xmmB, anyptr_gpC);
  4007. e->vfpclasspd(kA, xmmB, 0);
  4008. e->vfpclasspd(kA, anyptr_gpB, 0);
  4009. e->vfpclasspd(kA, ymmB, 0);
  4010. e->vfpclasspd(kA, anyptr_gpB, 0);
  4011. e->vfpclasspd(kA, zmmB, 0);
  4012. e->vfpclasspd(kA, anyptr_gpB, 0);
  4013. e->vfpclassps(kA, xmmB, 0);
  4014. e->vfpclassps(kA, anyptr_gpB, 0);
  4015. e->vfpclassps(kA, ymmB, 0);
  4016. e->vfpclassps(kA, anyptr_gpB, 0);
  4017. e->vfpclassps(kA, zmmB, 0);
  4018. e->vfpclassps(kA, anyptr_gpB, 0);
  4019. e->vfpclasssd(kA, xmmB, 0);
  4020. e->vfpclasssd(kA, anyptr_gpB, 0);
  4021. e->vfpclassss(kA, xmmB, 0);
  4022. e->vfpclassss(kA, anyptr_gpB, 0);
  4023. e->vgatherdpd(xmmA, vx_ptr);
  4024. e->vgatherdpd(ymmA, vy_ptr);
  4025. e->vgatherdpd(zmmA, vz_ptr);
  4026. e->vgatherdps(xmmA, vx_ptr);
  4027. e->vgatherdps(ymmA, vy_ptr);
  4028. e->vgatherdps(zmmA, vz_ptr);
  4029. e->vgatherpf0dpd(vy_ptr);
  4030. e->vgatherpf0dps(vz_ptr);
  4031. e->vgatherpf0qpd(vz_ptr);
  4032. e->vgatherpf0qps(vz_ptr);
  4033. e->vgatherpf1dpd(vy_ptr);
  4034. e->vgatherpf1dps(vz_ptr);
  4035. e->vgatherpf1qpd(vz_ptr);
  4036. e->vgatherpf1qps(vz_ptr);
  4037. e->vgatherqpd(xmmA, vx_ptr);
  4038. e->vgatherqpd(ymmA, vy_ptr);
  4039. e->vgatherqpd(zmmA, vz_ptr);
  4040. e->vgatherqps(xmmA, vx_ptr);
  4041. e->vgatherqps(ymmA, vy_ptr);
  4042. e->vgatherqps(zmmA, vz_ptr);
  4043. e->vgetexppd(xmmA, xmmB);
  4044. e->vgetexppd(xmmA, anyptr_gpB);
  4045. e->vgetexppd(ymmA, ymmB);
  4046. e->vgetexppd(ymmA, anyptr_gpB);
  4047. e->vgetexppd(zmmA, zmmB);
  4048. e->vgetexppd(zmmA, anyptr_gpB);
  4049. e->vgetexpps(xmmA, xmmB);
  4050. e->vgetexpps(xmmA, anyptr_gpB);
  4051. e->vgetexpps(ymmA, ymmB);
  4052. e->vgetexpps(ymmA, anyptr_gpB);
  4053. e->vgetexpps(zmmA, zmmB);
  4054. e->vgetexpps(zmmA, anyptr_gpB);
  4055. e->vgetexpsd(xmmA, xmmB, xmmC);
  4056. e->vgetexpsd(xmmA, xmmB, anyptr_gpB);
  4057. e->vgetexpss(xmmA, xmmB, xmmC);
  4058. e->vgetexpss(xmmA, xmmB, anyptr_gpB);
  4059. e->vgetmantpd(xmmA, xmmB, 0);
  4060. e->vgetmantpd(xmmA, anyptr_gpB, 0);
  4061. e->vgetmantpd(ymmA, ymmB, 0);
  4062. e->vgetmantpd(ymmA, anyptr_gpB, 0);
  4063. e->vgetmantpd(zmmA, zmmB, 0);
  4064. e->vgetmantpd(zmmA, anyptr_gpB, 0);
  4065. e->vgetmantps(xmmA, xmmB, 0);
  4066. e->vgetmantps(xmmA, anyptr_gpB, 0);
  4067. e->vgetmantps(ymmA, ymmB, 0);
  4068. e->vgetmantps(ymmA, anyptr_gpB, 0);
  4069. e->vgetmantps(zmmA, zmmB, 0);
  4070. e->vgetmantps(zmmA, anyptr_gpB, 0);
  4071. e->vgetmantsd(xmmA, xmmB, xmmC, 0);
  4072. e->vgetmantsd(xmmA, xmmB, anyptr_gpB, 0);
  4073. e->vgetmantss(xmmA, xmmB, xmmC, 0);
  4074. e->vgetmantss(xmmA, xmmB, anyptr_gpB, 0);
  4075. e->vinsertf32x4(ymmA, ymmB, xmmC, 0);
  4076. e->vinsertf32x4(ymmA, ymmB, anyptr_gpC, 0);
  4077. e->vinsertf32x4(zmmA, zmmB, xmmC, 0);
  4078. e->vinsertf32x4(zmmA, zmmB, anyptr_gpC, 0);
  4079. e->vinsertf32x8(zmmA, zmmB, ymmC, 0);
  4080. e->vinsertf32x8(zmmA, zmmB, anyptr_gpC, 0);
  4081. e->vinsertf64x2(ymmA, ymmB, xmmC, 0);
  4082. e->vinsertf64x2(ymmA, ymmB, anyptr_gpC, 0);
  4083. e->vinsertf64x2(zmmA, zmmB, xmmC, 0);
  4084. e->vinsertf64x2(zmmA, zmmB, anyptr_gpC, 0);
  4085. e->vinsertf64x4(zmmA, zmmB, ymmC, 0);
  4086. e->vinsertf64x4(zmmA, zmmB, anyptr_gpC, 0);
  4087. e->vinserti32x4(ymmA, ymmB, xmmC, 0);
  4088. e->vinserti32x4(ymmA, ymmB, anyptr_gpC, 0);
  4089. e->vinserti32x4(zmmA, zmmB, xmmC, 0);
  4090. e->vinserti32x4(zmmA, zmmB, anyptr_gpC, 0);
  4091. e->vinserti32x8(zmmA, zmmB, ymmC, 0);
  4092. e->vinserti32x8(zmmA, zmmB, anyptr_gpC, 0);
  4093. e->vinserti64x2(ymmA, ymmB, xmmC, 0);
  4094. e->vinserti64x2(ymmA, ymmB, anyptr_gpC, 0);
  4095. e->vinserti64x2(zmmA, zmmB, xmmC, 0);
  4096. e->vinserti64x2(zmmA, zmmB, anyptr_gpC, 0);
  4097. e->vinserti64x4(zmmA, zmmB, ymmC, 0);
  4098. e->vinserti64x4(zmmA, zmmB, anyptr_gpC, 0);
  4099. e->vinsertps(xmmA, xmmB, xmmC, 0);
  4100. e->vinsertps(xmmA, xmmB, anyptr_gpC, 0);
  4101. e->vmaxpd(xmmA, xmmB, xmmC);
  4102. e->vmaxpd(xmmA, xmmB, anyptr_gpC);
  4103. e->vmaxpd(ymmA, ymmB, ymmC);
  4104. e->vmaxpd(ymmA, ymmB, anyptr_gpC);
  4105. e->vmaxpd(zmmA, zmmB, zmmC);
  4106. e->vmaxpd(zmmA, zmmB, anyptr_gpC);
  4107. e->vmaxps(xmmA, xmmB, xmmC);
  4108. e->vmaxps(xmmA, xmmB, anyptr_gpC);
  4109. e->vmaxps(ymmA, ymmB, ymmC);
  4110. e->vmaxps(ymmA, ymmB, anyptr_gpC);
  4111. e->vmaxps(zmmA, zmmB, zmmC);
  4112. e->vmaxps(zmmA, zmmB, anyptr_gpC);
  4113. e->vmaxsd(xmmA, xmmB, xmmC);
  4114. e->vmaxsd(xmmA, xmmB, anyptr_gpC);
  4115. e->vmaxss(xmmA, xmmB, xmmC);
  4116. e->vmaxss(xmmA, xmmB, anyptr_gpC);
  4117. e->vminpd(xmmA, xmmB, xmmC);
  4118. e->vminpd(xmmA, xmmB, anyptr_gpC);
  4119. e->vminpd(ymmA, ymmB, ymmC);
  4120. e->vminpd(ymmA, ymmB, anyptr_gpC);
  4121. e->vminpd(zmmA, zmmB, zmmC);
  4122. e->vminpd(zmmA, zmmB, anyptr_gpC);
  4123. e->vminps(xmmA, xmmB, xmmC);
  4124. e->vminps(xmmA, xmmB, anyptr_gpC);
  4125. e->vminps(ymmA, ymmB, ymmC);
  4126. e->vminps(ymmA, ymmB, anyptr_gpC);
  4127. e->vminps(zmmA, zmmB, zmmC);
  4128. e->vminps(zmmA, zmmB, anyptr_gpC);
  4129. e->vminsd(xmmA, xmmB, xmmC);
  4130. e->vminsd(xmmA, xmmB, anyptr_gpC);
  4131. e->vminss(xmmA, xmmB, xmmC);
  4132. e->vminss(xmmA, xmmB, anyptr_gpC);
  4133. e->vmovapd(xmmA, xmmB);
  4134. e->vmovapd(xmmA, anyptr_gpB);
  4135. e->vmovapd(xmmA, xmmB);
  4136. e->vmovapd(anyptr_gpA, xmmB);
  4137. e->vmovapd(ymmA, ymmB);
  4138. e->vmovapd(ymmA, anyptr_gpB);
  4139. e->vmovapd(ymmA, ymmB);
  4140. e->vmovapd(anyptr_gpA, ymmB);
  4141. e->vmovapd(zmmA, zmmB);
  4142. e->vmovapd(zmmA, anyptr_gpB);
  4143. e->vmovapd(zmmA, zmmB);
  4144. e->vmovapd(anyptr_gpA, zmmB);
  4145. e->vmovaps(xmmA, xmmB);
  4146. e->vmovaps(xmmA, anyptr_gpB);
  4147. e->vmovaps(xmmA, xmmB);
  4148. e->vmovaps(anyptr_gpA, xmmB);
  4149. e->vmovaps(ymmA, ymmB);
  4150. e->vmovaps(ymmA, anyptr_gpB);
  4151. e->vmovaps(ymmA, ymmB);
  4152. e->vmovaps(anyptr_gpA, ymmB);
  4153. e->vmovaps(zmmA, zmmB);
  4154. e->vmovaps(zmmA, anyptr_gpB);
  4155. e->vmovaps(zmmA, zmmB);
  4156. e->vmovaps(anyptr_gpA, zmmB);
  4157. e->vmovd(gdA, xmmB);
  4158. e->vmovd(gzA, xmmB);
  4159. e->vmovd(anyptr_gpA, xmmB);
  4160. e->vmovd(xmmA, gdB);
  4161. e->vmovd(xmmA, gzB);
  4162. e->vmovd(xmmA, anyptr_gpB);
  4163. e->vmovddup(xmmA, xmmB);
  4164. e->vmovddup(xmmA, anyptr_gpB);
  4165. e->vmovddup(ymmA, ymmB);
  4166. e->vmovddup(ymmA, anyptr_gpB);
  4167. e->vmovddup(zmmA, zmmB);
  4168. e->vmovddup(zmmA, anyptr_gpB);
  4169. e->vmovdqa32(xmmA, xmmB);
  4170. e->vmovdqa32(xmmA, anyptr_gpB);
  4171. e->vmovdqa32(xmmA, xmmB);
  4172. e->vmovdqa32(anyptr_gpA, xmmB);
  4173. e->vmovdqa32(ymmA, ymmB);
  4174. e->vmovdqa32(ymmA, anyptr_gpB);
  4175. e->vmovdqa32(ymmA, ymmB);
  4176. e->vmovdqa32(anyptr_gpA, ymmB);
  4177. e->vmovdqa32(zmmA, zmmB);
  4178. e->vmovdqa32(zmmA, anyptr_gpB);
  4179. e->vmovdqa32(zmmA, zmmB);
  4180. e->vmovdqa32(anyptr_gpA, zmmB);
  4181. e->vmovdqa64(xmmA, xmmB);
  4182. e->vmovdqa64(xmmA, anyptr_gpB);
  4183. e->vmovdqa64(xmmA, xmmB);
  4184. e->vmovdqa64(anyptr_gpA, xmmB);
  4185. e->vmovdqa64(ymmA, ymmB);
  4186. e->vmovdqa64(ymmA, anyptr_gpB);
  4187. e->vmovdqa64(ymmA, ymmB);
  4188. e->vmovdqa64(anyptr_gpA, ymmB);
  4189. e->vmovdqa64(zmmA, zmmB);
  4190. e->vmovdqa64(zmmA, anyptr_gpB);
  4191. e->vmovdqa64(zmmA, zmmB);
  4192. e->vmovdqa64(anyptr_gpA, zmmB);
  4193. e->vmovdqu16(xmmA, xmmB);
  4194. e->vmovdqu16(xmmA, anyptr_gpB);
  4195. e->vmovdqu16(xmmA, xmmB);
  4196. e->vmovdqu16(anyptr_gpA, xmmB);
  4197. e->vmovdqu16(ymmA, ymmB);
  4198. e->vmovdqu16(ymmA, anyptr_gpB);
  4199. e->vmovdqu16(ymmA, ymmB);
  4200. e->vmovdqu16(anyptr_gpA, ymmB);
  4201. e->vmovdqu16(zmmA, zmmB);
  4202. e->vmovdqu16(zmmA, anyptr_gpB);
  4203. e->vmovdqu16(zmmA, zmmB);
  4204. e->vmovdqu16(anyptr_gpA, zmmB);
  4205. e->vmovdqu32(xmmA, xmmB);
  4206. e->vmovdqu32(xmmA, anyptr_gpB);
  4207. e->vmovdqu32(xmmA, xmmB);
  4208. e->vmovdqu32(anyptr_gpA, xmmB);
  4209. e->vmovdqu32(ymmA, ymmB);
  4210. e->vmovdqu32(ymmA, anyptr_gpB);
  4211. e->vmovdqu32(ymmA, ymmB);
  4212. e->vmovdqu32(anyptr_gpA, ymmB);
  4213. e->vmovdqu32(zmmA, zmmB);
  4214. e->vmovdqu32(zmmA, anyptr_gpB);
  4215. e->vmovdqu32(zmmA, zmmB);
  4216. e->vmovdqu32(anyptr_gpA, zmmB);
  4217. e->vmovdqu64(xmmA, xmmB);
  4218. e->vmovdqu64(xmmA, anyptr_gpB);
  4219. e->vmovdqu64(xmmA, xmmB);
  4220. e->vmovdqu64(anyptr_gpA, xmmB);
  4221. e->vmovdqu64(ymmA, ymmB);
  4222. e->vmovdqu64(ymmA, anyptr_gpB);
  4223. e->vmovdqu64(ymmA, ymmB);
  4224. e->vmovdqu64(anyptr_gpA, ymmB);
  4225. e->vmovdqu64(zmmA, zmmB);
  4226. e->vmovdqu64(zmmA, anyptr_gpB);
  4227. e->vmovdqu64(zmmA, zmmB);
  4228. e->vmovdqu64(anyptr_gpA, zmmB);
  4229. e->vmovdqu8(xmmA, xmmB);
  4230. e->vmovdqu8(xmmA, anyptr_gpB);
  4231. e->vmovdqu8(xmmA, xmmB);
  4232. e->vmovdqu8(anyptr_gpA, xmmB);
  4233. e->vmovdqu8(ymmA, ymmB);
  4234. e->vmovdqu8(ymmA, anyptr_gpB);
  4235. e->vmovdqu8(ymmA, ymmB);
  4236. e->vmovdqu8(anyptr_gpA, ymmB);
  4237. e->vmovdqu8(zmmA, zmmB);
  4238. e->vmovdqu8(zmmA, anyptr_gpB);
  4239. e->vmovdqu8(zmmA, zmmB);
  4240. e->vmovdqu8(anyptr_gpA, zmmB);
  4241. e->vmovhlps(xmmA, xmmB, xmmC);
  4242. e->vmovhpd(anyptr_gpA, xmmB);
  4243. e->vmovhpd(xmmA, xmmB, anyptr_gpC);
  4244. e->vmovhps(anyptr_gpA, xmmB);
  4245. e->vmovhps(xmmA, xmmB, anyptr_gpC);
  4246. e->vmovlhps(xmmA, xmmB, xmmC);
  4247. e->vmovlpd(anyptr_gpA, xmmB);
  4248. e->vmovlpd(xmmA, xmmB, anyptr_gpC);
  4249. e->vmovlps(anyptr_gpA, xmmB);
  4250. e->vmovlps(xmmA, xmmB, anyptr_gpC);
  4251. e->vmovntdq(anyptr_gpA, xmmB);
  4252. e->vmovntdq(anyptr_gpA, ymmB);
  4253. e->vmovntdq(anyptr_gpA, zmmB);
  4254. e->vmovntdqa(xmmA, anyptr_gpB);
  4255. e->vmovntdqa(ymmA, anyptr_gpB);
  4256. e->vmovntdqa(zmmA, anyptr_gpB);
  4257. e->vmovntpd(anyptr_gpA, xmmB);
  4258. e->vmovntpd(anyptr_gpA, ymmB);
  4259. e->vmovntpd(anyptr_gpA, zmmB);
  4260. e->vmovntps(anyptr_gpA, xmmB);
  4261. e->vmovntps(anyptr_gpA, ymmB);
  4262. e->vmovntps(anyptr_gpA, zmmB);
  4263. if (isX64) e->vmovq(gzA, xmmB);
  4264. if (isX64) e->vmovq(xmmA, gzB);
  4265. e->vmovq(anyptr_gpA, xmmB);
  4266. e->vmovq(xmmA, anyptr_gpB);
  4267. e->vmovq(xmmA, xmmB);
  4268. e->vmovq(xmmA, anyptr_gpB);
  4269. e->vmovq(xmmA, xmmB);
  4270. e->vmovq(anyptr_gpA, xmmB);
  4271. e->vmovsd(anyptr_gpA, xmmB);
  4272. e->vmovsd(xmmA, anyptr_gpB);
  4273. e->vmovsd(xmmA, xmmB, xmmC);
  4274. e->vmovsd(xmmA, xmmB, xmmC);
  4275. e->vmovshdup(xmmA, xmmB);
  4276. e->vmovshdup(xmmA, anyptr_gpB);
  4277. e->vmovshdup(ymmA, ymmB);
  4278. e->vmovshdup(ymmA, anyptr_gpB);
  4279. e->vmovshdup(zmmA, zmmB);
  4280. e->vmovshdup(zmmA, anyptr_gpB);
  4281. e->vmovsldup(xmmA, xmmB);
  4282. e->vmovsldup(xmmA, anyptr_gpB);
  4283. e->vmovsldup(ymmA, ymmB);
  4284. e->vmovsldup(ymmA, anyptr_gpB);
  4285. e->vmovsldup(zmmA, zmmB);
  4286. e->vmovsldup(zmmA, anyptr_gpB);
  4287. e->vmovss(anyptr_gpA, xmmB);
  4288. e->vmovss(xmmA, anyptr_gpB);
  4289. e->vmovss(xmmA, xmmB, xmmC);
  4290. e->vmovss(xmmA, xmmB, xmmC);
  4291. e->vmovupd(xmmA, xmmB);
  4292. e->vmovupd(xmmA, anyptr_gpB);
  4293. e->vmovupd(xmmA, xmmB);
  4294. e->vmovupd(anyptr_gpA, xmmB);
  4295. e->vmovupd(ymmA, ymmB);
  4296. e->vmovupd(ymmA, anyptr_gpB);
  4297. e->vmovupd(ymmA, ymmB);
  4298. e->vmovupd(anyptr_gpA, ymmB);
  4299. e->vmovupd(zmmA, zmmB);
  4300. e->vmovupd(zmmA, anyptr_gpB);
  4301. e->vmovupd(zmmA, zmmB);
  4302. e->vmovupd(anyptr_gpA, zmmB);
  4303. e->vmovups(xmmA, xmmB);
  4304. e->vmovups(xmmA, anyptr_gpB);
  4305. e->vmovups(xmmA, xmmB);
  4306. e->vmovups(anyptr_gpA, xmmB);
  4307. e->vmovups(ymmA, ymmB);
  4308. e->vmovups(ymmA, anyptr_gpB);
  4309. e->vmovups(ymmA, ymmB);
  4310. e->vmovups(anyptr_gpA, ymmB);
  4311. e->vmovups(zmmA, zmmB);
  4312. e->vmovups(zmmA, anyptr_gpB);
  4313. e->vmovups(zmmA, zmmB);
  4314. e->vmovups(anyptr_gpA, zmmB);
  4315. e->vmulpd(xmmA, xmmB, xmmC);
  4316. e->vmulpd(xmmA, xmmB, anyptr_gpC);
  4317. e->vmulpd(ymmA, ymmB, ymmC);
  4318. e->vmulpd(ymmA, ymmB, anyptr_gpC);
  4319. e->vmulpd(zmmA, zmmB, zmmC);
  4320. e->vmulpd(zmmA, zmmB, anyptr_gpC);
  4321. e->vmulps(xmmA, xmmB, xmmC);
  4322. e->vmulps(xmmA, xmmB, anyptr_gpC);
  4323. e->vmulps(ymmA, ymmB, ymmC);
  4324. e->vmulps(ymmA, ymmB, anyptr_gpC);
  4325. e->vmulps(zmmA, zmmB, zmmC);
  4326. e->vmulps(zmmA, zmmB, anyptr_gpC);
  4327. e->vmulsd(xmmA, xmmB, xmmC);
  4328. e->vmulsd(xmmA, xmmB, anyptr_gpC);
  4329. e->vmulss(xmmA, xmmB, xmmC);
  4330. e->vmulss(xmmA, xmmB, anyptr_gpC);
  4331. e->vorpd(xmmA, xmmB, xmmC);
  4332. e->vorpd(xmmA, xmmB, anyptr_gpC);
  4333. e->vorpd(ymmA, ymmB, ymmC);
  4334. e->vorpd(ymmA, ymmB, anyptr_gpC);
  4335. e->vorpd(zmmA, zmmB, zmmC);
  4336. e->vorpd(zmmA, zmmB, anyptr_gpC);
  4337. e->vorps(xmmA, xmmB, xmmC);
  4338. e->vorps(xmmA, xmmB, anyptr_gpC);
  4339. e->vorps(ymmA, ymmB, ymmC);
  4340. e->vorps(ymmA, ymmB, anyptr_gpC);
  4341. e->vorps(zmmA, zmmB, zmmC);
  4342. e->vorps(zmmA, zmmB, anyptr_gpC);
  4343. e->vpabsb(xmmA, xmmB);
  4344. e->vpabsb(xmmA, anyptr_gpB);
  4345. e->vpabsb(ymmA, ymmB);
  4346. e->vpabsb(ymmA, anyptr_gpB);
  4347. e->vpabsb(zmmA, zmmB);
  4348. e->vpabsb(zmmA, anyptr_gpB);
  4349. e->vpabsd(xmmA, xmmB);
  4350. e->vpabsd(xmmA, anyptr_gpB);
  4351. e->vpabsd(ymmA, ymmB);
  4352. e->vpabsd(ymmA, anyptr_gpB);
  4353. e->vpabsd(zmmA, zmmB);
  4354. e->vpabsd(zmmA, anyptr_gpB);
  4355. e->vpabsq(xmmA, xmmB);
  4356. e->vpabsq(xmmA, anyptr_gpB);
  4357. e->vpabsq(ymmA, ymmB);
  4358. e->vpabsq(ymmA, anyptr_gpB);
  4359. e->vpabsq(zmmA, zmmB);
  4360. e->vpabsq(zmmA, anyptr_gpB);
  4361. e->vpabsw(xmmA, xmmB);
  4362. e->vpabsw(xmmA, anyptr_gpB);
  4363. e->vpabsw(ymmA, ymmB);
  4364. e->vpabsw(ymmA, anyptr_gpB);
  4365. e->vpabsw(zmmA, zmmB);
  4366. e->vpabsw(zmmA, anyptr_gpB);
  4367. e->vpackssdw(xmmA, xmmB, xmmC);
  4368. e->vpackssdw(xmmA, xmmB, anyptr_gpC);
  4369. e->vpackssdw(ymmA, ymmB, ymmC);
  4370. e->vpackssdw(ymmA, ymmB, anyptr_gpC);
  4371. e->vpackssdw(zmmA, zmmB, zmmC);
  4372. e->vpackssdw(zmmA, zmmB, anyptr_gpC);
  4373. e->vpacksswb(xmmA, xmmB, xmmC);
  4374. e->vpacksswb(xmmA, xmmB, anyptr_gpC);
  4375. e->vpacksswb(ymmA, ymmB, ymmC);
  4376. e->vpacksswb(ymmA, ymmB, anyptr_gpC);
  4377. e->vpacksswb(zmmA, zmmB, zmmC);
  4378. e->vpacksswb(zmmA, zmmB, anyptr_gpC);
  4379. e->vpackusdw(xmmA, xmmB, xmmC);
  4380. e->vpackusdw(xmmA, xmmB, anyptr_gpC);
  4381. e->vpackusdw(ymmA, ymmB, ymmC);
  4382. e->vpackusdw(ymmA, ymmB, anyptr_gpC);
  4383. e->vpackusdw(zmmA, zmmB, zmmC);
  4384. e->vpackusdw(zmmA, zmmB, anyptr_gpC);
  4385. e->vpackuswb(xmmA, xmmB, xmmC);
  4386. e->vpackuswb(xmmA, xmmB, anyptr_gpC);
  4387. e->vpackuswb(ymmA, ymmB, ymmC);
  4388. e->vpackuswb(ymmA, ymmB, anyptr_gpC);
  4389. e->vpackuswb(zmmA, zmmB, zmmC);
  4390. e->vpackuswb(zmmA, zmmB, anyptr_gpC);
  4391. e->vpaddb(xmmA, xmmB, xmmC);
  4392. e->vpaddb(xmmA, xmmB, anyptr_gpC);
  4393. e->vpaddb(ymmA, ymmB, ymmC);
  4394. e->vpaddb(ymmA, ymmB, anyptr_gpC);
  4395. e->vpaddb(zmmA, zmmB, zmmC);
  4396. e->vpaddb(zmmA, zmmB, anyptr_gpC);
  4397. e->vpaddd(xmmA, xmmB, xmmC);
  4398. e->vpaddd(xmmA, xmmB, anyptr_gpC);
  4399. e->vpaddd(ymmA, ymmB, ymmC);
  4400. e->vpaddd(ymmA, ymmB, anyptr_gpC);
  4401. e->vpaddd(zmmA, zmmB, zmmC);
  4402. e->vpaddd(zmmA, zmmB, anyptr_gpC);
  4403. e->vpaddq(xmmA, xmmB, xmmC);
  4404. e->vpaddq(xmmA, xmmB, anyptr_gpC);
  4405. e->vpaddq(ymmA, ymmB, ymmC);
  4406. e->vpaddq(ymmA, ymmB, anyptr_gpC);
  4407. e->vpaddq(zmmA, zmmB, zmmC);
  4408. e->vpaddq(zmmA, zmmB, anyptr_gpC);
  4409. e->vpaddsb(xmmA, xmmB, xmmC);
  4410. e->vpaddsb(xmmA, xmmB, anyptr_gpC);
  4411. e->vpaddsb(ymmA, ymmB, ymmC);
  4412. e->vpaddsb(ymmA, ymmB, anyptr_gpC);
  4413. e->vpaddsb(zmmA, zmmB, zmmC);
  4414. e->vpaddsb(zmmA, zmmB, anyptr_gpC);
  4415. e->vpaddsw(xmmA, xmmB, xmmC);
  4416. e->vpaddsw(xmmA, xmmB, anyptr_gpC);
  4417. e->vpaddsw(ymmA, ymmB, ymmC);
  4418. e->vpaddsw(ymmA, ymmB, anyptr_gpC);
  4419. e->vpaddsw(zmmA, zmmB, zmmC);
  4420. e->vpaddsw(zmmA, zmmB, anyptr_gpC);
  4421. e->vpaddusb(xmmA, xmmB, xmmC);
  4422. e->vpaddusb(xmmA, xmmB, anyptr_gpC);
  4423. e->vpaddusb(ymmA, ymmB, ymmC);
  4424. e->vpaddusb(ymmA, ymmB, anyptr_gpC);
  4425. e->vpaddusb(zmmA, zmmB, zmmC);
  4426. e->vpaddusb(zmmA, zmmB, anyptr_gpC);
  4427. e->vpaddusw(xmmA, xmmB, xmmC);
  4428. e->vpaddusw(xmmA, xmmB, anyptr_gpC);
  4429. e->vpaddusw(ymmA, ymmB, ymmC);
  4430. e->vpaddusw(ymmA, ymmB, anyptr_gpC);
  4431. e->vpaddusw(zmmA, zmmB, zmmC);
  4432. e->vpaddusw(zmmA, zmmB, anyptr_gpC);
  4433. e->vpaddw(xmmA, xmmB, xmmC);
  4434. e->vpaddw(xmmA, xmmB, anyptr_gpC);
  4435. e->vpaddw(ymmA, ymmB, ymmC);
  4436. e->vpaddw(ymmA, ymmB, anyptr_gpC);
  4437. e->vpaddw(zmmA, zmmB, zmmC);
  4438. e->vpaddw(zmmA, zmmB, anyptr_gpC);
  4439. e->vpalignr(xmmA, xmmB, xmmC, 0);
  4440. e->vpalignr(xmmA, xmmB, anyptr_gpC, 0);
  4441. e->vpalignr(ymmA, ymmB, ymmC, 0);
  4442. e->vpalignr(ymmA, ymmB, anyptr_gpC, 0);
  4443. e->vpalignr(zmmA, zmmB, zmmC, 0);
  4444. e->vpalignr(zmmA, zmmB, anyptr_gpC, 0);
  4445. e->vpandd(xmmA, xmmB, xmmC);
  4446. e->vpandd(xmmA, xmmB, anyptr_gpC);
  4447. e->vpandd(ymmA, ymmB, ymmC);
  4448. e->vpandd(ymmA, ymmB, anyptr_gpC);
  4449. e->vpandd(zmmA, zmmB, zmmC);
  4450. e->vpandd(zmmA, zmmB, anyptr_gpC);
  4451. e->vpandnd(xmmA, xmmB, xmmC);
  4452. e->vpandnd(xmmA, xmmB, anyptr_gpC);
  4453. e->vpandnd(ymmA, ymmB, ymmC);
  4454. e->vpandnd(ymmA, ymmB, anyptr_gpC);
  4455. e->vpandnd(zmmA, zmmB, zmmC);
  4456. e->vpandnd(zmmA, zmmB, anyptr_gpC);
  4457. e->vpandnq(xmmA, xmmB, xmmC);
  4458. e->vpandnq(xmmA, xmmB, anyptr_gpC);
  4459. e->vpandnq(ymmA, ymmB, ymmC);
  4460. e->vpandnq(ymmA, ymmB, anyptr_gpC);
  4461. e->vpandnq(zmmA, zmmB, zmmC);
  4462. e->vpandnq(zmmA, zmmB, anyptr_gpC);
  4463. e->vpandq(xmmA, xmmB, xmmC);
  4464. e->vpandq(xmmA, xmmB, anyptr_gpC);
  4465. e->vpandq(ymmA, ymmB, ymmC);
  4466. e->vpandq(ymmA, ymmB, anyptr_gpC);
  4467. e->vpandq(zmmA, zmmB, zmmC);
  4468. e->vpandq(zmmA, zmmB, anyptr_gpC);
  4469. e->vpavgb(xmmA, xmmB, xmmC);
  4470. e->vpavgb(xmmA, xmmB, anyptr_gpC);
  4471. e->vpavgb(ymmA, ymmB, ymmC);
  4472. e->vpavgb(ymmA, ymmB, anyptr_gpC);
  4473. e->vpavgb(zmmA, zmmB, zmmC);
  4474. e->vpavgb(zmmA, zmmB, anyptr_gpC);
  4475. e->vpavgw(xmmA, xmmB, xmmC);
  4476. e->vpavgw(xmmA, xmmB, anyptr_gpC);
  4477. e->vpavgw(ymmA, ymmB, ymmC);
  4478. e->vpavgw(ymmA, ymmB, anyptr_gpC);
  4479. e->vpavgw(zmmA, zmmB, zmmC);
  4480. e->vpavgw(zmmA, zmmB, anyptr_gpC);
  4481. e->vpbroadcastb(xmmA, gdB);
  4482. e->vpbroadcastb(xmmA, gzB);
  4483. e->vpbroadcastb(xmmA, xmmB);
  4484. e->vpbroadcastb(xmmA, anyptr_gpB);
  4485. e->vpbroadcastb(ymmA, gdB);
  4486. e->vpbroadcastb(ymmA, gzB);
  4487. e->vpbroadcastb(ymmA, xmmB);
  4488. e->vpbroadcastb(ymmA, anyptr_gpB);
  4489. e->vpbroadcastb(zmmA, gdB);
  4490. e->vpbroadcastb(zmmA, gzB);
  4491. e->vpbroadcastb(zmmA, xmmB);
  4492. e->vpbroadcastb(zmmA, anyptr_gpB);
  4493. e->vpbroadcastd(xmmA, gdB);
  4494. e->vpbroadcastd(xmmA, gzB);
  4495. e->vpbroadcastd(xmmA, xmmB);
  4496. e->vpbroadcastd(xmmA, anyptr_gpB);
  4497. e->vpbroadcastd(ymmA, gdB);
  4498. e->vpbroadcastd(ymmA, gzB);
  4499. e->vpbroadcastd(ymmA, xmmB);
  4500. e->vpbroadcastd(ymmA, anyptr_gpB);
  4501. e->vpbroadcastd(zmmA, gdB);
  4502. e->vpbroadcastd(zmmA, gzB);
  4503. e->vpbroadcastd(zmmA, xmmB);
  4504. e->vpbroadcastd(zmmA, anyptr_gpB);
  4505. e->vpbroadcastmb2d(xmmA, kB);
  4506. e->vpbroadcastmb2d(ymmA, kB);
  4507. e->vpbroadcastmb2d(zmmA, kB);
  4508. e->vpbroadcastmb2q(xmmA, kB);
  4509. e->vpbroadcastmb2q(ymmA, kB);
  4510. e->vpbroadcastmb2q(zmmA, kB);
  4511. if (isX64) e->vpbroadcastq(xmmA, gzB);
  4512. e->vpbroadcastq(xmmA, xmmB);
  4513. e->vpbroadcastq(xmmA, anyptr_gpB);
  4514. if (isX64) e->vpbroadcastq(ymmA, gzB);
  4515. e->vpbroadcastq(ymmA, xmmB);
  4516. e->vpbroadcastq(ymmA, anyptr_gpB);
  4517. if (isX64) e->vpbroadcastq(zmmA, gzB);
  4518. e->vpbroadcastq(zmmA, xmmB);
  4519. e->vpbroadcastq(zmmA, anyptr_gpB);
  4520. e->vpbroadcastw(xmmA, gdB);
  4521. e->vpbroadcastw(xmmA, gzB);
  4522. e->vpbroadcastw(xmmA, xmmB);
  4523. e->vpbroadcastw(xmmA, anyptr_gpB);
  4524. e->vpbroadcastw(ymmA, gdB);
  4525. e->vpbroadcastw(ymmA, gzB);
  4526. e->vpbroadcastw(ymmA, xmmB);
  4527. e->vpbroadcastw(ymmA, anyptr_gpB);
  4528. e->vpbroadcastw(zmmA, gdB);
  4529. e->vpbroadcastw(zmmA, gzB);
  4530. e->vpbroadcastw(zmmA, xmmB);
  4531. e->vpbroadcastw(zmmA, anyptr_gpB);
  4532. e->vpcmpb(kA, xmmB, xmmC, 0);
  4533. e->vpcmpb(kA, xmmB, anyptr_gpC, 0);
  4534. e->vpcmpb(kA, ymmB, ymmC, 0);
  4535. e->vpcmpb(kA, ymmB, anyptr_gpC, 0);
  4536. e->vpcmpb(kA, zmmB, zmmC, 0);
  4537. e->vpcmpb(kA, zmmB, anyptr_gpC, 0);
  4538. e->vpcmpd(kA, xmmB, xmmC, 0);
  4539. e->vpcmpd(kA, xmmB, anyptr_gpC, 0);
  4540. e->vpcmpd(kA, ymmB, ymmC, 0);
  4541. e->vpcmpd(kA, ymmB, anyptr_gpC, 0);
  4542. e->vpcmpd(kA, zmmB, zmmC, 0);
  4543. e->vpcmpd(kA, zmmB, anyptr_gpC, 0);
  4544. e->vpcmpeqb(kA, xmmB, xmmC);
  4545. e->vpcmpeqb(kA, xmmB, anyptr_gpC);
  4546. e->vpcmpeqb(kA, ymmB, ymmC);
  4547. e->vpcmpeqb(kA, ymmB, anyptr_gpC);
  4548. e->vpcmpeqb(kA, zmmB, zmmC);
  4549. e->vpcmpeqb(kA, zmmB, anyptr_gpC);
  4550. e->vpcmpeqd(kA, xmmB, xmmC);
  4551. e->vpcmpeqd(kA, xmmB, anyptr_gpC);
  4552. e->vpcmpeqd(kA, ymmB, ymmC);
  4553. e->vpcmpeqd(kA, ymmB, anyptr_gpC);
  4554. e->vpcmpeqd(kA, zmmB, zmmC);
  4555. e->vpcmpeqd(kA, zmmB, anyptr_gpC);
  4556. e->vpcmpeqq(kA, xmmB, xmmC);
  4557. e->vpcmpeqq(kA, xmmB, anyptr_gpC);
  4558. e->vpcmpeqq(kA, ymmB, ymmC);
  4559. e->vpcmpeqq(kA, ymmB, anyptr_gpC);
  4560. e->vpcmpeqq(kA, zmmB, zmmC);
  4561. e->vpcmpeqq(kA, zmmB, anyptr_gpC);
  4562. e->vpcmpeqw(kA, xmmB, xmmC);
  4563. e->vpcmpeqw(kA, xmmB, anyptr_gpC);
  4564. e->vpcmpeqw(kA, ymmB, ymmC);
  4565. e->vpcmpeqw(kA, ymmB, anyptr_gpC);
  4566. e->vpcmpeqw(kA, zmmB, zmmC);
  4567. e->vpcmpeqw(kA, zmmB, anyptr_gpC);
  4568. e->vpcmpgtb(kA, xmmB, xmmC);
  4569. e->vpcmpgtb(kA, xmmB, anyptr_gpC);
  4570. e->vpcmpgtb(kA, ymmB, ymmC);
  4571. e->vpcmpgtb(kA, ymmB, anyptr_gpC);
  4572. e->vpcmpgtb(kA, zmmB, zmmC);
  4573. e->vpcmpgtb(kA, zmmB, anyptr_gpC);
  4574. e->vpcmpgtd(kA, xmmB, xmmC);
  4575. e->vpcmpgtd(kA, xmmB, anyptr_gpC);
  4576. e->vpcmpgtd(kA, ymmB, ymmC);
  4577. e->vpcmpgtd(kA, ymmB, anyptr_gpC);
  4578. e->vpcmpgtd(kA, zmmB, zmmC);
  4579. e->vpcmpgtd(kA, zmmB, anyptr_gpC);
  4580. e->vpcmpgtq(kA, xmmB, xmmC);
  4581. e->vpcmpgtq(kA, xmmB, anyptr_gpC);
  4582. e->vpcmpgtq(kA, ymmB, ymmC);
  4583. e->vpcmpgtq(kA, ymmB, anyptr_gpC);
  4584. e->vpcmpgtq(kA, zmmB, zmmC);
  4585. e->vpcmpgtq(kA, zmmB, anyptr_gpC);
  4586. e->vpcmpgtw(kA, xmmB, xmmC);
  4587. e->vpcmpgtw(kA, xmmB, anyptr_gpC);
  4588. e->vpcmpgtw(kA, ymmB, ymmC);
  4589. e->vpcmpgtw(kA, ymmB, anyptr_gpC);
  4590. e->vpcmpgtw(kA, zmmB, zmmC);
  4591. e->vpcmpgtw(kA, zmmB, anyptr_gpC);
  4592. e->vpcmpq(kA, xmmB, xmmC, 0);
  4593. e->vpcmpq(kA, xmmB, anyptr_gpC, 0);
  4594. e->vpcmpq(kA, ymmB, ymmC, 0);
  4595. e->vpcmpq(kA, ymmB, anyptr_gpC, 0);
  4596. e->vpcmpq(kA, zmmB, zmmC, 0);
  4597. e->vpcmpq(kA, zmmB, anyptr_gpC, 0);
  4598. e->vpcmpub(kA, xmmB, xmmC, 0);
  4599. e->vpcmpub(kA, xmmB, anyptr_gpC, 0);
  4600. e->vpcmpub(kA, ymmB, ymmC, 0);
  4601. e->vpcmpub(kA, ymmB, anyptr_gpC, 0);
  4602. e->vpcmpub(kA, zmmB, zmmC, 0);
  4603. e->vpcmpub(kA, zmmB, anyptr_gpC, 0);
  4604. e->vpcmpud(kA, xmmB, xmmC, 0);
  4605. e->vpcmpud(kA, xmmB, anyptr_gpC, 0);
  4606. e->vpcmpud(kA, ymmB, ymmC, 0);
  4607. e->vpcmpud(kA, ymmB, anyptr_gpC, 0);
  4608. e->vpcmpud(kA, zmmB, zmmC, 0);
  4609. e->vpcmpud(kA, zmmB, anyptr_gpC, 0);
  4610. e->vpcmpuq(kA, xmmB, xmmC, 0);
  4611. e->vpcmpuq(kA, xmmB, anyptr_gpC, 0);
  4612. e->vpcmpuq(kA, ymmB, ymmC, 0);
  4613. e->vpcmpuq(kA, ymmB, anyptr_gpC, 0);
  4614. e->vpcmpuq(kA, zmmB, zmmC, 0);
  4615. e->vpcmpuq(kA, zmmB, anyptr_gpC, 0);
  4616. e->vpcmpuw(kA, xmmB, xmmC, 0);
  4617. e->vpcmpuw(kA, xmmB, anyptr_gpC, 0);
  4618. e->vpcmpuw(kA, ymmB, ymmC, 0);
  4619. e->vpcmpuw(kA, ymmB, anyptr_gpC, 0);
  4620. e->vpcmpuw(kA, zmmB, zmmC, 0);
  4621. e->vpcmpuw(kA, zmmB, anyptr_gpC, 0);
  4622. e->vpcmpw(kA, xmmB, xmmC, 0);
  4623. e->vpcmpw(kA, xmmB, anyptr_gpC, 0);
  4624. e->vpcmpw(kA, ymmB, ymmC, 0);
  4625. e->vpcmpw(kA, ymmB, anyptr_gpC, 0);
  4626. e->vpcmpw(kA, zmmB, zmmC, 0);
  4627. e->vpcmpw(kA, zmmB, anyptr_gpC, 0);
  4628. e->vpcompressd(xmmA, xmmB);
  4629. e->vpcompressd(anyptr_gpA, xmmB);
  4630. e->vpcompressd(ymmA, ymmB);
  4631. e->vpcompressd(anyptr_gpA, ymmB);
  4632. e->vpcompressd(zmmA, zmmB);
  4633. e->vpcompressd(anyptr_gpA, zmmB);
  4634. e->vpcompressq(xmmA, xmmB);
  4635. e->vpcompressq(anyptr_gpA, xmmB);
  4636. e->vpcompressq(ymmA, ymmB);
  4637. e->vpcompressq(anyptr_gpA, ymmB);
  4638. e->vpcompressq(zmmA, zmmB);
  4639. e->vpcompressq(anyptr_gpA, zmmB);
  4640. e->vpconflictd(xmmA, xmmB);
  4641. e->vpconflictd(xmmA, anyptr_gpB);
  4642. e->vpconflictd(ymmA, ymmB);
  4643. e->vpconflictd(ymmA, anyptr_gpB);
  4644. e->vpconflictd(zmmA, zmmB);
  4645. e->vpconflictd(zmmA, anyptr_gpB);
  4646. e->vpconflictq(xmmA, xmmB);
  4647. e->vpconflictq(xmmA, anyptr_gpB);
  4648. e->vpconflictq(ymmA, ymmB);
  4649. e->vpconflictq(ymmA, anyptr_gpB);
  4650. e->vpconflictq(zmmA, zmmB);
  4651. e->vpconflictq(zmmA, anyptr_gpB);
  4652. e->vpermb(xmmA, xmmB, xmmC);
  4653. e->vpermb(xmmA, xmmB, anyptr_gpC);
  4654. e->vpermb(ymmA, ymmB, ymmC);
  4655. e->vpermb(ymmA, ymmB, anyptr_gpC);
  4656. e->vpermb(zmmA, zmmB, zmmC);
  4657. e->vpermb(zmmA, zmmB, anyptr_gpC);
  4658. e->vpermd(ymmA, ymmB, ymmC);
  4659. e->vpermd(ymmA, ymmB, anyptr_gpC);
  4660. e->vpermd(zmmA, zmmB, zmmC);
  4661. e->vpermd(zmmA, zmmB, anyptr_gpC);
  4662. e->vpermi2b(xmmA, xmmB, xmmC);
  4663. e->vpermi2b(xmmA, xmmB, anyptr_gpC);
  4664. e->vpermi2b(ymmA, ymmB, ymmC);
  4665. e->vpermi2b(ymmA, ymmB, anyptr_gpC);
  4666. e->vpermi2b(zmmA, zmmB, zmmC);
  4667. e->vpermi2b(zmmA, zmmB, anyptr_gpC);
  4668. e->vpermi2d(xmmA, xmmB, xmmC);
  4669. e->vpermi2d(xmmA, xmmB, anyptr_gpC);
  4670. e->vpermi2d(ymmA, ymmB, ymmC);
  4671. e->vpermi2d(ymmA, ymmB, anyptr_gpC);
  4672. e->vpermi2d(zmmA, zmmB, zmmC);
  4673. e->vpermi2d(zmmA, zmmB, anyptr_gpC);
  4674. e->vpermi2pd(xmmA, xmmB, xmmC);
  4675. e->vpermi2pd(xmmA, xmmB, anyptr_gpC);
  4676. e->vpermi2pd(ymmA, ymmB, ymmC);
  4677. e->vpermi2pd(ymmA, ymmB, anyptr_gpC);
  4678. e->vpermi2pd(zmmA, zmmB, zmmC);
  4679. e->vpermi2pd(zmmA, zmmB, anyptr_gpC);
  4680. e->vpermi2ps(xmmA, xmmB, xmmC);
  4681. e->vpermi2ps(xmmA, xmmB, anyptr_gpC);
  4682. e->vpermi2ps(ymmA, ymmB, ymmC);
  4683. e->vpermi2ps(ymmA, ymmB, anyptr_gpC);
  4684. e->vpermi2ps(zmmA, zmmB, zmmC);
  4685. e->vpermi2ps(zmmA, zmmB, anyptr_gpC);
  4686. e->vpermi2q(xmmA, xmmB, xmmC);
  4687. e->vpermi2q(xmmA, xmmB, anyptr_gpC);
  4688. e->vpermi2q(ymmA, ymmB, ymmC);
  4689. e->vpermi2q(ymmA, ymmB, anyptr_gpC);
  4690. e->vpermi2q(zmmA, zmmB, zmmC);
  4691. e->vpermi2q(zmmA, zmmB, anyptr_gpC);
  4692. e->vpermi2w(xmmA, xmmB, xmmC);
  4693. e->vpermi2w(xmmA, xmmB, anyptr_gpC);
  4694. e->vpermi2w(ymmA, ymmB, ymmC);
  4695. e->vpermi2w(ymmA, ymmB, anyptr_gpC);
  4696. e->vpermi2w(zmmA, zmmB, zmmC);
  4697. e->vpermi2w(zmmA, zmmB, anyptr_gpC);
  4698. e->vpermilpd(xmmA, xmmB, xmmC);
  4699. e->vpermilpd(xmmA, xmmB, anyptr_gpC);
  4700. e->vpermilpd(ymmA, ymmB, ymmC);
  4701. e->vpermilpd(ymmA, ymmB, anyptr_gpC);
  4702. e->vpermilpd(zmmA, zmmB, zmmC);
  4703. e->vpermilpd(zmmA, zmmB, anyptr_gpC);
  4704. e->vpermilpd(xmmA, xmmB, 0);
  4705. e->vpermilpd(xmmA, anyptr_gpB, 0);
  4706. e->vpermilpd(ymmA, ymmB, 0);
  4707. e->vpermilpd(ymmA, anyptr_gpB, 0);
  4708. e->vpermilpd(zmmA, zmmB, 0);
  4709. e->vpermilpd(zmmA, anyptr_gpB, 0);
  4710. e->vpermilps(xmmA, xmmB, xmmC);
  4711. e->vpermilps(xmmA, xmmB, anyptr_gpC);
  4712. e->vpermilps(ymmA, ymmB, ymmC);
  4713. e->vpermilps(ymmA, ymmB, anyptr_gpC);
  4714. e->vpermilps(zmmA, zmmB, zmmC);
  4715. e->vpermilps(zmmA, zmmB, anyptr_gpC);
  4716. e->vpermilps(xmmA, xmmB, 0);
  4717. e->vpermilps(xmmA, anyptr_gpB, 0);
  4718. e->vpermilps(ymmA, ymmB, 0);
  4719. e->vpermilps(ymmA, anyptr_gpB, 0);
  4720. e->vpermilps(zmmA, zmmB, 0);
  4721. e->vpermilps(zmmA, anyptr_gpB, 0);
  4722. e->vpermq(ymmA, ymmB, ymmC);
  4723. e->vpermq(ymmA, ymmB, anyptr_gpC);
  4724. e->vpermq(zmmA, zmmB, zmmC);
  4725. e->vpermq(zmmA, zmmB, anyptr_gpC);
  4726. e->vpermq(ymmA, ymmB, 0);
  4727. e->vpermq(ymmA, anyptr_gpB, 0);
  4728. e->vpermq(zmmA, zmmB, 0);
  4729. e->vpermq(zmmA, anyptr_gpB, 0);
  4730. e->vpermt2b(xmmA, xmmB, xmmC);
  4731. e->vpermt2b(xmmA, xmmB, anyptr_gpC);
  4732. e->vpermt2b(ymmA, ymmB, ymmC);
  4733. e->vpermt2b(ymmA, ymmB, anyptr_gpC);
  4734. e->vpermt2b(zmmA, zmmB, zmmC);
  4735. e->vpermt2b(zmmA, zmmB, anyptr_gpC);
  4736. e->vpermt2d(xmmA, xmmB, xmmC);
  4737. e->vpermt2d(xmmA, xmmB, anyptr_gpC);
  4738. e->vpermt2d(ymmA, ymmB, ymmC);
  4739. e->vpermt2d(ymmA, ymmB, anyptr_gpC);
  4740. e->vpermt2d(zmmA, zmmB, zmmC);
  4741. e->vpermt2d(zmmA, zmmB, anyptr_gpC);
  4742. e->vpermt2pd(xmmA, xmmB, xmmC);
  4743. e->vpermt2pd(xmmA, xmmB, anyptr_gpC);
  4744. e->vpermt2pd(ymmA, ymmB, ymmC);
  4745. e->vpermt2pd(ymmA, ymmB, anyptr_gpC);
  4746. e->vpermt2pd(zmmA, zmmB, zmmC);
  4747. e->vpermt2pd(zmmA, zmmB, anyptr_gpC);
  4748. e->vpermt2ps(xmmA, xmmB, xmmC);
  4749. e->vpermt2ps(xmmA, xmmB, anyptr_gpC);
  4750. e->vpermt2ps(ymmA, ymmB, ymmC);
  4751. e->vpermt2ps(ymmA, ymmB, anyptr_gpC);
  4752. e->vpermt2ps(zmmA, zmmB, zmmC);
  4753. e->vpermt2ps(zmmA, zmmB, anyptr_gpC);
  4754. e->vpermt2q(xmmA, xmmB, xmmC);
  4755. e->vpermt2q(xmmA, xmmB, anyptr_gpC);
  4756. e->vpermt2q(ymmA, ymmB, ymmC);
  4757. e->vpermt2q(ymmA, ymmB, anyptr_gpC);
  4758. e->vpermt2q(zmmA, zmmB, zmmC);
  4759. e->vpermt2q(zmmA, zmmB, anyptr_gpC);
  4760. e->vpermt2w(xmmA, xmmB, xmmC);
  4761. e->vpermt2w(xmmA, xmmB, anyptr_gpC);
  4762. e->vpermt2w(ymmA, ymmB, ymmC);
  4763. e->vpermt2w(ymmA, ymmB, anyptr_gpC);
  4764. e->vpermt2w(zmmA, zmmB, zmmC);
  4765. e->vpermt2w(zmmA, zmmB, anyptr_gpC);
  4766. e->vpermw(xmmA, xmmB, xmmC);
  4767. e->vpermw(xmmA, xmmB, anyptr_gpC);
  4768. e->vpermw(ymmA, ymmB, ymmC);
  4769. e->vpermw(ymmA, ymmB, anyptr_gpC);
  4770. e->vpermw(zmmA, zmmB, zmmC);
  4771. e->vpermw(zmmA, zmmB, anyptr_gpC);
  4772. e->vpexpandd(xmmA, xmmB);
  4773. e->vpexpandd(xmmA, anyptr_gpB);
  4774. e->vpexpandd(ymmA, ymmB);
  4775. e->vpexpandd(ymmA, anyptr_gpB);
  4776. e->vpexpandd(zmmA, zmmB);
  4777. e->vpexpandd(zmmA, anyptr_gpB);
  4778. e->vpexpandq(xmmA, xmmB);
  4779. e->vpexpandq(xmmA, anyptr_gpB);
  4780. e->vpexpandq(ymmA, ymmB);
  4781. e->vpexpandq(ymmA, anyptr_gpB);
  4782. e->vpexpandq(zmmA, zmmB);
  4783. e->vpexpandq(zmmA, anyptr_gpB);
  4784. e->vpextrb(gdA, xmmB, 0);
  4785. e->vpextrb(anyptr_gpA, xmmB, 0);
  4786. e->vpextrb(gzA, xmmB, 0);
  4787. e->vpextrd(gdA, xmmB, 0);
  4788. e->vpextrd(anyptr_gpA, xmmB, 0);
  4789. if (isX64) e->vpextrd(gzA, xmmB, 0);
  4790. if (isX64) e->vpextrq(gzA, xmmB, 0);
  4791. e->vpextrq(anyptr_gpA, xmmB, 0);
  4792. e->vpextrw(gdA, xmmB, 0);
  4793. e->vpextrw(gzA, xmmB, 0);
  4794. e->vpextrw(gdA, xmmB, 0);
  4795. e->vpextrw(anyptr_gpA, xmmB, 0);
  4796. e->vpextrw(gzA, xmmB, 0);
  4797. e->vpgatherdd(xmmA, vx_ptr);
  4798. e->vpgatherdd(ymmA, vy_ptr);
  4799. e->vpgatherdd(zmmA, vz_ptr);
  4800. e->vpgatherdq(xmmA, vx_ptr);
  4801. e->vpgatherdq(ymmA, vy_ptr);
  4802. e->vpgatherdq(zmmA, vz_ptr);
  4803. e->vpgatherqd(xmmA, vx_ptr);
  4804. e->vpgatherqd(ymmA, vy_ptr);
  4805. e->vpgatherqd(zmmA, vz_ptr);
  4806. e->vpgatherqq(xmmA, vx_ptr);
  4807. e->vpgatherqq(ymmA, vy_ptr);
  4808. e->vpgatherqq(zmmA, vz_ptr);
  4809. e->vpinsrb(xmmA, xmmB, gdC, 0);
  4810. e->vpinsrb(xmmA, xmmB, anyptr_gpC, 0);
  4811. e->vpinsrb(xmmA, xmmB, gzC, 0);
  4812. e->vpinsrd(xmmA, xmmB, gdC, 0);
  4813. e->vpinsrd(xmmA, xmmB, anyptr_gpC, 0);
  4814. e->vpinsrd(xmmA, xmmB, gzC, 0);
  4815. if (isX64) e->vpinsrq(xmmA, xmmB, gzC, 0);
  4816. e->vpinsrq(xmmA, xmmB, anyptr_gpC, 0);
  4817. e->vpinsrw(xmmA, xmmB, gdC, 0);
  4818. e->vpinsrw(xmmA, xmmB, anyptr_gpC, 0);
  4819. e->vpinsrw(xmmA, xmmB, gzC, 0);
  4820. e->vplzcntd(xmmA, xmmB);
  4821. e->vplzcntd(xmmA, anyptr_gpB);
  4822. e->vplzcntd(ymmA, ymmB);
  4823. e->vplzcntd(ymmA, anyptr_gpB);
  4824. e->vplzcntd(zmmA, zmmB);
  4825. e->vplzcntd(zmmA, anyptr_gpB);
  4826. e->vplzcntq(xmmA, xmmB);
  4827. e->vplzcntq(xmmA, anyptr_gpB);
  4828. e->vplzcntq(ymmA, ymmB);
  4829. e->vplzcntq(ymmA, anyptr_gpB);
  4830. e->vplzcntq(zmmA, zmmB);
  4831. e->vplzcntq(zmmA, anyptr_gpB);
  4832. e->vpmadd52huq(xmmA, xmmB, xmmC);
  4833. e->vpmadd52huq(xmmA, xmmB, anyptr_gpC);
  4834. e->vpmadd52huq(ymmA, ymmB, ymmC);
  4835. e->vpmadd52huq(ymmA, ymmB, anyptr_gpC);
  4836. e->vpmadd52huq(zmmA, zmmB, zmmC);
  4837. e->vpmadd52huq(zmmA, zmmB, anyptr_gpC);
  4838. e->vpmadd52luq(xmmA, xmmB, xmmC);
  4839. e->vpmadd52luq(xmmA, xmmB, anyptr_gpC);
  4840. e->vpmadd52luq(ymmA, ymmB, ymmC);
  4841. e->vpmadd52luq(ymmA, ymmB, anyptr_gpC);
  4842. e->vpmadd52luq(zmmA, zmmB, zmmC);
  4843. e->vpmadd52luq(zmmA, zmmB, anyptr_gpC);
  4844. e->vpmaddubsw(xmmA, xmmB, xmmC);
  4845. e->vpmaddubsw(xmmA, xmmB, anyptr_gpC);
  4846. e->vpmaddubsw(ymmA, ymmB, ymmC);
  4847. e->vpmaddubsw(ymmA, ymmB, anyptr_gpC);
  4848. e->vpmaddubsw(zmmA, zmmB, zmmC);
  4849. e->vpmaddubsw(zmmA, zmmB, anyptr_gpC);
  4850. e->vpmaddwd(xmmA, xmmB, xmmC);
  4851. e->vpmaddwd(xmmA, xmmB, anyptr_gpC);
  4852. e->vpmaddwd(ymmA, ymmB, ymmC);
  4853. e->vpmaddwd(ymmA, ymmB, anyptr_gpC);
  4854. e->vpmaddwd(zmmA, zmmB, zmmC);
  4855. e->vpmaddwd(zmmA, zmmB, anyptr_gpC);
  4856. e->vpmaxsb(xmmA, xmmB, xmmC);
  4857. e->vpmaxsb(xmmA, xmmB, anyptr_gpC);
  4858. e->vpmaxsb(ymmA, ymmB, ymmC);
  4859. e->vpmaxsb(ymmA, ymmB, anyptr_gpC);
  4860. e->vpmaxsb(zmmA, zmmB, zmmC);
  4861. e->vpmaxsb(zmmA, zmmB, anyptr_gpC);
  4862. e->vpmaxsd(xmmA, xmmB, xmmC);
  4863. e->vpmaxsd(xmmA, xmmB, anyptr_gpC);
  4864. e->vpmaxsd(ymmA, ymmB, ymmC);
  4865. e->vpmaxsd(ymmA, ymmB, anyptr_gpC);
  4866. e->vpmaxsd(zmmA, zmmB, zmmC);
  4867. e->vpmaxsd(zmmA, zmmB, anyptr_gpC);
  4868. e->vpmaxsq(xmmA, xmmB, xmmC);
  4869. e->vpmaxsq(xmmA, xmmB, anyptr_gpC);
  4870. e->vpmaxsq(ymmA, ymmB, ymmC);
  4871. e->vpmaxsq(ymmA, ymmB, anyptr_gpC);
  4872. e->vpmaxsq(zmmA, zmmB, zmmC);
  4873. e->vpmaxsq(zmmA, zmmB, anyptr_gpC);
  4874. e->vpmaxsw(xmmA, xmmB, xmmC);
  4875. e->vpmaxsw(xmmA, xmmB, anyptr_gpC);
  4876. e->vpmaxsw(ymmA, ymmB, ymmC);
  4877. e->vpmaxsw(ymmA, ymmB, anyptr_gpC);
  4878. e->vpmaxsw(zmmA, zmmB, zmmC);
  4879. e->vpmaxsw(zmmA, zmmB, anyptr_gpC);
  4880. e->vpmaxub(xmmA, xmmB, xmmC);
  4881. e->vpmaxub(xmmA, xmmB, anyptr_gpC);
  4882. e->vpmaxub(ymmA, ymmB, ymmC);
  4883. e->vpmaxub(ymmA, ymmB, anyptr_gpC);
  4884. e->vpmaxub(zmmA, zmmB, zmmC);
  4885. e->vpmaxub(zmmA, zmmB, anyptr_gpC);
  4886. e->vpmaxud(xmmA, xmmB, xmmC);
  4887. e->vpmaxud(xmmA, xmmB, anyptr_gpC);
  4888. e->vpmaxud(ymmA, ymmB, ymmC);
  4889. e->vpmaxud(ymmA, ymmB, anyptr_gpC);
  4890. e->vpmaxud(zmmA, zmmB, zmmC);
  4891. e->vpmaxud(zmmA, zmmB, anyptr_gpC);
  4892. e->vpmaxuq(xmmA, xmmB, xmmC);
  4893. e->vpmaxuq(xmmA, xmmB, anyptr_gpC);
  4894. e->vpmaxuq(ymmA, ymmB, ymmC);
  4895. e->vpmaxuq(ymmA, ymmB, anyptr_gpC);
  4896. e->vpmaxuq(zmmA, zmmB, zmmC);
  4897. e->vpmaxuq(zmmA, zmmB, anyptr_gpC);
  4898. e->vpmaxuw(xmmA, xmmB, xmmC);
  4899. e->vpmaxuw(xmmA, xmmB, anyptr_gpC);
  4900. e->vpmaxuw(ymmA, ymmB, ymmC);
  4901. e->vpmaxuw(ymmA, ymmB, anyptr_gpC);
  4902. e->vpmaxuw(zmmA, zmmB, zmmC);
  4903. e->vpmaxuw(zmmA, zmmB, anyptr_gpC);
  4904. e->vpminsb(xmmA, xmmB, xmmC);
  4905. e->vpminsb(xmmA, xmmB, anyptr_gpC);
  4906. e->vpminsb(ymmA, ymmB, ymmC);
  4907. e->vpminsb(ymmA, ymmB, anyptr_gpC);
  4908. e->vpminsb(zmmA, zmmB, zmmC);
  4909. e->vpminsb(zmmA, zmmB, anyptr_gpC);
  4910. e->vpminsd(xmmA, xmmB, xmmC);
  4911. e->vpminsd(xmmA, xmmB, anyptr_gpC);
  4912. e->vpminsd(ymmA, ymmB, ymmC);
  4913. e->vpminsd(ymmA, ymmB, anyptr_gpC);
  4914. e->vpminsd(zmmA, zmmB, zmmC);
  4915. e->vpminsd(zmmA, zmmB, anyptr_gpC);
  4916. e->vpminsq(xmmA, xmmB, xmmC);
  4917. e->vpminsq(xmmA, xmmB, anyptr_gpC);
  4918. e->vpminsq(ymmA, ymmB, ymmC);
  4919. e->vpminsq(ymmA, ymmB, anyptr_gpC);
  4920. e->vpminsq(zmmA, zmmB, zmmC);
  4921. e->vpminsq(zmmA, zmmB, anyptr_gpC);
  4922. e->vpminsw(xmmA, xmmB, xmmC);
  4923. e->vpminsw(xmmA, xmmB, anyptr_gpC);
  4924. e->vpminsw(ymmA, ymmB, ymmC);
  4925. e->vpminsw(ymmA, ymmB, anyptr_gpC);
  4926. e->vpminsw(zmmA, zmmB, zmmC);
  4927. e->vpminsw(zmmA, zmmB, anyptr_gpC);
  4928. e->vpminub(xmmA, xmmB, xmmC);
  4929. e->vpminub(xmmA, xmmB, anyptr_gpC);
  4930. e->vpminub(ymmA, ymmB, ymmC);
  4931. e->vpminub(ymmA, ymmB, anyptr_gpC);
  4932. e->vpminub(zmmA, zmmB, zmmC);
  4933. e->vpminub(zmmA, zmmB, anyptr_gpC);
  4934. e->vpminud(xmmA, xmmB, xmmC);
  4935. e->vpminud(xmmA, xmmB, anyptr_gpC);
  4936. e->vpminud(ymmA, ymmB, ymmC);
  4937. e->vpminud(ymmA, ymmB, anyptr_gpC);
  4938. e->vpminud(zmmA, zmmB, zmmC);
  4939. e->vpminud(zmmA, zmmB, anyptr_gpC);
  4940. e->vpminuq(xmmA, xmmB, xmmC);
  4941. e->vpminuq(xmmA, xmmB, anyptr_gpC);
  4942. e->vpminuq(ymmA, ymmB, ymmC);
  4943. e->vpminuq(ymmA, ymmB, anyptr_gpC);
  4944. e->vpminuq(zmmA, zmmB, zmmC);
  4945. e->vpminuq(zmmA, zmmB, anyptr_gpC);
  4946. e->vpminuw(xmmA, xmmB, xmmC);
  4947. e->vpminuw(xmmA, xmmB, anyptr_gpC);
  4948. e->vpminuw(ymmA, ymmB, ymmC);
  4949. e->vpminuw(ymmA, ymmB, anyptr_gpC);
  4950. e->vpminuw(zmmA, zmmB, zmmC);
  4951. e->vpminuw(zmmA, zmmB, anyptr_gpC);
  4952. e->vpmovb2m(kA, xmmB);
  4953. e->vpmovb2m(kA, ymmB);
  4954. e->vpmovb2m(kA, zmmB);
  4955. e->vpmovd2m(kA, xmmB);
  4956. e->vpmovd2m(kA, ymmB);
  4957. e->vpmovd2m(kA, zmmB);
  4958. e->vpmovdb(xmmA, xmmB);
  4959. e->vpmovdb(anyptr_gpA, xmmB);
  4960. e->vpmovdb(xmmA, ymmB);
  4961. e->vpmovdb(anyptr_gpA, ymmB);
  4962. e->vpmovdb(xmmA, zmmB);
  4963. e->vpmovdb(anyptr_gpA, zmmB);
  4964. e->vpmovdw(xmmA, xmmB);
  4965. e->vpmovdw(anyptr_gpA, xmmB);
  4966. e->vpmovdw(xmmA, ymmB);
  4967. e->vpmovdw(anyptr_gpA, ymmB);
  4968. e->vpmovdw(ymmA, zmmB);
  4969. e->vpmovdw(anyptr_gpA, zmmB);
  4970. e->vpmovm2b(xmmA, kB);
  4971. e->vpmovm2b(ymmA, kB);
  4972. e->vpmovm2b(zmmA, kB);
  4973. e->vpmovm2d(xmmA, kB);
  4974. e->vpmovm2d(ymmA, kB);
  4975. e->vpmovm2d(zmmA, kB);
  4976. e->vpmovm2q(xmmA, kB);
  4977. e->vpmovm2q(ymmA, kB);
  4978. e->vpmovm2q(zmmA, kB);
  4979. e->vpmovm2w(xmmA, kB);
  4980. e->vpmovm2w(ymmA, kB);
  4981. e->vpmovm2w(zmmA, kB);
  4982. e->vpmovq2m(kA, xmmB);
  4983. e->vpmovq2m(kA, ymmB);
  4984. e->vpmovq2m(kA, zmmB);
  4985. e->vpmovqb(xmmA, xmmB);
  4986. e->vpmovqb(anyptr_gpA, xmmB);
  4987. e->vpmovqb(xmmA, ymmB);
  4988. e->vpmovqb(anyptr_gpA, ymmB);
  4989. e->vpmovqb(xmmA, zmmB);
  4990. e->vpmovqb(anyptr_gpA, zmmB);
  4991. e->vpmovqd(xmmA, xmmB);
  4992. e->vpmovqd(anyptr_gpA, xmmB);
  4993. e->vpmovqd(xmmA, ymmB);
  4994. e->vpmovqd(anyptr_gpA, ymmB);
  4995. e->vpmovqd(ymmA, zmmB);
  4996. e->vpmovqd(anyptr_gpA, zmmB);
  4997. e->vpmovqw(xmmA, xmmB);
  4998. e->vpmovqw(anyptr_gpA, xmmB);
  4999. e->vpmovqw(xmmA, ymmB);
  5000. e->vpmovqw(anyptr_gpA, ymmB);
  5001. e->vpmovqw(xmmA, zmmB);
  5002. e->vpmovqw(anyptr_gpA, zmmB);
  5003. e->vpmovsdb(xmmA, xmmB);
  5004. e->vpmovsdb(anyptr_gpA, xmmB);
  5005. e->vpmovsdb(xmmA, ymmB);
  5006. e->vpmovsdb(anyptr_gpA, ymmB);
  5007. e->vpmovsdb(xmmA, zmmB);
  5008. e->vpmovsdb(anyptr_gpA, zmmB);
  5009. e->vpmovsdw(xmmA, xmmB);
  5010. e->vpmovsdw(anyptr_gpA, xmmB);
  5011. e->vpmovsdw(xmmA, ymmB);
  5012. e->vpmovsdw(anyptr_gpA, ymmB);
  5013. e->vpmovsdw(ymmA, zmmB);
  5014. e->vpmovsdw(anyptr_gpA, zmmB);
  5015. e->vpmovsqb(xmmA, xmmB);
  5016. e->vpmovsqb(anyptr_gpA, xmmB);
  5017. e->vpmovsqb(xmmA, ymmB);
  5018. e->vpmovsqb(anyptr_gpA, ymmB);
  5019. e->vpmovsqb(xmmA, zmmB);
  5020. e->vpmovsqb(anyptr_gpA, zmmB);
  5021. e->vpmovsqd(xmmA, xmmB);
  5022. e->vpmovsqd(anyptr_gpA, xmmB);
  5023. e->vpmovsqd(xmmA, ymmB);
  5024. e->vpmovsqd(anyptr_gpA, ymmB);
  5025. e->vpmovsqd(ymmA, zmmB);
  5026. e->vpmovsqd(anyptr_gpA, zmmB);
  5027. e->vpmovsqw(xmmA, xmmB);
  5028. e->vpmovsqw(anyptr_gpA, xmmB);
  5029. e->vpmovsqw(xmmA, ymmB);
  5030. e->vpmovsqw(anyptr_gpA, ymmB);
  5031. e->vpmovsqw(xmmA, zmmB);
  5032. e->vpmovsqw(anyptr_gpA, zmmB);
  5033. e->vpmovswb(xmmA, xmmB);
  5034. e->vpmovswb(anyptr_gpA, xmmB);
  5035. e->vpmovswb(xmmA, ymmB);
  5036. e->vpmovswb(anyptr_gpA, ymmB);
  5037. e->vpmovswb(ymmA, zmmB);
  5038. e->vpmovswb(anyptr_gpA, zmmB);
  5039. e->vpmovsxbd(xmmA, xmmB);
  5040. e->vpmovsxbd(xmmA, anyptr_gpB);
  5041. e->vpmovsxbd(ymmA, xmmB);
  5042. e->vpmovsxbd(ymmA, anyptr_gpB);
  5043. e->vpmovsxbd(zmmA, xmmB);
  5044. e->vpmovsxbd(zmmA, anyptr_gpB);
  5045. e->vpmovsxbq(xmmA, xmmB);
  5046. e->vpmovsxbq(xmmA, anyptr_gpB);
  5047. e->vpmovsxbq(ymmA, xmmB);
  5048. e->vpmovsxbq(ymmA, anyptr_gpB);
  5049. e->vpmovsxbq(zmmA, xmmB);
  5050. e->vpmovsxbq(zmmA, anyptr_gpB);
  5051. e->vpmovsxbw(xmmA, xmmB);
  5052. e->vpmovsxbw(xmmA, anyptr_gpB);
  5053. e->vpmovsxbw(ymmA, xmmB);
  5054. e->vpmovsxbw(ymmA, anyptr_gpB);
  5055. e->vpmovsxbw(zmmA, ymmB);
  5056. e->vpmovsxbw(zmmA, anyptr_gpB);
  5057. e->vpmovsxdq(xmmA, xmmB);
  5058. e->vpmovsxdq(xmmA, anyptr_gpB);
  5059. e->vpmovsxdq(ymmA, xmmB);
  5060. e->vpmovsxdq(ymmA, anyptr_gpB);
  5061. e->vpmovsxdq(zmmA, ymmB);
  5062. e->vpmovsxdq(zmmA, anyptr_gpB);
  5063. e->vpmovsxwd(xmmA, xmmB);
  5064. e->vpmovsxwd(xmmA, anyptr_gpB);
  5065. e->vpmovsxwd(ymmA, xmmB);
  5066. e->vpmovsxwd(ymmA, anyptr_gpB);
  5067. e->vpmovsxwd(zmmA, ymmB);
  5068. e->vpmovsxwd(zmmA, anyptr_gpB);
  5069. e->vpmovsxwq(xmmA, xmmB);
  5070. e->vpmovsxwq(xmmA, anyptr_gpB);
  5071. e->vpmovsxwq(ymmA, xmmB);
  5072. e->vpmovsxwq(ymmA, anyptr_gpB);
  5073. e->vpmovsxwq(zmmA, xmmB);
  5074. e->vpmovsxwq(zmmA, anyptr_gpB);
  5075. e->vpmovusdb(xmmA, xmmB);
  5076. e->vpmovusdb(anyptr_gpA, xmmB);
  5077. e->vpmovusdb(xmmA, ymmB);
  5078. e->vpmovusdb(anyptr_gpA, ymmB);
  5079. e->vpmovusdb(xmmA, zmmB);
  5080. e->vpmovusdb(anyptr_gpA, zmmB);
  5081. e->vpmovusdw(xmmA, xmmB);
  5082. e->vpmovusdw(anyptr_gpA, xmmB);
  5083. e->vpmovusdw(xmmA, ymmB);
  5084. e->vpmovusdw(anyptr_gpA, ymmB);
  5085. e->vpmovusdw(ymmA, zmmB);
  5086. e->vpmovusdw(anyptr_gpA, zmmB);
  5087. e->vpmovusqb(xmmA, xmmB);
  5088. e->vpmovusqb(anyptr_gpA, xmmB);
  5089. e->vpmovusqb(xmmA, ymmB);
  5090. e->vpmovusqb(anyptr_gpA, ymmB);
  5091. e->vpmovusqb(xmmA, zmmB);
  5092. e->vpmovusqb(anyptr_gpA, zmmB);
  5093. e->vpmovusqd(xmmA, xmmB);
  5094. e->vpmovusqd(anyptr_gpA, xmmB);
  5095. e->vpmovusqd(xmmA, ymmB);
  5096. e->vpmovusqd(anyptr_gpA, ymmB);
  5097. e->vpmovusqd(ymmA, zmmB);
  5098. e->vpmovusqd(anyptr_gpA, zmmB);
  5099. e->vpmovusqw(xmmA, xmmB);
  5100. e->vpmovusqw(anyptr_gpA, xmmB);
  5101. e->vpmovusqw(xmmA, ymmB);
  5102. e->vpmovusqw(anyptr_gpA, ymmB);
  5103. e->vpmovusqw(xmmA, zmmB);
  5104. e->vpmovusqw(anyptr_gpA, zmmB);
  5105. e->vpmovuswb(xmmA, xmmB);
  5106. e->vpmovuswb(anyptr_gpA, xmmB);
  5107. e->vpmovuswb(xmmA, ymmB);
  5108. e->vpmovuswb(anyptr_gpA, ymmB);
  5109. e->vpmovuswb(ymmA, zmmB);
  5110. e->vpmovuswb(anyptr_gpA, zmmB);
  5111. e->vpmovw2m(kA, xmmB);
  5112. e->vpmovw2m(kA, ymmB);
  5113. e->vpmovw2m(kA, zmmB);
  5114. e->vpmovwb(xmmA, xmmB);
  5115. e->vpmovwb(anyptr_gpA, xmmB);
  5116. e->vpmovwb(xmmA, ymmB);
  5117. e->vpmovwb(anyptr_gpA, ymmB);
  5118. e->vpmovwb(ymmA, zmmB);
  5119. e->vpmovwb(anyptr_gpA, zmmB);
  5120. e->vpmovzxbd(xmmA, xmmB);
  5121. e->vpmovzxbd(xmmA, anyptr_gpB);
  5122. e->vpmovzxbd(ymmA, xmmB);
  5123. e->vpmovzxbd(ymmA, anyptr_gpB);
  5124. e->vpmovzxbd(zmmA, xmmB);
  5125. e->vpmovzxbd(zmmA, anyptr_gpB);
  5126. e->vpmovzxbq(xmmA, xmmB);
  5127. e->vpmovzxbq(xmmA, anyptr_gpB);
  5128. e->vpmovzxbq(ymmA, xmmB);
  5129. e->vpmovzxbq(ymmA, anyptr_gpB);
  5130. e->vpmovzxbq(zmmA, xmmB);
  5131. e->vpmovzxbq(zmmA, anyptr_gpB);
  5132. e->vpmovzxbw(xmmA, xmmB);
  5133. e->vpmovzxbw(xmmA, anyptr_gpB);
  5134. e->vpmovzxbw(ymmA, xmmB);
  5135. e->vpmovzxbw(ymmA, anyptr_gpB);
  5136. e->vpmovzxbw(zmmA, ymmB);
  5137. e->vpmovzxbw(zmmA, anyptr_gpB);
  5138. e->vpmovzxdq(xmmA, xmmB);
  5139. e->vpmovzxdq(xmmA, anyptr_gpB);
  5140. e->vpmovzxdq(ymmA, xmmB);
  5141. e->vpmovzxdq(ymmA, anyptr_gpB);
  5142. e->vpmovzxdq(zmmA, ymmB);
  5143. e->vpmovzxdq(zmmA, anyptr_gpB);
  5144. e->vpmovzxwd(xmmA, xmmB);
  5145. e->vpmovzxwd(xmmA, anyptr_gpB);
  5146. e->vpmovzxwd(ymmA, xmmB);
  5147. e->vpmovzxwd(ymmA, anyptr_gpB);
  5148. e->vpmovzxwd(zmmA, ymmB);
  5149. e->vpmovzxwd(zmmA, anyptr_gpB);
  5150. e->vpmovzxwq(xmmA, xmmB);
  5151. e->vpmovzxwq(xmmA, anyptr_gpB);
  5152. e->vpmovzxwq(ymmA, xmmB);
  5153. e->vpmovzxwq(ymmA, anyptr_gpB);
  5154. e->vpmovzxwq(zmmA, xmmB);
  5155. e->vpmovzxwq(zmmA, anyptr_gpB);
  5156. e->vpmuldq(xmmA, xmmB, xmmC);
  5157. e->vpmuldq(xmmA, xmmB, anyptr_gpC);
  5158. e->vpmuldq(ymmA, ymmB, ymmC);
  5159. e->vpmuldq(ymmA, ymmB, anyptr_gpC);
  5160. e->vpmuldq(zmmA, zmmB, zmmC);
  5161. e->vpmuldq(zmmA, zmmB, anyptr_gpC);
  5162. e->vpmulhrsw(xmmA, xmmB, xmmC);
  5163. e->vpmulhrsw(xmmA, xmmB, anyptr_gpC);
  5164. e->vpmulhrsw(ymmA, ymmB, ymmC);
  5165. e->vpmulhrsw(ymmA, ymmB, anyptr_gpC);
  5166. e->vpmulhrsw(zmmA, zmmB, zmmC);
  5167. e->vpmulhrsw(zmmA, zmmB, anyptr_gpC);
  5168. e->vpmulhuw(xmmA, xmmB, xmmC);
  5169. e->vpmulhuw(xmmA, xmmB, anyptr_gpC);
  5170. e->vpmulhuw(ymmA, ymmB, ymmC);
  5171. e->vpmulhuw(ymmA, ymmB, anyptr_gpC);
  5172. e->vpmulhuw(zmmA, zmmB, zmmC);
  5173. e->vpmulhuw(zmmA, zmmB, anyptr_gpC);
  5174. e->vpmulhw(xmmA, xmmB, xmmC);
  5175. e->vpmulhw(xmmA, xmmB, anyptr_gpC);
  5176. e->vpmulhw(ymmA, ymmB, ymmC);
  5177. e->vpmulhw(ymmA, ymmB, anyptr_gpC);
  5178. e->vpmulhw(zmmA, zmmB, zmmC);
  5179. e->vpmulhw(zmmA, zmmB, anyptr_gpC);
  5180. e->vpmulld(xmmA, xmmB, xmmC);
  5181. e->vpmulld(xmmA, xmmB, anyptr_gpC);
  5182. e->vpmulld(ymmA, ymmB, ymmC);
  5183. e->vpmulld(ymmA, ymmB, anyptr_gpC);
  5184. e->vpmulld(zmmA, zmmB, zmmC);
  5185. e->vpmulld(zmmA, zmmB, anyptr_gpC);
  5186. e->vpmullq(xmmA, xmmB, xmmC);
  5187. e->vpmullq(xmmA, xmmB, anyptr_gpC);
  5188. e->vpmullq(ymmA, ymmB, ymmC);
  5189. e->vpmullq(ymmA, ymmB, anyptr_gpC);
  5190. e->vpmullq(zmmA, zmmB, zmmC);
  5191. e->vpmullq(zmmA, zmmB, anyptr_gpC);
  5192. e->vpmullw(xmmA, xmmB, xmmC);
  5193. e->vpmullw(xmmA, xmmB, anyptr_gpC);
  5194. e->vpmullw(ymmA, ymmB, ymmC);
  5195. e->vpmullw(ymmA, ymmB, anyptr_gpC);
  5196. e->vpmullw(zmmA, zmmB, zmmC);
  5197. e->vpmullw(zmmA, zmmB, anyptr_gpC);
  5198. e->vpmultishiftqb(xmmA, xmmB, xmmC);
  5199. e->vpmultishiftqb(xmmA, xmmB, anyptr_gpC);
  5200. e->vpmultishiftqb(ymmA, ymmB, ymmC);
  5201. e->vpmultishiftqb(ymmA, ymmB, anyptr_gpC);
  5202. e->vpmultishiftqb(zmmA, zmmB, zmmC);
  5203. e->vpmultishiftqb(zmmA, zmmB, anyptr_gpC);
  5204. e->vpmuludq(xmmA, xmmB, xmmC);
  5205. e->vpmuludq(xmmA, xmmB, anyptr_gpC);
  5206. e->vpmuludq(ymmA, ymmB, ymmC);
  5207. e->vpmuludq(ymmA, ymmB, anyptr_gpC);
  5208. e->vpmuludq(zmmA, zmmB, zmmC);
  5209. e->vpmuludq(zmmA, zmmB, anyptr_gpC);
  5210. e->vpopcntd(zmmA, zmmB);
  5211. e->vpopcntd(zmmA, anyptr_gpB);
  5212. e->vpopcntq(zmmA, zmmB);
  5213. e->vpopcntq(zmmA, anyptr_gpB);
  5214. e->vpord(xmmA, xmmB, xmmC);
  5215. e->vpord(xmmA, xmmB, anyptr_gpC);
  5216. e->vpord(ymmA, ymmB, ymmC);
  5217. e->vpord(ymmA, ymmB, anyptr_gpC);
  5218. e->vpord(zmmA, zmmB, zmmC);
  5219. e->vpord(zmmA, zmmB, anyptr_gpC);
  5220. e->vporq(xmmA, xmmB, xmmC);
  5221. e->vporq(xmmA, xmmB, anyptr_gpC);
  5222. e->vporq(ymmA, ymmB, ymmC);
  5223. e->vporq(ymmA, ymmB, anyptr_gpC);
  5224. e->vporq(zmmA, zmmB, zmmC);
  5225. e->vporq(zmmA, zmmB, anyptr_gpC);
  5226. e->vprold(xmmA, xmmB, 0);
  5227. e->vprold(xmmA, anyptr_gpB, 0);
  5228. e->vprold(ymmA, ymmB, 0);
  5229. e->vprold(ymmA, anyptr_gpB, 0);
  5230. e->vprold(zmmA, zmmB, 0);
  5231. e->vprold(zmmA, anyptr_gpB, 0);
  5232. e->vprolq(xmmA, xmmB, 0);
  5233. e->vprolq(xmmA, anyptr_gpB, 0);
  5234. e->vprolq(ymmA, ymmB, 0);
  5235. e->vprolq(ymmA, anyptr_gpB, 0);
  5236. e->vprolq(zmmA, zmmB, 0);
  5237. e->vprolq(zmmA, anyptr_gpB, 0);
  5238. e->vprolvd(xmmA, xmmB, xmmC);
  5239. e->vprolvd(xmmA, xmmB, anyptr_gpC);
  5240. e->vprolvd(ymmA, ymmB, ymmC);
  5241. e->vprolvd(ymmA, ymmB, anyptr_gpC);
  5242. e->vprolvd(zmmA, zmmB, zmmC);
  5243. e->vprolvd(zmmA, zmmB, anyptr_gpC);
  5244. e->vprolvq(xmmA, xmmB, xmmC);
  5245. e->vprolvq(xmmA, xmmB, anyptr_gpC);
  5246. e->vprolvq(ymmA, ymmB, ymmC);
  5247. e->vprolvq(ymmA, ymmB, anyptr_gpC);
  5248. e->vprolvq(zmmA, zmmB, zmmC);
  5249. e->vprolvq(zmmA, zmmB, anyptr_gpC);
  5250. e->vprord(xmmA, xmmB, 0);
  5251. e->vprord(xmmA, anyptr_gpB, 0);
  5252. e->vprord(ymmA, ymmB, 0);
  5253. e->vprord(ymmA, anyptr_gpB, 0);
  5254. e->vprord(zmmA, zmmB, 0);
  5255. e->vprord(zmmA, anyptr_gpB, 0);
  5256. e->vprorq(xmmA, xmmB, 0);
  5257. e->vprorq(xmmA, anyptr_gpB, 0);
  5258. e->vprorq(ymmA, ymmB, 0);
  5259. e->vprorq(ymmA, anyptr_gpB, 0);
  5260. e->vprorq(zmmA, zmmB, 0);
  5261. e->vprorq(zmmA, anyptr_gpB, 0);
  5262. e->vprorvd(xmmA, xmmB, xmmC);
  5263. e->vprorvd(xmmA, xmmB, anyptr_gpC);
  5264. e->vprorvd(ymmA, ymmB, ymmC);
  5265. e->vprorvd(ymmA, ymmB, anyptr_gpC);
  5266. e->vprorvd(zmmA, zmmB, zmmC);
  5267. e->vprorvd(zmmA, zmmB, anyptr_gpC);
  5268. e->vprorvq(xmmA, xmmB, xmmC);
  5269. e->vprorvq(xmmA, xmmB, anyptr_gpC);
  5270. e->vprorvq(ymmA, ymmB, ymmC);
  5271. e->vprorvq(ymmA, ymmB, anyptr_gpC);
  5272. e->vprorvq(zmmA, zmmB, zmmC);
  5273. e->vprorvq(zmmA, zmmB, anyptr_gpC);
  5274. e->vpsadbw(xmmA, xmmB, xmmC);
  5275. e->vpsadbw(xmmA, xmmB, anyptr_gpC);
  5276. e->vpsadbw(ymmA, ymmB, ymmC);
  5277. e->vpsadbw(ymmA, ymmB, anyptr_gpC);
  5278. e->vpsadbw(zmmA, zmmB, zmmC);
  5279. e->vpsadbw(zmmA, zmmB, anyptr_gpC);
  5280. e->vpscatterdd(vx_ptr, xmmB);
  5281. e->vpscatterdd(vy_ptr, ymmB);
  5282. e->vpscatterdd(vz_ptr, zmmB);
  5283. e->vpscatterdq(vx_ptr, xmmB);
  5284. e->vpscatterdq(vy_ptr, ymmB);
  5285. e->vpscatterdq(vz_ptr, zmmB);
  5286. e->vpscatterqd(vx_ptr, xmmB);
  5287. e->vpscatterqd(vy_ptr, xmmB);
  5288. e->vpscatterqd(vz_ptr, ymmB);
  5289. e->vpscatterqq(vx_ptr, xmmB);
  5290. e->vpscatterqq(vy_ptr, ymmB);
  5291. e->vpscatterqq(vz_ptr, zmmB);
  5292. e->vpshufb(xmmA, xmmB, xmmC);
  5293. e->vpshufb(xmmA, xmmB, anyptr_gpC);
  5294. e->vpshufb(ymmA, ymmB, ymmC);
  5295. e->vpshufb(ymmA, ymmB, anyptr_gpC);
  5296. e->vpshufb(zmmA, zmmB, zmmC);
  5297. e->vpshufb(zmmA, zmmB, anyptr_gpC);
  5298. e->vpshufd(xmmA, xmmB, 0);
  5299. e->vpshufd(xmmA, anyptr_gpB, 0);
  5300. e->vpshufd(ymmA, ymmB, 0);
  5301. e->vpshufd(ymmA, anyptr_gpB, 0);
  5302. e->vpshufd(zmmA, zmmB, 0);
  5303. e->vpshufd(zmmA, anyptr_gpB, 0);
  5304. e->vpshufhw(xmmA, xmmB, 0);
  5305. e->vpshufhw(xmmA, anyptr_gpB, 0);
  5306. e->vpshufhw(ymmA, ymmB, 0);
  5307. e->vpshufhw(ymmA, anyptr_gpB, 0);
  5308. e->vpshufhw(zmmA, zmmB, 0);
  5309. e->vpshufhw(zmmA, anyptr_gpB, 0);
  5310. e->vpshuflw(xmmA, xmmB, 0);
  5311. e->vpshuflw(xmmA, anyptr_gpB, 0);
  5312. e->vpshuflw(ymmA, ymmB, 0);
  5313. e->vpshuflw(ymmA, anyptr_gpB, 0);
  5314. e->vpshuflw(zmmA, zmmB, 0);
  5315. e->vpshuflw(zmmA, anyptr_gpB, 0);
  5316. e->vpslld(xmmA, xmmB, xmmC);
  5317. e->vpslld(xmmA, xmmB, anyptr_gpC);
  5318. e->vpslld(xmmA, xmmB, 0);
  5319. e->vpslld(xmmA, anyptr_gpB, 0);
  5320. e->vpslld(ymmA, ymmB, xmmC);
  5321. e->vpslld(ymmA, ymmB, anyptr_gpC);
  5322. e->vpslld(ymmA, ymmB, 0);
  5323. e->vpslld(ymmA, anyptr_gpB, 0);
  5324. e->vpslld(zmmA, zmmB, xmmC);
  5325. e->vpslld(zmmA, zmmB, anyptr_gpC);
  5326. e->vpslld(zmmA, zmmB, 0);
  5327. e->vpslld(zmmA, anyptr_gpB, 0);
  5328. e->vpslldq(xmmA, xmmB, 0);
  5329. e->vpslldq(xmmA, anyptr_gpB, 0);
  5330. e->vpslldq(ymmA, ymmB, 0);
  5331. e->vpslldq(ymmA, anyptr_gpB, 0);
  5332. e->vpslldq(zmmA, zmmB, 0);
  5333. e->vpslldq(zmmA, anyptr_gpB, 0);
  5334. e->vpsllq(xmmA, xmmB, xmmC);
  5335. e->vpsllq(xmmA, xmmB, anyptr_gpC);
  5336. e->vpsllq(xmmA, xmmB, 0);
  5337. e->vpsllq(xmmA, anyptr_gpB, 0);
  5338. e->vpsllq(ymmA, ymmB, xmmC);
  5339. e->vpsllq(ymmA, ymmB, anyptr_gpC);
  5340. e->vpsllq(ymmA, ymmB, 0);
  5341. e->vpsllq(ymmA, anyptr_gpB, 0);
  5342. e->vpsllq(zmmA, zmmB, xmmC);
  5343. e->vpsllq(zmmA, zmmB, anyptr_gpC);
  5344. e->vpsllq(zmmA, zmmB, 0);
  5345. e->vpsllq(zmmA, anyptr_gpB, 0);
  5346. e->vpsllvd(xmmA, xmmB, xmmC);
  5347. e->vpsllvd(xmmA, xmmB, anyptr_gpC);
  5348. e->vpsllvd(ymmA, ymmB, ymmC);
  5349. e->vpsllvd(ymmA, ymmB, anyptr_gpC);
  5350. e->vpsllvd(zmmA, zmmB, zmmC);
  5351. e->vpsllvd(zmmA, zmmB, anyptr_gpC);
  5352. e->vpsllvq(xmmA, xmmB, xmmC);
  5353. e->vpsllvq(xmmA, xmmB, anyptr_gpC);
  5354. e->vpsllvq(ymmA, ymmB, ymmC);
  5355. e->vpsllvq(ymmA, ymmB, anyptr_gpC);
  5356. e->vpsllvq(zmmA, zmmB, zmmC);
  5357. e->vpsllvq(zmmA, zmmB, anyptr_gpC);
  5358. e->vpsllvw(xmmA, xmmB, xmmC);
  5359. e->vpsllvw(xmmA, xmmB, anyptr_gpC);
  5360. e->vpsllvw(ymmA, ymmB, ymmC);
  5361. e->vpsllvw(ymmA, ymmB, anyptr_gpC);
  5362. e->vpsllvw(zmmA, zmmB, zmmC);
  5363. e->vpsllvw(zmmA, zmmB, anyptr_gpC);
  5364. e->vpsllw(xmmA, xmmB, xmmC);
  5365. e->vpsllw(xmmA, xmmB, anyptr_gpC);
  5366. e->vpsllw(xmmA, xmmB, 0);
  5367. e->vpsllw(xmmA, anyptr_gpB, 0);
  5368. e->vpsllw(ymmA, ymmB, xmmC);
  5369. e->vpsllw(ymmA, ymmB, anyptr_gpC);
  5370. e->vpsllw(ymmA, ymmB, 0);
  5371. e->vpsllw(ymmA, anyptr_gpB, 0);
  5372. e->vpsllw(zmmA, zmmB, xmmC);
  5373. e->vpsllw(zmmA, zmmB, anyptr_gpC);
  5374. e->vpsllw(zmmA, zmmB, 0);
  5375. e->vpsllw(zmmA, anyptr_gpB, 0);
  5376. e->vpsrad(xmmA, xmmB, xmmC);
  5377. e->vpsrad(xmmA, xmmB, anyptr_gpC);
  5378. e->vpsrad(xmmA, xmmB, 0);
  5379. e->vpsrad(xmmA, anyptr_gpB, 0);
  5380. e->vpsrad(ymmA, ymmB, xmmC);
  5381. e->vpsrad(ymmA, ymmB, anyptr_gpC);
  5382. e->vpsrad(ymmA, ymmB, 0);
  5383. e->vpsrad(ymmA, anyptr_gpB, 0);
  5384. e->vpsrad(zmmA, zmmB, xmmC);
  5385. e->vpsrad(zmmA, zmmB, anyptr_gpC);
  5386. e->vpsrad(zmmA, zmmB, 0);
  5387. e->vpsrad(zmmA, anyptr_gpB, 0);
  5388. e->vpsraq(xmmA, xmmB, xmmC);
  5389. e->vpsraq(xmmA, xmmB, anyptr_gpC);
  5390. e->vpsraq(xmmA, xmmB, 0);
  5391. e->vpsraq(xmmA, anyptr_gpB, 0);
  5392. e->vpsraq(ymmA, ymmB, xmmC);
  5393. e->vpsraq(ymmA, ymmB, anyptr_gpC);
  5394. e->vpsraq(ymmA, ymmB, 0);
  5395. e->vpsraq(ymmA, anyptr_gpB, 0);
  5396. e->vpsraq(zmmA, zmmB, xmmC);
  5397. e->vpsraq(zmmA, zmmB, anyptr_gpC);
  5398. e->vpsraq(zmmA, zmmB, 0);
  5399. e->vpsraq(zmmA, anyptr_gpB, 0);
  5400. e->vpsravd(xmmA, xmmB, xmmC);
  5401. e->vpsravd(xmmA, xmmB, anyptr_gpC);
  5402. e->vpsravd(ymmA, ymmB, ymmC);
  5403. e->vpsravd(ymmA, ymmB, anyptr_gpC);
  5404. e->vpsravd(zmmA, zmmB, zmmC);
  5405. e->vpsravd(zmmA, zmmB, anyptr_gpC);
  5406. e->vpsravq(xmmA, xmmB, xmmC);
  5407. e->vpsravq(xmmA, xmmB, anyptr_gpC);
  5408. e->vpsravq(ymmA, ymmB, ymmC);
  5409. e->vpsravq(ymmA, ymmB, anyptr_gpC);
  5410. e->vpsravq(zmmA, zmmB, zmmC);
  5411. e->vpsravq(zmmA, zmmB, anyptr_gpC);
  5412. e->vpsravw(xmmA, xmmB, xmmC);
  5413. e->vpsravw(xmmA, xmmB, anyptr_gpC);
  5414. e->vpsravw(ymmA, ymmB, ymmC);
  5415. e->vpsravw(ymmA, ymmB, anyptr_gpC);
  5416. e->vpsravw(zmmA, zmmB, zmmC);
  5417. e->vpsravw(zmmA, zmmB, anyptr_gpC);
  5418. e->vpsraw(xmmA, xmmB, xmmC);
  5419. e->vpsraw(xmmA, xmmB, anyptr_gpC);
  5420. e->vpsraw(xmmA, xmmB, 0);
  5421. e->vpsraw(xmmA, anyptr_gpB, 0);
  5422. e->vpsraw(ymmA, ymmB, xmmC);
  5423. e->vpsraw(ymmA, ymmB, anyptr_gpC);
  5424. e->vpsraw(ymmA, ymmB, 0);
  5425. e->vpsraw(ymmA, anyptr_gpB, 0);
  5426. e->vpsraw(zmmA, zmmB, xmmC);
  5427. e->vpsraw(zmmA, zmmB, anyptr_gpC);
  5428. e->vpsraw(zmmA, zmmB, 0);
  5429. e->vpsraw(zmmA, anyptr_gpB, 0);
  5430. e->vpsrld(xmmA, xmmB, xmmC);
  5431. e->vpsrld(xmmA, xmmB, anyptr_gpC);
  5432. e->vpsrld(xmmA, xmmB, 0);
  5433. e->vpsrld(xmmA, anyptr_gpB, 0);
  5434. e->vpsrld(ymmA, ymmB, xmmC);
  5435. e->vpsrld(ymmA, ymmB, anyptr_gpC);
  5436. e->vpsrld(ymmA, ymmB, 0);
  5437. e->vpsrld(ymmA, anyptr_gpB, 0);
  5438. e->vpsrld(zmmA, zmmB, xmmC);
  5439. e->vpsrld(zmmA, zmmB, anyptr_gpC);
  5440. e->vpsrld(zmmA, zmmB, 0);
  5441. e->vpsrld(zmmA, anyptr_gpB, 0);
  5442. e->vpsrldq(xmmA, xmmB, 0);
  5443. e->vpsrldq(xmmA, anyptr_gpB, 0);
  5444. e->vpsrldq(ymmA, ymmB, 0);
  5445. e->vpsrldq(ymmA, anyptr_gpB, 0);
  5446. e->vpsrldq(zmmA, zmmB, 0);
  5447. e->vpsrldq(zmmA, anyptr_gpB, 0);
  5448. e->vpsrlq(xmmA, xmmB, xmmC);
  5449. e->vpsrlq(xmmA, xmmB, anyptr_gpC);
  5450. e->vpsrlq(xmmA, xmmB, 0);
  5451. e->vpsrlq(xmmA, anyptr_gpB, 0);
  5452. e->vpsrlq(ymmA, ymmB, xmmC);
  5453. e->vpsrlq(ymmA, ymmB, anyptr_gpC);
  5454. e->vpsrlq(ymmA, ymmB, 0);
  5455. e->vpsrlq(ymmA, anyptr_gpB, 0);
  5456. e->vpsrlq(zmmA, zmmB, xmmC);
  5457. e->vpsrlq(zmmA, zmmB, anyptr_gpC);
  5458. e->vpsrlq(zmmA, zmmB, 0);
  5459. e->vpsrlq(zmmA, anyptr_gpB, 0);
  5460. e->vpsrlvd(xmmA, xmmB, xmmC);
  5461. e->vpsrlvd(xmmA, xmmB, anyptr_gpC);
  5462. e->vpsrlvd(ymmA, ymmB, ymmC);
  5463. e->vpsrlvd(ymmA, ymmB, anyptr_gpC);
  5464. e->vpsrlvd(zmmA, zmmB, zmmC);
  5465. e->vpsrlvd(zmmA, zmmB, anyptr_gpC);
  5466. e->vpsrlvq(xmmA, xmmB, xmmC);
  5467. e->vpsrlvq(xmmA, xmmB, anyptr_gpC);
  5468. e->vpsrlvq(ymmA, ymmB, ymmC);
  5469. e->vpsrlvq(ymmA, ymmB, anyptr_gpC);
  5470. e->vpsrlvq(zmmA, zmmB, zmmC);
  5471. e->vpsrlvq(zmmA, zmmB, anyptr_gpC);
  5472. e->vpsrlvw(xmmA, xmmB, xmmC);
  5473. e->vpsrlvw(xmmA, xmmB, anyptr_gpC);
  5474. e->vpsrlvw(ymmA, ymmB, ymmC);
  5475. e->vpsrlvw(ymmA, ymmB, anyptr_gpC);
  5476. e->vpsrlvw(zmmA, zmmB, zmmC);
  5477. e->vpsrlvw(zmmA, zmmB, anyptr_gpC);
  5478. e->vpsrlw(xmmA, xmmB, xmmC);
  5479. e->vpsrlw(xmmA, xmmB, anyptr_gpC);
  5480. e->vpsrlw(xmmA, xmmB, 0);
  5481. e->vpsrlw(xmmA, anyptr_gpB, 0);
  5482. e->vpsrlw(ymmA, ymmB, xmmC);
  5483. e->vpsrlw(ymmA, ymmB, anyptr_gpC);
  5484. e->vpsrlw(ymmA, ymmB, 0);
  5485. e->vpsrlw(ymmA, anyptr_gpB, 0);
  5486. e->vpsrlw(zmmA, zmmB, xmmC);
  5487. e->vpsrlw(zmmA, zmmB, anyptr_gpC);
  5488. e->vpsrlw(zmmA, zmmB, 0);
  5489. e->vpsrlw(zmmA, anyptr_gpB, 0);
  5490. e->vpsubb(xmmA, xmmB, xmmC);
  5491. e->vpsubb(xmmA, xmmB, anyptr_gpC);
  5492. e->vpsubb(ymmA, ymmB, ymmC);
  5493. e->vpsubb(ymmA, ymmB, anyptr_gpC);
  5494. e->vpsubb(zmmA, zmmB, zmmC);
  5495. e->vpsubb(zmmA, zmmB, anyptr_gpC);
  5496. e->vpsubd(xmmA, xmmB, xmmC);
  5497. e->vpsubd(xmmA, xmmB, anyptr_gpC);
  5498. e->vpsubd(ymmA, ymmB, ymmC);
  5499. e->vpsubd(ymmA, ymmB, anyptr_gpC);
  5500. e->vpsubd(zmmA, zmmB, zmmC);
  5501. e->vpsubd(zmmA, zmmB, anyptr_gpC);
  5502. e->vpsubq(xmmA, xmmB, xmmC);
  5503. e->vpsubq(xmmA, xmmB, anyptr_gpC);
  5504. e->vpsubq(ymmA, ymmB, ymmC);
  5505. e->vpsubq(ymmA, ymmB, anyptr_gpC);
  5506. e->vpsubq(zmmA, zmmB, zmmC);
  5507. e->vpsubq(zmmA, zmmB, anyptr_gpC);
  5508. e->vpsubsb(xmmA, xmmB, xmmC);
  5509. e->vpsubsb(xmmA, xmmB, anyptr_gpC);
  5510. e->vpsubsb(ymmA, ymmB, ymmC);
  5511. e->vpsubsb(ymmA, ymmB, anyptr_gpC);
  5512. e->vpsubsb(zmmA, zmmB, zmmC);
  5513. e->vpsubsb(zmmA, zmmB, anyptr_gpC);
  5514. e->vpsubsw(xmmA, xmmB, xmmC);
  5515. e->vpsubsw(xmmA, xmmB, anyptr_gpC);
  5516. e->vpsubsw(ymmA, ymmB, ymmC);
  5517. e->vpsubsw(ymmA, ymmB, anyptr_gpC);
  5518. e->vpsubsw(zmmA, zmmB, zmmC);
  5519. e->vpsubsw(zmmA, zmmB, anyptr_gpC);
  5520. e->vpsubusb(xmmA, xmmB, xmmC);
  5521. e->vpsubusb(xmmA, xmmB, anyptr_gpC);
  5522. e->vpsubusb(ymmA, ymmB, ymmC);
  5523. e->vpsubusb(ymmA, ymmB, anyptr_gpC);
  5524. e->vpsubusb(zmmA, zmmB, zmmC);
  5525. e->vpsubusb(zmmA, zmmB, anyptr_gpC);
  5526. e->vpsubusw(xmmA, xmmB, xmmC);
  5527. e->vpsubusw(xmmA, xmmB, anyptr_gpC);
  5528. e->vpsubusw(ymmA, ymmB, ymmC);
  5529. e->vpsubusw(ymmA, ymmB, anyptr_gpC);
  5530. e->vpsubusw(zmmA, zmmB, zmmC);
  5531. e->vpsubusw(zmmA, zmmB, anyptr_gpC);
  5532. e->vpsubw(xmmA, xmmB, xmmC);
  5533. e->vpsubw(xmmA, xmmB, anyptr_gpC);
  5534. e->vpsubw(ymmA, ymmB, ymmC);
  5535. e->vpsubw(ymmA, ymmB, anyptr_gpC);
  5536. e->vpsubw(zmmA, zmmB, zmmC);
  5537. e->vpsubw(zmmA, zmmB, anyptr_gpC);
  5538. e->vpternlogd(xmmA, xmmB, xmmC, 0);
  5539. e->vpternlogd(xmmA, xmmB, anyptr_gpC, 0);
  5540. e->vpternlogd(ymmA, ymmB, ymmC, 0);
  5541. e->vpternlogd(ymmA, ymmB, anyptr_gpC, 0);
  5542. e->vpternlogd(zmmA, zmmB, zmmC, 0);
  5543. e->vpternlogd(zmmA, zmmB, anyptr_gpC, 0);
  5544. e->vpternlogq(xmmA, xmmB, xmmC, 0);
  5545. e->vpternlogq(xmmA, xmmB, anyptr_gpC, 0);
  5546. e->vpternlogq(ymmA, ymmB, ymmC, 0);
  5547. e->vpternlogq(ymmA, ymmB, anyptr_gpC, 0);
  5548. e->vpternlogq(zmmA, zmmB, zmmC, 0);
  5549. e->vpternlogq(zmmA, zmmB, anyptr_gpC, 0);
  5550. e->vptestmb(kA, xmmB, xmmC);
  5551. e->vptestmb(kA, xmmB, anyptr_gpC);
  5552. e->vptestmb(kA, ymmB, ymmC);
  5553. e->vptestmb(kA, ymmB, anyptr_gpC);
  5554. e->vptestmb(kA, zmmB, zmmC);
  5555. e->vptestmb(kA, zmmB, anyptr_gpC);
  5556. e->vptestmd(kA, xmmB, xmmC);
  5557. e->vptestmd(kA, xmmB, anyptr_gpC);
  5558. e->vptestmd(kA, ymmB, ymmC);
  5559. e->vptestmd(kA, ymmB, anyptr_gpC);
  5560. e->vptestmd(kA, zmmB, zmmC);
  5561. e->vptestmd(kA, zmmB, anyptr_gpC);
  5562. e->vptestmq(kA, xmmB, xmmC);
  5563. e->vptestmq(kA, xmmB, anyptr_gpC);
  5564. e->vptestmq(kA, ymmB, ymmC);
  5565. e->vptestmq(kA, ymmB, anyptr_gpC);
  5566. e->vptestmq(kA, zmmB, zmmC);
  5567. e->vptestmq(kA, zmmB, anyptr_gpC);
  5568. e->vptestmw(kA, xmmB, xmmC);
  5569. e->vptestmw(kA, xmmB, anyptr_gpC);
  5570. e->vptestmw(kA, ymmB, ymmC);
  5571. e->vptestmw(kA, ymmB, anyptr_gpC);
  5572. e->vptestmw(kA, zmmB, zmmC);
  5573. e->vptestmw(kA, zmmB, anyptr_gpC);
  5574. e->vptestnmb(kA, xmmB, xmmC);
  5575. e->vptestnmb(kA, xmmB, anyptr_gpC);
  5576. e->vptestnmb(kA, ymmB, ymmC);
  5577. e->vptestnmb(kA, ymmB, anyptr_gpC);
  5578. e->vptestnmb(kA, zmmB, zmmC);
  5579. e->vptestnmb(kA, zmmB, anyptr_gpC);
  5580. e->vptestnmd(kA, xmmB, xmmC);
  5581. e->vptestnmd(kA, xmmB, anyptr_gpC);
  5582. e->vptestnmd(kA, ymmB, ymmC);
  5583. e->vptestnmd(kA, ymmB, anyptr_gpC);
  5584. e->vptestnmd(kA, zmmB, zmmC);
  5585. e->vptestnmd(kA, zmmB, anyptr_gpC);
  5586. e->vptestnmq(kA, xmmB, xmmC);
  5587. e->vptestnmq(kA, xmmB, anyptr_gpC);
  5588. e->vptestnmq(kA, ymmB, ymmC);
  5589. e->vptestnmq(kA, ymmB, anyptr_gpC);
  5590. e->vptestnmq(kA, zmmB, zmmC);
  5591. e->vptestnmq(kA, zmmB, anyptr_gpC);
  5592. e->vptestnmw(kA, xmmB, xmmC);
  5593. e->vptestnmw(kA, xmmB, anyptr_gpC);
  5594. e->vptestnmw(kA, ymmB, ymmC);
  5595. e->vptestnmw(kA, ymmB, anyptr_gpC);
  5596. e->vptestnmw(kA, zmmB, zmmC);
  5597. e->vptestnmw(kA, zmmB, anyptr_gpC);
  5598. e->vpunpckhbw(xmmA, xmmB, xmmC);
  5599. e->vpunpckhbw(xmmA, xmmB, anyptr_gpC);
  5600. e->vpunpckhbw(ymmA, ymmB, ymmC);
  5601. e->vpunpckhbw(ymmA, ymmB, anyptr_gpC);
  5602. e->vpunpckhbw(zmmA, zmmB, zmmC);
  5603. e->vpunpckhbw(zmmA, zmmB, anyptr_gpC);
  5604. e->vpunpckhdq(xmmA, xmmB, xmmC);
  5605. e->vpunpckhdq(xmmA, xmmB, anyptr_gpC);
  5606. e->vpunpckhdq(ymmA, ymmB, ymmC);
  5607. e->vpunpckhdq(ymmA, ymmB, anyptr_gpC);
  5608. e->vpunpckhdq(zmmA, zmmB, zmmC);
  5609. e->vpunpckhdq(zmmA, zmmB, anyptr_gpC);
  5610. e->vpunpckhqdq(xmmA, xmmB, xmmC);
  5611. e->vpunpckhqdq(xmmA, xmmB, anyptr_gpC);
  5612. e->vpunpckhqdq(ymmA, ymmB, ymmC);
  5613. e->vpunpckhqdq(ymmA, ymmB, anyptr_gpC);
  5614. e->vpunpckhqdq(zmmA, zmmB, zmmC);
  5615. e->vpunpckhqdq(zmmA, zmmB, anyptr_gpC);
  5616. e->vpunpckhwd(xmmA, xmmB, xmmC);
  5617. e->vpunpckhwd(xmmA, xmmB, anyptr_gpC);
  5618. e->vpunpckhwd(ymmA, ymmB, ymmC);
  5619. e->vpunpckhwd(ymmA, ymmB, anyptr_gpC);
  5620. e->vpunpckhwd(zmmA, zmmB, zmmC);
  5621. e->vpunpckhwd(zmmA, zmmB, anyptr_gpC);
  5622. e->vpunpcklbw(xmmA, xmmB, xmmC);
  5623. e->vpunpcklbw(xmmA, xmmB, anyptr_gpC);
  5624. e->vpunpcklbw(ymmA, ymmB, ymmC);
  5625. e->vpunpcklbw(ymmA, ymmB, anyptr_gpC);
  5626. e->vpunpcklbw(zmmA, zmmB, zmmC);
  5627. e->vpunpcklbw(zmmA, zmmB, anyptr_gpC);
  5628. e->vpunpckldq(xmmA, xmmB, xmmC);
  5629. e->vpunpckldq(xmmA, xmmB, anyptr_gpC);
  5630. e->vpunpckldq(ymmA, ymmB, ymmC);
  5631. e->vpunpckldq(ymmA, ymmB, anyptr_gpC);
  5632. e->vpunpckldq(zmmA, zmmB, zmmC);
  5633. e->vpunpckldq(zmmA, zmmB, anyptr_gpC);
  5634. e->vpunpcklqdq(xmmA, xmmB, xmmC);
  5635. e->vpunpcklqdq(xmmA, xmmB, anyptr_gpC);
  5636. e->vpunpcklqdq(ymmA, ymmB, ymmC);
  5637. e->vpunpcklqdq(ymmA, ymmB, anyptr_gpC);
  5638. e->vpunpcklqdq(zmmA, zmmB, zmmC);
  5639. e->vpunpcklqdq(zmmA, zmmB, anyptr_gpC);
  5640. e->vpunpcklwd(xmmA, xmmB, xmmC);
  5641. e->vpunpcklwd(xmmA, xmmB, anyptr_gpC);
  5642. e->vpunpcklwd(ymmA, ymmB, ymmC);
  5643. e->vpunpcklwd(ymmA, ymmB, anyptr_gpC);
  5644. e->vpunpcklwd(zmmA, zmmB, zmmC);
  5645. e->vpunpcklwd(zmmA, zmmB, anyptr_gpC);
  5646. e->vpxord(xmmA, xmmB, xmmC);
  5647. e->vpxord(xmmA, xmmB, anyptr_gpC);
  5648. e->vpxord(ymmA, ymmB, ymmC);
  5649. e->vpxord(ymmA, ymmB, anyptr_gpC);
  5650. e->vpxord(zmmA, zmmB, zmmC);
  5651. e->vpxord(zmmA, zmmB, anyptr_gpC);
  5652. e->vpxorq(xmmA, xmmB, xmmC);
  5653. e->vpxorq(xmmA, xmmB, anyptr_gpC);
  5654. e->vpxorq(ymmA, ymmB, ymmC);
  5655. e->vpxorq(ymmA, ymmB, anyptr_gpC);
  5656. e->vpxorq(zmmA, zmmB, zmmC);
  5657. e->vpxorq(zmmA, zmmB, anyptr_gpC);
  5658. e->vrangepd(xmmA, xmmB, xmmC, 0);
  5659. e->vrangepd(xmmA, xmmB, anyptr_gpC, 0);
  5660. e->vrangepd(ymmA, ymmB, ymmC, 0);
  5661. e->vrangepd(ymmA, ymmB, anyptr_gpC, 0);
  5662. e->vrangepd(zmmA, zmmB, zmmC, 0);
  5663. e->vrangepd(zmmA, zmmB, anyptr_gpC, 0);
  5664. e->vrangeps(xmmA, xmmB, xmmC, 0);
  5665. e->vrangeps(xmmA, xmmB, anyptr_gpC, 0);
  5666. e->vrangeps(ymmA, ymmB, ymmC, 0);
  5667. e->vrangeps(ymmA, ymmB, anyptr_gpC, 0);
  5668. e->vrangeps(zmmA, zmmB, zmmC, 0);
  5669. e->vrangeps(zmmA, zmmB, anyptr_gpC, 0);
  5670. e->vrangesd(xmmA, xmmB, xmmC, 0);
  5671. e->vrangesd(xmmA, xmmB, anyptr_gpC, 0);
  5672. e->vrangess(xmmA, xmmB, xmmC, 0);
  5673. e->vrangess(xmmA, xmmB, anyptr_gpC, 0);
  5674. e->vrcp14pd(xmmA, xmmB);
  5675. e->vrcp14pd(xmmA, anyptr_gpB);
  5676. e->vrcp14pd(ymmA, ymmB);
  5677. e->vrcp14pd(ymmA, anyptr_gpB);
  5678. e->vrcp14pd(zmmA, zmmB);
  5679. e->vrcp14pd(zmmA, anyptr_gpB);
  5680. e->vrcp14ps(xmmA, xmmB);
  5681. e->vrcp14ps(xmmA, anyptr_gpB);
  5682. e->vrcp14ps(ymmA, ymmB);
  5683. e->vrcp14ps(ymmA, anyptr_gpB);
  5684. e->vrcp14ps(zmmA, zmmB);
  5685. e->vrcp14ps(zmmA, anyptr_gpB);
  5686. e->vrcp14sd(xmmA, xmmB, xmmC);
  5687. e->vrcp14sd(xmmA, xmmB, anyptr_gpC);
  5688. e->vrcp14ss(xmmA, xmmB, xmmC);
  5689. e->vrcp14ss(xmmA, xmmB, anyptr_gpC);
  5690. e->vrcp28pd(zmmA, zmmB);
  5691. e->vrcp28pd(zmmA, anyptr_gpB);
  5692. e->vrcp28ps(zmmA, zmmB);
  5693. e->vrcp28ps(zmmA, anyptr_gpB);
  5694. e->vrcp28sd(xmmA, xmmB, xmmC);
  5695. e->vrcp28sd(xmmA, xmmB, anyptr_gpC);
  5696. e->vrcp28ss(xmmA, xmmB, xmmC);
  5697. e->vrcp28ss(xmmA, xmmB, anyptr_gpC);
  5698. e->vreducepd(xmmA, xmmB, 0);
  5699. e->vreducepd(xmmA, anyptr_gpB, 0);
  5700. e->vreducepd(ymmA, ymmB, 0);
  5701. e->vreducepd(ymmA, anyptr_gpB, 0);
  5702. e->vreducepd(zmmA, zmmB, 0);
  5703. e->vreducepd(zmmA, anyptr_gpB, 0);
  5704. e->vreduceps(xmmA, xmmB, 0);
  5705. e->vreduceps(xmmA, anyptr_gpB, 0);
  5706. e->vreduceps(ymmA, ymmB, 0);
  5707. e->vreduceps(ymmA, anyptr_gpB, 0);
  5708. e->vreduceps(zmmA, zmmB, 0);
  5709. e->vreduceps(zmmA, anyptr_gpB, 0);
  5710. e->vreducesd(xmmA, xmmB, xmmC, 0);
  5711. e->vreducesd(xmmA, xmmB, anyptr_gpC, 0);
  5712. e->vreducess(xmmA, xmmB, xmmC, 0);
  5713. e->vreducess(xmmA, xmmB, anyptr_gpC, 0);
  5714. e->vrndscalepd(xmmA, xmmB, 0);
  5715. e->vrndscalepd(xmmA, anyptr_gpB, 0);
  5716. e->vrndscalepd(ymmA, ymmB, 0);
  5717. e->vrndscalepd(ymmA, anyptr_gpB, 0);
  5718. e->vrndscalepd(zmmA, zmmB, 0);
  5719. e->vrndscalepd(zmmA, anyptr_gpB, 0);
  5720. e->vrndscaleps(xmmA, xmmB, 0);
  5721. e->vrndscaleps(xmmA, anyptr_gpB, 0);
  5722. e->vrndscaleps(ymmA, ymmB, 0);
  5723. e->vrndscaleps(ymmA, anyptr_gpB, 0);
  5724. e->vrndscaleps(zmmA, zmmB, 0);
  5725. e->vrndscaleps(zmmA, anyptr_gpB, 0);
  5726. e->vrndscalesd(xmmA, xmmB, xmmC, 0);
  5727. e->vrndscalesd(xmmA, xmmB, anyptr_gpC, 0);
  5728. e->vrndscaless(xmmA, xmmB, xmmC, 0);
  5729. e->vrndscaless(xmmA, xmmB, anyptr_gpC, 0);
  5730. e->vrsqrt14pd(xmmA, xmmB);
  5731. e->vrsqrt14pd(xmmA, anyptr_gpB);
  5732. e->vrsqrt14pd(ymmA, ymmB);
  5733. e->vrsqrt14pd(ymmA, anyptr_gpB);
  5734. e->vrsqrt14pd(zmmA, zmmB);
  5735. e->vrsqrt14pd(zmmA, anyptr_gpB);
  5736. e->vrsqrt14ps(xmmA, xmmB);
  5737. e->vrsqrt14ps(xmmA, anyptr_gpB);
  5738. e->vrsqrt14ps(ymmA, ymmB);
  5739. e->vrsqrt14ps(ymmA, anyptr_gpB);
  5740. e->vrsqrt14ps(zmmA, zmmB);
  5741. e->vrsqrt14ps(zmmA, anyptr_gpB);
  5742. e->vrsqrt14sd(xmmA, xmmB, xmmC);
  5743. e->vrsqrt14sd(xmmA, xmmB, anyptr_gpC);
  5744. e->vrsqrt14ss(xmmA, xmmB, xmmC);
  5745. e->vrsqrt14ss(xmmA, xmmB, anyptr_gpC);
  5746. e->vrsqrt28pd(zmmA, zmmB);
  5747. e->vrsqrt28pd(zmmA, anyptr_gpB);
  5748. e->vrsqrt28ps(zmmA, zmmB);
  5749. e->vrsqrt28ps(zmmA, anyptr_gpB);
  5750. e->vrsqrt28sd(xmmA, xmmB, xmmC);
  5751. e->vrsqrt28sd(xmmA, xmmB, anyptr_gpC);
  5752. e->vrsqrt28ss(xmmA, xmmB, xmmC);
  5753. e->vrsqrt28ss(xmmA, xmmB, anyptr_gpC);
  5754. e->vscalefpd(xmmA, xmmB, xmmC);
  5755. e->vscalefpd(xmmA, xmmB, anyptr_gpC);
  5756. e->vscalefpd(ymmA, ymmB, ymmC);
  5757. e->vscalefpd(ymmA, ymmB, anyptr_gpC);
  5758. e->vscalefpd(zmmA, zmmB, zmmC);
  5759. e->vscalefpd(zmmA, zmmB, anyptr_gpC);
  5760. e->vscalefps(xmmA, xmmB, xmmC);
  5761. e->vscalefps(xmmA, xmmB, anyptr_gpC);
  5762. e->vscalefps(ymmA, ymmB, ymmC);
  5763. e->vscalefps(ymmA, ymmB, anyptr_gpC);
  5764. e->vscalefps(zmmA, zmmB, zmmC);
  5765. e->vscalefps(zmmA, zmmB, anyptr_gpC);
  5766. e->vscalefsd(xmmA, xmmB, xmmC);
  5767. e->vscalefsd(xmmA, xmmB, anyptr_gpC);
  5768. e->vscalefss(xmmA, xmmB, xmmC);
  5769. e->vscalefss(xmmA, xmmB, anyptr_gpC);
  5770. e->vscatterdpd(vx_ptr, xmmB);
  5771. e->vscatterdpd(vx_ptr, ymmB);
  5772. e->vscatterdpd(vy_ptr, zmmB);
  5773. e->vscatterdps(vx_ptr, xmmB);
  5774. e->vscatterdps(vy_ptr, ymmB);
  5775. e->vscatterdps(vz_ptr, zmmB);
  5776. e->vscatterpf0dpd(vy_ptr);
  5777. e->vscatterpf0dps(vz_ptr);
  5778. e->vscatterpf0qpd(vz_ptr);
  5779. e->vscatterpf0qps(vz_ptr);
  5780. e->vscatterpf1dpd(vy_ptr);
  5781. e->vscatterpf1dps(vz_ptr);
  5782. e->vscatterpf1qpd(vz_ptr);
  5783. e->vscatterpf1qps(vz_ptr);
  5784. e->vscatterqpd(vx_ptr, xmmB);
  5785. e->vscatterqpd(vy_ptr, ymmB);
  5786. e->vscatterqpd(vz_ptr, zmmB);
  5787. e->vscatterqps(vx_ptr, xmmB);
  5788. e->vscatterqps(vy_ptr, xmmB);
  5789. e->vscatterqps(vz_ptr, ymmB);
  5790. e->vshuff32x4(ymmA, ymmB, ymmC, 0);
  5791. e->vshuff32x4(ymmA, ymmB, anyptr_gpC, 0);
  5792. e->vshuff32x4(zmmA, zmmB, zmmC, 0);
  5793. e->vshuff32x4(zmmA, zmmB, anyptr_gpC, 0);
  5794. e->vshuff64x2(ymmA, ymmB, ymmC, 0);
  5795. e->vshuff64x2(ymmA, ymmB, anyptr_gpC, 0);
  5796. e->vshuff64x2(zmmA, zmmB, zmmC, 0);
  5797. e->vshuff64x2(zmmA, zmmB, anyptr_gpC, 0);
  5798. e->vshufi32x4(ymmA, ymmB, ymmC, 0);
  5799. e->vshufi32x4(ymmA, ymmB, anyptr_gpC, 0);
  5800. e->vshufi32x4(zmmA, zmmB, zmmC, 0);
  5801. e->vshufi32x4(zmmA, zmmB, anyptr_gpC, 0);
  5802. e->vshufi64x2(ymmA, ymmB, ymmC, 0);
  5803. e->vshufi64x2(ymmA, ymmB, anyptr_gpC, 0);
  5804. e->vshufi64x2(zmmA, zmmB, zmmC, 0);
  5805. e->vshufi64x2(zmmA, zmmB, anyptr_gpC, 0);
  5806. e->vshufpd(xmmA, xmmB, xmmC, 0);
  5807. e->vshufpd(xmmA, xmmB, anyptr_gpC, 0);
  5808. e->vshufpd(ymmA, ymmB, ymmC, 0);
  5809. e->vshufpd(ymmA, ymmB, anyptr_gpC, 0);
  5810. e->vshufpd(zmmA, zmmB, zmmC, 0);
  5811. e->vshufpd(zmmA, zmmB, anyptr_gpC, 0);
  5812. e->vshufps(xmmA, xmmB, xmmC, 0);
  5813. e->vshufps(xmmA, xmmB, anyptr_gpC, 0);
  5814. e->vshufps(ymmA, ymmB, ymmC, 0);
  5815. e->vshufps(ymmA, ymmB, anyptr_gpC, 0);
  5816. e->vshufps(zmmA, zmmB, zmmC, 0);
  5817. e->vshufps(zmmA, zmmB, anyptr_gpC, 0);
  5818. e->vsqrtpd(xmmA, xmmB);
  5819. e->vsqrtpd(xmmA, anyptr_gpB);
  5820. e->vsqrtpd(ymmA, ymmB);
  5821. e->vsqrtpd(ymmA, anyptr_gpB);
  5822. e->vsqrtpd(zmmA, zmmB);
  5823. e->vsqrtpd(zmmA, anyptr_gpB);
  5824. e->vsqrtps(xmmA, xmmB);
  5825. e->vsqrtps(xmmA, anyptr_gpB);
  5826. e->vsqrtps(ymmA, ymmB);
  5827. e->vsqrtps(ymmA, anyptr_gpB);
  5828. e->vsqrtps(zmmA, zmmB);
  5829. e->vsqrtps(zmmA, anyptr_gpB);
  5830. e->vsqrtsd(xmmA, xmmB, xmmC);
  5831. e->vsqrtsd(xmmA, xmmB, anyptr_gpC);
  5832. e->vsqrtss(xmmA, xmmB, xmmC);
  5833. e->vsqrtss(xmmA, xmmB, anyptr_gpC);
  5834. e->vsubpd(xmmA, xmmB, xmmC);
  5835. e->vsubpd(xmmA, xmmB, anyptr_gpC);
  5836. e->vsubpd(ymmA, ymmB, ymmC);
  5837. e->vsubpd(ymmA, ymmB, anyptr_gpC);
  5838. e->vsubpd(zmmA, zmmB, zmmC);
  5839. e->vsubpd(zmmA, zmmB, anyptr_gpC);
  5840. e->vsubps(xmmA, xmmB, xmmC);
  5841. e->vsubps(xmmA, xmmB, anyptr_gpC);
  5842. e->vsubps(ymmA, ymmB, ymmC);
  5843. e->vsubps(ymmA, ymmB, anyptr_gpC);
  5844. e->vsubps(zmmA, zmmB, zmmC);
  5845. e->vsubps(zmmA, zmmB, anyptr_gpC);
  5846. e->vsubsd(xmmA, xmmB, xmmC);
  5847. e->vsubsd(xmmA, xmmB, anyptr_gpC);
  5848. e->vsubss(xmmA, xmmB, xmmC);
  5849. e->vsubss(xmmA, xmmB, anyptr_gpC);
  5850. e->vucomisd(xmmA, xmmB);
  5851. e->vucomisd(xmmA, anyptr_gpB);
  5852. e->vucomiss(xmmA, xmmB);
  5853. e->vucomiss(xmmA, anyptr_gpB);
  5854. e->vunpckhpd(xmmA, xmmB, xmmC);
  5855. e->vunpckhpd(xmmA, xmmB, anyptr_gpC);
  5856. e->vunpckhpd(ymmA, ymmB, ymmC);
  5857. e->vunpckhpd(ymmA, ymmB, anyptr_gpC);
  5858. e->vunpckhpd(zmmA, zmmB, zmmC);
  5859. e->vunpckhpd(zmmA, zmmB, anyptr_gpC);
  5860. e->vunpckhps(xmmA, xmmB, xmmC);
  5861. e->vunpckhps(xmmA, xmmB, anyptr_gpC);
  5862. e->vunpckhps(ymmA, ymmB, ymmC);
  5863. e->vunpckhps(ymmA, ymmB, anyptr_gpC);
  5864. e->vunpckhps(zmmA, zmmB, zmmC);
  5865. e->vunpckhps(zmmA, zmmB, anyptr_gpC);
  5866. e->vunpcklpd(xmmA, xmmB, xmmC);
  5867. e->vunpcklpd(xmmA, xmmB, anyptr_gpC);
  5868. e->vunpcklpd(ymmA, ymmB, ymmC);
  5869. e->vunpcklpd(ymmA, ymmB, anyptr_gpC);
  5870. e->vunpcklpd(zmmA, zmmB, zmmC);
  5871. e->vunpcklpd(zmmA, zmmB, anyptr_gpC);
  5872. e->vunpcklps(xmmA, xmmB, xmmC);
  5873. e->vunpcklps(xmmA, xmmB, anyptr_gpC);
  5874. e->vunpcklps(ymmA, ymmB, ymmC);
  5875. e->vunpcklps(ymmA, ymmB, anyptr_gpC);
  5876. e->vunpcklps(zmmA, zmmB, zmmC);
  5877. e->vunpcklps(zmmA, zmmB, anyptr_gpC);
  5878. e->vxorpd(xmmA, xmmB, xmmC);
  5879. e->vxorpd(xmmA, xmmB, anyptr_gpC);
  5880. e->vxorpd(ymmA, ymmB, ymmC);
  5881. e->vxorpd(ymmA, ymmB, anyptr_gpC);
  5882. e->vxorpd(zmmA, zmmB, zmmC);
  5883. e->vxorpd(zmmA, zmmB, anyptr_gpC);
  5884. e->vxorps(xmmA, xmmB, xmmC);
  5885. e->vxorps(xmmA, xmmB, anyptr_gpC);
  5886. e->vxorps(ymmA, ymmB, ymmC);
  5887. e->vxorps(ymmA, ymmB, anyptr_gpC);
  5888. e->vxorps(zmmA, zmmB, zmmC);
  5889. e->vxorps(zmmA, zmmB, anyptr_gpC);
  5890. // Mark the end.
  5891. e->nop();
  5892. e->nop();
  5893. e->nop();
  5894. e->nop();
  5895. }
  5896. } // {asmtest}
  5897. #endif // _ASMJIT_TEST_OPCODE_H