Path: blob/main/sys/crypto/openssl/powerpc64/ecp_nistp384-ppc64.S
39483 views
/* Do not modify. This file is auto-generated from ecp_nistp384-ppc64.pl. */1.machine "any"2.abiversion 23.text45.globl p384_felem_mul6.type p384_felem_mul,@function7.type p384_felem_mul,@function8.align 49p384_felem_mul:10.localentry p384_felem_mul,0111213stdu 1, -176(1)14mflr 015std 14, 56(1)16std 15, 64(1)17std 16, 72(1)18std 17, 80(1)19std 18, 88(1)20std 19, 96(1)21std 20, 104(1)22std 21, 112(1)23std 22, 120(1)2425bl _p384_felem_mul_core2627mtlr 028ld 14, 56(1)29ld 15, 64(1)30ld 16, 72(1)31ld 17, 80(1)32ld 18, 88(1)33ld 19, 96(1)34ld 20, 104(1)35ld 21, 112(1)36ld 22, 120(1)37addi 1, 1, 17638blr39.size p384_felem_mul,.-p384_felem_mul4041.globl p384_felem_square42.type p384_felem_square,@function43.type p384_felem_square,@function44.align 445p384_felem_square:46.localentry p384_felem_square,0474849stdu 1, -176(1)50mflr 051std 14, 56(1)52std 15, 64(1)53std 16, 72(1)54std 17, 80(1)5556bl _p384_felem_square_core5758mtlr 059ld 14, 56(1)60ld 15, 64(1)61ld 16, 72(1)62ld 17, 80(1)63addi 1, 1, 17664blr65.size p384_felem_square,.-p384_felem_square666768697071.type _p384_felem_mul_core,@function72.align 473_p384_felem_mul_core:74.localentry _p384_felem_mul_core,0757677ld 6,0(4)78ld 14,0(5)79ld 7,8(4)80ld 15,8(5)81ld 8,16(4)82ld 16,16(5)83ld 9,24(4)84ld 17,24(5)85ld 10,32(4)86ld 18,32(5)87ld 11,40(4)88ld 19,40(5)89ld 12,48(4)90ld 20,48(5)919293mulld 21, 14, 694mulhdu 22, 14, 695std 21, 0(3)96std 22, 8(3)9798vxor 0, 0, 099100101mtvsrdd 32+13, 14, 6102mtvsrdd 32+14, 7, 15103.long 0x102D7023104105106mtvsrdd 32+15, 15, 6107mtvsrdd 32+16, 7, 16108mtvsrdd 32+17, 0, 8109mtvsrdd 32+18, 0, 14110.long 0x126F8023111.long 0x105194E3112113114mtvsrdd 32+13, 16, 6115mtvsrdd 32+14, 7, 17116mtvsrdd 32+15, 14, 8117mtvsrdd 32+16, 9, 15118.long 0x126D7023119.long 0x106F84E3120121122mtvsrdd 32+13, 17, 6123mtvsrdd 32+14, 7, 18124mtvsrdd 32+15, 15, 8125mtvsrdd 32+16, 9, 16126mtvsrdd 32+17, 0, 10127mtvsrdd 32+18, 0, 14128.long 0x126D7023129.long 0x108F84E3130.long 0x10919123131132133mtvsrdd 32+13, 18, 6134mtvsrdd 32+14, 7, 19135mtvsrdd 32+15, 16, 8136mtvsrdd 32+16, 9, 17137mtvsrdd 32+17, 14, 10138mtvsrdd 32+18, 11, 15139.long 0x126D7023140.long 0x10AF84E3141.long 0x10B19163142143stxv 32+1, 16(3)144stxv 32+2, 32(3)145stxv 32+3, 48(3)146stxv 32+4, 64(3)147stxv 32+5, 80(3)148149150mtvsrdd 32+13, 19, 6151mtvsrdd 32+14, 7, 20152mtvsrdd 32+15, 17, 8153mtvsrdd 32+16, 9, 18154mtvsrdd 32+17, 15, 10155mtvsrdd 32+18, 11, 16156.long 0x126D7023157.long 0x10CF84E3158mtvsrdd 32+13, 0, 12159mtvsrdd 32+14, 0, 14160.long 0x127191A3161.long 0x10CD74E3162163164mtvsrdd 32+13, 19, 7165mtvsrdd 32+14, 8, 20166mtvsrdd 32+15, 17, 9167mtvsrdd 32+16, 10, 18168mtvsrdd 32+17, 15, 11169mtvsrdd 32+18, 12, 16170.long 0x126D7023171.long 0x10EF84E3172.long 0x10F191E3173174175mtvsrdd 32+13, 19, 8176mtvsrdd 32+14, 9, 20177mtvsrdd 32+15, 17, 10178mtvsrdd 32+16, 11, 18179mtvsrdd 32+17, 0, 12180mtvsrdd 32+18, 0, 16181.long 0x126D7023182.long 0x110F84E3183.long 0x11119223184185186mtvsrdd 32+13, 19, 9187mtvsrdd 32+14, 10, 20188mtvsrdd 32+15, 17, 11189mtvsrdd 32+16, 12, 18190.long 0x126D7023191.long 0x112F84E3192193194mtvsrdd 32+13, 19, 10195mtvsrdd 32+14, 11, 20196mtvsrdd 32+15, 0, 12197mtvsrdd 32+16, 0, 18198.long 0x126D7023199.long 0x114F84E3200201202mtvsrdd 32+17, 19, 11203mtvsrdd 32+18, 12, 20204.long 0x11719023205206stxv 32+6, 96(3)207stxv 32+7, 112(3)208stxv 32+8, 128(3)209stxv 32+9, 144(3)210stxv 32+10, 160(3)211stxv 32+11, 176(3)212213214mulld 21, 20, 12215mulhdu 22, 20, 12216217std 21, 192(3)218std 22, 200(3)219220blr221.size _p384_felem_mul_core,.-_p384_felem_mul_core222223224225226227.type _p384_felem_square_core,@function228.align 4229_p384_felem_square_core:230.localentry _p384_felem_square_core,0231232233ld 6, 0(4)234ld 7, 8(4)235ld 8, 16(4)236ld 9, 24(4)237ld 10, 32(4)238ld 11, 40(4)239ld 12, 48(4)240241vxor 0, 0, 0242243244mulld 14, 6, 6245mulhdu 15, 6, 6246std 14, 0(3)247std 15, 8(3)248249250add 14, 6, 6251mtvsrdd 32+13, 0, 14252mtvsrdd 32+14, 0, 7253.long 0x102D7023254255256mtvsrdd 32+15, 7, 14257mtvsrdd 32+16, 7, 8258.long 0x104F8023259260261add 15, 7, 7262mtvsrdd 32+13, 8, 14263mtvsrdd 32+14, 15, 9264.long 0x106D7023265266267mtvsrdd 32+13, 9, 14268mtvsrdd 32+14, 15, 10269mtvsrdd 32+15, 0, 8270.long 0x108D7023271.long 0x108F7923272273274mtvsrdd 32+13, 10, 14275mtvsrdd 32+14, 15, 11276add 16, 8, 8277mtvsrdd 32+15, 0, 16278mtvsrdd 32+16, 0, 9279.long 0x10AD7023280.long 0x10AF8163281282stxv 32+1, 16(3)283stxv 32+2, 32(3)284stxv 32+3, 48(3)285stxv 32+4, 64(3)286287288mtvsrdd 32+13, 11, 14289mtvsrdd 32+14, 15, 12290mtvsrdd 32+15, 9, 16291mtvsrdd 32+16, 9, 10292stxv 32+5, 80(3)293.long 0x126D7023294.long 0x10CF84E3295296297add 17, 9, 9298mtvsrdd 32+13, 11, 15299mtvsrdd 32+14, 16, 12300mtvsrdd 32+15, 0, 17301mtvsrdd 32+16, 0, 10302.long 0x126D7023303.long 0x10EF84E3304305306mtvsrdd 32+13, 11, 16307mtvsrdd 32+14, 17, 12308mtvsrdd 32+15, 0, 10309.long 0x126D7023310.long 0x110F7CE3311312313add 14, 10, 10314mtvsrdd 32+13, 11, 17315mtvsrdd 32+14, 14, 12316.long 0x112D7023317318319mtvsrdd 32+13, 11, 14320mtvsrdd 32+14, 11, 12321.long 0x114D7023322323stxv 32+6, 96(3)324stxv 32+7, 112(3)325326327328329330331332mulld 6, 12, 11333mulhdu 7, 12, 11334addc 8, 6, 6335adde 9, 7, 7336337stxv 32+8, 128(3)338stxv 32+9, 144(3)339stxv 32+10, 160(3)340341342343mulld 14, 12, 12344mulhdu 15, 12, 12345346std 8, 176(3)347std 9, 184(3)348std 14, 192(3)349std 15, 200(3)350351blr352.size _p384_felem_square_core,.-_p384_felem_square_core353354355356357.macro F128_X_8 _off1 _off2358ld 9,\_off1(3)359ld 8,\_off2(3)360srdi 10,9,61361rldimi 10,8,3,0362sldi 9,9,3363std 9,\_off1(3)364std 10,\_off2(3)365.endm366367.globl p384_felem128_mul_by_8368.type p384_felem128_mul_by_8,@function369.type p384_felem128_mul_by_8,@function370.align 4371p384_felem128_mul_by_8:372.localentry p384_felem128_mul_by_8,0373374375F128_X_8 0, 8376377F128_X_8 16, 24378379F128_X_8 32, 40380381F128_X_8 48, 56382383F128_X_8 64, 72384385F128_X_8 80, 88386387F128_X_8 96, 104388389F128_X_8 112, 120390391F128_X_8 128, 136392393F128_X_8 144, 152394395F128_X_8 160, 168396397F128_X_8 176, 184398399F128_X_8 192, 200400401blr402.size p384_felem128_mul_by_8,.-p384_felem128_mul_by_8403404405406407.macro F128_X_2 _off1 _off2408ld 9,\_off1(3)409ld 8,\_off2(3)410srdi 10,9,63411rldimi 10,8,1,0412sldi 9,9,1413std 9,\_off1(3)414std 10,\_off2(3)415.endm416417.globl p384_felem128_mul_by_2418.type p384_felem128_mul_by_2,@function419.type p384_felem128_mul_by_2,@function420.align 4421p384_felem128_mul_by_2:422.localentry p384_felem128_mul_by_2,0423424425F128_X_2 0, 8426427F128_X_2 16, 24428429F128_X_2 32, 40430431F128_X_2 48, 56432433F128_X_2 64, 72434435F128_X_2 80, 88436437F128_X_2 96, 104438439F128_X_2 112, 120440441F128_X_2 128, 136442443F128_X_2 144, 152444445F128_X_2 160, 168446447F128_X_2 176, 184448449F128_X_2 192, 200450451blr452.size p384_felem128_mul_by_2,.-p384_felem128_mul_by_2453454.globl p384_felem_diff128455.type p384_felem_diff128,@function456.type p384_felem_diff128,@function457.align 4458p384_felem_diff128:459.localentry p384_felem_diff128,0460461462addis 5, 2, .LConst_two127@toc@ha463addi 5, 5, .LConst_two127@toc@l464465ld 10, 0(3)466ld 8, 8(3)467li 9, 0468addc 10, 10, 9469li 7, -1470rldicr 7, 7, 0, 0471adde 8, 8, 7472ld 11, 0(4)473ld 12, 8(4)474subfc 11, 11, 10475subfe 12, 12, 8476std 11, 0(3)477std 12, 8(3)478479480ld 8, 16(3)481ld 7, 24(3)482ld 10, 24(5)483addc 8, 8, 9484adde 7, 7, 10485ld 11, 16(4)486ld 12, 24(4)487subfc 11, 11, 8488subfe 12, 12, 7489std 11, 16(3)490std 12, 24(3)491492ld 8, 32(3)493ld 7, 40(3)494addc 8, 8, 9495adde 7, 7, 10496ld 11, 32(4)497ld 12, 40(4)498subfc 11, 11, 8499subfe 12, 12, 7500std 11, 32(3)501std 12, 40(3)502503ld 8, 48(3)504ld 7, 56(3)505addc 8, 8, 9506adde 7, 7, 10507ld 11, 48(4)508ld 12, 56(4)509subfc 11, 11, 8510subfe 12, 12, 7511std 11, 48(3)512std 12, 56(3)513514ld 8, 64(3)515ld 7, 72(3)516addc 8, 8, 9517adde 7, 7, 10518ld 11, 64(4)519ld 12, 72(4)520subfc 11, 11, 8521subfe 12, 12, 7522std 11, 64(3)523std 12, 72(3)524525ld 8, 80(3)526ld 7, 88(3)527addc 8, 8, 9528adde 7, 7, 10529ld 11, 80(4)530ld 12, 88(4)531subfc 11, 11, 8532subfe 12, 12, 7533std 11, 80(3)534std 12, 88(3)535536ld 8, 96(3)537ld 7, 104(3)538ld 6, 40(5)539addc 8, 8, 9540adde 7, 7, 6541ld 11, 96(4)542ld 12, 104(4)543subfc 11, 11, 8544subfe 12, 12, 7545std 11, 96(3)546std 12, 104(3)547548ld 8, 112(3)549ld 7, 120(3)550ld 6, 56(5)551addc 8, 8, 9552adde 7, 7, 6553ld 11, 112(4)554ld 12, 120(4)555subfc 11, 11, 8556subfe 12, 12, 7557std 11, 112(3)558std 12, 120(3)559560ld 8, 128(3)561ld 7, 136(3)562ld 6, 72(5)563addc 8, 8, 9564adde 7, 7, 6565ld 11, 128(4)566ld 12, 136(4)567subfc 11, 11, 8568subfe 12, 12, 7569std 11, 128(3)570std 12, 136(3)571572ld 8, 144(3)573ld 7, 152(3)574addc 8, 8, 9575adde 7, 7, 10576ld 11, 144(4)577ld 12, 152(4)578subfc 11, 11, 8579subfe 12, 12, 7580std 11, 144(3)581std 12, 152(3)582583ld 8, 160(3)584ld 7, 168(3)585addc 8, 8, 9586adde 7, 7, 10587ld 11, 160(4)588ld 12, 168(4)589subfc 11, 11, 8590subfe 12, 12, 7591std 11, 160(3)592std 12, 168(3)593594ld 8, 176(3)595ld 7, 184(3)596addc 8, 8, 9597adde 7, 7, 10598ld 11, 176(4)599ld 12, 184(4)600subfc 11, 11, 8601subfe 12, 12, 7602std 11, 176(3)603std 12, 184(3)604605ld 8, 192(3)606ld 7, 200(3)607addc 8, 8, 9608adde 7, 7, 10609ld 11, 192(4)610ld 12, 200(4)611subfc 11, 11, 8612subfe 12, 12, 7613std 11, 192(3)614std 12, 200(3)615616blr617.size p384_felem_diff128,.-p384_felem_diff128618619.data620.align 4621.LConst_two127:622623.long 0x00000000, 0x00000000, 0x00000000, 0x80000000624625.long 0x00000000, 0x00000000, 0xffffff80, 0x7fffffff626627.long 0x00000000, 0x00000000, 0xffff7f80, 0x80007fff628629.long 0x00000000, 0x00000000, 0xffffff80, 0x7f7fffff630631.long 0x00000000, 0x00000000, 0x7fffff80, 0x7fffffff632633.abiversion 2634.text635636.globl p384_felem_diff_128_64637.type p384_felem_diff_128_64,@function638.type p384_felem_diff_128_64,@function639.align 4640p384_felem_diff_128_64:641.localentry p384_felem_diff_128_64,0642643addis 5, 2, .LConst_128_two64@toc@ha644addi 5, 5, .LConst_128_two64@toc@l645646ld 9, 0(3)647ld 10, 8(3)648ld 8, 48(5)649li 7, 0650addc 9, 9, 8651li 6, 1652adde 10, 10, 6653ld 11, 0(4)654subfc 8, 11, 9655subfe 12, 7, 10656std 8, 0(3)657std 12, 8(3)658659ld 9, 16(3)660ld 10, 24(3)661ld 8, 0(5)662addc 9, 9, 8663addze 10, 10664ld 11, 8(4)665subfc 11, 11, 9666subfe 12, 7, 10667std 11, 16(3)668std 12, 24(3)669670ld 9, 32(3)671ld 10, 40(3)672ld 8, 16(5)673addc 9, 9, 8674addze 10, 10675ld 11, 16(4)676subfc 11, 11, 9677subfe 12, 7, 10678std 11, 32(3)679std 12, 40(3)680681ld 10, 48(3)682ld 8, 56(3)683684li 9, -256685addc 10, 10, 9686addze 8, 8687ld 11, 24(4)688subfc 11, 11, 10689subfe 12, 7, 8690std 11, 48(3)691std 12, 56(3)692693ld 10, 64(3)694ld 8, 72(3)695addc 10, 10, 9696addze 8, 8697ld 11, 32(4)698subfc 11, 11, 10699subfe 12, 7, 8700std 11, 64(3)701std 12, 72(3)702703ld 10, 80(3)704ld 8, 88(3)705addc 10, 10, 9706addze 8, 8707ld 11, 40(4)708subfc 11, 11, 10709subfe 12, 7, 8710std 11, 80(3)711std 12, 88(3)712713ld 10, 96(3)714ld 8, 104(3)715addc 10, 10, 9716addze 9, 8717ld 11, 48(4)718subfc 11, 11, 10719subfe 12, 7, 9720std 11, 96(3)721std 12, 104(3)722723blr724.size p384_felem_diff_128_64,.-p384_felem_diff_128_64725726.data727.align 4728.LConst_128_two64:729730.long 0xffffff00, 0xfeffffff, 0x00000000, 0x00000000731732.long 0xffffff00, 0xfffffffe, 0x00000000, 0x00000000733734.long 0xffffff00, 0xffffffff, 0x00000000, 0x00000000735736.long 0xffff0000, 0x0000ffff, 0x00000001, 0x00000000737738.LConst_two60:739740.long 0xfffffff0, 0x0fefffff, 0x0, 0x0741742.long 0xfffff000, 0x10000fff, 0x0, 0x0743744.long 0xeffffff0, 0x0fffffff, 0x0, 0x0745746.long 0xfffffff0, 0x0fffffff, 0x0, 0x0747748.abiversion 2749.text750751752753.globl p384_felem_diff64754.type p384_felem_diff64,@function755.type p384_felem_diff64,@function756.align 4757p384_felem_diff64:758.localentry p384_felem_diff64,0759760addis 5, 2, .LConst_two60@toc@ha761addi 5, 5, .LConst_two60@toc@l762763ld 9, 0(3)764ld 8, 16(5)765li 7, 0766add 9, 9, 8767ld 11, 0(4)768subf 8, 11, 9769std 8, 0(3)770771ld 9, 8(3)772ld 8, 0(5)773add 9, 9, 8774ld 11, 8(4)775subf 11, 11, 9776std 11, 8(3)777778ld 9, 16(3)779ld 8, 32(5)780add 9, 9, 8781ld 11, 16(4)782subf 11, 11, 9783std 11, 16(3)784785ld 10, 24(3)786ld 9, 48(5)787add 10, 10, 9788ld 12, 24(4)789subf 12, 12, 10790std 12, 24(3)791792ld 10, 32(3)793add 10, 10, 9794ld 11, 32(4)795subf 11, 11, 10796std 11, 32(3)797798ld 10, 40(3)799add 10, 10, 9800ld 12, 40(4)801subf 12, 12, 10802std 12, 40(3)803804ld 10, 48(3)805add 10, 10, 9806ld 11, 48(4)807subf 11, 11, 10808std 11, 48(3)809810blr811.size p384_felem_diff64,.-p384_felem_diff64812813.abiversion 2814.text815816817818.macro SHR o_h o_l in_h in_l nbits819srdi \o_l, \in_l, \nbits820rldimi \o_l, \in_h, 64-\nbits, 0821srdi \o_h, \in_h, \nbits822.endm823824825826827.global p384_felem_reduce828.type p384_felem_reduce,@function829.align 4830p384_felem_reduce:831.localentry p384_felem_reduce,0832833834stdu 1, -208(1)835mflr 0836std 14, 56(1)837std 15, 64(1)838std 16, 72(1)839std 17, 80(1)840std 18, 88(1)841std 19, 96(1)842std 20, 104(1)843std 21, 112(1)844std 22, 120(1)845std 23, 128(1)846std 24, 136(1)847std 25, 144(1)848std 26, 152(1)849std 27, 160(1)850std 28, 168(1)851std 29, 176(1)852std 30, 184(1)853std 31, 192(1)854855bl _p384_felem_reduce_core856857mtlr 0858ld 14, 56(1)859ld 15, 64(1)860ld 16, 72(1)861ld 17, 80(1)862ld 18, 88(1)863ld 19, 96(1)864ld 20, 104(1)865ld 21, 112(1)866ld 22, 120(1)867ld 23, 128(1)868ld 24, 136(1)869ld 25, 144(1)870ld 26, 152(1)871ld 27, 160(1)872ld 28, 168(1)873ld 29, 176(1)874ld 30, 184(1)875ld 31, 192(1)876addi 1, 1, 208877blr878.size p384_felem_reduce,.-p384_felem_reduce879880881882883884.type _p384_felem_reduce_core,@function885.align 4886_p384_felem_reduce_core:887.localentry _p384_felem_reduce_core,0888889addis 12, 2, .LConst@toc@ha890addi 12, 12, .LConst@toc@l891892893ld 11, 8(12)894895896ld 26, 96(4)897ld 27, 96+8(4)898add 27, 27, 11899900901ld 24, 80(4)902ld 25, 80+8(4)903add 25, 25, 11904905906ld 22, 64(4)907ld 23, 64+8(4)908add 23, 23, 11909910911ld 20, 48(4)912ld 21, 48+8(4)913add 21, 21, 11914915ld 11, 48+8(12)916917918ld 18, 32(4)919ld 19, 32+8(4)920add 19, 19, 11921922ld 11, 16+8(12)923924925ld 16, 16(4)926ld 17, 16+8(4)927add 17, 17, 11928929ld 11, 32+8(12)930931932ld 14, 0(4)933ld 15, 0+8(4)934add 15, 15, 11935936937li 7, -1938939940941942ld 5, 192(4)943ld 6, 192+8(4)944SHR 9, 10, 6, 5, 32945ld 30, 128(4)946ld 31, 136(4)947addc 30, 30, 10948adde 31, 31, 9949950951srdi 11, 7, 32952and 11, 11, 5953sldi 11, 11, 24954ld 28, 112(4)955ld 29, 120(4)956addc 28, 28, 11957addze 29, 29958959960SHR 9, 10, 6, 5, 8961addc 28, 28, 10962adde 29, 29, 9963964965andi. 11, 5, 0xff966sldi 11, 11, 48967addc 26, 26, 11968addze 27, 27969970971SHR 9, 10, 6, 5, 16972subfc 26, 10, 26973subfe 27, 9, 27974975976srdi 11, 7, 48977and 11, 11, 5978sldi 11, 11, 40979li 9, 0980subfc 24, 11, 24981subfe 25, 9, 25982983984SHR 9, 10, 6, 5, 48985addc 26, 26, 10986adde 27, 27, 9987988989srdi 11, 7, 16990and 11, 11, 5991sldi 11, 11, 8992addc 24, 24, 11993addze 25, 25994995996997998ld 5, 176(4)999ld 6, 176+8(4)1000SHR 9, 10, 6, 5, 321001addc 28, 28, 101002adde 29, 29, 9100310041005srdi 11, 7, 321006and 11, 11, 51007sldi 11, 11, 241008addc 26, 26, 111009addze 27, 27101010111012SHR 9, 10, 6, 5, 81013addc 26, 26, 101014adde 27, 27, 9101510161017andi. 11, 5, 0xff1018sldi 11, 11, 481019addc 24, 24, 111020addze 25, 25102110221023SHR 9, 10, 6, 5, 161024subfc 24, 10, 241025subfe 25, 9, 25102610271028srdi 11, 7, 481029and 11, 11, 51030sldi 11, 11, 401031li 9, 01032subfc 22, 11, 221033subfe 23, 9, 23103410351036SHR 9, 10, 6, 5, 481037addc 24, 24, 101038adde 25, 25, 9103910401041srdi 11, 7, 161042and 11, 11, 51043sldi 11, 11, 81044addc 22, 22, 111045addze 23, 2310461047104810491050ld 5, 160(4)1051ld 6, 160+8(4)1052SHR 9, 10, 6, 5, 321053addc 26, 26, 101054adde 27, 27, 9105510561057srdi 11, 7, 321058and 11, 11, 51059sldi 11, 11, 241060addc 24, 24, 111061addze 25, 25106210631064SHR 9, 10, 6, 5, 81065addc 24, 24, 101066adde 25, 25, 9106710681069andi. 11, 5, 0xff1070sldi 11, 11, 481071addc 22, 22, 111072addze 23, 23107310741075SHR 9, 10, 6, 5, 161076subfc 22, 10, 221077subfe 23, 9, 23107810791080srdi 11, 7, 481081and 11, 11, 51082sldi 11, 11, 401083li 9, 01084subfc 20, 11, 201085subfe 21, 9, 21108610871088SHR 9, 10, 6, 5, 481089addc 22, 22, 101090adde 23, 23, 9109110921093srdi 11, 7, 161094and 11, 11, 51095sldi 11, 11, 81096addc 20, 20, 111097addze 21, 2110981099110011011102ld 5, 144(4)1103ld 6, 144+8(4)1104SHR 9, 10, 6, 5, 321105addc 24, 24, 101106adde 25, 25, 9110711081109srdi 11, 7, 321110and 11, 11, 51111sldi 11, 11, 241112addc 22, 22, 111113addze 23, 23111411151116SHR 9, 10, 6, 5, 81117addc 22, 22, 101118adde 23, 23, 9111911201121andi. 11, 5, 0xff1122sldi 11, 11, 481123addc 20, 20, 111124addze 21, 21112511261127SHR 9, 10, 6, 5, 161128subfc 20, 10, 201129subfe 21, 9, 21113011311132srdi 11, 7, 481133and 11, 11, 51134sldi 11, 11, 401135li 9, 01136subfc 18, 11, 181137subfe 19, 9, 19113811391140SHR 9, 10, 6, 5, 481141addc 20, 20, 101142adde 21, 21, 9114311441145srdi 11, 7, 161146and 11, 11, 51147sldi 11, 11, 81148addc 18, 18, 111149addze 19, 1911501151115211531154mr 5, 301155mr 6, 311156SHR 9, 10, 6, 5, 321157addc 22, 22, 101158adde 23, 23, 9115911601161srdi 11, 7, 321162and 11, 11, 51163sldi 11, 11, 241164addc 20, 20, 111165addze 21, 21116611671168SHR 9, 10, 6, 5, 81169addc 20, 20, 101170adde 21, 21, 9117111721173andi. 11, 5, 0xff1174sldi 11, 11, 481175addc 18, 18, 111176addze 19, 19117711781179SHR 9, 10, 6, 5, 161180subfc 18, 10, 181181subfe 19, 9, 19118211831184srdi 11, 7, 481185and 11, 11, 51186sldi 11, 11, 401187li 9, 01188subfc 16, 11, 161189subfe 17, 9, 17119011911192SHR 9, 10, 6, 5, 481193addc 18, 18, 101194adde 19, 19, 9119511961197srdi 11, 7, 161198and 11, 11, 51199sldi 11, 11, 81200addc 16, 16, 111201addze 17, 1712021203120412051206mr 5, 281207mr 6, 291208SHR 9, 10, 6, 5, 321209addc 20, 20, 101210adde 21, 21, 9121112121213srdi 11, 7, 321214and 11, 11, 51215sldi 11, 11, 241216addc 18, 18, 111217addze 19, 19121812191220SHR 9, 10, 6, 5, 81221addc 18, 18, 101222adde 19, 19, 9122312241225andi. 11, 5, 0xff1226sldi 11, 11, 481227addc 16, 16, 111228addze 17, 17122912301231SHR 9, 10, 6, 5, 161232subfc 16, 10, 161233subfe 17, 9, 17123412351236srdi 11, 7, 481237and 11, 11, 51238sldi 11, 11, 401239li 9, 01240subfc 14, 11, 141241subfe 15, 9, 15124212431244SHR 9, 10, 6, 5, 481245addc 16, 16, 101246adde 17, 17, 9124712481249srdi 11, 7, 161250and 11, 11, 51251sldi 11, 11, 81252addc 14, 14, 111253addze 15, 151254125512561257125812591260SHR 9, 10, 23, 22, 561261addc 24, 24, 101262adde 25, 25, 91263srdi 11, 7, 81264and 22, 22, 111265li 23, 01266126712681269SHR 9, 10, 25, 24, 561270addc 26, 26, 101271adde 27, 27, 91272and 24, 24, 111273li 25, 012741275127612771278SHR 31, 30, 27, 26, 481279srdi 11, 7, 161280and 26, 26, 111281li 27, 01282128312841285SHR 9, 10, 31, 30, 401286addc 20, 20, 101287adde 21, 21, 9128812891290srdi 11, 7, 241291and 10, 30, 111292sldi 10, 10, 161293addc 18, 18, 101294addze 19, 19129512961297SHR 9, 10, 31, 30, 161298addc 18, 18, 101299adde 19, 19, 9130013011302srdi 11, 7, 481303and 10, 30, 111304sldi 10, 10, 401305addc 16, 16, 101306addze 17, 17130713081309SHR 9, 10, 31, 30, 241310subfc 16, 10, 161311subfe 17, 9, 17131213131314srdi 11, 7, 401315and 10, 30, 111316sldi 10, 10, 321317li 9, 01318subfc 14, 10, 141319subfe 15, 9, 15132013211322addc 14, 14, 301323adde 15, 15, 3113241325132613271328SHR 9, 10, 15, 14, 561329addc 16, 16, 101330adde 17, 17, 9133113321333srdi 11, 7, 81334and 14, 14, 111335li 15, 0133613371338SHR 9, 10, 17, 16, 561339addc 18, 18, 101340adde 19, 19, 9134113421343and 16, 16, 111344li 17, 0134513461347SHR 9, 10, 19, 18, 561348addc 20, 20, 101349adde 21, 21, 9135013511352and 18, 18, 111353li 19, 0135413551356SHR 9, 10, 21, 20, 561357addc 22, 22, 101358adde 23, 23, 9135913601361and 20, 20, 111362li 21, 0136313641365SHR 9, 10, 23, 22, 561366addc 24, 24, 101367adde 25, 25, 9136813691370and 22, 22, 11137113721373SHR 9, 10, 25, 24, 561374addc 26, 26, 101375adde 27, 27, 9137613771378and 24, 24, 1113791380std 14, 0(3)1381std 16, 8(3)1382std 18, 16(3)1383std 20, 24(3)1384std 22, 32(3)1385std 24, 40(3)1386std 26, 48(3)1387blr1388.size _p384_felem_reduce_core,.-_p384_felem_reduce_core13891390.data1391.align 41392.LConst:13931394.long 0x0, 0x0, 0xfffffff0, 0xfffffff13951396.long 0x0, 0x0, 0xfffffff0, 0xfefffff13971398.long 0x0, 0x0, 0xfffff000, 0x10000fff13991400.long 0x0, 0x0, 0xeffffff0, 0xfffffff14011402.abiversion 21403.text14041405140614071408.global p384_felem_square_reduce1409.type p384_felem_square_reduce,@function1410.align 41411p384_felem_square_reduce:1412.localentry p384_felem_square_reduce,014131414stdu 1, -512(1)1415mflr 01416std 14, 56(1)1417std 15, 64(1)1418std 16, 72(1)1419std 17, 80(1)1420std 18, 88(1)1421std 19, 96(1)1422std 20, 104(1)1423std 21, 112(1)1424std 22, 120(1)1425std 23, 128(1)1426std 24, 136(1)1427std 25, 144(1)1428std 26, 152(1)1429std 27, 160(1)1430std 28, 168(1)1431std 29, 176(1)1432std 30, 184(1)1433std 31, 192(1)14341435std 3, 496(1)1436addi 3, 1, 2081437bl _p384_felem_square_core14381439mr 4, 31440ld 3, 496(1)1441bl _p384_felem_reduce_core14421443ld 14, 56(1)1444ld 15, 64(1)1445ld 16, 72(1)1446ld 17, 80(1)1447ld 18, 88(1)1448ld 19, 96(1)1449ld 20, 104(1)1450ld 21, 112(1)1451ld 22, 120(1)1452ld 23, 128(1)1453ld 24, 136(1)1454ld 25, 144(1)1455ld 26, 152(1)1456ld 27, 160(1)1457ld 28, 168(1)1458ld 29, 176(1)1459ld 30, 184(1)1460ld 31, 192(1)1461addi 1, 1, 5121462mtlr 01463blr1464.size p384_felem_square_reduce,.-p384_felem_square_reduce14651466146714681469.global p384_felem_mul_reduce1470.type p384_felem_mul_reduce,@function1471.align 51472p384_felem_mul_reduce:1473.localentry p384_felem_mul_reduce,014741475stdu 1, -512(1)1476mflr 01477std 14, 56(1)1478std 15, 64(1)1479std 16, 72(1)1480std 17, 80(1)1481std 18, 88(1)1482std 19, 96(1)1483std 20, 104(1)1484std 21, 112(1)1485std 22, 120(1)1486std 23, 128(1)1487std 24, 136(1)1488std 25, 144(1)1489std 26, 152(1)1490std 27, 160(1)1491std 28, 168(1)1492std 29, 176(1)1493std 30, 184(1)1494std 31, 192(1)14951496std 3, 496(1)1497addi 3, 1, 2081498bl _p384_felem_mul_core14991500mr 4, 31501ld 3, 496(1)1502bl _p384_felem_reduce_core15031504ld 14, 56(1)1505ld 15, 64(1)1506ld 16, 72(1)1507ld 17, 80(1)1508ld 18, 88(1)1509ld 19, 96(1)1510ld 20, 104(1)1511ld 21, 112(1)1512ld 22, 120(1)1513ld 23, 128(1)1514ld 24, 136(1)1515ld 25, 144(1)1516ld 26, 152(1)1517ld 27, 160(1)1518ld 28, 168(1)1519ld 29, 176(1)1520ld 30, 184(1)1521ld 31, 192(1)1522addi 1, 1, 5121523mtlr 01524blr1525.size p384_felem_mul_reduce,.-p384_felem_mul_reduce152615271528