Path: blob/main/sys/crypto/openssl/powerpc64le/keccak1600-ppc64.S
39536 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.globl SHA3_absorb301.type SHA3_absorb,@function302.type SHA3_absorb,@function303.align 5304SHA3_absorb:305.localentry SHA3_absorb,0306307stdu 1,-272(1)308mflr 0309std 14,128(1)310std 15,136(1)311std 16,144(1)312std 17,152(1)313std 18,160(1)314std 19,168(1)315std 20,176(1)316std 21,184(1)317std 22,192(1)318std 23,200(1)319std 24,208(1)320std 25,216(1)321std 26,224(1)322std 27,232(1)323std 28,240(1)324std 29,248(1)325std 30,256(1)326std 31,264(1)327std 0,288(1)328329bl PICmeup330subi 4,4,8331subi 12,12,8332333std 3,48(1)334std 4,56(1)335std 5,64(1)336std 6,72(1)337mr 0,6338std 12,80(1)339340ld 7,0(3)341ld 8,8(3)342ld 9,16(3)343ld 10,24(3)344ld 11,32(3)345ld 12,40(3)346ld 6,48(3)347ld 14,56(3)348ld 15,64(3)349ld 16,72(3)350ld 17,80(3)351ld 18,88(3)352ld 19,96(3)353ld 20,104(3)354ld 21,112(3)355ld 22,120(3)356ld 23,128(3)357ld 24,136(3)358ld 25,144(3)359ld 26,152(3)360ld 27,160(3)361ld 28,168(3)362ld 29,176(3)363ld 30,184(3)364ld 31,192(3)365366mr 3,4367mr 4,5368mr 5,0369370b .Loop_absorb371372.align 4373.Loop_absorb:374cmpld 4,5375blt .Labsorbed376377sub 4,4,5378srwi 5,5,3379std 4,64(1)380mtctr 5381ldu 0,8(3)382xor 7,7,0383bdz .Lprocess_block384ldu 0,8(3)385xor 8,8,0386bdz .Lprocess_block387ldu 0,8(3)388xor 9,9,0389bdz .Lprocess_block390ldu 0,8(3)391xor 10,10,0392bdz .Lprocess_block393ldu 0,8(3)394xor 11,11,0395bdz .Lprocess_block396ldu 0,8(3)397xor 12,12,0398bdz .Lprocess_block399ldu 0,8(3)400xor 6,6,0401bdz .Lprocess_block402ldu 0,8(3)403xor 14,14,0404bdz .Lprocess_block405ldu 0,8(3)406xor 15,15,0407bdz .Lprocess_block408ldu 0,8(3)409xor 16,16,0410bdz .Lprocess_block411ldu 0,8(3)412xor 17,17,0413bdz .Lprocess_block414ldu 0,8(3)415xor 18,18,0416bdz .Lprocess_block417ldu 0,8(3)418xor 19,19,0419bdz .Lprocess_block420ldu 0,8(3)421xor 20,20,0422bdz .Lprocess_block423ldu 0,8(3)424xor 21,21,0425bdz .Lprocess_block426ldu 0,8(3)427xor 22,22,0428bdz .Lprocess_block429ldu 0,8(3)430xor 23,23,0431bdz .Lprocess_block432ldu 0,8(3)433xor 24,24,0434bdz .Lprocess_block435ldu 0,8(3)436xor 25,25,0437bdz .Lprocess_block438ldu 0,8(3)439xor 26,26,0440bdz .Lprocess_block441ldu 0,8(3)442xor 27,27,0443bdz .Lprocess_block444ldu 0,8(3)445xor 28,28,0446bdz .Lprocess_block447ldu 0,8(3)448xor 29,29,0449bdz .Lprocess_block450ldu 0,8(3)451xor 30,30,0452bdz .Lprocess_block453ldu 0,8(3)454xor 31,31,0455456.Lprocess_block:457std 3,56(1)458459bl KeccakF1600_int460461ld 0,80(1)462ld 5,72(1)463ld 4,64(1)464ld 3,56(1)465addic 0,0,-192466std 0,80(1)467468b .Loop_absorb469470.align 4471.Labsorbed:472ld 3,48(1)473std 7,0(3)474std 8,8(3)475std 9,16(3)476std 10,24(3)477std 11,32(3)478std 12,40(3)479std 6,48(3)480std 14,56(3)481std 15,64(3)482std 16,72(3)483std 17,80(3)484std 18,88(3)485std 19,96(3)486std 20,104(3)487std 21,112(3)488std 22,120(3)489std 23,128(3)490std 24,136(3)491std 25,144(3)492std 26,152(3)493std 27,160(3)494std 28,168(3)495std 29,176(3)496std 30,184(3)497std 31,192(3)498499mr 3,4500ld 0,288(1)501ld 14,128(1)502ld 15,136(1)503ld 16,144(1)504ld 17,152(1)505ld 18,160(1)506ld 19,168(1)507ld 20,176(1)508ld 21,184(1)509ld 22,192(1)510ld 23,200(1)511ld 24,208(1)512ld 25,216(1)513ld 26,224(1)514ld 27,232(1)515ld 28,240(1)516ld 29,248(1)517ld 30,256(1)518ld 31,264(1)519mtlr 0520addi 1,1,272521blr522.long 0523.byte 0,12,4,1,0x80,18,4,0524.long 0525.size SHA3_absorb,.-SHA3_absorb526.globl SHA3_squeeze527.type SHA3_squeeze,@function528.type SHA3_squeeze,@function529.align 5530SHA3_squeeze:531.localentry SHA3_squeeze,0532533stdu 1,-80(1)534mflr 0535std 28,48(1)536std 29,56(1)537std 30,64(1)538std 31,72(1)539std 0,96(1)540541mr 28,3542subi 3,3,8543subi 29,4,1544mr 30,5545mr 31,6546cmplwi 7,0547bne .Lnext_block548b .Loop_squeeze549550.align 4551.Loop_squeeze:552ldu 0,8(3)553cmpldi 30,8554blt .Lsqueeze_tail555556stb 0,1(29)557srdi 0,0,8558stb 0,2(29)559srdi 0,0,8560stb 0,3(29)561srdi 0,0,8562stb 0,4(29)563srdi 0,0,8564stb 0,5(29)565srdi 0,0,8566stb 0,6(29)567srdi 0,0,8568stb 0,7(29)569srdi 0,0,8570stbu 0,8(29)571572subic. 30,30,8573beq .Lsqueeze_done574575subic. 6,6,8576bgt .Loop_squeeze577578.Lnext_block:579mr 3,28580bl KeccakF1600581subi 3,28,8582mr 6,31583b .Loop_squeeze584585.align 4586.Lsqueeze_tail:587mtctr 30588.Loop_tail:589stbu 0,1(29)590srdi 0,0,8591bdnz .Loop_tail592593.Lsqueeze_done:594ld 0,96(1)595ld 28,48(1)596ld 29,56(1)597ld 30,64(1)598ld 31,72(1)599mtlr 0600addi 1,1,80601blr602.long 0603.byte 0,12,4,1,0x80,4,4,0604.long 0605.size SHA3_squeeze,.-SHA3_squeeze606.align 6607PICmeup:608mflr 0609bcl 20,31,$+4610mflr 12611addi 12,12,56612mtlr 0613blr614.long 0615.byte 0,12,0x14,0,0,0,0,0616.space 28617.type iotas,@object618iotas:619.long 0x00000001,0x00000000620.long 0x00008082,0x00000000621.long 0x0000808a,0x80000000622.long 0x80008000,0x80000000623.long 0x0000808b,0x00000000624.long 0x80000001,0x00000000625.long 0x80008081,0x80000000626.long 0x00008009,0x80000000627.long 0x0000008a,0x00000000628.long 0x00000088,0x00000000629.long 0x80008009,0x00000000630.long 0x8000000a,0x00000000631.long 0x8000808b,0x00000000632.long 0x0000008b,0x80000000633.long 0x00008089,0x80000000634.long 0x00008003,0x80000000635.long 0x00008002,0x80000000636.long 0x00000080,0x80000000637.long 0x0000800a,0x00000000638.long 0x8000000a,0x80000000639.long 0x80008081,0x80000000640.long 0x00008080,0x80000000641.long 0x80000001,0x00000000642.long 0x80008008,0x80000000643.size iotas,.-iotas644.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,0645.align 2646647648