sha1-mb-x86_64.s 145 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267
  1. .text
  2. .globl _sha1_multi_block
  3. .p2align 5
  4. _sha1_multi_block:
  5. movq _OPENSSL_ia32cap_P+4(%rip),%rcx
  6. btq $61,%rcx
  7. jc _shaext_shortcut
  8. testl $268435456,%ecx
  9. jnz _avx_shortcut
  10. movq %rsp,%rax
  11. pushq %rbx
  12. pushq %rbp
  13. subq $288,%rsp
  14. andq $-256,%rsp
  15. movq %rax,272(%rsp)
  16. L$body:
  17. leaq K_XX_XX(%rip),%rbp
  18. leaq 256(%rsp),%rbx
  19. L$oop_grande:
  20. movl %edx,280(%rsp)
  21. xorl %edx,%edx
  22. movq 0(%rsi),%r8
  23. movl 8(%rsi),%ecx
  24. cmpl %edx,%ecx
  25. cmovgl %ecx,%edx
  26. testl %ecx,%ecx
  27. movl %ecx,0(%rbx)
  28. cmovleq %rbp,%r8
  29. movq 16(%rsi),%r9
  30. movl 24(%rsi),%ecx
  31. cmpl %edx,%ecx
  32. cmovgl %ecx,%edx
  33. testl %ecx,%ecx
  34. movl %ecx,4(%rbx)
  35. cmovleq %rbp,%r9
  36. movq 32(%rsi),%r10
  37. movl 40(%rsi),%ecx
  38. cmpl %edx,%ecx
  39. cmovgl %ecx,%edx
  40. testl %ecx,%ecx
  41. movl %ecx,8(%rbx)
  42. cmovleq %rbp,%r10
  43. movq 48(%rsi),%r11
  44. movl 56(%rsi),%ecx
  45. cmpl %edx,%ecx
  46. cmovgl %ecx,%edx
  47. testl %ecx,%ecx
  48. movl %ecx,12(%rbx)
  49. cmovleq %rbp,%r11
  50. testl %edx,%edx
  51. jz L$done
  52. movdqu 0(%rdi),%xmm10
  53. leaq 128(%rsp),%rax
  54. movdqu 32(%rdi),%xmm11
  55. movdqu 64(%rdi),%xmm12
  56. movdqu 96(%rdi),%xmm13
  57. movdqu 128(%rdi),%xmm14
  58. movdqa 96(%rbp),%xmm5
  59. movdqa -32(%rbp),%xmm15
  60. jmp L$oop
  61. .p2align 5
  62. L$oop:
  63. movd (%r8),%xmm0
  64. leaq 64(%r8),%r8
  65. movd (%r9),%xmm2
  66. leaq 64(%r9),%r9
  67. movd (%r10),%xmm3
  68. leaq 64(%r10),%r10
  69. movd (%r11),%xmm4
  70. leaq 64(%r11),%r11
  71. punpckldq %xmm3,%xmm0
  72. movd -60(%r8),%xmm1
  73. punpckldq %xmm4,%xmm2
  74. movd -60(%r9),%xmm9
  75. punpckldq %xmm2,%xmm0
  76. movd -60(%r10),%xmm8
  77. .byte 102,15,56,0,197
  78. movd -60(%r11),%xmm7
  79. punpckldq %xmm8,%xmm1
  80. movdqa %xmm10,%xmm8
  81. paddd %xmm15,%xmm14
  82. punpckldq %xmm7,%xmm9
  83. movdqa %xmm11,%xmm7
  84. movdqa %xmm11,%xmm6
  85. pslld $5,%xmm8
  86. pandn %xmm13,%xmm7
  87. pand %xmm12,%xmm6
  88. punpckldq %xmm9,%xmm1
  89. movdqa %xmm10,%xmm9
  90. movdqa %xmm0,0-128(%rax)
  91. paddd %xmm0,%xmm14
  92. movd -56(%r8),%xmm2
  93. psrld $27,%xmm9
  94. pxor %xmm7,%xmm6
  95. movdqa %xmm11,%xmm7
  96. por %xmm9,%xmm8
  97. movd -56(%r9),%xmm9
  98. pslld $30,%xmm7
  99. paddd %xmm6,%xmm14
  100. psrld $2,%xmm11
  101. paddd %xmm8,%xmm14
  102. .byte 102,15,56,0,205
  103. movd -56(%r10),%xmm8
  104. por %xmm7,%xmm11
  105. movd -56(%r11),%xmm7
  106. punpckldq %xmm8,%xmm2
  107. movdqa %xmm14,%xmm8
  108. paddd %xmm15,%xmm13
  109. punpckldq %xmm7,%xmm9
  110. movdqa %xmm10,%xmm7
  111. movdqa %xmm10,%xmm6
  112. pslld $5,%xmm8
  113. pandn %xmm12,%xmm7
  114. pand %xmm11,%xmm6
  115. punpckldq %xmm9,%xmm2
  116. movdqa %xmm14,%xmm9
  117. movdqa %xmm1,16-128(%rax)
  118. paddd %xmm1,%xmm13
  119. movd -52(%r8),%xmm3
  120. psrld $27,%xmm9
  121. pxor %xmm7,%xmm6
  122. movdqa %xmm10,%xmm7
  123. por %xmm9,%xmm8
  124. movd -52(%r9),%xmm9
  125. pslld $30,%xmm7
  126. paddd %xmm6,%xmm13
  127. psrld $2,%xmm10
  128. paddd %xmm8,%xmm13
  129. .byte 102,15,56,0,213
  130. movd -52(%r10),%xmm8
  131. por %xmm7,%xmm10
  132. movd -52(%r11),%xmm7
  133. punpckldq %xmm8,%xmm3
  134. movdqa %xmm13,%xmm8
  135. paddd %xmm15,%xmm12
  136. punpckldq %xmm7,%xmm9
  137. movdqa %xmm14,%xmm7
  138. movdqa %xmm14,%xmm6
  139. pslld $5,%xmm8
  140. pandn %xmm11,%xmm7
  141. pand %xmm10,%xmm6
  142. punpckldq %xmm9,%xmm3
  143. movdqa %xmm13,%xmm9
  144. movdqa %xmm2,32-128(%rax)
  145. paddd %xmm2,%xmm12
  146. movd -48(%r8),%xmm4
  147. psrld $27,%xmm9
  148. pxor %xmm7,%xmm6
  149. movdqa %xmm14,%xmm7
  150. por %xmm9,%xmm8
  151. movd -48(%r9),%xmm9
  152. pslld $30,%xmm7
  153. paddd %xmm6,%xmm12
  154. psrld $2,%xmm14
  155. paddd %xmm8,%xmm12
  156. .byte 102,15,56,0,221
  157. movd -48(%r10),%xmm8
  158. por %xmm7,%xmm14
  159. movd -48(%r11),%xmm7
  160. punpckldq %xmm8,%xmm4
  161. movdqa %xmm12,%xmm8
  162. paddd %xmm15,%xmm11
  163. punpckldq %xmm7,%xmm9
  164. movdqa %xmm13,%xmm7
  165. movdqa %xmm13,%xmm6
  166. pslld $5,%xmm8
  167. pandn %xmm10,%xmm7
  168. pand %xmm14,%xmm6
  169. punpckldq %xmm9,%xmm4
  170. movdqa %xmm12,%xmm9
  171. movdqa %xmm3,48-128(%rax)
  172. paddd %xmm3,%xmm11
  173. movd -44(%r8),%xmm0
  174. psrld $27,%xmm9
  175. pxor %xmm7,%xmm6
  176. movdqa %xmm13,%xmm7
  177. por %xmm9,%xmm8
  178. movd -44(%r9),%xmm9
  179. pslld $30,%xmm7
  180. paddd %xmm6,%xmm11
  181. psrld $2,%xmm13
  182. paddd %xmm8,%xmm11
  183. .byte 102,15,56,0,229
  184. movd -44(%r10),%xmm8
  185. por %xmm7,%xmm13
  186. movd -44(%r11),%xmm7
  187. punpckldq %xmm8,%xmm0
  188. movdqa %xmm11,%xmm8
  189. paddd %xmm15,%xmm10
  190. punpckldq %xmm7,%xmm9
  191. movdqa %xmm12,%xmm7
  192. movdqa %xmm12,%xmm6
  193. pslld $5,%xmm8
  194. pandn %xmm14,%xmm7
  195. pand %xmm13,%xmm6
  196. punpckldq %xmm9,%xmm0
  197. movdqa %xmm11,%xmm9
  198. movdqa %xmm4,64-128(%rax)
  199. paddd %xmm4,%xmm10
  200. movd -40(%r8),%xmm1
  201. psrld $27,%xmm9
  202. pxor %xmm7,%xmm6
  203. movdqa %xmm12,%xmm7
  204. por %xmm9,%xmm8
  205. movd -40(%r9),%xmm9
  206. pslld $30,%xmm7
  207. paddd %xmm6,%xmm10
  208. psrld $2,%xmm12
  209. paddd %xmm8,%xmm10
  210. .byte 102,15,56,0,197
  211. movd -40(%r10),%xmm8
  212. por %xmm7,%xmm12
  213. movd -40(%r11),%xmm7
  214. punpckldq %xmm8,%xmm1
  215. movdqa %xmm10,%xmm8
  216. paddd %xmm15,%xmm14
  217. punpckldq %xmm7,%xmm9
  218. movdqa %xmm11,%xmm7
  219. movdqa %xmm11,%xmm6
  220. pslld $5,%xmm8
  221. pandn %xmm13,%xmm7
  222. pand %xmm12,%xmm6
  223. punpckldq %xmm9,%xmm1
  224. movdqa %xmm10,%xmm9
  225. movdqa %xmm0,80-128(%rax)
  226. paddd %xmm0,%xmm14
  227. movd -36(%r8),%xmm2
  228. psrld $27,%xmm9
  229. pxor %xmm7,%xmm6
  230. movdqa %xmm11,%xmm7
  231. por %xmm9,%xmm8
  232. movd -36(%r9),%xmm9
  233. pslld $30,%xmm7
  234. paddd %xmm6,%xmm14
  235. psrld $2,%xmm11
  236. paddd %xmm8,%xmm14
  237. .byte 102,15,56,0,205
  238. movd -36(%r10),%xmm8
  239. por %xmm7,%xmm11
  240. movd -36(%r11),%xmm7
  241. punpckldq %xmm8,%xmm2
  242. movdqa %xmm14,%xmm8
  243. paddd %xmm15,%xmm13
  244. punpckldq %xmm7,%xmm9
  245. movdqa %xmm10,%xmm7
  246. movdqa %xmm10,%xmm6
  247. pslld $5,%xmm8
  248. pandn %xmm12,%xmm7
  249. pand %xmm11,%xmm6
  250. punpckldq %xmm9,%xmm2
  251. movdqa %xmm14,%xmm9
  252. movdqa %xmm1,96-128(%rax)
  253. paddd %xmm1,%xmm13
  254. movd -32(%r8),%xmm3
  255. psrld $27,%xmm9
  256. pxor %xmm7,%xmm6
  257. movdqa %xmm10,%xmm7
  258. por %xmm9,%xmm8
  259. movd -32(%r9),%xmm9
  260. pslld $30,%xmm7
  261. paddd %xmm6,%xmm13
  262. psrld $2,%xmm10
  263. paddd %xmm8,%xmm13
  264. .byte 102,15,56,0,213
  265. movd -32(%r10),%xmm8
  266. por %xmm7,%xmm10
  267. movd -32(%r11),%xmm7
  268. punpckldq %xmm8,%xmm3
  269. movdqa %xmm13,%xmm8
  270. paddd %xmm15,%xmm12
  271. punpckldq %xmm7,%xmm9
  272. movdqa %xmm14,%xmm7
  273. movdqa %xmm14,%xmm6
  274. pslld $5,%xmm8
  275. pandn %xmm11,%xmm7
  276. pand %xmm10,%xmm6
  277. punpckldq %xmm9,%xmm3
  278. movdqa %xmm13,%xmm9
  279. movdqa %xmm2,112-128(%rax)
  280. paddd %xmm2,%xmm12
  281. movd -28(%r8),%xmm4
  282. psrld $27,%xmm9
  283. pxor %xmm7,%xmm6
  284. movdqa %xmm14,%xmm7
  285. por %xmm9,%xmm8
  286. movd -28(%r9),%xmm9
  287. pslld $30,%xmm7
  288. paddd %xmm6,%xmm12
  289. psrld $2,%xmm14
  290. paddd %xmm8,%xmm12
  291. .byte 102,15,56,0,221
  292. movd -28(%r10),%xmm8
  293. por %xmm7,%xmm14
  294. movd -28(%r11),%xmm7
  295. punpckldq %xmm8,%xmm4
  296. movdqa %xmm12,%xmm8
  297. paddd %xmm15,%xmm11
  298. punpckldq %xmm7,%xmm9
  299. movdqa %xmm13,%xmm7
  300. movdqa %xmm13,%xmm6
  301. pslld $5,%xmm8
  302. pandn %xmm10,%xmm7
  303. pand %xmm14,%xmm6
  304. punpckldq %xmm9,%xmm4
  305. movdqa %xmm12,%xmm9
  306. movdqa %xmm3,128-128(%rax)
  307. paddd %xmm3,%xmm11
  308. movd -24(%r8),%xmm0
  309. psrld $27,%xmm9
  310. pxor %xmm7,%xmm6
  311. movdqa %xmm13,%xmm7
  312. por %xmm9,%xmm8
  313. movd -24(%r9),%xmm9
  314. pslld $30,%xmm7
  315. paddd %xmm6,%xmm11
  316. psrld $2,%xmm13
  317. paddd %xmm8,%xmm11
  318. .byte 102,15,56,0,229
  319. movd -24(%r10),%xmm8
  320. por %xmm7,%xmm13
  321. movd -24(%r11),%xmm7
  322. punpckldq %xmm8,%xmm0
  323. movdqa %xmm11,%xmm8
  324. paddd %xmm15,%xmm10
  325. punpckldq %xmm7,%xmm9
  326. movdqa %xmm12,%xmm7
  327. movdqa %xmm12,%xmm6
  328. pslld $5,%xmm8
  329. pandn %xmm14,%xmm7
  330. pand %xmm13,%xmm6
  331. punpckldq %xmm9,%xmm0
  332. movdqa %xmm11,%xmm9
  333. movdqa %xmm4,144-128(%rax)
  334. paddd %xmm4,%xmm10
  335. movd -20(%r8),%xmm1
  336. psrld $27,%xmm9
  337. pxor %xmm7,%xmm6
  338. movdqa %xmm12,%xmm7
  339. por %xmm9,%xmm8
  340. movd -20(%r9),%xmm9
  341. pslld $30,%xmm7
  342. paddd %xmm6,%xmm10
  343. psrld $2,%xmm12
  344. paddd %xmm8,%xmm10
  345. .byte 102,15,56,0,197
  346. movd -20(%r10),%xmm8
  347. por %xmm7,%xmm12
  348. movd -20(%r11),%xmm7
  349. punpckldq %xmm8,%xmm1
  350. movdqa %xmm10,%xmm8
  351. paddd %xmm15,%xmm14
  352. punpckldq %xmm7,%xmm9
  353. movdqa %xmm11,%xmm7
  354. movdqa %xmm11,%xmm6
  355. pslld $5,%xmm8
  356. pandn %xmm13,%xmm7
  357. pand %xmm12,%xmm6
  358. punpckldq %xmm9,%xmm1
  359. movdqa %xmm10,%xmm9
  360. movdqa %xmm0,160-128(%rax)
  361. paddd %xmm0,%xmm14
  362. movd -16(%r8),%xmm2
  363. psrld $27,%xmm9
  364. pxor %xmm7,%xmm6
  365. movdqa %xmm11,%xmm7
  366. por %xmm9,%xmm8
  367. movd -16(%r9),%xmm9
  368. pslld $30,%xmm7
  369. paddd %xmm6,%xmm14
  370. psrld $2,%xmm11
  371. paddd %xmm8,%xmm14
  372. .byte 102,15,56,0,205
  373. movd -16(%r10),%xmm8
  374. por %xmm7,%xmm11
  375. movd -16(%r11),%xmm7
  376. punpckldq %xmm8,%xmm2
  377. movdqa %xmm14,%xmm8
  378. paddd %xmm15,%xmm13
  379. punpckldq %xmm7,%xmm9
  380. movdqa %xmm10,%xmm7
  381. movdqa %xmm10,%xmm6
  382. pslld $5,%xmm8
  383. pandn %xmm12,%xmm7
  384. pand %xmm11,%xmm6
  385. punpckldq %xmm9,%xmm2
  386. movdqa %xmm14,%xmm9
  387. movdqa %xmm1,176-128(%rax)
  388. paddd %xmm1,%xmm13
  389. movd -12(%r8),%xmm3
  390. psrld $27,%xmm9
  391. pxor %xmm7,%xmm6
  392. movdqa %xmm10,%xmm7
  393. por %xmm9,%xmm8
  394. movd -12(%r9),%xmm9
  395. pslld $30,%xmm7
  396. paddd %xmm6,%xmm13
  397. psrld $2,%xmm10
  398. paddd %xmm8,%xmm13
  399. .byte 102,15,56,0,213
  400. movd -12(%r10),%xmm8
  401. por %xmm7,%xmm10
  402. movd -12(%r11),%xmm7
  403. punpckldq %xmm8,%xmm3
  404. movdqa %xmm13,%xmm8
  405. paddd %xmm15,%xmm12
  406. punpckldq %xmm7,%xmm9
  407. movdqa %xmm14,%xmm7
  408. movdqa %xmm14,%xmm6
  409. pslld $5,%xmm8
  410. pandn %xmm11,%xmm7
  411. pand %xmm10,%xmm6
  412. punpckldq %xmm9,%xmm3
  413. movdqa %xmm13,%xmm9
  414. movdqa %xmm2,192-128(%rax)
  415. paddd %xmm2,%xmm12
  416. movd -8(%r8),%xmm4
  417. psrld $27,%xmm9
  418. pxor %xmm7,%xmm6
  419. movdqa %xmm14,%xmm7
  420. por %xmm9,%xmm8
  421. movd -8(%r9),%xmm9
  422. pslld $30,%xmm7
  423. paddd %xmm6,%xmm12
  424. psrld $2,%xmm14
  425. paddd %xmm8,%xmm12
  426. .byte 102,15,56,0,221
  427. movd -8(%r10),%xmm8
  428. por %xmm7,%xmm14
  429. movd -8(%r11),%xmm7
  430. punpckldq %xmm8,%xmm4
  431. movdqa %xmm12,%xmm8
  432. paddd %xmm15,%xmm11
  433. punpckldq %xmm7,%xmm9
  434. movdqa %xmm13,%xmm7
  435. movdqa %xmm13,%xmm6
  436. pslld $5,%xmm8
  437. pandn %xmm10,%xmm7
  438. pand %xmm14,%xmm6
  439. punpckldq %xmm9,%xmm4
  440. movdqa %xmm12,%xmm9
  441. movdqa %xmm3,208-128(%rax)
  442. paddd %xmm3,%xmm11
  443. movd -4(%r8),%xmm0
  444. psrld $27,%xmm9
  445. pxor %xmm7,%xmm6
  446. movdqa %xmm13,%xmm7
  447. por %xmm9,%xmm8
  448. movd -4(%r9),%xmm9
  449. pslld $30,%xmm7
  450. paddd %xmm6,%xmm11
  451. psrld $2,%xmm13
  452. paddd %xmm8,%xmm11
  453. .byte 102,15,56,0,229
  454. movd -4(%r10),%xmm8
  455. por %xmm7,%xmm13
  456. movdqa 0-128(%rax),%xmm1
  457. movd -4(%r11),%xmm7
  458. punpckldq %xmm8,%xmm0
  459. movdqa %xmm11,%xmm8
  460. paddd %xmm15,%xmm10
  461. punpckldq %xmm7,%xmm9
  462. movdqa %xmm12,%xmm7
  463. movdqa %xmm12,%xmm6
  464. pslld $5,%xmm8
  465. prefetcht0 63(%r8)
  466. pandn %xmm14,%xmm7
  467. pand %xmm13,%xmm6
  468. punpckldq %xmm9,%xmm0
  469. movdqa %xmm11,%xmm9
  470. movdqa %xmm4,224-128(%rax)
  471. paddd %xmm4,%xmm10
  472. psrld $27,%xmm9
  473. pxor %xmm7,%xmm6
  474. movdqa %xmm12,%xmm7
  475. prefetcht0 63(%r9)
  476. por %xmm9,%xmm8
  477. pslld $30,%xmm7
  478. paddd %xmm6,%xmm10
  479. prefetcht0 63(%r10)
  480. psrld $2,%xmm12
  481. paddd %xmm8,%xmm10
  482. .byte 102,15,56,0,197
  483. prefetcht0 63(%r11)
  484. por %xmm7,%xmm12
  485. movdqa 16-128(%rax),%xmm2
  486. pxor %xmm3,%xmm1
  487. movdqa 32-128(%rax),%xmm3
  488. movdqa %xmm10,%xmm8
  489. pxor 128-128(%rax),%xmm1
  490. paddd %xmm15,%xmm14
  491. movdqa %xmm11,%xmm7
  492. pslld $5,%xmm8
  493. pxor %xmm3,%xmm1
  494. movdqa %xmm11,%xmm6
  495. pandn %xmm13,%xmm7
  496. movdqa %xmm1,%xmm5
  497. pand %xmm12,%xmm6
  498. movdqa %xmm10,%xmm9
  499. psrld $31,%xmm5
  500. paddd %xmm1,%xmm1
  501. movdqa %xmm0,240-128(%rax)
  502. paddd %xmm0,%xmm14
  503. psrld $27,%xmm9
  504. pxor %xmm7,%xmm6
  505. movdqa %xmm11,%xmm7
  506. por %xmm9,%xmm8
  507. pslld $30,%xmm7
  508. paddd %xmm6,%xmm14
  509. psrld $2,%xmm11
  510. paddd %xmm8,%xmm14
  511. por %xmm5,%xmm1
  512. por %xmm7,%xmm11
  513. pxor %xmm4,%xmm2
  514. movdqa 48-128(%rax),%xmm4
  515. movdqa %xmm14,%xmm8
  516. pxor 144-128(%rax),%xmm2
  517. paddd %xmm15,%xmm13
  518. movdqa %xmm10,%xmm7
  519. pslld $5,%xmm8
  520. pxor %xmm4,%xmm2
  521. movdqa %xmm10,%xmm6
  522. pandn %xmm12,%xmm7
  523. movdqa %xmm2,%xmm5
  524. pand %xmm11,%xmm6
  525. movdqa %xmm14,%xmm9
  526. psrld $31,%xmm5
  527. paddd %xmm2,%xmm2
  528. movdqa %xmm1,0-128(%rax)
  529. paddd %xmm1,%xmm13
  530. psrld $27,%xmm9
  531. pxor %xmm7,%xmm6
  532. movdqa %xmm10,%xmm7
  533. por %xmm9,%xmm8
  534. pslld $30,%xmm7
  535. paddd %xmm6,%xmm13
  536. psrld $2,%xmm10
  537. paddd %xmm8,%xmm13
  538. por %xmm5,%xmm2
  539. por %xmm7,%xmm10
  540. pxor %xmm0,%xmm3
  541. movdqa 64-128(%rax),%xmm0
  542. movdqa %xmm13,%xmm8
  543. pxor 160-128(%rax),%xmm3
  544. paddd %xmm15,%xmm12
  545. movdqa %xmm14,%xmm7
  546. pslld $5,%xmm8
  547. pxor %xmm0,%xmm3
  548. movdqa %xmm14,%xmm6
  549. pandn %xmm11,%xmm7
  550. movdqa %xmm3,%xmm5
  551. pand %xmm10,%xmm6
  552. movdqa %xmm13,%xmm9
  553. psrld $31,%xmm5
  554. paddd %xmm3,%xmm3
  555. movdqa %xmm2,16-128(%rax)
  556. paddd %xmm2,%xmm12
  557. psrld $27,%xmm9
  558. pxor %xmm7,%xmm6
  559. movdqa %xmm14,%xmm7
  560. por %xmm9,%xmm8
  561. pslld $30,%xmm7
  562. paddd %xmm6,%xmm12
  563. psrld $2,%xmm14
  564. paddd %xmm8,%xmm12
  565. por %xmm5,%xmm3
  566. por %xmm7,%xmm14
  567. pxor %xmm1,%xmm4
  568. movdqa 80-128(%rax),%xmm1
  569. movdqa %xmm12,%xmm8
  570. pxor 176-128(%rax),%xmm4
  571. paddd %xmm15,%xmm11
  572. movdqa %xmm13,%xmm7
  573. pslld $5,%xmm8
  574. pxor %xmm1,%xmm4
  575. movdqa %xmm13,%xmm6
  576. pandn %xmm10,%xmm7
  577. movdqa %xmm4,%xmm5
  578. pand %xmm14,%xmm6
  579. movdqa %xmm12,%xmm9
  580. psrld $31,%xmm5
  581. paddd %xmm4,%xmm4
  582. movdqa %xmm3,32-128(%rax)
  583. paddd %xmm3,%xmm11
  584. psrld $27,%xmm9
  585. pxor %xmm7,%xmm6
  586. movdqa %xmm13,%xmm7
  587. por %xmm9,%xmm8
  588. pslld $30,%xmm7
  589. paddd %xmm6,%xmm11
  590. psrld $2,%xmm13
  591. paddd %xmm8,%xmm11
  592. por %xmm5,%xmm4
  593. por %xmm7,%xmm13
  594. pxor %xmm2,%xmm0
  595. movdqa 96-128(%rax),%xmm2
  596. movdqa %xmm11,%xmm8
  597. pxor 192-128(%rax),%xmm0
  598. paddd %xmm15,%xmm10
  599. movdqa %xmm12,%xmm7
  600. pslld $5,%xmm8
  601. pxor %xmm2,%xmm0
  602. movdqa %xmm12,%xmm6
  603. pandn %xmm14,%xmm7
  604. movdqa %xmm0,%xmm5
  605. pand %xmm13,%xmm6
  606. movdqa %xmm11,%xmm9
  607. psrld $31,%xmm5
  608. paddd %xmm0,%xmm0
  609. movdqa %xmm4,48-128(%rax)
  610. paddd %xmm4,%xmm10
  611. psrld $27,%xmm9
  612. pxor %xmm7,%xmm6
  613. movdqa %xmm12,%xmm7
  614. por %xmm9,%xmm8
  615. pslld $30,%xmm7
  616. paddd %xmm6,%xmm10
  617. psrld $2,%xmm12
  618. paddd %xmm8,%xmm10
  619. por %xmm5,%xmm0
  620. por %xmm7,%xmm12
  621. movdqa 0(%rbp),%xmm15
  622. pxor %xmm3,%xmm1
  623. movdqa 112-128(%rax),%xmm3
  624. movdqa %xmm10,%xmm8
  625. movdqa %xmm13,%xmm6
  626. pxor 208-128(%rax),%xmm1
  627. paddd %xmm15,%xmm14
  628. pslld $5,%xmm8
  629. pxor %xmm11,%xmm6
  630. movdqa %xmm10,%xmm9
  631. movdqa %xmm0,64-128(%rax)
  632. paddd %xmm0,%xmm14
  633. pxor %xmm3,%xmm1
  634. psrld $27,%xmm9
  635. pxor %xmm12,%xmm6
  636. movdqa %xmm11,%xmm7
  637. pslld $30,%xmm7
  638. movdqa %xmm1,%xmm5
  639. por %xmm9,%xmm8
  640. psrld $31,%xmm5
  641. paddd %xmm6,%xmm14
  642. paddd %xmm1,%xmm1
  643. psrld $2,%xmm11
  644. paddd %xmm8,%xmm14
  645. por %xmm5,%xmm1
  646. por %xmm7,%xmm11
  647. pxor %xmm4,%xmm2
  648. movdqa 128-128(%rax),%xmm4
  649. movdqa %xmm14,%xmm8
  650. movdqa %xmm12,%xmm6
  651. pxor 224-128(%rax),%xmm2
  652. paddd %xmm15,%xmm13
  653. pslld $5,%xmm8
  654. pxor %xmm10,%xmm6
  655. movdqa %xmm14,%xmm9
  656. movdqa %xmm1,80-128(%rax)
  657. paddd %xmm1,%xmm13
  658. pxor %xmm4,%xmm2
  659. psrld $27,%xmm9
  660. pxor %xmm11,%xmm6
  661. movdqa %xmm10,%xmm7
  662. pslld $30,%xmm7
  663. movdqa %xmm2,%xmm5
  664. por %xmm9,%xmm8
  665. psrld $31,%xmm5
  666. paddd %xmm6,%xmm13
  667. paddd %xmm2,%xmm2
  668. psrld $2,%xmm10
  669. paddd %xmm8,%xmm13
  670. por %xmm5,%xmm2
  671. por %xmm7,%xmm10
  672. pxor %xmm0,%xmm3
  673. movdqa 144-128(%rax),%xmm0
  674. movdqa %xmm13,%xmm8
  675. movdqa %xmm11,%xmm6
  676. pxor 240-128(%rax),%xmm3
  677. paddd %xmm15,%xmm12
  678. pslld $5,%xmm8
  679. pxor %xmm14,%xmm6
  680. movdqa %xmm13,%xmm9
  681. movdqa %xmm2,96-128(%rax)
  682. paddd %xmm2,%xmm12
  683. pxor %xmm0,%xmm3
  684. psrld $27,%xmm9
  685. pxor %xmm10,%xmm6
  686. movdqa %xmm14,%xmm7
  687. pslld $30,%xmm7
  688. movdqa %xmm3,%xmm5
  689. por %xmm9,%xmm8
  690. psrld $31,%xmm5
  691. paddd %xmm6,%xmm12
  692. paddd %xmm3,%xmm3
  693. psrld $2,%xmm14
  694. paddd %xmm8,%xmm12
  695. por %xmm5,%xmm3
  696. por %xmm7,%xmm14
  697. pxor %xmm1,%xmm4
  698. movdqa 160-128(%rax),%xmm1
  699. movdqa %xmm12,%xmm8
  700. movdqa %xmm10,%xmm6
  701. pxor 0-128(%rax),%xmm4
  702. paddd %xmm15,%xmm11
  703. pslld $5,%xmm8
  704. pxor %xmm13,%xmm6
  705. movdqa %xmm12,%xmm9
  706. movdqa %xmm3,112-128(%rax)
  707. paddd %xmm3,%xmm11
  708. pxor %xmm1,%xmm4
  709. psrld $27,%xmm9
  710. pxor %xmm14,%xmm6
  711. movdqa %xmm13,%xmm7
  712. pslld $30,%xmm7
  713. movdqa %xmm4,%xmm5
  714. por %xmm9,%xmm8
  715. psrld $31,%xmm5
  716. paddd %xmm6,%xmm11
  717. paddd %xmm4,%xmm4
  718. psrld $2,%xmm13
  719. paddd %xmm8,%xmm11
  720. por %xmm5,%xmm4
  721. por %xmm7,%xmm13
  722. pxor %xmm2,%xmm0
  723. movdqa 176-128(%rax),%xmm2
  724. movdqa %xmm11,%xmm8
  725. movdqa %xmm14,%xmm6
  726. pxor 16-128(%rax),%xmm0
  727. paddd %xmm15,%xmm10
  728. pslld $5,%xmm8
  729. pxor %xmm12,%xmm6
  730. movdqa %xmm11,%xmm9
  731. movdqa %xmm4,128-128(%rax)
  732. paddd %xmm4,%xmm10
  733. pxor %xmm2,%xmm0
  734. psrld $27,%xmm9
  735. pxor %xmm13,%xmm6
  736. movdqa %xmm12,%xmm7
  737. pslld $30,%xmm7
  738. movdqa %xmm0,%xmm5
  739. por %xmm9,%xmm8
  740. psrld $31,%xmm5
  741. paddd %xmm6,%xmm10
  742. paddd %xmm0,%xmm0
  743. psrld $2,%xmm12
  744. paddd %xmm8,%xmm10
  745. por %xmm5,%xmm0
  746. por %xmm7,%xmm12
  747. pxor %xmm3,%xmm1
  748. movdqa 192-128(%rax),%xmm3
  749. movdqa %xmm10,%xmm8
  750. movdqa %xmm13,%xmm6
  751. pxor 32-128(%rax),%xmm1
  752. paddd %xmm15,%xmm14
  753. pslld $5,%xmm8
  754. pxor %xmm11,%xmm6
  755. movdqa %xmm10,%xmm9
  756. movdqa %xmm0,144-128(%rax)
  757. paddd %xmm0,%xmm14
  758. pxor %xmm3,%xmm1
  759. psrld $27,%xmm9
  760. pxor %xmm12,%xmm6
  761. movdqa %xmm11,%xmm7
  762. pslld $30,%xmm7
  763. movdqa %xmm1,%xmm5
  764. por %xmm9,%xmm8
  765. psrld $31,%xmm5
  766. paddd %xmm6,%xmm14
  767. paddd %xmm1,%xmm1
  768. psrld $2,%xmm11
  769. paddd %xmm8,%xmm14
  770. por %xmm5,%xmm1
  771. por %xmm7,%xmm11
  772. pxor %xmm4,%xmm2
  773. movdqa 208-128(%rax),%xmm4
  774. movdqa %xmm14,%xmm8
  775. movdqa %xmm12,%xmm6
  776. pxor 48-128(%rax),%xmm2
  777. paddd %xmm15,%xmm13
  778. pslld $5,%xmm8
  779. pxor %xmm10,%xmm6
  780. movdqa %xmm14,%xmm9
  781. movdqa %xmm1,160-128(%rax)
  782. paddd %xmm1,%xmm13
  783. pxor %xmm4,%xmm2
  784. psrld $27,%xmm9
  785. pxor %xmm11,%xmm6
  786. movdqa %xmm10,%xmm7
  787. pslld $30,%xmm7
  788. movdqa %xmm2,%xmm5
  789. por %xmm9,%xmm8
  790. psrld $31,%xmm5
  791. paddd %xmm6,%xmm13
  792. paddd %xmm2,%xmm2
  793. psrld $2,%xmm10
  794. paddd %xmm8,%xmm13
  795. por %xmm5,%xmm2
  796. por %xmm7,%xmm10
  797. pxor %xmm0,%xmm3
  798. movdqa 224-128(%rax),%xmm0
  799. movdqa %xmm13,%xmm8
  800. movdqa %xmm11,%xmm6
  801. pxor 64-128(%rax),%xmm3
  802. paddd %xmm15,%xmm12
  803. pslld $5,%xmm8
  804. pxor %xmm14,%xmm6
  805. movdqa %xmm13,%xmm9
  806. movdqa %xmm2,176-128(%rax)
  807. paddd %xmm2,%xmm12
  808. pxor %xmm0,%xmm3
  809. psrld $27,%xmm9
  810. pxor %xmm10,%xmm6
  811. movdqa %xmm14,%xmm7
  812. pslld $30,%xmm7
  813. movdqa %xmm3,%xmm5
  814. por %xmm9,%xmm8
  815. psrld $31,%xmm5
  816. paddd %xmm6,%xmm12
  817. paddd %xmm3,%xmm3
  818. psrld $2,%xmm14
  819. paddd %xmm8,%xmm12
  820. por %xmm5,%xmm3
  821. por %xmm7,%xmm14
  822. pxor %xmm1,%xmm4
  823. movdqa 240-128(%rax),%xmm1
  824. movdqa %xmm12,%xmm8
  825. movdqa %xmm10,%xmm6
  826. pxor 80-128(%rax),%xmm4
  827. paddd %xmm15,%xmm11
  828. pslld $5,%xmm8
  829. pxor %xmm13,%xmm6
  830. movdqa %xmm12,%xmm9
  831. movdqa %xmm3,192-128(%rax)
  832. paddd %xmm3,%xmm11
  833. pxor %xmm1,%xmm4
  834. psrld $27,%xmm9
  835. pxor %xmm14,%xmm6
  836. movdqa %xmm13,%xmm7
  837. pslld $30,%xmm7
  838. movdqa %xmm4,%xmm5
  839. por %xmm9,%xmm8
  840. psrld $31,%xmm5
  841. paddd %xmm6,%xmm11
  842. paddd %xmm4,%xmm4
  843. psrld $2,%xmm13
  844. paddd %xmm8,%xmm11
  845. por %xmm5,%xmm4
  846. por %xmm7,%xmm13
  847. pxor %xmm2,%xmm0
  848. movdqa 0-128(%rax),%xmm2
  849. movdqa %xmm11,%xmm8
  850. movdqa %xmm14,%xmm6
  851. pxor 96-128(%rax),%xmm0
  852. paddd %xmm15,%xmm10
  853. pslld $5,%xmm8
  854. pxor %xmm12,%xmm6
  855. movdqa %xmm11,%xmm9
  856. movdqa %xmm4,208-128(%rax)
  857. paddd %xmm4,%xmm10
  858. pxor %xmm2,%xmm0
  859. psrld $27,%xmm9
  860. pxor %xmm13,%xmm6
  861. movdqa %xmm12,%xmm7
  862. pslld $30,%xmm7
  863. movdqa %xmm0,%xmm5
  864. por %xmm9,%xmm8
  865. psrld $31,%xmm5
  866. paddd %xmm6,%xmm10
  867. paddd %xmm0,%xmm0
  868. psrld $2,%xmm12
  869. paddd %xmm8,%xmm10
  870. por %xmm5,%xmm0
  871. por %xmm7,%xmm12
  872. pxor %xmm3,%xmm1
  873. movdqa 16-128(%rax),%xmm3
  874. movdqa %xmm10,%xmm8
  875. movdqa %xmm13,%xmm6
  876. pxor 112-128(%rax),%xmm1
  877. paddd %xmm15,%xmm14
  878. pslld $5,%xmm8
  879. pxor %xmm11,%xmm6
  880. movdqa %xmm10,%xmm9
  881. movdqa %xmm0,224-128(%rax)
  882. paddd %xmm0,%xmm14
  883. pxor %xmm3,%xmm1
  884. psrld $27,%xmm9
  885. pxor %xmm12,%xmm6
  886. movdqa %xmm11,%xmm7
  887. pslld $30,%xmm7
  888. movdqa %xmm1,%xmm5
  889. por %xmm9,%xmm8
  890. psrld $31,%xmm5
  891. paddd %xmm6,%xmm14
  892. paddd %xmm1,%xmm1
  893. psrld $2,%xmm11
  894. paddd %xmm8,%xmm14
  895. por %xmm5,%xmm1
  896. por %xmm7,%xmm11
  897. pxor %xmm4,%xmm2
  898. movdqa 32-128(%rax),%xmm4
  899. movdqa %xmm14,%xmm8
  900. movdqa %xmm12,%xmm6
  901. pxor 128-128(%rax),%xmm2
  902. paddd %xmm15,%xmm13
  903. pslld $5,%xmm8
  904. pxor %xmm10,%xmm6
  905. movdqa %xmm14,%xmm9
  906. movdqa %xmm1,240-128(%rax)
  907. paddd %xmm1,%xmm13
  908. pxor %xmm4,%xmm2
  909. psrld $27,%xmm9
  910. pxor %xmm11,%xmm6
  911. movdqa %xmm10,%xmm7
  912. pslld $30,%xmm7
  913. movdqa %xmm2,%xmm5
  914. por %xmm9,%xmm8
  915. psrld $31,%xmm5
  916. paddd %xmm6,%xmm13
  917. paddd %xmm2,%xmm2
  918. psrld $2,%xmm10
  919. paddd %xmm8,%xmm13
  920. por %xmm5,%xmm2
  921. por %xmm7,%xmm10
  922. pxor %xmm0,%xmm3
  923. movdqa 48-128(%rax),%xmm0
  924. movdqa %xmm13,%xmm8
  925. movdqa %xmm11,%xmm6
  926. pxor 144-128(%rax),%xmm3
  927. paddd %xmm15,%xmm12
  928. pslld $5,%xmm8
  929. pxor %xmm14,%xmm6
  930. movdqa %xmm13,%xmm9
  931. movdqa %xmm2,0-128(%rax)
  932. paddd %xmm2,%xmm12
  933. pxor %xmm0,%xmm3
  934. psrld $27,%xmm9
  935. pxor %xmm10,%xmm6
  936. movdqa %xmm14,%xmm7
  937. pslld $30,%xmm7
  938. movdqa %xmm3,%xmm5
  939. por %xmm9,%xmm8
  940. psrld $31,%xmm5
  941. paddd %xmm6,%xmm12
  942. paddd %xmm3,%xmm3
  943. psrld $2,%xmm14
  944. paddd %xmm8,%xmm12
  945. por %xmm5,%xmm3
  946. por %xmm7,%xmm14
  947. pxor %xmm1,%xmm4
  948. movdqa 64-128(%rax),%xmm1
  949. movdqa %xmm12,%xmm8
  950. movdqa %xmm10,%xmm6
  951. pxor 160-128(%rax),%xmm4
  952. paddd %xmm15,%xmm11
  953. pslld $5,%xmm8
  954. pxor %xmm13,%xmm6
  955. movdqa %xmm12,%xmm9
  956. movdqa %xmm3,16-128(%rax)
  957. paddd %xmm3,%xmm11
  958. pxor %xmm1,%xmm4
  959. psrld $27,%xmm9
  960. pxor %xmm14,%xmm6
  961. movdqa %xmm13,%xmm7
  962. pslld $30,%xmm7
  963. movdqa %xmm4,%xmm5
  964. por %xmm9,%xmm8
  965. psrld $31,%xmm5
  966. paddd %xmm6,%xmm11
  967. paddd %xmm4,%xmm4
  968. psrld $2,%xmm13
  969. paddd %xmm8,%xmm11
  970. por %xmm5,%xmm4
  971. por %xmm7,%xmm13
  972. pxor %xmm2,%xmm0
  973. movdqa 80-128(%rax),%xmm2
  974. movdqa %xmm11,%xmm8
  975. movdqa %xmm14,%xmm6
  976. pxor 176-128(%rax),%xmm0
  977. paddd %xmm15,%xmm10
  978. pslld $5,%xmm8
  979. pxor %xmm12,%xmm6
  980. movdqa %xmm11,%xmm9
  981. movdqa %xmm4,32-128(%rax)
  982. paddd %xmm4,%xmm10
  983. pxor %xmm2,%xmm0
  984. psrld $27,%xmm9
  985. pxor %xmm13,%xmm6
  986. movdqa %xmm12,%xmm7
  987. pslld $30,%xmm7
  988. movdqa %xmm0,%xmm5
  989. por %xmm9,%xmm8
  990. psrld $31,%xmm5
  991. paddd %xmm6,%xmm10
  992. paddd %xmm0,%xmm0
  993. psrld $2,%xmm12
  994. paddd %xmm8,%xmm10
  995. por %xmm5,%xmm0
  996. por %xmm7,%xmm12
  997. pxor %xmm3,%xmm1
  998. movdqa 96-128(%rax),%xmm3
  999. movdqa %xmm10,%xmm8
  1000. movdqa %xmm13,%xmm6
  1001. pxor 192-128(%rax),%xmm1
  1002. paddd %xmm15,%xmm14
  1003. pslld $5,%xmm8
  1004. pxor %xmm11,%xmm6
  1005. movdqa %xmm10,%xmm9
  1006. movdqa %xmm0,48-128(%rax)
  1007. paddd %xmm0,%xmm14
  1008. pxor %xmm3,%xmm1
  1009. psrld $27,%xmm9
  1010. pxor %xmm12,%xmm6
  1011. movdqa %xmm11,%xmm7
  1012. pslld $30,%xmm7
  1013. movdqa %xmm1,%xmm5
  1014. por %xmm9,%xmm8
  1015. psrld $31,%xmm5
  1016. paddd %xmm6,%xmm14
  1017. paddd %xmm1,%xmm1
  1018. psrld $2,%xmm11
  1019. paddd %xmm8,%xmm14
  1020. por %xmm5,%xmm1
  1021. por %xmm7,%xmm11
  1022. pxor %xmm4,%xmm2
  1023. movdqa 112-128(%rax),%xmm4
  1024. movdqa %xmm14,%xmm8
  1025. movdqa %xmm12,%xmm6
  1026. pxor 208-128(%rax),%xmm2
  1027. paddd %xmm15,%xmm13
  1028. pslld $5,%xmm8
  1029. pxor %xmm10,%xmm6
  1030. movdqa %xmm14,%xmm9
  1031. movdqa %xmm1,64-128(%rax)
  1032. paddd %xmm1,%xmm13
  1033. pxor %xmm4,%xmm2
  1034. psrld $27,%xmm9
  1035. pxor %xmm11,%xmm6
  1036. movdqa %xmm10,%xmm7
  1037. pslld $30,%xmm7
  1038. movdqa %xmm2,%xmm5
  1039. por %xmm9,%xmm8
  1040. psrld $31,%xmm5
  1041. paddd %xmm6,%xmm13
  1042. paddd %xmm2,%xmm2
  1043. psrld $2,%xmm10
  1044. paddd %xmm8,%xmm13
  1045. por %xmm5,%xmm2
  1046. por %xmm7,%xmm10
  1047. pxor %xmm0,%xmm3
  1048. movdqa 128-128(%rax),%xmm0
  1049. movdqa %xmm13,%xmm8
  1050. movdqa %xmm11,%xmm6
  1051. pxor 224-128(%rax),%xmm3
  1052. paddd %xmm15,%xmm12
  1053. pslld $5,%xmm8
  1054. pxor %xmm14,%xmm6
  1055. movdqa %xmm13,%xmm9
  1056. movdqa %xmm2,80-128(%rax)
  1057. paddd %xmm2,%xmm12
  1058. pxor %xmm0,%xmm3
  1059. psrld $27,%xmm9
  1060. pxor %xmm10,%xmm6
  1061. movdqa %xmm14,%xmm7
  1062. pslld $30,%xmm7
  1063. movdqa %xmm3,%xmm5
  1064. por %xmm9,%xmm8
  1065. psrld $31,%xmm5
  1066. paddd %xmm6,%xmm12
  1067. paddd %xmm3,%xmm3
  1068. psrld $2,%xmm14
  1069. paddd %xmm8,%xmm12
  1070. por %xmm5,%xmm3
  1071. por %xmm7,%xmm14
  1072. pxor %xmm1,%xmm4
  1073. movdqa 144-128(%rax),%xmm1
  1074. movdqa %xmm12,%xmm8
  1075. movdqa %xmm10,%xmm6
  1076. pxor 240-128(%rax),%xmm4
  1077. paddd %xmm15,%xmm11
  1078. pslld $5,%xmm8
  1079. pxor %xmm13,%xmm6
  1080. movdqa %xmm12,%xmm9
  1081. movdqa %xmm3,96-128(%rax)
  1082. paddd %xmm3,%xmm11
  1083. pxor %xmm1,%xmm4
  1084. psrld $27,%xmm9
  1085. pxor %xmm14,%xmm6
  1086. movdqa %xmm13,%xmm7
  1087. pslld $30,%xmm7
  1088. movdqa %xmm4,%xmm5
  1089. por %xmm9,%xmm8
  1090. psrld $31,%xmm5
  1091. paddd %xmm6,%xmm11
  1092. paddd %xmm4,%xmm4
  1093. psrld $2,%xmm13
  1094. paddd %xmm8,%xmm11
  1095. por %xmm5,%xmm4
  1096. por %xmm7,%xmm13
  1097. pxor %xmm2,%xmm0
  1098. movdqa 160-128(%rax),%xmm2
  1099. movdqa %xmm11,%xmm8
  1100. movdqa %xmm14,%xmm6
  1101. pxor 0-128(%rax),%xmm0
  1102. paddd %xmm15,%xmm10
  1103. pslld $5,%xmm8
  1104. pxor %xmm12,%xmm6
  1105. movdqa %xmm11,%xmm9
  1106. movdqa %xmm4,112-128(%rax)
  1107. paddd %xmm4,%xmm10
  1108. pxor %xmm2,%xmm0
  1109. psrld $27,%xmm9
  1110. pxor %xmm13,%xmm6
  1111. movdqa %xmm12,%xmm7
  1112. pslld $30,%xmm7
  1113. movdqa %xmm0,%xmm5
  1114. por %xmm9,%xmm8
  1115. psrld $31,%xmm5
  1116. paddd %xmm6,%xmm10
  1117. paddd %xmm0,%xmm0
  1118. psrld $2,%xmm12
  1119. paddd %xmm8,%xmm10
  1120. por %xmm5,%xmm0
  1121. por %xmm7,%xmm12
  1122. movdqa 32(%rbp),%xmm15
  1123. pxor %xmm3,%xmm1
  1124. movdqa 176-128(%rax),%xmm3
  1125. movdqa %xmm10,%xmm8
  1126. movdqa %xmm13,%xmm7
  1127. pxor 16-128(%rax),%xmm1
  1128. pxor %xmm3,%xmm1
  1129. paddd %xmm15,%xmm14
  1130. pslld $5,%xmm8
  1131. movdqa %xmm10,%xmm9
  1132. pand %xmm12,%xmm7
  1133. movdqa %xmm13,%xmm6
  1134. movdqa %xmm1,%xmm5
  1135. psrld $27,%xmm9
  1136. paddd %xmm7,%xmm14
  1137. pxor %xmm12,%xmm6
  1138. movdqa %xmm0,128-128(%rax)
  1139. paddd %xmm0,%xmm14
  1140. por %xmm9,%xmm8
  1141. psrld $31,%xmm5
  1142. pand %xmm11,%xmm6
  1143. movdqa %xmm11,%xmm7
  1144. pslld $30,%xmm7
  1145. paddd %xmm1,%xmm1
  1146. paddd %xmm6,%xmm14
  1147. psrld $2,%xmm11
  1148. paddd %xmm8,%xmm14
  1149. por %xmm5,%xmm1
  1150. por %xmm7,%xmm11
  1151. pxor %xmm4,%xmm2
  1152. movdqa 192-128(%rax),%xmm4
  1153. movdqa %xmm14,%xmm8
  1154. movdqa %xmm12,%xmm7
  1155. pxor 32-128(%rax),%xmm2
  1156. pxor %xmm4,%xmm2
  1157. paddd %xmm15,%xmm13
  1158. pslld $5,%xmm8
  1159. movdqa %xmm14,%xmm9
  1160. pand %xmm11,%xmm7
  1161. movdqa %xmm12,%xmm6
  1162. movdqa %xmm2,%xmm5
  1163. psrld $27,%xmm9
  1164. paddd %xmm7,%xmm13
  1165. pxor %xmm11,%xmm6
  1166. movdqa %xmm1,144-128(%rax)
  1167. paddd %xmm1,%xmm13
  1168. por %xmm9,%xmm8
  1169. psrld $31,%xmm5
  1170. pand %xmm10,%xmm6
  1171. movdqa %xmm10,%xmm7
  1172. pslld $30,%xmm7
  1173. paddd %xmm2,%xmm2
  1174. paddd %xmm6,%xmm13
  1175. psrld $2,%xmm10
  1176. paddd %xmm8,%xmm13
  1177. por %xmm5,%xmm2
  1178. por %xmm7,%xmm10
  1179. pxor %xmm0,%xmm3
  1180. movdqa 208-128(%rax),%xmm0
  1181. movdqa %xmm13,%xmm8
  1182. movdqa %xmm11,%xmm7
  1183. pxor 48-128(%rax),%xmm3
  1184. pxor %xmm0,%xmm3
  1185. paddd %xmm15,%xmm12
  1186. pslld $5,%xmm8
  1187. movdqa %xmm13,%xmm9
  1188. pand %xmm10,%xmm7
  1189. movdqa %xmm11,%xmm6
  1190. movdqa %xmm3,%xmm5
  1191. psrld $27,%xmm9
  1192. paddd %xmm7,%xmm12
  1193. pxor %xmm10,%xmm6
  1194. movdqa %xmm2,160-128(%rax)
  1195. paddd %xmm2,%xmm12
  1196. por %xmm9,%xmm8
  1197. psrld $31,%xmm5
  1198. pand %xmm14,%xmm6
  1199. movdqa %xmm14,%xmm7
  1200. pslld $30,%xmm7
  1201. paddd %xmm3,%xmm3
  1202. paddd %xmm6,%xmm12
  1203. psrld $2,%xmm14
  1204. paddd %xmm8,%xmm12
  1205. por %xmm5,%xmm3
  1206. por %xmm7,%xmm14
  1207. pxor %xmm1,%xmm4
  1208. movdqa 224-128(%rax),%xmm1
  1209. movdqa %xmm12,%xmm8
  1210. movdqa %xmm10,%xmm7
  1211. pxor 64-128(%rax),%xmm4
  1212. pxor %xmm1,%xmm4
  1213. paddd %xmm15,%xmm11
  1214. pslld $5,%xmm8
  1215. movdqa %xmm12,%xmm9
  1216. pand %xmm14,%xmm7
  1217. movdqa %xmm10,%xmm6
  1218. movdqa %xmm4,%xmm5
  1219. psrld $27,%xmm9
  1220. paddd %xmm7,%xmm11
  1221. pxor %xmm14,%xmm6
  1222. movdqa %xmm3,176-128(%rax)
  1223. paddd %xmm3,%xmm11
  1224. por %xmm9,%xmm8
  1225. psrld $31,%xmm5
  1226. pand %xmm13,%xmm6
  1227. movdqa %xmm13,%xmm7
  1228. pslld $30,%xmm7
  1229. paddd %xmm4,%xmm4
  1230. paddd %xmm6,%xmm11
  1231. psrld $2,%xmm13
  1232. paddd %xmm8,%xmm11
  1233. por %xmm5,%xmm4
  1234. por %xmm7,%xmm13
  1235. pxor %xmm2,%xmm0
  1236. movdqa 240-128(%rax),%xmm2
  1237. movdqa %xmm11,%xmm8
  1238. movdqa %xmm14,%xmm7
  1239. pxor 80-128(%rax),%xmm0
  1240. pxor %xmm2,%xmm0
  1241. paddd %xmm15,%xmm10
  1242. pslld $5,%xmm8
  1243. movdqa %xmm11,%xmm9
  1244. pand %xmm13,%xmm7
  1245. movdqa %xmm14,%xmm6
  1246. movdqa %xmm0,%xmm5
  1247. psrld $27,%xmm9
  1248. paddd %xmm7,%xmm10
  1249. pxor %xmm13,%xmm6
  1250. movdqa %xmm4,192-128(%rax)
  1251. paddd %xmm4,%xmm10
  1252. por %xmm9,%xmm8
  1253. psrld $31,%xmm5
  1254. pand %xmm12,%xmm6
  1255. movdqa %xmm12,%xmm7
  1256. pslld $30,%xmm7
  1257. paddd %xmm0,%xmm0
  1258. paddd %xmm6,%xmm10
  1259. psrld $2,%xmm12
  1260. paddd %xmm8,%xmm10
  1261. por %xmm5,%xmm0
  1262. por %xmm7,%xmm12
  1263. pxor %xmm3,%xmm1
  1264. movdqa 0-128(%rax),%xmm3
  1265. movdqa %xmm10,%xmm8
  1266. movdqa %xmm13,%xmm7
  1267. pxor 96-128(%rax),%xmm1
  1268. pxor %xmm3,%xmm1
  1269. paddd %xmm15,%xmm14
  1270. pslld $5,%xmm8
  1271. movdqa %xmm10,%xmm9
  1272. pand %xmm12,%xmm7
  1273. movdqa %xmm13,%xmm6
  1274. movdqa %xmm1,%xmm5
  1275. psrld $27,%xmm9
  1276. paddd %xmm7,%xmm14
  1277. pxor %xmm12,%xmm6
  1278. movdqa %xmm0,208-128(%rax)
  1279. paddd %xmm0,%xmm14
  1280. por %xmm9,%xmm8
  1281. psrld $31,%xmm5
  1282. pand %xmm11,%xmm6
  1283. movdqa %xmm11,%xmm7
  1284. pslld $30,%xmm7
  1285. paddd %xmm1,%xmm1
  1286. paddd %xmm6,%xmm14
  1287. psrld $2,%xmm11
  1288. paddd %xmm8,%xmm14
  1289. por %xmm5,%xmm1
  1290. por %xmm7,%xmm11
  1291. pxor %xmm4,%xmm2
  1292. movdqa 16-128(%rax),%xmm4
  1293. movdqa %xmm14,%xmm8
  1294. movdqa %xmm12,%xmm7
  1295. pxor 112-128(%rax),%xmm2
  1296. pxor %xmm4,%xmm2
  1297. paddd %xmm15,%xmm13
  1298. pslld $5,%xmm8
  1299. movdqa %xmm14,%xmm9
  1300. pand %xmm11,%xmm7
  1301. movdqa %xmm12,%xmm6
  1302. movdqa %xmm2,%xmm5
  1303. psrld $27,%xmm9
  1304. paddd %xmm7,%xmm13
  1305. pxor %xmm11,%xmm6
  1306. movdqa %xmm1,224-128(%rax)
  1307. paddd %xmm1,%xmm13
  1308. por %xmm9,%xmm8
  1309. psrld $31,%xmm5
  1310. pand %xmm10,%xmm6
  1311. movdqa %xmm10,%xmm7
  1312. pslld $30,%xmm7
  1313. paddd %xmm2,%xmm2
  1314. paddd %xmm6,%xmm13
  1315. psrld $2,%xmm10
  1316. paddd %xmm8,%xmm13
  1317. por %xmm5,%xmm2
  1318. por %xmm7,%xmm10
  1319. pxor %xmm0,%xmm3
  1320. movdqa 32-128(%rax),%xmm0
  1321. movdqa %xmm13,%xmm8
  1322. movdqa %xmm11,%xmm7
  1323. pxor 128-128(%rax),%xmm3
  1324. pxor %xmm0,%xmm3
  1325. paddd %xmm15,%xmm12
  1326. pslld $5,%xmm8
  1327. movdqa %xmm13,%xmm9
  1328. pand %xmm10,%xmm7
  1329. movdqa %xmm11,%xmm6
  1330. movdqa %xmm3,%xmm5
  1331. psrld $27,%xmm9
  1332. paddd %xmm7,%xmm12
  1333. pxor %xmm10,%xmm6
  1334. movdqa %xmm2,240-128(%rax)
  1335. paddd %xmm2,%xmm12
  1336. por %xmm9,%xmm8
  1337. psrld $31,%xmm5
  1338. pand %xmm14,%xmm6
  1339. movdqa %xmm14,%xmm7
  1340. pslld $30,%xmm7
  1341. paddd %xmm3,%xmm3
  1342. paddd %xmm6,%xmm12
  1343. psrld $2,%xmm14
  1344. paddd %xmm8,%xmm12
  1345. por %xmm5,%xmm3
  1346. por %xmm7,%xmm14
  1347. pxor %xmm1,%xmm4
  1348. movdqa 48-128(%rax),%xmm1
  1349. movdqa %xmm12,%xmm8
  1350. movdqa %xmm10,%xmm7
  1351. pxor 144-128(%rax),%xmm4
  1352. pxor %xmm1,%xmm4
  1353. paddd %xmm15,%xmm11
  1354. pslld $5,%xmm8
  1355. movdqa %xmm12,%xmm9
  1356. pand %xmm14,%xmm7
  1357. movdqa %xmm10,%xmm6
  1358. movdqa %xmm4,%xmm5
  1359. psrld $27,%xmm9
  1360. paddd %xmm7,%xmm11
  1361. pxor %xmm14,%xmm6
  1362. movdqa %xmm3,0-128(%rax)
  1363. paddd %xmm3,%xmm11
  1364. por %xmm9,%xmm8
  1365. psrld $31,%xmm5
  1366. pand %xmm13,%xmm6
  1367. movdqa %xmm13,%xmm7
  1368. pslld $30,%xmm7
  1369. paddd %xmm4,%xmm4
  1370. paddd %xmm6,%xmm11
  1371. psrld $2,%xmm13
  1372. paddd %xmm8,%xmm11
  1373. por %xmm5,%xmm4
  1374. por %xmm7,%xmm13
  1375. pxor %xmm2,%xmm0
  1376. movdqa 64-128(%rax),%xmm2
  1377. movdqa %xmm11,%xmm8
  1378. movdqa %xmm14,%xmm7
  1379. pxor 160-128(%rax),%xmm0
  1380. pxor %xmm2,%xmm0
  1381. paddd %xmm15,%xmm10
  1382. pslld $5,%xmm8
  1383. movdqa %xmm11,%xmm9
  1384. pand %xmm13,%xmm7
  1385. movdqa %xmm14,%xmm6
  1386. movdqa %xmm0,%xmm5
  1387. psrld $27,%xmm9
  1388. paddd %xmm7,%xmm10
  1389. pxor %xmm13,%xmm6
  1390. movdqa %xmm4,16-128(%rax)
  1391. paddd %xmm4,%xmm10
  1392. por %xmm9,%xmm8
  1393. psrld $31,%xmm5
  1394. pand %xmm12,%xmm6
  1395. movdqa %xmm12,%xmm7
  1396. pslld $30,%xmm7
  1397. paddd %xmm0,%xmm0
  1398. paddd %xmm6,%xmm10
  1399. psrld $2,%xmm12
  1400. paddd %xmm8,%xmm10
  1401. por %xmm5,%xmm0
  1402. por %xmm7,%xmm12
  1403. pxor %xmm3,%xmm1
  1404. movdqa 80-128(%rax),%xmm3
  1405. movdqa %xmm10,%xmm8
  1406. movdqa %xmm13,%xmm7
  1407. pxor 176-128(%rax),%xmm1
  1408. pxor %xmm3,%xmm1
  1409. paddd %xmm15,%xmm14
  1410. pslld $5,%xmm8
  1411. movdqa %xmm10,%xmm9
  1412. pand %xmm12,%xmm7
  1413. movdqa %xmm13,%xmm6
  1414. movdqa %xmm1,%xmm5
  1415. psrld $27,%xmm9
  1416. paddd %xmm7,%xmm14
  1417. pxor %xmm12,%xmm6
  1418. movdqa %xmm0,32-128(%rax)
  1419. paddd %xmm0,%xmm14
  1420. por %xmm9,%xmm8
  1421. psrld $31,%xmm5
  1422. pand %xmm11,%xmm6
  1423. movdqa %xmm11,%xmm7
  1424. pslld $30,%xmm7
  1425. paddd %xmm1,%xmm1
  1426. paddd %xmm6,%xmm14
  1427. psrld $2,%xmm11
  1428. paddd %xmm8,%xmm14
  1429. por %xmm5,%xmm1
  1430. por %xmm7,%xmm11
  1431. pxor %xmm4,%xmm2
  1432. movdqa 96-128(%rax),%xmm4
  1433. movdqa %xmm14,%xmm8
  1434. movdqa %xmm12,%xmm7
  1435. pxor 192-128(%rax),%xmm2
  1436. pxor %xmm4,%xmm2
  1437. paddd %xmm15,%xmm13
  1438. pslld $5,%xmm8
  1439. movdqa %xmm14,%xmm9
  1440. pand %xmm11,%xmm7
  1441. movdqa %xmm12,%xmm6
  1442. movdqa %xmm2,%xmm5
  1443. psrld $27,%xmm9
  1444. paddd %xmm7,%xmm13
  1445. pxor %xmm11,%xmm6
  1446. movdqa %xmm1,48-128(%rax)
  1447. paddd %xmm1,%xmm13
  1448. por %xmm9,%xmm8
  1449. psrld $31,%xmm5
  1450. pand %xmm10,%xmm6
  1451. movdqa %xmm10,%xmm7
  1452. pslld $30,%xmm7
  1453. paddd %xmm2,%xmm2
  1454. paddd %xmm6,%xmm13
  1455. psrld $2,%xmm10
  1456. paddd %xmm8,%xmm13
  1457. por %xmm5,%xmm2
  1458. por %xmm7,%xmm10
  1459. pxor %xmm0,%xmm3
  1460. movdqa 112-128(%rax),%xmm0
  1461. movdqa %xmm13,%xmm8
  1462. movdqa %xmm11,%xmm7
  1463. pxor 208-128(%rax),%xmm3
  1464. pxor %xmm0,%xmm3
  1465. paddd %xmm15,%xmm12
  1466. pslld $5,%xmm8
  1467. movdqa %xmm13,%xmm9
  1468. pand %xmm10,%xmm7
  1469. movdqa %xmm11,%xmm6
  1470. movdqa %xmm3,%xmm5
  1471. psrld $27,%xmm9
  1472. paddd %xmm7,%xmm12
  1473. pxor %xmm10,%xmm6
  1474. movdqa %xmm2,64-128(%rax)
  1475. paddd %xmm2,%xmm12
  1476. por %xmm9,%xmm8
  1477. psrld $31,%xmm5
  1478. pand %xmm14,%xmm6
  1479. movdqa %xmm14,%xmm7
  1480. pslld $30,%xmm7
  1481. paddd %xmm3,%xmm3
  1482. paddd %xmm6,%xmm12
  1483. psrld $2,%xmm14
  1484. paddd %xmm8,%xmm12
  1485. por %xmm5,%xmm3
  1486. por %xmm7,%xmm14
  1487. pxor %xmm1,%xmm4
  1488. movdqa 128-128(%rax),%xmm1
  1489. movdqa %xmm12,%xmm8
  1490. movdqa %xmm10,%xmm7
  1491. pxor 224-128(%rax),%xmm4
  1492. pxor %xmm1,%xmm4
  1493. paddd %xmm15,%xmm11
  1494. pslld $5,%xmm8
  1495. movdqa %xmm12,%xmm9
  1496. pand %xmm14,%xmm7
  1497. movdqa %xmm10,%xmm6
  1498. movdqa %xmm4,%xmm5
  1499. psrld $27,%xmm9
  1500. paddd %xmm7,%xmm11
  1501. pxor %xmm14,%xmm6
  1502. movdqa %xmm3,80-128(%rax)
  1503. paddd %xmm3,%xmm11
  1504. por %xmm9,%xmm8
  1505. psrld $31,%xmm5
  1506. pand %xmm13,%xmm6
  1507. movdqa %xmm13,%xmm7
  1508. pslld $30,%xmm7
  1509. paddd %xmm4,%xmm4
  1510. paddd %xmm6,%xmm11
  1511. psrld $2,%xmm13
  1512. paddd %xmm8,%xmm11
  1513. por %xmm5,%xmm4
  1514. por %xmm7,%xmm13
  1515. pxor %xmm2,%xmm0
  1516. movdqa 144-128(%rax),%xmm2
  1517. movdqa %xmm11,%xmm8
  1518. movdqa %xmm14,%xmm7
  1519. pxor 240-128(%rax),%xmm0
  1520. pxor %xmm2,%xmm0
  1521. paddd %xmm15,%xmm10
  1522. pslld $5,%xmm8
  1523. movdqa %xmm11,%xmm9
  1524. pand %xmm13,%xmm7
  1525. movdqa %xmm14,%xmm6
  1526. movdqa %xmm0,%xmm5
  1527. psrld $27,%xmm9
  1528. paddd %xmm7,%xmm10
  1529. pxor %xmm13,%xmm6
  1530. movdqa %xmm4,96-128(%rax)
  1531. paddd %xmm4,%xmm10
  1532. por %xmm9,%xmm8
  1533. psrld $31,%xmm5
  1534. pand %xmm12,%xmm6
  1535. movdqa %xmm12,%xmm7
  1536. pslld $30,%xmm7
  1537. paddd %xmm0,%xmm0
  1538. paddd %xmm6,%xmm10
  1539. psrld $2,%xmm12
  1540. paddd %xmm8,%xmm10
  1541. por %xmm5,%xmm0
  1542. por %xmm7,%xmm12
  1543. pxor %xmm3,%xmm1
  1544. movdqa 160-128(%rax),%xmm3
  1545. movdqa %xmm10,%xmm8
  1546. movdqa %xmm13,%xmm7
  1547. pxor 0-128(%rax),%xmm1
  1548. pxor %xmm3,%xmm1
  1549. paddd %xmm15,%xmm14
  1550. pslld $5,%xmm8
  1551. movdqa %xmm10,%xmm9
  1552. pand %xmm12,%xmm7
  1553. movdqa %xmm13,%xmm6
  1554. movdqa %xmm1,%xmm5
  1555. psrld $27,%xmm9
  1556. paddd %xmm7,%xmm14
  1557. pxor %xmm12,%xmm6
  1558. movdqa %xmm0,112-128(%rax)
  1559. paddd %xmm0,%xmm14
  1560. por %xmm9,%xmm8
  1561. psrld $31,%xmm5
  1562. pand %xmm11,%xmm6
  1563. movdqa %xmm11,%xmm7
  1564. pslld $30,%xmm7
  1565. paddd %xmm1,%xmm1
  1566. paddd %xmm6,%xmm14
  1567. psrld $2,%xmm11
  1568. paddd %xmm8,%xmm14
  1569. por %xmm5,%xmm1
  1570. por %xmm7,%xmm11
  1571. pxor %xmm4,%xmm2
  1572. movdqa 176-128(%rax),%xmm4
  1573. movdqa %xmm14,%xmm8
  1574. movdqa %xmm12,%xmm7
  1575. pxor 16-128(%rax),%xmm2
  1576. pxor %xmm4,%xmm2
  1577. paddd %xmm15,%xmm13
  1578. pslld $5,%xmm8
  1579. movdqa %xmm14,%xmm9
  1580. pand %xmm11,%xmm7
  1581. movdqa %xmm12,%xmm6
  1582. movdqa %xmm2,%xmm5
  1583. psrld $27,%xmm9
  1584. paddd %xmm7,%xmm13
  1585. pxor %xmm11,%xmm6
  1586. movdqa %xmm1,128-128(%rax)
  1587. paddd %xmm1,%xmm13
  1588. por %xmm9,%xmm8
  1589. psrld $31,%xmm5
  1590. pand %xmm10,%xmm6
  1591. movdqa %xmm10,%xmm7
  1592. pslld $30,%xmm7
  1593. paddd %xmm2,%xmm2
  1594. paddd %xmm6,%xmm13
  1595. psrld $2,%xmm10
  1596. paddd %xmm8,%xmm13
  1597. por %xmm5,%xmm2
  1598. por %xmm7,%xmm10
  1599. pxor %xmm0,%xmm3
  1600. movdqa 192-128(%rax),%xmm0
  1601. movdqa %xmm13,%xmm8
  1602. movdqa %xmm11,%xmm7
  1603. pxor 32-128(%rax),%xmm3
  1604. pxor %xmm0,%xmm3
  1605. paddd %xmm15,%xmm12
  1606. pslld $5,%xmm8
  1607. movdqa %xmm13,%xmm9
  1608. pand %xmm10,%xmm7
  1609. movdqa %xmm11,%xmm6
  1610. movdqa %xmm3,%xmm5
  1611. psrld $27,%xmm9
  1612. paddd %xmm7,%xmm12
  1613. pxor %xmm10,%xmm6
  1614. movdqa %xmm2,144-128(%rax)
  1615. paddd %xmm2,%xmm12
  1616. por %xmm9,%xmm8
  1617. psrld $31,%xmm5
  1618. pand %xmm14,%xmm6
  1619. movdqa %xmm14,%xmm7
  1620. pslld $30,%xmm7
  1621. paddd %xmm3,%xmm3
  1622. paddd %xmm6,%xmm12
  1623. psrld $2,%xmm14
  1624. paddd %xmm8,%xmm12
  1625. por %xmm5,%xmm3
  1626. por %xmm7,%xmm14
  1627. pxor %xmm1,%xmm4
  1628. movdqa 208-128(%rax),%xmm1
  1629. movdqa %xmm12,%xmm8
  1630. movdqa %xmm10,%xmm7
  1631. pxor 48-128(%rax),%xmm4
  1632. pxor %xmm1,%xmm4
  1633. paddd %xmm15,%xmm11
  1634. pslld $5,%xmm8
  1635. movdqa %xmm12,%xmm9
  1636. pand %xmm14,%xmm7
  1637. movdqa %xmm10,%xmm6
  1638. movdqa %xmm4,%xmm5
  1639. psrld $27,%xmm9
  1640. paddd %xmm7,%xmm11
  1641. pxor %xmm14,%xmm6
  1642. movdqa %xmm3,160-128(%rax)
  1643. paddd %xmm3,%xmm11
  1644. por %xmm9,%xmm8
  1645. psrld $31,%xmm5
  1646. pand %xmm13,%xmm6
  1647. movdqa %xmm13,%xmm7
  1648. pslld $30,%xmm7
  1649. paddd %xmm4,%xmm4
  1650. paddd %xmm6,%xmm11
  1651. psrld $2,%xmm13
  1652. paddd %xmm8,%xmm11
  1653. por %xmm5,%xmm4
  1654. por %xmm7,%xmm13
  1655. pxor %xmm2,%xmm0
  1656. movdqa 224-128(%rax),%xmm2
  1657. movdqa %xmm11,%xmm8
  1658. movdqa %xmm14,%xmm7
  1659. pxor 64-128(%rax),%xmm0
  1660. pxor %xmm2,%xmm0
  1661. paddd %xmm15,%xmm10
  1662. pslld $5,%xmm8
  1663. movdqa %xmm11,%xmm9
  1664. pand %xmm13,%xmm7
  1665. movdqa %xmm14,%xmm6
  1666. movdqa %xmm0,%xmm5
  1667. psrld $27,%xmm9
  1668. paddd %xmm7,%xmm10
  1669. pxor %xmm13,%xmm6
  1670. movdqa %xmm4,176-128(%rax)
  1671. paddd %xmm4,%xmm10
  1672. por %xmm9,%xmm8
  1673. psrld $31,%xmm5
  1674. pand %xmm12,%xmm6
  1675. movdqa %xmm12,%xmm7
  1676. pslld $30,%xmm7
  1677. paddd %xmm0,%xmm0
  1678. paddd %xmm6,%xmm10
  1679. psrld $2,%xmm12
  1680. paddd %xmm8,%xmm10
  1681. por %xmm5,%xmm0
  1682. por %xmm7,%xmm12
  1683. movdqa 64(%rbp),%xmm15
  1684. pxor %xmm3,%xmm1
  1685. movdqa 240-128(%rax),%xmm3
  1686. movdqa %xmm10,%xmm8
  1687. movdqa %xmm13,%xmm6
  1688. pxor 80-128(%rax),%xmm1
  1689. paddd %xmm15,%xmm14
  1690. pslld $5,%xmm8
  1691. pxor %xmm11,%xmm6
  1692. movdqa %xmm10,%xmm9
  1693. movdqa %xmm0,192-128(%rax)
  1694. paddd %xmm0,%xmm14
  1695. pxor %xmm3,%xmm1
  1696. psrld $27,%xmm9
  1697. pxor %xmm12,%xmm6
  1698. movdqa %xmm11,%xmm7
  1699. pslld $30,%xmm7
  1700. movdqa %xmm1,%xmm5
  1701. por %xmm9,%xmm8
  1702. psrld $31,%xmm5
  1703. paddd %xmm6,%xmm14
  1704. paddd %xmm1,%xmm1
  1705. psrld $2,%xmm11
  1706. paddd %xmm8,%xmm14
  1707. por %xmm5,%xmm1
  1708. por %xmm7,%xmm11
  1709. pxor %xmm4,%xmm2
  1710. movdqa 0-128(%rax),%xmm4
  1711. movdqa %xmm14,%xmm8
  1712. movdqa %xmm12,%xmm6
  1713. pxor 96-128(%rax),%xmm2
  1714. paddd %xmm15,%xmm13
  1715. pslld $5,%xmm8
  1716. pxor %xmm10,%xmm6
  1717. movdqa %xmm14,%xmm9
  1718. movdqa %xmm1,208-128(%rax)
  1719. paddd %xmm1,%xmm13
  1720. pxor %xmm4,%xmm2
  1721. psrld $27,%xmm9
  1722. pxor %xmm11,%xmm6
  1723. movdqa %xmm10,%xmm7
  1724. pslld $30,%xmm7
  1725. movdqa %xmm2,%xmm5
  1726. por %xmm9,%xmm8
  1727. psrld $31,%xmm5
  1728. paddd %xmm6,%xmm13
  1729. paddd %xmm2,%xmm2
  1730. psrld $2,%xmm10
  1731. paddd %xmm8,%xmm13
  1732. por %xmm5,%xmm2
  1733. por %xmm7,%xmm10
  1734. pxor %xmm0,%xmm3
  1735. movdqa 16-128(%rax),%xmm0
  1736. movdqa %xmm13,%xmm8
  1737. movdqa %xmm11,%xmm6
  1738. pxor 112-128(%rax),%xmm3
  1739. paddd %xmm15,%xmm12
  1740. pslld $5,%xmm8
  1741. pxor %xmm14,%xmm6
  1742. movdqa %xmm13,%xmm9
  1743. movdqa %xmm2,224-128(%rax)
  1744. paddd %xmm2,%xmm12
  1745. pxor %xmm0,%xmm3
  1746. psrld $27,%xmm9
  1747. pxor %xmm10,%xmm6
  1748. movdqa %xmm14,%xmm7
  1749. pslld $30,%xmm7
  1750. movdqa %xmm3,%xmm5
  1751. por %xmm9,%xmm8
  1752. psrld $31,%xmm5
  1753. paddd %xmm6,%xmm12
  1754. paddd %xmm3,%xmm3
  1755. psrld $2,%xmm14
  1756. paddd %xmm8,%xmm12
  1757. por %xmm5,%xmm3
  1758. por %xmm7,%xmm14
  1759. pxor %xmm1,%xmm4
  1760. movdqa 32-128(%rax),%xmm1
  1761. movdqa %xmm12,%xmm8
  1762. movdqa %xmm10,%xmm6
  1763. pxor 128-128(%rax),%xmm4
  1764. paddd %xmm15,%xmm11
  1765. pslld $5,%xmm8
  1766. pxor %xmm13,%xmm6
  1767. movdqa %xmm12,%xmm9
  1768. movdqa %xmm3,240-128(%rax)
  1769. paddd %xmm3,%xmm11
  1770. pxor %xmm1,%xmm4
  1771. psrld $27,%xmm9
  1772. pxor %xmm14,%xmm6
  1773. movdqa %xmm13,%xmm7
  1774. pslld $30,%xmm7
  1775. movdqa %xmm4,%xmm5
  1776. por %xmm9,%xmm8
  1777. psrld $31,%xmm5
  1778. paddd %xmm6,%xmm11
  1779. paddd %xmm4,%xmm4
  1780. psrld $2,%xmm13
  1781. paddd %xmm8,%xmm11
  1782. por %xmm5,%xmm4
  1783. por %xmm7,%xmm13
  1784. pxor %xmm2,%xmm0
  1785. movdqa 48-128(%rax),%xmm2
  1786. movdqa %xmm11,%xmm8
  1787. movdqa %xmm14,%xmm6
  1788. pxor 144-128(%rax),%xmm0
  1789. paddd %xmm15,%xmm10
  1790. pslld $5,%xmm8
  1791. pxor %xmm12,%xmm6
  1792. movdqa %xmm11,%xmm9
  1793. movdqa %xmm4,0-128(%rax)
  1794. paddd %xmm4,%xmm10
  1795. pxor %xmm2,%xmm0
  1796. psrld $27,%xmm9
  1797. pxor %xmm13,%xmm6
  1798. movdqa %xmm12,%xmm7
  1799. pslld $30,%xmm7
  1800. movdqa %xmm0,%xmm5
  1801. por %xmm9,%xmm8
  1802. psrld $31,%xmm5
  1803. paddd %xmm6,%xmm10
  1804. paddd %xmm0,%xmm0
  1805. psrld $2,%xmm12
  1806. paddd %xmm8,%xmm10
  1807. por %xmm5,%xmm0
  1808. por %xmm7,%xmm12
  1809. pxor %xmm3,%xmm1
  1810. movdqa 64-128(%rax),%xmm3
  1811. movdqa %xmm10,%xmm8
  1812. movdqa %xmm13,%xmm6
  1813. pxor 160-128(%rax),%xmm1
  1814. paddd %xmm15,%xmm14
  1815. pslld $5,%xmm8
  1816. pxor %xmm11,%xmm6
  1817. movdqa %xmm10,%xmm9
  1818. movdqa %xmm0,16-128(%rax)
  1819. paddd %xmm0,%xmm14
  1820. pxor %xmm3,%xmm1
  1821. psrld $27,%xmm9
  1822. pxor %xmm12,%xmm6
  1823. movdqa %xmm11,%xmm7
  1824. pslld $30,%xmm7
  1825. movdqa %xmm1,%xmm5
  1826. por %xmm9,%xmm8
  1827. psrld $31,%xmm5
  1828. paddd %xmm6,%xmm14
  1829. paddd %xmm1,%xmm1
  1830. psrld $2,%xmm11
  1831. paddd %xmm8,%xmm14
  1832. por %xmm5,%xmm1
  1833. por %xmm7,%xmm11
  1834. pxor %xmm4,%xmm2
  1835. movdqa 80-128(%rax),%xmm4
  1836. movdqa %xmm14,%xmm8
  1837. movdqa %xmm12,%xmm6
  1838. pxor 176-128(%rax),%xmm2
  1839. paddd %xmm15,%xmm13
  1840. pslld $5,%xmm8
  1841. pxor %xmm10,%xmm6
  1842. movdqa %xmm14,%xmm9
  1843. movdqa %xmm1,32-128(%rax)
  1844. paddd %xmm1,%xmm13
  1845. pxor %xmm4,%xmm2
  1846. psrld $27,%xmm9
  1847. pxor %xmm11,%xmm6
  1848. movdqa %xmm10,%xmm7
  1849. pslld $30,%xmm7
  1850. movdqa %xmm2,%xmm5
  1851. por %xmm9,%xmm8
  1852. psrld $31,%xmm5
  1853. paddd %xmm6,%xmm13
  1854. paddd %xmm2,%xmm2
  1855. psrld $2,%xmm10
  1856. paddd %xmm8,%xmm13
  1857. por %xmm5,%xmm2
  1858. por %xmm7,%xmm10
  1859. pxor %xmm0,%xmm3
  1860. movdqa 96-128(%rax),%xmm0
  1861. movdqa %xmm13,%xmm8
  1862. movdqa %xmm11,%xmm6
  1863. pxor 192-128(%rax),%xmm3
  1864. paddd %xmm15,%xmm12
  1865. pslld $5,%xmm8
  1866. pxor %xmm14,%xmm6
  1867. movdqa %xmm13,%xmm9
  1868. movdqa %xmm2,48-128(%rax)
  1869. paddd %xmm2,%xmm12
  1870. pxor %xmm0,%xmm3
  1871. psrld $27,%xmm9
  1872. pxor %xmm10,%xmm6
  1873. movdqa %xmm14,%xmm7
  1874. pslld $30,%xmm7
  1875. movdqa %xmm3,%xmm5
  1876. por %xmm9,%xmm8
  1877. psrld $31,%xmm5
  1878. paddd %xmm6,%xmm12
  1879. paddd %xmm3,%xmm3
  1880. psrld $2,%xmm14
  1881. paddd %xmm8,%xmm12
  1882. por %xmm5,%xmm3
  1883. por %xmm7,%xmm14
  1884. pxor %xmm1,%xmm4
  1885. movdqa 112-128(%rax),%xmm1
  1886. movdqa %xmm12,%xmm8
  1887. movdqa %xmm10,%xmm6
  1888. pxor 208-128(%rax),%xmm4
  1889. paddd %xmm15,%xmm11
  1890. pslld $5,%xmm8
  1891. pxor %xmm13,%xmm6
  1892. movdqa %xmm12,%xmm9
  1893. movdqa %xmm3,64-128(%rax)
  1894. paddd %xmm3,%xmm11
  1895. pxor %xmm1,%xmm4
  1896. psrld $27,%xmm9
  1897. pxor %xmm14,%xmm6
  1898. movdqa %xmm13,%xmm7
  1899. pslld $30,%xmm7
  1900. movdqa %xmm4,%xmm5
  1901. por %xmm9,%xmm8
  1902. psrld $31,%xmm5
  1903. paddd %xmm6,%xmm11
  1904. paddd %xmm4,%xmm4
  1905. psrld $2,%xmm13
  1906. paddd %xmm8,%xmm11
  1907. por %xmm5,%xmm4
  1908. por %xmm7,%xmm13
  1909. pxor %xmm2,%xmm0
  1910. movdqa 128-128(%rax),%xmm2
  1911. movdqa %xmm11,%xmm8
  1912. movdqa %xmm14,%xmm6
  1913. pxor 224-128(%rax),%xmm0
  1914. paddd %xmm15,%xmm10
  1915. pslld $5,%xmm8
  1916. pxor %xmm12,%xmm6
  1917. movdqa %xmm11,%xmm9
  1918. movdqa %xmm4,80-128(%rax)
  1919. paddd %xmm4,%xmm10
  1920. pxor %xmm2,%xmm0
  1921. psrld $27,%xmm9
  1922. pxor %xmm13,%xmm6
  1923. movdqa %xmm12,%xmm7
  1924. pslld $30,%xmm7
  1925. movdqa %xmm0,%xmm5
  1926. por %xmm9,%xmm8
  1927. psrld $31,%xmm5
  1928. paddd %xmm6,%xmm10
  1929. paddd %xmm0,%xmm0
  1930. psrld $2,%xmm12
  1931. paddd %xmm8,%xmm10
  1932. por %xmm5,%xmm0
  1933. por %xmm7,%xmm12
  1934. pxor %xmm3,%xmm1
  1935. movdqa 144-128(%rax),%xmm3
  1936. movdqa %xmm10,%xmm8
  1937. movdqa %xmm13,%xmm6
  1938. pxor 240-128(%rax),%xmm1
  1939. paddd %xmm15,%xmm14
  1940. pslld $5,%xmm8
  1941. pxor %xmm11,%xmm6
  1942. movdqa %xmm10,%xmm9
  1943. movdqa %xmm0,96-128(%rax)
  1944. paddd %xmm0,%xmm14
  1945. pxor %xmm3,%xmm1
  1946. psrld $27,%xmm9
  1947. pxor %xmm12,%xmm6
  1948. movdqa %xmm11,%xmm7
  1949. pslld $30,%xmm7
  1950. movdqa %xmm1,%xmm5
  1951. por %xmm9,%xmm8
  1952. psrld $31,%xmm5
  1953. paddd %xmm6,%xmm14
  1954. paddd %xmm1,%xmm1
  1955. psrld $2,%xmm11
  1956. paddd %xmm8,%xmm14
  1957. por %xmm5,%xmm1
  1958. por %xmm7,%xmm11
  1959. pxor %xmm4,%xmm2
  1960. movdqa 160-128(%rax),%xmm4
  1961. movdqa %xmm14,%xmm8
  1962. movdqa %xmm12,%xmm6
  1963. pxor 0-128(%rax),%xmm2
  1964. paddd %xmm15,%xmm13
  1965. pslld $5,%xmm8
  1966. pxor %xmm10,%xmm6
  1967. movdqa %xmm14,%xmm9
  1968. movdqa %xmm1,112-128(%rax)
  1969. paddd %xmm1,%xmm13
  1970. pxor %xmm4,%xmm2
  1971. psrld $27,%xmm9
  1972. pxor %xmm11,%xmm6
  1973. movdqa %xmm10,%xmm7
  1974. pslld $30,%xmm7
  1975. movdqa %xmm2,%xmm5
  1976. por %xmm9,%xmm8
  1977. psrld $31,%xmm5
  1978. paddd %xmm6,%xmm13
  1979. paddd %xmm2,%xmm2
  1980. psrld $2,%xmm10
  1981. paddd %xmm8,%xmm13
  1982. por %xmm5,%xmm2
  1983. por %xmm7,%xmm10
  1984. pxor %xmm0,%xmm3
  1985. movdqa 176-128(%rax),%xmm0
  1986. movdqa %xmm13,%xmm8
  1987. movdqa %xmm11,%xmm6
  1988. pxor 16-128(%rax),%xmm3
  1989. paddd %xmm15,%xmm12
  1990. pslld $5,%xmm8
  1991. pxor %xmm14,%xmm6
  1992. movdqa %xmm13,%xmm9
  1993. paddd %xmm2,%xmm12
  1994. pxor %xmm0,%xmm3
  1995. psrld $27,%xmm9
  1996. pxor %xmm10,%xmm6
  1997. movdqa %xmm14,%xmm7
  1998. pslld $30,%xmm7
  1999. movdqa %xmm3,%xmm5
  2000. por %xmm9,%xmm8
  2001. psrld $31,%xmm5
  2002. paddd %xmm6,%xmm12
  2003. paddd %xmm3,%xmm3
  2004. psrld $2,%xmm14
  2005. paddd %xmm8,%xmm12
  2006. por %xmm5,%xmm3
  2007. por %xmm7,%xmm14
  2008. pxor %xmm1,%xmm4
  2009. movdqa 192-128(%rax),%xmm1
  2010. movdqa %xmm12,%xmm8
  2011. movdqa %xmm10,%xmm6
  2012. pxor 32-128(%rax),%xmm4
  2013. paddd %xmm15,%xmm11
  2014. pslld $5,%xmm8
  2015. pxor %xmm13,%xmm6
  2016. movdqa %xmm12,%xmm9
  2017. paddd %xmm3,%xmm11
  2018. pxor %xmm1,%xmm4
  2019. psrld $27,%xmm9
  2020. pxor %xmm14,%xmm6
  2021. movdqa %xmm13,%xmm7
  2022. pslld $30,%xmm7
  2023. movdqa %xmm4,%xmm5
  2024. por %xmm9,%xmm8
  2025. psrld $31,%xmm5
  2026. paddd %xmm6,%xmm11
  2027. paddd %xmm4,%xmm4
  2028. psrld $2,%xmm13
  2029. paddd %xmm8,%xmm11
  2030. por %xmm5,%xmm4
  2031. por %xmm7,%xmm13
  2032. pxor %xmm2,%xmm0
  2033. movdqa 208-128(%rax),%xmm2
  2034. movdqa %xmm11,%xmm8
  2035. movdqa %xmm14,%xmm6
  2036. pxor 48-128(%rax),%xmm0
  2037. paddd %xmm15,%xmm10
  2038. pslld $5,%xmm8
  2039. pxor %xmm12,%xmm6
  2040. movdqa %xmm11,%xmm9
  2041. paddd %xmm4,%xmm10
  2042. pxor %xmm2,%xmm0
  2043. psrld $27,%xmm9
  2044. pxor %xmm13,%xmm6
  2045. movdqa %xmm12,%xmm7
  2046. pslld $30,%xmm7
  2047. movdqa %xmm0,%xmm5
  2048. por %xmm9,%xmm8
  2049. psrld $31,%xmm5
  2050. paddd %xmm6,%xmm10
  2051. paddd %xmm0,%xmm0
  2052. psrld $2,%xmm12
  2053. paddd %xmm8,%xmm10
  2054. por %xmm5,%xmm0
  2055. por %xmm7,%xmm12
  2056. pxor %xmm3,%xmm1
  2057. movdqa 224-128(%rax),%xmm3
  2058. movdqa %xmm10,%xmm8
  2059. movdqa %xmm13,%xmm6
  2060. pxor 64-128(%rax),%xmm1
  2061. paddd %xmm15,%xmm14
  2062. pslld $5,%xmm8
  2063. pxor %xmm11,%xmm6
  2064. movdqa %xmm10,%xmm9
  2065. paddd %xmm0,%xmm14
  2066. pxor %xmm3,%xmm1
  2067. psrld $27,%xmm9
  2068. pxor %xmm12,%xmm6
  2069. movdqa %xmm11,%xmm7
  2070. pslld $30,%xmm7
  2071. movdqa %xmm1,%xmm5
  2072. por %xmm9,%xmm8
  2073. psrld $31,%xmm5
  2074. paddd %xmm6,%xmm14
  2075. paddd %xmm1,%xmm1
  2076. psrld $2,%xmm11
  2077. paddd %xmm8,%xmm14
  2078. por %xmm5,%xmm1
  2079. por %xmm7,%xmm11
  2080. pxor %xmm4,%xmm2
  2081. movdqa 240-128(%rax),%xmm4
  2082. movdqa %xmm14,%xmm8
  2083. movdqa %xmm12,%xmm6
  2084. pxor 80-128(%rax),%xmm2
  2085. paddd %xmm15,%xmm13
  2086. pslld $5,%xmm8
  2087. pxor %xmm10,%xmm6
  2088. movdqa %xmm14,%xmm9
  2089. paddd %xmm1,%xmm13
  2090. pxor %xmm4,%xmm2
  2091. psrld $27,%xmm9
  2092. pxor %xmm11,%xmm6
  2093. movdqa %xmm10,%xmm7
  2094. pslld $30,%xmm7
  2095. movdqa %xmm2,%xmm5
  2096. por %xmm9,%xmm8
  2097. psrld $31,%xmm5
  2098. paddd %xmm6,%xmm13
  2099. paddd %xmm2,%xmm2
  2100. psrld $2,%xmm10
  2101. paddd %xmm8,%xmm13
  2102. por %xmm5,%xmm2
  2103. por %xmm7,%xmm10
  2104. pxor %xmm0,%xmm3
  2105. movdqa 0-128(%rax),%xmm0
  2106. movdqa %xmm13,%xmm8
  2107. movdqa %xmm11,%xmm6
  2108. pxor 96-128(%rax),%xmm3
  2109. paddd %xmm15,%xmm12
  2110. pslld $5,%xmm8
  2111. pxor %xmm14,%xmm6
  2112. movdqa %xmm13,%xmm9
  2113. paddd %xmm2,%xmm12
  2114. pxor %xmm0,%xmm3
  2115. psrld $27,%xmm9
  2116. pxor %xmm10,%xmm6
  2117. movdqa %xmm14,%xmm7
  2118. pslld $30,%xmm7
  2119. movdqa %xmm3,%xmm5
  2120. por %xmm9,%xmm8
  2121. psrld $31,%xmm5
  2122. paddd %xmm6,%xmm12
  2123. paddd %xmm3,%xmm3
  2124. psrld $2,%xmm14
  2125. paddd %xmm8,%xmm12
  2126. por %xmm5,%xmm3
  2127. por %xmm7,%xmm14
  2128. pxor %xmm1,%xmm4
  2129. movdqa 16-128(%rax),%xmm1
  2130. movdqa %xmm12,%xmm8
  2131. movdqa %xmm10,%xmm6
  2132. pxor 112-128(%rax),%xmm4
  2133. paddd %xmm15,%xmm11
  2134. pslld $5,%xmm8
  2135. pxor %xmm13,%xmm6
  2136. movdqa %xmm12,%xmm9
  2137. paddd %xmm3,%xmm11
  2138. pxor %xmm1,%xmm4
  2139. psrld $27,%xmm9
  2140. pxor %xmm14,%xmm6
  2141. movdqa %xmm13,%xmm7
  2142. pslld $30,%xmm7
  2143. movdqa %xmm4,%xmm5
  2144. por %xmm9,%xmm8
  2145. psrld $31,%xmm5
  2146. paddd %xmm6,%xmm11
  2147. paddd %xmm4,%xmm4
  2148. psrld $2,%xmm13
  2149. paddd %xmm8,%xmm11
  2150. por %xmm5,%xmm4
  2151. por %xmm7,%xmm13
  2152. movdqa %xmm11,%xmm8
  2153. paddd %xmm15,%xmm10
  2154. movdqa %xmm14,%xmm6
  2155. pslld $5,%xmm8
  2156. pxor %xmm12,%xmm6
  2157. movdqa %xmm11,%xmm9
  2158. paddd %xmm4,%xmm10
  2159. psrld $27,%xmm9
  2160. movdqa %xmm12,%xmm7
  2161. pxor %xmm13,%xmm6
  2162. pslld $30,%xmm7
  2163. por %xmm9,%xmm8
  2164. paddd %xmm6,%xmm10
  2165. psrld $2,%xmm12
  2166. paddd %xmm8,%xmm10
  2167. por %xmm7,%xmm12
  2168. movdqa (%rbx),%xmm0
  2169. movl $1,%ecx
  2170. cmpl 0(%rbx),%ecx
  2171. pxor %xmm8,%xmm8
  2172. cmovgeq %rbp,%r8
  2173. cmpl 4(%rbx),%ecx
  2174. movdqa %xmm0,%xmm1
  2175. cmovgeq %rbp,%r9
  2176. cmpl 8(%rbx),%ecx
  2177. pcmpgtd %xmm8,%xmm1
  2178. cmovgeq %rbp,%r10
  2179. cmpl 12(%rbx),%ecx
  2180. paddd %xmm1,%xmm0
  2181. cmovgeq %rbp,%r11
  2182. movdqu 0(%rdi),%xmm6
  2183. pand %xmm1,%xmm10
  2184. movdqu 32(%rdi),%xmm7
  2185. pand %xmm1,%xmm11
  2186. paddd %xmm6,%xmm10
  2187. movdqu 64(%rdi),%xmm8
  2188. pand %xmm1,%xmm12
  2189. paddd %xmm7,%xmm11
  2190. movdqu 96(%rdi),%xmm9
  2191. pand %xmm1,%xmm13
  2192. paddd %xmm8,%xmm12
  2193. movdqu 128(%rdi),%xmm5
  2194. pand %xmm1,%xmm14
  2195. movdqu %xmm10,0(%rdi)
  2196. paddd %xmm9,%xmm13
  2197. movdqu %xmm11,32(%rdi)
  2198. paddd %xmm5,%xmm14
  2199. movdqu %xmm12,64(%rdi)
  2200. movdqu %xmm13,96(%rdi)
  2201. movdqu %xmm14,128(%rdi)
  2202. movdqa %xmm0,(%rbx)
  2203. movdqa 96(%rbp),%xmm5
  2204. movdqa -32(%rbp),%xmm15
  2205. decl %edx
  2206. jnz L$oop
  2207. movl 280(%rsp),%edx
  2208. leaq 16(%rdi),%rdi
  2209. leaq 64(%rsi),%rsi
  2210. decl %edx
  2211. jnz L$oop_grande
  2212. L$done:
  2213. movq 272(%rsp),%rax
  2214. movq -16(%rax),%rbp
  2215. movq -8(%rax),%rbx
  2216. leaq (%rax),%rsp
  2217. L$epilogue:
  2218. .byte 0xf3,0xc3
  2219. .p2align 5
  2220. sha1_multi_block_shaext:
  2221. _shaext_shortcut:
  2222. movq %rsp,%rax
  2223. pushq %rbx
  2224. pushq %rbp
  2225. subq $288,%rsp
  2226. shll $1,%edx
  2227. andq $-256,%rsp
  2228. leaq 64(%rdi),%rdi
  2229. movq %rax,272(%rsp)
  2230. L$body_shaext:
  2231. leaq 256(%rsp),%rbx
  2232. movdqa K_XX_XX+128(%rip),%xmm3
  2233. L$oop_grande_shaext:
  2234. movl %edx,280(%rsp)
  2235. xorl %edx,%edx
  2236. movq 0(%rsi),%r8
  2237. movl 8(%rsi),%ecx
  2238. cmpl %edx,%ecx
  2239. cmovgl %ecx,%edx
  2240. testl %ecx,%ecx
  2241. movl %ecx,0(%rbx)
  2242. cmovleq %rsp,%r8
  2243. movq 16(%rsi),%r9
  2244. movl 24(%rsi),%ecx
  2245. cmpl %edx,%ecx
  2246. cmovgl %ecx,%edx
  2247. testl %ecx,%ecx
  2248. movl %ecx,4(%rbx)
  2249. cmovleq %rsp,%r9
  2250. testl %edx,%edx
  2251. jz L$done_shaext
  2252. movq 0-64(%rdi),%xmm0
  2253. movq 32-64(%rdi),%xmm4
  2254. movq 64-64(%rdi),%xmm5
  2255. movq 96-64(%rdi),%xmm6
  2256. movq 128-64(%rdi),%xmm7
  2257. punpckldq %xmm4,%xmm0
  2258. punpckldq %xmm6,%xmm5
  2259. movdqa %xmm0,%xmm8
  2260. punpcklqdq %xmm5,%xmm0
  2261. punpckhqdq %xmm5,%xmm8
  2262. pshufd $63,%xmm7,%xmm1
  2263. pshufd $127,%xmm7,%xmm9
  2264. pshufd $27,%xmm0,%xmm0
  2265. pshufd $27,%xmm8,%xmm8
  2266. jmp L$oop_shaext
  2267. .p2align 5
  2268. L$oop_shaext:
  2269. movdqu 0(%r8),%xmm4
  2270. movdqu 0(%r9),%xmm11
  2271. movdqu 16(%r8),%xmm5
  2272. movdqu 16(%r9),%xmm12
  2273. movdqu 32(%r8),%xmm6
  2274. .byte 102,15,56,0,227
  2275. movdqu 32(%r9),%xmm13
  2276. .byte 102,68,15,56,0,219
  2277. movdqu 48(%r8),%xmm7
  2278. leaq 64(%r8),%r8
  2279. .byte 102,15,56,0,235
  2280. movdqu 48(%r9),%xmm14
  2281. leaq 64(%r9),%r9
  2282. .byte 102,68,15,56,0,227
  2283. movdqa %xmm1,80(%rsp)
  2284. paddd %xmm4,%xmm1
  2285. movdqa %xmm9,112(%rsp)
  2286. paddd %xmm11,%xmm9
  2287. movdqa %xmm0,64(%rsp)
  2288. movdqa %xmm0,%xmm2
  2289. movdqa %xmm8,96(%rsp)
  2290. movdqa %xmm8,%xmm10
  2291. .byte 15,58,204,193,0
  2292. .byte 15,56,200,213
  2293. .byte 69,15,58,204,193,0
  2294. .byte 69,15,56,200,212
  2295. .byte 102,15,56,0,243
  2296. prefetcht0 127(%r8)
  2297. .byte 15,56,201,229
  2298. .byte 102,68,15,56,0,235
  2299. prefetcht0 127(%r9)
  2300. .byte 69,15,56,201,220
  2301. .byte 102,15,56,0,251
  2302. movdqa %xmm0,%xmm1
  2303. .byte 102,68,15,56,0,243
  2304. movdqa %xmm8,%xmm9
  2305. .byte 15,58,204,194,0
  2306. .byte 15,56,200,206
  2307. .byte 69,15,58,204,194,0
  2308. .byte 69,15,56,200,205
  2309. pxor %xmm6,%xmm4
  2310. .byte 15,56,201,238
  2311. pxor %xmm13,%xmm11
  2312. .byte 69,15,56,201,229
  2313. movdqa %xmm0,%xmm2
  2314. movdqa %xmm8,%xmm10
  2315. .byte 15,58,204,193,0
  2316. .byte 15,56,200,215
  2317. .byte 69,15,58,204,193,0
  2318. .byte 69,15,56,200,214
  2319. .byte 15,56,202,231
  2320. .byte 69,15,56,202,222
  2321. pxor %xmm7,%xmm5
  2322. .byte 15,56,201,247
  2323. pxor %xmm14,%xmm12
  2324. .byte 69,15,56,201,238
  2325. movdqa %xmm0,%xmm1
  2326. movdqa %xmm8,%xmm9
  2327. .byte 15,58,204,194,0
  2328. .byte 15,56,200,204
  2329. .byte 69,15,58,204,194,0
  2330. .byte 69,15,56,200,203
  2331. .byte 15,56,202,236
  2332. .byte 69,15,56,202,227
  2333. pxor %xmm4,%xmm6
  2334. .byte 15,56,201,252
  2335. pxor %xmm11,%xmm13
  2336. .byte 69,15,56,201,243
  2337. movdqa %xmm0,%xmm2
  2338. movdqa %xmm8,%xmm10
  2339. .byte 15,58,204,193,0
  2340. .byte 15,56,200,213
  2341. .byte 69,15,58,204,193,0
  2342. .byte 69,15,56,200,212
  2343. .byte 15,56,202,245
  2344. .byte 69,15,56,202,236
  2345. pxor %xmm5,%xmm7
  2346. .byte 15,56,201,229
  2347. pxor %xmm12,%xmm14
  2348. .byte 69,15,56,201,220
  2349. movdqa %xmm0,%xmm1
  2350. movdqa %xmm8,%xmm9
  2351. .byte 15,58,204,194,1
  2352. .byte 15,56,200,206
  2353. .byte 69,15,58,204,194,1
  2354. .byte 69,15,56,200,205
  2355. .byte 15,56,202,254
  2356. .byte 69,15,56,202,245
  2357. pxor %xmm6,%xmm4
  2358. .byte 15,56,201,238
  2359. pxor %xmm13,%xmm11
  2360. .byte 69,15,56,201,229
  2361. movdqa %xmm0,%xmm2
  2362. movdqa %xmm8,%xmm10
  2363. .byte 15,58,204,193,1
  2364. .byte 15,56,200,215
  2365. .byte 69,15,58,204,193,1
  2366. .byte 69,15,56,200,214
  2367. .byte 15,56,202,231
  2368. .byte 69,15,56,202,222
  2369. pxor %xmm7,%xmm5
  2370. .byte 15,56,201,247
  2371. pxor %xmm14,%xmm12
  2372. .byte 69,15,56,201,238
  2373. movdqa %xmm0,%xmm1
  2374. movdqa %xmm8,%xmm9
  2375. .byte 15,58,204,194,1
  2376. .byte 15,56,200,204
  2377. .byte 69,15,58,204,194,1
  2378. .byte 69,15,56,200,203
  2379. .byte 15,56,202,236
  2380. .byte 69,15,56,202,227
  2381. pxor %xmm4,%xmm6
  2382. .byte 15,56,201,252
  2383. pxor %xmm11,%xmm13
  2384. .byte 69,15,56,201,243
  2385. movdqa %xmm0,%xmm2
  2386. movdqa %xmm8,%xmm10
  2387. .byte 15,58,204,193,1
  2388. .byte 15,56,200,213
  2389. .byte 69,15,58,204,193,1
  2390. .byte 69,15,56,200,212
  2391. .byte 15,56,202,245
  2392. .byte 69,15,56,202,236
  2393. pxor %xmm5,%xmm7
  2394. .byte 15,56,201,229
  2395. pxor %xmm12,%xmm14
  2396. .byte 69,15,56,201,220
  2397. movdqa %xmm0,%xmm1
  2398. movdqa %xmm8,%xmm9
  2399. .byte 15,58,204,194,1
  2400. .byte 15,56,200,206
  2401. .byte 69,15,58,204,194,1
  2402. .byte 69,15,56,200,205
  2403. .byte 15,56,202,254
  2404. .byte 69,15,56,202,245
  2405. pxor %xmm6,%xmm4
  2406. .byte 15,56,201,238
  2407. pxor %xmm13,%xmm11
  2408. .byte 69,15,56,201,229
  2409. movdqa %xmm0,%xmm2
  2410. movdqa %xmm8,%xmm10
  2411. .byte 15,58,204,193,2
  2412. .byte 15,56,200,215
  2413. .byte 69,15,58,204,193,2
  2414. .byte 69,15,56,200,214
  2415. .byte 15,56,202,231
  2416. .byte 69,15,56,202,222
  2417. pxor %xmm7,%xmm5
  2418. .byte 15,56,201,247
  2419. pxor %xmm14,%xmm12
  2420. .byte 69,15,56,201,238
  2421. movdqa %xmm0,%xmm1
  2422. movdqa %xmm8,%xmm9
  2423. .byte 15,58,204,194,2
  2424. .byte 15,56,200,204
  2425. .byte 69,15,58,204,194,2
  2426. .byte 69,15,56,200,203
  2427. .byte 15,56,202,236
  2428. .byte 69,15,56,202,227
  2429. pxor %xmm4,%xmm6
  2430. .byte 15,56,201,252
  2431. pxor %xmm11,%xmm13
  2432. .byte 69,15,56,201,243
  2433. movdqa %xmm0,%xmm2
  2434. movdqa %xmm8,%xmm10
  2435. .byte 15,58,204,193,2
  2436. .byte 15,56,200,213
  2437. .byte 69,15,58,204,193,2
  2438. .byte 69,15,56,200,212
  2439. .byte 15,56,202,245
  2440. .byte 69,15,56,202,236
  2441. pxor %xmm5,%xmm7
  2442. .byte 15,56,201,229
  2443. pxor %xmm12,%xmm14
  2444. .byte 69,15,56,201,220
  2445. movdqa %xmm0,%xmm1
  2446. movdqa %xmm8,%xmm9
  2447. .byte 15,58,204,194,2
  2448. .byte 15,56,200,206
  2449. .byte 69,15,58,204,194,2
  2450. .byte 69,15,56,200,205
  2451. .byte 15,56,202,254
  2452. .byte 69,15,56,202,245
  2453. pxor %xmm6,%xmm4
  2454. .byte 15,56,201,238
  2455. pxor %xmm13,%xmm11
  2456. .byte 69,15,56,201,229
  2457. movdqa %xmm0,%xmm2
  2458. movdqa %xmm8,%xmm10
  2459. .byte 15,58,204,193,2
  2460. .byte 15,56,200,215
  2461. .byte 69,15,58,204,193,2
  2462. .byte 69,15,56,200,214
  2463. .byte 15,56,202,231
  2464. .byte 69,15,56,202,222
  2465. pxor %xmm7,%xmm5
  2466. .byte 15,56,201,247
  2467. pxor %xmm14,%xmm12
  2468. .byte 69,15,56,201,238
  2469. movdqa %xmm0,%xmm1
  2470. movdqa %xmm8,%xmm9
  2471. .byte 15,58,204,194,3
  2472. .byte 15,56,200,204
  2473. .byte 69,15,58,204,194,3
  2474. .byte 69,15,56,200,203
  2475. .byte 15,56,202,236
  2476. .byte 69,15,56,202,227
  2477. pxor %xmm4,%xmm6
  2478. .byte 15,56,201,252
  2479. pxor %xmm11,%xmm13
  2480. .byte 69,15,56,201,243
  2481. movdqa %xmm0,%xmm2
  2482. movdqa %xmm8,%xmm10
  2483. .byte 15,58,204,193,3
  2484. .byte 15,56,200,213
  2485. .byte 69,15,58,204,193,3
  2486. .byte 69,15,56,200,212
  2487. .byte 15,56,202,245
  2488. .byte 69,15,56,202,236
  2489. pxor %xmm5,%xmm7
  2490. pxor %xmm12,%xmm14
  2491. movl $1,%ecx
  2492. pxor %xmm4,%xmm4
  2493. cmpl 0(%rbx),%ecx
  2494. cmovgeq %rsp,%r8
  2495. movdqa %xmm0,%xmm1
  2496. movdqa %xmm8,%xmm9
  2497. .byte 15,58,204,194,3
  2498. .byte 15,56,200,206
  2499. .byte 69,15,58,204,194,3
  2500. .byte 69,15,56,200,205
  2501. .byte 15,56,202,254
  2502. .byte 69,15,56,202,245
  2503. cmpl 4(%rbx),%ecx
  2504. cmovgeq %rsp,%r9
  2505. movq (%rbx),%xmm6
  2506. movdqa %xmm0,%xmm2
  2507. movdqa %xmm8,%xmm10
  2508. .byte 15,58,204,193,3
  2509. .byte 15,56,200,215
  2510. .byte 69,15,58,204,193,3
  2511. .byte 69,15,56,200,214
  2512. pshufd $0x00,%xmm6,%xmm11
  2513. pshufd $0x55,%xmm6,%xmm12
  2514. movdqa %xmm6,%xmm7
  2515. pcmpgtd %xmm4,%xmm11
  2516. pcmpgtd %xmm4,%xmm12
  2517. movdqa %xmm0,%xmm1
  2518. movdqa %xmm8,%xmm9
  2519. .byte 15,58,204,194,3
  2520. .byte 15,56,200,204
  2521. .byte 69,15,58,204,194,3
  2522. .byte 68,15,56,200,204
  2523. pcmpgtd %xmm4,%xmm7
  2524. pand %xmm11,%xmm0
  2525. pand %xmm11,%xmm1
  2526. pand %xmm12,%xmm8
  2527. pand %xmm12,%xmm9
  2528. paddd %xmm7,%xmm6
  2529. paddd 64(%rsp),%xmm0
  2530. paddd 80(%rsp),%xmm1
  2531. paddd 96(%rsp),%xmm8
  2532. paddd 112(%rsp),%xmm9
  2533. movq %xmm6,(%rbx)
  2534. decl %edx
  2535. jnz L$oop_shaext
  2536. movl 280(%rsp),%edx
  2537. pshufd $27,%xmm0,%xmm0
  2538. pshufd $27,%xmm8,%xmm8
  2539. movdqa %xmm0,%xmm6
  2540. punpckldq %xmm8,%xmm0
  2541. punpckhdq %xmm8,%xmm6
  2542. punpckhdq %xmm9,%xmm1
  2543. movq %xmm0,0-64(%rdi)
  2544. psrldq $8,%xmm0
  2545. movq %xmm6,64-64(%rdi)
  2546. psrldq $8,%xmm6
  2547. movq %xmm0,32-64(%rdi)
  2548. psrldq $8,%xmm1
  2549. movq %xmm6,96-64(%rdi)
  2550. movq %xmm1,128-64(%rdi)
  2551. leaq 8(%rdi),%rdi
  2552. leaq 32(%rsi),%rsi
  2553. decl %edx
  2554. jnz L$oop_grande_shaext
  2555. L$done_shaext:
  2556. movq -16(%rax),%rbp
  2557. movq -8(%rax),%rbx
  2558. leaq (%rax),%rsp
  2559. L$epilogue_shaext:
  2560. .byte 0xf3,0xc3
  2561. .p2align 5
  2562. sha1_multi_block_avx:
  2563. _avx_shortcut:
  2564. shrq $32,%rcx
  2565. cmpl $2,%edx
  2566. jb L$avx
  2567. testl $32,%ecx
  2568. jnz _avx2_shortcut
  2569. jmp L$avx
  2570. .p2align 5
  2571. L$avx:
  2572. movq %rsp,%rax
  2573. pushq %rbx
  2574. pushq %rbp
  2575. subq $288,%rsp
  2576. andq $-256,%rsp
  2577. movq %rax,272(%rsp)
  2578. L$body_avx:
  2579. leaq K_XX_XX(%rip),%rbp
  2580. leaq 256(%rsp),%rbx
  2581. vzeroupper
  2582. L$oop_grande_avx:
  2583. movl %edx,280(%rsp)
  2584. xorl %edx,%edx
  2585. movq 0(%rsi),%r8
  2586. movl 8(%rsi),%ecx
  2587. cmpl %edx,%ecx
  2588. cmovgl %ecx,%edx
  2589. testl %ecx,%ecx
  2590. movl %ecx,0(%rbx)
  2591. cmovleq %rbp,%r8
  2592. movq 16(%rsi),%r9
  2593. movl 24(%rsi),%ecx
  2594. cmpl %edx,%ecx
  2595. cmovgl %ecx,%edx
  2596. testl %ecx,%ecx
  2597. movl %ecx,4(%rbx)
  2598. cmovleq %rbp,%r9
  2599. movq 32(%rsi),%r10
  2600. movl 40(%rsi),%ecx
  2601. cmpl %edx,%ecx
  2602. cmovgl %ecx,%edx
  2603. testl %ecx,%ecx
  2604. movl %ecx,8(%rbx)
  2605. cmovleq %rbp,%r10
  2606. movq 48(%rsi),%r11
  2607. movl 56(%rsi),%ecx
  2608. cmpl %edx,%ecx
  2609. cmovgl %ecx,%edx
  2610. testl %ecx,%ecx
  2611. movl %ecx,12(%rbx)
  2612. cmovleq %rbp,%r11
  2613. testl %edx,%edx
  2614. jz L$done_avx
  2615. vmovdqu 0(%rdi),%xmm10
  2616. leaq 128(%rsp),%rax
  2617. vmovdqu 32(%rdi),%xmm11
  2618. vmovdqu 64(%rdi),%xmm12
  2619. vmovdqu 96(%rdi),%xmm13
  2620. vmovdqu 128(%rdi),%xmm14
  2621. vmovdqu 96(%rbp),%xmm5
  2622. jmp L$oop_avx
  2623. .p2align 5
  2624. L$oop_avx:
  2625. vmovdqa -32(%rbp),%xmm15
  2626. vmovd (%r8),%xmm0
  2627. leaq 64(%r8),%r8
  2628. vmovd (%r9),%xmm2
  2629. leaq 64(%r9),%r9
  2630. vpinsrd $1,(%r10),%xmm0,%xmm0
  2631. leaq 64(%r10),%r10
  2632. vpinsrd $1,(%r11),%xmm2,%xmm2
  2633. leaq 64(%r11),%r11
  2634. vmovd -60(%r8),%xmm1
  2635. vpunpckldq %xmm2,%xmm0,%xmm0
  2636. vmovd -60(%r9),%xmm9
  2637. vpshufb %xmm5,%xmm0,%xmm0
  2638. vpinsrd $1,-60(%r10),%xmm1,%xmm1
  2639. vpinsrd $1,-60(%r11),%xmm9,%xmm9
  2640. vpaddd %xmm15,%xmm14,%xmm14
  2641. vpslld $5,%xmm10,%xmm8
  2642. vpandn %xmm13,%xmm11,%xmm7
  2643. vpand %xmm12,%xmm11,%xmm6
  2644. vmovdqa %xmm0,0-128(%rax)
  2645. vpaddd %xmm0,%xmm14,%xmm14
  2646. vpunpckldq %xmm9,%xmm1,%xmm1
  2647. vpsrld $27,%xmm10,%xmm9
  2648. vpxor %xmm7,%xmm6,%xmm6
  2649. vmovd -56(%r8),%xmm2
  2650. vpslld $30,%xmm11,%xmm7
  2651. vpor %xmm9,%xmm8,%xmm8
  2652. vmovd -56(%r9),%xmm9
  2653. vpaddd %xmm6,%xmm14,%xmm14
  2654. vpsrld $2,%xmm11,%xmm11
  2655. vpaddd %xmm8,%xmm14,%xmm14
  2656. vpshufb %xmm5,%xmm1,%xmm1
  2657. vpor %xmm7,%xmm11,%xmm11
  2658. vpinsrd $1,-56(%r10),%xmm2,%xmm2
  2659. vpinsrd $1,-56(%r11),%xmm9,%xmm9
  2660. vpaddd %xmm15,%xmm13,%xmm13
  2661. vpslld $5,%xmm14,%xmm8
  2662. vpandn %xmm12,%xmm10,%xmm7
  2663. vpand %xmm11,%xmm10,%xmm6
  2664. vmovdqa %xmm1,16-128(%rax)
  2665. vpaddd %xmm1,%xmm13,%xmm13
  2666. vpunpckldq %xmm9,%xmm2,%xmm2
  2667. vpsrld $27,%xmm14,%xmm9
  2668. vpxor %xmm7,%xmm6,%xmm6
  2669. vmovd -52(%r8),%xmm3
  2670. vpslld $30,%xmm10,%xmm7
  2671. vpor %xmm9,%xmm8,%xmm8
  2672. vmovd -52(%r9),%xmm9
  2673. vpaddd %xmm6,%xmm13,%xmm13
  2674. vpsrld $2,%xmm10,%xmm10
  2675. vpaddd %xmm8,%xmm13,%xmm13
  2676. vpshufb %xmm5,%xmm2,%xmm2
  2677. vpor %xmm7,%xmm10,%xmm10
  2678. vpinsrd $1,-52(%r10),%xmm3,%xmm3
  2679. vpinsrd $1,-52(%r11),%xmm9,%xmm9
  2680. vpaddd %xmm15,%xmm12,%xmm12
  2681. vpslld $5,%xmm13,%xmm8
  2682. vpandn %xmm11,%xmm14,%xmm7
  2683. vpand %xmm10,%xmm14,%xmm6
  2684. vmovdqa %xmm2,32-128(%rax)
  2685. vpaddd %xmm2,%xmm12,%xmm12
  2686. vpunpckldq %xmm9,%xmm3,%xmm3
  2687. vpsrld $27,%xmm13,%xmm9
  2688. vpxor %xmm7,%xmm6,%xmm6
  2689. vmovd -48(%r8),%xmm4
  2690. vpslld $30,%xmm14,%xmm7
  2691. vpor %xmm9,%xmm8,%xmm8
  2692. vmovd -48(%r9),%xmm9
  2693. vpaddd %xmm6,%xmm12,%xmm12
  2694. vpsrld $2,%xmm14,%xmm14
  2695. vpaddd %xmm8,%xmm12,%xmm12
  2696. vpshufb %xmm5,%xmm3,%xmm3
  2697. vpor %xmm7,%xmm14,%xmm14
  2698. vpinsrd $1,-48(%r10),%xmm4,%xmm4
  2699. vpinsrd $1,-48(%r11),%xmm9,%xmm9
  2700. vpaddd %xmm15,%xmm11,%xmm11
  2701. vpslld $5,%xmm12,%xmm8
  2702. vpandn %xmm10,%xmm13,%xmm7
  2703. vpand %xmm14,%xmm13,%xmm6
  2704. vmovdqa %xmm3,48-128(%rax)
  2705. vpaddd %xmm3,%xmm11,%xmm11
  2706. vpunpckldq %xmm9,%xmm4,%xmm4
  2707. vpsrld $27,%xmm12,%xmm9
  2708. vpxor %xmm7,%xmm6,%xmm6
  2709. vmovd -44(%r8),%xmm0
  2710. vpslld $30,%xmm13,%xmm7
  2711. vpor %xmm9,%xmm8,%xmm8
  2712. vmovd -44(%r9),%xmm9
  2713. vpaddd %xmm6,%xmm11,%xmm11
  2714. vpsrld $2,%xmm13,%xmm13
  2715. vpaddd %xmm8,%xmm11,%xmm11
  2716. vpshufb %xmm5,%xmm4,%xmm4
  2717. vpor %xmm7,%xmm13,%xmm13
  2718. vpinsrd $1,-44(%r10),%xmm0,%xmm0
  2719. vpinsrd $1,-44(%r11),%xmm9,%xmm9
  2720. vpaddd %xmm15,%xmm10,%xmm10
  2721. vpslld $5,%xmm11,%xmm8
  2722. vpandn %xmm14,%xmm12,%xmm7
  2723. vpand %xmm13,%xmm12,%xmm6
  2724. vmovdqa %xmm4,64-128(%rax)
  2725. vpaddd %xmm4,%xmm10,%xmm10
  2726. vpunpckldq %xmm9,%xmm0,%xmm0
  2727. vpsrld $27,%xmm11,%xmm9
  2728. vpxor %xmm7,%xmm6,%xmm6
  2729. vmovd -40(%r8),%xmm1
  2730. vpslld $30,%xmm12,%xmm7
  2731. vpor %xmm9,%xmm8,%xmm8
  2732. vmovd -40(%r9),%xmm9
  2733. vpaddd %xmm6,%xmm10,%xmm10
  2734. vpsrld $2,%xmm12,%xmm12
  2735. vpaddd %xmm8,%xmm10,%xmm10
  2736. vpshufb %xmm5,%xmm0,%xmm0
  2737. vpor %xmm7,%xmm12,%xmm12
  2738. vpinsrd $1,-40(%r10),%xmm1,%xmm1
  2739. vpinsrd $1,-40(%r11),%xmm9,%xmm9
  2740. vpaddd %xmm15,%xmm14,%xmm14
  2741. vpslld $5,%xmm10,%xmm8
  2742. vpandn %xmm13,%xmm11,%xmm7
  2743. vpand %xmm12,%xmm11,%xmm6
  2744. vmovdqa %xmm0,80-128(%rax)
  2745. vpaddd %xmm0,%xmm14,%xmm14
  2746. vpunpckldq %xmm9,%xmm1,%xmm1
  2747. vpsrld $27,%xmm10,%xmm9
  2748. vpxor %xmm7,%xmm6,%xmm6
  2749. vmovd -36(%r8),%xmm2
  2750. vpslld $30,%xmm11,%xmm7
  2751. vpor %xmm9,%xmm8,%xmm8
  2752. vmovd -36(%r9),%xmm9
  2753. vpaddd %xmm6,%xmm14,%xmm14
  2754. vpsrld $2,%xmm11,%xmm11
  2755. vpaddd %xmm8,%xmm14,%xmm14
  2756. vpshufb %xmm5,%xmm1,%xmm1
  2757. vpor %xmm7,%xmm11,%xmm11
  2758. vpinsrd $1,-36(%r10),%xmm2,%xmm2
  2759. vpinsrd $1,-36(%r11),%xmm9,%xmm9
  2760. vpaddd %xmm15,%xmm13,%xmm13
  2761. vpslld $5,%xmm14,%xmm8
  2762. vpandn %xmm12,%xmm10,%xmm7
  2763. vpand %xmm11,%xmm10,%xmm6
  2764. vmovdqa %xmm1,96-128(%rax)
  2765. vpaddd %xmm1,%xmm13,%xmm13
  2766. vpunpckldq %xmm9,%xmm2,%xmm2
  2767. vpsrld $27,%xmm14,%xmm9
  2768. vpxor %xmm7,%xmm6,%xmm6
  2769. vmovd -32(%r8),%xmm3
  2770. vpslld $30,%xmm10,%xmm7
  2771. vpor %xmm9,%xmm8,%xmm8
  2772. vmovd -32(%r9),%xmm9
  2773. vpaddd %xmm6,%xmm13,%xmm13
  2774. vpsrld $2,%xmm10,%xmm10
  2775. vpaddd %xmm8,%xmm13,%xmm13
  2776. vpshufb %xmm5,%xmm2,%xmm2
  2777. vpor %xmm7,%xmm10,%xmm10
  2778. vpinsrd $1,-32(%r10),%xmm3,%xmm3
  2779. vpinsrd $1,-32(%r11),%xmm9,%xmm9
  2780. vpaddd %xmm15,%xmm12,%xmm12
  2781. vpslld $5,%xmm13,%xmm8
  2782. vpandn %xmm11,%xmm14,%xmm7
  2783. vpand %xmm10,%xmm14,%xmm6
  2784. vmovdqa %xmm2,112-128(%rax)
  2785. vpaddd %xmm2,%xmm12,%xmm12
  2786. vpunpckldq %xmm9,%xmm3,%xmm3
  2787. vpsrld $27,%xmm13,%xmm9
  2788. vpxor %xmm7,%xmm6,%xmm6
  2789. vmovd -28(%r8),%xmm4
  2790. vpslld $30,%xmm14,%xmm7
  2791. vpor %xmm9,%xmm8,%xmm8
  2792. vmovd -28(%r9),%xmm9
  2793. vpaddd %xmm6,%xmm12,%xmm12
  2794. vpsrld $2,%xmm14,%xmm14
  2795. vpaddd %xmm8,%xmm12,%xmm12
  2796. vpshufb %xmm5,%xmm3,%xmm3
  2797. vpor %xmm7,%xmm14,%xmm14
  2798. vpinsrd $1,-28(%r10),%xmm4,%xmm4
  2799. vpinsrd $1,-28(%r11),%xmm9,%xmm9
  2800. vpaddd %xmm15,%xmm11,%xmm11
  2801. vpslld $5,%xmm12,%xmm8
  2802. vpandn %xmm10,%xmm13,%xmm7
  2803. vpand %xmm14,%xmm13,%xmm6
  2804. vmovdqa %xmm3,128-128(%rax)
  2805. vpaddd %xmm3,%xmm11,%xmm11
  2806. vpunpckldq %xmm9,%xmm4,%xmm4
  2807. vpsrld $27,%xmm12,%xmm9
  2808. vpxor %xmm7,%xmm6,%xmm6
  2809. vmovd -24(%r8),%xmm0
  2810. vpslld $30,%xmm13,%xmm7
  2811. vpor %xmm9,%xmm8,%xmm8
  2812. vmovd -24(%r9),%xmm9
  2813. vpaddd %xmm6,%xmm11,%xmm11
  2814. vpsrld $2,%xmm13,%xmm13
  2815. vpaddd %xmm8,%xmm11,%xmm11
  2816. vpshufb %xmm5,%xmm4,%xmm4
  2817. vpor %xmm7,%xmm13,%xmm13
  2818. vpinsrd $1,-24(%r10),%xmm0,%xmm0
  2819. vpinsrd $1,-24(%r11),%xmm9,%xmm9
  2820. vpaddd %xmm15,%xmm10,%xmm10
  2821. vpslld $5,%xmm11,%xmm8
  2822. vpandn %xmm14,%xmm12,%xmm7
  2823. vpand %xmm13,%xmm12,%xmm6
  2824. vmovdqa %xmm4,144-128(%rax)
  2825. vpaddd %xmm4,%xmm10,%xmm10
  2826. vpunpckldq %xmm9,%xmm0,%xmm0
  2827. vpsrld $27,%xmm11,%xmm9
  2828. vpxor %xmm7,%xmm6,%xmm6
  2829. vmovd -20(%r8),%xmm1
  2830. vpslld $30,%xmm12,%xmm7
  2831. vpor %xmm9,%xmm8,%xmm8
  2832. vmovd -20(%r9),%xmm9
  2833. vpaddd %xmm6,%xmm10,%xmm10
  2834. vpsrld $2,%xmm12,%xmm12
  2835. vpaddd %xmm8,%xmm10,%xmm10
  2836. vpshufb %xmm5,%xmm0,%xmm0
  2837. vpor %xmm7,%xmm12,%xmm12
  2838. vpinsrd $1,-20(%r10),%xmm1,%xmm1
  2839. vpinsrd $1,-20(%r11),%xmm9,%xmm9
  2840. vpaddd %xmm15,%xmm14,%xmm14
  2841. vpslld $5,%xmm10,%xmm8
  2842. vpandn %xmm13,%xmm11,%xmm7
  2843. vpand %xmm12,%xmm11,%xmm6
  2844. vmovdqa %xmm0,160-128(%rax)
  2845. vpaddd %xmm0,%xmm14,%xmm14
  2846. vpunpckldq %xmm9,%xmm1,%xmm1
  2847. vpsrld $27,%xmm10,%xmm9
  2848. vpxor %xmm7,%xmm6,%xmm6
  2849. vmovd -16(%r8),%xmm2
  2850. vpslld $30,%xmm11,%xmm7
  2851. vpor %xmm9,%xmm8,%xmm8
  2852. vmovd -16(%r9),%xmm9
  2853. vpaddd %xmm6,%xmm14,%xmm14
  2854. vpsrld $2,%xmm11,%xmm11
  2855. vpaddd %xmm8,%xmm14,%xmm14
  2856. vpshufb %xmm5,%xmm1,%xmm1
  2857. vpor %xmm7,%xmm11,%xmm11
  2858. vpinsrd $1,-16(%r10),%xmm2,%xmm2
  2859. vpinsrd $1,-16(%r11),%xmm9,%xmm9
  2860. vpaddd %xmm15,%xmm13,%xmm13
  2861. vpslld $5,%xmm14,%xmm8
  2862. vpandn %xmm12,%xmm10,%xmm7
  2863. vpand %xmm11,%xmm10,%xmm6
  2864. vmovdqa %xmm1,176-128(%rax)
  2865. vpaddd %xmm1,%xmm13,%xmm13
  2866. vpunpckldq %xmm9,%xmm2,%xmm2
  2867. vpsrld $27,%xmm14,%xmm9
  2868. vpxor %xmm7,%xmm6,%xmm6
  2869. vmovd -12(%r8),%xmm3
  2870. vpslld $30,%xmm10,%xmm7
  2871. vpor %xmm9,%xmm8,%xmm8
  2872. vmovd -12(%r9),%xmm9
  2873. vpaddd %xmm6,%xmm13,%xmm13
  2874. vpsrld $2,%xmm10,%xmm10
  2875. vpaddd %xmm8,%xmm13,%xmm13
  2876. vpshufb %xmm5,%xmm2,%xmm2
  2877. vpor %xmm7,%xmm10,%xmm10
  2878. vpinsrd $1,-12(%r10),%xmm3,%xmm3
  2879. vpinsrd $1,-12(%r11),%xmm9,%xmm9
  2880. vpaddd %xmm15,%xmm12,%xmm12
  2881. vpslld $5,%xmm13,%xmm8
  2882. vpandn %xmm11,%xmm14,%xmm7
  2883. vpand %xmm10,%xmm14,%xmm6
  2884. vmovdqa %xmm2,192-128(%rax)
  2885. vpaddd %xmm2,%xmm12,%xmm12
  2886. vpunpckldq %xmm9,%xmm3,%xmm3
  2887. vpsrld $27,%xmm13,%xmm9
  2888. vpxor %xmm7,%xmm6,%xmm6
  2889. vmovd -8(%r8),%xmm4
  2890. vpslld $30,%xmm14,%xmm7
  2891. vpor %xmm9,%xmm8,%xmm8
  2892. vmovd -8(%r9),%xmm9
  2893. vpaddd %xmm6,%xmm12,%xmm12
  2894. vpsrld $2,%xmm14,%xmm14
  2895. vpaddd %xmm8,%xmm12,%xmm12
  2896. vpshufb %xmm5,%xmm3,%xmm3
  2897. vpor %xmm7,%xmm14,%xmm14
  2898. vpinsrd $1,-8(%r10),%xmm4,%xmm4
  2899. vpinsrd $1,-8(%r11),%xmm9,%xmm9
  2900. vpaddd %xmm15,%xmm11,%xmm11
  2901. vpslld $5,%xmm12,%xmm8
  2902. vpandn %xmm10,%xmm13,%xmm7
  2903. vpand %xmm14,%xmm13,%xmm6
  2904. vmovdqa %xmm3,208-128(%rax)
  2905. vpaddd %xmm3,%xmm11,%xmm11
  2906. vpunpckldq %xmm9,%xmm4,%xmm4
  2907. vpsrld $27,%xmm12,%xmm9
  2908. vpxor %xmm7,%xmm6,%xmm6
  2909. vmovd -4(%r8),%xmm0
  2910. vpslld $30,%xmm13,%xmm7
  2911. vpor %xmm9,%xmm8,%xmm8
  2912. vmovd -4(%r9),%xmm9
  2913. vpaddd %xmm6,%xmm11,%xmm11
  2914. vpsrld $2,%xmm13,%xmm13
  2915. vpaddd %xmm8,%xmm11,%xmm11
  2916. vpshufb %xmm5,%xmm4,%xmm4
  2917. vpor %xmm7,%xmm13,%xmm13
  2918. vmovdqa 0-128(%rax),%xmm1
  2919. vpinsrd $1,-4(%r10),%xmm0,%xmm0
  2920. vpinsrd $1,-4(%r11),%xmm9,%xmm9
  2921. vpaddd %xmm15,%xmm10,%xmm10
  2922. prefetcht0 63(%r8)
  2923. vpslld $5,%xmm11,%xmm8
  2924. vpandn %xmm14,%xmm12,%xmm7
  2925. vpand %xmm13,%xmm12,%xmm6
  2926. vmovdqa %xmm4,224-128(%rax)
  2927. vpaddd %xmm4,%xmm10,%xmm10
  2928. vpunpckldq %xmm9,%xmm0,%xmm0
  2929. vpsrld $27,%xmm11,%xmm9
  2930. prefetcht0 63(%r9)
  2931. vpxor %xmm7,%xmm6,%xmm6
  2932. vpslld $30,%xmm12,%xmm7
  2933. vpor %xmm9,%xmm8,%xmm8
  2934. prefetcht0 63(%r10)
  2935. vpaddd %xmm6,%xmm10,%xmm10
  2936. vpsrld $2,%xmm12,%xmm12
  2937. vpaddd %xmm8,%xmm10,%xmm10
  2938. prefetcht0 63(%r11)
  2939. vpshufb %xmm5,%xmm0,%xmm0
  2940. vpor %xmm7,%xmm12,%xmm12
  2941. vmovdqa 16-128(%rax),%xmm2
  2942. vpxor %xmm3,%xmm1,%xmm1
  2943. vmovdqa 32-128(%rax),%xmm3
  2944. vpaddd %xmm15,%xmm14,%xmm14
  2945. vpslld $5,%xmm10,%xmm8
  2946. vpandn %xmm13,%xmm11,%xmm7
  2947. vpand %xmm12,%xmm11,%xmm6
  2948. vmovdqa %xmm0,240-128(%rax)
  2949. vpaddd %xmm0,%xmm14,%xmm14
  2950. vpxor 128-128(%rax),%xmm1,%xmm1
  2951. vpsrld $27,%xmm10,%xmm9
  2952. vpxor %xmm7,%xmm6,%xmm6
  2953. vpxor %xmm3,%xmm1,%xmm1
  2954. vpslld $30,%xmm11,%xmm7
  2955. vpor %xmm9,%xmm8,%xmm8
  2956. vpaddd %xmm6,%xmm14,%xmm14
  2957. vpsrld $31,%xmm1,%xmm5
  2958. vpaddd %xmm1,%xmm1,%xmm1
  2959. vpsrld $2,%xmm11,%xmm11
  2960. vpaddd %xmm8,%xmm14,%xmm14
  2961. vpor %xmm5,%xmm1,%xmm1
  2962. vpor %xmm7,%xmm11,%xmm11
  2963. vpxor %xmm4,%xmm2,%xmm2
  2964. vmovdqa 48-128(%rax),%xmm4
  2965. vpaddd %xmm15,%xmm13,%xmm13
  2966. vpslld $5,%xmm14,%xmm8
  2967. vpandn %xmm12,%xmm10,%xmm7
  2968. vpand %xmm11,%xmm10,%xmm6
  2969. vmovdqa %xmm1,0-128(%rax)
  2970. vpaddd %xmm1,%xmm13,%xmm13
  2971. vpxor 144-128(%rax),%xmm2,%xmm2
  2972. vpsrld $27,%xmm14,%xmm9
  2973. vpxor %xmm7,%xmm6,%xmm6
  2974. vpxor %xmm4,%xmm2,%xmm2
  2975. vpslld $30,%xmm10,%xmm7
  2976. vpor %xmm9,%xmm8,%xmm8
  2977. vpaddd %xmm6,%xmm13,%xmm13
  2978. vpsrld $31,%xmm2,%xmm5
  2979. vpaddd %xmm2,%xmm2,%xmm2
  2980. vpsrld $2,%xmm10,%xmm10
  2981. vpaddd %xmm8,%xmm13,%xmm13
  2982. vpor %xmm5,%xmm2,%xmm2
  2983. vpor %xmm7,%xmm10,%xmm10
  2984. vpxor %xmm0,%xmm3,%xmm3
  2985. vmovdqa 64-128(%rax),%xmm0
  2986. vpaddd %xmm15,%xmm12,%xmm12
  2987. vpslld $5,%xmm13,%xmm8
  2988. vpandn %xmm11,%xmm14,%xmm7
  2989. vpand %xmm10,%xmm14,%xmm6
  2990. vmovdqa %xmm2,16-128(%rax)
  2991. vpaddd %xmm2,%xmm12,%xmm12
  2992. vpxor 160-128(%rax),%xmm3,%xmm3
  2993. vpsrld $27,%xmm13,%xmm9
  2994. vpxor %xmm7,%xmm6,%xmm6
  2995. vpxor %xmm0,%xmm3,%xmm3
  2996. vpslld $30,%xmm14,%xmm7
  2997. vpor %xmm9,%xmm8,%xmm8
  2998. vpaddd %xmm6,%xmm12,%xmm12
  2999. vpsrld $31,%xmm3,%xmm5
  3000. vpaddd %xmm3,%xmm3,%xmm3
  3001. vpsrld $2,%xmm14,%xmm14
  3002. vpaddd %xmm8,%xmm12,%xmm12
  3003. vpor %xmm5,%xmm3,%xmm3
  3004. vpor %xmm7,%xmm14,%xmm14
  3005. vpxor %xmm1,%xmm4,%xmm4
  3006. vmovdqa 80-128(%rax),%xmm1
  3007. vpaddd %xmm15,%xmm11,%xmm11
  3008. vpslld $5,%xmm12,%xmm8
  3009. vpandn %xmm10,%xmm13,%xmm7
  3010. vpand %xmm14,%xmm13,%xmm6
  3011. vmovdqa %xmm3,32-128(%rax)
  3012. vpaddd %xmm3,%xmm11,%xmm11
  3013. vpxor 176-128(%rax),%xmm4,%xmm4
  3014. vpsrld $27,%xmm12,%xmm9
  3015. vpxor %xmm7,%xmm6,%xmm6
  3016. vpxor %xmm1,%xmm4,%xmm4
  3017. vpslld $30,%xmm13,%xmm7
  3018. vpor %xmm9,%xmm8,%xmm8
  3019. vpaddd %xmm6,%xmm11,%xmm11
  3020. vpsrld $31,%xmm4,%xmm5
  3021. vpaddd %xmm4,%xmm4,%xmm4
  3022. vpsrld $2,%xmm13,%xmm13
  3023. vpaddd %xmm8,%xmm11,%xmm11
  3024. vpor %xmm5,%xmm4,%xmm4
  3025. vpor %xmm7,%xmm13,%xmm13
  3026. vpxor %xmm2,%xmm0,%xmm0
  3027. vmovdqa 96-128(%rax),%xmm2
  3028. vpaddd %xmm15,%xmm10,%xmm10
  3029. vpslld $5,%xmm11,%xmm8
  3030. vpandn %xmm14,%xmm12,%xmm7
  3031. vpand %xmm13,%xmm12,%xmm6
  3032. vmovdqa %xmm4,48-128(%rax)
  3033. vpaddd %xmm4,%xmm10,%xmm10
  3034. vpxor 192-128(%rax),%xmm0,%xmm0
  3035. vpsrld $27,%xmm11,%xmm9
  3036. vpxor %xmm7,%xmm6,%xmm6
  3037. vpxor %xmm2,%xmm0,%xmm0
  3038. vpslld $30,%xmm12,%xmm7
  3039. vpor %xmm9,%xmm8,%xmm8
  3040. vpaddd %xmm6,%xmm10,%xmm10
  3041. vpsrld $31,%xmm0,%xmm5
  3042. vpaddd %xmm0,%xmm0,%xmm0
  3043. vpsrld $2,%xmm12,%xmm12
  3044. vpaddd %xmm8,%xmm10,%xmm10
  3045. vpor %xmm5,%xmm0,%xmm0
  3046. vpor %xmm7,%xmm12,%xmm12
  3047. vmovdqa 0(%rbp),%xmm15
  3048. vpxor %xmm3,%xmm1,%xmm1
  3049. vmovdqa 112-128(%rax),%xmm3
  3050. vpslld $5,%xmm10,%xmm8
  3051. vpaddd %xmm15,%xmm14,%xmm14
  3052. vpxor %xmm11,%xmm13,%xmm6
  3053. vmovdqa %xmm0,64-128(%rax)
  3054. vpaddd %xmm0,%xmm14,%xmm14
  3055. vpxor 208-128(%rax),%xmm1,%xmm1
  3056. vpsrld $27,%xmm10,%xmm9
  3057. vpxor %xmm12,%xmm6,%xmm6
  3058. vpxor %xmm3,%xmm1,%xmm1
  3059. vpslld $30,%xmm11,%xmm7
  3060. vpor %xmm9,%xmm8,%xmm8
  3061. vpaddd %xmm6,%xmm14,%xmm14
  3062. vpsrld $31,%xmm1,%xmm5
  3063. vpaddd %xmm1,%xmm1,%xmm1
  3064. vpsrld $2,%xmm11,%xmm11
  3065. vpaddd %xmm8,%xmm14,%xmm14
  3066. vpor %xmm5,%xmm1,%xmm1
  3067. vpor %xmm7,%xmm11,%xmm11
  3068. vpxor %xmm4,%xmm2,%xmm2
  3069. vmovdqa 128-128(%rax),%xmm4
  3070. vpslld $5,%xmm14,%xmm8
  3071. vpaddd %xmm15,%xmm13,%xmm13
  3072. vpxor %xmm10,%xmm12,%xmm6
  3073. vmovdqa %xmm1,80-128(%rax)
  3074. vpaddd %xmm1,%xmm13,%xmm13
  3075. vpxor 224-128(%rax),%xmm2,%xmm2
  3076. vpsrld $27,%xmm14,%xmm9
  3077. vpxor %xmm11,%xmm6,%xmm6
  3078. vpxor %xmm4,%xmm2,%xmm2
  3079. vpslld $30,%xmm10,%xmm7
  3080. vpor %xmm9,%xmm8,%xmm8
  3081. vpaddd %xmm6,%xmm13,%xmm13
  3082. vpsrld $31,%xmm2,%xmm5
  3083. vpaddd %xmm2,%xmm2,%xmm2
  3084. vpsrld $2,%xmm10,%xmm10
  3085. vpaddd %xmm8,%xmm13,%xmm13
  3086. vpor %xmm5,%xmm2,%xmm2
  3087. vpor %xmm7,%xmm10,%xmm10
  3088. vpxor %xmm0,%xmm3,%xmm3
  3089. vmovdqa 144-128(%rax),%xmm0
  3090. vpslld $5,%xmm13,%xmm8
  3091. vpaddd %xmm15,%xmm12,%xmm12
  3092. vpxor %xmm14,%xmm11,%xmm6
  3093. vmovdqa %xmm2,96-128(%rax)
  3094. vpaddd %xmm2,%xmm12,%xmm12
  3095. vpxor 240-128(%rax),%xmm3,%xmm3
  3096. vpsrld $27,%xmm13,%xmm9
  3097. vpxor %xmm10,%xmm6,%xmm6
  3098. vpxor %xmm0,%xmm3,%xmm3
  3099. vpslld $30,%xmm14,%xmm7
  3100. vpor %xmm9,%xmm8,%xmm8
  3101. vpaddd %xmm6,%xmm12,%xmm12
  3102. vpsrld $31,%xmm3,%xmm5
  3103. vpaddd %xmm3,%xmm3,%xmm3
  3104. vpsrld $2,%xmm14,%xmm14
  3105. vpaddd %xmm8,%xmm12,%xmm12
  3106. vpor %xmm5,%xmm3,%xmm3
  3107. vpor %xmm7,%xmm14,%xmm14
  3108. vpxor %xmm1,%xmm4,%xmm4
  3109. vmovdqa 160-128(%rax),%xmm1
  3110. vpslld $5,%xmm12,%xmm8
  3111. vpaddd %xmm15,%xmm11,%xmm11
  3112. vpxor %xmm13,%xmm10,%xmm6
  3113. vmovdqa %xmm3,112-128(%rax)
  3114. vpaddd %xmm3,%xmm11,%xmm11
  3115. vpxor 0-128(%rax),%xmm4,%xmm4
  3116. vpsrld $27,%xmm12,%xmm9
  3117. vpxor %xmm14,%xmm6,%xmm6
  3118. vpxor %xmm1,%xmm4,%xmm4
  3119. vpslld $30,%xmm13,%xmm7
  3120. vpor %xmm9,%xmm8,%xmm8
  3121. vpaddd %xmm6,%xmm11,%xmm11
  3122. vpsrld $31,%xmm4,%xmm5
  3123. vpaddd %xmm4,%xmm4,%xmm4
  3124. vpsrld $2,%xmm13,%xmm13
  3125. vpaddd %xmm8,%xmm11,%xmm11
  3126. vpor %xmm5,%xmm4,%xmm4
  3127. vpor %xmm7,%xmm13,%xmm13
  3128. vpxor %xmm2,%xmm0,%xmm0
  3129. vmovdqa 176-128(%rax),%xmm2
  3130. vpslld $5,%xmm11,%xmm8
  3131. vpaddd %xmm15,%xmm10,%xmm10
  3132. vpxor %xmm12,%xmm14,%xmm6
  3133. vmovdqa %xmm4,128-128(%rax)
  3134. vpaddd %xmm4,%xmm10,%xmm10
  3135. vpxor 16-128(%rax),%xmm0,%xmm0
  3136. vpsrld $27,%xmm11,%xmm9
  3137. vpxor %xmm13,%xmm6,%xmm6
  3138. vpxor %xmm2,%xmm0,%xmm0
  3139. vpslld $30,%xmm12,%xmm7
  3140. vpor %xmm9,%xmm8,%xmm8
  3141. vpaddd %xmm6,%xmm10,%xmm10
  3142. vpsrld $31,%xmm0,%xmm5
  3143. vpaddd %xmm0,%xmm0,%xmm0
  3144. vpsrld $2,%xmm12,%xmm12
  3145. vpaddd %xmm8,%xmm10,%xmm10
  3146. vpor %xmm5,%xmm0,%xmm0
  3147. vpor %xmm7,%xmm12,%xmm12
  3148. vpxor %xmm3,%xmm1,%xmm1
  3149. vmovdqa 192-128(%rax),%xmm3
  3150. vpslld $5,%xmm10,%xmm8
  3151. vpaddd %xmm15,%xmm14,%xmm14
  3152. vpxor %xmm11,%xmm13,%xmm6
  3153. vmovdqa %xmm0,144-128(%rax)
  3154. vpaddd %xmm0,%xmm14,%xmm14
  3155. vpxor 32-128(%rax),%xmm1,%xmm1
  3156. vpsrld $27,%xmm10,%xmm9
  3157. vpxor %xmm12,%xmm6,%xmm6
  3158. vpxor %xmm3,%xmm1,%xmm1
  3159. vpslld $30,%xmm11,%xmm7
  3160. vpor %xmm9,%xmm8,%xmm8
  3161. vpaddd %xmm6,%xmm14,%xmm14
  3162. vpsrld $31,%xmm1,%xmm5
  3163. vpaddd %xmm1,%xmm1,%xmm1
  3164. vpsrld $2,%xmm11,%xmm11
  3165. vpaddd %xmm8,%xmm14,%xmm14
  3166. vpor %xmm5,%xmm1,%xmm1
  3167. vpor %xmm7,%xmm11,%xmm11
  3168. vpxor %xmm4,%xmm2,%xmm2
  3169. vmovdqa 208-128(%rax),%xmm4
  3170. vpslld $5,%xmm14,%xmm8
  3171. vpaddd %xmm15,%xmm13,%xmm13
  3172. vpxor %xmm10,%xmm12,%xmm6
  3173. vmovdqa %xmm1,160-128(%rax)
  3174. vpaddd %xmm1,%xmm13,%xmm13
  3175. vpxor 48-128(%rax),%xmm2,%xmm2
  3176. vpsrld $27,%xmm14,%xmm9
  3177. vpxor %xmm11,%xmm6,%xmm6
  3178. vpxor %xmm4,%xmm2,%xmm2
  3179. vpslld $30,%xmm10,%xmm7
  3180. vpor %xmm9,%xmm8,%xmm8
  3181. vpaddd %xmm6,%xmm13,%xmm13
  3182. vpsrld $31,%xmm2,%xmm5
  3183. vpaddd %xmm2,%xmm2,%xmm2
  3184. vpsrld $2,%xmm10,%xmm10
  3185. vpaddd %xmm8,%xmm13,%xmm13
  3186. vpor %xmm5,%xmm2,%xmm2
  3187. vpor %xmm7,%xmm10,%xmm10
  3188. vpxor %xmm0,%xmm3,%xmm3
  3189. vmovdqa 224-128(%rax),%xmm0
  3190. vpslld $5,%xmm13,%xmm8
  3191. vpaddd %xmm15,%xmm12,%xmm12
  3192. vpxor %xmm14,%xmm11,%xmm6
  3193. vmovdqa %xmm2,176-128(%rax)
  3194. vpaddd %xmm2,%xmm12,%xmm12
  3195. vpxor 64-128(%rax),%xmm3,%xmm3
  3196. vpsrld $27,%xmm13,%xmm9
  3197. vpxor %xmm10,%xmm6,%xmm6
  3198. vpxor %xmm0,%xmm3,%xmm3
  3199. vpslld $30,%xmm14,%xmm7
  3200. vpor %xmm9,%xmm8,%xmm8
  3201. vpaddd %xmm6,%xmm12,%xmm12
  3202. vpsrld $31,%xmm3,%xmm5
  3203. vpaddd %xmm3,%xmm3,%xmm3
  3204. vpsrld $2,%xmm14,%xmm14
  3205. vpaddd %xmm8,%xmm12,%xmm12
  3206. vpor %xmm5,%xmm3,%xmm3
  3207. vpor %xmm7,%xmm14,%xmm14
  3208. vpxor %xmm1,%xmm4,%xmm4
  3209. vmovdqa 240-128(%rax),%xmm1
  3210. vpslld $5,%xmm12,%xmm8
  3211. vpaddd %xmm15,%xmm11,%xmm11
  3212. vpxor %xmm13,%xmm10,%xmm6
  3213. vmovdqa %xmm3,192-128(%rax)
  3214. vpaddd %xmm3,%xmm11,%xmm11
  3215. vpxor 80-128(%rax),%xmm4,%xmm4
  3216. vpsrld $27,%xmm12,%xmm9
  3217. vpxor %xmm14,%xmm6,%xmm6
  3218. vpxor %xmm1,%xmm4,%xmm4
  3219. vpslld $30,%xmm13,%xmm7
  3220. vpor %xmm9,%xmm8,%xmm8
  3221. vpaddd %xmm6,%xmm11,%xmm11
  3222. vpsrld $31,%xmm4,%xmm5
  3223. vpaddd %xmm4,%xmm4,%xmm4
  3224. vpsrld $2,%xmm13,%xmm13
  3225. vpaddd %xmm8,%xmm11,%xmm11
  3226. vpor %xmm5,%xmm4,%xmm4
  3227. vpor %xmm7,%xmm13,%xmm13
  3228. vpxor %xmm2,%xmm0,%xmm0
  3229. vmovdqa 0-128(%rax),%xmm2
  3230. vpslld $5,%xmm11,%xmm8
  3231. vpaddd %xmm15,%xmm10,%xmm10
  3232. vpxor %xmm12,%xmm14,%xmm6
  3233. vmovdqa %xmm4,208-128(%rax)
  3234. vpaddd %xmm4,%xmm10,%xmm10
  3235. vpxor 96-128(%rax),%xmm0,%xmm0
  3236. vpsrld $27,%xmm11,%xmm9
  3237. vpxor %xmm13,%xmm6,%xmm6
  3238. vpxor %xmm2,%xmm0,%xmm0
  3239. vpslld $30,%xmm12,%xmm7
  3240. vpor %xmm9,%xmm8,%xmm8
  3241. vpaddd %xmm6,%xmm10,%xmm10
  3242. vpsrld $31,%xmm0,%xmm5
  3243. vpaddd %xmm0,%xmm0,%xmm0
  3244. vpsrld $2,%xmm12,%xmm12
  3245. vpaddd %xmm8,%xmm10,%xmm10
  3246. vpor %xmm5,%xmm0,%xmm0
  3247. vpor %xmm7,%xmm12,%xmm12
  3248. vpxor %xmm3,%xmm1,%xmm1
  3249. vmovdqa 16-128(%rax),%xmm3
  3250. vpslld $5,%xmm10,%xmm8
  3251. vpaddd %xmm15,%xmm14,%xmm14
  3252. vpxor %xmm11,%xmm13,%xmm6
  3253. vmovdqa %xmm0,224-128(%rax)
  3254. vpaddd %xmm0,%xmm14,%xmm14
  3255. vpxor 112-128(%rax),%xmm1,%xmm1
  3256. vpsrld $27,%xmm10,%xmm9
  3257. vpxor %xmm12,%xmm6,%xmm6
  3258. vpxor %xmm3,%xmm1,%xmm1
  3259. vpslld $30,%xmm11,%xmm7
  3260. vpor %xmm9,%xmm8,%xmm8
  3261. vpaddd %xmm6,%xmm14,%xmm14
  3262. vpsrld $31,%xmm1,%xmm5
  3263. vpaddd %xmm1,%xmm1,%xmm1
  3264. vpsrld $2,%xmm11,%xmm11
  3265. vpaddd %xmm8,%xmm14,%xmm14
  3266. vpor %xmm5,%xmm1,%xmm1
  3267. vpor %xmm7,%xmm11,%xmm11
  3268. vpxor %xmm4,%xmm2,%xmm2
  3269. vmovdqa 32-128(%rax),%xmm4
  3270. vpslld $5,%xmm14,%xmm8
  3271. vpaddd %xmm15,%xmm13,%xmm13
  3272. vpxor %xmm10,%xmm12,%xmm6
  3273. vmovdqa %xmm1,240-128(%rax)
  3274. vpaddd %xmm1,%xmm13,%xmm13
  3275. vpxor 128-128(%rax),%xmm2,%xmm2
  3276. vpsrld $27,%xmm14,%xmm9
  3277. vpxor %xmm11,%xmm6,%xmm6
  3278. vpxor %xmm4,%xmm2,%xmm2
  3279. vpslld $30,%xmm10,%xmm7
  3280. vpor %xmm9,%xmm8,%xmm8
  3281. vpaddd %xmm6,%xmm13,%xmm13
  3282. vpsrld $31,%xmm2,%xmm5
  3283. vpaddd %xmm2,%xmm2,%xmm2
  3284. vpsrld $2,%xmm10,%xmm10
  3285. vpaddd %xmm8,%xmm13,%xmm13
  3286. vpor %xmm5,%xmm2,%xmm2
  3287. vpor %xmm7,%xmm10,%xmm10
  3288. vpxor %xmm0,%xmm3,%xmm3
  3289. vmovdqa 48-128(%rax),%xmm0
  3290. vpslld $5,%xmm13,%xmm8
  3291. vpaddd %xmm15,%xmm12,%xmm12
  3292. vpxor %xmm14,%xmm11,%xmm6
  3293. vmovdqa %xmm2,0-128(%rax)
  3294. vpaddd %xmm2,%xmm12,%xmm12
  3295. vpxor 144-128(%rax),%xmm3,%xmm3
  3296. vpsrld $27,%xmm13,%xmm9
  3297. vpxor %xmm10,%xmm6,%xmm6
  3298. vpxor %xmm0,%xmm3,%xmm3
  3299. vpslld $30,%xmm14,%xmm7
  3300. vpor %xmm9,%xmm8,%xmm8
  3301. vpaddd %xmm6,%xmm12,%xmm12
  3302. vpsrld $31,%xmm3,%xmm5
  3303. vpaddd %xmm3,%xmm3,%xmm3
  3304. vpsrld $2,%xmm14,%xmm14
  3305. vpaddd %xmm8,%xmm12,%xmm12
  3306. vpor %xmm5,%xmm3,%xmm3
  3307. vpor %xmm7,%xmm14,%xmm14
  3308. vpxor %xmm1,%xmm4,%xmm4
  3309. vmovdqa 64-128(%rax),%xmm1
  3310. vpslld $5,%xmm12,%xmm8
  3311. vpaddd %xmm15,%xmm11,%xmm11
  3312. vpxor %xmm13,%xmm10,%xmm6
  3313. vmovdqa %xmm3,16-128(%rax)
  3314. vpaddd %xmm3,%xmm11,%xmm11
  3315. vpxor 160-128(%rax),%xmm4,%xmm4
  3316. vpsrld $27,%xmm12,%xmm9
  3317. vpxor %xmm14,%xmm6,%xmm6
  3318. vpxor %xmm1,%xmm4,%xmm4
  3319. vpslld $30,%xmm13,%xmm7
  3320. vpor %xmm9,%xmm8,%xmm8
  3321. vpaddd %xmm6,%xmm11,%xmm11
  3322. vpsrld $31,%xmm4,%xmm5
  3323. vpaddd %xmm4,%xmm4,%xmm4
  3324. vpsrld $2,%xmm13,%xmm13
  3325. vpaddd %xmm8,%xmm11,%xmm11
  3326. vpor %xmm5,%xmm4,%xmm4
  3327. vpor %xmm7,%xmm13,%xmm13
  3328. vpxor %xmm2,%xmm0,%xmm0
  3329. vmovdqa 80-128(%rax),%xmm2
  3330. vpslld $5,%xmm11,%xmm8
  3331. vpaddd %xmm15,%xmm10,%xmm10
  3332. vpxor %xmm12,%xmm14,%xmm6
  3333. vmovdqa %xmm4,32-128(%rax)
  3334. vpaddd %xmm4,%xmm10,%xmm10
  3335. vpxor 176-128(%rax),%xmm0,%xmm0
  3336. vpsrld $27,%xmm11,%xmm9
  3337. vpxor %xmm13,%xmm6,%xmm6
  3338. vpxor %xmm2,%xmm0,%xmm0
  3339. vpslld $30,%xmm12,%xmm7
  3340. vpor %xmm9,%xmm8,%xmm8
  3341. vpaddd %xmm6,%xmm10,%xmm10
  3342. vpsrld $31,%xmm0,%xmm5
  3343. vpaddd %xmm0,%xmm0,%xmm0
  3344. vpsrld $2,%xmm12,%xmm12
  3345. vpaddd %xmm8,%xmm10,%xmm10
  3346. vpor %xmm5,%xmm0,%xmm0
  3347. vpor %xmm7,%xmm12,%xmm12
  3348. vpxor %xmm3,%xmm1,%xmm1
  3349. vmovdqa 96-128(%rax),%xmm3
  3350. vpslld $5,%xmm10,%xmm8
  3351. vpaddd %xmm15,%xmm14,%xmm14
  3352. vpxor %xmm11,%xmm13,%xmm6
  3353. vmovdqa %xmm0,48-128(%rax)
  3354. vpaddd %xmm0,%xmm14,%xmm14
  3355. vpxor 192-128(%rax),%xmm1,%xmm1
  3356. vpsrld $27,%xmm10,%xmm9
  3357. vpxor %xmm12,%xmm6,%xmm6
  3358. vpxor %xmm3,%xmm1,%xmm1
  3359. vpslld $30,%xmm11,%xmm7
  3360. vpor %xmm9,%xmm8,%xmm8
  3361. vpaddd %xmm6,%xmm14,%xmm14
  3362. vpsrld $31,%xmm1,%xmm5
  3363. vpaddd %xmm1,%xmm1,%xmm1
  3364. vpsrld $2,%xmm11,%xmm11
  3365. vpaddd %xmm8,%xmm14,%xmm14
  3366. vpor %xmm5,%xmm1,%xmm1
  3367. vpor %xmm7,%xmm11,%xmm11
  3368. vpxor %xmm4,%xmm2,%xmm2
  3369. vmovdqa 112-128(%rax),%xmm4
  3370. vpslld $5,%xmm14,%xmm8
  3371. vpaddd %xmm15,%xmm13,%xmm13
  3372. vpxor %xmm10,%xmm12,%xmm6
  3373. vmovdqa %xmm1,64-128(%rax)
  3374. vpaddd %xmm1,%xmm13,%xmm13
  3375. vpxor 208-128(%rax),%xmm2,%xmm2
  3376. vpsrld $27,%xmm14,%xmm9
  3377. vpxor %xmm11,%xmm6,%xmm6
  3378. vpxor %xmm4,%xmm2,%xmm2
  3379. vpslld $30,%xmm10,%xmm7
  3380. vpor %xmm9,%xmm8,%xmm8
  3381. vpaddd %xmm6,%xmm13,%xmm13
  3382. vpsrld $31,%xmm2,%xmm5
  3383. vpaddd %xmm2,%xmm2,%xmm2
  3384. vpsrld $2,%xmm10,%xmm10
  3385. vpaddd %xmm8,%xmm13,%xmm13
  3386. vpor %xmm5,%xmm2,%xmm2
  3387. vpor %xmm7,%xmm10,%xmm10
  3388. vpxor %xmm0,%xmm3,%xmm3
  3389. vmovdqa 128-128(%rax),%xmm0
  3390. vpslld $5,%xmm13,%xmm8
  3391. vpaddd %xmm15,%xmm12,%xmm12
  3392. vpxor %xmm14,%xmm11,%xmm6
  3393. vmovdqa %xmm2,80-128(%rax)
  3394. vpaddd %xmm2,%xmm12,%xmm12
  3395. vpxor 224-128(%rax),%xmm3,%xmm3
  3396. vpsrld $27,%xmm13,%xmm9
  3397. vpxor %xmm10,%xmm6,%xmm6
  3398. vpxor %xmm0,%xmm3,%xmm3
  3399. vpslld $30,%xmm14,%xmm7
  3400. vpor %xmm9,%xmm8,%xmm8
  3401. vpaddd %xmm6,%xmm12,%xmm12
  3402. vpsrld $31,%xmm3,%xmm5
  3403. vpaddd %xmm3,%xmm3,%xmm3
  3404. vpsrld $2,%xmm14,%xmm14
  3405. vpaddd %xmm8,%xmm12,%xmm12
  3406. vpor %xmm5,%xmm3,%xmm3
  3407. vpor %xmm7,%xmm14,%xmm14
  3408. vpxor %xmm1,%xmm4,%xmm4
  3409. vmovdqa 144-128(%rax),%xmm1
  3410. vpslld $5,%xmm12,%xmm8
  3411. vpaddd %xmm15,%xmm11,%xmm11
  3412. vpxor %xmm13,%xmm10,%xmm6
  3413. vmovdqa %xmm3,96-128(%rax)
  3414. vpaddd %xmm3,%xmm11,%xmm11
  3415. vpxor 240-128(%rax),%xmm4,%xmm4
  3416. vpsrld $27,%xmm12,%xmm9
  3417. vpxor %xmm14,%xmm6,%xmm6
  3418. vpxor %xmm1,%xmm4,%xmm4
  3419. vpslld $30,%xmm13,%xmm7
  3420. vpor %xmm9,%xmm8,%xmm8
  3421. vpaddd %xmm6,%xmm11,%xmm11
  3422. vpsrld $31,%xmm4,%xmm5
  3423. vpaddd %xmm4,%xmm4,%xmm4
  3424. vpsrld $2,%xmm13,%xmm13
  3425. vpaddd %xmm8,%xmm11,%xmm11
  3426. vpor %xmm5,%xmm4,%xmm4
  3427. vpor %xmm7,%xmm13,%xmm13
  3428. vpxor %xmm2,%xmm0,%xmm0
  3429. vmovdqa 160-128(%rax),%xmm2
  3430. vpslld $5,%xmm11,%xmm8
  3431. vpaddd %xmm15,%xmm10,%xmm10
  3432. vpxor %xmm12,%xmm14,%xmm6
  3433. vmovdqa %xmm4,112-128(%rax)
  3434. vpaddd %xmm4,%xmm10,%xmm10
  3435. vpxor 0-128(%rax),%xmm0,%xmm0
  3436. vpsrld $27,%xmm11,%xmm9
  3437. vpxor %xmm13,%xmm6,%xmm6
  3438. vpxor %xmm2,%xmm0,%xmm0
  3439. vpslld $30,%xmm12,%xmm7
  3440. vpor %xmm9,%xmm8,%xmm8
  3441. vpaddd %xmm6,%xmm10,%xmm10
  3442. vpsrld $31,%xmm0,%xmm5
  3443. vpaddd %xmm0,%xmm0,%xmm0
  3444. vpsrld $2,%xmm12,%xmm12
  3445. vpaddd %xmm8,%xmm10,%xmm10
  3446. vpor %xmm5,%xmm0,%xmm0
  3447. vpor %xmm7,%xmm12,%xmm12
  3448. vmovdqa 32(%rbp),%xmm15
  3449. vpxor %xmm3,%xmm1,%xmm1
  3450. vmovdqa 176-128(%rax),%xmm3
  3451. vpaddd %xmm15,%xmm14,%xmm14
  3452. vpslld $5,%xmm10,%xmm8
  3453. vpand %xmm12,%xmm13,%xmm7
  3454. vpxor 16-128(%rax),%xmm1,%xmm1
  3455. vpaddd %xmm7,%xmm14,%xmm14
  3456. vpsrld $27,%xmm10,%xmm9
  3457. vpxor %xmm12,%xmm13,%xmm6
  3458. vpxor %xmm3,%xmm1,%xmm1
  3459. vmovdqu %xmm0,128-128(%rax)
  3460. vpaddd %xmm0,%xmm14,%xmm14
  3461. vpor %xmm9,%xmm8,%xmm8
  3462. vpsrld $31,%xmm1,%xmm5
  3463. vpand %xmm11,%xmm6,%xmm6
  3464. vpaddd %xmm1,%xmm1,%xmm1
  3465. vpslld $30,%xmm11,%xmm7
  3466. vpaddd %xmm6,%xmm14,%xmm14
  3467. vpsrld $2,%xmm11,%xmm11
  3468. vpaddd %xmm8,%xmm14,%xmm14
  3469. vpor %xmm5,%xmm1,%xmm1
  3470. vpor %xmm7,%xmm11,%xmm11
  3471. vpxor %xmm4,%xmm2,%xmm2
  3472. vmovdqa 192-128(%rax),%xmm4
  3473. vpaddd %xmm15,%xmm13,%xmm13
  3474. vpslld $5,%xmm14,%xmm8
  3475. vpand %xmm11,%xmm12,%xmm7
  3476. vpxor 32-128(%rax),%xmm2,%xmm2
  3477. vpaddd %xmm7,%xmm13,%xmm13
  3478. vpsrld $27,%xmm14,%xmm9
  3479. vpxor %xmm11,%xmm12,%xmm6
  3480. vpxor %xmm4,%xmm2,%xmm2
  3481. vmovdqu %xmm1,144-128(%rax)
  3482. vpaddd %xmm1,%xmm13,%xmm13
  3483. vpor %xmm9,%xmm8,%xmm8
  3484. vpsrld $31,%xmm2,%xmm5
  3485. vpand %xmm10,%xmm6,%xmm6
  3486. vpaddd %xmm2,%xmm2,%xmm2
  3487. vpslld $30,%xmm10,%xmm7
  3488. vpaddd %xmm6,%xmm13,%xmm13
  3489. vpsrld $2,%xmm10,%xmm10
  3490. vpaddd %xmm8,%xmm13,%xmm13
  3491. vpor %xmm5,%xmm2,%xmm2
  3492. vpor %xmm7,%xmm10,%xmm10
  3493. vpxor %xmm0,%xmm3,%xmm3
  3494. vmovdqa 208-128(%rax),%xmm0
  3495. vpaddd %xmm15,%xmm12,%xmm12
  3496. vpslld $5,%xmm13,%xmm8
  3497. vpand %xmm10,%xmm11,%xmm7
  3498. vpxor 48-128(%rax),%xmm3,%xmm3
  3499. vpaddd %xmm7,%xmm12,%xmm12
  3500. vpsrld $27,%xmm13,%xmm9
  3501. vpxor %xmm10,%xmm11,%xmm6
  3502. vpxor %xmm0,%xmm3,%xmm3
  3503. vmovdqu %xmm2,160-128(%rax)
  3504. vpaddd %xmm2,%xmm12,%xmm12
  3505. vpor %xmm9,%xmm8,%xmm8
  3506. vpsrld $31,%xmm3,%xmm5
  3507. vpand %xmm14,%xmm6,%xmm6
  3508. vpaddd %xmm3,%xmm3,%xmm3
  3509. vpslld $30,%xmm14,%xmm7
  3510. vpaddd %xmm6,%xmm12,%xmm12
  3511. vpsrld $2,%xmm14,%xmm14
  3512. vpaddd %xmm8,%xmm12,%xmm12
  3513. vpor %xmm5,%xmm3,%xmm3
  3514. vpor %xmm7,%xmm14,%xmm14
  3515. vpxor %xmm1,%xmm4,%xmm4
  3516. vmovdqa 224-128(%rax),%xmm1
  3517. vpaddd %xmm15,%xmm11,%xmm11
  3518. vpslld $5,%xmm12,%xmm8
  3519. vpand %xmm14,%xmm10,%xmm7
  3520. vpxor 64-128(%rax),%xmm4,%xmm4
  3521. vpaddd %xmm7,%xmm11,%xmm11
  3522. vpsrld $27,%xmm12,%xmm9
  3523. vpxor %xmm14,%xmm10,%xmm6
  3524. vpxor %xmm1,%xmm4,%xmm4
  3525. vmovdqu %xmm3,176-128(%rax)
  3526. vpaddd %xmm3,%xmm11,%xmm11
  3527. vpor %xmm9,%xmm8,%xmm8
  3528. vpsrld $31,%xmm4,%xmm5
  3529. vpand %xmm13,%xmm6,%xmm6
  3530. vpaddd %xmm4,%xmm4,%xmm4
  3531. vpslld $30,%xmm13,%xmm7
  3532. vpaddd %xmm6,%xmm11,%xmm11
  3533. vpsrld $2,%xmm13,%xmm13
  3534. vpaddd %xmm8,%xmm11,%xmm11
  3535. vpor %xmm5,%xmm4,%xmm4
  3536. vpor %xmm7,%xmm13,%xmm13
  3537. vpxor %xmm2,%xmm0,%xmm0
  3538. vmovdqa 240-128(%rax),%xmm2
  3539. vpaddd %xmm15,%xmm10,%xmm10
  3540. vpslld $5,%xmm11,%xmm8
  3541. vpand %xmm13,%xmm14,%xmm7
  3542. vpxor 80-128(%rax),%xmm0,%xmm0
  3543. vpaddd %xmm7,%xmm10,%xmm10
  3544. vpsrld $27,%xmm11,%xmm9
  3545. vpxor %xmm13,%xmm14,%xmm6
  3546. vpxor %xmm2,%xmm0,%xmm0
  3547. vmovdqu %xmm4,192-128(%rax)
  3548. vpaddd %xmm4,%xmm10,%xmm10
  3549. vpor %xmm9,%xmm8,%xmm8
  3550. vpsrld $31,%xmm0,%xmm5
  3551. vpand %xmm12,%xmm6,%xmm6
  3552. vpaddd %xmm0,%xmm0,%xmm0
  3553. vpslld $30,%xmm12,%xmm7
  3554. vpaddd %xmm6,%xmm10,%xmm10
  3555. vpsrld $2,%xmm12,%xmm12
  3556. vpaddd %xmm8,%xmm10,%xmm10
  3557. vpor %xmm5,%xmm0,%xmm0
  3558. vpor %xmm7,%xmm12,%xmm12
  3559. vpxor %xmm3,%xmm1,%xmm1
  3560. vmovdqa 0-128(%rax),%xmm3
  3561. vpaddd %xmm15,%xmm14,%xmm14
  3562. vpslld $5,%xmm10,%xmm8
  3563. vpand %xmm12,%xmm13,%xmm7
  3564. vpxor 96-128(%rax),%xmm1,%xmm1
  3565. vpaddd %xmm7,%xmm14,%xmm14
  3566. vpsrld $27,%xmm10,%xmm9
  3567. vpxor %xmm12,%xmm13,%xmm6
  3568. vpxor %xmm3,%xmm1,%xmm1
  3569. vmovdqu %xmm0,208-128(%rax)
  3570. vpaddd %xmm0,%xmm14,%xmm14
  3571. vpor %xmm9,%xmm8,%xmm8
  3572. vpsrld $31,%xmm1,%xmm5
  3573. vpand %xmm11,%xmm6,%xmm6
  3574. vpaddd %xmm1,%xmm1,%xmm1
  3575. vpslld $30,%xmm11,%xmm7
  3576. vpaddd %xmm6,%xmm14,%xmm14
  3577. vpsrld $2,%xmm11,%xmm11
  3578. vpaddd %xmm8,%xmm14,%xmm14
  3579. vpor %xmm5,%xmm1,%xmm1
  3580. vpor %xmm7,%xmm11,%xmm11
  3581. vpxor %xmm4,%xmm2,%xmm2
  3582. vmovdqa 16-128(%rax),%xmm4
  3583. vpaddd %xmm15,%xmm13,%xmm13
  3584. vpslld $5,%xmm14,%xmm8
  3585. vpand %xmm11,%xmm12,%xmm7
  3586. vpxor 112-128(%rax),%xmm2,%xmm2
  3587. vpaddd %xmm7,%xmm13,%xmm13
  3588. vpsrld $27,%xmm14,%xmm9
  3589. vpxor %xmm11,%xmm12,%xmm6
  3590. vpxor %xmm4,%xmm2,%xmm2
  3591. vmovdqu %xmm1,224-128(%rax)
  3592. vpaddd %xmm1,%xmm13,%xmm13
  3593. vpor %xmm9,%xmm8,%xmm8
  3594. vpsrld $31,%xmm2,%xmm5
  3595. vpand %xmm10,%xmm6,%xmm6
  3596. vpaddd %xmm2,%xmm2,%xmm2
  3597. vpslld $30,%xmm10,%xmm7
  3598. vpaddd %xmm6,%xmm13,%xmm13
  3599. vpsrld $2,%xmm10,%xmm10
  3600. vpaddd %xmm8,%xmm13,%xmm13
  3601. vpor %xmm5,%xmm2,%xmm2
  3602. vpor %xmm7,%xmm10,%xmm10
  3603. vpxor %xmm0,%xmm3,%xmm3
  3604. vmovdqa 32-128(%rax),%xmm0
  3605. vpaddd %xmm15,%xmm12,%xmm12
  3606. vpslld $5,%xmm13,%xmm8
  3607. vpand %xmm10,%xmm11,%xmm7
  3608. vpxor 128-128(%rax),%xmm3,%xmm3
  3609. vpaddd %xmm7,%xmm12,%xmm12
  3610. vpsrld $27,%xmm13,%xmm9
  3611. vpxor %xmm10,%xmm11,%xmm6
  3612. vpxor %xmm0,%xmm3,%xmm3
  3613. vmovdqu %xmm2,240-128(%rax)
  3614. vpaddd %xmm2,%xmm12,%xmm12
  3615. vpor %xmm9,%xmm8,%xmm8
  3616. vpsrld $31,%xmm3,%xmm5
  3617. vpand %xmm14,%xmm6,%xmm6
  3618. vpaddd %xmm3,%xmm3,%xmm3
  3619. vpslld $30,%xmm14,%xmm7
  3620. vpaddd %xmm6,%xmm12,%xmm12
  3621. vpsrld $2,%xmm14,%xmm14
  3622. vpaddd %xmm8,%xmm12,%xmm12
  3623. vpor %xmm5,%xmm3,%xmm3
  3624. vpor %xmm7,%xmm14,%xmm14
  3625. vpxor %xmm1,%xmm4,%xmm4
  3626. vmovdqa 48-128(%rax),%xmm1
  3627. vpaddd %xmm15,%xmm11,%xmm11
  3628. vpslld $5,%xmm12,%xmm8
  3629. vpand %xmm14,%xmm10,%xmm7
  3630. vpxor 144-128(%rax),%xmm4,%xmm4
  3631. vpaddd %xmm7,%xmm11,%xmm11
  3632. vpsrld $27,%xmm12,%xmm9
  3633. vpxor %xmm14,%xmm10,%xmm6
  3634. vpxor %xmm1,%xmm4,%xmm4
  3635. vmovdqu %xmm3,0-128(%rax)
  3636. vpaddd %xmm3,%xmm11,%xmm11
  3637. vpor %xmm9,%xmm8,%xmm8
  3638. vpsrld $31,%xmm4,%xmm5
  3639. vpand %xmm13,%xmm6,%xmm6
  3640. vpaddd %xmm4,%xmm4,%xmm4
  3641. vpslld $30,%xmm13,%xmm7
  3642. vpaddd %xmm6,%xmm11,%xmm11
  3643. vpsrld $2,%xmm13,%xmm13
  3644. vpaddd %xmm8,%xmm11,%xmm11
  3645. vpor %xmm5,%xmm4,%xmm4
  3646. vpor %xmm7,%xmm13,%xmm13
  3647. vpxor %xmm2,%xmm0,%xmm0
  3648. vmovdqa 64-128(%rax),%xmm2
  3649. vpaddd %xmm15,%xmm10,%xmm10
  3650. vpslld $5,%xmm11,%xmm8
  3651. vpand %xmm13,%xmm14,%xmm7
  3652. vpxor 160-128(%rax),%xmm0,%xmm0
  3653. vpaddd %xmm7,%xmm10,%xmm10
  3654. vpsrld $27,%xmm11,%xmm9
  3655. vpxor %xmm13,%xmm14,%xmm6
  3656. vpxor %xmm2,%xmm0,%xmm0
  3657. vmovdqu %xmm4,16-128(%rax)
  3658. vpaddd %xmm4,%xmm10,%xmm10
  3659. vpor %xmm9,%xmm8,%xmm8
  3660. vpsrld $31,%xmm0,%xmm5
  3661. vpand %xmm12,%xmm6,%xmm6
  3662. vpaddd %xmm0,%xmm0,%xmm0
  3663. vpslld $30,%xmm12,%xmm7
  3664. vpaddd %xmm6,%xmm10,%xmm10
  3665. vpsrld $2,%xmm12,%xmm12
  3666. vpaddd %xmm8,%xmm10,%xmm10
  3667. vpor %xmm5,%xmm0,%xmm0
  3668. vpor %xmm7,%xmm12,%xmm12
  3669. vpxor %xmm3,%xmm1,%xmm1
  3670. vmovdqa 80-128(%rax),%xmm3
  3671. vpaddd %xmm15,%xmm14,%xmm14
  3672. vpslld $5,%xmm10,%xmm8
  3673. vpand %xmm12,%xmm13,%xmm7
  3674. vpxor 176-128(%rax),%xmm1,%xmm1
  3675. vpaddd %xmm7,%xmm14,%xmm14
  3676. vpsrld $27,%xmm10,%xmm9
  3677. vpxor %xmm12,%xmm13,%xmm6
  3678. vpxor %xmm3,%xmm1,%xmm1
  3679. vmovdqu %xmm0,32-128(%rax)
  3680. vpaddd %xmm0,%xmm14,%xmm14
  3681. vpor %xmm9,%xmm8,%xmm8
  3682. vpsrld $31,%xmm1,%xmm5
  3683. vpand %xmm11,%xmm6,%xmm6
  3684. vpaddd %xmm1,%xmm1,%xmm1
  3685. vpslld $30,%xmm11,%xmm7
  3686. vpaddd %xmm6,%xmm14,%xmm14
  3687. vpsrld $2,%xmm11,%xmm11
  3688. vpaddd %xmm8,%xmm14,%xmm14
  3689. vpor %xmm5,%xmm1,%xmm1
  3690. vpor %xmm7,%xmm11,%xmm11
  3691. vpxor %xmm4,%xmm2,%xmm2
  3692. vmovdqa 96-128(%rax),%xmm4
  3693. vpaddd %xmm15,%xmm13,%xmm13
  3694. vpslld $5,%xmm14,%xmm8
  3695. vpand %xmm11,%xmm12,%xmm7
  3696. vpxor 192-128(%rax),%xmm2,%xmm2
  3697. vpaddd %xmm7,%xmm13,%xmm13
  3698. vpsrld $27,%xmm14,%xmm9
  3699. vpxor %xmm11,%xmm12,%xmm6
  3700. vpxor %xmm4,%xmm2,%xmm2
  3701. vmovdqu %xmm1,48-128(%rax)
  3702. vpaddd %xmm1,%xmm13,%xmm13
  3703. vpor %xmm9,%xmm8,%xmm8
  3704. vpsrld $31,%xmm2,%xmm5
  3705. vpand %xmm10,%xmm6,%xmm6
  3706. vpaddd %xmm2,%xmm2,%xmm2
  3707. vpslld $30,%xmm10,%xmm7
  3708. vpaddd %xmm6,%xmm13,%xmm13
  3709. vpsrld $2,%xmm10,%xmm10
  3710. vpaddd %xmm8,%xmm13,%xmm13
  3711. vpor %xmm5,%xmm2,%xmm2
  3712. vpor %xmm7,%xmm10,%xmm10
  3713. vpxor %xmm0,%xmm3,%xmm3
  3714. vmovdqa 112-128(%rax),%xmm0
  3715. vpaddd %xmm15,%xmm12,%xmm12
  3716. vpslld $5,%xmm13,%xmm8
  3717. vpand %xmm10,%xmm11,%xmm7
  3718. vpxor 208-128(%rax),%xmm3,%xmm3
  3719. vpaddd %xmm7,%xmm12,%xmm12
  3720. vpsrld $27,%xmm13,%xmm9
  3721. vpxor %xmm10,%xmm11,%xmm6
  3722. vpxor %xmm0,%xmm3,%xmm3
  3723. vmovdqu %xmm2,64-128(%rax)
  3724. vpaddd %xmm2,%xmm12,%xmm12
  3725. vpor %xmm9,%xmm8,%xmm8
  3726. vpsrld $31,%xmm3,%xmm5
  3727. vpand %xmm14,%xmm6,%xmm6
  3728. vpaddd %xmm3,%xmm3,%xmm3
  3729. vpslld $30,%xmm14,%xmm7
  3730. vpaddd %xmm6,%xmm12,%xmm12
  3731. vpsrld $2,%xmm14,%xmm14
  3732. vpaddd %xmm8,%xmm12,%xmm12
  3733. vpor %xmm5,%xmm3,%xmm3
  3734. vpor %xmm7,%xmm14,%xmm14
  3735. vpxor %xmm1,%xmm4,%xmm4
  3736. vmovdqa 128-128(%rax),%xmm1
  3737. vpaddd %xmm15,%xmm11,%xmm11
  3738. vpslld $5,%xmm12,%xmm8
  3739. vpand %xmm14,%xmm10,%xmm7
  3740. vpxor 224-128(%rax),%xmm4,%xmm4
  3741. vpaddd %xmm7,%xmm11,%xmm11
  3742. vpsrld $27,%xmm12,%xmm9
  3743. vpxor %xmm14,%xmm10,%xmm6
  3744. vpxor %xmm1,%xmm4,%xmm4
  3745. vmovdqu %xmm3,80-128(%rax)
  3746. vpaddd %xmm3,%xmm11,%xmm11
  3747. vpor %xmm9,%xmm8,%xmm8
  3748. vpsrld $31,%xmm4,%xmm5
  3749. vpand %xmm13,%xmm6,%xmm6
  3750. vpaddd %xmm4,%xmm4,%xmm4
  3751. vpslld $30,%xmm13,%xmm7
  3752. vpaddd %xmm6,%xmm11,%xmm11
  3753. vpsrld $2,%xmm13,%xmm13
  3754. vpaddd %xmm8,%xmm11,%xmm11
  3755. vpor %xmm5,%xmm4,%xmm4
  3756. vpor %xmm7,%xmm13,%xmm13
  3757. vpxor %xmm2,%xmm0,%xmm0
  3758. vmovdqa 144-128(%rax),%xmm2
  3759. vpaddd %xmm15,%xmm10,%xmm10
  3760. vpslld $5,%xmm11,%xmm8
  3761. vpand %xmm13,%xmm14,%xmm7
  3762. vpxor 240-128(%rax),%xmm0,%xmm0
  3763. vpaddd %xmm7,%xmm10,%xmm10
  3764. vpsrld $27,%xmm11,%xmm9
  3765. vpxor %xmm13,%xmm14,%xmm6
  3766. vpxor %xmm2,%xmm0,%xmm0
  3767. vmovdqu %xmm4,96-128(%rax)
  3768. vpaddd %xmm4,%xmm10,%xmm10
  3769. vpor %xmm9,%xmm8,%xmm8
  3770. vpsrld $31,%xmm0,%xmm5
  3771. vpand %xmm12,%xmm6,%xmm6
  3772. vpaddd %xmm0,%xmm0,%xmm0
  3773. vpslld $30,%xmm12,%xmm7
  3774. vpaddd %xmm6,%xmm10,%xmm10
  3775. vpsrld $2,%xmm12,%xmm12
  3776. vpaddd %xmm8,%xmm10,%xmm10
  3777. vpor %xmm5,%xmm0,%xmm0
  3778. vpor %xmm7,%xmm12,%xmm12
  3779. vpxor %xmm3,%xmm1,%xmm1
  3780. vmovdqa 160-128(%rax),%xmm3
  3781. vpaddd %xmm15,%xmm14,%xmm14
  3782. vpslld $5,%xmm10,%xmm8
  3783. vpand %xmm12,%xmm13,%xmm7
  3784. vpxor 0-128(%rax),%xmm1,%xmm1
  3785. vpaddd %xmm7,%xmm14,%xmm14
  3786. vpsrld $27,%xmm10,%xmm9
  3787. vpxor %xmm12,%xmm13,%xmm6
  3788. vpxor %xmm3,%xmm1,%xmm1
  3789. vmovdqu %xmm0,112-128(%rax)
  3790. vpaddd %xmm0,%xmm14,%xmm14
  3791. vpor %xmm9,%xmm8,%xmm8
  3792. vpsrld $31,%xmm1,%xmm5
  3793. vpand %xmm11,%xmm6,%xmm6
  3794. vpaddd %xmm1,%xmm1,%xmm1
  3795. vpslld $30,%xmm11,%xmm7
  3796. vpaddd %xmm6,%xmm14,%xmm14
  3797. vpsrld $2,%xmm11,%xmm11
  3798. vpaddd %xmm8,%xmm14,%xmm14
  3799. vpor %xmm5,%xmm1,%xmm1
  3800. vpor %xmm7,%xmm11,%xmm11
  3801. vpxor %xmm4,%xmm2,%xmm2
  3802. vmovdqa 176-128(%rax),%xmm4
  3803. vpaddd %xmm15,%xmm13,%xmm13
  3804. vpslld $5,%xmm14,%xmm8
  3805. vpand %xmm11,%xmm12,%xmm7
  3806. vpxor 16-128(%rax),%xmm2,%xmm2
  3807. vpaddd %xmm7,%xmm13,%xmm13
  3808. vpsrld $27,%xmm14,%xmm9
  3809. vpxor %xmm11,%xmm12,%xmm6
  3810. vpxor %xmm4,%xmm2,%xmm2
  3811. vmovdqu %xmm1,128-128(%rax)
  3812. vpaddd %xmm1,%xmm13,%xmm13
  3813. vpor %xmm9,%xmm8,%xmm8
  3814. vpsrld $31,%xmm2,%xmm5
  3815. vpand %xmm10,%xmm6,%xmm6
  3816. vpaddd %xmm2,%xmm2,%xmm2
  3817. vpslld $30,%xmm10,%xmm7
  3818. vpaddd %xmm6,%xmm13,%xmm13
  3819. vpsrld $2,%xmm10,%xmm10
  3820. vpaddd %xmm8,%xmm13,%xmm13
  3821. vpor %xmm5,%xmm2,%xmm2
  3822. vpor %xmm7,%xmm10,%xmm10
  3823. vpxor %xmm0,%xmm3,%xmm3
  3824. vmovdqa 192-128(%rax),%xmm0
  3825. vpaddd %xmm15,%xmm12,%xmm12
  3826. vpslld $5,%xmm13,%xmm8
  3827. vpand %xmm10,%xmm11,%xmm7
  3828. vpxor 32-128(%rax),%xmm3,%xmm3
  3829. vpaddd %xmm7,%xmm12,%xmm12
  3830. vpsrld $27,%xmm13,%xmm9
  3831. vpxor %xmm10,%xmm11,%xmm6
  3832. vpxor %xmm0,%xmm3,%xmm3
  3833. vmovdqu %xmm2,144-128(%rax)
  3834. vpaddd %xmm2,%xmm12,%xmm12
  3835. vpor %xmm9,%xmm8,%xmm8
  3836. vpsrld $31,%xmm3,%xmm5
  3837. vpand %xmm14,%xmm6,%xmm6
  3838. vpaddd %xmm3,%xmm3,%xmm3
  3839. vpslld $30,%xmm14,%xmm7
  3840. vpaddd %xmm6,%xmm12,%xmm12
  3841. vpsrld $2,%xmm14,%xmm14
  3842. vpaddd %xmm8,%xmm12,%xmm12
  3843. vpor %xmm5,%xmm3,%xmm3
  3844. vpor %xmm7,%xmm14,%xmm14
  3845. vpxor %xmm1,%xmm4,%xmm4
  3846. vmovdqa 208-128(%rax),%xmm1
  3847. vpaddd %xmm15,%xmm11,%xmm11
  3848. vpslld $5,%xmm12,%xmm8
  3849. vpand %xmm14,%xmm10,%xmm7
  3850. vpxor 48-128(%rax),%xmm4,%xmm4
  3851. vpaddd %xmm7,%xmm11,%xmm11
  3852. vpsrld $27,%xmm12,%xmm9
  3853. vpxor %xmm14,%xmm10,%xmm6
  3854. vpxor %xmm1,%xmm4,%xmm4
  3855. vmovdqu %xmm3,160-128(%rax)
  3856. vpaddd %xmm3,%xmm11,%xmm11
  3857. vpor %xmm9,%xmm8,%xmm8
  3858. vpsrld $31,%xmm4,%xmm5
  3859. vpand %xmm13,%xmm6,%xmm6
  3860. vpaddd %xmm4,%xmm4,%xmm4
  3861. vpslld $30,%xmm13,%xmm7
  3862. vpaddd %xmm6,%xmm11,%xmm11
  3863. vpsrld $2,%xmm13,%xmm13
  3864. vpaddd %xmm8,%xmm11,%xmm11
  3865. vpor %xmm5,%xmm4,%xmm4
  3866. vpor %xmm7,%xmm13,%xmm13
  3867. vpxor %xmm2,%xmm0,%xmm0
  3868. vmovdqa 224-128(%rax),%xmm2
  3869. vpaddd %xmm15,%xmm10,%xmm10
  3870. vpslld $5,%xmm11,%xmm8
  3871. vpand %xmm13,%xmm14,%xmm7
  3872. vpxor 64-128(%rax),%xmm0,%xmm0
  3873. vpaddd %xmm7,%xmm10,%xmm10
  3874. vpsrld $27,%xmm11,%xmm9
  3875. vpxor %xmm13,%xmm14,%xmm6
  3876. vpxor %xmm2,%xmm0,%xmm0
  3877. vmovdqu %xmm4,176-128(%rax)
  3878. vpaddd %xmm4,%xmm10,%xmm10
  3879. vpor %xmm9,%xmm8,%xmm8
  3880. vpsrld $31,%xmm0,%xmm5
  3881. vpand %xmm12,%xmm6,%xmm6
  3882. vpaddd %xmm0,%xmm0,%xmm0
  3883. vpslld $30,%xmm12,%xmm7
  3884. vpaddd %xmm6,%xmm10,%xmm10
  3885. vpsrld $2,%xmm12,%xmm12
  3886. vpaddd %xmm8,%xmm10,%xmm10
  3887. vpor %xmm5,%xmm0,%xmm0
  3888. vpor %xmm7,%xmm12,%xmm12
  3889. vmovdqa 64(%rbp),%xmm15
  3890. vpxor %xmm3,%xmm1,%xmm1
  3891. vmovdqa 240-128(%rax),%xmm3
  3892. vpslld $5,%xmm10,%xmm8
  3893. vpaddd %xmm15,%xmm14,%xmm14
  3894. vpxor %xmm11,%xmm13,%xmm6
  3895. vmovdqa %xmm0,192-128(%rax)
  3896. vpaddd %xmm0,%xmm14,%xmm14
  3897. vpxor 80-128(%rax),%xmm1,%xmm1
  3898. vpsrld $27,%xmm10,%xmm9
  3899. vpxor %xmm12,%xmm6,%xmm6
  3900. vpxor %xmm3,%xmm1,%xmm1
  3901. vpslld $30,%xmm11,%xmm7
  3902. vpor %xmm9,%xmm8,%xmm8
  3903. vpaddd %xmm6,%xmm14,%xmm14
  3904. vpsrld $31,%xmm1,%xmm5
  3905. vpaddd %xmm1,%xmm1,%xmm1
  3906. vpsrld $2,%xmm11,%xmm11
  3907. vpaddd %xmm8,%xmm14,%xmm14
  3908. vpor %xmm5,%xmm1,%xmm1
  3909. vpor %xmm7,%xmm11,%xmm11
  3910. vpxor %xmm4,%xmm2,%xmm2
  3911. vmovdqa 0-128(%rax),%xmm4
  3912. vpslld $5,%xmm14,%xmm8
  3913. vpaddd %xmm15,%xmm13,%xmm13
  3914. vpxor %xmm10,%xmm12,%xmm6
  3915. vmovdqa %xmm1,208-128(%rax)
  3916. vpaddd %xmm1,%xmm13,%xmm13
  3917. vpxor 96-128(%rax),%xmm2,%xmm2
  3918. vpsrld $27,%xmm14,%xmm9
  3919. vpxor %xmm11,%xmm6,%xmm6
  3920. vpxor %xmm4,%xmm2,%xmm2
  3921. vpslld $30,%xmm10,%xmm7
  3922. vpor %xmm9,%xmm8,%xmm8
  3923. vpaddd %xmm6,%xmm13,%xmm13
  3924. vpsrld $31,%xmm2,%xmm5
  3925. vpaddd %xmm2,%xmm2,%xmm2
  3926. vpsrld $2,%xmm10,%xmm10
  3927. vpaddd %xmm8,%xmm13,%xmm13
  3928. vpor %xmm5,%xmm2,%xmm2
  3929. vpor %xmm7,%xmm10,%xmm10
  3930. vpxor %xmm0,%xmm3,%xmm3
  3931. vmovdqa 16-128(%rax),%xmm0
  3932. vpslld $5,%xmm13,%xmm8
  3933. vpaddd %xmm15,%xmm12,%xmm12
  3934. vpxor %xmm14,%xmm11,%xmm6
  3935. vmovdqa %xmm2,224-128(%rax)
  3936. vpaddd %xmm2,%xmm12,%xmm12
  3937. vpxor 112-128(%rax),%xmm3,%xmm3
  3938. vpsrld $27,%xmm13,%xmm9
  3939. vpxor %xmm10,%xmm6,%xmm6
  3940. vpxor %xmm0,%xmm3,%xmm3
  3941. vpslld $30,%xmm14,%xmm7
  3942. vpor %xmm9,%xmm8,%xmm8
  3943. vpaddd %xmm6,%xmm12,%xmm12
  3944. vpsrld $31,%xmm3,%xmm5
  3945. vpaddd %xmm3,%xmm3,%xmm3
  3946. vpsrld $2,%xmm14,%xmm14
  3947. vpaddd %xmm8,%xmm12,%xmm12
  3948. vpor %xmm5,%xmm3,%xmm3
  3949. vpor %xmm7,%xmm14,%xmm14
  3950. vpxor %xmm1,%xmm4,%xmm4
  3951. vmovdqa 32-128(%rax),%xmm1
  3952. vpslld $5,%xmm12,%xmm8
  3953. vpaddd %xmm15,%xmm11,%xmm11
  3954. vpxor %xmm13,%xmm10,%xmm6
  3955. vmovdqa %xmm3,240-128(%rax)
  3956. vpaddd %xmm3,%xmm11,%xmm11
  3957. vpxor 128-128(%rax),%xmm4,%xmm4
  3958. vpsrld $27,%xmm12,%xmm9
  3959. vpxor %xmm14,%xmm6,%xmm6
  3960. vpxor %xmm1,%xmm4,%xmm4
  3961. vpslld $30,%xmm13,%xmm7
  3962. vpor %xmm9,%xmm8,%xmm8
  3963. vpaddd %xmm6,%xmm11,%xmm11
  3964. vpsrld $31,%xmm4,%xmm5
  3965. vpaddd %xmm4,%xmm4,%xmm4
  3966. vpsrld $2,%xmm13,%xmm13
  3967. vpaddd %xmm8,%xmm11,%xmm11
  3968. vpor %xmm5,%xmm4,%xmm4
  3969. vpor %xmm7,%xmm13,%xmm13
  3970. vpxor %xmm2,%xmm0,%xmm0
  3971. vmovdqa 48-128(%rax),%xmm2
  3972. vpslld $5,%xmm11,%xmm8
  3973. vpaddd %xmm15,%xmm10,%xmm10
  3974. vpxor %xmm12,%xmm14,%xmm6
  3975. vmovdqa %xmm4,0-128(%rax)
  3976. vpaddd %xmm4,%xmm10,%xmm10
  3977. vpxor 144-128(%rax),%xmm0,%xmm0
  3978. vpsrld $27,%xmm11,%xmm9
  3979. vpxor %xmm13,%xmm6,%xmm6
  3980. vpxor %xmm2,%xmm0,%xmm0
  3981. vpslld $30,%xmm12,%xmm7
  3982. vpor %xmm9,%xmm8,%xmm8
  3983. vpaddd %xmm6,%xmm10,%xmm10
  3984. vpsrld $31,%xmm0,%xmm5
  3985. vpaddd %xmm0,%xmm0,%xmm0
  3986. vpsrld $2,%xmm12,%xmm12
  3987. vpaddd %xmm8,%xmm10,%xmm10
  3988. vpor %xmm5,%xmm0,%xmm0
  3989. vpor %xmm7,%xmm12,%xmm12
  3990. vpxor %xmm3,%xmm1,%xmm1
  3991. vmovdqa 64-128(%rax),%xmm3
  3992. vpslld $5,%xmm10,%xmm8
  3993. vpaddd %xmm15,%xmm14,%xmm14
  3994. vpxor %xmm11,%xmm13,%xmm6
  3995. vmovdqa %xmm0,16-128(%rax)
  3996. vpaddd %xmm0,%xmm14,%xmm14
  3997. vpxor 160-128(%rax),%xmm1,%xmm1
  3998. vpsrld $27,%xmm10,%xmm9
  3999. vpxor %xmm12,%xmm6,%xmm6
  4000. vpxor %xmm3,%xmm1,%xmm1
  4001. vpslld $30,%xmm11,%xmm7
  4002. vpor %xmm9,%xmm8,%xmm8
  4003. vpaddd %xmm6,%xmm14,%xmm14
  4004. vpsrld $31,%xmm1,%xmm5
  4005. vpaddd %xmm1,%xmm1,%xmm1
  4006. vpsrld $2,%xmm11,%xmm11
  4007. vpaddd %xmm8,%xmm14,%xmm14
  4008. vpor %xmm5,%xmm1,%xmm1
  4009. vpor %xmm7,%xmm11,%xmm11
  4010. vpxor %xmm4,%xmm2,%xmm2
  4011. vmovdqa 80-128(%rax),%xmm4
  4012. vpslld $5,%xmm14,%xmm8
  4013. vpaddd %xmm15,%xmm13,%xmm13
  4014. vpxor %xmm10,%xmm12,%xmm6
  4015. vmovdqa %xmm1,32-128(%rax)
  4016. vpaddd %xmm1,%xmm13,%xmm13
  4017. vpxor 176-128(%rax),%xmm2,%xmm2
  4018. vpsrld $27,%xmm14,%xmm9
  4019. vpxor %xmm11,%xmm6,%xmm6
  4020. vpxor %xmm4,%xmm2,%xmm2
  4021. vpslld $30,%xmm10,%xmm7
  4022. vpor %xmm9,%xmm8,%xmm8
  4023. vpaddd %xmm6,%xmm13,%xmm13
  4024. vpsrld $31,%xmm2,%xmm5
  4025. vpaddd %xmm2,%xmm2,%xmm2
  4026. vpsrld $2,%xmm10,%xmm10
  4027. vpaddd %xmm8,%xmm13,%xmm13
  4028. vpor %xmm5,%xmm2,%xmm2
  4029. vpor %xmm7,%xmm10,%xmm10
  4030. vpxor %xmm0,%xmm3,%xmm3
  4031. vmovdqa 96-128(%rax),%xmm0
  4032. vpslld $5,%xmm13,%xmm8
  4033. vpaddd %xmm15,%xmm12,%xmm12
  4034. vpxor %xmm14,%xmm11,%xmm6
  4035. vmovdqa %xmm2,48-128(%rax)
  4036. vpaddd %xmm2,%xmm12,%xmm12
  4037. vpxor 192-128(%rax),%xmm3,%xmm3
  4038. vpsrld $27,%xmm13,%xmm9
  4039. vpxor %xmm10,%xmm6,%xmm6
  4040. vpxor %xmm0,%xmm3,%xmm3
  4041. vpslld $30,%xmm14,%xmm7
  4042. vpor %xmm9,%xmm8,%xmm8
  4043. vpaddd %xmm6,%xmm12,%xmm12
  4044. vpsrld $31,%xmm3,%xmm5
  4045. vpaddd %xmm3,%xmm3,%xmm3
  4046. vpsrld $2,%xmm14,%xmm14
  4047. vpaddd %xmm8,%xmm12,%xmm12
  4048. vpor %xmm5,%xmm3,%xmm3
  4049. vpor %xmm7,%xmm14,%xmm14
  4050. vpxor %xmm1,%xmm4,%xmm4
  4051. vmovdqa 112-128(%rax),%xmm1
  4052. vpslld $5,%xmm12,%xmm8
  4053. vpaddd %xmm15,%xmm11,%xmm11
  4054. vpxor %xmm13,%xmm10,%xmm6
  4055. vmovdqa %xmm3,64-128(%rax)
  4056. vpaddd %xmm3,%xmm11,%xmm11
  4057. vpxor 208-128(%rax),%xmm4,%xmm4
  4058. vpsrld $27,%xmm12,%xmm9
  4059. vpxor %xmm14,%xmm6,%xmm6
  4060. vpxor %xmm1,%xmm4,%xmm4
  4061. vpslld $30,%xmm13,%xmm7
  4062. vpor %xmm9,%xmm8,%xmm8
  4063. vpaddd %xmm6,%xmm11,%xmm11
  4064. vpsrld $31,%xmm4,%xmm5
  4065. vpaddd %xmm4,%xmm4,%xmm4
  4066. vpsrld $2,%xmm13,%xmm13
  4067. vpaddd %xmm8,%xmm11,%xmm11
  4068. vpor %xmm5,%xmm4,%xmm4
  4069. vpor %xmm7,%xmm13,%xmm13
  4070. vpxor %xmm2,%xmm0,%xmm0
  4071. vmovdqa 128-128(%rax),%xmm2
  4072. vpslld $5,%xmm11,%xmm8
  4073. vpaddd %xmm15,%xmm10,%xmm10
  4074. vpxor %xmm12,%xmm14,%xmm6
  4075. vmovdqa %xmm4,80-128(%rax)
  4076. vpaddd %xmm4,%xmm10,%xmm10
  4077. vpxor 224-128(%rax),%xmm0,%xmm0
  4078. vpsrld $27,%xmm11,%xmm9
  4079. vpxor %xmm13,%xmm6,%xmm6
  4080. vpxor %xmm2,%xmm0,%xmm0
  4081. vpslld $30,%xmm12,%xmm7
  4082. vpor %xmm9,%xmm8,%xmm8
  4083. vpaddd %xmm6,%xmm10,%xmm10
  4084. vpsrld $31,%xmm0,%xmm5
  4085. vpaddd %xmm0,%xmm0,%xmm0
  4086. vpsrld $2,%xmm12,%xmm12
  4087. vpaddd %xmm8,%xmm10,%xmm10
  4088. vpor %xmm5,%xmm0,%xmm0
  4089. vpor %xmm7,%xmm12,%xmm12
  4090. vpxor %xmm3,%xmm1,%xmm1
  4091. vmovdqa 144-128(%rax),%xmm3
  4092. vpslld $5,%xmm10,%xmm8
  4093. vpaddd %xmm15,%xmm14,%xmm14
  4094. vpxor %xmm11,%xmm13,%xmm6
  4095. vmovdqa %xmm0,96-128(%rax)
  4096. vpaddd %xmm0,%xmm14,%xmm14
  4097. vpxor 240-128(%rax),%xmm1,%xmm1
  4098. vpsrld $27,%xmm10,%xmm9
  4099. vpxor %xmm12,%xmm6,%xmm6
  4100. vpxor %xmm3,%xmm1,%xmm1
  4101. vpslld $30,%xmm11,%xmm7
  4102. vpor %xmm9,%xmm8,%xmm8
  4103. vpaddd %xmm6,%xmm14,%xmm14
  4104. vpsrld $31,%xmm1,%xmm5
  4105. vpaddd %xmm1,%xmm1,%xmm1
  4106. vpsrld $2,%xmm11,%xmm11
  4107. vpaddd %xmm8,%xmm14,%xmm14
  4108. vpor %xmm5,%xmm1,%xmm1
  4109. vpor %xmm7,%xmm11,%xmm11
  4110. vpxor %xmm4,%xmm2,%xmm2
  4111. vmovdqa 160-128(%rax),%xmm4
  4112. vpslld $5,%xmm14,%xmm8
  4113. vpaddd %xmm15,%xmm13,%xmm13
  4114. vpxor %xmm10,%xmm12,%xmm6
  4115. vmovdqa %xmm1,112-128(%rax)
  4116. vpaddd %xmm1,%xmm13,%xmm13
  4117. vpxor 0-128(%rax),%xmm2,%xmm2
  4118. vpsrld $27,%xmm14,%xmm9
  4119. vpxor %xmm11,%xmm6,%xmm6
  4120. vpxor %xmm4,%xmm2,%xmm2
  4121. vpslld $30,%xmm10,%xmm7
  4122. vpor %xmm9,%xmm8,%xmm8
  4123. vpaddd %xmm6,%xmm13,%xmm13
  4124. vpsrld $31,%xmm2,%xmm5
  4125. vpaddd %xmm2,%xmm2,%xmm2
  4126. vpsrld $2,%xmm10,%xmm10
  4127. vpaddd %xmm8,%xmm13,%xmm13
  4128. vpor %xmm5,%xmm2,%xmm2
  4129. vpor %xmm7,%xmm10,%xmm10
  4130. vpxor %xmm0,%xmm3,%xmm3
  4131. vmovdqa 176-128(%rax),%xmm0
  4132. vpslld $5,%xmm13,%xmm8
  4133. vpaddd %xmm15,%xmm12,%xmm12
  4134. vpxor %xmm14,%xmm11,%xmm6
  4135. vpaddd %xmm2,%xmm12,%xmm12
  4136. vpxor 16-128(%rax),%xmm3,%xmm3
  4137. vpsrld $27,%xmm13,%xmm9
  4138. vpxor %xmm10,%xmm6,%xmm6
  4139. vpxor %xmm0,%xmm3,%xmm3
  4140. vpslld $30,%xmm14,%xmm7
  4141. vpor %xmm9,%xmm8,%xmm8
  4142. vpaddd %xmm6,%xmm12,%xmm12
  4143. vpsrld $31,%xmm3,%xmm5
  4144. vpaddd %xmm3,%xmm3,%xmm3
  4145. vpsrld $2,%xmm14,%xmm14
  4146. vpaddd %xmm8,%xmm12,%xmm12
  4147. vpor %xmm5,%xmm3,%xmm3
  4148. vpor %xmm7,%xmm14,%xmm14
  4149. vpxor %xmm1,%xmm4,%xmm4
  4150. vmovdqa 192-128(%rax),%xmm1
  4151. vpslld $5,%xmm12,%xmm8
  4152. vpaddd %xmm15,%xmm11,%xmm11
  4153. vpxor %xmm13,%xmm10,%xmm6
  4154. vpaddd %xmm3,%xmm11,%xmm11
  4155. vpxor 32-128(%rax),%xmm4,%xmm4
  4156. vpsrld $27,%xmm12,%xmm9
  4157. vpxor %xmm14,%xmm6,%xmm6
  4158. vpxor %xmm1,%xmm4,%xmm4
  4159. vpslld $30,%xmm13,%xmm7
  4160. vpor %xmm9,%xmm8,%xmm8
  4161. vpaddd %xmm6,%xmm11,%xmm11
  4162. vpsrld $31,%xmm4,%xmm5
  4163. vpaddd %xmm4,%xmm4,%xmm4
  4164. vpsrld $2,%xmm13,%xmm13
  4165. vpaddd %xmm8,%xmm11,%xmm11
  4166. vpor %xmm5,%xmm4,%xmm4
  4167. vpor %xmm7,%xmm13,%xmm13
  4168. vpxor %xmm2,%xmm0,%xmm0
  4169. vmovdqa 208-128(%rax),%xmm2
  4170. vpslld $5,%xmm11,%xmm8
  4171. vpaddd %xmm15,%xmm10,%xmm10
  4172. vpxor %xmm12,%xmm14,%xmm6
  4173. vpaddd %xmm4,%xmm10,%xmm10
  4174. vpxor 48-128(%rax),%xmm0,%xmm0
  4175. vpsrld $27,%xmm11,%xmm9
  4176. vpxor %xmm13,%xmm6,%xmm6
  4177. vpxor %xmm2,%xmm0,%xmm0
  4178. vpslld $30,%xmm12,%xmm7
  4179. vpor %xmm9,%xmm8,%xmm8
  4180. vpaddd %xmm6,%xmm10,%xmm10
  4181. vpsrld $31,%xmm0,%xmm5
  4182. vpaddd %xmm0,%xmm0,%xmm0
  4183. vpsrld $2,%xmm12,%xmm12
  4184. vpaddd %xmm8,%xmm10,%xmm10
  4185. vpor %xmm5,%xmm0,%xmm0
  4186. vpor %xmm7,%xmm12,%xmm12
  4187. vpxor %xmm3,%xmm1,%xmm1
  4188. vmovdqa 224-128(%rax),%xmm3
  4189. vpslld $5,%xmm10,%xmm8
  4190. vpaddd %xmm15,%xmm14,%xmm14
  4191. vpxor %xmm11,%xmm13,%xmm6
  4192. vpaddd %xmm0,%xmm14,%xmm14
  4193. vpxor 64-128(%rax),%xmm1,%xmm1
  4194. vpsrld $27,%xmm10,%xmm9
  4195. vpxor %xmm12,%xmm6,%xmm6
  4196. vpxor %xmm3,%xmm1,%xmm1
  4197. vpslld $30,%xmm11,%xmm7
  4198. vpor %xmm9,%xmm8,%xmm8
  4199. vpaddd %xmm6,%xmm14,%xmm14
  4200. vpsrld $31,%xmm1,%xmm5
  4201. vpaddd %xmm1,%xmm1,%xmm1
  4202. vpsrld $2,%xmm11,%xmm11
  4203. vpaddd %xmm8,%xmm14,%xmm14
  4204. vpor %xmm5,%xmm1,%xmm1
  4205. vpor %xmm7,%xmm11,%xmm11
  4206. vpxor %xmm4,%xmm2,%xmm2
  4207. vmovdqa 240-128(%rax),%xmm4
  4208. vpslld $5,%xmm14,%xmm8
  4209. vpaddd %xmm15,%xmm13,%xmm13
  4210. vpxor %xmm10,%xmm12,%xmm6
  4211. vpaddd %xmm1,%xmm13,%xmm13
  4212. vpxor 80-128(%rax),%xmm2,%xmm2
  4213. vpsrld $27,%xmm14,%xmm9
  4214. vpxor %xmm11,%xmm6,%xmm6
  4215. vpxor %xmm4,%xmm2,%xmm2
  4216. vpslld $30,%xmm10,%xmm7
  4217. vpor %xmm9,%xmm8,%xmm8
  4218. vpaddd %xmm6,%xmm13,%xmm13
  4219. vpsrld $31,%xmm2,%xmm5
  4220. vpaddd %xmm2,%xmm2,%xmm2
  4221. vpsrld $2,%xmm10,%xmm10
  4222. vpaddd %xmm8,%xmm13,%xmm13
  4223. vpor %xmm5,%xmm2,%xmm2
  4224. vpor %xmm7,%xmm10,%xmm10
  4225. vpxor %xmm0,%xmm3,%xmm3
  4226. vmovdqa 0-128(%rax),%xmm0
  4227. vpslld $5,%xmm13,%xmm8
  4228. vpaddd %xmm15,%xmm12,%xmm12
  4229. vpxor %xmm14,%xmm11,%xmm6
  4230. vpaddd %xmm2,%xmm12,%xmm12
  4231. vpxor 96-128(%rax),%xmm3,%xmm3
  4232. vpsrld $27,%xmm13,%xmm9
  4233. vpxor %xmm10,%xmm6,%xmm6
  4234. vpxor %xmm0,%xmm3,%xmm3
  4235. vpslld $30,%xmm14,%xmm7
  4236. vpor %xmm9,%xmm8,%xmm8
  4237. vpaddd %xmm6,%xmm12,%xmm12
  4238. vpsrld $31,%xmm3,%xmm5
  4239. vpaddd %xmm3,%xmm3,%xmm3
  4240. vpsrld $2,%xmm14,%xmm14
  4241. vpaddd %xmm8,%xmm12,%xmm12
  4242. vpor %xmm5,%xmm3,%xmm3
  4243. vpor %xmm7,%xmm14,%xmm14
  4244. vpxor %xmm1,%xmm4,%xmm4
  4245. vmovdqa 16-128(%rax),%xmm1
  4246. vpslld $5,%xmm12,%xmm8
  4247. vpaddd %xmm15,%xmm11,%xmm11
  4248. vpxor %xmm13,%xmm10,%xmm6
  4249. vpaddd %xmm3,%xmm11,%xmm11
  4250. vpxor 112-128(%rax),%xmm4,%xmm4
  4251. vpsrld $27,%xmm12,%xmm9
  4252. vpxor %xmm14,%xmm6,%xmm6
  4253. vpxor %xmm1,%xmm4,%xmm4
  4254. vpslld $30,%xmm13,%xmm7
  4255. vpor %xmm9,%xmm8,%xmm8
  4256. vpaddd %xmm6,%xmm11,%xmm11
  4257. vpsrld $31,%xmm4,%xmm5
  4258. vpaddd %xmm4,%xmm4,%xmm4
  4259. vpsrld $2,%xmm13,%xmm13
  4260. vpaddd %xmm8,%xmm11,%xmm11
  4261. vpor %xmm5,%xmm4,%xmm4
  4262. vpor %xmm7,%xmm13,%xmm13
  4263. vpslld $5,%xmm11,%xmm8
  4264. vpaddd %xmm15,%xmm10,%xmm10
  4265. vpxor %xmm12,%xmm14,%xmm6
  4266. vpsrld $27,%xmm11,%xmm9
  4267. vpaddd %xmm4,%xmm10,%xmm10
  4268. vpxor %xmm13,%xmm6,%xmm6
  4269. vpslld $30,%xmm12,%xmm7
  4270. vpor %xmm9,%xmm8,%xmm8
  4271. vpaddd %xmm6,%xmm10,%xmm10
  4272. vpsrld $2,%xmm12,%xmm12
  4273. vpaddd %xmm8,%xmm10,%xmm10
  4274. vpor %xmm7,%xmm12,%xmm12
  4275. movl $1,%ecx
  4276. cmpl 0(%rbx),%ecx
  4277. cmovgeq %rbp,%r8
  4278. cmpl 4(%rbx),%ecx
  4279. cmovgeq %rbp,%r9
  4280. cmpl 8(%rbx),%ecx
  4281. cmovgeq %rbp,%r10
  4282. cmpl 12(%rbx),%ecx
  4283. cmovgeq %rbp,%r11
  4284. vmovdqu (%rbx),%xmm6
  4285. vpxor %xmm8,%xmm8,%xmm8
  4286. vmovdqa %xmm6,%xmm7
  4287. vpcmpgtd %xmm8,%xmm7,%xmm7
  4288. vpaddd %xmm7,%xmm6,%xmm6
  4289. vpand %xmm7,%xmm10,%xmm10
  4290. vpand %xmm7,%xmm11,%xmm11
  4291. vpaddd 0(%rdi),%xmm10,%xmm10
  4292. vpand %xmm7,%xmm12,%xmm12
  4293. vpaddd 32(%rdi),%xmm11,%xmm11
  4294. vpand %xmm7,%xmm13,%xmm13
  4295. vpaddd 64(%rdi),%xmm12,%xmm12
  4296. vpand %xmm7,%xmm14,%xmm14
  4297. vpaddd 96(%rdi),%xmm13,%xmm13
  4298. vpaddd 128(%rdi),%xmm14,%xmm14
  4299. vmovdqu %xmm10,0(%rdi)
  4300. vmovdqu %xmm11,32(%rdi)
  4301. vmovdqu %xmm12,64(%rdi)
  4302. vmovdqu %xmm13,96(%rdi)
  4303. vmovdqu %xmm14,128(%rdi)
  4304. vmovdqu %xmm6,(%rbx)
  4305. vmovdqu 96(%rbp),%xmm5
  4306. decl %edx
  4307. jnz L$oop_avx
  4308. movl 280(%rsp),%edx
  4309. leaq 16(%rdi),%rdi
  4310. leaq 64(%rsi),%rsi
  4311. decl %edx
  4312. jnz L$oop_grande_avx
  4313. L$done_avx:
  4314. movq 272(%rsp),%rax
  4315. vzeroupper
  4316. movq -16(%rax),%rbp
  4317. movq -8(%rax),%rbx
  4318. leaq (%rax),%rsp
  4319. L$epilogue_avx:
  4320. .byte 0xf3,0xc3
  4321. .p2align 5
  4322. sha1_multi_block_avx2:
  4323. _avx2_shortcut:
  4324. movq %rsp,%rax
  4325. pushq %rbx
  4326. pushq %rbp
  4327. pushq %r12
  4328. pushq %r13
  4329. pushq %r14
  4330. pushq %r15
  4331. subq $576,%rsp
  4332. andq $-256,%rsp
  4333. movq %rax,544(%rsp)
  4334. L$body_avx2:
  4335. leaq K_XX_XX(%rip),%rbp
  4336. shrl $1,%edx
  4337. vzeroupper
  4338. L$oop_grande_avx2:
  4339. movl %edx,552(%rsp)
  4340. xorl %edx,%edx
  4341. leaq 512(%rsp),%rbx
  4342. movq 0(%rsi),%r12
  4343. movl 8(%rsi),%ecx
  4344. cmpl %edx,%ecx
  4345. cmovgl %ecx,%edx
  4346. testl %ecx,%ecx
  4347. movl %ecx,0(%rbx)
  4348. cmovleq %rbp,%r12
  4349. movq 16(%rsi),%r13
  4350. movl 24(%rsi),%ecx
  4351. cmpl %edx,%ecx
  4352. cmovgl %ecx,%edx
  4353. testl %ecx,%ecx
  4354. movl %ecx,4(%rbx)
  4355. cmovleq %rbp,%r13
  4356. movq 32(%rsi),%r14
  4357. movl 40(%rsi),%ecx
  4358. cmpl %edx,%ecx
  4359. cmovgl %ecx,%edx
  4360. testl %ecx,%ecx
  4361. movl %ecx,8(%rbx)
  4362. cmovleq %rbp,%r14
  4363. movq 48(%rsi),%r15
  4364. movl 56(%rsi),%ecx
  4365. cmpl %edx,%ecx
  4366. cmovgl %ecx,%edx
  4367. testl %ecx,%ecx
  4368. movl %ecx,12(%rbx)
  4369. cmovleq %rbp,%r15
  4370. movq 64(%rsi),%r8
  4371. movl 72(%rsi),%ecx
  4372. cmpl %edx,%ecx
  4373. cmovgl %ecx,%edx
  4374. testl %ecx,%ecx
  4375. movl %ecx,16(%rbx)
  4376. cmovleq %rbp,%r8
  4377. movq 80(%rsi),%r9
  4378. movl 88(%rsi),%ecx
  4379. cmpl %edx,%ecx
  4380. cmovgl %ecx,%edx
  4381. testl %ecx,%ecx
  4382. movl %ecx,20(%rbx)
  4383. cmovleq %rbp,%r9
  4384. movq 96(%rsi),%r10
  4385. movl 104(%rsi),%ecx
  4386. cmpl %edx,%ecx
  4387. cmovgl %ecx,%edx
  4388. testl %ecx,%ecx
  4389. movl %ecx,24(%rbx)
  4390. cmovleq %rbp,%r10
  4391. movq 112(%rsi),%r11
  4392. movl 120(%rsi),%ecx
  4393. cmpl %edx,%ecx
  4394. cmovgl %ecx,%edx
  4395. testl %ecx,%ecx
  4396. movl %ecx,28(%rbx)
  4397. cmovleq %rbp,%r11
  4398. vmovdqu 0(%rdi),%ymm0
  4399. leaq 128(%rsp),%rax
  4400. vmovdqu 32(%rdi),%ymm1
  4401. leaq 256+128(%rsp),%rbx
  4402. vmovdqu 64(%rdi),%ymm2
  4403. vmovdqu 96(%rdi),%ymm3
  4404. vmovdqu 128(%rdi),%ymm4
  4405. vmovdqu 96(%rbp),%ymm9
  4406. jmp L$oop_avx2
  4407. .p2align 5
  4408. L$oop_avx2:
  4409. vmovdqa -32(%rbp),%ymm15
  4410. vmovd (%r12),%xmm10
  4411. leaq 64(%r12),%r12
  4412. vmovd (%r8),%xmm12
  4413. leaq 64(%r8),%r8
  4414. vmovd (%r13),%xmm7
  4415. leaq 64(%r13),%r13
  4416. vmovd (%r9),%xmm6
  4417. leaq 64(%r9),%r9
  4418. vpinsrd $1,(%r14),%xmm10,%xmm10
  4419. leaq 64(%r14),%r14
  4420. vpinsrd $1,(%r10),%xmm12,%xmm12
  4421. leaq 64(%r10),%r10
  4422. vpinsrd $1,(%r15),%xmm7,%xmm7
  4423. leaq 64(%r15),%r15
  4424. vpunpckldq %ymm7,%ymm10,%ymm10
  4425. vpinsrd $1,(%r11),%xmm6,%xmm6
  4426. leaq 64(%r11),%r11
  4427. vpunpckldq %ymm6,%ymm12,%ymm12
  4428. vmovd -60(%r12),%xmm11
  4429. vinserti128 $1,%xmm12,%ymm10,%ymm10
  4430. vmovd -60(%r8),%xmm8
  4431. vpshufb %ymm9,%ymm10,%ymm10
  4432. vmovd -60(%r13),%xmm7
  4433. vmovd -60(%r9),%xmm6
  4434. vpinsrd $1,-60(%r14),%xmm11,%xmm11
  4435. vpinsrd $1,-60(%r10),%xmm8,%xmm8
  4436. vpinsrd $1,-60(%r15),%xmm7,%xmm7
  4437. vpunpckldq %ymm7,%ymm11,%ymm11
  4438. vpinsrd $1,-60(%r11),%xmm6,%xmm6
  4439. vpunpckldq %ymm6,%ymm8,%ymm8
  4440. vpaddd %ymm15,%ymm4,%ymm4
  4441. vpslld $5,%ymm0,%ymm7
  4442. vpandn %ymm3,%ymm1,%ymm6
  4443. vpand %ymm2,%ymm1,%ymm5
  4444. vmovdqa %ymm10,0-128(%rax)
  4445. vpaddd %ymm10,%ymm4,%ymm4
  4446. vinserti128 $1,%xmm8,%ymm11,%ymm11
  4447. vpsrld $27,%ymm0,%ymm8
  4448. vpxor %ymm6,%ymm5,%ymm5
  4449. vmovd -56(%r12),%xmm12
  4450. vpslld $30,%ymm1,%ymm6
  4451. vpor %ymm8,%ymm7,%ymm7
  4452. vmovd -56(%r8),%xmm8
  4453. vpaddd %ymm5,%ymm4,%ymm4
  4454. vpsrld $2,%ymm1,%ymm1
  4455. vpaddd %ymm7,%ymm4,%ymm4
  4456. vpshufb %ymm9,%ymm11,%ymm11
  4457. vpor %ymm6,%ymm1,%ymm1
  4458. vmovd -56(%r13),%xmm7
  4459. vmovd -56(%r9),%xmm6
  4460. vpinsrd $1,-56(%r14),%xmm12,%xmm12
  4461. vpinsrd $1,-56(%r10),%xmm8,%xmm8
  4462. vpinsrd $1,-56(%r15),%xmm7,%xmm7
  4463. vpunpckldq %ymm7,%ymm12,%ymm12
  4464. vpinsrd $1,-56(%r11),%xmm6,%xmm6
  4465. vpunpckldq %ymm6,%ymm8,%ymm8
  4466. vpaddd %ymm15,%ymm3,%ymm3
  4467. vpslld $5,%ymm4,%ymm7
  4468. vpandn %ymm2,%ymm0,%ymm6
  4469. vpand %ymm1,%ymm0,%ymm5
  4470. vmovdqa %ymm11,32-128(%rax)
  4471. vpaddd %ymm11,%ymm3,%ymm3
  4472. vinserti128 $1,%xmm8,%ymm12,%ymm12
  4473. vpsrld $27,%ymm4,%ymm8
  4474. vpxor %ymm6,%ymm5,%ymm5
  4475. vmovd -52(%r12),%xmm13
  4476. vpslld $30,%ymm0,%ymm6
  4477. vpor %ymm8,%ymm7,%ymm7
  4478. vmovd -52(%r8),%xmm8
  4479. vpaddd %ymm5,%ymm3,%ymm3
  4480. vpsrld $2,%ymm0,%ymm0
  4481. vpaddd %ymm7,%ymm3,%ymm3
  4482. vpshufb %ymm9,%ymm12,%ymm12
  4483. vpor %ymm6,%ymm0,%ymm0
  4484. vmovd -52(%r13),%xmm7
  4485. vmovd -52(%r9),%xmm6
  4486. vpinsrd $1,-52(%r14),%xmm13,%xmm13
  4487. vpinsrd $1,-52(%r10),%xmm8,%xmm8
  4488. vpinsrd $1,-52(%r15),%xmm7,%xmm7
  4489. vpunpckldq %ymm7,%ymm13,%ymm13
  4490. vpinsrd $1,-52(%r11),%xmm6,%xmm6
  4491. vpunpckldq %ymm6,%ymm8,%ymm8
  4492. vpaddd %ymm15,%ymm2,%ymm2
  4493. vpslld $5,%ymm3,%ymm7
  4494. vpandn %ymm1,%ymm4,%ymm6
  4495. vpand %ymm0,%ymm4,%ymm5
  4496. vmovdqa %ymm12,64-128(%rax)
  4497. vpaddd %ymm12,%ymm2,%ymm2
  4498. vinserti128 $1,%xmm8,%ymm13,%ymm13
  4499. vpsrld $27,%ymm3,%ymm8
  4500. vpxor %ymm6,%ymm5,%ymm5
  4501. vmovd -48(%r12),%xmm14
  4502. vpslld $30,%ymm4,%ymm6
  4503. vpor %ymm8,%ymm7,%ymm7
  4504. vmovd -48(%r8),%xmm8
  4505. vpaddd %ymm5,%ymm2,%ymm2
  4506. vpsrld $2,%ymm4,%ymm4
  4507. vpaddd %ymm7,%ymm2,%ymm2
  4508. vpshufb %ymm9,%ymm13,%ymm13
  4509. vpor %ymm6,%ymm4,%ymm4
  4510. vmovd -48(%r13),%xmm7
  4511. vmovd -48(%r9),%xmm6
  4512. vpinsrd $1,-48(%r14),%xmm14,%xmm14
  4513. vpinsrd $1,-48(%r10),%xmm8,%xmm8
  4514. vpinsrd $1,-48(%r15),%xmm7,%xmm7
  4515. vpunpckldq %ymm7,%ymm14,%ymm14
  4516. vpinsrd $1,-48(%r11),%xmm6,%xmm6
  4517. vpunpckldq %ymm6,%ymm8,%ymm8
  4518. vpaddd %ymm15,%ymm1,%ymm1
  4519. vpslld $5,%ymm2,%ymm7
  4520. vpandn %ymm0,%ymm3,%ymm6
  4521. vpand %ymm4,%ymm3,%ymm5
  4522. vmovdqa %ymm13,96-128(%rax)
  4523. vpaddd %ymm13,%ymm1,%ymm1
  4524. vinserti128 $1,%xmm8,%ymm14,%ymm14
  4525. vpsrld $27,%ymm2,%ymm8
  4526. vpxor %ymm6,%ymm5,%ymm5
  4527. vmovd -44(%r12),%xmm10
  4528. vpslld $30,%ymm3,%ymm6
  4529. vpor %ymm8,%ymm7,%ymm7
  4530. vmovd -44(%r8),%xmm8
  4531. vpaddd %ymm5,%ymm1,%ymm1
  4532. vpsrld $2,%ymm3,%ymm3
  4533. vpaddd %ymm7,%ymm1,%ymm1
  4534. vpshufb %ymm9,%ymm14,%ymm14
  4535. vpor %ymm6,%ymm3,%ymm3
  4536. vmovd -44(%r13),%xmm7
  4537. vmovd -44(%r9),%xmm6
  4538. vpinsrd $1,-44(%r14),%xmm10,%xmm10
  4539. vpinsrd $1,-44(%r10),%xmm8,%xmm8
  4540. vpinsrd $1,-44(%r15),%xmm7,%xmm7
  4541. vpunpckldq %ymm7,%ymm10,%ymm10
  4542. vpinsrd $1,-44(%r11),%xmm6,%xmm6
  4543. vpunpckldq %ymm6,%ymm8,%ymm8
  4544. vpaddd %ymm15,%ymm0,%ymm0
  4545. vpslld $5,%ymm1,%ymm7
  4546. vpandn %ymm4,%ymm2,%ymm6
  4547. vpand %ymm3,%ymm2,%ymm5
  4548. vmovdqa %ymm14,128-128(%rax)
  4549. vpaddd %ymm14,%ymm0,%ymm0
  4550. vinserti128 $1,%xmm8,%ymm10,%ymm10
  4551. vpsrld $27,%ymm1,%ymm8
  4552. vpxor %ymm6,%ymm5,%ymm5
  4553. vmovd -40(%r12),%xmm11
  4554. vpslld $30,%ymm2,%ymm6
  4555. vpor %ymm8,%ymm7,%ymm7
  4556. vmovd -40(%r8),%xmm8
  4557. vpaddd %ymm5,%ymm0,%ymm0
  4558. vpsrld $2,%ymm2,%ymm2
  4559. vpaddd %ymm7,%ymm0,%ymm0
  4560. vpshufb %ymm9,%ymm10,%ymm10
  4561. vpor %ymm6,%ymm2,%ymm2
  4562. vmovd -40(%r13),%xmm7
  4563. vmovd -40(%r9),%xmm6
  4564. vpinsrd $1,-40(%r14),%xmm11,%xmm11
  4565. vpinsrd $1,-40(%r10),%xmm8,%xmm8
  4566. vpinsrd $1,-40(%r15),%xmm7,%xmm7
  4567. vpunpckldq %ymm7,%ymm11,%ymm11
  4568. vpinsrd $1,-40(%r11),%xmm6,%xmm6
  4569. vpunpckldq %ymm6,%ymm8,%ymm8
  4570. vpaddd %ymm15,%ymm4,%ymm4
  4571. vpslld $5,%ymm0,%ymm7
  4572. vpandn %ymm3,%ymm1,%ymm6
  4573. vpand %ymm2,%ymm1,%ymm5
  4574. vmovdqa %ymm10,160-128(%rax)
  4575. vpaddd %ymm10,%ymm4,%ymm4
  4576. vinserti128 $1,%xmm8,%ymm11,%ymm11
  4577. vpsrld $27,%ymm0,%ymm8
  4578. vpxor %ymm6,%ymm5,%ymm5
  4579. vmovd -36(%r12),%xmm12
  4580. vpslld $30,%ymm1,%ymm6
  4581. vpor %ymm8,%ymm7,%ymm7
  4582. vmovd -36(%r8),%xmm8
  4583. vpaddd %ymm5,%ymm4,%ymm4
  4584. vpsrld $2,%ymm1,%ymm1
  4585. vpaddd %ymm7,%ymm4,%ymm4
  4586. vpshufb %ymm9,%ymm11,%ymm11
  4587. vpor %ymm6,%ymm1,%ymm1
  4588. vmovd -36(%r13),%xmm7
  4589. vmovd -36(%r9),%xmm6
  4590. vpinsrd $1,-36(%r14),%xmm12,%xmm12
  4591. vpinsrd $1,-36(%r10),%xmm8,%xmm8
  4592. vpinsrd $1,-36(%r15),%xmm7,%xmm7
  4593. vpunpckldq %ymm7,%ymm12,%ymm12
  4594. vpinsrd $1,-36(%r11),%xmm6,%xmm6
  4595. vpunpckldq %ymm6,%ymm8,%ymm8
  4596. vpaddd %ymm15,%ymm3,%ymm3
  4597. vpslld $5,%ymm4,%ymm7
  4598. vpandn %ymm2,%ymm0,%ymm6
  4599. vpand %ymm1,%ymm0,%ymm5
  4600. vmovdqa %ymm11,192-128(%rax)
  4601. vpaddd %ymm11,%ymm3,%ymm3
  4602. vinserti128 $1,%xmm8,%ymm12,%ymm12
  4603. vpsrld $27,%ymm4,%ymm8
  4604. vpxor %ymm6,%ymm5,%ymm5
  4605. vmovd -32(%r12),%xmm13
  4606. vpslld $30,%ymm0,%ymm6
  4607. vpor %ymm8,%ymm7,%ymm7
  4608. vmovd -32(%r8),%xmm8
  4609. vpaddd %ymm5,%ymm3,%ymm3
  4610. vpsrld $2,%ymm0,%ymm0
  4611. vpaddd %ymm7,%ymm3,%ymm3
  4612. vpshufb %ymm9,%ymm12,%ymm12
  4613. vpor %ymm6,%ymm0,%ymm0
  4614. vmovd -32(%r13),%xmm7
  4615. vmovd -32(%r9),%xmm6
  4616. vpinsrd $1,-32(%r14),%xmm13,%xmm13
  4617. vpinsrd $1,-32(%r10),%xmm8,%xmm8
  4618. vpinsrd $1,-32(%r15),%xmm7,%xmm7
  4619. vpunpckldq %ymm7,%ymm13,%ymm13
  4620. vpinsrd $1,-32(%r11),%xmm6,%xmm6
  4621. vpunpckldq %ymm6,%ymm8,%ymm8
  4622. vpaddd %ymm15,%ymm2,%ymm2
  4623. vpslld $5,%ymm3,%ymm7
  4624. vpandn %ymm1,%ymm4,%ymm6
  4625. vpand %ymm0,%ymm4,%ymm5
  4626. vmovdqa %ymm12,224-128(%rax)
  4627. vpaddd %ymm12,%ymm2,%ymm2
  4628. vinserti128 $1,%xmm8,%ymm13,%ymm13
  4629. vpsrld $27,%ymm3,%ymm8
  4630. vpxor %ymm6,%ymm5,%ymm5
  4631. vmovd -28(%r12),%xmm14
  4632. vpslld $30,%ymm4,%ymm6
  4633. vpor %ymm8,%ymm7,%ymm7
  4634. vmovd -28(%r8),%xmm8
  4635. vpaddd %ymm5,%ymm2,%ymm2
  4636. vpsrld $2,%ymm4,%ymm4
  4637. vpaddd %ymm7,%ymm2,%ymm2
  4638. vpshufb %ymm9,%ymm13,%ymm13
  4639. vpor %ymm6,%ymm4,%ymm4
  4640. vmovd -28(%r13),%xmm7
  4641. vmovd -28(%r9),%xmm6
  4642. vpinsrd $1,-28(%r14),%xmm14,%xmm14
  4643. vpinsrd $1,-28(%r10),%xmm8,%xmm8
  4644. vpinsrd $1,-28(%r15),%xmm7,%xmm7
  4645. vpunpckldq %ymm7,%ymm14,%ymm14
  4646. vpinsrd $1,-28(%r11),%xmm6,%xmm6
  4647. vpunpckldq %ymm6,%ymm8,%ymm8
  4648. vpaddd %ymm15,%ymm1,%ymm1
  4649. vpslld $5,%ymm2,%ymm7
  4650. vpandn %ymm0,%ymm3,%ymm6
  4651. vpand %ymm4,%ymm3,%ymm5
  4652. vmovdqa %ymm13,256-256-128(%rbx)
  4653. vpaddd %ymm13,%ymm1,%ymm1
  4654. vinserti128 $1,%xmm8,%ymm14,%ymm14
  4655. vpsrld $27,%ymm2,%ymm8
  4656. vpxor %ymm6,%ymm5,%ymm5
  4657. vmovd -24(%r12),%xmm10
  4658. vpslld $30,%ymm3,%ymm6
  4659. vpor %ymm8,%ymm7,%ymm7
  4660. vmovd -24(%r8),%xmm8
  4661. vpaddd %ymm5,%ymm1,%ymm1
  4662. vpsrld $2,%ymm3,%ymm3
  4663. vpaddd %ymm7,%ymm1,%ymm1
  4664. vpshufb %ymm9,%ymm14,%ymm14
  4665. vpor %ymm6,%ymm3,%ymm3
  4666. vmovd -24(%r13),%xmm7
  4667. vmovd -24(%r9),%xmm6
  4668. vpinsrd $1,-24(%r14),%xmm10,%xmm10
  4669. vpinsrd $1,-24(%r10),%xmm8,%xmm8
  4670. vpinsrd $1,-24(%r15),%xmm7,%xmm7
  4671. vpunpckldq %ymm7,%ymm10,%ymm10
  4672. vpinsrd $1,-24(%r11),%xmm6,%xmm6
  4673. vpunpckldq %ymm6,%ymm8,%ymm8
  4674. vpaddd %ymm15,%ymm0,%ymm0
  4675. vpslld $5,%ymm1,%ymm7
  4676. vpandn %ymm4,%ymm2,%ymm6
  4677. vpand %ymm3,%ymm2,%ymm5
  4678. vmovdqa %ymm14,288-256-128(%rbx)
  4679. vpaddd %ymm14,%ymm0,%ymm0
  4680. vinserti128 $1,%xmm8,%ymm10,%ymm10
  4681. vpsrld $27,%ymm1,%ymm8
  4682. vpxor %ymm6,%ymm5,%ymm5
  4683. vmovd -20(%r12),%xmm11
  4684. vpslld $30,%ymm2,%ymm6
  4685. vpor %ymm8,%ymm7,%ymm7
  4686. vmovd -20(%r8),%xmm8
  4687. vpaddd %ymm5,%ymm0,%ymm0
  4688. vpsrld $2,%ymm2,%ymm2
  4689. vpaddd %ymm7,%ymm0,%ymm0
  4690. vpshufb %ymm9,%ymm10,%ymm10
  4691. vpor %ymm6,%ymm2,%ymm2
  4692. vmovd -20(%r13),%xmm7
  4693. vmovd -20(%r9),%xmm6
  4694. vpinsrd $1,-20(%r14),%xmm11,%xmm11
  4695. vpinsrd $1,-20(%r10),%xmm8,%xmm8
  4696. vpinsrd $1,-20(%r15),%xmm7,%xmm7
  4697. vpunpckldq %ymm7,%ymm11,%ymm11
  4698. vpinsrd $1,-20(%r11),%xmm6,%xmm6
  4699. vpunpckldq %ymm6,%ymm8,%ymm8
  4700. vpaddd %ymm15,%ymm4,%ymm4
  4701. vpslld $5,%ymm0,%ymm7
  4702. vpandn %ymm3,%ymm1,%ymm6
  4703. vpand %ymm2,%ymm1,%ymm5
  4704. vmovdqa %ymm10,320-256-128(%rbx)
  4705. vpaddd %ymm10,%ymm4,%ymm4
  4706. vinserti128 $1,%xmm8,%ymm11,%ymm11
  4707. vpsrld $27,%ymm0,%ymm8
  4708. vpxor %ymm6,%ymm5,%ymm5
  4709. vmovd -16(%r12),%xmm12
  4710. vpslld $30,%ymm1,%ymm6
  4711. vpor %ymm8,%ymm7,%ymm7
  4712. vmovd -16(%r8),%xmm8
  4713. vpaddd %ymm5,%ymm4,%ymm4
  4714. vpsrld $2,%ymm1,%ymm1
  4715. vpaddd %ymm7,%ymm4,%ymm4
  4716. vpshufb %ymm9,%ymm11,%ymm11
  4717. vpor %ymm6,%ymm1,%ymm1
  4718. vmovd -16(%r13),%xmm7
  4719. vmovd -16(%r9),%xmm6
  4720. vpinsrd $1,-16(%r14),%xmm12,%xmm12
  4721. vpinsrd $1,-16(%r10),%xmm8,%xmm8
  4722. vpinsrd $1,-16(%r15),%xmm7,%xmm7
  4723. vpunpckldq %ymm7,%ymm12,%ymm12
  4724. vpinsrd $1,-16(%r11),%xmm6,%xmm6
  4725. vpunpckldq %ymm6,%ymm8,%ymm8
  4726. vpaddd %ymm15,%ymm3,%ymm3
  4727. vpslld $5,%ymm4,%ymm7
  4728. vpandn %ymm2,%ymm0,%ymm6
  4729. vpand %ymm1,%ymm0,%ymm5
  4730. vmovdqa %ymm11,352-256-128(%rbx)
  4731. vpaddd %ymm11,%ymm3,%ymm3
  4732. vinserti128 $1,%xmm8,%ymm12,%ymm12
  4733. vpsrld $27,%ymm4,%ymm8
  4734. vpxor %ymm6,%ymm5,%ymm5
  4735. vmovd -12(%r12),%xmm13
  4736. vpslld $30,%ymm0,%ymm6
  4737. vpor %ymm8,%ymm7,%ymm7
  4738. vmovd -12(%r8),%xmm8
  4739. vpaddd %ymm5,%ymm3,%ymm3
  4740. vpsrld $2,%ymm0,%ymm0
  4741. vpaddd %ymm7,%ymm3,%ymm3
  4742. vpshufb %ymm9,%ymm12,%ymm12
  4743. vpor %ymm6,%ymm0,%ymm0
  4744. vmovd -12(%r13),%xmm7
  4745. vmovd -12(%r9),%xmm6
  4746. vpinsrd $1,-12(%r14),%xmm13,%xmm13
  4747. vpinsrd $1,-12(%r10),%xmm8,%xmm8
  4748. vpinsrd $1,-12(%r15),%xmm7,%xmm7
  4749. vpunpckldq %ymm7,%ymm13,%ymm13
  4750. vpinsrd $1,-12(%r11),%xmm6,%xmm6
  4751. vpunpckldq %ymm6,%ymm8,%ymm8
  4752. vpaddd %ymm15,%ymm2,%ymm2
  4753. vpslld $5,%ymm3,%ymm7
  4754. vpandn %ymm1,%ymm4,%ymm6
  4755. vpand %ymm0,%ymm4,%ymm5
  4756. vmovdqa %ymm12,384-256-128(%rbx)
  4757. vpaddd %ymm12,%ymm2,%ymm2
  4758. vinserti128 $1,%xmm8,%ymm13,%ymm13
  4759. vpsrld $27,%ymm3,%ymm8
  4760. vpxor %ymm6,%ymm5,%ymm5
  4761. vmovd -8(%r12),%xmm14
  4762. vpslld $30,%ymm4,%ymm6
  4763. vpor %ymm8,%ymm7,%ymm7
  4764. vmovd -8(%r8),%xmm8
  4765. vpaddd %ymm5,%ymm2,%ymm2
  4766. vpsrld $2,%ymm4,%ymm4
  4767. vpaddd %ymm7,%ymm2,%ymm2
  4768. vpshufb %ymm9,%ymm13,%ymm13
  4769. vpor %ymm6,%ymm4,%ymm4
  4770. vmovd -8(%r13),%xmm7
  4771. vmovd -8(%r9),%xmm6
  4772. vpinsrd $1,-8(%r14),%xmm14,%xmm14
  4773. vpinsrd $1,-8(%r10),%xmm8,%xmm8
  4774. vpinsrd $1,-8(%r15),%xmm7,%xmm7
  4775. vpunpckldq %ymm7,%ymm14,%ymm14
  4776. vpinsrd $1,-8(%r11),%xmm6,%xmm6
  4777. vpunpckldq %ymm6,%ymm8,%ymm8
  4778. vpaddd %ymm15,%ymm1,%ymm1
  4779. vpslld $5,%ymm2,%ymm7
  4780. vpandn %ymm0,%ymm3,%ymm6
  4781. vpand %ymm4,%ymm3,%ymm5
  4782. vmovdqa %ymm13,416-256-128(%rbx)
  4783. vpaddd %ymm13,%ymm1,%ymm1
  4784. vinserti128 $1,%xmm8,%ymm14,%ymm14
  4785. vpsrld $27,%ymm2,%ymm8
  4786. vpxor %ymm6,%ymm5,%ymm5
  4787. vmovd -4(%r12),%xmm10
  4788. vpslld $30,%ymm3,%ymm6
  4789. vpor %ymm8,%ymm7,%ymm7
  4790. vmovd -4(%r8),%xmm8
  4791. vpaddd %ymm5,%ymm1,%ymm1
  4792. vpsrld $2,%ymm3,%ymm3
  4793. vpaddd %ymm7,%ymm1,%ymm1
  4794. vpshufb %ymm9,%ymm14,%ymm14
  4795. vpor %ymm6,%ymm3,%ymm3
  4796. vmovdqa 0-128(%rax),%ymm11
  4797. vmovd -4(%r13),%xmm7
  4798. vmovd -4(%r9),%xmm6
  4799. vpinsrd $1,-4(%r14),%xmm10,%xmm10
  4800. vpinsrd $1,-4(%r10),%xmm8,%xmm8
  4801. vpinsrd $1,-4(%r15),%xmm7,%xmm7
  4802. vpunpckldq %ymm7,%ymm10,%ymm10
  4803. vpinsrd $1,-4(%r11),%xmm6,%xmm6
  4804. vpunpckldq %ymm6,%ymm8,%ymm8
  4805. vpaddd %ymm15,%ymm0,%ymm0
  4806. prefetcht0 63(%r12)
  4807. vpslld $5,%ymm1,%ymm7
  4808. vpandn %ymm4,%ymm2,%ymm6
  4809. vpand %ymm3,%ymm2,%ymm5
  4810. vmovdqa %ymm14,448-256-128(%rbx)
  4811. vpaddd %ymm14,%ymm0,%ymm0
  4812. vinserti128 $1,%xmm8,%ymm10,%ymm10
  4813. vpsrld $27,%ymm1,%ymm8
  4814. prefetcht0 63(%r13)
  4815. vpxor %ymm6,%ymm5,%ymm5
  4816. vpslld $30,%ymm2,%ymm6
  4817. vpor %ymm8,%ymm7,%ymm7
  4818. prefetcht0 63(%r14)
  4819. vpaddd %ymm5,%ymm0,%ymm0
  4820. vpsrld $2,%ymm2,%ymm2
  4821. vpaddd %ymm7,%ymm0,%ymm0
  4822. prefetcht0 63(%r15)
  4823. vpshufb %ymm9,%ymm10,%ymm10
  4824. vpor %ymm6,%ymm2,%ymm2
  4825. vmovdqa 32-128(%rax),%ymm12
  4826. vpxor %ymm13,%ymm11,%ymm11
  4827. vmovdqa 64-128(%rax),%ymm13
  4828. vpaddd %ymm15,%ymm4,%ymm4
  4829. vpslld $5,%ymm0,%ymm7
  4830. vpandn %ymm3,%ymm1,%ymm6
  4831. prefetcht0 63(%r8)
  4832. vpand %ymm2,%ymm1,%ymm5
  4833. vmovdqa %ymm10,480-256-128(%rbx)
  4834. vpaddd %ymm10,%ymm4,%ymm4
  4835. vpxor 256-256-128(%rbx),%ymm11,%ymm11
  4836. vpsrld $27,%ymm0,%ymm8
  4837. vpxor %ymm6,%ymm5,%ymm5
  4838. vpxor %ymm13,%ymm11,%ymm11
  4839. prefetcht0 63(%r9)
  4840. vpslld $30,%ymm1,%ymm6
  4841. vpor %ymm8,%ymm7,%ymm7
  4842. vpaddd %ymm5,%ymm4,%ymm4
  4843. prefetcht0 63(%r10)
  4844. vpsrld $31,%ymm11,%ymm9
  4845. vpaddd %ymm11,%ymm11,%ymm11
  4846. vpsrld $2,%ymm1,%ymm1
  4847. prefetcht0 63(%r11)
  4848. vpaddd %ymm7,%ymm4,%ymm4
  4849. vpor %ymm9,%ymm11,%ymm11
  4850. vpor %ymm6,%ymm1,%ymm1
  4851. vpxor %ymm14,%ymm12,%ymm12
  4852. vmovdqa 96-128(%rax),%ymm14
  4853. vpaddd %ymm15,%ymm3,%ymm3
  4854. vpslld $5,%ymm4,%ymm7
  4855. vpandn %ymm2,%ymm0,%ymm6
  4856. vpand %ymm1,%ymm0,%ymm5
  4857. vmovdqa %ymm11,0-128(%rax)
  4858. vpaddd %ymm11,%ymm3,%ymm3
  4859. vpxor 288-256-128(%rbx),%ymm12,%ymm12
  4860. vpsrld $27,%ymm4,%ymm8
  4861. vpxor %ymm6,%ymm5,%ymm5
  4862. vpxor %ymm14,%ymm12,%ymm12
  4863. vpslld $30,%ymm0,%ymm6
  4864. vpor %ymm8,%ymm7,%ymm7
  4865. vpaddd %ymm5,%ymm3,%ymm3
  4866. vpsrld $31,%ymm12,%ymm9
  4867. vpaddd %ymm12,%ymm12,%ymm12
  4868. vpsrld $2,%ymm0,%ymm0
  4869. vpaddd %ymm7,%ymm3,%ymm3
  4870. vpor %ymm9,%ymm12,%ymm12
  4871. vpor %ymm6,%ymm0,%ymm0
  4872. vpxor %ymm10,%ymm13,%ymm13
  4873. vmovdqa 128-128(%rax),%ymm10
  4874. vpaddd %ymm15,%ymm2,%ymm2
  4875. vpslld $5,%ymm3,%ymm7
  4876. vpandn %ymm1,%ymm4,%ymm6
  4877. vpand %ymm0,%ymm4,%ymm5
  4878. vmovdqa %ymm12,32-128(%rax)
  4879. vpaddd %ymm12,%ymm2,%ymm2
  4880. vpxor 320-256-128(%rbx),%ymm13,%ymm13
  4881. vpsrld $27,%ymm3,%ymm8
  4882. vpxor %ymm6,%ymm5,%ymm5
  4883. vpxor %ymm10,%ymm13,%ymm13
  4884. vpslld $30,%ymm4,%ymm6
  4885. vpor %ymm8,%ymm7,%ymm7
  4886. vpaddd %ymm5,%ymm2,%ymm2
  4887. vpsrld $31,%ymm13,%ymm9
  4888. vpaddd %ymm13,%ymm13,%ymm13
  4889. vpsrld $2,%ymm4,%ymm4
  4890. vpaddd %ymm7,%ymm2,%ymm2
  4891. vpor %ymm9,%ymm13,%ymm13
  4892. vpor %ymm6,%ymm4,%ymm4
  4893. vpxor %ymm11,%ymm14,%ymm14
  4894. vmovdqa 160-128(%rax),%ymm11
  4895. vpaddd %ymm15,%ymm1,%ymm1
  4896. vpslld $5,%ymm2,%ymm7
  4897. vpandn %ymm0,%ymm3,%ymm6
  4898. vpand %ymm4,%ymm3,%ymm5
  4899. vmovdqa %ymm13,64-128(%rax)
  4900. vpaddd %ymm13,%ymm1,%ymm1
  4901. vpxor 352-256-128(%rbx),%ymm14,%ymm14
  4902. vpsrld $27,%ymm2,%ymm8
  4903. vpxor %ymm6,%ymm5,%ymm5
  4904. vpxor %ymm11,%ymm14,%ymm14
  4905. vpslld $30,%ymm3,%ymm6
  4906. vpor %ymm8,%ymm7,%ymm7
  4907. vpaddd %ymm5,%ymm1,%ymm1
  4908. vpsrld $31,%ymm14,%ymm9
  4909. vpaddd %ymm14,%ymm14,%ymm14
  4910. vpsrld $2,%ymm3,%ymm3
  4911. vpaddd %ymm7,%ymm1,%ymm1
  4912. vpor %ymm9,%ymm14,%ymm14
  4913. vpor %ymm6,%ymm3,%ymm3
  4914. vpxor %ymm12,%ymm10,%ymm10
  4915. vmovdqa 192-128(%rax),%ymm12
  4916. vpaddd %ymm15,%ymm0,%ymm0
  4917. vpslld $5,%ymm1,%ymm7
  4918. vpandn %ymm4,%ymm2,%ymm6
  4919. vpand %ymm3,%ymm2,%ymm5
  4920. vmovdqa %ymm14,96-128(%rax)
  4921. vpaddd %ymm14,%ymm0,%ymm0
  4922. vpxor 384-256-128(%rbx),%ymm10,%ymm10
  4923. vpsrld $27,%ymm1,%ymm8
  4924. vpxor %ymm6,%ymm5,%ymm5
  4925. vpxor %ymm12,%ymm10,%ymm10
  4926. vpslld $30,%ymm2,%ymm6
  4927. vpor %ymm8,%ymm7,%ymm7
  4928. vpaddd %ymm5,%ymm0,%ymm0
  4929. vpsrld $31,%ymm10,%ymm9
  4930. vpaddd %ymm10,%ymm10,%ymm10
  4931. vpsrld $2,%ymm2,%ymm2
  4932. vpaddd %ymm7,%ymm0,%ymm0
  4933. vpor %ymm9,%ymm10,%ymm10
  4934. vpor %ymm6,%ymm2,%ymm2
  4935. vmovdqa 0(%rbp),%ymm15
  4936. vpxor %ymm13,%ymm11,%ymm11
  4937. vmovdqa 224-128(%rax),%ymm13
  4938. vpslld $5,%ymm0,%ymm7
  4939. vpaddd %ymm15,%ymm4,%ymm4
  4940. vpxor %ymm1,%ymm3,%ymm5
  4941. vmovdqa %ymm10,128-128(%rax)
  4942. vpaddd %ymm10,%ymm4,%ymm4
  4943. vpxor 416-256-128(%rbx),%ymm11,%ymm11
  4944. vpsrld $27,%ymm0,%ymm8
  4945. vpxor %ymm2,%ymm5,%ymm5
  4946. vpxor %ymm13,%ymm11,%ymm11
  4947. vpslld $30,%ymm1,%ymm6
  4948. vpor %ymm8,%ymm7,%ymm7
  4949. vpaddd %ymm5,%ymm4,%ymm4
  4950. vpsrld $31,%ymm11,%ymm9
  4951. vpaddd %ymm11,%ymm11,%ymm11
  4952. vpsrld $2,%ymm1,%ymm1
  4953. vpaddd %ymm7,%ymm4,%ymm4
  4954. vpor %ymm9,%ymm11,%ymm11
  4955. vpor %ymm6,%ymm1,%ymm1
  4956. vpxor %ymm14,%ymm12,%ymm12
  4957. vmovdqa 256-256-128(%rbx),%ymm14
  4958. vpslld $5,%ymm4,%ymm7
  4959. vpaddd %ymm15,%ymm3,%ymm3
  4960. vpxor %ymm0,%ymm2,%ymm5
  4961. vmovdqa %ymm11,160-128(%rax)
  4962. vpaddd %ymm11,%ymm3,%ymm3
  4963. vpxor 448-256-128(%rbx),%ymm12,%ymm12
  4964. vpsrld $27,%ymm4,%ymm8
  4965. vpxor %ymm1,%ymm5,%ymm5
  4966. vpxor %ymm14,%ymm12,%ymm12
  4967. vpslld $30,%ymm0,%ymm6
  4968. vpor %ymm8,%ymm7,%ymm7
  4969. vpaddd %ymm5,%ymm3,%ymm3
  4970. vpsrld $31,%ymm12,%ymm9
  4971. vpaddd %ymm12,%ymm12,%ymm12
  4972. vpsrld $2,%ymm0,%ymm0
  4973. vpaddd %ymm7,%ymm3,%ymm3
  4974. vpor %ymm9,%ymm12,%ymm12
  4975. vpor %ymm6,%ymm0,%ymm0
  4976. vpxor %ymm10,%ymm13,%ymm13
  4977. vmovdqa 288-256-128(%rbx),%ymm10
  4978. vpslld $5,%ymm3,%ymm7
  4979. vpaddd %ymm15,%ymm2,%ymm2
  4980. vpxor %ymm4,%ymm1,%ymm5
  4981. vmovdqa %ymm12,192-128(%rax)
  4982. vpaddd %ymm12,%ymm2,%ymm2
  4983. vpxor 480-256-128(%rbx),%ymm13,%ymm13
  4984. vpsrld $27,%ymm3,%ymm8
  4985. vpxor %ymm0,%ymm5,%ymm5
  4986. vpxor %ymm10,%ymm13,%ymm13
  4987. vpslld $30,%ymm4,%ymm6
  4988. vpor %ymm8,%ymm7,%ymm7
  4989. vpaddd %ymm5,%ymm2,%ymm2
  4990. vpsrld $31,%ymm13,%ymm9
  4991. vpaddd %ymm13,%ymm13,%ymm13
  4992. vpsrld $2,%ymm4,%ymm4
  4993. vpaddd %ymm7,%ymm2,%ymm2
  4994. vpor %ymm9,%ymm13,%ymm13
  4995. vpor %ymm6,%ymm4,%ymm4
  4996. vpxor %ymm11,%ymm14,%ymm14
  4997. vmovdqa 320-256-128(%rbx),%ymm11
  4998. vpslld $5,%ymm2,%ymm7
  4999. vpaddd %ymm15,%ymm1,%ymm1
  5000. vpxor %ymm3,%ymm0,%ymm5
  5001. vmovdqa %ymm13,224-128(%rax)
  5002. vpaddd %ymm13,%ymm1,%ymm1
  5003. vpxor 0-128(%rax),%ymm14,%ymm14
  5004. vpsrld $27,%ymm2,%ymm8
  5005. vpxor %ymm4,%ymm5,%ymm5
  5006. vpxor %ymm11,%ymm14,%ymm14
  5007. vpslld $30,%ymm3,%ymm6
  5008. vpor %ymm8,%ymm7,%ymm7
  5009. vpaddd %ymm5,%ymm1,%ymm1
  5010. vpsrld $31,%ymm14,%ymm9
  5011. vpaddd %ymm14,%ymm14,%ymm14
  5012. vpsrld $2,%ymm3,%ymm3
  5013. vpaddd %ymm7,%ymm1,%ymm1
  5014. vpor %ymm9,%ymm14,%ymm14
  5015. vpor %ymm6,%ymm3,%ymm3
  5016. vpxor %ymm12,%ymm10,%ymm10
  5017. vmovdqa 352-256-128(%rbx),%ymm12
  5018. vpslld $5,%ymm1,%ymm7
  5019. vpaddd %ymm15,%ymm0,%ymm0
  5020. vpxor %ymm2,%ymm4,%ymm5
  5021. vmovdqa %ymm14,256-256-128(%rbx)
  5022. vpaddd %ymm14,%ymm0,%ymm0
  5023. vpxor 32-128(%rax),%ymm10,%ymm10
  5024. vpsrld $27,%ymm1,%ymm8
  5025. vpxor %ymm3,%ymm5,%ymm5
  5026. vpxor %ymm12,%ymm10,%ymm10
  5027. vpslld $30,%ymm2,%ymm6
  5028. vpor %ymm8,%ymm7,%ymm7
  5029. vpaddd %ymm5,%ymm0,%ymm0
  5030. vpsrld $31,%ymm10,%ymm9
  5031. vpaddd %ymm10,%ymm10,%ymm10
  5032. vpsrld $2,%ymm2,%ymm2
  5033. vpaddd %ymm7,%ymm0,%ymm0
  5034. vpor %ymm9,%ymm10,%ymm10
  5035. vpor %ymm6,%ymm2,%ymm2
  5036. vpxor %ymm13,%ymm11,%ymm11
  5037. vmovdqa 384-256-128(%rbx),%ymm13
  5038. vpslld $5,%ymm0,%ymm7
  5039. vpaddd %ymm15,%ymm4,%ymm4
  5040. vpxor %ymm1,%ymm3,%ymm5
  5041. vmovdqa %ymm10,288-256-128(%rbx)
  5042. vpaddd %ymm10,%ymm4,%ymm4
  5043. vpxor 64-128(%rax),%ymm11,%ymm11
  5044. vpsrld $27,%ymm0,%ymm8
  5045. vpxor %ymm2,%ymm5,%ymm5
  5046. vpxor %ymm13,%ymm11,%ymm11
  5047. vpslld $30,%ymm1,%ymm6
  5048. vpor %ymm8,%ymm7,%ymm7
  5049. vpaddd %ymm5,%ymm4,%ymm4
  5050. vpsrld $31,%ymm11,%ymm9
  5051. vpaddd %ymm11,%ymm11,%ymm11
  5052. vpsrld $2,%ymm1,%ymm1
  5053. vpaddd %ymm7,%ymm4,%ymm4
  5054. vpor %ymm9,%ymm11,%ymm11
  5055. vpor %ymm6,%ymm1,%ymm1
  5056. vpxor %ymm14,%ymm12,%ymm12
  5057. vmovdqa 416-256-128(%rbx),%ymm14
  5058. vpslld $5,%ymm4,%ymm7
  5059. vpaddd %ymm15,%ymm3,%ymm3
  5060. vpxor %ymm0,%ymm2,%ymm5
  5061. vmovdqa %ymm11,320-256-128(%rbx)
  5062. vpaddd %ymm11,%ymm3,%ymm3
  5063. vpxor 96-128(%rax),%ymm12,%ymm12
  5064. vpsrld $27,%ymm4,%ymm8
  5065. vpxor %ymm1,%ymm5,%ymm5
  5066. vpxor %ymm14,%ymm12,%ymm12
  5067. vpslld $30,%ymm0,%ymm6
  5068. vpor %ymm8,%ymm7,%ymm7
  5069. vpaddd %ymm5,%ymm3,%ymm3
  5070. vpsrld $31,%ymm12,%ymm9
  5071. vpaddd %ymm12,%ymm12,%ymm12
  5072. vpsrld $2,%ymm0,%ymm0
  5073. vpaddd %ymm7,%ymm3,%ymm3
  5074. vpor %ymm9,%ymm12,%ymm12
  5075. vpor %ymm6,%ymm0,%ymm0
  5076. vpxor %ymm10,%ymm13,%ymm13
  5077. vmovdqa 448-256-128(%rbx),%ymm10
  5078. vpslld $5,%ymm3,%ymm7
  5079. vpaddd %ymm15,%ymm2,%ymm2
  5080. vpxor %ymm4,%ymm1,%ymm5
  5081. vmovdqa %ymm12,352-256-128(%rbx)
  5082. vpaddd %ymm12,%ymm2,%ymm2
  5083. vpxor 128-128(%rax),%ymm13,%ymm13
  5084. vpsrld $27,%ymm3,%ymm8
  5085. vpxor %ymm0,%ymm5,%ymm5
  5086. vpxor %ymm10,%ymm13,%ymm13
  5087. vpslld $30,%ymm4,%ymm6
  5088. vpor %ymm8,%ymm7,%ymm7
  5089. vpaddd %ymm5,%ymm2,%ymm2
  5090. vpsrld $31,%ymm13,%ymm9
  5091. vpaddd %ymm13,%ymm13,%ymm13
  5092. vpsrld $2,%ymm4,%ymm4
  5093. vpaddd %ymm7,%ymm2,%ymm2
  5094. vpor %ymm9,%ymm13,%ymm13
  5095. vpor %ymm6,%ymm4,%ymm4
  5096. vpxor %ymm11,%ymm14,%ymm14
  5097. vmovdqa 480-256-128(%rbx),%ymm11
  5098. vpslld $5,%ymm2,%ymm7
  5099. vpaddd %ymm15,%ymm1,%ymm1
  5100. vpxor %ymm3,%ymm0,%ymm5
  5101. vmovdqa %ymm13,384-256-128(%rbx)
  5102. vpaddd %ymm13,%ymm1,%ymm1
  5103. vpxor 160-128(%rax),%ymm14,%ymm14
  5104. vpsrld $27,%ymm2,%ymm8
  5105. vpxor %ymm4,%ymm5,%ymm5
  5106. vpxor %ymm11,%ymm14,%ymm14
  5107. vpslld $30,%ymm3,%ymm6
  5108. vpor %ymm8,%ymm7,%ymm7
  5109. vpaddd %ymm5,%ymm1,%ymm1
  5110. vpsrld $31,%ymm14,%ymm9
  5111. vpaddd %ymm14,%ymm14,%ymm14
  5112. vpsrld $2,%ymm3,%ymm3
  5113. vpaddd %ymm7,%ymm1,%ymm1
  5114. vpor %ymm9,%ymm14,%ymm14
  5115. vpor %ymm6,%ymm3,%ymm3
  5116. vpxor %ymm12,%ymm10,%ymm10
  5117. vmovdqa 0-128(%rax),%ymm12
  5118. vpslld $5,%ymm1,%ymm7
  5119. vpaddd %ymm15,%ymm0,%ymm0
  5120. vpxor %ymm2,%ymm4,%ymm5
  5121. vmovdqa %ymm14,416-256-128(%rbx)
  5122. vpaddd %ymm14,%ymm0,%ymm0
  5123. vpxor 192-128(%rax),%ymm10,%ymm10
  5124. vpsrld $27,%ymm1,%ymm8
  5125. vpxor %ymm3,%ymm5,%ymm5
  5126. vpxor %ymm12,%ymm10,%ymm10
  5127. vpslld $30,%ymm2,%ymm6
  5128. vpor %ymm8,%ymm7,%ymm7
  5129. vpaddd %ymm5,%ymm0,%ymm0
  5130. vpsrld $31,%ymm10,%ymm9
  5131. vpaddd %ymm10,%ymm10,%ymm10
  5132. vpsrld $2,%ymm2,%ymm2
  5133. vpaddd %ymm7,%ymm0,%ymm0
  5134. vpor %ymm9,%ymm10,%ymm10
  5135. vpor %ymm6,%ymm2,%ymm2
  5136. vpxor %ymm13,%ymm11,%ymm11
  5137. vmovdqa 32-128(%rax),%ymm13
  5138. vpslld $5,%ymm0,%ymm7
  5139. vpaddd %ymm15,%ymm4,%ymm4
  5140. vpxor %ymm1,%ymm3,%ymm5
  5141. vmovdqa %ymm10,448-256-128(%rbx)
  5142. vpaddd %ymm10,%ymm4,%ymm4
  5143. vpxor 224-128(%rax),%ymm11,%ymm11
  5144. vpsrld $27,%ymm0,%ymm8
  5145. vpxor %ymm2,%ymm5,%ymm5
  5146. vpxor %ymm13,%ymm11,%ymm11
  5147. vpslld $30,%ymm1,%ymm6
  5148. vpor %ymm8,%ymm7,%ymm7
  5149. vpaddd %ymm5,%ymm4,%ymm4
  5150. vpsrld $31,%ymm11,%ymm9
  5151. vpaddd %ymm11,%ymm11,%ymm11
  5152. vpsrld $2,%ymm1,%ymm1
  5153. vpaddd %ymm7,%ymm4,%ymm4
  5154. vpor %ymm9,%ymm11,%ymm11
  5155. vpor %ymm6,%ymm1,%ymm1
  5156. vpxor %ymm14,%ymm12,%ymm12
  5157. vmovdqa 64-128(%rax),%ymm14
  5158. vpslld $5,%ymm4,%ymm7
  5159. vpaddd %ymm15,%ymm3,%ymm3
  5160. vpxor %ymm0,%ymm2,%ymm5
  5161. vmovdqa %ymm11,480-256-128(%rbx)
  5162. vpaddd %ymm11,%ymm3,%ymm3
  5163. vpxor 256-256-128(%rbx),%ymm12,%ymm12
  5164. vpsrld $27,%ymm4,%ymm8
  5165. vpxor %ymm1,%ymm5,%ymm5
  5166. vpxor %ymm14,%ymm12,%ymm12
  5167. vpslld $30,%ymm0,%ymm6
  5168. vpor %ymm8,%ymm7,%ymm7
  5169. vpaddd %ymm5,%ymm3,%ymm3
  5170. vpsrld $31,%ymm12,%ymm9
  5171. vpaddd %ymm12,%ymm12,%ymm12
  5172. vpsrld $2,%ymm0,%ymm0
  5173. vpaddd %ymm7,%ymm3,%ymm3
  5174. vpor %ymm9,%ymm12,%ymm12
  5175. vpor %ymm6,%ymm0,%ymm0
  5176. vpxor %ymm10,%ymm13,%ymm13
  5177. vmovdqa 96-128(%rax),%ymm10
  5178. vpslld $5,%ymm3,%ymm7
  5179. vpaddd %ymm15,%ymm2,%ymm2
  5180. vpxor %ymm4,%ymm1,%ymm5
  5181. vmovdqa %ymm12,0-128(%rax)
  5182. vpaddd %ymm12,%ymm2,%ymm2
  5183. vpxor 288-256-128(%rbx),%ymm13,%ymm13
  5184. vpsrld $27,%ymm3,%ymm8
  5185. vpxor %ymm0,%ymm5,%ymm5
  5186. vpxor %ymm10,%ymm13,%ymm13
  5187. vpslld $30,%ymm4,%ymm6
  5188. vpor %ymm8,%ymm7,%ymm7
  5189. vpaddd %ymm5,%ymm2,%ymm2
  5190. vpsrld $31,%ymm13,%ymm9
  5191. vpaddd %ymm13,%ymm13,%ymm13
  5192. vpsrld $2,%ymm4,%ymm4
  5193. vpaddd %ymm7,%ymm2,%ymm2
  5194. vpor %ymm9,%ymm13,%ymm13
  5195. vpor %ymm6,%ymm4,%ymm4
  5196. vpxor %ymm11,%ymm14,%ymm14
  5197. vmovdqa 128-128(%rax),%ymm11
  5198. vpslld $5,%ymm2,%ymm7
  5199. vpaddd %ymm15,%ymm1,%ymm1
  5200. vpxor %ymm3,%ymm0,%ymm5
  5201. vmovdqa %ymm13,32-128(%rax)
  5202. vpaddd %ymm13,%ymm1,%ymm1
  5203. vpxor 320-256-128(%rbx),%ymm14,%ymm14
  5204. vpsrld $27,%ymm2,%ymm8
  5205. vpxor %ymm4,%ymm5,%ymm5
  5206. vpxor %ymm11,%ymm14,%ymm14
  5207. vpslld $30,%ymm3,%ymm6
  5208. vpor %ymm8,%ymm7,%ymm7
  5209. vpaddd %ymm5,%ymm1,%ymm1
  5210. vpsrld $31,%ymm14,%ymm9
  5211. vpaddd %ymm14,%ymm14,%ymm14
  5212. vpsrld $2,%ymm3,%ymm3
  5213. vpaddd %ymm7,%ymm1,%ymm1
  5214. vpor %ymm9,%ymm14,%ymm14
  5215. vpor %ymm6,%ymm3,%ymm3
  5216. vpxor %ymm12,%ymm10,%ymm10
  5217. vmovdqa 160-128(%rax),%ymm12
  5218. vpslld $5,%ymm1,%ymm7
  5219. vpaddd %ymm15,%ymm0,%ymm0
  5220. vpxor %ymm2,%ymm4,%ymm5
  5221. vmovdqa %ymm14,64-128(%rax)
  5222. vpaddd %ymm14,%ymm0,%ymm0
  5223. vpxor 352-256-128(%rbx),%ymm10,%ymm10
  5224. vpsrld $27,%ymm1,%ymm8
  5225. vpxor %ymm3,%ymm5,%ymm5
  5226. vpxor %ymm12,%ymm10,%ymm10
  5227. vpslld $30,%ymm2,%ymm6
  5228. vpor %ymm8,%ymm7,%ymm7
  5229. vpaddd %ymm5,%ymm0,%ymm0
  5230. vpsrld $31,%ymm10,%ymm9
  5231. vpaddd %ymm10,%ymm10,%ymm10
  5232. vpsrld $2,%ymm2,%ymm2
  5233. vpaddd %ymm7,%ymm0,%ymm0
  5234. vpor %ymm9,%ymm10,%ymm10
  5235. vpor %ymm6,%ymm2,%ymm2
  5236. vpxor %ymm13,%ymm11,%ymm11
  5237. vmovdqa 192-128(%rax),%ymm13
  5238. vpslld $5,%ymm0,%ymm7
  5239. vpaddd %ymm15,%ymm4,%ymm4
  5240. vpxor %ymm1,%ymm3,%ymm5
  5241. vmovdqa %ymm10,96-128(%rax)
  5242. vpaddd %ymm10,%ymm4,%ymm4
  5243. vpxor 384-256-128(%rbx),%ymm11,%ymm11
  5244. vpsrld $27,%ymm0,%ymm8
  5245. vpxor %ymm2,%ymm5,%ymm5
  5246. vpxor %ymm13,%ymm11,%ymm11
  5247. vpslld $30,%ymm1,%ymm6
  5248. vpor %ymm8,%ymm7,%ymm7
  5249. vpaddd %ymm5,%ymm4,%ymm4
  5250. vpsrld $31,%ymm11,%ymm9
  5251. vpaddd %ymm11,%ymm11,%ymm11
  5252. vpsrld $2,%ymm1,%ymm1
  5253. vpaddd %ymm7,%ymm4,%ymm4
  5254. vpor %ymm9,%ymm11,%ymm11
  5255. vpor %ymm6,%ymm1,%ymm1
  5256. vpxor %ymm14,%ymm12,%ymm12
  5257. vmovdqa 224-128(%rax),%ymm14
  5258. vpslld $5,%ymm4,%ymm7
  5259. vpaddd %ymm15,%ymm3,%ymm3
  5260. vpxor %ymm0,%ymm2,%ymm5
  5261. vmovdqa %ymm11,128-128(%rax)
  5262. vpaddd %ymm11,%ymm3,%ymm3
  5263. vpxor 416-256-128(%rbx),%ymm12,%ymm12
  5264. vpsrld $27,%ymm4,%ymm8
  5265. vpxor %ymm1,%ymm5,%ymm5
  5266. vpxor %ymm14,%ymm12,%ymm12
  5267. vpslld $30,%ymm0,%ymm6
  5268. vpor %ymm8,%ymm7,%ymm7
  5269. vpaddd %ymm5,%ymm3,%ymm3
  5270. vpsrld $31,%ymm12,%ymm9
  5271. vpaddd %ymm12,%ymm12,%ymm12
  5272. vpsrld $2,%ymm0,%ymm0
  5273. vpaddd %ymm7,%ymm3,%ymm3
  5274. vpor %ymm9,%ymm12,%ymm12
  5275. vpor %ymm6,%ymm0,%ymm0
  5276. vpxor %ymm10,%ymm13,%ymm13
  5277. vmovdqa 256-256-128(%rbx),%ymm10
  5278. vpslld $5,%ymm3,%ymm7
  5279. vpaddd %ymm15,%ymm2,%ymm2
  5280. vpxor %ymm4,%ymm1,%ymm5
  5281. vmovdqa %ymm12,160-128(%rax)
  5282. vpaddd %ymm12,%ymm2,%ymm2
  5283. vpxor 448-256-128(%rbx),%ymm13,%ymm13
  5284. vpsrld $27,%ymm3,%ymm8
  5285. vpxor %ymm0,%ymm5,%ymm5
  5286. vpxor %ymm10,%ymm13,%ymm13
  5287. vpslld $30,%ymm4,%ymm6
  5288. vpor %ymm8,%ymm7,%ymm7
  5289. vpaddd %ymm5,%ymm2,%ymm2
  5290. vpsrld $31,%ymm13,%ymm9
  5291. vpaddd %ymm13,%ymm13,%ymm13
  5292. vpsrld $2,%ymm4,%ymm4
  5293. vpaddd %ymm7,%ymm2,%ymm2
  5294. vpor %ymm9,%ymm13,%ymm13
  5295. vpor %ymm6,%ymm4,%ymm4
  5296. vpxor %ymm11,%ymm14,%ymm14
  5297. vmovdqa 288-256-128(%rbx),%ymm11
  5298. vpslld $5,%ymm2,%ymm7
  5299. vpaddd %ymm15,%ymm1,%ymm1
  5300. vpxor %ymm3,%ymm0,%ymm5
  5301. vmovdqa %ymm13,192-128(%rax)
  5302. vpaddd %ymm13,%ymm1,%ymm1
  5303. vpxor 480-256-128(%rbx),%ymm14,%ymm14
  5304. vpsrld $27,%ymm2,%ymm8
  5305. vpxor %ymm4,%ymm5,%ymm5
  5306. vpxor %ymm11,%ymm14,%ymm14
  5307. vpslld $30,%ymm3,%ymm6
  5308. vpor %ymm8,%ymm7,%ymm7
  5309. vpaddd %ymm5,%ymm1,%ymm1
  5310. vpsrld $31,%ymm14,%ymm9
  5311. vpaddd %ymm14,%ymm14,%ymm14
  5312. vpsrld $2,%ymm3,%ymm3
  5313. vpaddd %ymm7,%ymm1,%ymm1
  5314. vpor %ymm9,%ymm14,%ymm14
  5315. vpor %ymm6,%ymm3,%ymm3
  5316. vpxor %ymm12,%ymm10,%ymm10
  5317. vmovdqa 320-256-128(%rbx),%ymm12
  5318. vpslld $5,%ymm1,%ymm7
  5319. vpaddd %ymm15,%ymm0,%ymm0
  5320. vpxor %ymm2,%ymm4,%ymm5
  5321. vmovdqa %ymm14,224-128(%rax)
  5322. vpaddd %ymm14,%ymm0,%ymm0
  5323. vpxor 0-128(%rax),%ymm10,%ymm10
  5324. vpsrld $27,%ymm1,%ymm8
  5325. vpxor %ymm3,%ymm5,%ymm5
  5326. vpxor %ymm12,%ymm10,%ymm10
  5327. vpslld $30,%ymm2,%ymm6
  5328. vpor %ymm8,%ymm7,%ymm7
  5329. vpaddd %ymm5,%ymm0,%ymm0
  5330. vpsrld $31,%ymm10,%ymm9
  5331. vpaddd %ymm10,%ymm10,%ymm10
  5332. vpsrld $2,%ymm2,%ymm2
  5333. vpaddd %ymm7,%ymm0,%ymm0
  5334. vpor %ymm9,%ymm10,%ymm10
  5335. vpor %ymm6,%ymm2,%ymm2
  5336. vmovdqa 32(%rbp),%ymm15
  5337. vpxor %ymm13,%ymm11,%ymm11
  5338. vmovdqa 352-256-128(%rbx),%ymm13
  5339. vpaddd %ymm15,%ymm4,%ymm4
  5340. vpslld $5,%ymm0,%ymm7
  5341. vpand %ymm2,%ymm3,%ymm6
  5342. vpxor 32-128(%rax),%ymm11,%ymm11
  5343. vpaddd %ymm6,%ymm4,%ymm4
  5344. vpsrld $27,%ymm0,%ymm8
  5345. vpxor %ymm2,%ymm3,%ymm5
  5346. vpxor %ymm13,%ymm11,%ymm11
  5347. vmovdqu %ymm10,256-256-128(%rbx)
  5348. vpaddd %ymm10,%ymm4,%ymm4
  5349. vpor %ymm8,%ymm7,%ymm7
  5350. vpsrld $31,%ymm11,%ymm9
  5351. vpand %ymm1,%ymm5,%ymm5
  5352. vpaddd %ymm11,%ymm11,%ymm11
  5353. vpslld $30,%ymm1,%ymm6
  5354. vpaddd %ymm5,%ymm4,%ymm4
  5355. vpsrld $2,%ymm1,%ymm1
  5356. vpaddd %ymm7,%ymm4,%ymm4
  5357. vpor %ymm9,%ymm11,%ymm11
  5358. vpor %ymm6,%ymm1,%ymm1
  5359. vpxor %ymm14,%ymm12,%ymm12
  5360. vmovdqa 384-256-128(%rbx),%ymm14
  5361. vpaddd %ymm15,%ymm3,%ymm3
  5362. vpslld $5,%ymm4,%ymm7
  5363. vpand %ymm1,%ymm2,%ymm6
  5364. vpxor 64-128(%rax),%ymm12,%ymm12
  5365. vpaddd %ymm6,%ymm3,%ymm3
  5366. vpsrld $27,%ymm4,%ymm8
  5367. vpxor %ymm1,%ymm2,%ymm5
  5368. vpxor %ymm14,%ymm12,%ymm12
  5369. vmovdqu %ymm11,288-256-128(%rbx)
  5370. vpaddd %ymm11,%ymm3,%ymm3
  5371. vpor %ymm8,%ymm7,%ymm7
  5372. vpsrld $31,%ymm12,%ymm9
  5373. vpand %ymm0,%ymm5,%ymm5
  5374. vpaddd %ymm12,%ymm12,%ymm12
  5375. vpslld $30,%ymm0,%ymm6
  5376. vpaddd %ymm5,%ymm3,%ymm3
  5377. vpsrld $2,%ymm0,%ymm0
  5378. vpaddd %ymm7,%ymm3,%ymm3
  5379. vpor %ymm9,%ymm12,%ymm12
  5380. vpor %ymm6,%ymm0,%ymm0
  5381. vpxor %ymm10,%ymm13,%ymm13
  5382. vmovdqa 416-256-128(%rbx),%ymm10
  5383. vpaddd %ymm15,%ymm2,%ymm2
  5384. vpslld $5,%ymm3,%ymm7
  5385. vpand %ymm0,%ymm1,%ymm6
  5386. vpxor 96-128(%rax),%ymm13,%ymm13
  5387. vpaddd %ymm6,%ymm2,%ymm2
  5388. vpsrld $27,%ymm3,%ymm8
  5389. vpxor %ymm0,%ymm1,%ymm5
  5390. vpxor %ymm10,%ymm13,%ymm13
  5391. vmovdqu %ymm12,320-256-128(%rbx)
  5392. vpaddd %ymm12,%ymm2,%ymm2
  5393. vpor %ymm8,%ymm7,%ymm7
  5394. vpsrld $31,%ymm13,%ymm9
  5395. vpand %ymm4,%ymm5,%ymm5
  5396. vpaddd %ymm13,%ymm13,%ymm13
  5397. vpslld $30,%ymm4,%ymm6
  5398. vpaddd %ymm5,%ymm2,%ymm2
  5399. vpsrld $2,%ymm4,%ymm4
  5400. vpaddd %ymm7,%ymm2,%ymm2
  5401. vpor %ymm9,%ymm13,%ymm13
  5402. vpor %ymm6,%ymm4,%ymm4
  5403. vpxor %ymm11,%ymm14,%ymm14
  5404. vmovdqa 448-256-128(%rbx),%ymm11
  5405. vpaddd %ymm15,%ymm1,%ymm1
  5406. vpslld $5,%ymm2,%ymm7
  5407. vpand %ymm4,%ymm0,%ymm6
  5408. vpxor 128-128(%rax),%ymm14,%ymm14
  5409. vpaddd %ymm6,%ymm1,%ymm1
  5410. vpsrld $27,%ymm2,%ymm8
  5411. vpxor %ymm4,%ymm0,%ymm5
  5412. vpxor %ymm11,%ymm14,%ymm14
  5413. vmovdqu %ymm13,352-256-128(%rbx)
  5414. vpaddd %ymm13,%ymm1,%ymm1
  5415. vpor %ymm8,%ymm7,%ymm7
  5416. vpsrld $31,%ymm14,%ymm9
  5417. vpand %ymm3,%ymm5,%ymm5
  5418. vpaddd %ymm14,%ymm14,%ymm14
  5419. vpslld $30,%ymm3,%ymm6
  5420. vpaddd %ymm5,%ymm1,%ymm1
  5421. vpsrld $2,%ymm3,%ymm3
  5422. vpaddd %ymm7,%ymm1,%ymm1
  5423. vpor %ymm9,%ymm14,%ymm14
  5424. vpor %ymm6,%ymm3,%ymm3
  5425. vpxor %ymm12,%ymm10,%ymm10
  5426. vmovdqa 480-256-128(%rbx),%ymm12
  5427. vpaddd %ymm15,%ymm0,%ymm0
  5428. vpslld $5,%ymm1,%ymm7
  5429. vpand %ymm3,%ymm4,%ymm6
  5430. vpxor 160-128(%rax),%ymm10,%ymm10
  5431. vpaddd %ymm6,%ymm0,%ymm0
  5432. vpsrld $27,%ymm1,%ymm8
  5433. vpxor %ymm3,%ymm4,%ymm5
  5434. vpxor %ymm12,%ymm10,%ymm10
  5435. vmovdqu %ymm14,384-256-128(%rbx)
  5436. vpaddd %ymm14,%ymm0,%ymm0
  5437. vpor %ymm8,%ymm7,%ymm7
  5438. vpsrld $31,%ymm10,%ymm9
  5439. vpand %ymm2,%ymm5,%ymm5
  5440. vpaddd %ymm10,%ymm10,%ymm10
  5441. vpslld $30,%ymm2,%ymm6
  5442. vpaddd %ymm5,%ymm0,%ymm0
  5443. vpsrld $2,%ymm2,%ymm2
  5444. vpaddd %ymm7,%ymm0,%ymm0
  5445. vpor %ymm9,%ymm10,%ymm10
  5446. vpor %ymm6,%ymm2,%ymm2
  5447. vpxor %ymm13,%ymm11,%ymm11
  5448. vmovdqa 0-128(%rax),%ymm13
  5449. vpaddd %ymm15,%ymm4,%ymm4
  5450. vpslld $5,%ymm0,%ymm7
  5451. vpand %ymm2,%ymm3,%ymm6
  5452. vpxor 192-128(%rax),%ymm11,%ymm11
  5453. vpaddd %ymm6,%ymm4,%ymm4
  5454. vpsrld $27,%ymm0,%ymm8
  5455. vpxor %ymm2,%ymm3,%ymm5
  5456. vpxor %ymm13,%ymm11,%ymm11
  5457. vmovdqu %ymm10,416-256-128(%rbx)
  5458. vpaddd %ymm10,%ymm4,%ymm4
  5459. vpor %ymm8,%ymm7,%ymm7
  5460. vpsrld $31,%ymm11,%ymm9
  5461. vpand %ymm1,%ymm5,%ymm5
  5462. vpaddd %ymm11,%ymm11,%ymm11
  5463. vpslld $30,%ymm1,%ymm6
  5464. vpaddd %ymm5,%ymm4,%ymm4
  5465. vpsrld $2,%ymm1,%ymm1
  5466. vpaddd %ymm7,%ymm4,%ymm4
  5467. vpor %ymm9,%ymm11,%ymm11
  5468. vpor %ymm6,%ymm1,%ymm1
  5469. vpxor %ymm14,%ymm12,%ymm12
  5470. vmovdqa 32-128(%rax),%ymm14
  5471. vpaddd %ymm15,%ymm3,%ymm3
  5472. vpslld $5,%ymm4,%ymm7
  5473. vpand %ymm1,%ymm2,%ymm6
  5474. vpxor 224-128(%rax),%ymm12,%ymm12
  5475. vpaddd %ymm6,%ymm3,%ymm3
  5476. vpsrld $27,%ymm4,%ymm8
  5477. vpxor %ymm1,%ymm2,%ymm5
  5478. vpxor %ymm14,%ymm12,%ymm12
  5479. vmovdqu %ymm11,448-256-128(%rbx)
  5480. vpaddd %ymm11,%ymm3,%ymm3
  5481. vpor %ymm8,%ymm7,%ymm7
  5482. vpsrld $31,%ymm12,%ymm9
  5483. vpand %ymm0,%ymm5,%ymm5
  5484. vpaddd %ymm12,%ymm12,%ymm12
  5485. vpslld $30,%ymm0,%ymm6
  5486. vpaddd %ymm5,%ymm3,%ymm3
  5487. vpsrld $2,%ymm0,%ymm0
  5488. vpaddd %ymm7,%ymm3,%ymm3
  5489. vpor %ymm9,%ymm12,%ymm12
  5490. vpor %ymm6,%ymm0,%ymm0
  5491. vpxor %ymm10,%ymm13,%ymm13
  5492. vmovdqa 64-128(%rax),%ymm10
  5493. vpaddd %ymm15,%ymm2,%ymm2
  5494. vpslld $5,%ymm3,%ymm7
  5495. vpand %ymm0,%ymm1,%ymm6
  5496. vpxor 256-256-128(%rbx),%ymm13,%ymm13
  5497. vpaddd %ymm6,%ymm2,%ymm2
  5498. vpsrld $27,%ymm3,%ymm8
  5499. vpxor %ymm0,%ymm1,%ymm5
  5500. vpxor %ymm10,%ymm13,%ymm13
  5501. vmovdqu %ymm12,480-256-128(%rbx)
  5502. vpaddd %ymm12,%ymm2,%ymm2
  5503. vpor %ymm8,%ymm7,%ymm7
  5504. vpsrld $31,%ymm13,%ymm9
  5505. vpand %ymm4,%ymm5,%ymm5
  5506. vpaddd %ymm13,%ymm13,%ymm13
  5507. vpslld $30,%ymm4,%ymm6
  5508. vpaddd %ymm5,%ymm2,%ymm2
  5509. vpsrld $2,%ymm4,%ymm4
  5510. vpaddd %ymm7,%ymm2,%ymm2
  5511. vpor %ymm9,%ymm13,%ymm13
  5512. vpor %ymm6,%ymm4,%ymm4
  5513. vpxor %ymm11,%ymm14,%ymm14
  5514. vmovdqa 96-128(%rax),%ymm11
  5515. vpaddd %ymm15,%ymm1,%ymm1
  5516. vpslld $5,%ymm2,%ymm7
  5517. vpand %ymm4,%ymm0,%ymm6
  5518. vpxor 288-256-128(%rbx),%ymm14,%ymm14
  5519. vpaddd %ymm6,%ymm1,%ymm1
  5520. vpsrld $27,%ymm2,%ymm8
  5521. vpxor %ymm4,%ymm0,%ymm5
  5522. vpxor %ymm11,%ymm14,%ymm14
  5523. vmovdqu %ymm13,0-128(%rax)
  5524. vpaddd %ymm13,%ymm1,%ymm1
  5525. vpor %ymm8,%ymm7,%ymm7
  5526. vpsrld $31,%ymm14,%ymm9
  5527. vpand %ymm3,%ymm5,%ymm5
  5528. vpaddd %ymm14,%ymm14,%ymm14
  5529. vpslld $30,%ymm3,%ymm6
  5530. vpaddd %ymm5,%ymm1,%ymm1
  5531. vpsrld $2,%ymm3,%ymm3
  5532. vpaddd %ymm7,%ymm1,%ymm1
  5533. vpor %ymm9,%ymm14,%ymm14
  5534. vpor %ymm6,%ymm3,%ymm3
  5535. vpxor %ymm12,%ymm10,%ymm10
  5536. vmovdqa 128-128(%rax),%ymm12
  5537. vpaddd %ymm15,%ymm0,%ymm0
  5538. vpslld $5,%ymm1,%ymm7
  5539. vpand %ymm3,%ymm4,%ymm6
  5540. vpxor 320-256-128(%rbx),%ymm10,%ymm10
  5541. vpaddd %ymm6,%ymm0,%ymm0
  5542. vpsrld $27,%ymm1,%ymm8
  5543. vpxor %ymm3,%ymm4,%ymm5
  5544. vpxor %ymm12,%ymm10,%ymm10
  5545. vmovdqu %ymm14,32-128(%rax)
  5546. vpaddd %ymm14,%ymm0,%ymm0
  5547. vpor %ymm8,%ymm7,%ymm7
  5548. vpsrld $31,%ymm10,%ymm9
  5549. vpand %ymm2,%ymm5,%ymm5
  5550. vpaddd %ymm10,%ymm10,%ymm10
  5551. vpslld $30,%ymm2,%ymm6
  5552. vpaddd %ymm5,%ymm0,%ymm0
  5553. vpsrld $2,%ymm2,%ymm2
  5554. vpaddd %ymm7,%ymm0,%ymm0
  5555. vpor %ymm9,%ymm10,%ymm10
  5556. vpor %ymm6,%ymm2,%ymm2
  5557. vpxor %ymm13,%ymm11,%ymm11
  5558. vmovdqa 160-128(%rax),%ymm13
  5559. vpaddd %ymm15,%ymm4,%ymm4
  5560. vpslld $5,%ymm0,%ymm7
  5561. vpand %ymm2,%ymm3,%ymm6
  5562. vpxor 352-256-128(%rbx),%ymm11,%ymm11
  5563. vpaddd %ymm6,%ymm4,%ymm4
  5564. vpsrld $27,%ymm0,%ymm8
  5565. vpxor %ymm2,%ymm3,%ymm5
  5566. vpxor %ymm13,%ymm11,%ymm11
  5567. vmovdqu %ymm10,64-128(%rax)
  5568. vpaddd %ymm10,%ymm4,%ymm4
  5569. vpor %ymm8,%ymm7,%ymm7
  5570. vpsrld $31,%ymm11,%ymm9
  5571. vpand %ymm1,%ymm5,%ymm5
  5572. vpaddd %ymm11,%ymm11,%ymm11
  5573. vpslld $30,%ymm1,%ymm6
  5574. vpaddd %ymm5,%ymm4,%ymm4
  5575. vpsrld $2,%ymm1,%ymm1
  5576. vpaddd %ymm7,%ymm4,%ymm4
  5577. vpor %ymm9,%ymm11,%ymm11
  5578. vpor %ymm6,%ymm1,%ymm1
  5579. vpxor %ymm14,%ymm12,%ymm12
  5580. vmovdqa 192-128(%rax),%ymm14
  5581. vpaddd %ymm15,%ymm3,%ymm3
  5582. vpslld $5,%ymm4,%ymm7
  5583. vpand %ymm1,%ymm2,%ymm6
  5584. vpxor 384-256-128(%rbx),%ymm12,%ymm12
  5585. vpaddd %ymm6,%ymm3,%ymm3
  5586. vpsrld $27,%ymm4,%ymm8
  5587. vpxor %ymm1,%ymm2,%ymm5
  5588. vpxor %ymm14,%ymm12,%ymm12
  5589. vmovdqu %ymm11,96-128(%rax)
  5590. vpaddd %ymm11,%ymm3,%ymm3
  5591. vpor %ymm8,%ymm7,%ymm7
  5592. vpsrld $31,%ymm12,%ymm9
  5593. vpand %ymm0,%ymm5,%ymm5
  5594. vpaddd %ymm12,%ymm12,%ymm12
  5595. vpslld $30,%ymm0,%ymm6
  5596. vpaddd %ymm5,%ymm3,%ymm3
  5597. vpsrld $2,%ymm0,%ymm0
  5598. vpaddd %ymm7,%ymm3,%ymm3
  5599. vpor %ymm9,%ymm12,%ymm12
  5600. vpor %ymm6,%ymm0,%ymm0
  5601. vpxor %ymm10,%ymm13,%ymm13
  5602. vmovdqa 224-128(%rax),%ymm10
  5603. vpaddd %ymm15,%ymm2,%ymm2
  5604. vpslld $5,%ymm3,%ymm7
  5605. vpand %ymm0,%ymm1,%ymm6
  5606. vpxor 416-256-128(%rbx),%ymm13,%ymm13
  5607. vpaddd %ymm6,%ymm2,%ymm2
  5608. vpsrld $27,%ymm3,%ymm8
  5609. vpxor %ymm0,%ymm1,%ymm5
  5610. vpxor %ymm10,%ymm13,%ymm13
  5611. vmovdqu %ymm12,128-128(%rax)
  5612. vpaddd %ymm12,%ymm2,%ymm2
  5613. vpor %ymm8,%ymm7,%ymm7
  5614. vpsrld $31,%ymm13,%ymm9
  5615. vpand %ymm4,%ymm5,%ymm5
  5616. vpaddd %ymm13,%ymm13,%ymm13
  5617. vpslld $30,%ymm4,%ymm6
  5618. vpaddd %ymm5,%ymm2,%ymm2
  5619. vpsrld $2,%ymm4,%ymm4
  5620. vpaddd %ymm7,%ymm2,%ymm2
  5621. vpor %ymm9,%ymm13,%ymm13
  5622. vpor %ymm6,%ymm4,%ymm4
  5623. vpxor %ymm11,%ymm14,%ymm14
  5624. vmovdqa 256-256-128(%rbx),%ymm11
  5625. vpaddd %ymm15,%ymm1,%ymm1
  5626. vpslld $5,%ymm2,%ymm7
  5627. vpand %ymm4,%ymm0,%ymm6
  5628. vpxor 448-256-128(%rbx),%ymm14,%ymm14
  5629. vpaddd %ymm6,%ymm1,%ymm1
  5630. vpsrld $27,%ymm2,%ymm8
  5631. vpxor %ymm4,%ymm0,%ymm5
  5632. vpxor %ymm11,%ymm14,%ymm14
  5633. vmovdqu %ymm13,160-128(%rax)
  5634. vpaddd %ymm13,%ymm1,%ymm1
  5635. vpor %ymm8,%ymm7,%ymm7
  5636. vpsrld $31,%ymm14,%ymm9
  5637. vpand %ymm3,%ymm5,%ymm5
  5638. vpaddd %ymm14,%ymm14,%ymm14
  5639. vpslld $30,%ymm3,%ymm6
  5640. vpaddd %ymm5,%ymm1,%ymm1
  5641. vpsrld $2,%ymm3,%ymm3
  5642. vpaddd %ymm7,%ymm1,%ymm1
  5643. vpor %ymm9,%ymm14,%ymm14
  5644. vpor %ymm6,%ymm3,%ymm3
  5645. vpxor %ymm12,%ymm10,%ymm10
  5646. vmovdqa 288-256-128(%rbx),%ymm12
  5647. vpaddd %ymm15,%ymm0,%ymm0
  5648. vpslld $5,%ymm1,%ymm7
  5649. vpand %ymm3,%ymm4,%ymm6
  5650. vpxor 480-256-128(%rbx),%ymm10,%ymm10
  5651. vpaddd %ymm6,%ymm0,%ymm0
  5652. vpsrld $27,%ymm1,%ymm8
  5653. vpxor %ymm3,%ymm4,%ymm5
  5654. vpxor %ymm12,%ymm10,%ymm10
  5655. vmovdqu %ymm14,192-128(%rax)
  5656. vpaddd %ymm14,%ymm0,%ymm0
  5657. vpor %ymm8,%ymm7,%ymm7
  5658. vpsrld $31,%ymm10,%ymm9
  5659. vpand %ymm2,%ymm5,%ymm5
  5660. vpaddd %ymm10,%ymm10,%ymm10
  5661. vpslld $30,%ymm2,%ymm6
  5662. vpaddd %ymm5,%ymm0,%ymm0
  5663. vpsrld $2,%ymm2,%ymm2
  5664. vpaddd %ymm7,%ymm0,%ymm0
  5665. vpor %ymm9,%ymm10,%ymm10
  5666. vpor %ymm6,%ymm2,%ymm2
  5667. vpxor %ymm13,%ymm11,%ymm11
  5668. vmovdqa 320-256-128(%rbx),%ymm13
  5669. vpaddd %ymm15,%ymm4,%ymm4
  5670. vpslld $5,%ymm0,%ymm7
  5671. vpand %ymm2,%ymm3,%ymm6
  5672. vpxor 0-128(%rax),%ymm11,%ymm11
  5673. vpaddd %ymm6,%ymm4,%ymm4
  5674. vpsrld $27,%ymm0,%ymm8
  5675. vpxor %ymm2,%ymm3,%ymm5
  5676. vpxor %ymm13,%ymm11,%ymm11
  5677. vmovdqu %ymm10,224-128(%rax)
  5678. vpaddd %ymm10,%ymm4,%ymm4
  5679. vpor %ymm8,%ymm7,%ymm7
  5680. vpsrld $31,%ymm11,%ymm9
  5681. vpand %ymm1,%ymm5,%ymm5
  5682. vpaddd %ymm11,%ymm11,%ymm11
  5683. vpslld $30,%ymm1,%ymm6
  5684. vpaddd %ymm5,%ymm4,%ymm4
  5685. vpsrld $2,%ymm1,%ymm1
  5686. vpaddd %ymm7,%ymm4,%ymm4
  5687. vpor %ymm9,%ymm11,%ymm11
  5688. vpor %ymm6,%ymm1,%ymm1
  5689. vpxor %ymm14,%ymm12,%ymm12
  5690. vmovdqa 352-256-128(%rbx),%ymm14
  5691. vpaddd %ymm15,%ymm3,%ymm3
  5692. vpslld $5,%ymm4,%ymm7
  5693. vpand %ymm1,%ymm2,%ymm6
  5694. vpxor 32-128(%rax),%ymm12,%ymm12
  5695. vpaddd %ymm6,%ymm3,%ymm3
  5696. vpsrld $27,%ymm4,%ymm8
  5697. vpxor %ymm1,%ymm2,%ymm5
  5698. vpxor %ymm14,%ymm12,%ymm12
  5699. vmovdqu %ymm11,256-256-128(%rbx)
  5700. vpaddd %ymm11,%ymm3,%ymm3
  5701. vpor %ymm8,%ymm7,%ymm7
  5702. vpsrld $31,%ymm12,%ymm9
  5703. vpand %ymm0,%ymm5,%ymm5
  5704. vpaddd %ymm12,%ymm12,%ymm12
  5705. vpslld $30,%ymm0,%ymm6
  5706. vpaddd %ymm5,%ymm3,%ymm3
  5707. vpsrld $2,%ymm0,%ymm0
  5708. vpaddd %ymm7,%ymm3,%ymm3
  5709. vpor %ymm9,%ymm12,%ymm12
  5710. vpor %ymm6,%ymm0,%ymm0
  5711. vpxor %ymm10,%ymm13,%ymm13
  5712. vmovdqa 384-256-128(%rbx),%ymm10
  5713. vpaddd %ymm15,%ymm2,%ymm2
  5714. vpslld $5,%ymm3,%ymm7
  5715. vpand %ymm0,%ymm1,%ymm6
  5716. vpxor 64-128(%rax),%ymm13,%ymm13
  5717. vpaddd %ymm6,%ymm2,%ymm2
  5718. vpsrld $27,%ymm3,%ymm8
  5719. vpxor %ymm0,%ymm1,%ymm5
  5720. vpxor %ymm10,%ymm13,%ymm13
  5721. vmovdqu %ymm12,288-256-128(%rbx)
  5722. vpaddd %ymm12,%ymm2,%ymm2
  5723. vpor %ymm8,%ymm7,%ymm7
  5724. vpsrld $31,%ymm13,%ymm9
  5725. vpand %ymm4,%ymm5,%ymm5
  5726. vpaddd %ymm13,%ymm13,%ymm13
  5727. vpslld $30,%ymm4,%ymm6
  5728. vpaddd %ymm5,%ymm2,%ymm2
  5729. vpsrld $2,%ymm4,%ymm4
  5730. vpaddd %ymm7,%ymm2,%ymm2
  5731. vpor %ymm9,%ymm13,%ymm13
  5732. vpor %ymm6,%ymm4,%ymm4
  5733. vpxor %ymm11,%ymm14,%ymm14
  5734. vmovdqa 416-256-128(%rbx),%ymm11
  5735. vpaddd %ymm15,%ymm1,%ymm1
  5736. vpslld $5,%ymm2,%ymm7
  5737. vpand %ymm4,%ymm0,%ymm6
  5738. vpxor 96-128(%rax),%ymm14,%ymm14
  5739. vpaddd %ymm6,%ymm1,%ymm1
  5740. vpsrld $27,%ymm2,%ymm8
  5741. vpxor %ymm4,%ymm0,%ymm5
  5742. vpxor %ymm11,%ymm14,%ymm14
  5743. vmovdqu %ymm13,320-256-128(%rbx)
  5744. vpaddd %ymm13,%ymm1,%ymm1
  5745. vpor %ymm8,%ymm7,%ymm7
  5746. vpsrld $31,%ymm14,%ymm9
  5747. vpand %ymm3,%ymm5,%ymm5
  5748. vpaddd %ymm14,%ymm14,%ymm14
  5749. vpslld $30,%ymm3,%ymm6
  5750. vpaddd %ymm5,%ymm1,%ymm1
  5751. vpsrld $2,%ymm3,%ymm3
  5752. vpaddd %ymm7,%ymm1,%ymm1
  5753. vpor %ymm9,%ymm14,%ymm14
  5754. vpor %ymm6,%ymm3,%ymm3
  5755. vpxor %ymm12,%ymm10,%ymm10
  5756. vmovdqa 448-256-128(%rbx),%ymm12
  5757. vpaddd %ymm15,%ymm0,%ymm0
  5758. vpslld $5,%ymm1,%ymm7
  5759. vpand %ymm3,%ymm4,%ymm6
  5760. vpxor 128-128(%rax),%ymm10,%ymm10
  5761. vpaddd %ymm6,%ymm0,%ymm0
  5762. vpsrld $27,%ymm1,%ymm8
  5763. vpxor %ymm3,%ymm4,%ymm5
  5764. vpxor %ymm12,%ymm10,%ymm10
  5765. vmovdqu %ymm14,352-256-128(%rbx)
  5766. vpaddd %ymm14,%ymm0,%ymm0
  5767. vpor %ymm8,%ymm7,%ymm7
  5768. vpsrld $31,%ymm10,%ymm9
  5769. vpand %ymm2,%ymm5,%ymm5
  5770. vpaddd %ymm10,%ymm10,%ymm10
  5771. vpslld $30,%ymm2,%ymm6
  5772. vpaddd %ymm5,%ymm0,%ymm0
  5773. vpsrld $2,%ymm2,%ymm2
  5774. vpaddd %ymm7,%ymm0,%ymm0
  5775. vpor %ymm9,%ymm10,%ymm10
  5776. vpor %ymm6,%ymm2,%ymm2
  5777. vmovdqa 64(%rbp),%ymm15
  5778. vpxor %ymm13,%ymm11,%ymm11
  5779. vmovdqa 480-256-128(%rbx),%ymm13
  5780. vpslld $5,%ymm0,%ymm7
  5781. vpaddd %ymm15,%ymm4,%ymm4
  5782. vpxor %ymm1,%ymm3,%ymm5
  5783. vmovdqa %ymm10,384-256-128(%rbx)
  5784. vpaddd %ymm10,%ymm4,%ymm4
  5785. vpxor 160-128(%rax),%ymm11,%ymm11
  5786. vpsrld $27,%ymm0,%ymm8
  5787. vpxor %ymm2,%ymm5,%ymm5
  5788. vpxor %ymm13,%ymm11,%ymm11
  5789. vpslld $30,%ymm1,%ymm6
  5790. vpor %ymm8,%ymm7,%ymm7
  5791. vpaddd %ymm5,%ymm4,%ymm4
  5792. vpsrld $31,%ymm11,%ymm9
  5793. vpaddd %ymm11,%ymm11,%ymm11
  5794. vpsrld $2,%ymm1,%ymm1
  5795. vpaddd %ymm7,%ymm4,%ymm4
  5796. vpor %ymm9,%ymm11,%ymm11
  5797. vpor %ymm6,%ymm1,%ymm1
  5798. vpxor %ymm14,%ymm12,%ymm12
  5799. vmovdqa 0-128(%rax),%ymm14
  5800. vpslld $5,%ymm4,%ymm7
  5801. vpaddd %ymm15,%ymm3,%ymm3
  5802. vpxor %ymm0,%ymm2,%ymm5
  5803. vmovdqa %ymm11,416-256-128(%rbx)
  5804. vpaddd %ymm11,%ymm3,%ymm3
  5805. vpxor 192-128(%rax),%ymm12,%ymm12
  5806. vpsrld $27,%ymm4,%ymm8
  5807. vpxor %ymm1,%ymm5,%ymm5
  5808. vpxor %ymm14,%ymm12,%ymm12
  5809. vpslld $30,%ymm0,%ymm6
  5810. vpor %ymm8,%ymm7,%ymm7
  5811. vpaddd %ymm5,%ymm3,%ymm3
  5812. vpsrld $31,%ymm12,%ymm9
  5813. vpaddd %ymm12,%ymm12,%ymm12
  5814. vpsrld $2,%ymm0,%ymm0
  5815. vpaddd %ymm7,%ymm3,%ymm3
  5816. vpor %ymm9,%ymm12,%ymm12
  5817. vpor %ymm6,%ymm0,%ymm0
  5818. vpxor %ymm10,%ymm13,%ymm13
  5819. vmovdqa 32-128(%rax),%ymm10
  5820. vpslld $5,%ymm3,%ymm7
  5821. vpaddd %ymm15,%ymm2,%ymm2
  5822. vpxor %ymm4,%ymm1,%ymm5
  5823. vmovdqa %ymm12,448-256-128(%rbx)
  5824. vpaddd %ymm12,%ymm2,%ymm2
  5825. vpxor 224-128(%rax),%ymm13,%ymm13
  5826. vpsrld $27,%ymm3,%ymm8
  5827. vpxor %ymm0,%ymm5,%ymm5
  5828. vpxor %ymm10,%ymm13,%ymm13
  5829. vpslld $30,%ymm4,%ymm6
  5830. vpor %ymm8,%ymm7,%ymm7
  5831. vpaddd %ymm5,%ymm2,%ymm2
  5832. vpsrld $31,%ymm13,%ymm9
  5833. vpaddd %ymm13,%ymm13,%ymm13
  5834. vpsrld $2,%ymm4,%ymm4
  5835. vpaddd %ymm7,%ymm2,%ymm2
  5836. vpor %ymm9,%ymm13,%ymm13
  5837. vpor %ymm6,%ymm4,%ymm4
  5838. vpxor %ymm11,%ymm14,%ymm14
  5839. vmovdqa 64-128(%rax),%ymm11
  5840. vpslld $5,%ymm2,%ymm7
  5841. vpaddd %ymm15,%ymm1,%ymm1
  5842. vpxor %ymm3,%ymm0,%ymm5
  5843. vmovdqa %ymm13,480-256-128(%rbx)
  5844. vpaddd %ymm13,%ymm1,%ymm1
  5845. vpxor 256-256-128(%rbx),%ymm14,%ymm14
  5846. vpsrld $27,%ymm2,%ymm8
  5847. vpxor %ymm4,%ymm5,%ymm5
  5848. vpxor %ymm11,%ymm14,%ymm14
  5849. vpslld $30,%ymm3,%ymm6
  5850. vpor %ymm8,%ymm7,%ymm7
  5851. vpaddd %ymm5,%ymm1,%ymm1
  5852. vpsrld $31,%ymm14,%ymm9
  5853. vpaddd %ymm14,%ymm14,%ymm14
  5854. vpsrld $2,%ymm3,%ymm3
  5855. vpaddd %ymm7,%ymm1,%ymm1
  5856. vpor %ymm9,%ymm14,%ymm14
  5857. vpor %ymm6,%ymm3,%ymm3
  5858. vpxor %ymm12,%ymm10,%ymm10
  5859. vmovdqa 96-128(%rax),%ymm12
  5860. vpslld $5,%ymm1,%ymm7
  5861. vpaddd %ymm15,%ymm0,%ymm0
  5862. vpxor %ymm2,%ymm4,%ymm5
  5863. vmovdqa %ymm14,0-128(%rax)
  5864. vpaddd %ymm14,%ymm0,%ymm0
  5865. vpxor 288-256-128(%rbx),%ymm10,%ymm10
  5866. vpsrld $27,%ymm1,%ymm8
  5867. vpxor %ymm3,%ymm5,%ymm5
  5868. vpxor %ymm12,%ymm10,%ymm10
  5869. vpslld $30,%ymm2,%ymm6
  5870. vpor %ymm8,%ymm7,%ymm7
  5871. vpaddd %ymm5,%ymm0,%ymm0
  5872. vpsrld $31,%ymm10,%ymm9
  5873. vpaddd %ymm10,%ymm10,%ymm10
  5874. vpsrld $2,%ymm2,%ymm2
  5875. vpaddd %ymm7,%ymm0,%ymm0
  5876. vpor %ymm9,%ymm10,%ymm10
  5877. vpor %ymm6,%ymm2,%ymm2
  5878. vpxor %ymm13,%ymm11,%ymm11
  5879. vmovdqa 128-128(%rax),%ymm13
  5880. vpslld $5,%ymm0,%ymm7
  5881. vpaddd %ymm15,%ymm4,%ymm4
  5882. vpxor %ymm1,%ymm3,%ymm5
  5883. vmovdqa %ymm10,32-128(%rax)
  5884. vpaddd %ymm10,%ymm4,%ymm4
  5885. vpxor 320-256-128(%rbx),%ymm11,%ymm11
  5886. vpsrld $27,%ymm0,%ymm8
  5887. vpxor %ymm2,%ymm5,%ymm5
  5888. vpxor %ymm13,%ymm11,%ymm11
  5889. vpslld $30,%ymm1,%ymm6
  5890. vpor %ymm8,%ymm7,%ymm7
  5891. vpaddd %ymm5,%ymm4,%ymm4
  5892. vpsrld $31,%ymm11,%ymm9
  5893. vpaddd %ymm11,%ymm11,%ymm11
  5894. vpsrld $2,%ymm1,%ymm1
  5895. vpaddd %ymm7,%ymm4,%ymm4
  5896. vpor %ymm9,%ymm11,%ymm11
  5897. vpor %ymm6,%ymm1,%ymm1
  5898. vpxor %ymm14,%ymm12,%ymm12
  5899. vmovdqa 160-128(%rax),%ymm14
  5900. vpslld $5,%ymm4,%ymm7
  5901. vpaddd %ymm15,%ymm3,%ymm3
  5902. vpxor %ymm0,%ymm2,%ymm5
  5903. vmovdqa %ymm11,64-128(%rax)
  5904. vpaddd %ymm11,%ymm3,%ymm3
  5905. vpxor 352-256-128(%rbx),%ymm12,%ymm12
  5906. vpsrld $27,%ymm4,%ymm8
  5907. vpxor %ymm1,%ymm5,%ymm5
  5908. vpxor %ymm14,%ymm12,%ymm12
  5909. vpslld $30,%ymm0,%ymm6
  5910. vpor %ymm8,%ymm7,%ymm7
  5911. vpaddd %ymm5,%ymm3,%ymm3
  5912. vpsrld $31,%ymm12,%ymm9
  5913. vpaddd %ymm12,%ymm12,%ymm12
  5914. vpsrld $2,%ymm0,%ymm0
  5915. vpaddd %ymm7,%ymm3,%ymm3
  5916. vpor %ymm9,%ymm12,%ymm12
  5917. vpor %ymm6,%ymm0,%ymm0
  5918. vpxor %ymm10,%ymm13,%ymm13
  5919. vmovdqa 192-128(%rax),%ymm10
  5920. vpslld $5,%ymm3,%ymm7
  5921. vpaddd %ymm15,%ymm2,%ymm2
  5922. vpxor %ymm4,%ymm1,%ymm5
  5923. vmovdqa %ymm12,96-128(%rax)
  5924. vpaddd %ymm12,%ymm2,%ymm2
  5925. vpxor 384-256-128(%rbx),%ymm13,%ymm13
  5926. vpsrld $27,%ymm3,%ymm8
  5927. vpxor %ymm0,%ymm5,%ymm5
  5928. vpxor %ymm10,%ymm13,%ymm13
  5929. vpslld $30,%ymm4,%ymm6
  5930. vpor %ymm8,%ymm7,%ymm7
  5931. vpaddd %ymm5,%ymm2,%ymm2
  5932. vpsrld $31,%ymm13,%ymm9
  5933. vpaddd %ymm13,%ymm13,%ymm13
  5934. vpsrld $2,%ymm4,%ymm4
  5935. vpaddd %ymm7,%ymm2,%ymm2
  5936. vpor %ymm9,%ymm13,%ymm13
  5937. vpor %ymm6,%ymm4,%ymm4
  5938. vpxor %ymm11,%ymm14,%ymm14
  5939. vmovdqa 224-128(%rax),%ymm11
  5940. vpslld $5,%ymm2,%ymm7
  5941. vpaddd %ymm15,%ymm1,%ymm1
  5942. vpxor %ymm3,%ymm0,%ymm5
  5943. vmovdqa %ymm13,128-128(%rax)
  5944. vpaddd %ymm13,%ymm1,%ymm1
  5945. vpxor 416-256-128(%rbx),%ymm14,%ymm14
  5946. vpsrld $27,%ymm2,%ymm8
  5947. vpxor %ymm4,%ymm5,%ymm5
  5948. vpxor %ymm11,%ymm14,%ymm14
  5949. vpslld $30,%ymm3,%ymm6
  5950. vpor %ymm8,%ymm7,%ymm7
  5951. vpaddd %ymm5,%ymm1,%ymm1
  5952. vpsrld $31,%ymm14,%ymm9
  5953. vpaddd %ymm14,%ymm14,%ymm14
  5954. vpsrld $2,%ymm3,%ymm3
  5955. vpaddd %ymm7,%ymm1,%ymm1
  5956. vpor %ymm9,%ymm14,%ymm14
  5957. vpor %ymm6,%ymm3,%ymm3
  5958. vpxor %ymm12,%ymm10,%ymm10
  5959. vmovdqa 256-256-128(%rbx),%ymm12
  5960. vpslld $5,%ymm1,%ymm7
  5961. vpaddd %ymm15,%ymm0,%ymm0
  5962. vpxor %ymm2,%ymm4,%ymm5
  5963. vmovdqa %ymm14,160-128(%rax)
  5964. vpaddd %ymm14,%ymm0,%ymm0
  5965. vpxor 448-256-128(%rbx),%ymm10,%ymm10
  5966. vpsrld $27,%ymm1,%ymm8
  5967. vpxor %ymm3,%ymm5,%ymm5
  5968. vpxor %ymm12,%ymm10,%ymm10
  5969. vpslld $30,%ymm2,%ymm6
  5970. vpor %ymm8,%ymm7,%ymm7
  5971. vpaddd %ymm5,%ymm0,%ymm0
  5972. vpsrld $31,%ymm10,%ymm9
  5973. vpaddd %ymm10,%ymm10,%ymm10
  5974. vpsrld $2,%ymm2,%ymm2
  5975. vpaddd %ymm7,%ymm0,%ymm0
  5976. vpor %ymm9,%ymm10,%ymm10
  5977. vpor %ymm6,%ymm2,%ymm2
  5978. vpxor %ymm13,%ymm11,%ymm11
  5979. vmovdqa 288-256-128(%rbx),%ymm13
  5980. vpslld $5,%ymm0,%ymm7
  5981. vpaddd %ymm15,%ymm4,%ymm4
  5982. vpxor %ymm1,%ymm3,%ymm5
  5983. vmovdqa %ymm10,192-128(%rax)
  5984. vpaddd %ymm10,%ymm4,%ymm4
  5985. vpxor 480-256-128(%rbx),%ymm11,%ymm11
  5986. vpsrld $27,%ymm0,%ymm8
  5987. vpxor %ymm2,%ymm5,%ymm5
  5988. vpxor %ymm13,%ymm11,%ymm11
  5989. vpslld $30,%ymm1,%ymm6
  5990. vpor %ymm8,%ymm7,%ymm7
  5991. vpaddd %ymm5,%ymm4,%ymm4
  5992. vpsrld $31,%ymm11,%ymm9
  5993. vpaddd %ymm11,%ymm11,%ymm11
  5994. vpsrld $2,%ymm1,%ymm1
  5995. vpaddd %ymm7,%ymm4,%ymm4
  5996. vpor %ymm9,%ymm11,%ymm11
  5997. vpor %ymm6,%ymm1,%ymm1
  5998. vpxor %ymm14,%ymm12,%ymm12
  5999. vmovdqa 320-256-128(%rbx),%ymm14
  6000. vpslld $5,%ymm4,%ymm7
  6001. vpaddd %ymm15,%ymm3,%ymm3
  6002. vpxor %ymm0,%ymm2,%ymm5
  6003. vmovdqa %ymm11,224-128(%rax)
  6004. vpaddd %ymm11,%ymm3,%ymm3
  6005. vpxor 0-128(%rax),%ymm12,%ymm12
  6006. vpsrld $27,%ymm4,%ymm8
  6007. vpxor %ymm1,%ymm5,%ymm5
  6008. vpxor %ymm14,%ymm12,%ymm12
  6009. vpslld $30,%ymm0,%ymm6
  6010. vpor %ymm8,%ymm7,%ymm7
  6011. vpaddd %ymm5,%ymm3,%ymm3
  6012. vpsrld $31,%ymm12,%ymm9
  6013. vpaddd %ymm12,%ymm12,%ymm12
  6014. vpsrld $2,%ymm0,%ymm0
  6015. vpaddd %ymm7,%ymm3,%ymm3
  6016. vpor %ymm9,%ymm12,%ymm12
  6017. vpor %ymm6,%ymm0,%ymm0
  6018. vpxor %ymm10,%ymm13,%ymm13
  6019. vmovdqa 352-256-128(%rbx),%ymm10
  6020. vpslld $5,%ymm3,%ymm7
  6021. vpaddd %ymm15,%ymm2,%ymm2
  6022. vpxor %ymm4,%ymm1,%ymm5
  6023. vpaddd %ymm12,%ymm2,%ymm2
  6024. vpxor 32-128(%rax),%ymm13,%ymm13
  6025. vpsrld $27,%ymm3,%ymm8
  6026. vpxor %ymm0,%ymm5,%ymm5
  6027. vpxor %ymm10,%ymm13,%ymm13
  6028. vpslld $30,%ymm4,%ymm6
  6029. vpor %ymm8,%ymm7,%ymm7
  6030. vpaddd %ymm5,%ymm2,%ymm2
  6031. vpsrld $31,%ymm13,%ymm9
  6032. vpaddd %ymm13,%ymm13,%ymm13
  6033. vpsrld $2,%ymm4,%ymm4
  6034. vpaddd %ymm7,%ymm2,%ymm2
  6035. vpor %ymm9,%ymm13,%ymm13
  6036. vpor %ymm6,%ymm4,%ymm4
  6037. vpxor %ymm11,%ymm14,%ymm14
  6038. vmovdqa 384-256-128(%rbx),%ymm11
  6039. vpslld $5,%ymm2,%ymm7
  6040. vpaddd %ymm15,%ymm1,%ymm1
  6041. vpxor %ymm3,%ymm0,%ymm5
  6042. vpaddd %ymm13,%ymm1,%ymm1
  6043. vpxor 64-128(%rax),%ymm14,%ymm14
  6044. vpsrld $27,%ymm2,%ymm8
  6045. vpxor %ymm4,%ymm5,%ymm5
  6046. vpxor %ymm11,%ymm14,%ymm14
  6047. vpslld $30,%ymm3,%ymm6
  6048. vpor %ymm8,%ymm7,%ymm7
  6049. vpaddd %ymm5,%ymm1,%ymm1
  6050. vpsrld $31,%ymm14,%ymm9
  6051. vpaddd %ymm14,%ymm14,%ymm14
  6052. vpsrld $2,%ymm3,%ymm3
  6053. vpaddd %ymm7,%ymm1,%ymm1
  6054. vpor %ymm9,%ymm14,%ymm14
  6055. vpor %ymm6,%ymm3,%ymm3
  6056. vpxor %ymm12,%ymm10,%ymm10
  6057. vmovdqa 416-256-128(%rbx),%ymm12
  6058. vpslld $5,%ymm1,%ymm7
  6059. vpaddd %ymm15,%ymm0,%ymm0
  6060. vpxor %ymm2,%ymm4,%ymm5
  6061. vpaddd %ymm14,%ymm0,%ymm0
  6062. vpxor 96-128(%rax),%ymm10,%ymm10
  6063. vpsrld $27,%ymm1,%ymm8
  6064. vpxor %ymm3,%ymm5,%ymm5
  6065. vpxor %ymm12,%ymm10,%ymm10
  6066. vpslld $30,%ymm2,%ymm6
  6067. vpor %ymm8,%ymm7,%ymm7
  6068. vpaddd %ymm5,%ymm0,%ymm0
  6069. vpsrld $31,%ymm10,%ymm9
  6070. vpaddd %ymm10,%ymm10,%ymm10
  6071. vpsrld $2,%ymm2,%ymm2
  6072. vpaddd %ymm7,%ymm0,%ymm0
  6073. vpor %ymm9,%ymm10,%ymm10
  6074. vpor %ymm6,%ymm2,%ymm2
  6075. vpxor %ymm13,%ymm11,%ymm11
  6076. vmovdqa 448-256-128(%rbx),%ymm13
  6077. vpslld $5,%ymm0,%ymm7
  6078. vpaddd %ymm15,%ymm4,%ymm4
  6079. vpxor %ymm1,%ymm3,%ymm5
  6080. vpaddd %ymm10,%ymm4,%ymm4
  6081. vpxor 128-128(%rax),%ymm11,%ymm11
  6082. vpsrld $27,%ymm0,%ymm8
  6083. vpxor %ymm2,%ymm5,%ymm5
  6084. vpxor %ymm13,%ymm11,%ymm11
  6085. vpslld $30,%ymm1,%ymm6
  6086. vpor %ymm8,%ymm7,%ymm7
  6087. vpaddd %ymm5,%ymm4,%ymm4
  6088. vpsrld $31,%ymm11,%ymm9
  6089. vpaddd %ymm11,%ymm11,%ymm11
  6090. vpsrld $2,%ymm1,%ymm1
  6091. vpaddd %ymm7,%ymm4,%ymm4
  6092. vpor %ymm9,%ymm11,%ymm11
  6093. vpor %ymm6,%ymm1,%ymm1
  6094. vpxor %ymm14,%ymm12,%ymm12
  6095. vmovdqa 480-256-128(%rbx),%ymm14
  6096. vpslld $5,%ymm4,%ymm7
  6097. vpaddd %ymm15,%ymm3,%ymm3
  6098. vpxor %ymm0,%ymm2,%ymm5
  6099. vpaddd %ymm11,%ymm3,%ymm3
  6100. vpxor 160-128(%rax),%ymm12,%ymm12
  6101. vpsrld $27,%ymm4,%ymm8
  6102. vpxor %ymm1,%ymm5,%ymm5
  6103. vpxor %ymm14,%ymm12,%ymm12
  6104. vpslld $30,%ymm0,%ymm6
  6105. vpor %ymm8,%ymm7,%ymm7
  6106. vpaddd %ymm5,%ymm3,%ymm3
  6107. vpsrld $31,%ymm12,%ymm9
  6108. vpaddd %ymm12,%ymm12,%ymm12
  6109. vpsrld $2,%ymm0,%ymm0
  6110. vpaddd %ymm7,%ymm3,%ymm3
  6111. vpor %ymm9,%ymm12,%ymm12
  6112. vpor %ymm6,%ymm0,%ymm0
  6113. vpxor %ymm10,%ymm13,%ymm13
  6114. vmovdqa 0-128(%rax),%ymm10
  6115. vpslld $5,%ymm3,%ymm7
  6116. vpaddd %ymm15,%ymm2,%ymm2
  6117. vpxor %ymm4,%ymm1,%ymm5
  6118. vpaddd %ymm12,%ymm2,%ymm2
  6119. vpxor 192-128(%rax),%ymm13,%ymm13
  6120. vpsrld $27,%ymm3,%ymm8
  6121. vpxor %ymm0,%ymm5,%ymm5
  6122. vpxor %ymm10,%ymm13,%ymm13
  6123. vpslld $30,%ymm4,%ymm6
  6124. vpor %ymm8,%ymm7,%ymm7
  6125. vpaddd %ymm5,%ymm2,%ymm2
  6126. vpsrld $31,%ymm13,%ymm9
  6127. vpaddd %ymm13,%ymm13,%ymm13
  6128. vpsrld $2,%ymm4,%ymm4
  6129. vpaddd %ymm7,%ymm2,%ymm2
  6130. vpor %ymm9,%ymm13,%ymm13
  6131. vpor %ymm6,%ymm4,%ymm4
  6132. vpxor %ymm11,%ymm14,%ymm14
  6133. vmovdqa 32-128(%rax),%ymm11
  6134. vpslld $5,%ymm2,%ymm7
  6135. vpaddd %ymm15,%ymm1,%ymm1
  6136. vpxor %ymm3,%ymm0,%ymm5
  6137. vpaddd %ymm13,%ymm1,%ymm1
  6138. vpxor 224-128(%rax),%ymm14,%ymm14
  6139. vpsrld $27,%ymm2,%ymm8
  6140. vpxor %ymm4,%ymm5,%ymm5
  6141. vpxor %ymm11,%ymm14,%ymm14
  6142. vpslld $30,%ymm3,%ymm6
  6143. vpor %ymm8,%ymm7,%ymm7
  6144. vpaddd %ymm5,%ymm1,%ymm1
  6145. vpsrld $31,%ymm14,%ymm9
  6146. vpaddd %ymm14,%ymm14,%ymm14
  6147. vpsrld $2,%ymm3,%ymm3
  6148. vpaddd %ymm7,%ymm1,%ymm1
  6149. vpor %ymm9,%ymm14,%ymm14
  6150. vpor %ymm6,%ymm3,%ymm3
  6151. vpslld $5,%ymm1,%ymm7
  6152. vpaddd %ymm15,%ymm0,%ymm0
  6153. vpxor %ymm2,%ymm4,%ymm5
  6154. vpsrld $27,%ymm1,%ymm8
  6155. vpaddd %ymm14,%ymm0,%ymm0
  6156. vpxor %ymm3,%ymm5,%ymm5
  6157. vpslld $30,%ymm2,%ymm6
  6158. vpor %ymm8,%ymm7,%ymm7
  6159. vpaddd %ymm5,%ymm0,%ymm0
  6160. vpsrld $2,%ymm2,%ymm2
  6161. vpaddd %ymm7,%ymm0,%ymm0
  6162. vpor %ymm6,%ymm2,%ymm2
  6163. movl $1,%ecx
  6164. leaq 512(%rsp),%rbx
  6165. cmpl 0(%rbx),%ecx
  6166. cmovgeq %rbp,%r12
  6167. cmpl 4(%rbx),%ecx
  6168. cmovgeq %rbp,%r13
  6169. cmpl 8(%rbx),%ecx
  6170. cmovgeq %rbp,%r14
  6171. cmpl 12(%rbx),%ecx
  6172. cmovgeq %rbp,%r15
  6173. cmpl 16(%rbx),%ecx
  6174. cmovgeq %rbp,%r8
  6175. cmpl 20(%rbx),%ecx
  6176. cmovgeq %rbp,%r9
  6177. cmpl 24(%rbx),%ecx
  6178. cmovgeq %rbp,%r10
  6179. cmpl 28(%rbx),%ecx
  6180. cmovgeq %rbp,%r11
  6181. vmovdqu (%rbx),%ymm5
  6182. vpxor %ymm7,%ymm7,%ymm7
  6183. vmovdqa %ymm5,%ymm6
  6184. vpcmpgtd %ymm7,%ymm6,%ymm6
  6185. vpaddd %ymm6,%ymm5,%ymm5
  6186. vpand %ymm6,%ymm0,%ymm0
  6187. vpand %ymm6,%ymm1,%ymm1
  6188. vpaddd 0(%rdi),%ymm0,%ymm0
  6189. vpand %ymm6,%ymm2,%ymm2
  6190. vpaddd 32(%rdi),%ymm1,%ymm1
  6191. vpand %ymm6,%ymm3,%ymm3
  6192. vpaddd 64(%rdi),%ymm2,%ymm2
  6193. vpand %ymm6,%ymm4,%ymm4
  6194. vpaddd 96(%rdi),%ymm3,%ymm3
  6195. vpaddd 128(%rdi),%ymm4,%ymm4
  6196. vmovdqu %ymm0,0(%rdi)
  6197. vmovdqu %ymm1,32(%rdi)
  6198. vmovdqu %ymm2,64(%rdi)
  6199. vmovdqu %ymm3,96(%rdi)
  6200. vmovdqu %ymm4,128(%rdi)
  6201. vmovdqu %ymm5,(%rbx)
  6202. leaq 256+128(%rsp),%rbx
  6203. vmovdqu 96(%rbp),%ymm9
  6204. decl %edx
  6205. jnz L$oop_avx2
  6206. L$done_avx2:
  6207. movq 544(%rsp),%rax
  6208. vzeroupper
  6209. movq -48(%rax),%r15
  6210. movq -40(%rax),%r14
  6211. movq -32(%rax),%r13
  6212. movq -24(%rax),%r12
  6213. movq -16(%rax),%rbp
  6214. movq -8(%rax),%rbx
  6215. leaq (%rax),%rsp
  6216. L$epilogue_avx2:
  6217. .byte 0xf3,0xc3
  6218. .p2align 8
  6219. .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
  6220. .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
  6221. K_XX_XX:
  6222. .long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
  6223. .long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
  6224. .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
  6225. .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
  6226. .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
  6227. .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
  6228. .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
  6229. .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
  6230. .byte 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
  6231. .byte 83,72,65,49,32,109,117,108,116,105,45,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0