clinpack.s 52 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774
  1. .file 1 "clinpack.c"
  2. # GNU C 2.7.2.3 [AL 1.1, MM 40, tma 0.1] SimpleScalar running sstrix compiled by GNU C
  3. # Cc1 defaults:
  4. # -mgas -mgpOPT
  5. # Cc1 arguments (-G value = 8, Cpu = default, ISA = 1):
  6. # -quiet -dumpbase -O0 -o
  7. gcc2_compiled.:
  8. __gnu_compiled_c:
  9. .lcomm aa.2,320000
  10. .lcomm a.3,321600
  11. .lcomm b.4,1600
  12. .lcomm x.5,1600
  13. .lcomm ipvt.6,800
  14. .lcomm n.7,4
  15. .lcomm i.8,4
  16. .lcomm ntimes.9,4
  17. .lcomm info.10,4
  18. .lcomm lda.11,4
  19. .lcomm ldaa.12,4
  20. .lcomm kflops.13,4
  21. .rdata
  22. .align 2
  23. $LC1:
  24. .ascii "Unrolled \000"
  25. .sdata
  26. .align 2
  27. $LC2:
  28. .ascii "Double \000"
  29. .rdata
  30. .align 2
  31. $LC3:
  32. .ascii "Precision Linpack\n\n\000"
  33. .align 2
  34. $LC6:
  35. .ascii " norm. resid resid machep\000"
  36. .align 2
  37. $LC7:
  38. .ascii " x[0]-1 x[n-1]-1\n\000"
  39. .align 2
  40. $LC8:
  41. .ascii "%8.1f %16.8e%16.8e%16.8e%16.8e\n\000"
  42. .align 2
  43. $LC9:
  44. .ascii " times are reported for matrices of order %5d\n\000"
  45. .align 2
  46. $LC10:
  47. .ascii " dgefa dgesl total kflops unit\000"
  48. .align 2
  49. $LC11:
  50. .ascii " ratio\n\000"
  51. .align 2
  52. $LC14:
  53. .ascii " times for array with leading dimension of%5d\n\000"
  54. .align 2
  55. $LC16:
  56. .ascii " times for array with leading dimension of%4d\n\000"
  57. .align 2
  58. $LC17:
  59. .ascii " Precision %5d Kflops ; %d Reps \n\000"
  60. .sdata
  61. .align 3
  62. $LC0:
  63. .word 0x3126e979 # 0.056000000000000001166
  64. .word 0x3facac08
  65. .align 3
  66. $LC4:
  67. .word 0x00000000 # 3
  68. .word 0x40080000
  69. .align 3
  70. $LC5:
  71. .word 0x00000000 # 1
  72. .word 0x3ff00000
  73. .align 3
  74. $LC12:
  75. .word 0x00000000 # 1000
  76. .word 0x408f4000
  77. .align 3
  78. $LC13:
  79. .word 0x00000000 # 2000
  80. .word 0x409f4000
  81. .align 3
  82. $LC15:
  83. .word 0x00000000 # 0.5
  84. .word 0x3fe00000
  85. .text
  86. .align 2
  87. .globl main
  88. .rdata
  89. .align 2
  90. $LC18:
  91. .ascii "%11.2f%11.2f%11.2f%11.0f%11.2f%11.2f\n\000"
  92. .text
  93. .align 2
  94. .globl print_time
  95. .sdata
  96. .align 3
  97. $LC19:
  98. .word 0x00000000 # 32768
  99. .word 0x40e00000
  100. .align 3
  101. $LC20:
  102. .word 0x00000000 # 16384
  103. .word 0x40d00000
  104. .text
  105. .align 2
  106. .globl matgen
  107. .sdata
  108. .align 3
  109. $LC21:
  110. .word 0x00000000 # -1
  111. .word 0xbff00000
  112. .text
  113. .align 2
  114. .globl dgefa
  115. .align 2
  116. .globl dgesl
  117. .align 2
  118. .globl daxpy
  119. .align 2
  120. .globl ddot
  121. .align 2
  122. .globl dscal
  123. .align 2
  124. .globl idamax
  125. .sdata
  126. .align 3
  127. $LC22:
  128. .word 0x55555555 # 1.3333333333333332593
  129. .word 0x3ff55555
  130. .align 3
  131. $LC23:
  132. .word 0x00000000 # 1
  133. .word 0x3ff00000
  134. .text
  135. .align 2
  136. .globl epslon
  137. .align 2
  138. .globl dmxpy
  139. .sdata
  140. .align 3
  141. $LC24:
  142. .word 0xa0b5ed8d # 9.9999999999999995475e-07
  143. .word 0x3eb0c6f7
  144. .text
  145. .align 2
  146. .globl dtime
  147. .lcomm st,384
  148. .comm rusage,72
  149. .text
  150. .loc 1 72
  151. .ent main
  152. main:
  153. .frame $fp,168,$31 # vars= 96, regs= 2/2, args= 48, extra= 0
  154. .mask 0xc0000000,-20
  155. .fmask 0x00f00000,-4
  156. subu $sp,$sp,168
  157. sw $31,148($sp)
  158. sw $fp,144($sp)
  159. s.d $f22,160($sp)
  160. s.d $f20,152($sp)
  161. move $fp,$sp
  162. jal __main
  163. li $2,0x000000c9 # 201
  164. sw $2,lda.11
  165. li $2,0x000000c8 # 200
  166. sw $2,ldaa.12
  167. l.d $f0,$LC0
  168. s.d $f0,48($fp)
  169. li $2,0x00000019 # 25
  170. sw $2,n.7
  171. la $4,$LC1
  172. jal printf
  173. la $4,$LC2
  174. jal printf
  175. la $4,$LC3
  176. jal printf
  177. lw $2,n.7
  178. lw $3,n.7
  179. mult $2,$3
  180. mflo $2
  181. lw $3,n.7
  182. mult $2,$3
  183. mflo $2
  184. mtc1 $2,$f20
  185. #nop
  186. cvt.d.w $f20,$f20
  187. add.d $f0,$f20,$f20
  188. l.d $f2,$LC4
  189. div.d $f0,$f0,$f2
  190. lw $2,n.7
  191. lw $3,n.7
  192. mult $2,$3
  193. mflo $2
  194. mtc1 $2,$f22
  195. #nop
  196. cvt.d.w $f22,$f22
  197. add.d $f2,$f22,$f22
  198. add.d $f0,$f0,$f2
  199. s.d $f0,56($fp)
  200. addu $2,$fp,72
  201. sw $2,16($sp)
  202. la $4,a.3
  203. lw $5,lda.11
  204. lw $6,n.7
  205. la $7,b.4
  206. jal matgen
  207. jal dtime
  208. s.d $f0,120($fp)
  209. la $2,info.10
  210. sw $2,16($sp)
  211. la $4,a.3
  212. lw $5,lda.11
  213. lw $6,n.7
  214. la $7,ipvt.6
  215. jal dgefa
  216. jal dtime
  217. l.d $f2,120($fp)
  218. sub.d $f0,$f0,$f2
  219. s.d $f0,st
  220. jal dtime
  221. s.d $f0,120($fp)
  222. la $2,b.4
  223. sw $2,16($sp)
  224. sw $0,20($sp)
  225. la $4,a.3
  226. lw $5,lda.11
  227. lw $6,n.7
  228. la $7,ipvt.6
  229. jal dgesl
  230. jal dtime
  231. l.d $f2,120($fp)
  232. sub.d $f0,$f0,$f2
  233. s.d $f0,st+48
  234. l.d $f0,st
  235. l.d $f2,st+48
  236. add.d $f0,$f0,$f2
  237. s.d $f0,64($fp)
  238. sw $0,i.8
  239. $L2:
  240. lw $2,i.8
  241. lw $3,n.7
  242. slt $2,$2,$3
  243. bne $2,$0,$L5
  244. j $L3
  245. $L5:
  246. lw $2,i.8
  247. move $3,$2
  248. sll $2,$3,3
  249. la $3,x.5
  250. addu $2,$2,$3
  251. lw $3,i.8
  252. move $4,$3
  253. sll $3,$4,3
  254. la $4,b.4
  255. addu $3,$3,$4
  256. l.d $f0,0($3)
  257. s.d $f0,0($2)
  258. $L4:
  259. lw $3,i.8
  260. addu $2,$3,1
  261. move $3,$2
  262. sw $3,i.8
  263. j $L2
  264. $L3:
  265. addu $2,$fp,72
  266. sw $2,16($sp)
  267. la $4,a.3
  268. lw $5,lda.11
  269. lw $6,n.7
  270. la $7,b.4
  271. jal matgen
  272. sw $0,i.8
  273. $L6:
  274. lw $2,i.8
  275. lw $3,n.7
  276. slt $2,$2,$3
  277. bne $2,$0,$L9
  278. j $L7
  279. $L9:
  280. lw $2,i.8
  281. move $3,$2
  282. sll $2,$3,3
  283. la $3,b.4
  284. addu $2,$2,$3
  285. lw $3,i.8
  286. move $4,$3
  287. sll $3,$4,3
  288. la $4,b.4
  289. addu $3,$3,$4
  290. l.d $f0,0($3)
  291. neg.d $f2,$f0
  292. s.d $f2,0($2)
  293. $L8:
  294. lw $3,i.8
  295. addu $2,$3,1
  296. move $3,$2
  297. sw $3,i.8
  298. j $L6
  299. $L7:
  300. la $2,x.5
  301. sw $2,16($sp)
  302. la $2,a.3
  303. sw $2,20($sp)
  304. lw $4,n.7
  305. la $5,b.4
  306. lw $6,n.7
  307. lw $7,lda.11
  308. jal dmxpy
  309. dsz 88($fp)
  310. dsz 80($fp)
  311. sw $0,i.8
  312. $L10:
  313. lw $2,i.8
  314. lw $3,n.7
  315. slt $2,$2,$3
  316. bne $2,$0,$L13
  317. j $L11
  318. $L13:
  319. lw $2,i.8
  320. move $3,$2
  321. sll $2,$3,3
  322. la $3,b.4
  323. addu $2,$2,$3
  324. l.d $f2,0($2)
  325. abs.d $f0,$f2
  326. l.d $f2,88($fp)
  327. c.lt.d $f0,$f2
  328. bc1f $L14
  329. l.d $f0,88($fp)
  330. j $L15
  331. $L14:
  332. lw $2,i.8
  333. move $3,$2
  334. sll $2,$3,3
  335. la $3,b.4
  336. addu $2,$2,$3
  337. l.d $f2,0($2)
  338. abs.d $f0,$f2
  339. $L15:
  340. s.d $f0,88($fp)
  341. lw $2,i.8
  342. move $3,$2
  343. sll $2,$3,3
  344. la $3,x.5
  345. addu $2,$2,$3
  346. l.d $f2,0($2)
  347. abs.d $f0,$f2
  348. l.d $f2,80($fp)
  349. c.lt.d $f0,$f2
  350. bc1f $L16
  351. l.d $f0,80($fp)
  352. j $L17
  353. $L16:
  354. lw $2,i.8
  355. move $3,$2
  356. sll $2,$3,3
  357. la $3,x.5
  358. addu $2,$2,$3
  359. l.d $f2,0($2)
  360. abs.d $f0,$f2
  361. $L17:
  362. s.d $f0,80($fp)
  363. $L12:
  364. lw $3,i.8
  365. addu $2,$3,1
  366. move $3,$2
  367. sw $3,i.8
  368. j $L10
  369. $L11:
  370. l.d $f12,$LC5
  371. jal epslon
  372. s.d $f0,104($fp)
  373. l.s $f0,n.7
  374. #nop
  375. cvt.d.w $f0,$f0
  376. l.d $f2,72($fp)
  377. mul.d $f0,$f0,$f2
  378. l.d $f2,80($fp)
  379. mul.d $f0,$f0,$f2
  380. l.d $f2,104($fp)
  381. mul.d $f0,$f0,$f2
  382. l.d $f2,88($fp)
  383. div.d $f0,$f2,$f0
  384. s.d $f0,96($fp)
  385. la $4,$LC6
  386. jal printf
  387. la $4,$LC7
  388. jal printf
  389. l.d $f0,88($fp)
  390. s.d $f0,16($sp)
  391. l.d $f0,104($fp)
  392. s.d $f0,24($sp)
  393. l.d $f0,x.5
  394. l.d $f2,$LC5
  395. sub.d $f0,$f0,$f2
  396. s.d $f0,32($sp)
  397. lw $2,n.7
  398. move $3,$2
  399. sll $2,$3,3
  400. la $3,x.5-8
  401. addu $2,$2,$3
  402. l.d $f0,0($2)
  403. l.d $f2,$LC5
  404. sub.d $f0,$f0,$f2
  405. s.d $f0,40($sp)
  406. la $4,$LC8
  407. dlw $6,96($fp)
  408. jal printf
  409. la $4,$LC9
  410. lw $5,n.7
  411. jal printf
  412. la $4,$LC10
  413. jal printf
  414. la $4,$LC11
  415. jal printf
  416. l.d $f0,64($fp)
  417. s.d $f0,st+96
  418. l.d $f0,64($fp)
  419. l.d $f2,$LC12
  420. mul.d $f0,$f0,$f2
  421. l.d $f2,56($fp)
  422. div.d $f0,$f2,$f0
  423. s.d $f0,st+144
  424. l.d $f0,$LC13
  425. l.d $f2,st+144
  426. div.d $f0,$f0,$f2
  427. s.d $f0,st+192
  428. l.d $f0,64($fp)
  429. l.d $f2,48($fp)
  430. div.d $f0,$f0,$f2
  431. s.d $f0,st+240
  432. la $4,$LC14
  433. lw $5,lda.11
  434. jal printf
  435. move $4,$0
  436. jal print_time
  437. addu $2,$fp,72
  438. sw $2,16($sp)
  439. la $4,a.3
  440. lw $5,lda.11
  441. lw $6,n.7
  442. la $7,b.4
  443. jal matgen
  444. jal dtime
  445. s.d $f0,120($fp)
  446. la $2,info.10
  447. sw $2,16($sp)
  448. la $4,a.3
  449. lw $5,lda.11
  450. lw $6,n.7
  451. la $7,ipvt.6
  452. jal dgefa
  453. jal dtime
  454. l.d $f2,120($fp)
  455. sub.d $f0,$f0,$f2
  456. s.d $f0,st+8
  457. jal dtime
  458. s.d $f0,120($fp)
  459. la $2,b.4
  460. sw $2,16($sp)
  461. sw $0,20($sp)
  462. la $4,a.3
  463. lw $5,lda.11
  464. lw $6,n.7
  465. la $7,ipvt.6
  466. jal dgesl
  467. jal dtime
  468. l.d $f2,120($fp)
  469. sub.d $f0,$f0,$f2
  470. s.d $f0,st+56
  471. l.d $f0,st+8
  472. l.d $f2,st+56
  473. add.d $f0,$f0,$f2
  474. s.d $f0,64($fp)
  475. l.d $f0,64($fp)
  476. s.d $f0,st+104
  477. l.d $f0,64($fp)
  478. l.d $f2,$LC12
  479. mul.d $f0,$f0,$f2
  480. l.d $f2,56($fp)
  481. div.d $f0,$f2,$f0
  482. s.d $f0,st+152
  483. l.d $f0,$LC13
  484. l.d $f2,st+152
  485. div.d $f0,$f0,$f2
  486. s.d $f0,st+200
  487. l.d $f0,64($fp)
  488. l.d $f2,48($fp)
  489. div.d $f0,$f0,$f2
  490. s.d $f0,st+248
  491. addu $2,$fp,72
  492. sw $2,16($sp)
  493. la $4,a.3
  494. lw $5,lda.11
  495. lw $6,n.7
  496. la $7,b.4
  497. jal matgen
  498. jal dtime
  499. s.d $f0,120($fp)
  500. la $2,info.10
  501. sw $2,16($sp)
  502. la $4,a.3
  503. lw $5,lda.11
  504. lw $6,n.7
  505. la $7,ipvt.6
  506. jal dgefa
  507. jal dtime
  508. l.d $f2,120($fp)
  509. sub.d $f0,$f0,$f2
  510. s.d $f0,st+16
  511. jal dtime
  512. s.d $f0,120($fp)
  513. la $2,b.4
  514. sw $2,16($sp)
  515. sw $0,20($sp)
  516. la $4,a.3
  517. lw $5,lda.11
  518. lw $6,n.7
  519. la $7,ipvt.6
  520. jal dgesl
  521. jal dtime
  522. l.d $f2,120($fp)
  523. sub.d $f0,$f0,$f2
  524. s.d $f0,st+64
  525. l.d $f0,st+16
  526. l.d $f2,st+64
  527. add.d $f0,$f0,$f2
  528. s.d $f0,64($fp)
  529. l.d $f0,64($fp)
  530. s.d $f0,st+112
  531. l.d $f0,64($fp)
  532. l.d $f2,$LC12
  533. mul.d $f0,$f0,$f2
  534. l.d $f2,56($fp)
  535. div.d $f0,$f2,$f0
  536. s.d $f0,st+160
  537. l.d $f0,$LC13
  538. l.d $f2,st+160
  539. div.d $f0,$f0,$f2
  540. s.d $f0,st+208
  541. l.d $f0,64($fp)
  542. l.d $f2,48($fp)
  543. div.d $f0,$f0,$f2
  544. s.d $f0,st+256
  545. li $2,0x00000001 # 1
  546. sw $2,ntimes.9
  547. dsz 136($fp)
  548. jal dtime
  549. s.d $f0,120($fp)
  550. sw $0,i.8
  551. $L18:
  552. lw $2,i.8
  553. lw $3,ntimes.9
  554. slt $2,$2,$3
  555. bne $2,$0,$L21
  556. j $L19
  557. $L21:
  558. jal dtime
  559. s.d $f0,128($fp)
  560. addu $2,$fp,72
  561. sw $2,16($sp)
  562. la $4,a.3
  563. lw $5,lda.11
  564. lw $6,n.7
  565. la $7,b.4
  566. jal matgen
  567. jal dtime
  568. l.d $f2,136($fp)
  569. add.d $f0,$f0,$f2
  570. l.d $f2,128($fp)
  571. sub.d $f0,$f0,$f2
  572. s.d $f0,136($fp)
  573. la $2,info.10
  574. sw $2,16($sp)
  575. la $4,a.3
  576. lw $5,lda.11
  577. lw $6,n.7
  578. la $7,ipvt.6
  579. jal dgefa
  580. $L20:
  581. lw $3,i.8
  582. addu $2,$3,1
  583. move $3,$2
  584. sw $3,i.8
  585. j $L18
  586. $L19:
  587. jal dtime
  588. l.d $f2,120($fp)
  589. sub.d $f0,$f0,$f2
  590. l.d $f2,136($fp)
  591. sub.d $f0,$f0,$f2
  592. l.s $f2,ntimes.9
  593. #nop
  594. cvt.d.w $f2,$f2
  595. div.d $f0,$f0,$f2
  596. s.d $f0,st+24
  597. jal dtime
  598. s.d $f0,120($fp)
  599. sw $0,i.8
  600. $L22:
  601. lw $2,i.8
  602. lw $3,ntimes.9
  603. slt $2,$2,$3
  604. bne $2,$0,$L25
  605. j $L23
  606. $L25:
  607. la $2,b.4
  608. sw $2,16($sp)
  609. sw $0,20($sp)
  610. la $4,a.3
  611. lw $5,lda.11
  612. lw $6,n.7
  613. la $7,ipvt.6
  614. jal dgesl
  615. $L24:
  616. lw $3,i.8
  617. addu $2,$3,1
  618. move $3,$2
  619. sw $3,i.8
  620. j $L22
  621. $L23:
  622. jal dtime
  623. l.d $f2,120($fp)
  624. sub.d $f0,$f0,$f2
  625. l.s $f2,ntimes.9
  626. #nop
  627. cvt.d.w $f2,$f2
  628. div.d $f0,$f0,$f2
  629. s.d $f0,st+72
  630. l.d $f0,st+24
  631. l.d $f2,st+72
  632. add.d $f0,$f0,$f2
  633. s.d $f0,64($fp)
  634. l.d $f0,64($fp)
  635. s.d $f0,st+120
  636. l.d $f0,64($fp)
  637. l.d $f2,$LC12
  638. mul.d $f0,$f0,$f2
  639. l.d $f2,56($fp)
  640. div.d $f0,$f2,$f0
  641. s.d $f0,st+168
  642. l.d $f0,$LC13
  643. l.d $f2,st+168
  644. div.d $f0,$f0,$f2
  645. s.d $f0,st+216
  646. l.d $f0,64($fp)
  647. l.d $f2,48($fp)
  648. div.d $f0,$f0,$f2
  649. s.d $f0,st+264
  650. li $4,0x00000001 # 1
  651. jal print_time
  652. li $4,0x00000002 # 2
  653. jal print_time
  654. li $4,0x00000003 # 3
  655. jal print_time
  656. addu $2,$fp,72
  657. sw $2,16($sp)
  658. la $4,aa.2
  659. lw $5,ldaa.12
  660. lw $6,n.7
  661. la $7,b.4
  662. jal matgen
  663. jal dtime
  664. s.d $f0,120($fp)
  665. la $2,info.10
  666. sw $2,16($sp)
  667. la $4,aa.2
  668. lw $5,ldaa.12
  669. lw $6,n.7
  670. la $7,ipvt.6
  671. jal dgefa
  672. jal dtime
  673. l.d $f2,120($fp)
  674. sub.d $f0,$f0,$f2
  675. s.d $f0,st+32
  676. jal dtime
  677. s.d $f0,120($fp)
  678. la $2,b.4
  679. sw $2,16($sp)
  680. sw $0,20($sp)
  681. la $4,aa.2
  682. lw $5,ldaa.12
  683. lw $6,n.7
  684. la $7,ipvt.6
  685. jal dgesl
  686. jal dtime
  687. l.d $f2,120($fp)
  688. sub.d $f0,$f0,$f2
  689. s.d $f0,st+80
  690. l.d $f0,st+32
  691. l.d $f2,st+80
  692. add.d $f0,$f0,$f2
  693. s.d $f0,64($fp)
  694. l.d $f0,64($fp)
  695. s.d $f0,st+128
  696. l.d $f0,64($fp)
  697. l.d $f2,$LC12
  698. mul.d $f0,$f0,$f2
  699. l.d $f2,56($fp)
  700. div.d $f0,$f2,$f0
  701. s.d $f0,st+176
  702. l.d $f0,$LC13
  703. l.d $f2,st+176
  704. div.d $f0,$f0,$f2
  705. s.d $f0,st+224
  706. l.d $f0,64($fp)
  707. l.d $f2,48($fp)
  708. div.d $f0,$f0,$f2
  709. s.d $f0,st+272
  710. addu $2,$fp,72
  711. sw $2,16($sp)
  712. la $4,aa.2
  713. lw $5,ldaa.12
  714. lw $6,n.7
  715. la $7,b.4
  716. jal matgen
  717. jal dtime
  718. s.d $f0,120($fp)
  719. la $2,info.10
  720. sw $2,16($sp)
  721. la $4,aa.2
  722. lw $5,ldaa.12
  723. lw $6,n.7
  724. la $7,ipvt.6
  725. jal dgefa
  726. jal dtime
  727. l.d $f2,120($fp)
  728. sub.d $f0,$f0,$f2
  729. s.d $f0,st+40
  730. jal dtime
  731. s.d $f0,120($fp)
  732. la $2,b.4
  733. sw $2,16($sp)
  734. sw $0,20($sp)
  735. la $4,aa.2
  736. lw $5,ldaa.12
  737. lw $6,n.7
  738. la $7,ipvt.6
  739. jal dgesl
  740. jal dtime
  741. l.d $f2,120($fp)
  742. sub.d $f0,$f0,$f2
  743. s.d $f0,st+88
  744. l.d $f0,st+40
  745. l.d $f2,st+88
  746. add.d $f0,$f0,$f2
  747. s.d $f0,64($fp)
  748. l.d $f0,64($fp)
  749. s.d $f0,st+136
  750. l.d $f0,64($fp)
  751. l.d $f2,$LC12
  752. mul.d $f0,$f0,$f2
  753. l.d $f2,56($fp)
  754. div.d $f0,$f2,$f0
  755. s.d $f0,st+184
  756. l.d $f0,$LC13
  757. l.d $f2,st+184
  758. div.d $f0,$f0,$f2
  759. s.d $f0,st+232
  760. l.d $f0,64($fp)
  761. l.d $f2,48($fp)
  762. div.d $f0,$f0,$f2
  763. s.d $f0,st+280
  764. addu $2,$fp,72
  765. sw $2,16($sp)
  766. la $4,aa.2
  767. lw $5,ldaa.12
  768. lw $6,n.7
  769. la $7,b.4
  770. jal matgen
  771. jal dtime
  772. s.d $f0,120($fp)
  773. la $2,info.10
  774. sw $2,16($sp)
  775. la $4,aa.2
  776. lw $5,ldaa.12
  777. lw $6,n.7
  778. la $7,ipvt.6
  779. jal dgefa
  780. jal dtime
  781. l.d $f2,120($fp)
  782. sub.d $f0,$f0,$f2
  783. s.d $f0,st+48
  784. jal dtime
  785. s.d $f0,120($fp)
  786. la $2,b.4
  787. sw $2,16($sp)
  788. sw $0,20($sp)
  789. la $4,aa.2
  790. lw $5,ldaa.12
  791. lw $6,n.7
  792. la $7,ipvt.6
  793. jal dgesl
  794. jal dtime
  795. l.d $f2,120($fp)
  796. sub.d $f0,$f0,$f2
  797. s.d $f0,st+96
  798. l.d $f0,st+48
  799. l.d $f2,st+96
  800. add.d $f0,$f0,$f2
  801. s.d $f0,64($fp)
  802. l.d $f0,64($fp)
  803. s.d $f0,st+144
  804. l.d $f0,64($fp)
  805. l.d $f2,$LC12
  806. mul.d $f0,$f0,$f2
  807. l.d $f2,56($fp)
  808. div.d $f0,$f2,$f0
  809. s.d $f0,st+192
  810. l.d $f0,$LC13
  811. l.d $f2,st+192
  812. div.d $f0,$f0,$f2
  813. s.d $f0,st+240
  814. l.d $f0,64($fp)
  815. l.d $f2,48($fp)
  816. div.d $f0,$f0,$f2
  817. s.d $f0,st+288
  818. li $2,0x00000001 # 1
  819. sw $2,ntimes.9
  820. dsz 136($fp)
  821. jal dtime
  822. s.d $f0,120($fp)
  823. sw $0,i.8
  824. $L26:
  825. lw $2,i.8
  826. lw $3,ntimes.9
  827. slt $2,$2,$3
  828. bne $2,$0,$L29
  829. j $L27
  830. $L29:
  831. jal dtime
  832. s.d $f0,128($fp)
  833. addu $2,$fp,72
  834. sw $2,16($sp)
  835. la $4,aa.2
  836. lw $5,ldaa.12
  837. lw $6,n.7
  838. la $7,b.4
  839. jal matgen
  840. jal dtime
  841. l.d $f2,136($fp)
  842. add.d $f0,$f0,$f2
  843. l.d $f2,128($fp)
  844. sub.d $f0,$f0,$f2
  845. s.d $f0,136($fp)
  846. la $2,info.10
  847. sw $2,16($sp)
  848. la $4,aa.2
  849. lw $5,ldaa.12
  850. lw $6,n.7
  851. la $7,ipvt.6
  852. jal dgefa
  853. $L28:
  854. lw $3,i.8
  855. addu $2,$3,1
  856. move $3,$2
  857. sw $3,i.8
  858. j $L26
  859. $L27:
  860. jal dtime
  861. l.d $f2,120($fp)
  862. sub.d $f0,$f0,$f2
  863. l.d $f2,136($fp)
  864. sub.d $f0,$f0,$f2
  865. l.s $f2,ntimes.9
  866. #nop
  867. cvt.d.w $f2,$f2
  868. div.d $f0,$f0,$f2
  869. s.d $f0,st+56
  870. jal dtime
  871. s.d $f0,120($fp)
  872. sw $0,i.8
  873. $L30:
  874. lw $2,i.8
  875. lw $3,ntimes.9
  876. slt $2,$2,$3
  877. bne $2,$0,$L33
  878. j $L31
  879. $L33:
  880. la $2,b.4
  881. sw $2,16($sp)
  882. sw $0,20($sp)
  883. la $4,aa.2
  884. lw $5,ldaa.12
  885. lw $6,n.7
  886. la $7,ipvt.6
  887. jal dgesl
  888. $L32:
  889. lw $3,i.8
  890. addu $2,$3,1
  891. move $3,$2
  892. sw $3,i.8
  893. j $L30
  894. $L31:
  895. jal dtime
  896. l.d $f2,120($fp)
  897. sub.d $f0,$f0,$f2
  898. l.s $f2,ntimes.9
  899. #nop
  900. cvt.d.w $f2,$f2
  901. div.d $f0,$f0,$f2
  902. s.d $f0,st+104
  903. l.d $f0,st+56
  904. l.d $f2,st+104
  905. add.d $f0,$f0,$f2
  906. s.d $f0,64($fp)
  907. l.d $f0,64($fp)
  908. s.d $f0,st+152
  909. l.d $f0,64($fp)
  910. l.d $f2,$LC12
  911. mul.d $f0,$f0,$f2
  912. l.d $f2,56($fp)
  913. div.d $f0,$f2,$f0
  914. s.d $f0,st+200
  915. l.d $f0,$LC13
  916. l.d $f2,st+200
  917. div.d $f0,$f0,$f2
  918. s.d $f0,st+248
  919. l.d $f0,64($fp)
  920. l.d $f2,48($fp)
  921. div.d $f0,$f0,$f2
  922. s.d $f0,st+296
  923. l.d $f0,st+168
  924. mtc1 $0,$f2
  925. mtc1 $0,$f3
  926. c.lt.d $f0,$f2
  927. bc1f $L34
  928. dsz st+168
  929. $L34:
  930. l.d $f0,st+200
  931. mtc1 $0,$f2
  932. mtc1 $0,$f3
  933. c.lt.d $f0,$f2
  934. bc1f $L35
  935. dsz st+200
  936. $L35:
  937. l.d $f0,st+168
  938. s.d $f0,112($fp)
  939. l.d $f0,st+200
  940. l.d $f2,st+168
  941. c.lt.d $f0,$f2
  942. bc1f $L36
  943. l.d $f0,st+200
  944. s.d $f0,112($fp)
  945. $L36:
  946. l.d $f0,112($fp)
  947. l.d $f2,$LC15
  948. add.d $f0,$f0,$f2
  949. trunc.w.d $f4,$f0,$8
  950. s.s $f4,kflops.13
  951. la $4,$LC16
  952. lw $5,ldaa.12
  953. jal printf
  954. li $4,0x00000004 # 4
  955. jal print_time
  956. li $4,0x00000005 # 5
  957. jal print_time
  958. li $4,0x00000006 # 6
  959. jal print_time
  960. li $4,0x00000007 # 7
  961. jal print_time
  962. la $4,$LC1
  963. jal printf
  964. la $4,$LC2
  965. jal printf
  966. la $4,$LC17
  967. lw $5,kflops.13
  968. li $6,0x00000001 # 1
  969. jal printf
  970. $L1:
  971. move $sp,$fp # sp not trusted here
  972. lw $31,148($sp)
  973. lw $fp,144($sp)
  974. l.d $f22,160($sp)
  975. l.d $f20,152($sp)
  976. addu $sp,$sp,168
  977. j $31
  978. .end main
  979. .loc 1 300
  980. .ent print_time
  981. print_time:
  982. .frame $fp,64,$31 # vars= 0, regs= 2/0, args= 56, extra= 0
  983. .mask 0xc0000000,-4
  984. .fmask 0x00000000,0
  985. subu $sp,$sp,64
  986. sw $31,60($sp)
  987. sw $fp,56($sp)
  988. move $fp,$sp
  989. sw $4,64($fp)
  990. lw $2,64($fp)
  991. move $3,$2
  992. sll $2,$3,3
  993. la $3,st
  994. addu $2,$2,$3
  995. lw $3,64($fp)
  996. move $4,$3
  997. sll $3,$4,3
  998. la $4,st+48
  999. addu $3,$3,$4
  1000. l.d $f0,0($3)
  1001. s.d $f0,16($sp)
  1002. lw $3,64($fp)
  1003. move $4,$3
  1004. sll $3,$4,3
  1005. la $4,st+96
  1006. addu $3,$3,$4
  1007. l.d $f0,0($3)
  1008. s.d $f0,24($sp)
  1009. lw $3,64($fp)
  1010. move $4,$3
  1011. sll $3,$4,3
  1012. la $4,st+144
  1013. addu $3,$3,$4
  1014. l.d $f0,0($3)
  1015. s.d $f0,32($sp)
  1016. lw $3,64($fp)
  1017. move $4,$3
  1018. sll $3,$4,3
  1019. la $4,st+192
  1020. addu $3,$3,$4
  1021. l.d $f0,0($3)
  1022. s.d $f0,40($sp)
  1023. lw $3,64($fp)
  1024. move $4,$3
  1025. sll $3,$4,3
  1026. la $4,st+240
  1027. addu $3,$3,$4
  1028. l.d $f0,0($3)
  1029. s.d $f0,48($sp)
  1030. la $4,$LC18
  1031. dlw $6,0($2)
  1032. jal printf
  1033. $L37:
  1034. move $sp,$fp # sp not trusted here
  1035. lw $31,60($sp)
  1036. lw $fp,56($sp)
  1037. addu $sp,$sp,64
  1038. j $31
  1039. .end print_time
  1040. .loc 1 309
  1041. .ent matgen
  1042. matgen:
  1043. .frame $fp,24,$31 # vars= 16, regs= 1/0, args= 0, extra= 0
  1044. .mask 0x40000000,-8
  1045. .fmask 0x00000000,0
  1046. subu $sp,$sp,24
  1047. sw $fp,16($sp)
  1048. move $fp,$sp
  1049. sw $4,24($fp)
  1050. sw $5,28($fp)
  1051. sw $6,32($fp)
  1052. sw $7,36($fp)
  1053. li $2,0x0000052d # 1325
  1054. sw $2,0($fp)
  1055. lw $2,40($fp)
  1056. dsz 0($2)
  1057. sw $0,8($fp)
  1058. $L39:
  1059. lw $2,8($fp)
  1060. lw $3,32($fp)
  1061. slt $2,$2,$3
  1062. bne $2,$0,$L42
  1063. j $L40
  1064. $L42:
  1065. sw $0,4($fp)
  1066. $L43:
  1067. lw $2,4($fp)
  1068. lw $3,32($fp)
  1069. slt $2,$2,$3
  1070. bne $2,$0,$L46
  1071. j $L44
  1072. $L46:
  1073. lw $3,0($fp)
  1074. move $4,$3
  1075. sll $2,$4,1
  1076. addu $2,$2,$3
  1077. sll $4,$2,6
  1078. addu $2,$2,$4
  1079. sll $4,$2,2
  1080. addu $4,$4,$3
  1081. sll $2,$4,2
  1082. addu $2,$2,$3
  1083. move $3,$2
  1084. bgez $3,$L47
  1085. li $4,0x0000ffff # 65535
  1086. addu $3,$3,$4
  1087. $L47:
  1088. sra $3,$3,16
  1089. move $4,$3
  1090. sll $3,$4,16
  1091. subu $2,$2,$3
  1092. sw $2,0($fp)
  1093. lw $2,28($fp)
  1094. lw $3,8($fp)
  1095. mult $2,$3
  1096. mflo $2
  1097. lw $3,4($fp)
  1098. addu $2,$2,$3
  1099. move $3,$2
  1100. sll $2,$3,3
  1101. lw $3,24($fp)
  1102. addu $2,$2,$3
  1103. l.s $f0,0($fp)
  1104. #nop
  1105. cvt.d.w $f0,$f0
  1106. l.d $f2,$LC19
  1107. sub.d $f0,$f0,$f2
  1108. l.d $f2,$LC20
  1109. div.d $f0,$f0,$f2
  1110. s.d $f0,0($2)
  1111. lw $2,40($fp)
  1112. lw $3,28($fp)
  1113. lw $4,8($fp)
  1114. mult $3,$4
  1115. mflo $3
  1116. lw $4,4($fp)
  1117. addu $3,$3,$4
  1118. move $4,$3
  1119. sll $3,$4,3
  1120. lw $4,24($fp)
  1121. addu $3,$3,$4
  1122. lw $4,40($fp)
  1123. l.d $f0,0($3)
  1124. l.d $f2,0($4)
  1125. c.lt.d $f2,$f0
  1126. bc1f $L48
  1127. lw $3,28($fp)
  1128. lw $4,8($fp)
  1129. mult $3,$4
  1130. mflo $3
  1131. lw $4,4($fp)
  1132. addu $3,$3,$4
  1133. move $4,$3
  1134. sll $3,$4,3
  1135. lw $4,24($fp)
  1136. addu $3,$3,$4
  1137. l.d $f0,0($3)
  1138. j $L49
  1139. $L48:
  1140. lw $3,40($fp)
  1141. l.d $f0,0($3)
  1142. $L49:
  1143. s.d $f0,0($2)
  1144. $L45:
  1145. lw $3,4($fp)
  1146. addu $2,$3,1
  1147. move $3,$2
  1148. sw $3,4($fp)
  1149. j $L43
  1150. $L44:
  1151. $L41:
  1152. lw $3,8($fp)
  1153. addu $2,$3,1
  1154. move $3,$2
  1155. sw $3,8($fp)
  1156. j $L39
  1157. $L40:
  1158. .set noreorder
  1159. nop
  1160. .set reorder
  1161. sw $0,4($fp)
  1162. $L50:
  1163. lw $2,4($fp)
  1164. lw $3,32($fp)
  1165. slt $2,$2,$3
  1166. bne $2,$0,$L53
  1167. j $L51
  1168. $L53:
  1169. lw $2,4($fp)
  1170. move $3,$2
  1171. sll $2,$3,3
  1172. lw $3,36($fp)
  1173. addu $2,$2,$3
  1174. dsz 0($2)
  1175. $L52:
  1176. lw $3,4($fp)
  1177. addu $2,$3,1
  1178. move $3,$2
  1179. sw $3,4($fp)
  1180. j $L50
  1181. $L51:
  1182. .set noreorder
  1183. nop
  1184. .set reorder
  1185. sw $0,8($fp)
  1186. $L54:
  1187. lw $2,8($fp)
  1188. lw $3,32($fp)
  1189. slt $2,$2,$3
  1190. bne $2,$0,$L57
  1191. j $L55
  1192. $L57:
  1193. sw $0,4($fp)
  1194. $L58:
  1195. lw $2,4($fp)
  1196. lw $3,32($fp)
  1197. slt $2,$2,$3
  1198. bne $2,$0,$L61
  1199. j $L59
  1200. $L61:
  1201. lw $2,4($fp)
  1202. move $3,$2
  1203. sll $2,$3,3
  1204. lw $3,36($fp)
  1205. addu $2,$2,$3
  1206. lw $3,4($fp)
  1207. move $4,$3
  1208. sll $3,$4,3
  1209. lw $4,36($fp)
  1210. addu $3,$3,$4
  1211. lw $4,28($fp)
  1212. lw $5,8($fp)
  1213. mult $4,$5
  1214. mflo $4
  1215. lw $5,4($fp)
  1216. addu $4,$4,$5
  1217. move $5,$4
  1218. sll $4,$5,3
  1219. lw $5,24($fp)
  1220. addu $4,$4,$5
  1221. l.d $f0,0($3)
  1222. l.d $f2,0($4)
  1223. add.d $f0,$f0,$f2
  1224. s.d $f0,0($2)
  1225. $L60:
  1226. lw $3,4($fp)
  1227. addu $2,$3,1
  1228. move $3,$2
  1229. sw $3,4($fp)
  1230. j $L58
  1231. $L59:
  1232. $L56:
  1233. lw $3,8($fp)
  1234. addu $2,$3,1
  1235. move $3,$2
  1236. sw $3,8($fp)
  1237. j $L54
  1238. $L55:
  1239. $L38:
  1240. move $sp,$fp # sp not trusted here
  1241. lw $fp,16($sp)
  1242. addu $sp,$sp,24
  1243. j $31
  1244. .end matgen
  1245. .loc 1 339
  1246. .ent dgefa
  1247. dgefa:
  1248. .frame $fp,72,$31 # vars= 32, regs= 2/0, args= 32, extra= 0
  1249. .mask 0xc0000000,-4
  1250. .fmask 0x00000000,0
  1251. subu $sp,$sp,72
  1252. sw $31,68($sp)
  1253. sw $fp,64($sp)
  1254. move $fp,$sp
  1255. sw $4,72($fp)
  1256. sw $5,76($fp)
  1257. sw $6,80($fp)
  1258. sw $7,84($fp)
  1259. lw $2,88($fp)
  1260. sw $0,0($2)
  1261. lw $2,80($fp)
  1262. subu $3,$2,1
  1263. sw $3,56($fp)
  1264. lw $2,56($fp)
  1265. bltz $2,$L63
  1266. sw $0,44($fp)
  1267. $L64:
  1268. lw $2,44($fp)
  1269. lw $3,56($fp)
  1270. slt $2,$2,$3
  1271. bne $2,$0,$L67
  1272. j $L65
  1273. $L67:
  1274. lw $2,44($fp)
  1275. addu $3,$2,1
  1276. sw $3,48($fp)
  1277. lw $2,80($fp)
  1278. lw $3,44($fp)
  1279. subu $2,$2,$3
  1280. lw $3,76($fp)
  1281. lw $4,44($fp)
  1282. mult $3,$4
  1283. mflo $3
  1284. lw $4,44($fp)
  1285. addu $3,$3,$4
  1286. move $4,$3
  1287. sll $3,$4,3
  1288. lw $4,72($fp)
  1289. addu $3,$3,$4
  1290. move $4,$2
  1291. move $5,$3
  1292. li $6,0x00000001 # 1
  1293. jal idamax
  1294. lw $3,44($fp)
  1295. addu $2,$2,$3
  1296. sw $2,52($fp)
  1297. lw $2,44($fp)
  1298. move $3,$2
  1299. sll $2,$3,2
  1300. lw $3,84($fp)
  1301. addu $2,$2,$3
  1302. lw $3,52($fp)
  1303. sw $3,0($2)
  1304. lw $2,76($fp)
  1305. lw $3,44($fp)
  1306. mult $2,$3
  1307. mflo $2
  1308. lw $3,52($fp)
  1309. addu $2,$2,$3
  1310. move $3,$2
  1311. sll $2,$3,3
  1312. lw $3,72($fp)
  1313. addu $2,$2,$3
  1314. l.d $f0,0($2)
  1315. mtc1 $0,$f2
  1316. mtc1 $0,$f3
  1317. c.eq.d $f0,$f2
  1318. bc1t $L68
  1319. lw $2,52($fp)
  1320. lw $3,44($fp)
  1321. beq $2,$3,$L69
  1322. lw $2,76($fp)
  1323. lw $3,44($fp)
  1324. mult $2,$3
  1325. mflo $2
  1326. lw $3,52($fp)
  1327. addu $2,$2,$3
  1328. move $3,$2
  1329. sll $2,$3,3
  1330. lw $3,72($fp)
  1331. addu $2,$2,$3
  1332. l.d $f0,0($2)
  1333. s.d $f0,32($fp)
  1334. lw $2,76($fp)
  1335. lw $3,44($fp)
  1336. mult $2,$3
  1337. mflo $2
  1338. lw $3,52($fp)
  1339. addu $2,$2,$3
  1340. move $3,$2
  1341. sll $2,$3,3
  1342. lw $3,72($fp)
  1343. addu $2,$2,$3
  1344. lw $3,76($fp)
  1345. lw $4,44($fp)
  1346. mult $3,$4
  1347. mflo $3
  1348. lw $4,44($fp)
  1349. addu $3,$3,$4
  1350. move $4,$3
  1351. sll $3,$4,3
  1352. lw $4,72($fp)
  1353. addu $3,$3,$4
  1354. l.d $f0,0($3)
  1355. s.d $f0,0($2)
  1356. lw $2,76($fp)
  1357. lw $3,44($fp)
  1358. mult $2,$3
  1359. mflo $2
  1360. lw $3,44($fp)
  1361. addu $2,$2,$3
  1362. move $3,$2
  1363. sll $2,$3,3
  1364. lw $3,72($fp)
  1365. addu $2,$2,$3
  1366. l.d $f0,32($fp)
  1367. s.d $f0,0($2)
  1368. $L69:
  1369. lw $2,76($fp)
  1370. lw $3,44($fp)
  1371. mult $2,$3
  1372. mflo $2
  1373. lw $3,44($fp)
  1374. addu $2,$2,$3
  1375. move $3,$2
  1376. sll $2,$3,3
  1377. lw $3,72($fp)
  1378. addu $2,$2,$3
  1379. l.d $f0,$LC21
  1380. l.d $f2,0($2)
  1381. div.d $f0,$f0,$f2
  1382. s.d $f0,32($fp)
  1383. lw $3,80($fp)
  1384. subu $2,$3,1
  1385. lw $3,44($fp)
  1386. subu $2,$2,$3
  1387. lw $3,76($fp)
  1388. lw $4,44($fp)
  1389. mult $3,$4
  1390. mflo $3
  1391. lw $4,44($fp)
  1392. addu $3,$3,$4
  1393. move $4,$3
  1394. sll $3,$4,3
  1395. addu $4,$3,8
  1396. lw $3,72($fp)
  1397. addu $4,$3,$4
  1398. sw $4,16($sp)
  1399. li $3,0x00000001 # 1
  1400. sw $3,20($sp)
  1401. move $4,$2
  1402. dlw $6,32($fp)
  1403. jal dscal
  1404. lw $2,48($fp)
  1405. sw $2,40($fp)
  1406. $L70:
  1407. lw $2,40($fp)
  1408. lw $3,80($fp)
  1409. slt $2,$2,$3
  1410. bne $2,$0,$L73
  1411. j $L71
  1412. $L73:
  1413. lw $2,76($fp)
  1414. lw $3,40($fp)
  1415. mult $2,$3
  1416. mflo $2
  1417. lw $3,52($fp)
  1418. addu $2,$2,$3
  1419. move $3,$2
  1420. sll $2,$3,3
  1421. lw $3,72($fp)
  1422. addu $2,$2,$3
  1423. l.d $f0,0($2)
  1424. s.d $f0,32($fp)
  1425. lw $2,52($fp)
  1426. lw $3,44($fp)
  1427. beq $2,$3,$L74
  1428. lw $2,76($fp)
  1429. lw $3,40($fp)
  1430. mult $2,$3
  1431. mflo $2
  1432. lw $3,52($fp)
  1433. addu $2,$2,$3
  1434. move $3,$2
  1435. sll $2,$3,3
  1436. lw $3,72($fp)
  1437. addu $2,$2,$3
  1438. lw $3,76($fp)
  1439. lw $4,40($fp)
  1440. mult $3,$4
  1441. mflo $3
  1442. lw $4,44($fp)
  1443. addu $3,$3,$4
  1444. move $4,$3
  1445. sll $3,$4,3
  1446. lw $4,72($fp)
  1447. addu $3,$3,$4
  1448. l.d $f0,0($3)
  1449. s.d $f0,0($2)
  1450. lw $2,76($fp)
  1451. lw $3,40($fp)
  1452. mult $2,$3
  1453. mflo $2
  1454. lw $3,44($fp)
  1455. addu $2,$2,$3
  1456. move $3,$2
  1457. sll $2,$3,3
  1458. lw $3,72($fp)
  1459. addu $2,$2,$3
  1460. l.d $f0,32($fp)
  1461. s.d $f0,0($2)
  1462. $L74:
  1463. lw $3,80($fp)
  1464. subu $2,$3,1
  1465. lw $3,44($fp)
  1466. subu $2,$2,$3
  1467. lw $3,76($fp)
  1468. lw $4,44($fp)
  1469. mult $3,$4
  1470. mflo $3
  1471. lw $4,44($fp)
  1472. addu $3,$3,$4
  1473. move $4,$3
  1474. sll $3,$4,3
  1475. addu $4,$3,8
  1476. lw $3,72($fp)
  1477. addu $4,$3,$4
  1478. sw $4,16($sp)
  1479. li $3,0x00000001 # 1
  1480. sw $3,20($sp)
  1481. lw $3,76($fp)
  1482. lw $4,40($fp)
  1483. mult $3,$4
  1484. mflo $3
  1485. lw $4,44($fp)
  1486. addu $3,$3,$4
  1487. move $4,$3
  1488. sll $3,$4,3
  1489. addu $4,$3,8
  1490. lw $3,72($fp)
  1491. addu $4,$3,$4
  1492. sw $4,24($sp)
  1493. li $3,0x00000001 # 1
  1494. sw $3,28($sp)
  1495. move $4,$2
  1496. dlw $6,32($fp)
  1497. jal daxpy
  1498. $L72:
  1499. lw $3,40($fp)
  1500. addu $2,$3,1
  1501. move $3,$2
  1502. sw $3,40($fp)
  1503. j $L70
  1504. $L71:
  1505. j $L75
  1506. $L68:
  1507. lw $2,88($fp)
  1508. lw $3,44($fp)
  1509. sw $3,0($2)
  1510. $L75:
  1511. $L66:
  1512. lw $3,44($fp)
  1513. addu $2,$3,1
  1514. move $3,$2
  1515. sw $3,44($fp)
  1516. j $L64
  1517. $L65:
  1518. $L63:
  1519. lw $2,80($fp)
  1520. move $3,$2
  1521. sll $2,$3,2
  1522. lw $4,84($fp)
  1523. addu $3,$2,$4
  1524. subu $2,$3,4
  1525. lw $3,80($fp)
  1526. subu $4,$3,1
  1527. sw $4,0($2)
  1528. lw $3,80($fp)
  1529. subu $2,$3,1
  1530. lw $3,76($fp)
  1531. mult $2,$3
  1532. mflo $2
  1533. lw $3,80($fp)
  1534. addu $2,$2,$3
  1535. move $3,$2
  1536. sll $2,$3,3
  1537. lw $3,72($fp)
  1538. addu $2,$2,$3
  1539. subu $3,$2,8
  1540. l.d $f0,0($3)
  1541. mtc1 $0,$f2
  1542. mtc1 $0,$f3
  1543. c.eq.d $f0,$f2
  1544. bc1f $L76
  1545. lw $2,88($fp)
  1546. lw $3,80($fp)
  1547. subu $4,$3,1
  1548. sw $4,0($2)
  1549. $L76:
  1550. $L62:
  1551. move $sp,$fp # sp not trusted here
  1552. lw $31,68($sp)
  1553. lw $fp,64($sp)
  1554. addu $sp,$sp,72
  1555. j $31
  1556. .end dgefa
  1557. .loc 1 455
  1558. .ent dgesl
  1559. dgesl:
  1560. .frame $fp,64,$31 # vars= 24, regs= 2/0, args= 32, extra= 0
  1561. .mask 0xc0000000,-4
  1562. .fmask 0x00000000,0
  1563. subu $sp,$sp,64
  1564. sw $31,60($sp)
  1565. sw $fp,56($sp)
  1566. move $fp,$sp
  1567. sw $4,64($fp)
  1568. sw $5,68($fp)
  1569. sw $6,72($fp)
  1570. sw $7,76($fp)
  1571. lw $2,72($fp)
  1572. subu $3,$2,1
  1573. sw $3,52($fp)
  1574. lw $2,84($fp)
  1575. bne $2,$0,$L78
  1576. lw $2,52($fp)
  1577. blez $2,$L79
  1578. sw $0,40($fp)
  1579. $L80:
  1580. lw $2,40($fp)
  1581. lw $3,52($fp)
  1582. slt $2,$2,$3
  1583. bne $2,$0,$L83
  1584. j $L81
  1585. $L83:
  1586. lw $2,40($fp)
  1587. move $3,$2
  1588. sll $2,$3,2
  1589. lw $3,76($fp)
  1590. addu $2,$2,$3
  1591. lw $3,0($2)
  1592. sw $3,48($fp)
  1593. lw $2,48($fp)
  1594. move $3,$2
  1595. sll $2,$3,3
  1596. lw $3,80($fp)
  1597. addu $2,$2,$3
  1598. l.d $f0,0($2)
  1599. s.d $f0,32($fp)
  1600. lw $2,48($fp)
  1601. lw $3,40($fp)
  1602. beq $2,$3,$L84
  1603. lw $2,48($fp)
  1604. move $3,$2
  1605. sll $2,$3,3
  1606. lw $3,80($fp)
  1607. addu $2,$2,$3
  1608. lw $3,40($fp)
  1609. move $4,$3
  1610. sll $3,$4,3
  1611. lw $4,80($fp)
  1612. addu $3,$3,$4
  1613. l.d $f0,0($3)
  1614. s.d $f0,0($2)
  1615. lw $2,40($fp)
  1616. move $3,$2
  1617. sll $2,$3,3
  1618. lw $3,80($fp)
  1619. addu $2,$2,$3
  1620. l.d $f0,32($fp)
  1621. s.d $f0,0($2)
  1622. $L84:
  1623. lw $3,72($fp)
  1624. subu $2,$3,1
  1625. lw $3,40($fp)
  1626. subu $2,$2,$3
  1627. lw $3,68($fp)
  1628. lw $4,40($fp)
  1629. mult $3,$4
  1630. mflo $3
  1631. lw $4,40($fp)
  1632. addu $3,$3,$4
  1633. move $4,$3
  1634. sll $3,$4,3
  1635. addu $4,$3,8
  1636. lw $3,64($fp)
  1637. addu $4,$3,$4
  1638. sw $4,16($sp)
  1639. li $3,0x00000001 # 1
  1640. sw $3,20($sp)
  1641. lw $3,40($fp)
  1642. move $4,$3
  1643. sll $3,$4,3
  1644. addu $4,$3,8
  1645. lw $3,80($fp)
  1646. addu $4,$3,$4
  1647. sw $4,24($sp)
  1648. li $3,0x00000001 # 1
  1649. sw $3,28($sp)
  1650. move $4,$2
  1651. dlw $6,32($fp)
  1652. jal daxpy
  1653. $L82:
  1654. lw $3,40($fp)
  1655. addu $2,$3,1
  1656. move $3,$2
  1657. sw $3,40($fp)
  1658. j $L80
  1659. $L81:
  1660. $L79:
  1661. .set noreorder
  1662. nop
  1663. .set reorder
  1664. sw $0,44($fp)
  1665. $L85:
  1666. lw $2,44($fp)
  1667. lw $3,72($fp)
  1668. slt $2,$2,$3
  1669. bne $2,$0,$L88
  1670. j $L86
  1671. $L88:
  1672. lw $3,72($fp)
  1673. subu $2,$3,1
  1674. lw $3,44($fp)
  1675. subu $2,$2,$3
  1676. sw $2,40($fp)
  1677. lw $2,40($fp)
  1678. move $3,$2
  1679. sll $2,$3,3
  1680. lw $3,80($fp)
  1681. addu $2,$2,$3
  1682. lw $3,40($fp)
  1683. move $4,$3
  1684. sll $3,$4,3
  1685. lw $4,80($fp)
  1686. addu $3,$3,$4
  1687. lw $4,68($fp)
  1688. lw $5,40($fp)
  1689. mult $4,$5
  1690. mflo $4
  1691. lw $5,40($fp)
  1692. addu $4,$4,$5
  1693. move $5,$4
  1694. sll $4,$5,3
  1695. lw $5,64($fp)
  1696. addu $4,$4,$5
  1697. l.d $f0,0($3)
  1698. l.d $f2,0($4)
  1699. div.d $f0,$f0,$f2
  1700. s.d $f0,0($2)
  1701. lw $2,40($fp)
  1702. move $3,$2
  1703. sll $2,$3,3
  1704. lw $3,80($fp)
  1705. addu $2,$2,$3
  1706. l.d $f0,0($2)
  1707. neg.d $f2,$f0
  1708. s.d $f2,32($fp)
  1709. lw $2,68($fp)
  1710. lw $3,40($fp)
  1711. mult $2,$3
  1712. mflo $2
  1713. move $3,$2
  1714. sll $2,$3,3
  1715. lw $3,64($fp)
  1716. addu $2,$3,$2
  1717. sw $2,16($sp)
  1718. li $2,0x00000001 # 1
  1719. sw $2,20($sp)
  1720. lw $2,80($fp)
  1721. sw $2,24($sp)
  1722. li $2,0x00000001 # 1
  1723. sw $2,28($sp)
  1724. lw $4,40($fp)
  1725. dlw $6,32($fp)
  1726. jal daxpy
  1727. $L87:
  1728. lw $3,44($fp)
  1729. addu $2,$3,1
  1730. move $3,$2
  1731. sw $3,44($fp)
  1732. j $L85
  1733. $L86:
  1734. j $L89
  1735. $L78:
  1736. sw $0,40($fp)
  1737. $L90:
  1738. lw $2,40($fp)
  1739. lw $3,72($fp)
  1740. slt $2,$2,$3
  1741. bne $2,$0,$L93
  1742. j $L91
  1743. $L93:
  1744. lw $2,68($fp)
  1745. lw $3,40($fp)
  1746. mult $2,$3
  1747. mflo $2
  1748. move $3,$2
  1749. sll $2,$3,3
  1750. lw $3,64($fp)
  1751. addu $2,$2,$3
  1752. li $3,0x00000001 # 1
  1753. sw $3,16($sp)
  1754. lw $4,40($fp)
  1755. move $5,$2
  1756. li $6,0x00000001 # 1
  1757. lw $7,80($fp)
  1758. jal ddot
  1759. s.d $f0,32($fp)
  1760. lw $2,40($fp)
  1761. move $3,$2
  1762. sll $2,$3,3
  1763. lw $3,80($fp)
  1764. addu $2,$2,$3
  1765. lw $3,40($fp)
  1766. move $4,$3
  1767. sll $3,$4,3
  1768. lw $4,80($fp)
  1769. addu $3,$3,$4
  1770. l.d $f0,0($3)
  1771. l.d $f2,32($fp)
  1772. sub.d $f0,$f0,$f2
  1773. lw $3,68($fp)
  1774. lw $4,40($fp)
  1775. mult $3,$4
  1776. mflo $3
  1777. lw $4,40($fp)
  1778. addu $3,$3,$4
  1779. move $4,$3
  1780. sll $3,$4,3
  1781. lw $4,64($fp)
  1782. addu $3,$3,$4
  1783. l.d $f2,0($3)
  1784. div.d $f0,$f0,$f2
  1785. s.d $f0,0($2)
  1786. $L92:
  1787. lw $3,40($fp)
  1788. addu $2,$3,1
  1789. move $3,$2
  1790. sw $3,40($fp)
  1791. j $L90
  1792. $L91:
  1793. lw $2,52($fp)
  1794. blez $2,$L94
  1795. li $2,0x00000001 # 1
  1796. sw $2,44($fp)
  1797. $L95:
  1798. lw $2,44($fp)
  1799. lw $3,52($fp)
  1800. slt $2,$2,$3
  1801. bne $2,$0,$L98
  1802. j $L96
  1803. $L98:
  1804. lw $3,72($fp)
  1805. subu $2,$3,1
  1806. lw $3,44($fp)
  1807. subu $2,$2,$3
  1808. sw $2,40($fp)
  1809. lw $3,72($fp)
  1810. subu $2,$3,1
  1811. lw $3,40($fp)
  1812. subu $2,$2,$3
  1813. lw $3,68($fp)
  1814. lw $4,40($fp)
  1815. mult $3,$4
  1816. mflo $3
  1817. lw $4,40($fp)
  1818. addu $3,$3,$4
  1819. move $4,$3
  1820. sll $3,$4,3
  1821. addu $4,$3,8
  1822. lw $5,64($fp)
  1823. addu $3,$4,$5
  1824. lw $4,40($fp)
  1825. move $5,$4
  1826. sll $4,$5,3
  1827. addu $5,$4,8
  1828. lw $4,80($fp)
  1829. addu $7,$5,$4
  1830. li $4,0x00000001 # 1
  1831. sw $4,16($sp)
  1832. move $4,$2
  1833. move $5,$3
  1834. li $6,0x00000001 # 1
  1835. jal ddot
  1836. lw $2,40($fp)
  1837. move $3,$2
  1838. sll $2,$3,3
  1839. lw $3,80($fp)
  1840. addu $2,$2,$3
  1841. lw $3,40($fp)
  1842. move $4,$3
  1843. sll $3,$4,3
  1844. lw $4,80($fp)
  1845. addu $3,$3,$4
  1846. l.d $f2,0($3)
  1847. add.d $f0,$f2,$f0
  1848. s.d $f0,0($2)
  1849. lw $2,40($fp)
  1850. move $3,$2
  1851. sll $2,$3,2
  1852. lw $3,76($fp)
  1853. addu $2,$2,$3
  1854. lw $3,0($2)
  1855. sw $3,48($fp)
  1856. lw $2,48($fp)
  1857. lw $3,40($fp)
  1858. beq $2,$3,$L99
  1859. lw $2,48($fp)
  1860. move $3,$2
  1861. sll $2,$3,3
  1862. lw $3,80($fp)
  1863. addu $2,$2,$3
  1864. l.d $f0,0($2)
  1865. s.d $f0,32($fp)
  1866. lw $2,48($fp)
  1867. move $3,$2
  1868. sll $2,$3,3
  1869. lw $3,80($fp)
  1870. addu $2,$2,$3
  1871. lw $3,40($fp)
  1872. move $4,$3
  1873. sll $3,$4,3
  1874. lw $4,80($fp)
  1875. addu $3,$3,$4
  1876. l.d $f0,0($3)
  1877. s.d $f0,0($2)
  1878. lw $2,40($fp)
  1879. move $3,$2
  1880. sll $2,$3,3
  1881. lw $3,80($fp)
  1882. addu $2,$2,$3
  1883. l.d $f0,32($fp)
  1884. s.d $f0,0($2)
  1885. $L99:
  1886. $L97:
  1887. lw $3,44($fp)
  1888. addu $2,$3,1
  1889. move $3,$2
  1890. sw $3,44($fp)
  1891. j $L95
  1892. $L96:
  1893. $L94:
  1894. $L89:
  1895. $L77:
  1896. move $sp,$fp # sp not trusted here
  1897. lw $31,60($sp)
  1898. lw $fp,56($sp)
  1899. addu $sp,$sp,64
  1900. j $31
  1901. .end dgesl
  1902. .loc 1 585
  1903. .ent daxpy
  1904. daxpy:
  1905. .frame $fp,32,$31 # vars= 24, regs= 1/0, args= 0, extra= 0
  1906. .mask 0x40000000,-8
  1907. .fmask 0x00000000,0
  1908. subu $sp,$sp,32
  1909. sw $fp,24($sp)
  1910. move $fp,$sp
  1911. sw $4,32($fp)
  1912. dsw $6,40($fp)
  1913. lw $2,32($fp)
  1914. bgtz $2,$L101
  1915. j $L100
  1916. $L101:
  1917. l.d $f0,40($fp)
  1918. mtc1 $0,$f2
  1919. mtc1 $0,$f3
  1920. c.eq.d $f0,$f2
  1921. bc1f $L102
  1922. j $L100
  1923. $L102:
  1924. lw $2,52($fp)
  1925. li $3,0x00000001 # 1
  1926. bne $2,$3,$L104
  1927. lw $2,60($fp)
  1928. li $3,0x00000001 # 1
  1929. bne $2,$3,$L104
  1930. j $L103
  1931. $L104:
  1932. li $2,0x00000001 # 1
  1933. sw $2,4($fp)
  1934. li $2,0x00000001 # 1
  1935. sw $2,8($fp)
  1936. lw $2,52($fp)
  1937. bgez $2,$L105
  1938. lw $3,32($fp)
  1939. subu $2,$0,$3
  1940. addu $3,$2,1
  1941. lw $4,52($fp)
  1942. mult $3,$4
  1943. mflo $2
  1944. addu $3,$2,1
  1945. sw $3,4($fp)
  1946. $L105:
  1947. lw $2,60($fp)
  1948. bgez $2,$L106
  1949. lw $3,32($fp)
  1950. subu $2,$0,$3
  1951. addu $3,$2,1
  1952. lw $4,60($fp)
  1953. mult $3,$4
  1954. mflo $2
  1955. addu $3,$2,1
  1956. sw $3,8($fp)
  1957. $L106:
  1958. .set noreorder
  1959. nop
  1960. .set reorder
  1961. sw $0,0($fp)
  1962. $L107:
  1963. lw $2,0($fp)
  1964. lw $3,32($fp)
  1965. slt $2,$2,$3
  1966. bne $2,$0,$L110
  1967. j $L108
  1968. $L110:
  1969. lw $2,8($fp)
  1970. move $3,$2
  1971. sll $2,$3,3
  1972. lw $3,56($fp)
  1973. addu $2,$2,$3
  1974. lw $3,8($fp)
  1975. move $4,$3
  1976. sll $3,$4,3
  1977. lw $4,56($fp)
  1978. addu $3,$3,$4
  1979. lw $4,4($fp)
  1980. move $5,$4
  1981. sll $4,$5,3
  1982. lw $5,48($fp)
  1983. addu $4,$4,$5
  1984. l.d $f0,40($fp)
  1985. l.d $f2,0($4)
  1986. mul.d $f0,$f0,$f2
  1987. l.d $f2,0($3)
  1988. add.d $f0,$f2,$f0
  1989. s.d $f0,0($2)
  1990. lw $2,4($fp)
  1991. lw $3,52($fp)
  1992. addu $2,$2,$3
  1993. sw $2,4($fp)
  1994. lw $2,8($fp)
  1995. lw $3,60($fp)
  1996. addu $2,$2,$3
  1997. sw $2,8($fp)
  1998. $L109:
  1999. lw $3,0($fp)
  2000. addu $2,$3,1
  2001. move $3,$2
  2002. sw $3,0($fp)
  2003. j $L107
  2004. $L108:
  2005. j $L100
  2006. $L103:
  2007. lw $2,32($fp)
  2008. move $3,$2
  2009. bgez $3,$L111
  2010. addu $3,$3,3
  2011. $L111:
  2012. sra $3,$3,2
  2013. move $4,$3
  2014. sll $3,$4,2
  2015. subu $2,$2,$3
  2016. sw $2,12($fp)
  2017. lw $2,12($fp)
  2018. beq $2,$0,$L112
  2019. sw $0,0($fp)
  2020. $L113:
  2021. lw $2,0($fp)
  2022. lw $3,12($fp)
  2023. slt $2,$2,$3
  2024. bne $2,$0,$L116
  2025. j $L114
  2026. $L116:
  2027. lw $2,0($fp)
  2028. move $3,$2
  2029. sll $2,$3,3
  2030. lw $3,56($fp)
  2031. addu $2,$2,$3
  2032. lw $3,0($fp)
  2033. move $4,$3
  2034. sll $3,$4,3
  2035. lw $4,56($fp)
  2036. addu $3,$3,$4
  2037. lw $4,0($fp)
  2038. move $5,$4
  2039. sll $4,$5,3
  2040. lw $5,48($fp)
  2041. addu $4,$4,$5
  2042. l.d $f0,40($fp)
  2043. l.d $f2,0($4)
  2044. mul.d $f0,$f0,$f2
  2045. l.d $f2,0($3)
  2046. add.d $f0,$f2,$f0
  2047. s.d $f0,0($2)
  2048. $L115:
  2049. lw $3,0($fp)
  2050. addu $2,$3,1
  2051. move $3,$2
  2052. sw $3,0($fp)
  2053. j $L113
  2054. $L114:
  2055. lw $2,32($fp)
  2056. slt $3,$2,4
  2057. beq $3,$0,$L117
  2058. j $L100
  2059. $L117:
  2060. $L112:
  2061. .set noreorder
  2062. nop
  2063. .set reorder
  2064. lw $2,12($fp)
  2065. sw $2,0($fp)
  2066. $L118:
  2067. lw $2,0($fp)
  2068. lw $3,32($fp)
  2069. slt $2,$2,$3
  2070. bne $2,$0,$L121
  2071. j $L119
  2072. $L121:
  2073. lw $2,0($fp)
  2074. move $3,$2
  2075. sll $2,$3,3
  2076. lw $3,56($fp)
  2077. addu $2,$2,$3
  2078. lw $3,0($fp)
  2079. move $4,$3
  2080. sll $3,$4,3
  2081. lw $4,56($fp)
  2082. addu $3,$3,$4
  2083. lw $4,0($fp)
  2084. move $5,$4
  2085. sll $4,$5,3
  2086. lw $5,48($fp)
  2087. addu $4,$4,$5
  2088. l.d $f0,40($fp)
  2089. l.d $f2,0($4)
  2090. mul.d $f0,$f0,$f2
  2091. l.d $f2,0($3)
  2092. add.d $f0,$f2,$f0
  2093. s.d $f0,0($2)
  2094. lw $2,0($fp)
  2095. move $3,$2
  2096. sll $2,$3,3
  2097. lw $4,56($fp)
  2098. addu $3,$2,$4
  2099. addu $2,$3,8
  2100. lw $3,0($fp)
  2101. move $4,$3
  2102. sll $3,$4,3
  2103. lw $5,56($fp)
  2104. addu $4,$3,$5
  2105. addu $3,$4,8
  2106. lw $4,0($fp)
  2107. move $5,$4
  2108. sll $4,$5,3
  2109. lw $5,48($fp)
  2110. addu $4,$4,$5
  2111. addu $5,$4,8
  2112. l.d $f0,40($fp)
  2113. l.d $f2,0($5)
  2114. mul.d $f0,$f0,$f2
  2115. l.d $f2,0($3)
  2116. add.d $f0,$f2,$f0
  2117. s.d $f0,0($2)
  2118. lw $2,0($fp)
  2119. move $3,$2
  2120. sll $2,$3,3
  2121. lw $4,56($fp)
  2122. addu $3,$2,$4
  2123. addu $2,$3,16
  2124. lw $3,0($fp)
  2125. move $4,$3
  2126. sll $3,$4,3
  2127. lw $5,56($fp)
  2128. addu $4,$3,$5
  2129. addu $3,$4,16
  2130. lw $4,0($fp)
  2131. move $5,$4
  2132. sll $4,$5,3
  2133. lw $5,48($fp)
  2134. addu $4,$4,$5
  2135. addu $5,$4,16
  2136. l.d $f0,40($fp)
  2137. l.d $f2,0($5)
  2138. mul.d $f0,$f0,$f2
  2139. l.d $f2,0($3)
  2140. add.d $f0,$f2,$f0
  2141. s.d $f0,0($2)
  2142. lw $2,0($fp)
  2143. move $3,$2
  2144. sll $2,$3,3
  2145. lw $4,56($fp)
  2146. addu $3,$2,$4
  2147. addu $2,$3,24
  2148. lw $3,0($fp)
  2149. move $4,$3
  2150. sll $3,$4,3
  2151. lw $5,56($fp)
  2152. addu $4,$3,$5
  2153. addu $3,$4,24
  2154. lw $4,0($fp)
  2155. move $5,$4
  2156. sll $4,$5,3
  2157. lw $5,48($fp)
  2158. addu $4,$4,$5
  2159. addu $5,$4,24
  2160. l.d $f0,40($fp)
  2161. l.d $f2,0($5)
  2162. mul.d $f0,$f0,$f2
  2163. l.d $f2,0($3)
  2164. add.d $f0,$f2,$f0
  2165. s.d $f0,0($2)
  2166. $L120:
  2167. lw $2,0($fp)
  2168. addu $3,$2,4
  2169. sw $3,0($fp)
  2170. j $L118
  2171. $L119:
  2172. $L100:
  2173. move $sp,$fp # sp not trusted here
  2174. lw $fp,24($sp)
  2175. addu $sp,$sp,32
  2176. j $31
  2177. .end daxpy
  2178. .loc 1 641
  2179. .ent ddot
  2180. ddot:
  2181. .frame $fp,40,$31 # vars= 32, regs= 1/0, args= 0, extra= 0
  2182. .mask 0x40000000,-8
  2183. .fmask 0x00000000,0
  2184. subu $sp,$sp,40
  2185. sw $fp,32($sp)
  2186. move $fp,$sp
  2187. sw $4,40($fp)
  2188. sw $5,44($fp)
  2189. sw $6,48($fp)
  2190. sw $7,52($fp)
  2191. dsz 0($fp)
  2192. lw $2,40($fp)
  2193. bgtz $2,$L123
  2194. mtc1 $0,$f0
  2195. mtc1 $0,$f1
  2196. j $L122
  2197. $L123:
  2198. lw $2,48($fp)
  2199. li $3,0x00000001 # 1
  2200. bne $2,$3,$L125
  2201. lw $2,56($fp)
  2202. li $3,0x00000001 # 1
  2203. bne $2,$3,$L125
  2204. j $L124
  2205. $L125:
  2206. sw $0,12($fp)
  2207. sw $0,16($fp)
  2208. lw $2,48($fp)
  2209. bgez $2,$L126
  2210. lw $3,40($fp)
  2211. subu $2,$0,$3
  2212. addu $3,$2,1
  2213. lw $2,48($fp)
  2214. mult $3,$2
  2215. mflo $3
  2216. sw $3,12($fp)
  2217. $L126:
  2218. lw $2,56($fp)
  2219. bgez $2,$L127
  2220. lw $3,40($fp)
  2221. subu $2,$0,$3
  2222. addu $3,$2,1
  2223. lw $2,56($fp)
  2224. mult $3,$2
  2225. mflo $3
  2226. sw $3,16($fp)
  2227. $L127:
  2228. .set noreorder
  2229. nop
  2230. .set reorder
  2231. sw $0,8($fp)
  2232. $L128:
  2233. lw $2,8($fp)
  2234. lw $3,40($fp)
  2235. slt $2,$2,$3
  2236. bne $2,$0,$L131
  2237. j $L129
  2238. $L131:
  2239. lw $2,12($fp)
  2240. move $3,$2
  2241. sll $2,$3,3
  2242. lw $3,44($fp)
  2243. addu $2,$2,$3
  2244. lw $3,16($fp)
  2245. move $4,$3
  2246. sll $3,$4,3
  2247. lw $4,52($fp)
  2248. addu $3,$3,$4
  2249. l.d $f0,0($2)
  2250. l.d $f2,0($3)
  2251. mul.d $f0,$f0,$f2
  2252. l.d $f2,0($fp)
  2253. add.d $f0,$f2,$f0
  2254. s.d $f0,0($fp)
  2255. lw $2,12($fp)
  2256. lw $3,48($fp)
  2257. addu $2,$2,$3
  2258. sw $2,12($fp)
  2259. lw $2,16($fp)
  2260. lw $3,56($fp)
  2261. addu $2,$2,$3
  2262. sw $2,16($fp)
  2263. $L130:
  2264. lw $3,8($fp)
  2265. addu $2,$3,1
  2266. move $3,$2
  2267. sw $3,8($fp)
  2268. j $L128
  2269. $L129:
  2270. l.d $f0,0($fp)
  2271. j $L122
  2272. $L124:
  2273. lw $2,40($fp)
  2274. li $6,0x66666667 # 1717986919
  2275. mult $2,$6
  2276. mfhi $5
  2277. mflo $4
  2278. srl $6,$5,0
  2279. move $7,$0
  2280. sra $3,$6,1
  2281. sra $4,$2,31
  2282. subu $3,$3,$4
  2283. move $5,$3
  2284. sll $4,$5,2
  2285. addu $4,$4,$3
  2286. subu $2,$2,$4
  2287. sw $2,20($fp)
  2288. lw $2,20($fp)
  2289. beq $2,$0,$L132
  2290. sw $0,8($fp)
  2291. $L133:
  2292. lw $2,8($fp)
  2293. lw $3,20($fp)
  2294. slt $2,$2,$3
  2295. bne $2,$0,$L136
  2296. j $L134
  2297. $L136:
  2298. lw $2,8($fp)
  2299. move $3,$2
  2300. sll $2,$3,3
  2301. lw $3,44($fp)
  2302. addu $2,$2,$3
  2303. lw $3,8($fp)
  2304. move $4,$3
  2305. sll $3,$4,3
  2306. lw $4,52($fp)
  2307. addu $3,$3,$4
  2308. l.d $f0,0($2)
  2309. l.d $f2,0($3)
  2310. mul.d $f0,$f0,$f2
  2311. l.d $f2,0($fp)
  2312. add.d $f0,$f2,$f0
  2313. s.d $f0,0($fp)
  2314. $L135:
  2315. lw $3,8($fp)
  2316. addu $2,$3,1
  2317. move $3,$2
  2318. sw $3,8($fp)
  2319. j $L133
  2320. $L134:
  2321. lw $2,40($fp)
  2322. slt $3,$2,5
  2323. beq $3,$0,$L137
  2324. l.d $f0,0($fp)
  2325. j $L122
  2326. $L137:
  2327. $L132:
  2328. .set noreorder
  2329. nop
  2330. .set reorder
  2331. lw $2,20($fp)
  2332. sw $2,8($fp)
  2333. $L138:
  2334. lw $2,8($fp)
  2335. lw $3,40($fp)
  2336. slt $2,$2,$3
  2337. bne $2,$0,$L141
  2338. j $L139
  2339. $L141:
  2340. lw $2,8($fp)
  2341. move $3,$2
  2342. sll $2,$3,3
  2343. lw $3,44($fp)
  2344. addu $2,$2,$3
  2345. lw $3,8($fp)
  2346. move $4,$3
  2347. sll $3,$4,3
  2348. lw $4,52($fp)
  2349. addu $3,$3,$4
  2350. l.d $f0,0($2)
  2351. l.d $f2,0($3)
  2352. mul.d $f0,$f0,$f2
  2353. l.d $f2,0($fp)
  2354. add.d $f0,$f0,$f2
  2355. lw $2,8($fp)
  2356. move $3,$2
  2357. sll $2,$3,3
  2358. lw $4,44($fp)
  2359. addu $3,$2,$4
  2360. addu $2,$3,8
  2361. lw $3,8($fp)
  2362. move $4,$3
  2363. sll $3,$4,3
  2364. lw $4,52($fp)
  2365. addu $3,$3,$4
  2366. addu $4,$3,8
  2367. l.d $f2,0($2)
  2368. l.d $f4,0($4)
  2369. mul.d $f2,$f2,$f4
  2370. add.d $f0,$f0,$f2
  2371. lw $2,8($fp)
  2372. move $3,$2
  2373. sll $2,$3,3
  2374. lw $4,44($fp)
  2375. addu $3,$2,$4
  2376. addu $2,$3,16
  2377. lw $3,8($fp)
  2378. move $4,$3
  2379. sll $3,$4,3
  2380. lw $4,52($fp)
  2381. addu $3,$3,$4
  2382. addu $4,$3,16
  2383. l.d $f2,0($2)
  2384. l.d $f4,0($4)
  2385. mul.d $f2,$f2,$f4
  2386. add.d $f0,$f0,$f2
  2387. lw $2,8($fp)
  2388. move $3,$2
  2389. sll $2,$3,3
  2390. lw $4,44($fp)
  2391. addu $3,$2,$4
  2392. addu $2,$3,24
  2393. lw $3,8($fp)
  2394. move $4,$3
  2395. sll $3,$4,3
  2396. lw $4,52($fp)
  2397. addu $3,$3,$4
  2398. addu $4,$3,24
  2399. l.d $f2,0($2)
  2400. l.d $f4,0($4)
  2401. mul.d $f2,$f2,$f4
  2402. add.d $f0,$f0,$f2
  2403. lw $2,8($fp)
  2404. move $3,$2
  2405. sll $2,$3,3
  2406. lw $4,44($fp)
  2407. addu $3,$2,$4
  2408. addu $2,$3,32
  2409. lw $3,8($fp)
  2410. move $4,$3
  2411. sll $3,$4,3
  2412. lw $4,52($fp)
  2413. addu $3,$3,$4
  2414. addu $4,$3,32
  2415. l.d $f2,0($2)
  2416. l.d $f4,0($4)
  2417. mul.d $f2,$f2,$f4
  2418. add.d $f0,$f0,$f2
  2419. s.d $f0,0($fp)
  2420. $L140:
  2421. lw $2,8($fp)
  2422. addu $3,$2,5
  2423. sw $3,8($fp)
  2424. j $L138
  2425. $L139:
  2426. l.d $f0,0($fp)
  2427. j $L122
  2428. $L122:
  2429. move $sp,$fp # sp not trusted here
  2430. lw $fp,32($sp)
  2431. addu $sp,$sp,40
  2432. j $31
  2433. .end ddot
  2434. .loc 1 699
  2435. .ent dscal
  2436. dscal:
  2437. .frame $fp,24,$31 # vars= 16, regs= 1/0, args= 0, extra= 0
  2438. .mask 0x40000000,-8
  2439. .fmask 0x00000000,0
  2440. subu $sp,$sp,24
  2441. sw $fp,16($sp)
  2442. move $fp,$sp
  2443. sw $4,24($fp)
  2444. dsw $6,32($fp)
  2445. lw $2,24($fp)
  2446. bgtz $2,$L143
  2447. j $L142
  2448. $L143:
  2449. lw $2,44($fp)
  2450. li $3,0x00000001 # 1
  2451. beq $2,$3,$L144
  2452. lw $2,24($fp)
  2453. lw $3,44($fp)
  2454. mult $2,$3
  2455. mflo $2
  2456. sw $2,12($fp)
  2457. sw $0,0($fp)
  2458. $L145:
  2459. lw $2,0($fp)
  2460. lw $3,12($fp)
  2461. slt $2,$2,$3
  2462. bne $2,$0,$L148
  2463. j $L146
  2464. $L148:
  2465. lw $2,0($fp)
  2466. move $3,$2
  2467. sll $2,$3,3
  2468. lw $3,40($fp)
  2469. addu $2,$2,$3
  2470. lw $3,0($fp)
  2471. move $4,$3
  2472. sll $3,$4,3
  2473. lw $4,40($fp)
  2474. addu $3,$3,$4
  2475. l.d $f0,32($fp)
  2476. l.d $f2,0($3)
  2477. mul.d $f0,$f0,$f2
  2478. s.d $f0,0($2)
  2479. $L147:
  2480. lw $2,0($fp)
  2481. lw $3,44($fp)
  2482. addu $2,$2,$3
  2483. sw $2,0($fp)
  2484. j $L145
  2485. $L146:
  2486. j $L142
  2487. $L144:
  2488. lw $2,24($fp)
  2489. li $6,0x66666667 # 1717986919
  2490. mult $2,$6
  2491. mfhi $5
  2492. mflo $4
  2493. srl $6,$5,0
  2494. move $7,$0
  2495. sra $3,$6,1
  2496. sra $4,$2,31
  2497. subu $3,$3,$4
  2498. move $5,$3
  2499. sll $4,$5,2
  2500. addu $4,$4,$3
  2501. subu $2,$2,$4
  2502. sw $2,4($fp)
  2503. lw $2,4($fp)
  2504. beq $2,$0,$L149
  2505. sw $0,0($fp)
  2506. $L150:
  2507. lw $2,0($fp)
  2508. lw $3,4($fp)
  2509. slt $2,$2,$3
  2510. bne $2,$0,$L153
  2511. j $L151
  2512. $L153:
  2513. lw $2,0($fp)
  2514. move $3,$2
  2515. sll $2,$3,3
  2516. lw $3,40($fp)
  2517. addu $2,$2,$3
  2518. lw $3,0($fp)
  2519. move $4,$3
  2520. sll $3,$4,3
  2521. lw $4,40($fp)
  2522. addu $3,$3,$4
  2523. l.d $f0,32($fp)
  2524. l.d $f2,0($3)
  2525. mul.d $f0,$f0,$f2
  2526. s.d $f0,0($2)
  2527. $L152:
  2528. lw $3,0($fp)
  2529. addu $2,$3,1
  2530. move $3,$2
  2531. sw $3,0($fp)
  2532. j $L150
  2533. $L151:
  2534. lw $2,24($fp)
  2535. slt $3,$2,5
  2536. beq $3,$0,$L154
  2537. j $L142
  2538. $L154:
  2539. $L149:
  2540. .set noreorder
  2541. nop
  2542. .set reorder
  2543. lw $2,4($fp)
  2544. sw $2,0($fp)
  2545. $L155:
  2546. lw $2,0($fp)
  2547. lw $3,24($fp)
  2548. slt $2,$2,$3
  2549. bne $2,$0,$L158
  2550. j $L156
  2551. $L158:
  2552. lw $2,0($fp)
  2553. move $3,$2
  2554. sll $2,$3,3
  2555. lw $3,40($fp)
  2556. addu $2,$2,$3
  2557. lw $3,0($fp)
  2558. move $4,$3
  2559. sll $3,$4,3
  2560. lw $4,40($fp)
  2561. addu $3,$3,$4
  2562. l.d $f0,32($fp)
  2563. l.d $f2,0($3)
  2564. mul.d $f0,$f0,$f2
  2565. s.d $f0,0($2)
  2566. lw $2,0($fp)
  2567. move $3,$2
  2568. sll $2,$3,3
  2569. lw $4,40($fp)
  2570. addu $3,$2,$4
  2571. addu $2,$3,8
  2572. lw $3,0($fp)
  2573. move $4,$3
  2574. sll $3,$4,3
  2575. lw $4,40($fp)
  2576. addu $3,$3,$4
  2577. addu $4,$3,8
  2578. l.d $f0,32($fp)
  2579. l.d $f2,0($4)
  2580. mul.d $f0,$f0,$f2
  2581. s.d $f0,0($2)
  2582. lw $2,0($fp)
  2583. move $3,$2
  2584. sll $2,$3,3
  2585. lw $4,40($fp)
  2586. addu $3,$2,$4
  2587. addu $2,$3,16
  2588. lw $3,0($fp)
  2589. move $4,$3
  2590. sll $3,$4,3
  2591. lw $4,40($fp)
  2592. addu $3,$3,$4
  2593. addu $4,$3,16
  2594. l.d $f0,32($fp)
  2595. l.d $f2,0($4)
  2596. mul.d $f0,$f0,$f2
  2597. s.d $f0,0($2)
  2598. lw $2,0($fp)
  2599. move $3,$2
  2600. sll $2,$3,3
  2601. lw $4,40($fp)
  2602. addu $3,$2,$4
  2603. addu $2,$3,24
  2604. lw $3,0($fp)
  2605. move $4,$3
  2606. sll $3,$4,3
  2607. lw $4,40($fp)
  2608. addu $3,$3,$4
  2609. addu $4,$3,24
  2610. l.d $f0,32($fp)
  2611. l.d $f2,0($4)
  2612. mul.d $f0,$f0,$f2
  2613. s.d $f0,0($2)
  2614. lw $2,0($fp)
  2615. move $3,$2
  2616. sll $2,$3,3
  2617. lw $4,40($fp)
  2618. addu $3,$2,$4
  2619. addu $2,$3,32
  2620. lw $3,0($fp)
  2621. move $4,$3
  2622. sll $3,$4,3
  2623. lw $4,40($fp)
  2624. addu $3,$3,$4
  2625. addu $4,$3,32
  2626. l.d $f0,32($fp)
  2627. l.d $f2,0($4)
  2628. mul.d $f0,$f0,$f2
  2629. s.d $f0,0($2)
  2630. $L157:
  2631. lw $2,0($fp)
  2632. addu $3,$2,5
  2633. sw $3,0($fp)
  2634. j $L155
  2635. $L156:
  2636. $L142:
  2637. move $sp,$fp # sp not trusted here
  2638. lw $fp,16($sp)
  2639. addu $sp,$sp,24
  2640. j $31
  2641. .end dscal
  2642. .loc 1 748
  2643. .ent idamax
  2644. idamax:
  2645. .frame $fp,32,$31 # vars= 24, regs= 1/0, args= 0, extra= 0
  2646. .mask 0x40000000,-8
  2647. .fmask 0x00000000,0
  2648. subu $sp,$sp,32
  2649. sw $fp,24($sp)
  2650. move $fp,$sp
  2651. sw $4,32($fp)
  2652. sw $5,36($fp)
  2653. sw $6,40($fp)
  2654. lw $2,32($fp)
  2655. bgtz $2,$L160
  2656. li $2,-1 # 0xffffffff
  2657. j $L159
  2658. $L160:
  2659. lw $2,32($fp)
  2660. li $3,0x00000001 # 1
  2661. bne $2,$3,$L161
  2662. move $2,$0
  2663. j $L159
  2664. $L161:
  2665. lw $2,40($fp)
  2666. li $3,0x00000001 # 1
  2667. beq $2,$3,$L162
  2668. li $2,0x00000001 # 1
  2669. sw $2,12($fp)
  2670. lw $2,36($fp)
  2671. l.d $f0,0($2)
  2672. abs.d $f2,$f0
  2673. s.d $f2,0($fp)
  2674. lw $2,12($fp)
  2675. lw $3,40($fp)
  2676. addu $2,$2,$3
  2677. sw $2,12($fp)
  2678. li $2,0x00000001 # 1
  2679. sw $2,8($fp)
  2680. $L163:
  2681. lw $2,8($fp)
  2682. lw $3,32($fp)
  2683. slt $2,$2,$3
  2684. bne $2,$0,$L166
  2685. j $L164
  2686. $L166:
  2687. lw $2,12($fp)
  2688. move $3,$2
  2689. sll $2,$3,3
  2690. lw $3,36($fp)
  2691. addu $2,$2,$3
  2692. l.d $f2,0($2)
  2693. abs.d $f0,$f2
  2694. l.d $f2,0($fp)
  2695. c.lt.d $f2,$f0
  2696. bc1f $L167
  2697. lw $2,8($fp)
  2698. sw $2,16($fp)
  2699. lw $2,12($fp)
  2700. move $3,$2
  2701. sll $2,$3,3
  2702. lw $3,36($fp)
  2703. addu $2,$2,$3
  2704. l.d $f0,0($2)
  2705. abs.d $f2,$f0
  2706. s.d $f2,0($fp)
  2707. $L167:
  2708. lw $2,12($fp)
  2709. lw $3,40($fp)
  2710. addu $2,$2,$3
  2711. sw $2,12($fp)
  2712. $L165:
  2713. lw $3,8($fp)
  2714. addu $2,$3,1
  2715. move $3,$2
  2716. sw $3,8($fp)
  2717. j $L163
  2718. $L164:
  2719. j $L168
  2720. $L162:
  2721. sw $0,16($fp)
  2722. lw $2,36($fp)
  2723. l.d $f0,0($2)
  2724. abs.d $f2,$f0
  2725. s.d $f2,0($fp)
  2726. li $2,0x00000001 # 1
  2727. sw $2,8($fp)
  2728. $L169:
  2729. lw $2,8($fp)
  2730. lw $3,32($fp)
  2731. slt $2,$2,$3
  2732. bne $2,$0,$L172
  2733. j $L170
  2734. $L172:
  2735. lw $2,8($fp)
  2736. move $3,$2
  2737. sll $2,$3,3
  2738. lw $3,36($fp)
  2739. addu $2,$2,$3
  2740. l.d $f2,0($2)
  2741. abs.d $f0,$f2
  2742. l.d $f2,0($fp)
  2743. c.lt.d $f2,$f0
  2744. bc1f $L173
  2745. lw $2,8($fp)
  2746. sw $2,16($fp)
  2747. lw $2,8($fp)
  2748. move $3,$2
  2749. sll $2,$3,3
  2750. lw $3,36($fp)
  2751. addu $2,$2,$3
  2752. l.d $f0,0($2)
  2753. abs.d $f2,$f0
  2754. s.d $f2,0($fp)
  2755. $L173:
  2756. $L171:
  2757. lw $3,8($fp)
  2758. addu $2,$3,1
  2759. move $3,$2
  2760. sw $3,8($fp)
  2761. j $L169
  2762. $L170:
  2763. $L168:
  2764. lw $2,16($fp)
  2765. j $L159
  2766. $L159:
  2767. move $sp,$fp # sp not trusted here
  2768. lw $fp,24($sp)
  2769. addu $sp,$sp,32
  2770. j $31
  2771. .end idamax
  2772. .loc 1 789
  2773. .ent epslon
  2774. epslon:
  2775. .frame $fp,40,$31 # vars= 32, regs= 1/0, args= 0, extra= 0
  2776. .mask 0x40000000,-8
  2777. .fmask 0x00000000,0
  2778. subu $sp,$sp,40
  2779. sw $fp,32($sp)
  2780. move $fp,$sp
  2781. s.d $f12,40($fp)
  2782. l.d $f0,$LC22
  2783. s.d $f0,0($fp)
  2784. dsz 24($fp)
  2785. $L175:
  2786. l.d $f0,24($fp)
  2787. mtc1 $0,$f2
  2788. mtc1 $0,$f3
  2789. c.eq.d $f0,$f2
  2790. bc1t $L177
  2791. j $L176
  2792. $L177:
  2793. l.d $f0,0($fp)
  2794. l.d $f2,$LC23
  2795. sub.d $f0,$f0,$f2
  2796. s.d $f0,8($fp)
  2797. l.d $f0,8($fp)
  2798. l.d $f2,8($fp)
  2799. add.d $f0,$f0,$f2
  2800. l.d $f2,8($fp)
  2801. add.d $f0,$f0,$f2
  2802. s.d $f0,16($fp)
  2803. l.d $f0,16($fp)
  2804. l.d $f2,$LC23
  2805. sub.d $f0,$f0,$f2
  2806. abs.d $f2,$f0
  2807. s.d $f2,24($fp)
  2808. j $L175
  2809. $L176:
  2810. l.d $f2,40($fp)
  2811. abs.d $f0,$f2
  2812. l.d $f4,24($fp)
  2813. mul.d $f2,$f0,$f4
  2814. mov.d $f0,$f2
  2815. j $L174
  2816. $L174:
  2817. move $sp,$fp # sp not trusted here
  2818. lw $fp,32($sp)
  2819. addu $sp,$sp,40
  2820. j $31
  2821. .end epslon
  2822. .loc 1 836
  2823. .ent dmxpy
  2824. dmxpy:
  2825. .frame $fp,24,$31 # vars= 16, regs= 1/0, args= 0, extra= 0
  2826. .mask 0x40000000,-8
  2827. .fmask 0x00000000,0
  2828. subu $sp,$sp,24
  2829. sw $fp,16($sp)
  2830. move $fp,$sp
  2831. sw $4,24($fp)
  2832. sw $5,28($fp)
  2833. sw $6,32($fp)
  2834. sw $7,36($fp)
  2835. lw $2,32($fp)
  2836. sra $3,$2,31
  2837. srl $4,$3,31
  2838. addu $5,$2,$4
  2839. sra $3,$5,1
  2840. move $4,$3
  2841. sll $3,$4,1
  2842. subu $2,$2,$3
  2843. sw $2,0($fp)
  2844. lw $2,0($fp)
  2845. blez $2,$L179
  2846. lw $2,0($fp)
  2847. subu $3,$2,1
  2848. sw $3,0($fp)
  2849. sw $0,4($fp)
  2850. $L180:
  2851. lw $2,4($fp)
  2852. lw $3,24($fp)
  2853. slt $2,$2,$3
  2854. bne $2,$0,$L183
  2855. j $L181
  2856. $L183:
  2857. lw $2,4($fp)
  2858. move $3,$2
  2859. sll $2,$3,3
  2860. lw $3,28($fp)
  2861. addu $2,$2,$3
  2862. lw $3,4($fp)
  2863. move $4,$3
  2864. sll $3,$4,3
  2865. lw $4,28($fp)
  2866. addu $3,$3,$4
  2867. lw $4,0($fp)
  2868. move $5,$4
  2869. sll $4,$5,3
  2870. lw $5,40($fp)
  2871. addu $4,$4,$5
  2872. lw $5,36($fp)
  2873. lw $6,0($fp)
  2874. mult $5,$6
  2875. mflo $5
  2876. lw $6,4($fp)
  2877. addu $5,$5,$6
  2878. move $6,$5
  2879. sll $5,$6,3
  2880. lw $6,44($fp)
  2881. addu $5,$5,$6
  2882. l.d $f0,0($4)
  2883. l.d $f2,0($5)
  2884. mul.d $f0,$f0,$f2
  2885. l.d $f2,0($3)
  2886. add.d $f0,$f2,$f0
  2887. s.d $f0,0($2)
  2888. $L182:
  2889. lw $3,4($fp)
  2890. addu $2,$3,1
  2891. move $3,$2
  2892. sw $3,4($fp)
  2893. j $L180
  2894. $L181:
  2895. $L179:
  2896. lw $2,32($fp)
  2897. move $3,$2
  2898. bgez $3,$L184
  2899. addu $3,$3,3
  2900. $L184:
  2901. sra $3,$3,2
  2902. move $4,$3
  2903. sll $3,$4,2
  2904. subu $2,$2,$3
  2905. sw $2,0($fp)
  2906. lw $2,0($fp)
  2907. slt $3,$2,2
  2908. bne $3,$0,$L185
  2909. lw $2,0($fp)
  2910. subu $3,$2,1
  2911. sw $3,0($fp)
  2912. sw $0,4($fp)
  2913. $L186:
  2914. lw $2,4($fp)
  2915. lw $3,24($fp)
  2916. slt $2,$2,$3
  2917. bne $2,$0,$L189
  2918. j $L187
  2919. $L189:
  2920. lw $2,4($fp)
  2921. move $3,$2
  2922. sll $2,$3,3
  2923. lw $3,28($fp)
  2924. addu $2,$2,$3
  2925. lw $3,4($fp)
  2926. move $4,$3
  2927. sll $3,$4,3
  2928. lw $4,28($fp)
  2929. addu $3,$3,$4
  2930. lw $4,0($fp)
  2931. move $5,$4
  2932. sll $4,$5,3
  2933. lw $6,40($fp)
  2934. addu $5,$4,$6
  2935. subu $4,$5,8
  2936. lw $6,0($fp)
  2937. subu $5,$6,1
  2938. lw $6,36($fp)
  2939. mult $5,$6
  2940. mflo $5
  2941. lw $6,4($fp)
  2942. addu $5,$5,$6
  2943. move $6,$5
  2944. sll $5,$6,3
  2945. lw $6,44($fp)
  2946. addu $5,$5,$6
  2947. l.d $f0,0($4)
  2948. l.d $f2,0($5)
  2949. mul.d $f0,$f0,$f2
  2950. l.d $f2,0($3)
  2951. add.d $f0,$f0,$f2
  2952. lw $3,0($fp)
  2953. move $4,$3
  2954. sll $3,$4,3
  2955. lw $4,40($fp)
  2956. addu $3,$3,$4
  2957. lw $4,36($fp)
  2958. lw $5,0($fp)
  2959. mult $4,$5
  2960. mflo $4
  2961. lw $5,4($fp)
  2962. addu $4,$4,$5
  2963. move $5,$4
  2964. sll $4,$5,3
  2965. lw $5,44($fp)
  2966. addu $4,$4,$5
  2967. l.d $f2,0($3)
  2968. l.d $f4,0($4)
  2969. mul.d $f2,$f2,$f4
  2970. add.d $f0,$f0,$f2
  2971. s.d $f0,0($2)
  2972. $L188:
  2973. lw $3,4($fp)
  2974. addu $2,$3,1
  2975. move $3,$2
  2976. sw $3,4($fp)
  2977. j $L186
  2978. $L187:
  2979. $L185:
  2980. lw $2,32($fp)
  2981. move $3,$2
  2982. bgez $3,$L190
  2983. addu $3,$3,7
  2984. $L190:
  2985. sra $3,$3,3
  2986. move $4,$3
  2987. sll $3,$4,3
  2988. subu $2,$2,$3
  2989. sw $2,0($fp)
  2990. lw $2,0($fp)
  2991. slt $3,$2,4
  2992. bne $3,$0,$L191
  2993. lw $2,0($fp)
  2994. subu $3,$2,1
  2995. sw $3,0($fp)
  2996. sw $0,4($fp)
  2997. $L192:
  2998. lw $2,4($fp)
  2999. lw $3,24($fp)
  3000. slt $2,$2,$3
  3001. bne $2,$0,$L195
  3002. j $L193
  3003. $L195:
  3004. lw $2,4($fp)
  3005. move $3,$2
  3006. sll $2,$3,3
  3007. lw $3,28($fp)
  3008. addu $2,$2,$3
  3009. lw $3,4($fp)
  3010. move $4,$3
  3011. sll $3,$4,3
  3012. lw $4,28($fp)
  3013. addu $3,$3,$4
  3014. lw $4,0($fp)
  3015. move $5,$4
  3016. sll $4,$5,3
  3017. lw $6,40($fp)
  3018. addu $5,$4,$6
  3019. subu $4,$5,24
  3020. lw $6,0($fp)
  3021. subu $5,$6,3
  3022. lw $6,36($fp)
  3023. mult $5,$6
  3024. mflo $5
  3025. lw $6,4($fp)
  3026. addu $5,$5,$6
  3027. move $6,$5
  3028. sll $5,$6,3
  3029. lw $6,44($fp)
  3030. addu $5,$5,$6
  3031. l.d $f0,0($4)
  3032. l.d $f2,0($5)
  3033. mul.d $f0,$f0,$f2
  3034. l.d $f2,0($3)
  3035. add.d $f0,$f0,$f2
  3036. lw $3,0($fp)
  3037. move $4,$3
  3038. sll $3,$4,3
  3039. lw $5,40($fp)
  3040. addu $4,$3,$5
  3041. subu $3,$4,16
  3042. lw $5,0($fp)
  3043. subu $4,$5,2
  3044. lw $5,36($fp)
  3045. mult $4,$5
  3046. mflo $4
  3047. lw $5,4($fp)
  3048. addu $4,$4,$5
  3049. move $5,$4
  3050. sll $4,$5,3
  3051. lw $5,44($fp)
  3052. addu $4,$4,$5
  3053. l.d $f2,0($3)
  3054. l.d $f4,0($4)
  3055. mul.d $f2,$f2,$f4
  3056. add.d $f0,$f0,$f2
  3057. lw $3,0($fp)
  3058. move $4,$3
  3059. sll $3,$4,3
  3060. lw $5,40($fp)
  3061. addu $4,$3,$5
  3062. subu $3,$4,8
  3063. lw $5,0($fp)
  3064. subu $4,$5,1
  3065. lw $5,36($fp)
  3066. mult $4,$5
  3067. mflo $4
  3068. lw $5,4($fp)
  3069. addu $4,$4,$5
  3070. move $5,$4
  3071. sll $4,$5,3
  3072. lw $5,44($fp)
  3073. addu $4,$4,$5
  3074. l.d $f2,0($3)
  3075. l.d $f4,0($4)
  3076. mul.d $f2,$f2,$f4
  3077. add.d $f0,$f0,$f2
  3078. lw $3,0($fp)
  3079. move $4,$3
  3080. sll $3,$4,3
  3081. lw $4,40($fp)
  3082. addu $3,$3,$4
  3083. lw $4,36($fp)
  3084. lw $5,0($fp)
  3085. mult $4,$5
  3086. mflo $4
  3087. lw $5,4($fp)
  3088. addu $4,$4,$5
  3089. move $5,$4
  3090. sll $4,$5,3
  3091. lw $5,44($fp)
  3092. addu $4,$4,$5
  3093. l.d $f2,0($3)
  3094. l.d $f4,0($4)
  3095. mul.d $f2,$f2,$f4
  3096. add.d $f0,$f0,$f2
  3097. s.d $f0,0($2)
  3098. $L194:
  3099. lw $3,4($fp)
  3100. addu $2,$3,1
  3101. move $3,$2
  3102. sw $3,4($fp)
  3103. j $L192
  3104. $L193:
  3105. $L191:
  3106. lw $2,32($fp)
  3107. move $3,$2
  3108. bgez $3,$L196
  3109. addu $3,$3,15
  3110. $L196:
  3111. sra $3,$3,4
  3112. move $4,$3
  3113. sll $3,$4,4
  3114. subu $2,$2,$3
  3115. sw $2,0($fp)
  3116. lw $2,0($fp)
  3117. slt $3,$2,8
  3118. bne $3,$0,$L197
  3119. lw $2,0($fp)
  3120. subu $3,$2,1
  3121. sw $3,0($fp)
  3122. sw $0,4($fp)
  3123. $L198:
  3124. lw $2,4($fp)
  3125. lw $3,24($fp)
  3126. slt $2,$2,$3
  3127. bne $2,$0,$L201
  3128. j $L199
  3129. $L201:
  3130. lw $2,4($fp)
  3131. move $3,$2
  3132. sll $2,$3,3
  3133. lw $3,28($fp)
  3134. addu $2,$2,$3
  3135. lw $3,4($fp)
  3136. move $4,$3
  3137. sll $3,$4,3
  3138. lw $4,28($fp)
  3139. addu $3,$3,$4
  3140. lw $4,0($fp)
  3141. move $5,$4
  3142. sll $4,$5,3
  3143. lw $6,40($fp)
  3144. addu $5,$4,$6
  3145. subu $4,$5,56
  3146. lw $6,0($fp)
  3147. subu $5,$6,7
  3148. lw $6,36($fp)
  3149. mult $5,$6
  3150. mflo $5
  3151. lw $6,4($fp)
  3152. addu $5,$5,$6
  3153. move $6,$5
  3154. sll $5,$6,3
  3155. lw $6,44($fp)
  3156. addu $5,$5,$6
  3157. l.d $f0,0($4)
  3158. l.d $f2,0($5)
  3159. mul.d $f0,$f0,$f2
  3160. l.d $f2,0($3)
  3161. add.d $f0,$f0,$f2
  3162. lw $3,0($fp)
  3163. move $4,$3
  3164. sll $3,$4,3
  3165. lw $5,40($fp)
  3166. addu $4,$3,$5
  3167. subu $3,$4,48
  3168. lw $5,0($fp)
  3169. subu $4,$5,6
  3170. lw $5,36($fp)
  3171. mult $4,$5
  3172. mflo $4
  3173. lw $5,4($fp)
  3174. addu $4,$4,$5
  3175. move $5,$4
  3176. sll $4,$5,3
  3177. lw $5,44($fp)
  3178. addu $4,$4,$5
  3179. l.d $f2,0($3)
  3180. l.d $f4,0($4)
  3181. mul.d $f2,$f2,$f4
  3182. add.d $f0,$f0,$f2
  3183. lw $3,0($fp)
  3184. move $4,$3
  3185. sll $3,$4,3
  3186. lw $5,40($fp)
  3187. addu $4,$3,$5
  3188. subu $3,$4,40
  3189. lw $5,0($fp)
  3190. subu $4,$5,5
  3191. lw $5,36($fp)
  3192. mult $4,$5
  3193. mflo $4
  3194. lw $5,4($fp)
  3195. addu $4,$4,$5
  3196. move $5,$4
  3197. sll $4,$5,3
  3198. lw $5,44($fp)
  3199. addu $4,$4,$5
  3200. l.d $f2,0($3)
  3201. l.d $f4,0($4)
  3202. mul.d $f2,$f2,$f4
  3203. add.d $f0,$f0,$f2
  3204. lw $3,0($fp)
  3205. move $4,$3
  3206. sll $3,$4,3
  3207. lw $5,40($fp)
  3208. addu $4,$3,$5
  3209. subu $3,$4,32
  3210. lw $5,0($fp)
  3211. subu $4,$5,4
  3212. lw $5,36($fp)
  3213. mult $4,$5
  3214. mflo $4
  3215. lw $5,4($fp)
  3216. addu $4,$4,$5
  3217. move $5,$4
  3218. sll $4,$5,3
  3219. lw $5,44($fp)
  3220. addu $4,$4,$5
  3221. l.d $f2,0($3)
  3222. l.d $f4,0($4)
  3223. mul.d $f2,$f2,$f4
  3224. add.d $f0,$f0,$f2
  3225. lw $3,0($fp)
  3226. move $4,$3
  3227. sll $3,$4,3
  3228. lw $5,40($fp)
  3229. addu $4,$3,$5
  3230. subu $3,$4,24
  3231. lw $5,0($fp)
  3232. subu $4,$5,3
  3233. lw $5,36($fp)
  3234. mult $4,$5
  3235. mflo $4
  3236. lw $5,4($fp)
  3237. addu $4,$4,$5
  3238. move $5,$4
  3239. sll $4,$5,3
  3240. lw $5,44($fp)
  3241. addu $4,$4,$5
  3242. l.d $f2,0($3)
  3243. l.d $f4,0($4)
  3244. mul.d $f2,$f2,$f4
  3245. add.d $f0,$f0,$f2
  3246. lw $3,0($fp)
  3247. move $4,$3
  3248. sll $3,$4,3
  3249. lw $5,40($fp)
  3250. addu $4,$3,$5
  3251. subu $3,$4,16
  3252. lw $5,0($fp)
  3253. subu $4,$5,2
  3254. lw $5,36($fp)
  3255. mult $4,$5
  3256. mflo $4
  3257. lw $5,4($fp)
  3258. addu $4,$4,$5
  3259. move $5,$4
  3260. sll $4,$5,3
  3261. lw $5,44($fp)
  3262. addu $4,$4,$5
  3263. l.d $f2,0($3)
  3264. l.d $f4,0($4)
  3265. mul.d $f2,$f2,$f4
  3266. add.d $f0,$f0,$f2
  3267. lw $3,0($fp)
  3268. move $4,$3
  3269. sll $3,$4,3
  3270. lw $5,40($fp)
  3271. addu $4,$3,$5
  3272. subu $3,$4,8
  3273. lw $5,0($fp)
  3274. subu $4,$5,1
  3275. lw $5,36($fp)
  3276. mult $4,$5
  3277. mflo $4
  3278. lw $5,4($fp)
  3279. addu $4,$4,$5
  3280. move $5,$4
  3281. sll $4,$5,3
  3282. lw $5,44($fp)
  3283. addu $4,$4,$5
  3284. l.d $f2,0($3)
  3285. l.d $f4,0($4)
  3286. mul.d $f2,$f2,$f4
  3287. add.d $f0,$f0,$f2
  3288. lw $3,0($fp)
  3289. move $4,$3
  3290. sll $3,$4,3
  3291. lw $4,40($fp)
  3292. addu $3,$3,$4
  3293. lw $4,36($fp)
  3294. lw $5,0($fp)
  3295. mult $4,$5
  3296. mflo $4
  3297. lw $5,4($fp)
  3298. addu $4,$4,$5
  3299. move $5,$4
  3300. sll $4,$5,3
  3301. lw $5,44($fp)
  3302. addu $4,$4,$5
  3303. l.d $f2,0($3)
  3304. l.d $f4,0($4)
  3305. mul.d $f2,$f2,$f4
  3306. add.d $f0,$f0,$f2
  3307. s.d $f0,0($2)
  3308. $L200:
  3309. lw $3,4($fp)
  3310. addu $2,$3,1
  3311. move $3,$2
  3312. sw $3,4($fp)
  3313. j $L198
  3314. $L199:
  3315. $L197:
  3316. lw $2,32($fp)
  3317. move $3,$2
  3318. bgez $3,$L202
  3319. addu $3,$3,15
  3320. $L202:
  3321. sra $3,$3,4
  3322. move $4,$3
  3323. sll $3,$4,4
  3324. subu $2,$2,$3
  3325. addu $3,$2,16
  3326. sw $3,8($fp)
  3327. lw $2,8($fp)
  3328. subu $3,$2,1
  3329. sw $3,0($fp)
  3330. $L203:
  3331. lw $2,0($fp)
  3332. lw $3,32($fp)
  3333. slt $2,$2,$3
  3334. bne $2,$0,$L206
  3335. j $L204
  3336. $L206:
  3337. sw $0,4($fp)
  3338. $L207:
  3339. lw $2,4($fp)
  3340. lw $3,24($fp)
  3341. slt $2,$2,$3
  3342. bne $2,$0,$L210
  3343. j $L208
  3344. $L210:
  3345. lw $2,4($fp)
  3346. move $3,$2
  3347. sll $2,$3,3
  3348. lw $3,28($fp)
  3349. addu $2,$2,$3
  3350. lw $3,4($fp)
  3351. move $4,$3
  3352. sll $3,$4,3
  3353. lw $4,28($fp)
  3354. addu $3,$3,$4
  3355. lw $4,0($fp)
  3356. move $5,$4
  3357. sll $4,$5,3
  3358. lw $6,40($fp)
  3359. addu $5,$4,$6
  3360. subu $4,$5,120
  3361. lw $6,0($fp)
  3362. subu $5,$6,15
  3363. lw $6,36($fp)
  3364. mult $5,$6
  3365. mflo $5
  3366. lw $6,4($fp)
  3367. addu $5,$5,$6
  3368. move $6,$5
  3369. sll $5,$6,3
  3370. lw $6,44($fp)
  3371. addu $5,$5,$6
  3372. l.d $f0,0($4)
  3373. l.d $f2,0($5)
  3374. mul.d $f0,$f0,$f2
  3375. l.d $f2,0($3)
  3376. add.d $f0,$f0,$f2
  3377. lw $3,0($fp)
  3378. move $4,$3
  3379. sll $3,$4,3
  3380. lw $5,40($fp)
  3381. addu $4,$3,$5
  3382. subu $3,$4,112
  3383. lw $5,0($fp)
  3384. subu $4,$5,14
  3385. lw $5,36($fp)
  3386. mult $4,$5
  3387. mflo $4
  3388. lw $5,4($fp)
  3389. addu $4,$4,$5
  3390. move $5,$4
  3391. sll $4,$5,3
  3392. lw $5,44($fp)
  3393. addu $4,$4,$5
  3394. l.d $f2,0($3)
  3395. l.d $f4,0($4)
  3396. mul.d $f2,$f2,$f4
  3397. add.d $f0,$f0,$f2
  3398. lw $3,0($fp)
  3399. move $4,$3
  3400. sll $3,$4,3
  3401. lw $5,40($fp)
  3402. addu $4,$3,$5
  3403. subu $3,$4,104
  3404. lw $5,0($fp)
  3405. subu $4,$5,13
  3406. lw $5,36($fp)
  3407. mult $4,$5
  3408. mflo $4
  3409. lw $5,4($fp)
  3410. addu $4,$4,$5
  3411. move $5,$4
  3412. sll $4,$5,3
  3413. lw $5,44($fp)
  3414. addu $4,$4,$5
  3415. l.d $f2,0($3)
  3416. l.d $f4,0($4)
  3417. mul.d $f2,$f2,$f4
  3418. add.d $f0,$f0,$f2
  3419. lw $3,0($fp)
  3420. move $4,$3
  3421. sll $3,$4,3
  3422. lw $5,40($fp)
  3423. addu $4,$3,$5
  3424. subu $3,$4,96
  3425. lw $5,0($fp)
  3426. subu $4,$5,12
  3427. lw $5,36($fp)
  3428. mult $4,$5
  3429. mflo $4
  3430. lw $5,4($fp)
  3431. addu $4,$4,$5
  3432. move $5,$4
  3433. sll $4,$5,3
  3434. lw $5,44($fp)
  3435. addu $4,$4,$5
  3436. l.d $f2,0($3)
  3437. l.d $f4,0($4)
  3438. mul.d $f2,$f2,$f4
  3439. add.d $f0,$f0,$f2
  3440. lw $3,0($fp)
  3441. move $4,$3
  3442. sll $3,$4,3
  3443. lw $5,40($fp)
  3444. addu $4,$3,$5
  3445. subu $3,$4,88
  3446. lw $5,0($fp)
  3447. subu $4,$5,11
  3448. lw $5,36($fp)
  3449. mult $4,$5
  3450. mflo $4
  3451. lw $5,4($fp)
  3452. addu $4,$4,$5
  3453. move $5,$4
  3454. sll $4,$5,3
  3455. lw $5,44($fp)
  3456. addu $4,$4,$5
  3457. l.d $f2,0($3)
  3458. l.d $f4,0($4)
  3459. mul.d $f2,$f2,$f4
  3460. add.d $f0,$f0,$f2
  3461. lw $3,0($fp)
  3462. move $4,$3
  3463. sll $3,$4,3
  3464. lw $5,40($fp)
  3465. addu $4,$3,$5
  3466. subu $3,$4,80
  3467. lw $5,0($fp)
  3468. subu $4,$5,10
  3469. lw $5,36($fp)
  3470. mult $4,$5
  3471. mflo $4
  3472. lw $5,4($fp)
  3473. addu $4,$4,$5
  3474. move $5,$4
  3475. sll $4,$5,3
  3476. lw $5,44($fp)
  3477. addu $4,$4,$5
  3478. l.d $f2,0($3)
  3479. l.d $f4,0($4)
  3480. mul.d $f2,$f2,$f4
  3481. add.d $f0,$f0,$f2
  3482. lw $3,0($fp)
  3483. move $4,$3
  3484. sll $3,$4,3
  3485. lw $5,40($fp)
  3486. addu $4,$3,$5
  3487. subu $3,$4,72
  3488. lw $5,0($fp)
  3489. subu $4,$5,9
  3490. lw $5,36($fp)
  3491. mult $4,$5
  3492. mflo $4
  3493. lw $5,4($fp)
  3494. addu $4,$4,$5
  3495. move $5,$4
  3496. sll $4,$5,3
  3497. lw $5,44($fp)
  3498. addu $4,$4,$5
  3499. l.d $f2,0($3)
  3500. l.d $f4,0($4)
  3501. mul.d $f2,$f2,$f4
  3502. add.d $f0,$f0,$f2
  3503. lw $3,0($fp)
  3504. move $4,$3
  3505. sll $3,$4,3
  3506. lw $5,40($fp)
  3507. addu $4,$3,$5
  3508. subu $3,$4,64
  3509. lw $5,0($fp)
  3510. subu $4,$5,8
  3511. lw $5,36($fp)
  3512. mult $4,$5
  3513. mflo $4
  3514. lw $5,4($fp)
  3515. addu $4,$4,$5
  3516. move $5,$4
  3517. sll $4,$5,3
  3518. lw $5,44($fp)
  3519. addu $4,$4,$5
  3520. l.d $f2,0($3)
  3521. l.d $f4,0($4)
  3522. mul.d $f2,$f2,$f4
  3523. add.d $f0,$f0,$f2
  3524. lw $3,0($fp)
  3525. move $4,$3
  3526. sll $3,$4,3
  3527. lw $5,40($fp)
  3528. addu $4,$3,$5
  3529. subu $3,$4,56
  3530. lw $5,0($fp)
  3531. subu $4,$5,7
  3532. lw $5,36($fp)
  3533. mult $4,$5
  3534. mflo $4
  3535. lw $5,4($fp)
  3536. addu $4,$4,$5
  3537. move $5,$4
  3538. sll $4,$5,3
  3539. lw $5,44($fp)
  3540. addu $4,$4,$5
  3541. l.d $f2,0($3)
  3542. l.d $f4,0($4)
  3543. mul.d $f2,$f2,$f4
  3544. add.d $f0,$f0,$f2
  3545. lw $3,0($fp)
  3546. move $4,$3
  3547. sll $3,$4,3
  3548. lw $5,40($fp)
  3549. addu $4,$3,$5
  3550. subu $3,$4,48
  3551. lw $5,0($fp)
  3552. subu $4,$5,6
  3553. lw $5,36($fp)
  3554. mult $4,$5
  3555. mflo $4
  3556. lw $5,4($fp)
  3557. addu $4,$4,$5
  3558. move $5,$4
  3559. sll $4,$5,3
  3560. lw $5,44($fp)
  3561. addu $4,$4,$5
  3562. l.d $f2,0($3)
  3563. l.d $f4,0($4)
  3564. mul.d $f2,$f2,$f4
  3565. add.d $f0,$f0,$f2
  3566. lw $3,0($fp)
  3567. move $4,$3
  3568. sll $3,$4,3
  3569. lw $5,40($fp)
  3570. addu $4,$3,$5
  3571. subu $3,$4,40
  3572. lw $5,0($fp)
  3573. subu $4,$5,5
  3574. lw $5,36($fp)
  3575. mult $4,$5
  3576. mflo $4
  3577. lw $5,4($fp)
  3578. addu $4,$4,$5
  3579. move $5,$4
  3580. sll $4,$5,3
  3581. lw $5,44($fp)
  3582. addu $4,$4,$5
  3583. l.d $f2,0($3)
  3584. l.d $f4,0($4)
  3585. mul.d $f2,$f2,$f4
  3586. add.d $f0,$f0,$f2
  3587. lw $3,0($fp)
  3588. move $4,$3
  3589. sll $3,$4,3
  3590. lw $5,40($fp)
  3591. addu $4,$3,$5
  3592. subu $3,$4,32
  3593. lw $5,0($fp)
  3594. subu $4,$5,4
  3595. lw $5,36($fp)
  3596. mult $4,$5
  3597. mflo $4
  3598. lw $5,4($fp)
  3599. addu $4,$4,$5
  3600. move $5,$4
  3601. sll $4,$5,3
  3602. lw $5,44($fp)
  3603. addu $4,$4,$5
  3604. l.d $f2,0($3)
  3605. l.d $f4,0($4)
  3606. mul.d $f2,$f2,$f4
  3607. add.d $f0,$f0,$f2
  3608. lw $3,0($fp)
  3609. move $4,$3
  3610. sll $3,$4,3
  3611. lw $5,40($fp)
  3612. addu $4,$3,$5
  3613. subu $3,$4,24
  3614. lw $5,0($fp)
  3615. subu $4,$5,3
  3616. lw $5,36($fp)
  3617. mult $4,$5
  3618. mflo $4
  3619. lw $5,4($fp)
  3620. addu $4,$4,$5
  3621. move $5,$4
  3622. sll $4,$5,3
  3623. lw $5,44($fp)
  3624. addu $4,$4,$5
  3625. l.d $f2,0($3)
  3626. l.d $f4,0($4)
  3627. mul.d $f2,$f2,$f4
  3628. add.d $f0,$f0,$f2
  3629. lw $3,0($fp)
  3630. move $4,$3
  3631. sll $3,$4,3
  3632. lw $5,40($fp)
  3633. addu $4,$3,$5
  3634. subu $3,$4,16
  3635. lw $5,0($fp)
  3636. subu $4,$5,2
  3637. lw $5,36($fp)
  3638. mult $4,$5
  3639. mflo $4
  3640. lw $5,4($fp)
  3641. addu $4,$4,$5
  3642. move $5,$4
  3643. sll $4,$5,3
  3644. lw $5,44($fp)
  3645. addu $4,$4,$5
  3646. l.d $f2,0($3)
  3647. l.d $f4,0($4)
  3648. mul.d $f2,$f2,$f4
  3649. add.d $f0,$f0,$f2
  3650. lw $3,0($fp)
  3651. move $4,$3
  3652. sll $3,$4,3
  3653. lw $5,40($fp)
  3654. addu $4,$3,$5
  3655. subu $3,$4,8
  3656. lw $5,0($fp)
  3657. subu $4,$5,1
  3658. lw $5,36($fp)
  3659. mult $4,$5
  3660. mflo $4
  3661. lw $5,4($fp)
  3662. addu $4,$4,$5
  3663. move $5,$4
  3664. sll $4,$5,3
  3665. lw $5,44($fp)
  3666. addu $4,$4,$5
  3667. l.d $f2,0($3)
  3668. l.d $f4,0($4)
  3669. mul.d $f2,$f2,$f4
  3670. add.d $f0,$f0,$f2
  3671. lw $3,0($fp)
  3672. move $4,$3
  3673. sll $3,$4,3
  3674. lw $4,40($fp)
  3675. addu $3,$3,$4
  3676. lw $4,36($fp)
  3677. lw $5,0($fp)
  3678. mult $4,$5
  3679. mflo $4
  3680. lw $5,4($fp)
  3681. addu $4,$4,$5
  3682. move $5,$4
  3683. sll $4,$5,3
  3684. lw $5,44($fp)
  3685. addu $4,$4,$5
  3686. l.d $f2,0($3)
  3687. l.d $f4,0($4)
  3688. mul.d $f2,$f2,$f4
  3689. add.d $f0,$f0,$f2
  3690. s.d $f0,0($2)
  3691. $L209:
  3692. lw $3,4($fp)
  3693. addu $2,$3,1
  3694. move $3,$2
  3695. sw $3,4($fp)
  3696. j $L207
  3697. $L208:
  3698. $L205:
  3699. lw $2,0($fp)
  3700. addu $3,$2,16
  3701. sw $3,0($fp)
  3702. j $L203
  3703. $L204:
  3704. $L178:
  3705. move $sp,$fp # sp not trusted here
  3706. lw $fp,16($sp)
  3707. addu $sp,$sp,24
  3708. j $31
  3709. .end dmxpy
  3710. .loc 1 995
  3711. .ent dtime
  3712. dtime:
  3713. .frame $fp,32,$31 # vars= 8, regs= 2/0, args= 16, extra= 0
  3714. .mask 0xc0000000,-4
  3715. .fmask 0x00000000,0
  3716. subu $sp,$sp,32
  3717. sw $31,28($sp)
  3718. sw $fp,24($sp)
  3719. move $fp,$sp
  3720. move $4,$0
  3721. la $5,rusage
  3722. jal getrusage
  3723. l.s $f0,rusage
  3724. #nop
  3725. cvt.d.w $f0,$f0
  3726. s.d $f0,16($fp)
  3727. l.s $f0,rusage+4
  3728. #nop
  3729. cvt.d.w $f0,$f0
  3730. l.d $f2,$LC24
  3731. mul.d $f0,$f0,$f2
  3732. l.d $f2,16($fp)
  3733. add.d $f0,$f2,$f0
  3734. s.d $f0,16($fp)
  3735. l.d $f0,16($fp)
  3736. j $L211
  3737. $L211:
  3738. move $sp,$fp # sp not trusted here
  3739. lw $31,28($sp)
  3740. lw $fp,24($sp)
  3741. addu $sp,$sp,32
  3742. j $31
  3743. .end dtime