1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779 |
- # qhasm: stack32 arg_out
- # qhasm: stack32 arg_m
- # qhasm: stack32 arg_l
- # qhasm: stack32 arg_ltop
- # qhasm: stack32 arg_k
- # qhasm: input arg_out
- # qhasm: input arg_m
- # qhasm: input arg_l
- # qhasm: input arg_ltop
- # qhasm: input arg_k
- # qhasm: int32 eax
- # qhasm: int32 ebx
- # qhasm: int32 esi
- # qhasm: int32 edi
- # qhasm: int32 ebp
- # qhasm: caller eax
- # qhasm: caller ebx
- # qhasm: caller esi
- # qhasm: caller edi
- # qhasm: caller ebp
- # qhasm: stack32 eax_stack
- # qhasm: stack32 ebx_stack
- # qhasm: stack32 esi_stack
- # qhasm: stack32 edi_stack
- # qhasm: stack32 ebp_stack
- # qhasm: int32 out
- # qhasm: stack32 out_stack
- # qhasm: int32 k
- # qhasm: stack32 k_stack
- # qhasm: int32 m
- # qhasm: int32 l
- # qhasm: int32 m0
- # qhasm: int32 m1
- # qhasm: int32 m2
- # qhasm: int32 m3
- # qhasm: float80 a0
- # qhasm: float80 a1
- # qhasm: float80 a2
- # qhasm: float80 a3
- # qhasm: float80 h0
- # qhasm: float80 h1
- # qhasm: float80 h2
- # qhasm: float80 h3
- # qhasm: float80 x0
- # qhasm: float80 x1
- # qhasm: float80 x2
- # qhasm: float80 x3
- # qhasm: float80 y0
- # qhasm: float80 y1
- # qhasm: float80 y2
- # qhasm: float80 y3
- # qhasm: float80 r0x0
- # qhasm: float80 r1x0
- # qhasm: float80 r2x0
- # qhasm: float80 r3x0
- # qhasm: float80 r0x1
- # qhasm: float80 r1x1
- # qhasm: float80 r2x1
- # qhasm: float80 sr3x1
- # qhasm: float80 r0x2
- # qhasm: float80 r1x2
- # qhasm: float80 sr2x2
- # qhasm: float80 sr3x2
- # qhasm: float80 r0x3
- # qhasm: float80 sr1x3
- # qhasm: float80 sr2x3
- # qhasm: float80 sr3x3
- # qhasm: stack64 d0
- # qhasm: stack64 d1
- # qhasm: stack64 d2
- # qhasm: stack64 d3
- # qhasm: stack64 r0
- # qhasm: stack64 r1
- # qhasm: stack64 r2
- # qhasm: stack64 r3
- # qhasm: stack64 sr1
- # qhasm: stack64 sr2
- # qhasm: stack64 sr3
- # qhasm: enter crypto_onetimeauth_poly1305_x86 stackaligned4096 crypto_onetimeauth_poly1305_x86_constants
- .text
- .p2align 5
- .globl _crypto_onetimeauth_poly1305_x86
- .globl crypto_onetimeauth_poly1305_x86
- _crypto_onetimeauth_poly1305_x86:
- crypto_onetimeauth_poly1305_x86:
- mov %esp,%eax
- sub $crypto_onetimeauth_poly1305_x86_constants,%eax
- and $4095,%eax
- add $192,%eax
- sub %eax,%esp
- # qhasm: eax_stack = eax
- # asm 1: movl <eax=int32#1,>eax_stack=stack32#1
- # asm 2: movl <eax=%eax,>eax_stack=0(%esp)
- movl %eax,0(%esp)
- # qhasm: ebx_stack = ebx
- # asm 1: movl <ebx=int32#4,>ebx_stack=stack32#2
- # asm 2: movl <ebx=%ebx,>ebx_stack=4(%esp)
- movl %ebx,4(%esp)
- # qhasm: esi_stack = esi
- # asm 1: movl <esi=int32#5,>esi_stack=stack32#3
- # asm 2: movl <esi=%esi,>esi_stack=8(%esp)
- movl %esi,8(%esp)
- # qhasm: edi_stack = edi
- # asm 1: movl <edi=int32#6,>edi_stack=stack32#4
- # asm 2: movl <edi=%edi,>edi_stack=12(%esp)
- movl %edi,12(%esp)
- # qhasm: ebp_stack = ebp
- # asm 1: movl <ebp=int32#7,>ebp_stack=stack32#5
- # asm 2: movl <ebp=%ebp,>ebp_stack=16(%esp)
- movl %ebp,16(%esp)
- # qhasm: round *(uint16 *) &crypto_onetimeauth_poly1305_x86_rounding
- fldcw crypto_onetimeauth_poly1305_x86_rounding
- # qhasm: k = arg_k
- # asm 1: movl <arg_k=stack32#-5,>k=int32#3
- # asm 2: movl <arg_k=20(%esp,%eax),>k=%edx
- movl 20(%esp,%eax),%edx
- # qhasm: m0 = *(uint32 *) (k + 0)
- # asm 1: movl 0(<k=int32#3),>m0=int32#2
- # asm 2: movl 0(<k=%edx),>m0=%ecx
- movl 0(%edx),%ecx
- # qhasm: m1 = *(uint32 *) (k + 4)
- # asm 1: movl 4(<k=int32#3),>m1=int32#4
- # asm 2: movl 4(<k=%edx),>m1=%ebx
- movl 4(%edx),%ebx
- # qhasm: m2 = *(uint32 *) (k + 8)
- # asm 1: movl 8(<k=int32#3),>m2=int32#5
- # asm 2: movl 8(<k=%edx),>m2=%esi
- movl 8(%edx),%esi
- # qhasm: m3 = *(uint32 *) (k + 12)
- # asm 1: movl 12(<k=int32#3),>m3=int32#6
- # asm 2: movl 12(<k=%edx),>m3=%edi
- movl 12(%edx),%edi
- # qhasm: d0 top = 0x43300000
- # asm 1: movl $0x43300000,>d0=stack64#1
- # asm 2: movl $0x43300000,>d0=100(%esp)
- movl $0x43300000,100(%esp)
- # qhasm: d1 top = 0x45300000
- # asm 1: movl $0x45300000,>d1=stack64#2
- # asm 2: movl $0x45300000,>d1=108(%esp)
- movl $0x45300000,108(%esp)
- # qhasm: d2 top = 0x47300000
- # asm 1: movl $0x47300000,>d2=stack64#3
- # asm 2: movl $0x47300000,>d2=116(%esp)
- movl $0x47300000,116(%esp)
- # qhasm: d3 top = 0x49300000
- # asm 1: movl $0x49300000,>d3=stack64#4
- # asm 2: movl $0x49300000,>d3=124(%esp)
- movl $0x49300000,124(%esp)
- # qhasm: m0 &= 0x0fffffff
- # asm 1: and $0x0fffffff,<m0=int32#2
- # asm 2: and $0x0fffffff,<m0=%ecx
- and $0x0fffffff,%ecx
- # qhasm: m1 &= 0x0ffffffc
- # asm 1: and $0x0ffffffc,<m1=int32#4
- # asm 2: and $0x0ffffffc,<m1=%ebx
- and $0x0ffffffc,%ebx
- # qhasm: m2 &= 0x0ffffffc
- # asm 1: and $0x0ffffffc,<m2=int32#5
- # asm 2: and $0x0ffffffc,<m2=%esi
- and $0x0ffffffc,%esi
- # qhasm: m3 &= 0x0ffffffc
- # asm 1: and $0x0ffffffc,<m3=int32#6
- # asm 2: and $0x0ffffffc,<m3=%edi
- and $0x0ffffffc,%edi
- # qhasm: inplace d0 bottom = m0
- # asm 1: movl <m0=int32#2,<d0=stack64#1
- # asm 2: movl <m0=%ecx,<d0=96(%esp)
- movl %ecx,96(%esp)
- # qhasm: inplace d1 bottom = m1
- # asm 1: movl <m1=int32#4,<d1=stack64#2
- # asm 2: movl <m1=%ebx,<d1=104(%esp)
- movl %ebx,104(%esp)
- # qhasm: inplace d2 bottom = m2
- # asm 1: movl <m2=int32#5,<d2=stack64#3
- # asm 2: movl <m2=%esi,<d2=112(%esp)
- movl %esi,112(%esp)
- # qhasm: inplace d3 bottom = m3
- # asm 1: movl <m3=int32#6,<d3=stack64#4
- # asm 2: movl <m3=%edi,<d3=120(%esp)
- movl %edi,120(%esp)
- # qhasm: a0 = *(float64 *) &d0
- # asm 1: fldl <d0=stack64#1
- # asm 2: fldl <d0=96(%esp)
- fldl 96(%esp)
- # comment:fpstackfrombottom:<a0#24:
- # qhasm: a0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset0
- fsubl crypto_onetimeauth_poly1305_x86_doffset0
- # comment:fpstackfrombottom:<a0#24:
- # qhasm: a1 = *(float64 *) &d1
- # asm 1: fldl <d1=stack64#2
- # asm 2: fldl <d1=104(%esp)
- fldl 104(%esp)
- # comment:fpstackfrombottom:<a0#24:<a1#25:
- # qhasm: a1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset1
- fsubl crypto_onetimeauth_poly1305_x86_doffset1
- # comment:fpstackfrombottom:<a0#24:<a1#25:
- # qhasm: a2 = *(float64 *) &d2
- # asm 1: fldl <d2=stack64#3
- # asm 2: fldl <d2=112(%esp)
- fldl 112(%esp)
- # comment:fpstackfrombottom:<a0#24:<a1#25:<a2#26:
- # qhasm: a2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset2
- fsubl crypto_onetimeauth_poly1305_x86_doffset2
- # comment:fpstackfrombottom:<a0#24:<a1#25:<a2#26:
- # qhasm: a3 = *(float64 *) &d3
- # asm 1: fldl <d3=stack64#4
- # asm 2: fldl <d3=120(%esp)
- fldl 120(%esp)
- # comment:fpstackfrombottom:<a0#24:<a1#25:<a2#26:<a3#27:
- # qhasm: a3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset3
- fsubl crypto_onetimeauth_poly1305_x86_doffset3
- # comment:fpstackfrombottom:<a0#24:<a1#25:<a2#26:<a3#27:
- # qhasm: internal stacktop a0
- # asm 1: fxch <a0=float80#4
- # asm 2: fxch <a0=%st(3)
- fxch %st(3)
- # qhasm: *(float64 *) &r0 = a0
- # asm 1: fstpl >r0=stack64#5
- # asm 2: fstpl >r0=128(%esp)
- fstpl 128(%esp)
- # comment:fpstackfrombottom:<a3#27:<a1#25:<a2#26:
- # qhasm: internal stacktop a1
- # asm 1: fxch <a1=float80#2
- # asm 2: fxch <a1=%st(1)
- fxch %st(1)
- # qhasm: *(float64 *) &r1 = a1
- # asm 1: fstl >r1=stack64#6
- # asm 2: fstl >r1=136(%esp)
- fstl 136(%esp)
- # comment:fpstackfrombottom:<a3#27:<a2#26:<a1#25:
- # qhasm: a1 *= *(float64 *) &crypto_onetimeauth_poly1305_x86_scale
- fmull crypto_onetimeauth_poly1305_x86_scale
- # comment:fpstackfrombottom:<a3#27:<a2#26:<a1#25:
- # qhasm: *(float64 *) &sr1 = a1
- # asm 1: fstpl >sr1=stack64#7
- # asm 2: fstpl >sr1=144(%esp)
- fstpl 144(%esp)
- # comment:fpstackfrombottom:<a3#27:<a2#26:
- # qhasm: *(float64 *) &r2 = a2
- # asm 1: fstl >r2=stack64#8
- # asm 2: fstl >r2=152(%esp)
- fstl 152(%esp)
- # comment:fpstackfrombottom:<a3#27:<a2#26:
- # qhasm: a2 *= *(float64 *) &crypto_onetimeauth_poly1305_x86_scale
- fmull crypto_onetimeauth_poly1305_x86_scale
- # comment:fpstackfrombottom:<a3#27:<a2#26:
- # qhasm: *(float64 *) &sr2 = a2
- # asm 1: fstpl >sr2=stack64#9
- # asm 2: fstpl >sr2=160(%esp)
- fstpl 160(%esp)
- # comment:fpstackfrombottom:<a3#27:
- # qhasm: *(float64 *) &r3 = a3
- # asm 1: fstl >r3=stack64#10
- # asm 2: fstl >r3=168(%esp)
- fstl 168(%esp)
- # comment:fpstackfrombottom:<a3#27:
- # qhasm: a3 *= *(float64 *) &crypto_onetimeauth_poly1305_x86_scale
- fmull crypto_onetimeauth_poly1305_x86_scale
- # comment:fpstackfrombottom:<a3#27:
- # qhasm: *(float64 *) &sr3 = a3
- # asm 1: fstpl >sr3=stack64#11
- # asm 2: fstpl >sr3=176(%esp)
- fstpl 176(%esp)
- # comment:fpstackfrombottom:
- # qhasm: out = arg_out
- # asm 1: movl <arg_out=stack32#-1,>out=int32#4
- # asm 2: movl <arg_out=4(%esp,%eax),>out=%ebx
- movl 4(%esp,%eax),%ebx
- # qhasm: m = arg_m
- # asm 1: movl <arg_m=stack32#-2,>m=int32#5
- # asm 2: movl <arg_m=8(%esp,%eax),>m=%esi
- movl 8(%esp,%eax),%esi
- # qhasm: l = arg_l
- # asm 1: movl <arg_l=stack32#-3,>l=int32#2
- # asm 2: movl <arg_l=12(%esp,%eax),>l=%ecx
- movl 12(%esp,%eax),%ecx
- # qhasm: h3 = 0
- fldz
- # comment:fpstackfrombottom:<h3#38:
- # qhasm: h2 = 0
- fldz
- # comment:fpstackfrombottom:<h3#38:<h2#39:
- # qhasm: h1 = 0
- fldz
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:
- # qhasm: h0 = 0
- fldz
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: k_stack = k
- # asm 1: movl <k=int32#3,>k_stack=stack32#6
- # asm 2: movl <k=%edx,>k_stack=20(%esp)
- movl %edx,20(%esp)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: out_stack = out
- # asm 1: movl <out=int32#4,>out_stack=stack32#7
- # asm 2: movl <out=%ebx,>out_stack=24(%esp)
- movl %ebx,24(%esp)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: unsigned<? l - 16
- # asm 1: cmp $16,<l=int32#2
- # asm 2: cmp $16,<l=%ecx
- cmp $16,%ecx
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # comment:fp stack unchanged by jump
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: goto addatmost15bytes if unsigned<
- jb ._addatmost15bytes
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: initialatleast16bytes:
- ._initialatleast16bytes:
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: m3 = *(uint32 *) (m + 12)
- # asm 1: movl 12(<m=int32#5),>m3=int32#1
- # asm 2: movl 12(<m=%esi),>m3=%eax
- movl 12(%esi),%eax
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: m2 = *(uint32 *) (m + 8)
- # asm 1: movl 8(<m=int32#5),>m2=int32#3
- # asm 2: movl 8(<m=%esi),>m2=%edx
- movl 8(%esi),%edx
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: m1 = *(uint32 *) (m + 4)
- # asm 1: movl 4(<m=int32#5),>m1=int32#4
- # asm 2: movl 4(<m=%esi),>m1=%ebx
- movl 4(%esi),%ebx
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: m0 = *(uint32 *) (m + 0)
- # asm 1: movl 0(<m=int32#5),>m0=int32#6
- # asm 2: movl 0(<m=%esi),>m0=%edi
- movl 0(%esi),%edi
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: inplace d3 bottom = m3
- # asm 1: movl <m3=int32#1,<d3=stack64#4
- # asm 2: movl <m3=%eax,<d3=120(%esp)
- movl %eax,120(%esp)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: inplace d2 bottom = m2
- # asm 1: movl <m2=int32#3,<d2=stack64#3
- # asm 2: movl <m2=%edx,<d2=112(%esp)
- movl %edx,112(%esp)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: inplace d1 bottom = m1
- # asm 1: movl <m1=int32#4,<d1=stack64#2
- # asm 2: movl <m1=%ebx,<d1=104(%esp)
- movl %ebx,104(%esp)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: inplace d0 bottom = m0
- # asm 1: movl <m0=int32#6,<d0=stack64#1
- # asm 2: movl <m0=%edi,<d0=96(%esp)
- movl %edi,96(%esp)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: m += 16
- # asm 1: add $16,<m=int32#5
- # asm 2: add $16,<m=%esi
- add $16,%esi
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: l -= 16
- # asm 1: sub $16,<l=int32#2
- # asm 2: sub $16,<l=%ecx
- sub $16,%ecx
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: internal stacktop h3
- # asm 1: fxch <h3=float80#4
- # asm 2: fxch <h3=%st(3)
- fxch %st(3)
- # qhasm: h3 += *(float64 *) &d3
- # asm 1: faddl <d3=stack64#4
- # asm 2: faddl <d3=120(%esp)
- faddl 120(%esp)
- # comment:fpstackfrombottom:<h0#41:<h2#39:<h1#40:<h3#38:
- # qhasm: h3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset3minustwo128
- fsubl crypto_onetimeauth_poly1305_x86_doffset3minustwo128
- # comment:fpstackfrombottom:<h0#41:<h2#39:<h1#40:<h3#38:
- # qhasm: internal stacktop h1
- # asm 1: fxch <h1=float80#2
- # asm 2: fxch <h1=%st(1)
- fxch %st(1)
- # qhasm: h1 += *(float64 *) &d1
- # asm 1: faddl <d1=stack64#2
- # asm 2: faddl <d1=104(%esp)
- faddl 104(%esp)
- # comment:fpstackfrombottom:<h0#41:<h2#39:<h3#38:<h1#40:
- # qhasm: h1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset1
- fsubl crypto_onetimeauth_poly1305_x86_doffset1
- # comment:fpstackfrombottom:<h0#41:<h2#39:<h3#38:<h1#40:
- # qhasm: internal stacktop h2
- # asm 1: fxch <h2=float80#3
- # asm 2: fxch <h2=%st(2)
- fxch %st(2)
- # qhasm: h2 += *(float64 *) &d2
- # asm 1: faddl <d2=stack64#3
- # asm 2: faddl <d2=112(%esp)
- faddl 112(%esp)
- # comment:fpstackfrombottom:<h0#41:<h1#40:<h3#38:<h2#39:
- # qhasm: h2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset2
- fsubl crypto_onetimeauth_poly1305_x86_doffset2
- # comment:fpstackfrombottom:<h0#41:<h1#40:<h3#38:<h2#39:
- # qhasm: internal stacktop h0
- # asm 1: fxch <h0=float80#4
- # asm 2: fxch <h0=%st(3)
- fxch %st(3)
- # qhasm: h0 += *(float64 *) &d0
- # asm 1: faddl <d0=stack64#1
- # asm 2: faddl <d0=96(%esp)
- faddl 96(%esp)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: h0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset0
- fsubl crypto_onetimeauth_poly1305_x86_doffset0
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: unsigned<? l - 16
- # asm 1: cmp $16,<l=int32#2
- # asm 2: cmp $16,<l=%ecx
- cmp $16,%ecx
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # comment:fp stack unchanged by jump
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: goto multiplyaddatmost15bytes if unsigned<
- jb ._multiplyaddatmost15bytes
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: multiplyaddatleast16bytes:
- ._multiplyaddatleast16bytes:
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: m3 = *(uint32 *) (m + 12)
- # asm 1: movl 12(<m=int32#5),>m3=int32#1
- # asm 2: movl 12(<m=%esi),>m3=%eax
- movl 12(%esi),%eax
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: m2 = *(uint32 *) (m + 8)
- # asm 1: movl 8(<m=int32#5),>m2=int32#3
- # asm 2: movl 8(<m=%esi),>m2=%edx
- movl 8(%esi),%edx
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: m1 = *(uint32 *) (m + 4)
- # asm 1: movl 4(<m=int32#5),>m1=int32#4
- # asm 2: movl 4(<m=%esi),>m1=%ebx
- movl 4(%esi),%ebx
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: m0 = *(uint32 *) (m + 0)
- # asm 1: movl 0(<m=int32#5),>m0=int32#6
- # asm 2: movl 0(<m=%esi),>m0=%edi
- movl 0(%esi),%edi
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: inplace d3 bottom = m3
- # asm 1: movl <m3=int32#1,<d3=stack64#4
- # asm 2: movl <m3=%eax,<d3=120(%esp)
- movl %eax,120(%esp)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: inplace d2 bottom = m2
- # asm 1: movl <m2=int32#3,<d2=stack64#3
- # asm 2: movl <m2=%edx,<d2=112(%esp)
- movl %edx,112(%esp)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: inplace d1 bottom = m1
- # asm 1: movl <m1=int32#4,<d1=stack64#2
- # asm 2: movl <m1=%ebx,<d1=104(%esp)
- movl %ebx,104(%esp)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: inplace d0 bottom = m0
- # asm 1: movl <m0=int32#6,<d0=stack64#1
- # asm 2: movl <m0=%edi,<d0=96(%esp)
- movl %edi,96(%esp)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: m += 16
- # asm 1: add $16,<m=int32#5
- # asm 2: add $16,<m=%esi
- add $16,%esi
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: l -= 16
- # asm 1: sub $16,<l=int32#2
- # asm 2: sub $16,<l=%ecx
- sub $16,%ecx
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: x0 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
- fldl crypto_onetimeauth_poly1305_x86_alpha130
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:
- # qhasm: x0 += h3
- # asm 1: fadd <h3=float80#3,<x0=float80#1
- # asm 2: fadd <h3=%st(2),<x0=%st(0)
- fadd %st(2),%st(0)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:
- # qhasm: x0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
- fsubl crypto_onetimeauth_poly1305_x86_alpha130
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:
- # qhasm: h3 -= x0
- # asm 1: fsubr <x0=float80#1,<h3=float80#3
- # asm 2: fsubr <x0=%st(0),<h3=%st(2)
- fsubr %st(0),%st(2)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:
- # qhasm: x0 *= *(float64 *) &crypto_onetimeauth_poly1305_x86_scale
- fmull crypto_onetimeauth_poly1305_x86_scale
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:
- # qhasm: x1 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
- fldl crypto_onetimeauth_poly1305_x86_alpha32
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:<x1#55:
- # qhasm: x1 += h0
- # asm 1: fadd <h0=float80#3,<x1=float80#1
- # asm 2: fadd <h0=%st(2),<x1=%st(0)
- fadd %st(2),%st(0)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:<x1#55:
- # qhasm: x1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
- fsubl crypto_onetimeauth_poly1305_x86_alpha32
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:<x1#55:
- # qhasm: h0 -= x1
- # asm 1: fsubr <x1=float80#1,<h0=float80#3
- # asm 2: fsubr <x1=%st(0),<h0=%st(2)
- fsubr %st(0),%st(2)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:<x1#55:
- # qhasm: internal stacktop h0
- # asm 1: fxch <h0=float80#3
- # asm 2: fxch <h0=%st(2)
- fxch %st(2)
- # qhasm: x0 += h0
- # asm 1: faddp <h0=float80#1,<x0=float80#2
- # asm 2: faddp <h0=%st(0),<x0=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:
- # qhasm: x2 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
- fldl crypto_onetimeauth_poly1305_x86_alpha64
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:
- # qhasm: x2 += h1
- # asm 1: fadd <h1=float80#5,<x2=float80#1
- # asm 2: fadd <h1=%st(4),<x2=%st(0)
- fadd %st(4),%st(0)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:
- # qhasm: x2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
- fsubl crypto_onetimeauth_poly1305_x86_alpha64
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:
- # qhasm: h1 -= x2
- # asm 1: fsubr <x2=float80#1,<h1=float80#5
- # asm 2: fsubr <x2=%st(0),<h1=%st(4)
- fsubr %st(0),%st(4)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:
- # qhasm: x3 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
- fldl crypto_onetimeauth_poly1305_x86_alpha96
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:<x3#57:
- # qhasm: x3 += h2
- # asm 1: fadd <h2=float80#7,<x3=float80#1
- # asm 2: fadd <h2=%st(6),<x3=%st(0)
- fadd %st(6),%st(0)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:<x3#57:
- # qhasm: x3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
- fsubl crypto_onetimeauth_poly1305_x86_alpha96
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:<x3#57:
- # qhasm: h2 -= x3
- # asm 1: fsubr <x3=float80#1,<h2=float80#7
- # asm 2: fsubr <x3=%st(0),<h2=%st(6)
- fsubr %st(0),%st(6)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:<x3#57:
- # qhasm: internal stacktop h2
- # asm 1: fxch <h2=float80#7
- # asm 2: fxch <h2=%st(6)
- fxch %st(6)
- # qhasm: x2 += h2
- # asm 1: faddp <h2=float80#1,<x2=float80#2
- # asm 2: faddp <h2=%st(0),<x2=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x3#57:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:
- # qhasm: internal stacktop h3
- # asm 1: fxch <h3=float80#4
- # asm 2: fxch <h3=%st(3)
- fxch %st(3)
- # qhasm: x3 += h3
- # asm 1: faddp <h3=float80#1,<x3=float80#6
- # asm 2: faddp <h3=%st(0),<x3=%st(5)
- faddp %st(0),%st(5)
- # comment:fpstackfrombottom:<x3#57:<h1#40:<x2#56:<x1#55:<x0#54:
- # qhasm: internal stacktop h1
- # asm 1: fxch <h1=float80#4
- # asm 2: fxch <h1=%st(3)
- fxch %st(3)
- # qhasm: x1 += h1
- # asm 1: faddp <h1=float80#1,<x1=float80#2
- # asm 2: faddp <h1=%st(0),<x1=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:
- # qhasm: h3 = *(float64 *) &r3
- # asm 1: fldl <r3=stack64#10
- # asm 2: fldl <r3=168(%esp)
- fldl 168(%esp)
- # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:<h3#38:
- # qhasm: h3 *= x0
- # asm 1: fmul <x0=float80#4,<h3=float80#1
- # asm 2: fmul <x0=%st(3),<h3=%st(0)
- fmul %st(3),%st(0)
- # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:<h3#38:
- # qhasm: h2 = *(float64 *) &r2
- # asm 1: fldl <r2=stack64#8
- # asm 2: fldl <r2=152(%esp)
- fldl 152(%esp)
- # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:<h3#38:<h2#39:
- # qhasm: h2 *= x0
- # asm 1: fmul <x0=float80#5,<h2=float80#1
- # asm 2: fmul <x0=%st(4),<h2=%st(0)
- fmul %st(4),%st(0)
- # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:<h3#38:<h2#39:
- # qhasm: h1 = *(float64 *) &r1
- # asm 1: fldl <r1=stack64#6
- # asm 2: fldl <r1=136(%esp)
- fldl 136(%esp)
- # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:
- # qhasm: h1 *= x0
- # asm 1: fmul <x0=float80#6,<h1=float80#1
- # asm 2: fmul <x0=%st(5),<h1=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:
- # qhasm: h0 = *(float64 *) &r0
- # asm 1: fldl <r0=stack64#5
- # asm 2: fldl <r0=128(%esp)
- fldl 128(%esp)
- # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: h0 *= x0
- # asm 1: fmulp <x0=float80#1,<h0=float80#7
- # asm 2: fmulp <x0=%st(0),<h0=%st(6)
- fmulp %st(0),%st(6)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:
- # qhasm: r2x1 = *(float64 *) &r2
- # asm 1: fldl <r2=stack64#8
- # asm 2: fldl <r2=152(%esp)
- fldl 152(%esp)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<r2x1#58:
- # qhasm: r2x1 *= x1
- # asm 1: fmul <x1=float80#5,<r2x1=float80#1
- # asm 2: fmul <x1=%st(4),<r2x1=%st(0)
- fmul %st(4),%st(0)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<r2x1#58:
- # qhasm: h3 += r2x1
- # asm 1: faddp <r2x1=float80#1,<h3=float80#4
- # asm 2: faddp <r2x1=%st(0),<h3=%st(3)
- faddp %st(0),%st(3)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:
- # qhasm: r1x1 = *(float64 *) &r1
- # asm 1: fldl <r1=stack64#6
- # asm 2: fldl <r1=136(%esp)
- fldl 136(%esp)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<r1x1#59:
- # qhasm: r1x1 *= x1
- # asm 1: fmul <x1=float80#5,<r1x1=float80#1
- # asm 2: fmul <x1=%st(4),<r1x1=%st(0)
- fmul %st(4),%st(0)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<r1x1#59:
- # qhasm: h2 += r1x1
- # asm 1: faddp <r1x1=float80#1,<h2=float80#3
- # asm 2: faddp <r1x1=%st(0),<h2=%st(2)
- faddp %st(0),%st(2)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:
- # qhasm: r0x1 = *(float64 *) &r0
- # asm 1: fldl <r0=stack64#5
- # asm 2: fldl <r0=128(%esp)
- fldl 128(%esp)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<r0x1#60:
- # qhasm: r0x1 *= x1
- # asm 1: fmul <x1=float80#5,<r0x1=float80#1
- # asm 2: fmul <x1=%st(4),<r0x1=%st(0)
- fmul %st(4),%st(0)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<r0x1#60:
- # qhasm: h1 += r0x1
- # asm 1: faddp <r0x1=float80#1,<h1=float80#2
- # asm 2: faddp <r0x1=%st(0),<h1=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:
- # qhasm: sr3x1 = *(float64 *) &sr3
- # asm 1: fldl <sr3=stack64#11
- # asm 2: fldl <sr3=176(%esp)
- fldl 176(%esp)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<sr3x1#61:
- # qhasm: sr3x1 *= x1
- # asm 1: fmulp <x1=float80#1,<sr3x1=float80#5
- # asm 2: fmulp <x1=%st(0),<sr3x1=%st(4)
- fmulp %st(0),%st(4)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<sr3x1#61:<h3#38:<h2#39:<h1#40:
- # qhasm: internal stacktop sr3x1
- # asm 1: fxch <sr3x1=float80#4
- # asm 2: fxch <sr3x1=%st(3)
- fxch %st(3)
- # qhasm: h0 += sr3x1
- # asm 1: faddp <sr3x1=float80#1,<h0=float80#6
- # asm 2: faddp <sr3x1=%st(0),<h0=%st(5)
- faddp %st(0),%st(5)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:
- # qhasm: r1x2 = *(float64 *) &r1
- # asm 1: fldl <r1=stack64#6
- # asm 2: fldl <r1=136(%esp)
- fldl 136(%esp)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:<r1x2#62:
- # qhasm: r1x2 *= x2
- # asm 1: fmul <x2=float80#5,<r1x2=float80#1
- # asm 2: fmul <x2=%st(4),<r1x2=%st(0)
- fmul %st(4),%st(0)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:<r1x2#62:
- # qhasm: h3 += r1x2
- # asm 1: faddp <r1x2=float80#1,<h3=float80#3
- # asm 2: faddp <r1x2=%st(0),<h3=%st(2)
- faddp %st(0),%st(2)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:
- # qhasm: r0x2 = *(float64 *) &r0
- # asm 1: fldl <r0=stack64#5
- # asm 2: fldl <r0=128(%esp)
- fldl 128(%esp)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:<r0x2#63:
- # qhasm: r0x2 *= x2
- # asm 1: fmul <x2=float80#5,<r0x2=float80#1
- # asm 2: fmul <x2=%st(4),<r0x2=%st(0)
- fmul %st(4),%st(0)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:<r0x2#63:
- # qhasm: h2 += r0x2
- # asm 1: faddp <r0x2=float80#1,<h2=float80#2
- # asm 2: faddp <r0x2=%st(0),<h2=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:
- # qhasm: sr3x2 = *(float64 *) &sr3
- # asm 1: fldl <sr3=stack64#11
- # asm 2: fldl <sr3=176(%esp)
- fldl 176(%esp)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:<sr3x2#64:
- # qhasm: sr3x2 *= x2
- # asm 1: fmul <x2=float80#5,<sr3x2=float80#1
- # asm 2: fmul <x2=%st(4),<sr3x2=%st(0)
- fmul %st(4),%st(0)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:<sr3x2#64:
- # qhasm: h1 += sr3x2
- # asm 1: faddp <sr3x2=float80#1,<h1=float80#4
- # asm 2: faddp <sr3x2=%st(0),<h1=%st(3)
- faddp %st(0),%st(3)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:
- # qhasm: sr2x2 = *(float64 *) &sr2
- # asm 1: fldl <sr2=stack64#9
- # asm 2: fldl <sr2=160(%esp)
- fldl 160(%esp)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:<sr2x2#65:
- # qhasm: sr2x2 *= x2
- # asm 1: fmulp <x2=float80#1,<sr2x2=float80#5
- # asm 2: fmulp <x2=%st(0),<sr2x2=%st(4)
- fmulp %st(0),%st(4)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<sr2x2#65:<h1#40:<h3#38:<h2#39:
- # qhasm: internal stacktop sr2x2
- # asm 1: fxch <sr2x2=float80#4
- # asm 2: fxch <sr2x2=%st(3)
- fxch %st(3)
- # qhasm: h0 += sr2x2
- # asm 1: faddp <sr2x2=float80#1,<h0=float80#5
- # asm 2: faddp <sr2x2=%st(0),<h0=%st(4)
- faddp %st(0),%st(4)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<h2#39:<h1#40:<h3#38:
- # qhasm: r0x3 = *(float64 *) &r0
- # asm 1: fldl <r0=stack64#5
- # asm 2: fldl <r0=128(%esp)
- fldl 128(%esp)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<h2#39:<h1#40:<h3#38:<r0x3#66:
- # qhasm: r0x3 *= x3
- # asm 1: fmul <x3=float80#6,<r0x3=float80#1
- # asm 2: fmul <x3=%st(5),<r0x3=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<h2#39:<h1#40:<h3#38:<r0x3#66:
- # qhasm: h3 += r0x3
- # asm 1: faddp <r0x3=float80#1,<h3=float80#2
- # asm 2: faddp <r0x3=%st(0),<h3=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x3#57:<h0#41:<h2#39:<h1#40:<h3#38:
- # qhasm: stacktop h0
- # asm 1: fxch <h0=float80#4
- # asm 2: fxch <h0=%st(3)
- fxch %st(3)
- # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: sr3x3 = *(float64 *) &sr3
- # asm 1: fldl <sr3=stack64#11
- # asm 2: fldl <sr3=176(%esp)
- fldl 176(%esp)
- # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h1#40:<h0#41:<sr3x3#67:
- # qhasm: sr3x3 *= x3
- # asm 1: fmul <x3=float80#6,<sr3x3=float80#1
- # asm 2: fmul <x3=%st(5),<sr3x3=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h1#40:<h0#41:<sr3x3#67:
- # qhasm: h2 += sr3x3
- # asm 1: faddp <sr3x3=float80#1,<h2=float80#4
- # asm 2: faddp <sr3x3=%st(0),<h2=%st(3)
- faddp %st(0),%st(3)
- # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: stacktop h1
- # asm 1: fxch <h1=float80#2
- # asm 2: fxch <h1=%st(1)
- fxch %st(1)
- # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h0#41:<h1#40:
- # qhasm: sr2x3 = *(float64 *) &sr2
- # asm 1: fldl <sr2=stack64#9
- # asm 2: fldl <sr2=160(%esp)
- fldl 160(%esp)
- # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h0#41:<h1#40:<sr2x3#68:
- # qhasm: sr2x3 *= x3
- # asm 1: fmul <x3=float80#6,<sr2x3=float80#1
- # asm 2: fmul <x3=%st(5),<sr2x3=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h0#41:<h1#40:<sr2x3#68:
- # qhasm: h1 += sr2x3
- # asm 1: faddp <sr2x3=float80#1,<h1=float80#2
- # asm 2: faddp <sr2x3=%st(0),<h1=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h0#41:<h1#40:
- # qhasm: sr1x3 = *(float64 *) &sr1
- # asm 1: fldl <sr1=stack64#7
- # asm 2: fldl <sr1=144(%esp)
- fldl 144(%esp)
- # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h0#41:<h1#40:<sr1x3#69:
- # qhasm: sr1x3 *= x3
- # asm 1: fmulp <x3=float80#1,<sr1x3=float80#6
- # asm 2: fmulp <x3=%st(0),<sr1x3=%st(5)
- fmulp %st(0),%st(5)
- # comment:fpstackfrombottom:<sr1x3#69:<h3#38:<h2#39:<h0#41:<h1#40:
- # qhasm: internal stacktop sr1x3
- # asm 1: fxch <sr1x3=float80#5
- # asm 2: fxch <sr1x3=%st(4)
- fxch %st(4)
- # qhasm: h0 += sr1x3
- # asm 1: faddp <sr1x3=float80#1,<h0=float80#2
- # asm 2: faddp <sr1x3=%st(0),<h0=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:
- # qhasm: unsigned<? l - 16
- # asm 1: cmp $16,<l=int32#2
- # asm 2: cmp $16,<l=%ecx
- cmp $16,%ecx
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:
- # qhasm: stacktop h3
- # asm 1: fxch <h3=float80#3
- # asm 2: fxch <h3=%st(2)
- fxch %st(2)
- # comment:fpstackfrombottom:<h1#40:<h0#41:<h2#39:<h3#38:
- # qhasm: y3 = *(float64 *) &d3
- # asm 1: fldl <d3=stack64#4
- # asm 2: fldl <d3=120(%esp)
- fldl 120(%esp)
- # comment:fpstackfrombottom:<h1#40:<h0#41:<h2#39:<h3#38:<y3#71:
- # qhasm: y3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset3minustwo128
- fsubl crypto_onetimeauth_poly1305_x86_doffset3minustwo128
- # comment:fpstackfrombottom:<h1#40:<h0#41:<h2#39:<h3#38:<y3#71:
- # qhasm: h3 += y3
- # asm 1: faddp <y3=float80#1,<h3=float80#2
- # asm 2: faddp <y3=%st(0),<h3=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<h1#40:<h0#41:<h2#39:<h3#38:
- # qhasm: stacktop h2
- # asm 1: fxch <h2=float80#2
- # asm 2: fxch <h2=%st(1)
- fxch %st(1)
- # comment:fpstackfrombottom:<h1#40:<h0#41:<h3#38:<h2#39:
- # qhasm: y2 = *(float64 *) &d2
- # asm 1: fldl <d2=stack64#3
- # asm 2: fldl <d2=112(%esp)
- fldl 112(%esp)
- # comment:fpstackfrombottom:<h1#40:<h0#41:<h3#38:<h2#39:<y2#72:
- # qhasm: y2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset2
- fsubl crypto_onetimeauth_poly1305_x86_doffset2
- # comment:fpstackfrombottom:<h1#40:<h0#41:<h3#38:<h2#39:<y2#72:
- # qhasm: h2 += y2
- # asm 1: faddp <y2=float80#1,<h2=float80#2
- # asm 2: faddp <y2=%st(0),<h2=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<h1#40:<h0#41:<h3#38:<h2#39:
- # qhasm: stacktop h1
- # asm 1: fxch <h1=float80#4
- # asm 2: fxch <h1=%st(3)
- fxch %st(3)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h3#38:<h1#40:
- # qhasm: y1 = *(float64 *) &d1
- # asm 1: fldl <d1=stack64#2
- # asm 2: fldl <d1=104(%esp)
- fldl 104(%esp)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h3#38:<h1#40:<y1#73:
- # qhasm: y1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset1
- fsubl crypto_onetimeauth_poly1305_x86_doffset1
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h3#38:<h1#40:<y1#73:
- # qhasm: h1 += y1
- # asm 1: faddp <y1=float80#1,<h1=float80#2
- # asm 2: faddp <y1=%st(0),<h1=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h3#38:<h1#40:
- # qhasm: stacktop h0
- # asm 1: fxch <h0=float80#3
- # asm 2: fxch <h0=%st(2)
- fxch %st(2)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: y0 = *(float64 *) &d0
- # asm 1: fldl <d0=stack64#1
- # asm 2: fldl <d0=96(%esp)
- fldl 96(%esp)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<y0#74:
- # qhasm: y0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset0
- fsubl crypto_onetimeauth_poly1305_x86_doffset0
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<y0#74:
- # qhasm: h0 += y0
- # asm 1: faddp <y0=float80#1,<h0=float80#2
- # asm 2: faddp <y0=%st(0),<h0=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # comment:fp stack unchanged by jump
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: goto multiplyaddatleast16bytes if !unsigned<
- jae ._multiplyaddatleast16bytes
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # comment:fp stack unchanged by fallthrough
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: multiplyaddatmost15bytes:
- ._multiplyaddatmost15bytes:
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
- # qhasm: x0 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
- fldl crypto_onetimeauth_poly1305_x86_alpha130
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:
- # qhasm: x0 += h3
- # asm 1: fadd <h3=float80#3,<x0=float80#1
- # asm 2: fadd <h3=%st(2),<x0=%st(0)
- fadd %st(2),%st(0)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:
- # qhasm: x0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
- fsubl crypto_onetimeauth_poly1305_x86_alpha130
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:
- # qhasm: h3 -= x0
- # asm 1: fsubr <x0=float80#1,<h3=float80#3
- # asm 2: fsubr <x0=%st(0),<h3=%st(2)
- fsubr %st(0),%st(2)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:
- # qhasm: x0 *= *(float64 *) &crypto_onetimeauth_poly1305_x86_scale
- fmull crypto_onetimeauth_poly1305_x86_scale
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:
- # qhasm: x1 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
- fldl crypto_onetimeauth_poly1305_x86_alpha32
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:
- # qhasm: x1 += h0
- # asm 1: fadd <h0=float80#3,<x1=float80#1
- # asm 2: fadd <h0=%st(2),<x1=%st(0)
- fadd %st(2),%st(0)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:
- # qhasm: x1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
- fsubl crypto_onetimeauth_poly1305_x86_alpha32
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:
- # qhasm: h0 -= x1
- # asm 1: fsubr <x1=float80#1,<h0=float80#3
- # asm 2: fsubr <x1=%st(0),<h0=%st(2)
- fsubr %st(0),%st(2)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:
- # qhasm: x2 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
- fldl crypto_onetimeauth_poly1305_x86_alpha64
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:
- # qhasm: x2 += h1
- # asm 1: fadd <h1=float80#6,<x2=float80#1
- # asm 2: fadd <h1=%st(5),<x2=%st(0)
- fadd %st(5),%st(0)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:
- # qhasm: x2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
- fsubl crypto_onetimeauth_poly1305_x86_alpha64
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:
- # qhasm: h1 -= x2
- # asm 1: fsubr <x2=float80#1,<h1=float80#6
- # asm 2: fsubr <x2=%st(0),<h1=%st(5)
- fsubr %st(0),%st(5)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:
- # qhasm: x3 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
- fldl crypto_onetimeauth_poly1305_x86_alpha96
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:<x3#78:
- # qhasm: x3 += h2
- # asm 1: fadd <h2=float80#8,<x3=float80#1
- # asm 2: fadd <h2=%st(7),<x3=%st(0)
- fadd %st(7),%st(0)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:<x3#78:
- # qhasm: x3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
- fsubl crypto_onetimeauth_poly1305_x86_alpha96
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:<x3#78:
- # qhasm: h2 -= x3
- # asm 1: fsubr <x3=float80#1,<h2=float80#8
- # asm 2: fsubr <x3=%st(0),<h2=%st(7)
- fsubr %st(0),%st(7)
- # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:<x3#78:
- # qhasm: internal stacktop h2
- # asm 1: fxch <h2=float80#8
- # asm 2: fxch <h2=%st(7)
- fxch %st(7)
- # qhasm: x2 += h2
- # asm 1: faddp <h2=float80#1,<x2=float80#2
- # asm 2: faddp <h2=%st(0),<x2=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x3#78:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:
- # qhasm: internal stacktop h1
- # asm 1: fxch <h1=float80#6
- # asm 2: fxch <h1=%st(5)
- fxch %st(5)
- # qhasm: x1 += h1
- # asm 1: faddp <h1=float80#1,<x1=float80#2
- # asm 2: faddp <h1=%st(0),<x1=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<h3#38:<h0#41:<x0#75:<x1#76:
- # qhasm: internal stacktop h3
- # asm 1: fxch <h3=float80#4
- # asm 2: fxch <h3=%st(3)
- fxch %st(3)
- # qhasm: x3 += h3
- # asm 1: faddp <h3=float80#1,<x3=float80#6
- # asm 2: faddp <h3=%st(0),<x3=%st(5)
- faddp %st(0),%st(5)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<x0#75:
- # qhasm: x0 += h0
- # asm 1: faddp <h0=float80#1,<x0=float80#2
- # asm 2: faddp <h0=%st(0),<x0=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:
- # qhasm: h3 = *(float64 *) &r3
- # asm 1: fldl <r3=stack64#10
- # asm 2: fldl <r3=168(%esp)
- fldl 168(%esp)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:<h3#38:
- # qhasm: h3 *= x0
- # asm 1: fmul <x0=float80#2,<h3=float80#1
- # asm 2: fmul <x0=%st(1),<h3=%st(0)
- fmul %st(1),%st(0)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:<h3#38:
- # qhasm: h2 = *(float64 *) &r2
- # asm 1: fldl <r2=stack64#8
- # asm 2: fldl <r2=152(%esp)
- fldl 152(%esp)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:<h3#38:<h2#39:
- # qhasm: h2 *= x0
- # asm 1: fmul <x0=float80#3,<h2=float80#1
- # asm 2: fmul <x0=%st(2),<h2=%st(0)
- fmul %st(2),%st(0)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:<h3#38:<h2#39:
- # qhasm: h1 = *(float64 *) &r1
- # asm 1: fldl <r1=stack64#6
- # asm 2: fldl <r1=136(%esp)
- fldl 136(%esp)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:<h3#38:<h2#39:<h1#40:
- # qhasm: h1 *= x0
- # asm 1: fmul <x0=float80#4,<h1=float80#1
- # asm 2: fmul <x0=%st(3),<h1=%st(0)
- fmul %st(3),%st(0)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:<h3#38:<h2#39:<h1#40:
- # qhasm: h0 = *(float64 *) &r0
- # asm 1: fldl <r0=stack64#5
- # asm 2: fldl <r0=128(%esp)
- fldl 128(%esp)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: h0 *= x0
- # asm 1: fmulp <x0=float80#1,<h0=float80#5
- # asm 2: fmulp <x0=%st(0),<h0=%st(4)
- fmulp %st(0),%st(4)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:
- # qhasm: r2x1 = *(float64 *) &r2
- # asm 1: fldl <r2=stack64#8
- # asm 2: fldl <r2=152(%esp)
- fldl 152(%esp)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:<r2x1#79:
- # qhasm: r2x1 *= x1
- # asm 1: fmul <x1=float80#6,<r2x1=float80#1
- # asm 2: fmul <x1=%st(5),<r2x1=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:<r2x1#79:
- # qhasm: h3 += r2x1
- # asm 1: faddp <r2x1=float80#1,<h3=float80#4
- # asm 2: faddp <r2x1=%st(0),<h3=%st(3)
- faddp %st(0),%st(3)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:
- # qhasm: r1x1 = *(float64 *) &r1
- # asm 1: fldl <r1=stack64#6
- # asm 2: fldl <r1=136(%esp)
- fldl 136(%esp)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:<r1x1#80:
- # qhasm: r1x1 *= x1
- # asm 1: fmul <x1=float80#6,<r1x1=float80#1
- # asm 2: fmul <x1=%st(5),<r1x1=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:<r1x1#80:
- # qhasm: h2 += r1x1
- # asm 1: faddp <r1x1=float80#1,<h2=float80#3
- # asm 2: faddp <r1x1=%st(0),<h2=%st(2)
- faddp %st(0),%st(2)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:
- # qhasm: r0x1 = *(float64 *) &r0
- # asm 1: fldl <r0=stack64#5
- # asm 2: fldl <r0=128(%esp)
- fldl 128(%esp)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:<r0x1#81:
- # qhasm: r0x1 *= x1
- # asm 1: fmul <x1=float80#6,<r0x1=float80#1
- # asm 2: fmul <x1=%st(5),<r0x1=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:<r0x1#81:
- # qhasm: h1 += r0x1
- # asm 1: faddp <r0x1=float80#1,<h1=float80#2
- # asm 2: faddp <r0x1=%st(0),<h1=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:
- # qhasm: sr3x1 = *(float64 *) &sr3
- # asm 1: fldl <sr3=stack64#11
- # asm 2: fldl <sr3=176(%esp)
- fldl 176(%esp)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:<sr3x1#82:
- # qhasm: sr3x1 *= x1
- # asm 1: fmulp <x1=float80#1,<sr3x1=float80#6
- # asm 2: fmulp <x1=%st(0),<sr3x1=%st(5)
- fmulp %st(0),%st(5)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<sr3x1#82:<h0#41:<h3#38:<h2#39:<h1#40:
- # qhasm: internal stacktop sr3x1
- # asm 1: fxch <sr3x1=float80#5
- # asm 2: fxch <sr3x1=%st(4)
- fxch %st(4)
- # qhasm: h0 += sr3x1
- # asm 1: faddp <sr3x1=float80#1,<h0=float80#4
- # asm 2: faddp <sr3x1=%st(0),<h0=%st(3)
- faddp %st(0),%st(3)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:
- # qhasm: r1x2 = *(float64 *) &r1
- # asm 1: fldl <r1=stack64#6
- # asm 2: fldl <r1=136(%esp)
- fldl 136(%esp)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:<r1x2#83:
- # qhasm: r1x2 *= x2
- # asm 1: fmul <x2=float80#6,<r1x2=float80#1
- # asm 2: fmul <x2=%st(5),<r1x2=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:<r1x2#83:
- # qhasm: h3 += r1x2
- # asm 1: faddp <r1x2=float80#1,<h3=float80#3
- # asm 2: faddp <r1x2=%st(0),<h3=%st(2)
- faddp %st(0),%st(2)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:
- # qhasm: r0x2 = *(float64 *) &r0
- # asm 1: fldl <r0=stack64#5
- # asm 2: fldl <r0=128(%esp)
- fldl 128(%esp)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:<r0x2#84:
- # qhasm: r0x2 *= x2
- # asm 1: fmul <x2=float80#6,<r0x2=float80#1
- # asm 2: fmul <x2=%st(5),<r0x2=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:<r0x2#84:
- # qhasm: h2 += r0x2
- # asm 1: faddp <r0x2=float80#1,<h2=float80#2
- # asm 2: faddp <r0x2=%st(0),<h2=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:
- # qhasm: sr3x2 = *(float64 *) &sr3
- # asm 1: fldl <sr3=stack64#11
- # asm 2: fldl <sr3=176(%esp)
- fldl 176(%esp)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:<sr3x2#85:
- # qhasm: sr3x2 *= x2
- # asm 1: fmul <x2=float80#6,<sr3x2=float80#1
- # asm 2: fmul <x2=%st(5),<sr3x2=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:<sr3x2#85:
- # qhasm: h1 += sr3x2
- # asm 1: faddp <sr3x2=float80#1,<h1=float80#5
- # asm 2: faddp <sr3x2=%st(0),<h1=%st(4)
- faddp %st(0),%st(4)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:
- # qhasm: sr2x2 = *(float64 *) &sr2
- # asm 1: fldl <sr2=stack64#9
- # asm 2: fldl <sr2=160(%esp)
- fldl 160(%esp)
- # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:<sr2x2#86:
- # qhasm: sr2x2 *= x2
- # asm 1: fmulp <x2=float80#1,<sr2x2=float80#6
- # asm 2: fmulp <x2=%st(0),<sr2x2=%st(5)
- fmulp %st(0),%st(5)
- # comment:fpstackfrombottom:<x3#78:<sr2x2#86:<h1#40:<h0#41:<h3#38:<h2#39:
- # qhasm: internal stacktop sr2x2
- # asm 1: fxch <sr2x2=float80#5
- # asm 2: fxch <sr2x2=%st(4)
- fxch %st(4)
- # qhasm: h0 += sr2x2
- # asm 1: faddp <sr2x2=float80#1,<h0=float80#3
- # asm 2: faddp <sr2x2=%st(0),<h0=%st(2)
- faddp %st(0),%st(2)
- # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:
- # qhasm: r0x3 = *(float64 *) &r0
- # asm 1: fldl <r0=stack64#5
- # asm 2: fldl <r0=128(%esp)
- fldl 128(%esp)
- # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:<r0x3#87:
- # qhasm: r0x3 *= x3
- # asm 1: fmul <x3=float80#6,<r0x3=float80#1
- # asm 2: fmul <x3=%st(5),<r0x3=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:<r0x3#87:
- # qhasm: h3 += r0x3
- # asm 1: faddp <r0x3=float80#1,<h3=float80#2
- # asm 2: faddp <r0x3=%st(0),<h3=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:
- # qhasm: sr3x3 = *(float64 *) &sr3
- # asm 1: fldl <sr3=stack64#11
- # asm 2: fldl <sr3=176(%esp)
- fldl 176(%esp)
- # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:<sr3x3#88:
- # qhasm: sr3x3 *= x3
- # asm 1: fmul <x3=float80#6,<sr3x3=float80#1
- # asm 2: fmul <x3=%st(5),<sr3x3=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:<sr3x3#88:
- # qhasm: h2 += sr3x3
- # asm 1: faddp <sr3x3=float80#1,<h2=float80#5
- # asm 2: faddp <sr3x3=%st(0),<h2=%st(4)
- faddp %st(0),%st(4)
- # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:
- # qhasm: sr2x3 = *(float64 *) &sr2
- # asm 1: fldl <sr2=stack64#9
- # asm 2: fldl <sr2=160(%esp)
- fldl 160(%esp)
- # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:<sr2x3#89:
- # qhasm: sr2x3 *= x3
- # asm 1: fmul <x3=float80#6,<sr2x3=float80#1
- # asm 2: fmul <x3=%st(5),<sr2x3=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:<sr2x3#89:
- # qhasm: h1 += sr2x3
- # asm 1: faddp <sr2x3=float80#1,<h1=float80#4
- # asm 2: faddp <sr2x3=%st(0),<h1=%st(3)
- faddp %st(0),%st(3)
- # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:
- # qhasm: sr1x3 = *(float64 *) &sr1
- # asm 1: fldl <sr1=stack64#7
- # asm 2: fldl <sr1=144(%esp)
- fldl 144(%esp)
- # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:<sr1x3#90:
- # qhasm: sr1x3 *= x3
- # asm 1: fmulp <x3=float80#1,<sr1x3=float80#6
- # asm 2: fmulp <x3=%st(0),<sr1x3=%st(5)
- fmulp %st(0),%st(5)
- # comment:fpstackfrombottom:<sr1x3#90:<h2#39:<h1#40:<h0#41:<h3#38:
- # qhasm: internal stacktop sr1x3
- # asm 1: fxch <sr1x3=float80#5
- # asm 2: fxch <sr1x3=%st(4)
- fxch %st(4)
- # qhasm: h0 += sr1x3
- # asm 1: faddp <sr1x3=float80#1,<h0=float80#2
- # asm 2: faddp <sr1x3=%st(0),<h0=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # comment:fp stack unchanged by fallthrough
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: addatmost15bytes:
- ._addatmost15bytes:
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: =? l - 0
- # asm 1: cmp $0,<l=int32#2
- # asm 2: cmp $0,<l=%ecx
- cmp $0,%ecx
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # comment:fp stack unchanged by jump
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: goto nomorebytes if =
- je ._nomorebytes
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: stack128 lastchunk
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: int32 destination
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: ((uint32 *)&lastchunk)[0] = 0
- # asm 1: movl $0,>lastchunk=stack128#1
- # asm 2: movl $0,>lastchunk=64(%esp)
- movl $0,64(%esp)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: ((uint32 *)&lastchunk)[1] = 0
- # asm 1: movl $0,4+<lastchunk=stack128#1
- # asm 2: movl $0,4+<lastchunk=64(%esp)
- movl $0,4+64(%esp)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: ((uint32 *)&lastchunk)[2] = 0
- # asm 1: movl $0,8+<lastchunk=stack128#1
- # asm 2: movl $0,8+<lastchunk=64(%esp)
- movl $0,8+64(%esp)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: ((uint32 *)&lastchunk)[3] = 0
- # asm 1: movl $0,12+<lastchunk=stack128#1
- # asm 2: movl $0,12+<lastchunk=64(%esp)
- movl $0,12+64(%esp)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: destination = &lastchunk
- # asm 1: leal <lastchunk=stack128#1,>destination=int32#6
- # asm 2: leal <lastchunk=64(%esp),>destination=%edi
- leal 64(%esp),%edi
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: while (l) { *destination++ = *m++; --l }
- rep movsb
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: *(uint8 *) (destination + 0) = 1
- # asm 1: movb $1,0(<destination=int32#6)
- # asm 2: movb $1,0(<destination=%edi)
- movb $1,0(%edi)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: m3 = ((uint32 *)&lastchunk)[3]
- # asm 1: movl 12+<lastchunk=stack128#1,>m3=int32#1
- # asm 2: movl 12+<lastchunk=64(%esp),>m3=%eax
- movl 12+64(%esp),%eax
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: m2 = ((uint32 *)&lastchunk)[2]
- # asm 1: movl 8+<lastchunk=stack128#1,>m2=int32#2
- # asm 2: movl 8+<lastchunk=64(%esp),>m2=%ecx
- movl 8+64(%esp),%ecx
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: m1 = ((uint32 *)&lastchunk)[1]
- # asm 1: movl 4+<lastchunk=stack128#1,>m1=int32#3
- # asm 2: movl 4+<lastchunk=64(%esp),>m1=%edx
- movl 4+64(%esp),%edx
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: m0 = ((uint32 *)&lastchunk)[0]
- # asm 1: movl <lastchunk=stack128#1,>m0=int32#4
- # asm 2: movl <lastchunk=64(%esp),>m0=%ebx
- movl 64(%esp),%ebx
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: inplace d3 bottom = m3
- # asm 1: movl <m3=int32#1,<d3=stack64#4
- # asm 2: movl <m3=%eax,<d3=120(%esp)
- movl %eax,120(%esp)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: inplace d2 bottom = m2
- # asm 1: movl <m2=int32#2,<d2=stack64#3
- # asm 2: movl <m2=%ecx,<d2=112(%esp)
- movl %ecx,112(%esp)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: inplace d1 bottom = m1
- # asm 1: movl <m1=int32#3,<d1=stack64#2
- # asm 2: movl <m1=%edx,<d1=104(%esp)
- movl %edx,104(%esp)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: inplace d0 bottom = m0
- # asm 1: movl <m0=int32#4,<d0=stack64#1
- # asm 2: movl <m0=%ebx,<d0=96(%esp)
- movl %ebx,96(%esp)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: internal stacktop h3
- # asm 1: fxch <h3=float80#4
- # asm 2: fxch <h3=%st(3)
- fxch %st(3)
- # qhasm: h3 += *(float64 *) &d3
- # asm 1: faddl <d3=stack64#4
- # asm 2: faddl <d3=120(%esp)
- faddl 120(%esp)
- # comment:fpstackfrombottom:<h0#41:<h2#39:<h1#40:<h3#38:
- # qhasm: h3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset3
- fsubl crypto_onetimeauth_poly1305_x86_doffset3
- # comment:fpstackfrombottom:<h0#41:<h2#39:<h1#40:<h3#38:
- # qhasm: internal stacktop h2
- # asm 1: fxch <h2=float80#3
- # asm 2: fxch <h2=%st(2)
- fxch %st(2)
- # qhasm: h2 += *(float64 *) &d2
- # asm 1: faddl <d2=stack64#3
- # asm 2: faddl <d2=112(%esp)
- faddl 112(%esp)
- # comment:fpstackfrombottom:<h0#41:<h3#38:<h1#40:<h2#39:
- # qhasm: h2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset2
- fsubl crypto_onetimeauth_poly1305_x86_doffset2
- # comment:fpstackfrombottom:<h0#41:<h3#38:<h1#40:<h2#39:
- # qhasm: internal stacktop h1
- # asm 1: fxch <h1=float80#2
- # asm 2: fxch <h1=%st(1)
- fxch %st(1)
- # qhasm: h1 += *(float64 *) &d1
- # asm 1: faddl <d1=stack64#2
- # asm 2: faddl <d1=104(%esp)
- faddl 104(%esp)
- # comment:fpstackfrombottom:<h0#41:<h3#38:<h2#39:<h1#40:
- # qhasm: h1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset1
- fsubl crypto_onetimeauth_poly1305_x86_doffset1
- # comment:fpstackfrombottom:<h0#41:<h3#38:<h2#39:<h1#40:
- # qhasm: internal stacktop h0
- # asm 1: fxch <h0=float80#4
- # asm 2: fxch <h0=%st(3)
- fxch %st(3)
- # qhasm: h0 += *(float64 *) &d0
- # asm 1: faddl <d0=stack64#1
- # asm 2: faddl <d0=96(%esp)
- faddl 96(%esp)
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:
- # qhasm: h0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset0
- fsubl crypto_onetimeauth_poly1305_x86_doffset0
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:
- # qhasm: x0 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
- fldl crypto_onetimeauth_poly1305_x86_alpha130
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:
- # qhasm: x0 += h3
- # asm 1: fadd <h3=float80#4,<x0=float80#1
- # asm 2: fadd <h3=%st(3),<x0=%st(0)
- fadd %st(3),%st(0)
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:
- # qhasm: x0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
- fsubl crypto_onetimeauth_poly1305_x86_alpha130
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:
- # qhasm: h3 -= x0
- # asm 1: fsubr <x0=float80#1,<h3=float80#4
- # asm 2: fsubr <x0=%st(0),<h3=%st(3)
- fsubr %st(0),%st(3)
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:
- # qhasm: x0 *= *(float64 *) &crypto_onetimeauth_poly1305_x86_scale
- fmull crypto_onetimeauth_poly1305_x86_scale
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:
- # qhasm: x1 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
- fldl crypto_onetimeauth_poly1305_x86_alpha32
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:
- # qhasm: x1 += h0
- # asm 1: fadd <h0=float80#3,<x1=float80#1
- # asm 2: fadd <h0=%st(2),<x1=%st(0)
- fadd %st(2),%st(0)
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:
- # qhasm: x1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
- fsubl crypto_onetimeauth_poly1305_x86_alpha32
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:
- # qhasm: h0 -= x1
- # asm 1: fsubr <x1=float80#1,<h0=float80#3
- # asm 2: fsubr <x1=%st(0),<h0=%st(2)
- fsubr %st(0),%st(2)
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:
- # qhasm: x2 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
- fldl crypto_onetimeauth_poly1305_x86_alpha64
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:
- # qhasm: x2 += h1
- # asm 1: fadd <h1=float80#7,<x2=float80#1
- # asm 2: fadd <h1=%st(6),<x2=%st(0)
- fadd %st(6),%st(0)
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:
- # qhasm: x2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
- fsubl crypto_onetimeauth_poly1305_x86_alpha64
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:
- # qhasm: h1 -= x2
- # asm 1: fsubr <x2=float80#1,<h1=float80#7
- # asm 2: fsubr <x2=%st(0),<h1=%st(6)
- fsubr %st(0),%st(6)
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:
- # qhasm: x3 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
- fldl crypto_onetimeauth_poly1305_x86_alpha96
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:<x3#101:
- # qhasm: x3 += h2
- # asm 1: fadd <h2=float80#6,<x3=float80#1
- # asm 2: fadd <h2=%st(5),<x3=%st(0)
- fadd %st(5),%st(0)
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:<x3#101:
- # qhasm: x3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
- fsubl crypto_onetimeauth_poly1305_x86_alpha96
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:<x3#101:
- # qhasm: h2 -= x3
- # asm 1: fsubr <x3=float80#1,<h2=float80#6
- # asm 2: fsubr <x3=%st(0),<h2=%st(5)
- fsubr %st(0),%st(5)
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:<x3#101:
- # qhasm: internal stacktop h0
- # asm 1: fxch <h0=float80#5
- # asm 2: fxch <h0=%st(4)
- fxch %st(4)
- # qhasm: x0 += h0
- # asm 1: faddp <h0=float80#1,<x0=float80#4
- # asm 2: faddp <h0=%st(0),<x0=%st(3)
- faddp %st(0),%st(3)
- # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<x3#101:<x0#98:<x1#99:<x2#100:
- # qhasm: internal stacktop h1
- # asm 1: fxch <h1=float80#7
- # asm 2: fxch <h1=%st(6)
- fxch %st(6)
- # qhasm: x1 += h1
- # asm 1: faddp <h1=float80#1,<x1=float80#2
- # asm 2: faddp <h1=%st(0),<x1=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x2#100:<h3#38:<h2#39:<x3#101:<x0#98:<x1#99:
- # qhasm: internal stacktop h2
- # asm 1: fxch <h2=float80#4
- # asm 2: fxch <h2=%st(3)
- fxch %st(3)
- # qhasm: x2 += h2
- # asm 1: faddp <h2=float80#1,<x2=float80#6
- # asm 2: faddp <h2=%st(0),<x2=%st(5)
- faddp %st(0),%st(5)
- # comment:fpstackfrombottom:<x2#100:<h3#38:<x1#99:<x3#101:<x0#98:
- # qhasm: internal stacktop h3
- # asm 1: fxch <h3=float80#4
- # asm 2: fxch <h3=%st(3)
- fxch %st(3)
- # qhasm: x3 += h3
- # asm 1: faddp <h3=float80#1,<x3=float80#2
- # asm 2: faddp <h3=%st(0),<x3=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:
- # qhasm: h3 = *(float64 *) &r3
- # asm 1: fldl <r3=stack64#10
- # asm 2: fldl <r3=168(%esp)
- fldl 168(%esp)
- # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#38:
- # qhasm: h3 *= x0
- # asm 1: fmul <x0=float80#4,<h3=float80#1
- # asm 2: fmul <x0=%st(3),<h3=%st(0)
- fmul %st(3),%st(0)
- # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#38:
- # qhasm: h2 = *(float64 *) &r2
- # asm 1: fldl <r2=stack64#8
- # asm 2: fldl <r2=152(%esp)
- fldl 152(%esp)
- # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#38:<h2#39:
- # qhasm: h2 *= x0
- # asm 1: fmul <x0=float80#5,<h2=float80#1
- # asm 2: fmul <x0=%st(4),<h2=%st(0)
- fmul %st(4),%st(0)
- # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#38:<h2#39:
- # qhasm: h1 = *(float64 *) &r1
- # asm 1: fldl <r1=stack64#6
- # asm 2: fldl <r1=136(%esp)
- fldl 136(%esp)
- # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:
- # qhasm: h1 *= x0
- # asm 1: fmul <x0=float80#6,<h1=float80#1
- # asm 2: fmul <x0=%st(5),<h1=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:
- # qhasm: h0 = *(float64 *) &r0
- # asm 1: fldl <r0=stack64#5
- # asm 2: fldl <r0=128(%esp)
- fldl 128(%esp)
- # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: h0 *= x0
- # asm 1: fmulp <x0=float80#1,<h0=float80#7
- # asm 2: fmulp <x0=%st(0),<h0=%st(6)
- fmulp %st(0),%st(6)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:
- # qhasm: r2x1 = *(float64 *) &r2
- # asm 1: fldl <r2=stack64#8
- # asm 2: fldl <r2=152(%esp)
- fldl 152(%esp)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<r2x1#102:
- # qhasm: r2x1 *= x1
- # asm 1: fmul <x1=float80#6,<r2x1=float80#1
- # asm 2: fmul <x1=%st(5),<r2x1=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<r2x1#102:
- # qhasm: h3 += r2x1
- # asm 1: faddp <r2x1=float80#1,<h3=float80#4
- # asm 2: faddp <r2x1=%st(0),<h3=%st(3)
- faddp %st(0),%st(3)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:
- # qhasm: r1x1 = *(float64 *) &r1
- # asm 1: fldl <r1=stack64#6
- # asm 2: fldl <r1=136(%esp)
- fldl 136(%esp)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<r1x1#103:
- # qhasm: r1x1 *= x1
- # asm 1: fmul <x1=float80#6,<r1x1=float80#1
- # asm 2: fmul <x1=%st(5),<r1x1=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<r1x1#103:
- # qhasm: h2 += r1x1
- # asm 1: faddp <r1x1=float80#1,<h2=float80#3
- # asm 2: faddp <r1x1=%st(0),<h2=%st(2)
- faddp %st(0),%st(2)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:
- # qhasm: r0x1 = *(float64 *) &r0
- # asm 1: fldl <r0=stack64#5
- # asm 2: fldl <r0=128(%esp)
- fldl 128(%esp)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<r0x1#104:
- # qhasm: r0x1 *= x1
- # asm 1: fmul <x1=float80#6,<r0x1=float80#1
- # asm 2: fmul <x1=%st(5),<r0x1=%st(0)
- fmul %st(5),%st(0)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<r0x1#104:
- # qhasm: h1 += r0x1
- # asm 1: faddp <r0x1=float80#1,<h1=float80#2
- # asm 2: faddp <r0x1=%st(0),<h1=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:
- # qhasm: sr3x1 = *(float64 *) &sr3
- # asm 1: fldl <sr3=stack64#11
- # asm 2: fldl <sr3=176(%esp)
- fldl 176(%esp)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<sr3x1#105:
- # qhasm: sr3x1 *= x1
- # asm 1: fmulp <x1=float80#1,<sr3x1=float80#6
- # asm 2: fmulp <x1=%st(0),<sr3x1=%st(5)
- fmulp %st(0),%st(5)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<sr3x1#105:<x3#101:<h3#38:<h2#39:<h1#40:
- # qhasm: internal stacktop sr3x1
- # asm 1: fxch <sr3x1=float80#5
- # asm 2: fxch <sr3x1=%st(4)
- fxch %st(4)
- # qhasm: h0 += sr3x1
- # asm 1: faddp <sr3x1=float80#1,<h0=float80#6
- # asm 2: faddp <sr3x1=%st(0),<h0=%st(5)
- faddp %st(0),%st(5)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:
- # qhasm: r1x2 = *(float64 *) &r1
- # asm 1: fldl <r1=stack64#6
- # asm 2: fldl <r1=136(%esp)
- fldl 136(%esp)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:<r1x2#106:
- # qhasm: r1x2 *= x2
- # asm 1: fmul <x2=float80#7,<r1x2=float80#1
- # asm 2: fmul <x2=%st(6),<r1x2=%st(0)
- fmul %st(6),%st(0)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:<r1x2#106:
- # qhasm: h3 += r1x2
- # asm 1: faddp <r1x2=float80#1,<h3=float80#3
- # asm 2: faddp <r1x2=%st(0),<h3=%st(2)
- faddp %st(0),%st(2)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:
- # qhasm: r0x2 = *(float64 *) &r0
- # asm 1: fldl <r0=stack64#5
- # asm 2: fldl <r0=128(%esp)
- fldl 128(%esp)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:<r0x2#107:
- # qhasm: r0x2 *= x2
- # asm 1: fmul <x2=float80#7,<r0x2=float80#1
- # asm 2: fmul <x2=%st(6),<r0x2=%st(0)
- fmul %st(6),%st(0)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:<r0x2#107:
- # qhasm: h2 += r0x2
- # asm 1: faddp <r0x2=float80#1,<h2=float80#2
- # asm 2: faddp <r0x2=%st(0),<h2=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:
- # qhasm: sr3x2 = *(float64 *) &sr3
- # asm 1: fldl <sr3=stack64#11
- # asm 2: fldl <sr3=176(%esp)
- fldl 176(%esp)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:<sr3x2#108:
- # qhasm: sr3x2 *= x2
- # asm 1: fmul <x2=float80#7,<sr3x2=float80#1
- # asm 2: fmul <x2=%st(6),<sr3x2=%st(0)
- fmul %st(6),%st(0)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:<sr3x2#108:
- # qhasm: h1 += sr3x2
- # asm 1: faddp <sr3x2=float80#1,<h1=float80#5
- # asm 2: faddp <sr3x2=%st(0),<h1=%st(4)
- faddp %st(0),%st(4)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:
- # qhasm: sr2x2 = *(float64 *) &sr2
- # asm 1: fldl <sr2=stack64#9
- # asm 2: fldl <sr2=160(%esp)
- fldl 160(%esp)
- # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:<sr2x2#109:
- # qhasm: sr2x2 *= x2
- # asm 1: fmulp <x2=float80#1,<sr2x2=float80#7
- # asm 2: fmulp <x2=%st(0),<sr2x2=%st(6)
- fmulp %st(0),%st(6)
- # comment:fpstackfrombottom:<sr2x2#109:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:
- # qhasm: internal stacktop sr2x2
- # asm 1: fxch <sr2x2=float80#6
- # asm 2: fxch <sr2x2=%st(5)
- fxch %st(5)
- # qhasm: h0 += sr2x2
- # asm 1: faddp <sr2x2=float80#1,<h0=float80#5
- # asm 2: faddp <sr2x2=%st(0),<h0=%st(4)
- faddp %st(0),%st(4)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:
- # qhasm: r0x3 = *(float64 *) &r0
- # asm 1: fldl <r0=stack64#5
- # asm 2: fldl <r0=128(%esp)
- fldl 128(%esp)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:<r0x3#110:
- # qhasm: r0x3 *= x3
- # asm 1: fmul <x3=float80#3,<r0x3=float80#1
- # asm 2: fmul <x3=%st(2),<r0x3=%st(0)
- fmul %st(2),%st(0)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:<r0x3#110:
- # qhasm: h3 += r0x3
- # asm 1: faddp <r0x3=float80#1,<h3=float80#2
- # asm 2: faddp <r0x3=%st(0),<h3=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:
- # qhasm: sr3x3 = *(float64 *) &sr3
- # asm 1: fldl <sr3=stack64#11
- # asm 2: fldl <sr3=176(%esp)
- fldl 176(%esp)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:<sr3x3#111:
- # qhasm: sr3x3 *= x3
- # asm 1: fmul <x3=float80#3,<sr3x3=float80#1
- # asm 2: fmul <x3=%st(2),<sr3x3=%st(0)
- fmul %st(2),%st(0)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:<sr3x3#111:
- # qhasm: h2 += sr3x3
- # asm 1: faddp <sr3x3=float80#1,<h2=float80#6
- # asm 2: faddp <sr3x3=%st(0),<h2=%st(5)
- faddp %st(0),%st(5)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:
- # qhasm: sr2x3 = *(float64 *) &sr2
- # asm 1: fldl <sr2=stack64#9
- # asm 2: fldl <sr2=160(%esp)
- fldl 160(%esp)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:<sr2x3#112:
- # qhasm: sr2x3 *= x3
- # asm 1: fmul <x3=float80#3,<sr2x3=float80#1
- # asm 2: fmul <x3=%st(2),<sr2x3=%st(0)
- fmul %st(2),%st(0)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:<sr2x3#112:
- # qhasm: h1 += sr2x3
- # asm 1: faddp <sr2x3=float80#1,<h1=float80#4
- # asm 2: faddp <sr2x3=%st(0),<h1=%st(3)
- faddp %st(0),%st(3)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:
- # qhasm: sr1x3 = *(float64 *) &sr1
- # asm 1: fldl <sr1=stack64#7
- # asm 2: fldl <sr1=144(%esp)
- fldl 144(%esp)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:<sr1x3#113:
- # qhasm: sr1x3 *= x3
- # asm 1: fmulp <x3=float80#1,<sr1x3=float80#3
- # asm 2: fmulp <x3=%st(0),<sr1x3=%st(2)
- fmulp %st(0),%st(2)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<sr1x3#113:<h3#38:
- # qhasm: internal stacktop sr1x3
- # asm 1: fxch <sr1x3=float80#2
- # asm 2: fxch <sr1x3=%st(1)
- fxch %st(1)
- # qhasm: h0 += sr1x3
- # asm 1: faddp <sr1x3=float80#1,<h0=float80#4
- # asm 2: faddp <sr1x3=%st(0),<h0=%st(3)
- faddp %st(0),%st(3)
- # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<h3#38:
- # comment:automatically reorganizing fp stack for fallthrough
- # qhasm: internal stacktop h2
- # asm 1: fxch <h2=float80#4
- # asm 2: fxch <h2=%st(3)
- fxch %st(3)
- # comment:fpstackfrombottom:<h3#38:<h0#41:<h1#40:<h2#39:
- # qhasm: internal stacktop h0
- # asm 1: fxch <h0=float80#3
- # asm 2: fxch <h0=%st(2)
- fxch %st(2)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: nomorebytes:
- ._nomorebytes:
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
- # qhasm: x0 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
- fldl crypto_onetimeauth_poly1305_x86_alpha130
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:
- # qhasm: x0 += h3
- # asm 1: fadd <h3=float80#5,<x0=float80#1
- # asm 2: fadd <h3=%st(4),<x0=%st(0)
- fadd %st(4),%st(0)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:
- # qhasm: x0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
- fsubl crypto_onetimeauth_poly1305_x86_alpha130
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:
- # qhasm: h3 -= x0
- # asm 1: fsubr <x0=float80#1,<h3=float80#5
- # asm 2: fsubr <x0=%st(0),<h3=%st(4)
- fsubr %st(0),%st(4)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:
- # qhasm: x0 *= *(float64 *) &crypto_onetimeauth_poly1305_x86_scale
- fmull crypto_onetimeauth_poly1305_x86_scale
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:
- # qhasm: x1 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
- fldl crypto_onetimeauth_poly1305_x86_alpha32
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:
- # qhasm: x1 += h0
- # asm 1: fadd <h0=float80#3,<x1=float80#1
- # asm 2: fadd <h0=%st(2),<x1=%st(0)
- fadd %st(2),%st(0)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:
- # qhasm: x1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
- fsubl crypto_onetimeauth_poly1305_x86_alpha32
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:
- # qhasm: h0 -= x1
- # asm 1: fsubr <x1=float80#1,<h0=float80#3
- # asm 2: fsubr <x1=%st(0),<h0=%st(2)
- fsubr %st(0),%st(2)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:
- # qhasm: x2 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
- fldl crypto_onetimeauth_poly1305_x86_alpha64
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:
- # qhasm: x2 += h1
- # asm 1: fadd <h1=float80#5,<x2=float80#1
- # asm 2: fadd <h1=%st(4),<x2=%st(0)
- fadd %st(4),%st(0)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:
- # qhasm: x2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
- fsubl crypto_onetimeauth_poly1305_x86_alpha64
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:
- # qhasm: h1 -= x2
- # asm 1: fsubr <x2=float80#1,<h1=float80#5
- # asm 2: fsubr <x2=%st(0),<h1=%st(4)
- fsubr %st(0),%st(4)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:
- # qhasm: x3 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
- fldl crypto_onetimeauth_poly1305_x86_alpha96
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:<x3#117:
- # qhasm: x3 += h2
- # asm 1: fadd <h2=float80#7,<x3=float80#1
- # asm 2: fadd <h2=%st(6),<x3=%st(0)
- fadd %st(6),%st(0)
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:<x3#117:
- # qhasm: x3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
- fsubl crypto_onetimeauth_poly1305_x86_alpha96
- # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:<x3#117:
- # qhasm: stacktop h2
- # asm 1: fxch <h2=float80#7
- # asm 2: fxch <h2=%st(6)
- fxch %st(6)
- # comment:fpstackfrombottom:<h3#38:<x3#117:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:<h2#39:
- # qhasm: h2 -= x3
- # asm 1: fsub <x3=float80#7,<h2=float80#1
- # asm 2: fsub <x3=%st(6),<h2=%st(0)
- fsub %st(6),%st(0)
- # comment:fpstackfrombottom:<h3#38:<x3#117:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:<h2#39:
- # qhasm: internal stacktop h0
- # asm 1: fxch <h0=float80#5
- # asm 2: fxch <h0=%st(4)
- fxch %st(4)
- # qhasm: x0 += h0
- # asm 1: faddp <h0=float80#1,<x0=float80#4
- # asm 2: faddp <h0=%st(0),<x0=%st(3)
- faddp %st(0),%st(3)
- # comment:fpstackfrombottom:<h3#38:<x3#117:<h1#40:<h2#39:<x0#114:<x1#115:<x2#116:
- # qhasm: internal stacktop h1
- # asm 1: fxch <h1=float80#5
- # asm 2: fxch <h1=%st(4)
- fxch %st(4)
- # qhasm: x1 += h1
- # asm 1: faddp <h1=float80#1,<x1=float80#2
- # asm 2: faddp <h1=%st(0),<x1=%st(1)
- faddp %st(0),%st(1)
- # comment:fpstackfrombottom:<h3#38:<x3#117:<x2#116:<h2#39:<x0#114:<x1#115:
- # qhasm: internal stacktop h2
- # asm 1: fxch <h2=float80#3
- # asm 2: fxch <h2=%st(2)
- fxch %st(2)
- # qhasm: x2 += h2
- # asm 1: faddp <h2=float80#1,<x2=float80#4
- # asm 2: faddp <h2=%st(0),<x2=%st(3)
- faddp %st(0),%st(3)
- # comment:fpstackfrombottom:<h3#38:<x3#117:<x2#116:<x1#115:<x0#114:
- # qhasm: internal stacktop h3
- # asm 1: fxch <h3=float80#5
- # asm 2: fxch <h3=%st(4)
- fxch %st(4)
- # qhasm: x3 += h3
- # asm 1: faddp <h3=float80#1,<x3=float80#4
- # asm 2: faddp <h3=%st(0),<x3=%st(3)
- faddp %st(0),%st(3)
- # comment:fpstackfrombottom:<x0#114:<x3#117:<x2#116:<x1#115:
- # qhasm: internal stacktop x0
- # asm 1: fxch <x0=float80#4
- # asm 2: fxch <x0=%st(3)
- fxch %st(3)
- # qhasm: x0 += *(float64 *) &crypto_onetimeauth_poly1305_x86_hoffset0
- faddl crypto_onetimeauth_poly1305_x86_hoffset0
- # comment:fpstackfrombottom:<x1#115:<x3#117:<x2#116:<x0#114:
- # qhasm: internal stacktop x1
- # asm 1: fxch <x1=float80#4
- # asm 2: fxch <x1=%st(3)
- fxch %st(3)
- # qhasm: x1 += *(float64 *) &crypto_onetimeauth_poly1305_x86_hoffset1
- faddl crypto_onetimeauth_poly1305_x86_hoffset1
- # comment:fpstackfrombottom:<x0#114:<x3#117:<x2#116:<x1#115:
- # qhasm: internal stacktop x2
- # asm 1: fxch <x2=float80#2
- # asm 2: fxch <x2=%st(1)
- fxch %st(1)
- # qhasm: x2 += *(float64 *) &crypto_onetimeauth_poly1305_x86_hoffset2
- faddl crypto_onetimeauth_poly1305_x86_hoffset2
- # comment:fpstackfrombottom:<x0#114:<x3#117:<x1#115:<x2#116:
- # qhasm: internal stacktop x3
- # asm 1: fxch <x3=float80#3
- # asm 2: fxch <x3=%st(2)
- fxch %st(2)
- # qhasm: x3 += *(float64 *) &crypto_onetimeauth_poly1305_x86_hoffset3
- faddl crypto_onetimeauth_poly1305_x86_hoffset3
- # comment:fpstackfrombottom:<x0#114:<x2#116:<x1#115:<x3#117:
- # qhasm: internal stacktop x0
- # asm 1: fxch <x0=float80#4
- # asm 2: fxch <x0=%st(3)
- fxch %st(3)
- # qhasm: *(float64 *) &d0 = x0
- # asm 1: fstpl >d0=stack64#1
- # asm 2: fstpl >d0=96(%esp)
- fstpl 96(%esp)
- # comment:fpstackfrombottom:<x3#117:<x2#116:<x1#115:
- # qhasm: *(float64 *) &d1 = x1
- # asm 1: fstpl >d1=stack64#2
- # asm 2: fstpl >d1=104(%esp)
- fstpl 104(%esp)
- # comment:fpstackfrombottom:<x3#117:<x2#116:
- # qhasm: *(float64 *) &d2 = x2
- # asm 1: fstpl >d2=stack64#3
- # asm 2: fstpl >d2=112(%esp)
- fstpl 112(%esp)
- # comment:fpstackfrombottom:<x3#117:
- # qhasm: *(float64 *) &d3 = x3
- # asm 1: fstpl >d3=stack64#4
- # asm 2: fstpl >d3=120(%esp)
- fstpl 120(%esp)
- # comment:fpstackfrombottom:
- # qhasm: int32 f0
- # qhasm: int32 f1
- # qhasm: int32 f2
- # qhasm: int32 f3
- # qhasm: int32 f4
- # qhasm: int32 g0
- # qhasm: int32 g1
- # qhasm: int32 g2
- # qhasm: int32 g3
- # qhasm: int32 f
- # qhasm: int32 notf
- # qhasm: stack32 f1_stack
- # qhasm: stack32 f2_stack
- # qhasm: stack32 f3_stack
- # qhasm: stack32 f4_stack
- # qhasm: stack32 g0_stack
- # qhasm: stack32 g1_stack
- # qhasm: stack32 g2_stack
- # qhasm: stack32 g3_stack
- # qhasm: g0 = top d0
- # asm 1: movl <d0=stack64#1,>g0=int32#1
- # asm 2: movl <d0=100(%esp),>g0=%eax
- movl 100(%esp),%eax
- # qhasm: g0 &= 63
- # asm 1: and $63,<g0=int32#1
- # asm 2: and $63,<g0=%eax
- and $63,%eax
- # qhasm: g1 = top d1
- # asm 1: movl <d1=stack64#2,>g1=int32#2
- # asm 2: movl <d1=108(%esp),>g1=%ecx
- movl 108(%esp),%ecx
- # qhasm: g1 &= 63
- # asm 1: and $63,<g1=int32#2
- # asm 2: and $63,<g1=%ecx
- and $63,%ecx
- # qhasm: g2 = top d2
- # asm 1: movl <d2=stack64#3,>g2=int32#3
- # asm 2: movl <d2=116(%esp),>g2=%edx
- movl 116(%esp),%edx
- # qhasm: g2 &= 63
- # asm 1: and $63,<g2=int32#3
- # asm 2: and $63,<g2=%edx
- and $63,%edx
- # qhasm: g3 = top d3
- # asm 1: movl <d3=stack64#4,>g3=int32#4
- # asm 2: movl <d3=124(%esp),>g3=%ebx
- movl 124(%esp),%ebx
- # qhasm: g3 &= 63
- # asm 1: and $63,<g3=int32#4
- # asm 2: and $63,<g3=%ebx
- and $63,%ebx
- # qhasm: f1 = bottom d1
- # asm 1: movl <d1=stack64#2,>f1=int32#5
- # asm 2: movl <d1=104(%esp),>f1=%esi
- movl 104(%esp),%esi
- # qhasm: carry? f1 += g0
- # asm 1: addl <g0=int32#1,<f1=int32#5
- # asm 2: addl <g0=%eax,<f1=%esi
- addl %eax,%esi
- # qhasm: f1_stack = f1
- # asm 1: movl <f1=int32#5,>f1_stack=stack32#8
- # asm 2: movl <f1=%esi,>f1_stack=28(%esp)
- movl %esi,28(%esp)
- # qhasm: f2 = bottom d2
- # asm 1: movl <d2=stack64#3,>f2=int32#1
- # asm 2: movl <d2=112(%esp),>f2=%eax
- movl 112(%esp),%eax
- # qhasm: carry? f2 += g1 + carry
- # asm 1: adcl <g1=int32#2,<f2=int32#1
- # asm 2: adcl <g1=%ecx,<f2=%eax
- adcl %ecx,%eax
- # qhasm: f2_stack = f2
- # asm 1: movl <f2=int32#1,>f2_stack=stack32#9
- # asm 2: movl <f2=%eax,>f2_stack=32(%esp)
- movl %eax,32(%esp)
- # qhasm: f3 = bottom d3
- # asm 1: movl <d3=stack64#4,>f3=int32#1
- # asm 2: movl <d3=120(%esp),>f3=%eax
- movl 120(%esp),%eax
- # qhasm: carry? f3 += g2 + carry
- # asm 1: adcl <g2=int32#3,<f3=int32#1
- # asm 2: adcl <g2=%edx,<f3=%eax
- adcl %edx,%eax
- # qhasm: f3_stack = f3
- # asm 1: movl <f3=int32#1,>f3_stack=stack32#10
- # asm 2: movl <f3=%eax,>f3_stack=36(%esp)
- movl %eax,36(%esp)
- # qhasm: f4 = 0
- # asm 1: mov $0,>f4=int32#1
- # asm 2: mov $0,>f4=%eax
- mov $0,%eax
- # qhasm: carry? f4 += g3 + carry
- # asm 1: adcl <g3=int32#4,<f4=int32#1
- # asm 2: adcl <g3=%ebx,<f4=%eax
- adcl %ebx,%eax
- # qhasm: f4_stack = f4
- # asm 1: movl <f4=int32#1,>f4_stack=stack32#11
- # asm 2: movl <f4=%eax,>f4_stack=40(%esp)
- movl %eax,40(%esp)
- # qhasm: g0 = 5
- # asm 1: mov $5,>g0=int32#1
- # asm 2: mov $5,>g0=%eax
- mov $5,%eax
- # qhasm: f0 = bottom d0
- # asm 1: movl <d0=stack64#1,>f0=int32#2
- # asm 2: movl <d0=96(%esp),>f0=%ecx
- movl 96(%esp),%ecx
- # qhasm: carry? g0 += f0
- # asm 1: addl <f0=int32#2,<g0=int32#1
- # asm 2: addl <f0=%ecx,<g0=%eax
- addl %ecx,%eax
- # qhasm: g0_stack = g0
- # asm 1: movl <g0=int32#1,>g0_stack=stack32#12
- # asm 2: movl <g0=%eax,>g0_stack=44(%esp)
- movl %eax,44(%esp)
- # qhasm: g1 = 0
- # asm 1: mov $0,>g1=int32#1
- # asm 2: mov $0,>g1=%eax
- mov $0,%eax
- # qhasm: f1 = f1_stack
- # asm 1: movl <f1_stack=stack32#8,>f1=int32#3
- # asm 2: movl <f1_stack=28(%esp),>f1=%edx
- movl 28(%esp),%edx
- # qhasm: carry? g1 += f1 + carry
- # asm 1: adcl <f1=int32#3,<g1=int32#1
- # asm 2: adcl <f1=%edx,<g1=%eax
- adcl %edx,%eax
- # qhasm: g1_stack = g1
- # asm 1: movl <g1=int32#1,>g1_stack=stack32#8
- # asm 2: movl <g1=%eax,>g1_stack=28(%esp)
- movl %eax,28(%esp)
- # qhasm: g2 = 0
- # asm 1: mov $0,>g2=int32#1
- # asm 2: mov $0,>g2=%eax
- mov $0,%eax
- # qhasm: f2 = f2_stack
- # asm 1: movl <f2_stack=stack32#9,>f2=int32#4
- # asm 2: movl <f2_stack=32(%esp),>f2=%ebx
- movl 32(%esp),%ebx
- # qhasm: carry? g2 += f2 + carry
- # asm 1: adcl <f2=int32#4,<g2=int32#1
- # asm 2: adcl <f2=%ebx,<g2=%eax
- adcl %ebx,%eax
- # qhasm: g2_stack = g2
- # asm 1: movl <g2=int32#1,>g2_stack=stack32#9
- # asm 2: movl <g2=%eax,>g2_stack=32(%esp)
- movl %eax,32(%esp)
- # qhasm: g3 = 0
- # asm 1: mov $0,>g3=int32#1
- # asm 2: mov $0,>g3=%eax
- mov $0,%eax
- # qhasm: f3 = f3_stack
- # asm 1: movl <f3_stack=stack32#10,>f3=int32#5
- # asm 2: movl <f3_stack=36(%esp),>f3=%esi
- movl 36(%esp),%esi
- # qhasm: carry? g3 += f3 + carry
- # asm 1: adcl <f3=int32#5,<g3=int32#1
- # asm 2: adcl <f3=%esi,<g3=%eax
- adcl %esi,%eax
- # qhasm: g3_stack = g3
- # asm 1: movl <g3=int32#1,>g3_stack=stack32#10
- # asm 2: movl <g3=%eax,>g3_stack=36(%esp)
- movl %eax,36(%esp)
- # qhasm: f = 0xfffffffc
- # asm 1: mov $0xfffffffc,>f=int32#1
- # asm 2: mov $0xfffffffc,>f=%eax
- mov $0xfffffffc,%eax
- # qhasm: f4 = f4_stack
- # asm 1: movl <f4_stack=stack32#11,>f4=int32#6
- # asm 2: movl <f4_stack=40(%esp),>f4=%edi
- movl 40(%esp),%edi
- # qhasm: carry? f += f4 + carry
- # asm 1: adcl <f4=int32#6,<f=int32#1
- # asm 2: adcl <f4=%edi,<f=%eax
- adcl %edi,%eax
- # qhasm: (int32) f >>= 16
- # asm 1: sar $16,<f=int32#1
- # asm 2: sar $16,<f=%eax
- sar $16,%eax
- # qhasm: notf = f
- # asm 1: mov <f=int32#1,>notf=int32#6
- # asm 2: mov <f=%eax,>notf=%edi
- mov %eax,%edi
- # qhasm: notf ^= 0xffffffff
- # asm 1: xor $0xffffffff,<notf=int32#6
- # asm 2: xor $0xffffffff,<notf=%edi
- xor $0xffffffff,%edi
- # qhasm: f0 &= f
- # asm 1: andl <f=int32#1,<f0=int32#2
- # asm 2: andl <f=%eax,<f0=%ecx
- andl %eax,%ecx
- # qhasm: g0 = g0_stack
- # asm 1: movl <g0_stack=stack32#12,>g0=int32#7
- # asm 2: movl <g0_stack=44(%esp),>g0=%ebp
- movl 44(%esp),%ebp
- # qhasm: g0 &= notf
- # asm 1: andl <notf=int32#6,<g0=int32#7
- # asm 2: andl <notf=%edi,<g0=%ebp
- andl %edi,%ebp
- # qhasm: f0 |= g0
- # asm 1: orl <g0=int32#7,<f0=int32#2
- # asm 2: orl <g0=%ebp,<f0=%ecx
- orl %ebp,%ecx
- # qhasm: f1 &= f
- # asm 1: andl <f=int32#1,<f1=int32#3
- # asm 2: andl <f=%eax,<f1=%edx
- andl %eax,%edx
- # qhasm: g1 = g1_stack
- # asm 1: movl <g1_stack=stack32#8,>g1=int32#7
- # asm 2: movl <g1_stack=28(%esp),>g1=%ebp
- movl 28(%esp),%ebp
- # qhasm: g1 &= notf
- # asm 1: andl <notf=int32#6,<g1=int32#7
- # asm 2: andl <notf=%edi,<g1=%ebp
- andl %edi,%ebp
- # qhasm: f1 |= g1
- # asm 1: orl <g1=int32#7,<f1=int32#3
- # asm 2: orl <g1=%ebp,<f1=%edx
- orl %ebp,%edx
- # qhasm: f2 &= f
- # asm 1: andl <f=int32#1,<f2=int32#4
- # asm 2: andl <f=%eax,<f2=%ebx
- andl %eax,%ebx
- # qhasm: g2 = g2_stack
- # asm 1: movl <g2_stack=stack32#9,>g2=int32#7
- # asm 2: movl <g2_stack=32(%esp),>g2=%ebp
- movl 32(%esp),%ebp
- # qhasm: g2 &= notf
- # asm 1: andl <notf=int32#6,<g2=int32#7
- # asm 2: andl <notf=%edi,<g2=%ebp
- andl %edi,%ebp
- # qhasm: f2 |= g2
- # asm 1: orl <g2=int32#7,<f2=int32#4
- # asm 2: orl <g2=%ebp,<f2=%ebx
- orl %ebp,%ebx
- # qhasm: f3 &= f
- # asm 1: andl <f=int32#1,<f3=int32#5
- # asm 2: andl <f=%eax,<f3=%esi
- andl %eax,%esi
- # qhasm: g3 = g3_stack
- # asm 1: movl <g3_stack=stack32#10,>g3=int32#1
- # asm 2: movl <g3_stack=36(%esp),>g3=%eax
- movl 36(%esp),%eax
- # qhasm: g3 &= notf
- # asm 1: andl <notf=int32#6,<g3=int32#1
- # asm 2: andl <notf=%edi,<g3=%eax
- andl %edi,%eax
- # qhasm: f3 |= g3
- # asm 1: orl <g3=int32#1,<f3=int32#5
- # asm 2: orl <g3=%eax,<f3=%esi
- orl %eax,%esi
- # qhasm: k = k_stack
- # asm 1: movl <k_stack=stack32#6,>k=int32#1
- # asm 2: movl <k_stack=20(%esp),>k=%eax
- movl 20(%esp),%eax
- # qhasm: carry? f0 += *(uint32 *) (k + 16)
- # asm 1: addl 16(<k=int32#1),<f0=int32#2
- # asm 2: addl 16(<k=%eax),<f0=%ecx
- addl 16(%eax),%ecx
- # qhasm: carry? f1 += *(uint32 *) (k + 20) + carry
- # asm 1: adcl 20(<k=int32#1),<f1=int32#3
- # asm 2: adcl 20(<k=%eax),<f1=%edx
- adcl 20(%eax),%edx
- # qhasm: carry? f2 += *(uint32 *) (k + 24) + carry
- # asm 1: adcl 24(<k=int32#1),<f2=int32#4
- # asm 2: adcl 24(<k=%eax),<f2=%ebx
- adcl 24(%eax),%ebx
- # qhasm: carry? f3 += *(uint32 *) (k + 28) + carry
- # asm 1: adcl 28(<k=int32#1),<f3=int32#5
- # asm 2: adcl 28(<k=%eax),<f3=%esi
- adcl 28(%eax),%esi
- # qhasm: out = out_stack
- # asm 1: movl <out_stack=stack32#7,>out=int32#1
- # asm 2: movl <out_stack=24(%esp),>out=%eax
- movl 24(%esp),%eax
- # qhasm: *(uint32 *) (out + 0) = f0
- # asm 1: movl <f0=int32#2,0(<out=int32#1)
- # asm 2: movl <f0=%ecx,0(<out=%eax)
- movl %ecx,0(%eax)
- # qhasm: *(uint32 *) (out + 4) = f1
- # asm 1: movl <f1=int32#3,4(<out=int32#1)
- # asm 2: movl <f1=%edx,4(<out=%eax)
- movl %edx,4(%eax)
- # qhasm: *(uint32 *) (out + 8) = f2
- # asm 1: movl <f2=int32#4,8(<out=int32#1)
- # asm 2: movl <f2=%ebx,8(<out=%eax)
- movl %ebx,8(%eax)
- # qhasm: *(uint32 *) (out + 12) = f3
- # asm 1: movl <f3=int32#5,12(<out=int32#1)
- # asm 2: movl <f3=%esi,12(<out=%eax)
- movl %esi,12(%eax)
- # qhasm: eax = eax_stack
- # asm 1: movl <eax_stack=stack32#1,>eax=int32#1
- # asm 2: movl <eax_stack=0(%esp),>eax=%eax
- movl 0(%esp),%eax
- # qhasm: ebx = ebx_stack
- # asm 1: movl <ebx_stack=stack32#2,>ebx=int32#4
- # asm 2: movl <ebx_stack=4(%esp),>ebx=%ebx
- movl 4(%esp),%ebx
- # qhasm: esi = esi_stack
- # asm 1: movl <esi_stack=stack32#3,>esi=int32#5
- # asm 2: movl <esi_stack=8(%esp),>esi=%esi
- movl 8(%esp),%esi
- # qhasm: edi = edi_stack
- # asm 1: movl <edi_stack=stack32#4,>edi=int32#6
- # asm 2: movl <edi_stack=12(%esp),>edi=%edi
- movl 12(%esp),%edi
- # qhasm: ebp = ebp_stack
- # asm 1: movl <ebp_stack=stack32#5,>ebp=int32#7
- # asm 2: movl <ebp_stack=16(%esp),>ebp=%ebp
- movl 16(%esp),%ebp
- # qhasm: leave
- add %eax,%esp
- xor %eax,%eax
- ret
|