Path: blob/main/sys/crypto/openssl/powerpc64/ghashp8-ppc.S
39482 views
/* Do not modify. This file is auto-generated from ghashp8-ppc.pl. */1.machine "any"23.abiversion 24.text56.globl gcm_init_p87.type gcm_init_p8,@function8.align 59gcm_init_p8:10.localentry gcm_init_p8,01112li 0,-409613li 8,0x1014li 12,-115li 9,0x2016or 0,0,017li 10,0x3018.long 0x7D2026991920vspltisb 8,-1621vspltisb 5,122vaddubm 8,8,823vxor 4,4,424vor 8,8,525vsldoi 8,8,4,1526vsldoi 6,4,5,127vaddubm 8,8,828vspltisb 7,729vor 8,8,630vspltb 6,9,031vsl 9,9,532vsrab 6,6,733vand 6,6,834vxor 3,9,63536vsldoi 9,3,3,837vsldoi 8,4,8,838vsldoi 11,4,9,839vsldoi 10,9,4,84041.long 0x7D001F9942.long 0x7D681F9943li 8,0x4044.long 0x7D291F9945li 9,0x5046.long 0x7D4A1F9947li 10,0x604849.long 0x10035CC850.long 0x10234CC851.long 0x104354C85253.long 0x10E044C85455vsldoi 5,1,4,856vsldoi 6,4,1,857vxor 0,0,558vxor 2,2,65960vsldoi 0,0,0,861vxor 0,0,76263vsldoi 6,0,0,864.long 0x100044C865vxor 6,6,266vxor 16,0,66768vsldoi 17,16,16,869vsldoi 19,4,17,870vsldoi 18,17,4,87172.long 0x7E681F9973li 8,0x7074.long 0x7E291F9975li 9,0x8076.long 0x7E4A1F9977li 10,0x9078.long 0x10039CC879.long 0x11B09CC880.long 0x10238CC881.long 0x11D08CC882.long 0x104394C883.long 0x11F094C88485.long 0x10E044C886.long 0x114D44C88788vsldoi 5,1,4,889vsldoi 6,4,1,890vsldoi 11,14,4,891vsldoi 9,4,14,892vxor 0,0,593vxor 2,2,694vxor 13,13,1195vxor 15,15,99697vsldoi 0,0,0,898vsldoi 13,13,13,899vxor 0,0,7100vxor 13,13,10101102vsldoi 6,0,0,8103vsldoi 9,13,13,8104.long 0x100044C8105.long 0x11AD44C8106vxor 6,6,2107vxor 9,9,15108vxor 0,0,6109vxor 13,13,9110111vsldoi 9,0,0,8112vsldoi 17,13,13,8113vsldoi 11,4,9,8114vsldoi 10,9,4,8115vsldoi 19,4,17,8116vsldoi 18,17,4,8117118.long 0x7D681F99119li 8,0xa0120.long 0x7D291F99121li 9,0xb0122.long 0x7D4A1F99123li 10,0xc0124.long 0x7E681F99125.long 0x7E291F99126.long 0x7E4A1F99127128or 12,12,12129blr130.long 0131.byte 0,12,0x14,0,0,0,2,0132.long 0133.size gcm_init_p8,.-gcm_init_p8134.globl gcm_gmult_p8135.type gcm_gmult_p8,@function136.align 5137gcm_gmult_p8:138.localentry gcm_gmult_p8,0139140lis 0,0xfff8141li 8,0x10142li 12,-1143li 9,0x20144or 0,0,0145li 10,0x30146.long 0x7C601E99147148.long 0x7D682699149150.long 0x7D292699151152.long 0x7D4A2699153154.long 0x7D002699155156vxor 4,4,4157158.long 0x10035CC8159.long 0x10234CC8160.long 0x104354C8161162.long 0x10E044C8163164vsldoi 5,1,4,8165vsldoi 6,4,1,8166vxor 0,0,5167vxor 2,2,6168169vsldoi 0,0,0,8170vxor 0,0,7171172vsldoi 6,0,0,8173.long 0x100044C8174vxor 6,6,2175vxor 0,0,6176177178.long 0x7C001F99179180or 12,12,12181blr182.long 0183.byte 0,12,0x14,0,0,0,2,0184.long 0185.size gcm_gmult_p8,.-gcm_gmult_p8186187.globl gcm_ghash_p8188.type gcm_ghash_p8,@function189.align 5190gcm_ghash_p8:191.localentry gcm_ghash_p8,0192193li 0,-4096194li 8,0x10195li 12,-1196li 9,0x20197or 0,0,0198li 10,0x30199.long 0x7C001E99200201.long 0x7D682699202li 8,0x40203204.long 0x7D292699205li 9,0x50206207.long 0x7D4A2699208li 10,0x60209210.long 0x7D002699211212vxor 4,4,4213214cmpldi 6,64215bge .Lgcm_ghash_p8_4x216217.long 0x7C602E99218addi 5,5,16219subic. 6,6,16220221vxor 3,3,0222beq .Lshort223224.long 0x7E682699225li 8,16226.long 0x7E292699227add 9,5,6228.long 0x7E4A2699229b .Loop_2x230231.align 5232.Loop_2x:233.long 0x7E002E99234235236subic 6,6,32237.long 0x10039CC8238.long 0x11B05CC8239subfe 0,0,0240.long 0x10238CC8241.long 0x11D04CC8242and 0,0,6243.long 0x104394C8244.long 0x11F054C8245add 5,5,0246247vxor 0,0,13248vxor 1,1,14249250.long 0x10E044C8251252vsldoi 5,1,4,8253vsldoi 6,4,1,8254vxor 2,2,15255vxor 0,0,5256vxor 2,2,6257258vsldoi 0,0,0,8259vxor 0,0,7260.long 0x7C682E99261addi 5,5,32262263vsldoi 6,0,0,8264.long 0x100044C8265266vxor 6,6,2267vxor 3,3,6268vxor 3,3,0269cmpld 9,5270bgt .Loop_2x271272cmplwi 6,0273bne .Leven274275.Lshort:276.long 0x10035CC8277.long 0x10234CC8278.long 0x104354C8279280.long 0x10E044C8281282vsldoi 5,1,4,8283vsldoi 6,4,1,8284vxor 0,0,5285vxor 2,2,6286287vsldoi 0,0,0,8288vxor 0,0,7289290vsldoi 6,0,0,8291.long 0x100044C8292vxor 6,6,2293294.Leven:295vxor 0,0,6296297.long 0x7C001F99298299or 12,12,12300blr301.long 0302.byte 0,12,0x14,0,0,0,4,0303.long 0304.align 5305.gcm_ghash_p8_4x:306.Lgcm_ghash_p8_4x:307stdu 1,-256(1)308li 10,63309li 11,79310stvx 20,10,1311addi 10,10,32312stvx 21,11,1313addi 11,11,32314stvx 22,10,1315addi 10,10,32316stvx 23,11,1317addi 11,11,32318stvx 24,10,1319addi 10,10,32320stvx 25,11,1321addi 11,11,32322stvx 26,10,1323addi 10,10,32324stvx 27,11,1325addi 11,11,32326stvx 28,10,1327addi 10,10,32328stvx 29,11,1329addi 11,11,32330stvx 30,10,1331li 10,0x60332stvx 31,11,1333li 0,-1334stw 12,252(1)335or 0,0,0336337lvsl 5,0,8338339li 8,0x70340.long 0x7E292699341li 9,0x80342vspltisb 6,8343344li 10,0x90345.long 0x7EE82699346li 8,0xa0347.long 0x7F092699348li 9,0xb0349.long 0x7F2A2699350li 10,0xc0351.long 0x7FA82699352li 8,0x10353.long 0x7FC92699354li 9,0x20355.long 0x7FEA2699356li 10,0x30357358vsldoi 7,4,6,8359vaddubm 18,5,7360vaddubm 19,6,18361362srdi 6,6,4363364.long 0x7C602E99365.long 0x7E082E99366subic. 6,6,8367.long 0x7EC92E99368.long 0x7F8A2E99369addi 5,5,0x40370371372373374375vxor 2,3,0376377.long 0x11B0BCC8378.long 0x11D0C4C8379.long 0x11F0CCC8380381vperm 11,17,9,18382vperm 5,22,28,19383vperm 10,17,9,19384vperm 6,22,28,18385.long 0x12B68CC8386.long 0x12855CC8387.long 0x137C4CC8388.long 0x134654C8389390vxor 21,21,14391vxor 20,20,13392vxor 27,27,21393vxor 26,26,15394395blt .Ltail_4x396397.Loop_4x:398.long 0x7C602E99399.long 0x7E082E99400subic. 6,6,4401.long 0x7EC92E99402.long 0x7F8A2E99403addi 5,5,0x40404405406407408409.long 0x1002ECC8410.long 0x1022F4C8411.long 0x1042FCC8412.long 0x11B0BCC8413.long 0x11D0C4C8414.long 0x11F0CCC8415416vxor 0,0,20417vxor 1,1,27418vxor 2,2,26419vperm 5,22,28,19420vperm 6,22,28,18421422.long 0x10E044C8423.long 0x12855CC8424.long 0x134654C8425426vsldoi 5,1,4,8427vsldoi 6,4,1,8428vxor 0,0,5429vxor 2,2,6430431vsldoi 0,0,0,8432vxor 0,0,7433434vsldoi 6,0,0,8435.long 0x12B68CC8436.long 0x137C4CC8437.long 0x100044C8438439vxor 20,20,13440vxor 26,26,15441vxor 2,2,3442vxor 21,21,14443vxor 2,2,6444vxor 27,27,21445vxor 2,2,0446bge .Loop_4x447448.Ltail_4x:449.long 0x1002ECC8450.long 0x1022F4C8451.long 0x1042FCC8452453vxor 0,0,20454vxor 1,1,27455456.long 0x10E044C8457458vsldoi 5,1,4,8459vsldoi 6,4,1,8460vxor 2,2,26461vxor 0,0,5462vxor 2,2,6463464vsldoi 0,0,0,8465vxor 0,0,7466467vsldoi 6,0,0,8468.long 0x100044C8469vxor 6,6,2470vxor 0,0,6471472addic. 6,6,4473beq .Ldone_4x474475.long 0x7C602E99476cmpldi 6,2477li 6,-4478blt .Lone479.long 0x7E082E99480beq .Ltwo481482.Lthree:483.long 0x7EC92E99484485486487488vxor 2,3,0489vor 29,23,23490vor 30,24,24491vor 31,25,25492493vperm 5,16,22,19494vperm 6,16,22,18495.long 0x12B08CC8496.long 0x13764CC8497.long 0x12855CC8498.long 0x134654C8499500vxor 27,27,21501b .Ltail_4x502503.align 4504.Ltwo:505506507508vxor 2,3,0509vperm 5,4,16,19510vperm 6,4,16,18511512vsldoi 29,4,17,8513vor 30,17,17514vsldoi 31,17,4,8515516.long 0x12855CC8517.long 0x13704CC8518.long 0x134654C8519520b .Ltail_4x521522.align 4523.Lone:524525526vsldoi 29,4,9,8527vor 30,9,9528vsldoi 31,9,4,8529530vxor 2,3,0531vxor 20,20,20532vxor 27,27,27533vxor 26,26,26534535b .Ltail_4x536537.Ldone_4x:538539.long 0x7C001F99540541li 10,63542li 11,79543or 12,12,12544lvx 20,10,1545addi 10,10,32546lvx 21,11,1547addi 11,11,32548lvx 22,10,1549addi 10,10,32550lvx 23,11,1551addi 11,11,32552lvx 24,10,1553addi 10,10,32554lvx 25,11,1555addi 11,11,32556lvx 26,10,1557addi 10,10,32558lvx 27,11,1559addi 11,11,32560lvx 28,10,1561addi 10,10,32562lvx 29,11,1563addi 11,11,32564lvx 30,10,1565lvx 31,11,1566addi 1,1,256567blr568.long 0569.byte 0,12,0x04,0,0x80,0,4,0570.long 0571.size gcm_ghash_p8,.-gcm_ghash_p8572573.byte 71,72,65,83,72,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,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,0574.align 2575.align 2576577578