sha256-mb-x86_64.s 152 KB

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