1 Star 1 Fork 1

life/RISC-V-math-library

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
sind.S 24.28 KB
一键复制 编辑 原始数据 按行查看 历史
life 提交于 2022-07-06 09:26 . function
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254
.file "_rv_sind.c"
.option nopic
.attribute arch, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_v1p0_zvamo1p0_zvlsseg1p0"
.attribute unaligned_access, 0
.attribute stack_align, 16
.text
.section .rodata
.align 3
.LC0:
.string "@(
.section .sdata,"aw"
.align 3
.type sccsid, @object
.size sccsid, 8
sccsid:
.dword .LC0
.section .rodata
.align 3
.type table1, @object
.size table1, 1032
table1:
.dword 0
.dword 4578227681973159812
.dword 4582730748936808062
.dword 4585465300892538317
.dword 4587232218149935124
.dword 4588998070480937184
.dword 4589965306122607094
.dword 4590846768565625881
.dword 4591727299969791020
.dword 4592606767730311893
.dword 4593485039402578702
.dword 4594016801320007031
.dword 4594454542771183930
.dword 4594891488091520602
.dword 4595327571478659014
.dword 4595762727260045105
.dword 4596196889902818827
.dword 4596629994023683153
.dword 4597061974398750563
.dword 4597492765973365521
.dword 4597922303871901467
.dword 4598262871476403630
.dword 4598476289818621559
.dword 4598688984595225406
.dword 4598900923775164166
.dword 4599112075441176914
.dword 4599322407794599425
.dword 4599531889160152938
.dword 4599740487990714333
.dword 4599948172872067014
.dword 4600154912527631775
.dword 4600360675823176935
.dword 4600565431771507043
.dword 4600769149537129431
.dword 4600971798440897930
.dword 4601173347964633034
.dword 4601373767755717824
.dword 4601573027631668967
.dword 4601771097584682078
.dword 4601967947786150793
.dword 4602163548591158843
.dword 4602357870542944470
.dword 4602550884377336506
.dword 4602710690099904183
.dword 4602805845399633902
.dword 4602900303344142735
.dword 4602994049708411683
.dword 4603087070374583113
.dword 4603179351334086856
.dword 4603270878689749849
.dword 4603361638657888991
.dword 4603451617570386922
.dword 4603540801876750389
.dword 4603629178146150899
.dword 4603716733069447353
.dword 4603803453461190356
.dword 4603889326261607894
.dword 4603974338538572089
.dword 4604058477489546729
.dword 4604141730443515286
.dword 4604224084862889120
.dword 4604305528345395596
.dword 4604386048625945823
.dword 4604465633578481725
.dword 4604544271217802189
.dword 4604621949701367983
.dword 4604698657331085206
.dword 4604774382555066977
.dword 4604849113969373103
.dword 4604922840319727473
.dword 4604995550503212910
.dword 4605067233569943231
.dword 4605137878724712257
.dword 4605207475328619533
.dword 4605276012900672507
.dword 4605343481119364930
.dword 4605409869824231233
.dword 4605475169017376660
.dword 4605539368864982914
.dword 4605602459698789090
.dword 4605664432017547683
.dword 4605725276488455441
.dword 4605784983948558848
.dword 4605843545406134034
.dword 4605900952042040894
.dword 4605957195211051218
.dword 4606012266443150634
.dword 4606066157444814153
.dword 4606118860100255153
.dword 4606170366472647579
.dword 4606220668805321205
.dword 4606269759522929756
.dword 4606317631232591731
.dword 4606364276725003740
.dword 4606409688975526202
.dword 4606453861145241227
.dword 4606496786581982534
.dword 4606538458821337243
.dword 4606578871587619388
.dword 4606618018794815019
.dword 4606655894547498725
.dword 4606692493141721470
.dword 4606727809065869586
.dword 4606761837001494797
.dword 4606794571824115162
.dword 4606826008603986804
.dword 4606856142606846307
.dword 4606884969294623682
.dword 4606912484326125783
.dword 4606938683557690074
.dword 4606963563043808649
.dword 4606987119037722413
.dword 4607009347991985328
.dword 4607030246558998647
.dword 4607049811591515049
.dword 4607068040143112603
.dword 4607084929468638487
.dword 4607100477024622401
.dword 4607114680469659603
.dword 4607127537664763515
.dword 4607139046673687846
.dword 4607149205763218185
.dword 4607158013403433018
.dword 4607165468267934125
.dword 4607171569234046334
.dword 4607176315382986589
.dword 4607179706000002317
.dword 4607181740574479067
.dword 4607182418800017408
.align 3
.type table2, @object
.size table2, 1032
table2:
.dword 0
.dword 4335145163472203165
.dword -4901291458270985936
.dword 4334300084048575168
.dword -4888355317352064368
.dword -4890097842119327746
.dword -4879192212472108244
.dword -4877609353152074598
.dword -4882421958459861368
.dword -4889515435735385311
.dword 4344327690608371053
.dword -4871448649967911686
.dword 4346307894776041952
.dword -4876688514565408847
.dword 4351939588216707782
.dword 4350993937160215343
.dword -4872211889599312510
.dword -4870509930327538515
.dword -4892332772463339211
.dword 4352548248161945517
.dword -4871718392637316412
.dword -4898769819921972276
.dword 4357273055303019162
.dword -4870888376601718370
.dword -4866752316540952275
.dword -4867323570598518686
.dword 4355202375338304792
.dword 4351112148285991000
.dword -4891193140619446752
.dword 4346269594972209441
.dword -4867182722767500195
.dword 4330672776990157017
.dword -4870875072005036528
.dword 4352311438545180081
.dword 4352406338174442411
.dword -4864627498305598217
.dword 4352081851827306883
.dword -4866117773365784058
.dword 4347808786954813327
.dword 4356477191370573173
.dword 4349929172638656577
.dword -4864502259939090714
.dword -4885583024605399368
.dword -4867465176875387252
.dword -4860973886322818964
.dword -4861402873643210318
.dword -4859680610896321295
.dword -4861654546138200715
.dword 4362622295802340864
.dword -4862858791969452110
.dword -4862240029869377780
.dword -4877036099717370298
.dword -4868676219153462673
.dword -4863328274113603609
.dword 4358989821794142564
.dword 4360444409054777441
.dword 4352737192456341171
.dword -4863185140937811052
.dword 4351535605575758631
.dword -4865555644581019049
.dword -4861821475202794574
.dword 4359600895655920426
.dword -4867738416600634825
.dword 4362929642948386339
.dword -4860548157077822378
.dword -4860021698431409554
.dword 4359718562510508380
.dword 4356616700595275407
.dword -4868121577715201321
.dword -4861133489265456873
.dword -4866433924875013003
.dword -4863084146412526387
.dword -4863107076662938771
.dword -4870960027386055951
.dword 4360562070901546763
.dword -4863513241193519522
.dword -4863026806549044108
.dword 4358110035633784258
.dword -4868064938563866251
.dword -4864291043934958320
.dword 4339770405871344328
.dword -4862621243502844600
.dword -4861311604218659634
.dword -4859746043290344301
.dword -4860572985770218143
.dword 4361712385783190454
.dword -4861594397706522614
.dword 4349093503986182470
.dword -4866455294542312185
.dword 4354284620230295387
.dword -4876558961751071229
.dword 4359017564461397675
.dword -4873322044228675410
.dword -4877114884757646582
.dword -4862498559673345294
.dword -4864296195948200619
.dword 4356203385198942914
.dword -4865331359760608160
.dword 4361802449352162739
.dword -4862457225135631001
.dword -4863864750815943385
.dword 4362447865955764354
.dword -4872495300658038956
.dword -4864719934700429814
.dword 4361561081263683614
.dword 4358477889572598391
.dword 4359065283000114370
.dword 4361227209919067983
.dword 4356437120746473865
.dword -4863310662714157909
.dword -4864596027902037274
.dword -4865877705442874363
.dword 4356496066182782931
.dword 4361823314591816028
.dword 4357991673877232822
.dword -4859899802321316293
.dword -4861740625917946081
.dword 4355473062038588424
.dword 4360025976301464814
.dword -4866740351294157815
.dword -4861497301299359289
.dword 4353331448211212366
.dword 4351921915922120245
.dword 4359513631676320670
.dword -4869420631354725867
.dword -4861437001734137514
.dword -4863547516591348533
.dword 4361135509685124365
.dword 0
.align 3
.type table3, @object
.size table3, 1032
table3:
.dword -4643211215818981376
.dword -4643334681460817895
.dword -4643458128509182895
.dword -4643581538373404968
.dword -4643704892468412497
.dword -4643828172217532508
.dword -4643951359055288241
.dword -4644074434430195047
.dword -4644197379807554172
.dword -4644320176672244014
.dword -4644442806531508433
.dword -4644565250917741692
.dword -4644687491391269610
.dword -4644809509543126511
.dword -4644931286997827541
.dword -4645052805416135956
.dword -4645174046497824938
.dword -4645294991984433546
.dword -4645415623662016367
.dword -4645535923363886477
.dword -4645655872973351270
.dword -4645775454426440771
.dword -4645894649714627999
.dword -4646013440887540988
.dword -4646131810055666047
.dword -4646249739393041850
.dword -4646367211139943968
.dword -4646484207605559413
.dword -4646600711170650808
.dword -4646716704290209786
.dword -4646832169496099197
.dword -4646947089399683748
.dword -4647061446694448669
.dword -4647175224158606006
.dword -4647288404657688165
.dword -4647400971147128293
.dword -4647512906674827134
.dword -4647624194383705947
.dword -4647754819582138374
.dword -4647974703367664343
.dword -4648193191563948623
.dword -4648410251267472518
.dword -4648625849789843085
.dword -4648839954662715888
.dword -4649052533642684613
.dword -4649263554716136803
.dword -4649472986104074992
.dword -4649680796266902508
.dword -4649886953909173213
.dword -4650091427984304489
.dword -4650294187699252735
.dword -4650495202519150691
.dword -4650694442171905869
.dword -4650891876652759426
.dword -4651087476228804766
.dword -4651281211443465208
.dword -4651473053120930040
.dword -4651662972370548283
.dword -4651850940591179523
.dword -4652036929475501135
.dword -4652223406954820154
.dword -4652587299927371430
.dword -4652947067993990568
.dword -4653302656974930065
.dword -4653654013319797351
.dword -4654001084115619280
.dword -4654343817094810628
.dword -4654682160643045398
.dword -4655016063807029754
.dword -4655345476302175389
.dword -4655670348520172211
.dword -4655990631536459163
.dword -4656306277117592086
.dword -4656617237728507496
.dword -4657124918378269520
.dword -4657727820167268358
.dword -4658321075328126864
.dword -4658904594518799976
.dword -4659478289863443932
.dword -4660042074965650045
.dword -4660595864921455689
.dword -4661139576332130517
.dword -4662120640305008662
.dword -4663167260720449526
.dword -4664193241964935474
.dword -4665198429529464942
.dword -4666636130117142308
.dword -4668562428569573474
.dword -4670659687150651794
.dword -4674341810041940975
.dword -4683038591603491456
.dword 4543953927891173632
.dword 4549761585427149848
.dword 4553096210395049348
.dword 4554740947896058505
.dword 4556319853084977623
.dword 4557748508760847964
.dword 4558493282171068838
.dword 4559215546062486324
.dword 4559915191664815068
.dword 4560592113614000860
.dword 4561246209968088065
.dword 4561877382222571715
.dword 4562315978925772183
.dword 4562608500108380412
.dword 4562889421869652646
.dword 4563158701903804947
.dword 4563416299658254663
.dword 4563662176339727493
.dword 4563896294920099612
.dword 4564118620141973971
.dword 4564329118523989934
.dword 4564527758365865443
.dword 4564714509753170965
.dword 4564889344561834498
.dword 4565052236462376951
.dword 4565203160923877265
.dword 4565342095217666681
.dword 4565469018420751597
.dword 4565583911418964487
.dword 4565686756909842431
.dword 4565777539405232796
.dword 4565856245233625703
.dword 4565922862542212898
.dword 4565977381298672745
.dword 4566019793292681057
.dword 4566050092137147540
.dword 4566068273269177666
.dword 4566074333950759825
.align 3
.type sign, @object
.size sign, 40
sign:
.dword 4607182418800017408
.dword 4607182418800017408
.dword -4616189618054758400
.dword -4616189618054758400
.dword 4607182418800017408
.section .srodata,"a"
.align 3
.type k, @object
.size k, 8
k:
.dword 4580687790476533049
.align 3
.type k1, @object
.size k1, 8
k1:
.dword 4604580339015314455
.align 3
.type k2, @object
.size k2, 8
k2:
.dword 4609012006148636672
.align 3
.type k3, @object
.size k3, 8
k3:
.dword 4580160821035794432
.align 3
.type k4, @object
.size k4, 8
k4:
.dword 4568551541996350487
.align 3
.type k5, @object
.size k5, 8
k5:
.dword 4582062340878461975
.align 3
.type big, @object
.size big, 8
big:
.dword 4839117799609597952
.align 3
.type big2, @object
.size big2, 8
big2:
.dword 4845873199050653696
.align 3
.type big3, @object
.size big3, 8
big3:
.dword 4895412794951729152
.section .rodata
.align 3
.type xishu, @object
.size xishu, 32
xishu:
.dword -4778972765856515629
.dword -4742119916211903646
.dword -4544123773600553961
.dword -4547724988728250854
.text
.align 1
.globl _rv_sind
.type _rv_sind, @function
_rv_sind:
addi sp,sp,-528
sd s0,520(sp)
addi s0,sp,528
fsd fa0,-520(s0)
fsd fa5,-72(s0)
fmv.x.d a5,fa0
mv a4,a5
li a5,-1
srli a5,a5,1
sd a5,-88(s0)
and a5,a4,a5
mv a2,a5
mv a4,a5
li a5,4096
addi a5,a5,-87
slli a5,a5,50
sd a5,-96(s0)
li a3,1083
slli a3,a3,48
sub a4,a4,a5
mv a5,a3
bgeu a4,a5,.L2
lui a5,%hi(.LC1)
fld fa4,%lo(.LC1)(a5)
fmv.d fa5,fa0
fmul.d fa5,fa4,fa5
lui a5,%hi(.LC2)
fld fa4,%lo(.LC2)(a5)
fadd.d fa5,fa4,fa5
fmv.x.d a5,fa5
mv a2,a5
fmv.d fa4,fa5
lui a5,%hi(.LC2)
fld fa5,%lo(.LC2)(a5)
fsub.d fa5,fa4,fa5
lui a5,%hi(.LC3)
fld fa4,%lo(.LC3)(a5)
fmul.d fa5,fa4,fa5
srai a5,a2,7
mv a1,a5
andi a5,a2,127
sd a5,-40(s0)
mv t1,a5
li a4,128
sub a5,a4,t1
sd a5,-48(s0)
mv t2,a5
andi a5,a1,1
beq a5,zero,.L3
sd t2,-40(s0)
sd t1,-48(s0)
.L3:
fsub.d fa5,fa0,fa5
fmv.d fa1,fa5
andi a5,a1,3
mv t3,a5
fmul.d ft6,fa1,fa5
lui a5,%hi(sign)
addi a4,a5,%lo(sign)
slli a5,t3,3
add a5,a4,a5
fld fa5,0(a5)
fmv.d fa2,fa5
addi a5,t3,1
lui a4,%hi(sign)
addi a4,a4,%lo(sign)
slli a5,a5,3
add a5,a4,a5
fld fa3,0(a5)
lui a5,%hi(table1)
addi a4,a5,%lo(table1)
ld a5,-40(s0)
slli a5,a5,3
add a5,a4,a5
fld fa5,0(a5)
fmv.d fa4,fa5
lui a5,%hi(table1)
addi a4,a5,%lo(table1)
ld a5,-48(s0)
slli a5,a5,3
add a5,a4,a5
fld fa6,0(a5)
fmul.d fa5,fa4,fa2
fmv.d fa7,fa5
fmul.d ft1,fa6,fa3
fmul.d ft2,fa3,fa1
lui a5,%hi(table3)
addi a4,a5,%lo(table3)
ld a5,-48(s0)
slli a5,a5,3
add a5,a4,a5
fld ft3,0(a5)
lui a5,%hi(table2)
addi a4,a5,%lo(table2)
ld a5,-40(s0)
slli a5,a5,3
add a5,a4,a5
fld ft4,0(a5)
lui a5,%hi(.LC4)
fld fa5,%lo(.LC4)(a5)
fadd.d ft5,ft6,fa5
lui a5,%hi(.LC5)
fld fa5,%lo(.LC5)(a5)
fadd.d ft7,ft6,fa5
lui a5,%hi(.LC6)
fld fa5,%lo(.LC6)(a5)
fmul.d fa3,ft1,fa5
lui a5,%hi(.LC7)
fld fa5,%lo(.LC7)(a5)
fmul.d fa6,fa7,fa5
fmul.d fa5,fa3,fa1
fmul.d fa5,fa5,ft6
fmul.d ft5,fa5,ft5
fmul.d fa5,fa6,ft6
fmul.d ft7,fa5,ft7
fadd.d ft7,ft5,ft7
fmul.d fa4,ft1,fa1
lui a5,%hi(.LC8)
fld fa5,%lo(.LC8)(a5)
fmul.d fa4,fa4,fa5
fadd.d fa1,fa4,fa7
fsub.d fa7,fa7,fa1
lui a5,%hi(.LC9)
fld fa4,%lo(.LC9)(a5)
fmul.d fa5,fa4,ft2
fadd.d fa7,fa7,fa5
fmul.d ft3,ft2,ft3
fmul.d ft4,ft4,fa2
fadd.d fa4,fa7,ft3
fadd.d fa4,fa4,ft4
fsub.d fa4,fa4,ft7
fadd.d fa5,fa4,fa1
j .L20
.L2:
li a5,2047
slli a5,a5,52
sd a5,-120(s0)
ld a4,-96(s0)
bleu a4,a2,.L5
li a5,-10
sd a5,-64(s0)
ld a4,-120(s0)
and a5,a4,a2
sd a5,-336(s0)
fsd fa0,-32(s0)
bne a5,zero,.L21
lui a5,%hi(.LC10)
fld fa1,%lo(.LC10)(a5)
fsgnj.d fa5,fa1,fa0
fsd fa5,-440(s0)
fmv.x.d s8,fa5
li s9,0xFFF0000000000000
and s8,s8,s9
li s10,0x000FFFFFFFFFFFFF
fmv.x.d s11,fa0
and s9,s11,s10
or s8,s8,s9
fmv.d.x fa1,s8
fsub.d fa5,fa1,fa5
fsd fa5,-32(s0)
fmv.d.x fa4,zero
feq.d a5,fa5,fa4
beq a5,zero,.L8
j .L20
.L8:
li a5,-1085
sd a5,-64(s0)
j .L7
.L21:
nop
.L7:
ld a5,-64(s0)
slli a1,a5,52
fld fa4,-32(s0)
lui a5,%hi(.LC11)
fld fa5,%lo(.LC11)(a5)
fmul.d fa1,fa4,fa5
lui a5,%hi(.LC9)
fld fa4,%lo(.LC9)(a5)
fmul.d fa3,fa4,fa1
lui a5,%hi(.LC12)
fld fa4,%lo(.LC12)(a5)
fmul.d fa2,fa4,fa1
fadd.d fa5,fa2,fa3
fsd fa5,-448(s0)
addi a5,s0,-448
ld a3,0(a5)
ld a4,-120(s0)
and a5,a4,a3
sd a5,-144(s0)
ld a5,-144(s0)
add a2,a1,a5
ble a2,zero,.L9
li a5,-2047
slli a5,a5,52
addi a5,a5,-1
and a6,a3,a5
add a5,a6,a2
sd a5,-496(s0)
addi a5,s0,-496
fld fa5,0(a5)
j .L20
.L9:
li a5,-1
sd a5,-88(s0)
ld a5,-88(s0)
srli a5,a5,1
sd a5,-88(s0)
li a5,4096
addi a5,a5,-1
sd a5,-120(s0)
ld a5,-120(s0)
slli a5,a5,52
sd a5,-120(s0)
li a5,1
sd a5,-400(s0)
ld a5,-400(s0)
slli a5,a5,52
sd a5,-400(s0)
sub a5,a3,a2
sd a5,-496(s0)
ld a4,-496(s0)
ld a5,-400(s0)
add a5,a4,a5
sd a5,-496(s0)
ld a4,-496(s0)
ld a5,-120(s0)
and a5,a4,a5
sd a5,-496(s0)
addi a5,s0,-496
fld fa5,0(a5)
fsd fa5,-392(s0)
fld fa4,-448(s0)
fld fa5,-392(s0)
fadd.d fa5,fa4,fa5
fsd fa5,-448(s0)
addi a5,s0,-448
ld a5,0(a5)
sd a5,-144(s0)
ld a5,-496(s0)
ld a4,-144(s0)
sub a5,a4,a5
seqz a5,a5
andi a5,a5,0xff
sd a5,-408(s0)
ld a4,-496(s0)
ld a5,-88(s0)
and a5,a4,a5
sd a5,-496(s0)
ld a5,-496(s0)
ld a4,-144(s0)
sub a5,a4,a5
sd a5,-496(s0)
addi a5,s0,-496
fld fa5,0(a5)
fsd fa5,-32(s0)
li a5,2047
sd a5,-88(s0)
ld a5,-88(s0)
slli a5,a5,52
sd a5,-88(s0)
ld a4,-496(s0)
ld a5,-88(s0)
and a5,a4,a5
sd a5,-496(s0)
ld a5,-408(s0)
beq a5,zero,.L10
addi a5,s0,-504
fld fa5,0(a5)
j .L20
.L10:
ld a5,-336(s0)
bne a5,zero,.L11
fld fa5,-32(s0)
j .L20
.L11:
ld a5,-496(s0)
beq a5,zero,.L12
fld fa5,-32(s0)
j .L20
.L12:
ld a4,-416(s0)
li a5,64
bne a4,a5,.L13
addi a5,s0,-504
fld fa5,0(a5)
j .L20
.L13:
fld fa5,-32(s0)
j .L20
.L5:
li a5,-1
sd a5,-128(s0)
ld a5,-128(s0)
srli a5,a5,12
sd a5,-128(s0)
ld a4,-456(s0)
ld a5,-120(s0)
and a5,a4,a5
ld a4,-120(s0)
beq a4,a5,.L14
fld fa4,-520(s0)
lui a5,%hi(.LC13)
fld fa5,%lo(.LC13)(a5)
fmul.d fa5,fa4,fa5
fsd fa5,-520(s0)
addi a5,s0,-520
ld a5,0(a5)
sd a5,-456(s0)
li a5,545
sd a5,-120(s0)
ld a5,-120(s0)
slli a5,a5,53
sd a5,-120(s0)
li a5,3
sd a5,-128(s0)
ld a5,-128(s0)
slli a5,a5,54
sd a5,-128(s0)
ld a5,-456(s0)
ld a4,-88(s0)
and a5,a4,a5
sd a5,-136(s0)
ld a4,-136(s0)
ld a5,-120(s0)
bltu a4,a5,.L15
ld a5,-136(s0)
srli a5,a5,52
sd a5,-136(s0)
ld a5,-136(s0)
addi a5,a5,-1078
sd a5,-496(s0)
ld a5,-496(s0)
slli a4,a5,2
ld a5,-496(s0)
add a5,a4,a5
sd a5,-144(s0)
ld a5,-144(s0)
slli a4,a5,2
ld a5,-496(s0)
sub a5,a4,a5
sd a5,-144(s0)
ld a5,-144(s0)
slli a5,a5,3
ld a4,-144(s0)
add a5,a4,a5
sd a5,-144(s0)
ld a5,-144(s0)
slli a4,a5,2
ld a5,-496(s0)
sub a5,a4,a5
sd a5,-496(s0)
ld a5,-496(s0)
slli a5,a5,1
sd a5,-496(s0)
ld a5,-496(s0)
srli a5,a5,14
sd a5,-496(s0)
ld a4,-496(s0)
ld a5,-128(s0)
mul a5,a4,a5
sd a5,-496(s0)
ld a4,-456(s0)
ld a5,-496(s0)
sub a5,a4,a5
sd a5,-456(s0)
addi a5,s0,-456
fld fa5,0(a5)
fsd fa5,-520(s0)
.L15:
lui a5,%hi(.LC14)
fld fa4,%lo(.LC14)(a5)
fld fa5,-520(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-24(s0)
lui a5,%hi(.LC15)
fld fa5,%lo(.LC15)(a5)
fld fa4,-24(s0)
fadd.d fa5,fa4,fa5
fsd fa5,-24(s0)
lui a5,%hi(.LC15)
fld fa5,%lo(.LC15)(a5)
fld fa4,-24(s0)
fsub.d fa5,fa4,fa5
fsd fa5,-24(s0)
fld fa4,-24(s0)
lui a5,%hi(.LC16)
fld fa5,%lo(.LC16)(a5)
fmul.d fa5,fa4,fa5
fsd fa5,-24(s0)
fld fa4,-520(s0)
fld fa5,-24(s0)
fsub.d fa5,fa4,fa5
fsd fa5,-24(s0)
fld fa5,-24(s0)
fsd fa5,-152(s0)
fld fa5,-152(s0)
fmv.x.d a5,fa5
sd a5,-160(s0)
ld a5,-160(s0)
sd a5,-56(s0)
li a5,-1
slli a5,a5,63
sd a5,-120(s0)
j .L16
.L17:
fld fa4,-24(s0)
lui a5,%hi(.LC17)
fld fa5,%lo(.LC17)(a5)
fadd.d fa5,fa4,fa5
fsd fa5,-24(s0)
fld fa5,-24(s0)
fsd fa5,-320(s0)
fld fa5,-320(s0)
fmv.x.d a5,fa5
sd a5,-328(s0)
ld a5,-328(s0)
sd a5,-56(s0)
.L16:
ld a4,-56(s0)
ld a5,-120(s0)
and a5,a4,a5
bne a5,zero,.L17
lui a5,%hi(.LC18)
fld fa4,%lo(.LC18)(a5)
fld fa5,-24(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-440(s0)
fld fa5,-440(s0)
fcvt.lu.d a5,fa5,rtz
sd a5,-496(s0)
ld a5,-496(s0)
addi a5,a5,1
sd a5,-496(s0)
ld a5,-496(s0)
srli a5,a5,1
sd a5,-496(s0)
ld a5,-496(s0)
fcvt.d.l fa5,a5
fsd fa5,-440(s0)
fld fa4,-440(s0)
lui a5,%hi(.LC19)
fld fa5,%lo(.LC19)(a5)
fmul.d fa5,fa4,fa5
fsd fa5,-440(s0)
fld fa5,-440(s0)
fld fa4,-24(s0)
fsub.d fa5,fa4,fa5
fsd fa5,-440(s0)
fld fa4,-440(s0)
lui a5,%hi(.LC20)
fld fa5,%lo(.LC20)(a5)
fmul.d fa5,fa4,fa5
fsd fa5,-24(s0)
lui a5,%hi(.LC1)
fld fa4,%lo(.LC1)(a5)
fld fa5,-24(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-440(s0)
lui a5,%hi(.LC2)
fld fa4,%lo(.LC2)(a5)
fld fa5,-440(s0)
fadd.d fa5,fa4,fa5
fsd fa5,-440(s0)
addi a5,s0,-440
ld a5,0(a5)
sd a5,-456(s0)
fld fa4,-440(s0)
lui a5,%hi(.LC2)
fld fa5,%lo(.LC2)(a5)
fsub.d fa5,fa4,fa5
fsd fa5,-440(s0)
lui a5,%hi(.LC3)
fld fa4,%lo(.LC3)(a5)
fld fa5,-440(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-440(s0)
fld fa5,-440(s0)
fld fa4,-24(s0)
fsub.d fa5,fa4,fa5
fsd fa5,-440(s0)
fld fa4,-440(s0)
fld fa5,-440(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-32(s0)
ld a5,-456(s0)
srai a5,a5,7
sd a5,-168(s0)
ld a5,-168(s0)
andi a5,a5,3
sd a5,-168(s0)
ld a5,-456(s0)
andi a5,a5,127
sd a5,-40(s0)
li a4,128
ld a5,-40(s0)
sub a5,a4,a5
sd a5,-48(s0)
ld a5,-456(s0)
andi a5,a5,128
sd a5,-176(s0)
ld a5,-176(s0)
beq a5,zero,.L18
ld a5,-40(s0)
sd a5,-496(s0)
ld a5,-48(s0)
sd a5,-40(s0)
ld a5,-496(s0)
sd a5,-48(s0)
.L18:
lui a5,%hi(sign)
addi a4,a5,%lo(sign)
ld a5,-168(s0)
slli a5,a5,3
add a5,a4,a5
fld fa5,0(a5)
fsd fa5,-184(s0)
ld a5,-168(s0)
addi a5,a5,1
lui a4,%hi(sign)
addi a4,a4,%lo(sign)
slli a5,a5,3
add a5,a4,a5
fld fa5,0(a5)
fsd fa5,-192(s0)
lui a5,%hi(table1)
addi a4,a5,%lo(table1)
ld a5,-40(s0)
slli a5,a5,3
add a5,a4,a5
fld fa5,0(a5)
fsd fa5,-200(s0)
lui a5,%hi(table1)
addi a4,a5,%lo(table1)
ld a5,-48(s0)
slli a5,a5,3
add a5,a4,a5
fld fa5,0(a5)
fsd fa5,-208(s0)
fld fa4,-200(s0)
fld fa5,-184(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-200(s0)
fld fa4,-208(s0)
fld fa5,-192(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-208(s0)
fld fa5,-440(s0)
fld fa4,-192(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-216(s0)
lui a5,%hi(table3)
addi a4,a5,%lo(table3)
ld a5,-48(s0)
slli a5,a5,3
add a5,a4,a5
fld fa5,0(a5)
fsd fa5,-224(s0)
lui a5,%hi(table2)
addi a4,a5,%lo(table2)
ld a5,-40(s0)
slli a5,a5,3
add a5,a4,a5
fld fa5,0(a5)
fsd fa5,-232(s0)
lui a5,%hi(.LC4)
fld fa5,%lo(.LC4)(a5)
fld fa4,-32(s0)
fadd.d fa5,fa4,fa5
fsd fa5,-240(s0)
lui a5,%hi(.LC5)
fld fa5,%lo(.LC5)(a5)
fld fa4,-32(s0)
fadd.d fa5,fa4,fa5
fsd fa5,-248(s0)
lui a5,%hi(.LC6)
fld fa5,%lo(.LC6)(a5)
fld fa4,-208(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-256(s0)
lui a5,%hi(.LC7)
fld fa5,%lo(.LC7)(a5)
fld fa4,-200(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-264(s0)
fld fa5,-440(s0)
fld fa4,-256(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-256(s0)
fld fa4,-256(s0)
fld fa5,-32(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-256(s0)
fld fa4,-256(s0)
fld fa5,-240(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-256(s0)
fld fa4,-264(s0)
fld fa5,-32(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-264(s0)
fld fa4,-264(s0)
fld fa5,-248(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-264(s0)
fld fa4,-256(s0)
fld fa5,-264(s0)
fadd.d fa5,fa4,fa5
fsd fa5,-272(s0)
fld fa5,-440(s0)
fld fa4,-208(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-280(s0)
lui a5,%hi(.LC8)
fld fa5,%lo(.LC8)(a5)
fld fa4,-280(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-280(s0)
fld fa4,-280(s0)
fld fa5,-200(s0)
fadd.d fa5,fa4,fa5
fsd fa5,-280(s0)
fld fa4,-200(s0)
fld fa5,-280(s0)
fsub.d fa5,fa4,fa5
fsd fa5,-288(s0)
lui a5,%hi(.LC9)
fld fa4,%lo(.LC9)(a5)
fld fa5,-216(s0)
fmul.d fa5,fa4,fa5
fld fa4,-288(s0)
fadd.d fa5,fa4,fa5
fsd fa5,-288(s0)
fld fa4,-216(s0)
fld fa5,-224(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-296(s0)
fld fa4,-232(s0)
fld fa5,-184(s0)
fmul.d fa5,fa4,fa5
fsd fa5,-304(s0)
fld fa4,-288(s0)
fld fa5,-296(s0)
fadd.d fa5,fa4,fa5
fsd fa5,-288(s0)
fld fa4,-288(s0)
fld fa5,-304(s0)
fadd.d fa5,fa4,fa5
fsd fa5,-288(s0)
fld fa4,-288(s0)
fld fa5,-272(s0)
fsub.d fa5,fa4,fa5
fsd fa5,-312(s0)
fld fa4,-312(s0)
fld fa5,-280(s0)
fadd.d fa5,fa4,fa5
fsd fa5,-312(s0)
fld fa5,-312(s0)
j .L20
.L14:
ld a4,-456(s0)
ld a5,-128(s0)
and a5,a4,a5
beq a5,zero,.L19
fld fa5,-520(s0)
j .L20
.L19:
addi a5,s0,-504
fld fa5,0(a5)
.L20:
fmv.d fa0,fa5
ld s0,520(sp)
addi sp,sp,528
jr ra
.size _rv_sind, .-_rv_sind
.section .rodata
.align 3
.LC1:
.word 381774871
.word 1072087404
.align 3
.LC2:
.word 0
.word 1126694912
.align 3
.LC3:
.word 0
.word 1073119232
.align 3
.LC4:
.word -215899113
.word -1058011264
.align 3
.LC5:
.word -1230016998
.word -1058849737
.align 3
.LC6:
.word -337954349
.word -1112691306
.align 3
.LC7:
.word -1612553374
.word -1104110833
.align 3
.LC8:
.word -1571644103
.word 1066524486
.align 3
.LC9:
.word 0
.word 1066401792
.align 3
.LC10:
.word 0
.word 1128267776
.align 3
.LC11:
.word 0
.word 1083179008
.align 3
.LC12:
.word 623498129
.word 1063122026
.align 3
.LC13:
.word 0
.word 1070596096
.align 3
.LC14:
.word 381774871
.word 1063698796
.align 3
.LC15:
.word 0
.word 1139802112
.align 3
.LC16:
.word 0
.word 1081507840
.align 3
.LC17:
.word 0
.word 1093042176
.align 3
.LC18:
.word 381774871
.word 1066844524
.align 3
.LC19:
.word 0
.word 1079410688
.align 3
.LC20:
.word 0
.word 1074790400
.ident "GCC: (GNU) 10.1.0"
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Assembly
1
https://gitee.com/li-fei-abc/risc-v-math-library.git
git@gitee.com:li-fei-abc/risc-v-math-library.git
li-fei-abc
risc-v-math-library
RISC-V-math-library
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385