Path: blob/main/sys/crypto/openssl/powerpc64/keccak1600-ppc64.S
39482 views
/* Do not modify. This file is auto-generated from keccak1600-ppc64.pl. */1.abiversion 22.text34.type KeccakF1600_int,@function5.align 56KeccakF1600_int:7.localentry KeccakF1600_int,089li 0,2410mtctr 011b .Loop12.align 413.Loop:14xor 0,7,1215std 11,96(1)16xor 3,8,617std 16,104(1)18xor 4,9,1419std 21,112(1)20xor 5,10,1521std 26,120(1)22xor 11,11,1623xor 0,0,1724xor 3,3,1825xor 4,4,1926xor 5,5,2027xor 11,11,2128xor 0,0,2229xor 3,3,2330xor 4,4,2431xor 5,5,2532xor 11,11,2633xor 0,0,2734xor 4,4,2935xor 3,3,2836xor 5,5,3037rotldi 16,4,138xor 11,11,3139rotldi 21,5,140xor 16,16,041rotldi 26,11,14243xor 8,8,1644xor 6,6,1645xor 18,18,1646xor 23,23,1647xor 28,28,164849rotldi 16,0,150xor 21,21,351xor 4,4,2652rotldi 26,3,153xor 5,5,1654xor 11,11,265556xor 3, 9,2157xor 14,14,2158xor 19,19,2159xor 24,24,2160xor 29,29,216162xor 7,7,1163xor 12,12,1164xor 17,17,1165xor 22,22,1166xor 27,27,1167ld 11,96(1)68xor 0, 10,469ld 16,104(1)70xor 15,15,471ld 21,112(1)72xor 20,20,473ld 26,120(1)74xor 25,25,475xor 30,30,47677xor 4, 11,578xor 16,16,579xor 21,21,580xor 26,26,581xor 31,31,58283mr 5,884rotldi 8,6,448586rotldi 9,19,438788rotldi 10,25,218990rotldi 11,31,149192rotldi 6,16,2093rotldi 19,20,2594rotldi 25,24,1595rotldi 31,28,29697rotldi 16,29,6198rotldi 20,26,899rotldi 24,18,10100rotldi 28,15,55101102rotldi 29,21,39103rotldi 26,30,56104rotldi 18,14,6105rotldi 15,23,45106107rotldi 21,27,18108rotldi 30,22,41109rotldi 14,17,3110rotldi 23,12,36111112rotldi 12,0,28113rotldi 17,5,1114rotldi 22,4,27115rotldi 27,3,62116117andc 0,9,8118andc 3,10,9119andc 4,7,11120andc 5,8,7121xor 7,7,0122andc 0,11,10123xor 8,8,3124ld 3,80(1)125xor 10,10,4126xor 11,11,5127xor 9,9,0128ldu 5,8(3)129130andc 0,14,6131std 3,80(1)132andc 3,15,14133andc 4,12,16134xor 7,7,5135andc 5,6,12136xor 12,12,0137andc 0,16,15138xor 6,6,3139xor 15,15,4140xor 16,16,5141xor 14,14,0142143andc 0,19,18144andc 3,20,19145andc 4,17,21146andc 5,18,17147xor 17,17,0148andc 0,21,20149xor 18,18,3150xor 20,20,4151xor 21,21,5152xor 19,19,0153154andc 0,24,23155andc 3,25,24156andc 4,22,26157andc 5,23,22158xor 22,22,0159andc 0,26,25160xor 23,23,3161xor 25,25,4162xor 26,26,5163xor 24,24,0164165andc 0,29,28166andc 3,30,29167andc 4,27,31168andc 5,28,27169xor 27,27,0170andc 0,31,30171xor 28,28,3172xor 30,30,4173xor 31,31,5174xor 29,29,0175176bdnz .Loop177178blr179.long 0180.byte 0,12,0x14,0,0,0,0,0181.size KeccakF1600_int,.-KeccakF1600_int182183.type KeccakF1600,@function184.align 5185KeccakF1600:186.localentry KeccakF1600,0187188stdu 1,-272(1)189mflr 0190std 14,128(1)191std 15,136(1)192std 16,144(1)193std 17,152(1)194std 18,160(1)195std 19,168(1)196std 20,176(1)197std 21,184(1)198std 22,192(1)199std 23,200(1)200std 24,208(1)201std 25,216(1)202std 26,224(1)203std 27,232(1)204std 28,240(1)205std 29,248(1)206std 30,256(1)207std 31,264(1)208std 0,288(1)209210bl PICmeup211subi 12,12,8212213std 3,48(1)214215216217std 12,80(1)218219ld 7,0(3)220ld 8,8(3)221ld 9,16(3)222ld 10,24(3)223ld 11,32(3)224ld 12,40(3)225ld 6,48(3)226ld 14,56(3)227ld 15,64(3)228ld 16,72(3)229ld 17,80(3)230ld 18,88(3)231ld 19,96(3)232ld 20,104(3)233ld 21,112(3)234ld 22,120(3)235ld 23,128(3)236ld 24,136(3)237ld 25,144(3)238ld 26,152(3)239ld 27,160(3)240ld 28,168(3)241ld 29,176(3)242ld 30,184(3)243ld 31,192(3)244245bl KeccakF1600_int246247ld 3,48(1)248std 7,0(3)249std 8,8(3)250std 9,16(3)251std 10,24(3)252std 11,32(3)253std 12,40(3)254std 6,48(3)255std 14,56(3)256std 15,64(3)257std 16,72(3)258std 17,80(3)259std 18,88(3)260std 19,96(3)261std 20,104(3)262std 21,112(3)263std 22,120(3)264std 23,128(3)265std 24,136(3)266std 25,144(3)267std 26,152(3)268std 27,160(3)269std 28,168(3)270std 29,176(3)271std 30,184(3)272std 31,192(3)273274ld 0,288(1)275ld 14,128(1)276ld 15,136(1)277ld 16,144(1)278ld 17,152(1)279ld 18,160(1)280ld 19,168(1)281ld 20,176(1)282ld 21,184(1)283ld 22,192(1)284ld 23,200(1)285ld 24,208(1)286ld 25,216(1)287ld 26,224(1)288ld 27,232(1)289ld 28,240(1)290ld 29,248(1)291ld 30,256(1)292ld 31,264(1)293mtlr 0294addi 1,1,272295blr296.long 0297.byte 0,12,4,1,0x80,18,1,0298.long 0299.size KeccakF1600,.-KeccakF1600300.type dword_le_load,@function301.align 5302dword_le_load:303.localentry dword_le_load,0304305lbz 0,1(3)306lbz 4,2(3)307lbz 5,3(3)308insrdi 0,4,8,48309lbz 4,4(3)310insrdi 0,5,8,40311lbz 5,5(3)312insrdi 0,4,8,32313lbz 4,6(3)314insrdi 0,5,8,24315lbz 5,7(3)316insrdi 0,4,8,16317lbzu 4,8(3)318insrdi 0,5,8,8319insrdi 0,4,8,0320blr321.long 0322.byte 0,12,0x14,0,0,0,1,0323.long 0324.size dword_le_load,.-dword_le_load325.globl SHA3_absorb326.type SHA3_absorb,@function327.type SHA3_absorb,@function328.align 5329SHA3_absorb:330.localentry SHA3_absorb,0331332stdu 1,-272(1)333mflr 0334std 14,128(1)335std 15,136(1)336std 16,144(1)337std 17,152(1)338std 18,160(1)339std 19,168(1)340std 20,176(1)341std 21,184(1)342std 22,192(1)343std 23,200(1)344std 24,208(1)345std 25,216(1)346std 26,224(1)347std 27,232(1)348std 28,240(1)349std 29,248(1)350std 30,256(1)351std 31,264(1)352std 0,288(1)353354bl PICmeup355subi 4,4,1356subi 12,12,8357358std 3,48(1)359std 4,56(1)360std 5,64(1)361std 6,72(1)362mr 0,6363std 12,80(1)364365ld 7,0(3)366ld 8,8(3)367ld 9,16(3)368ld 10,24(3)369ld 11,32(3)370ld 12,40(3)371ld 6,48(3)372ld 14,56(3)373ld 15,64(3)374ld 16,72(3)375ld 17,80(3)376ld 18,88(3)377ld 19,96(3)378ld 20,104(3)379ld 21,112(3)380ld 22,120(3)381ld 23,128(3)382ld 24,136(3)383ld 25,144(3)384ld 26,152(3)385ld 27,160(3)386ld 28,168(3)387ld 29,176(3)388ld 30,184(3)389ld 31,192(3)390391mr 3,4392mr 4,5393mr 5,0394395b .Loop_absorb396397.align 4398.Loop_absorb:399cmpld 4,5400blt .Labsorbed401402sub 4,4,5403srwi 5,5,3404std 4,64(1)405mtctr 5406bl dword_le_load407xor 7,7,0408bdz .Lprocess_block409bl dword_le_load410xor 8,8,0411bdz .Lprocess_block412bl dword_le_load413xor 9,9,0414bdz .Lprocess_block415bl dword_le_load416xor 10,10,0417bdz .Lprocess_block418bl dword_le_load419xor 11,11,0420bdz .Lprocess_block421bl dword_le_load422xor 12,12,0423bdz .Lprocess_block424bl dword_le_load425xor 6,6,0426bdz .Lprocess_block427bl dword_le_load428xor 14,14,0429bdz .Lprocess_block430bl dword_le_load431xor 15,15,0432bdz .Lprocess_block433bl dword_le_load434xor 16,16,0435bdz .Lprocess_block436bl dword_le_load437xor 17,17,0438bdz .Lprocess_block439bl dword_le_load440xor 18,18,0441bdz .Lprocess_block442bl dword_le_load443xor 19,19,0444bdz .Lprocess_block445bl dword_le_load446xor 20,20,0447bdz .Lprocess_block448bl dword_le_load449xor 21,21,0450bdz .Lprocess_block451bl dword_le_load452xor 22,22,0453bdz .Lprocess_block454bl dword_le_load455xor 23,23,0456bdz .Lprocess_block457bl dword_le_load458xor 24,24,0459bdz .Lprocess_block460bl dword_le_load461xor 25,25,0462bdz .Lprocess_block463bl dword_le_load464xor 26,26,0465bdz .Lprocess_block466bl dword_le_load467xor 27,27,0468bdz .Lprocess_block469bl dword_le_load470xor 28,28,0471bdz .Lprocess_block472bl dword_le_load473xor 29,29,0474bdz .Lprocess_block475bl dword_le_load476xor 30,30,0477bdz .Lprocess_block478bl dword_le_load479xor 31,31,0480481.Lprocess_block:482std 3,56(1)483484bl KeccakF1600_int485486ld 0,80(1)487ld 5,72(1)488ld 4,64(1)489ld 3,56(1)490addic 0,0,-192491std 0,80(1)492493b .Loop_absorb494495.align 4496.Labsorbed:497ld 3,48(1)498std 7,0(3)499std 8,8(3)500std 9,16(3)501std 10,24(3)502std 11,32(3)503std 12,40(3)504std 6,48(3)505std 14,56(3)506std 15,64(3)507std 16,72(3)508std 17,80(3)509std 18,88(3)510std 19,96(3)511std 20,104(3)512std 21,112(3)513std 22,120(3)514std 23,128(3)515std 24,136(3)516std 25,144(3)517std 26,152(3)518std 27,160(3)519std 28,168(3)520std 29,176(3)521std 30,184(3)522std 31,192(3)523524mr 3,4525ld 0,288(1)526ld 14,128(1)527ld 15,136(1)528ld 16,144(1)529ld 17,152(1)530ld 18,160(1)531ld 19,168(1)532ld 20,176(1)533ld 21,184(1)534ld 22,192(1)535ld 23,200(1)536ld 24,208(1)537ld 25,216(1)538ld 26,224(1)539ld 27,232(1)540ld 28,240(1)541ld 29,248(1)542ld 30,256(1)543ld 31,264(1)544mtlr 0545addi 1,1,272546blr547.long 0548.byte 0,12,4,1,0x80,18,4,0549.long 0550.size SHA3_absorb,.-SHA3_absorb551.globl SHA3_squeeze552.type SHA3_squeeze,@function553.type SHA3_squeeze,@function554.align 5555SHA3_squeeze:556.localentry SHA3_squeeze,0557558stdu 1,-80(1)559mflr 0560std 28,48(1)561std 29,56(1)562std 30,64(1)563std 31,72(1)564std 0,96(1)565566mr 28,3567subi 3,3,8568subi 29,4,1569mr 30,5570mr 31,6571cmplwi 7,0572bne .Lnext_block573b .Loop_squeeze574575.align 4576.Loop_squeeze:577ldu 0,8(3)578cmpldi 30,8579blt .Lsqueeze_tail580581stb 0,1(29)582srdi 0,0,8583stb 0,2(29)584srdi 0,0,8585stb 0,3(29)586srdi 0,0,8587stb 0,4(29)588srdi 0,0,8589stb 0,5(29)590srdi 0,0,8591stb 0,6(29)592srdi 0,0,8593stb 0,7(29)594srdi 0,0,8595stbu 0,8(29)596597subic. 30,30,8598beq .Lsqueeze_done599600subic. 6,6,8601bgt .Loop_squeeze602603.Lnext_block:604mr 3,28605bl KeccakF1600606subi 3,28,8607mr 6,31608b .Loop_squeeze609610.align 4611.Lsqueeze_tail:612mtctr 30613.Loop_tail:614stbu 0,1(29)615srdi 0,0,8616bdnz .Loop_tail617618.Lsqueeze_done:619ld 0,96(1)620ld 28,48(1)621ld 29,56(1)622ld 30,64(1)623ld 31,72(1)624mtlr 0625addi 1,1,80626blr627.long 0628.byte 0,12,4,1,0x80,4,4,0629.long 0630.size SHA3_squeeze,.-SHA3_squeeze631.align 6632PICmeup:633mflr 0634bcl 20,31,$+4635mflr 12636addi 12,12,56637mtlr 0638blr639.long 0640.byte 0,12,0x14,0,0,0,0,0641.space 28642.type iotas,@object643iotas:644.long 0x00000000,0x00000001645.long 0x00000000,0x00008082646.long 0x80000000,0x0000808a647.long 0x80000000,0x80008000648.long 0x00000000,0x0000808b649.long 0x00000000,0x80000001650.long 0x80000000,0x80008081651.long 0x80000000,0x00008009652.long 0x00000000,0x0000008a653.long 0x00000000,0x00000088654.long 0x00000000,0x80008009655.long 0x00000000,0x8000000a656.long 0x00000000,0x8000808b657.long 0x80000000,0x0000008b658.long 0x80000000,0x00008089659.long 0x80000000,0x00008003660.long 0x80000000,0x00008002661.long 0x80000000,0x00000080662.long 0x00000000,0x0000800a663.long 0x80000000,0x8000000a664.long 0x80000000,0x80008081665.long 0x80000000,0x00008080666.long 0x00000000,0x80000001667.long 0x80000000,0x80008008668.size iotas,.-iotas669.byte 75,101,99,99,97,107,45,49,54,48,48,32,97,98,115,111,114,98,32,97,110,100,32,115,113,117,101,101,122,101,32,102,111,114,32,80,80,67,54,52,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0670.align 2671672673