Path: blob/main/sys/crypto/openssl/powerpc/ghashp8-ppc.S
39482 views
/* Do not modify. This file is auto-generated from ghashp8-ppc.pl. */1.machine "any"23.text45.globl gcm_init_p86.type gcm_init_p8,@function7.align 58gcm_init_p8:9li 0,-409610li 8,0x1011mfspr 12,25612li 9,0x2013mtspr 256,014li 10,0x3015.long 0x7D2026991617vspltisb 8,-1618vspltisb 5,119vaddubm 8,8,820vxor 4,4,421vor 8,8,522vsldoi 8,8,4,1523vsldoi 6,4,5,124vaddubm 8,8,825vspltisb 7,726vor 8,8,627vspltb 6,9,028vsl 9,9,529vsrab 6,6,730vand 6,6,831vxor 3,9,63233vsldoi 9,3,3,834vsldoi 8,4,8,835vsldoi 11,4,9,836vsldoi 10,9,4,83738.long 0x7D001F9939.long 0x7D681F9940li 8,0x4041.long 0x7D291F9942li 9,0x5043.long 0x7D4A1F9944li 10,0x604546.long 0x10035CC847.long 0x10234CC848.long 0x104354C84950.long 0x10E044C85152vsldoi 5,1,4,853vsldoi 6,4,1,854vxor 0,0,555vxor 2,2,65657vsldoi 0,0,0,858vxor 0,0,75960vsldoi 6,0,0,861.long 0x100044C862vxor 6,6,263vxor 16,0,66465vsldoi 17,16,16,866vsldoi 19,4,17,867vsldoi 18,17,4,86869.long 0x7E681F9970li 8,0x7071.long 0x7E291F9972li 9,0x8073.long 0x7E4A1F9974li 10,0x9075.long 0x10039CC876.long 0x11B09CC877.long 0x10238CC878.long 0x11D08CC879.long 0x104394C880.long 0x11F094C88182.long 0x10E044C883.long 0x114D44C88485vsldoi 5,1,4,886vsldoi 6,4,1,887vsldoi 11,14,4,888vsldoi 9,4,14,889vxor 0,0,590vxor 2,2,691vxor 13,13,1192vxor 15,15,99394vsldoi 0,0,0,895vsldoi 13,13,13,896vxor 0,0,797vxor 13,13,109899vsldoi 6,0,0,8100vsldoi 9,13,13,8101.long 0x100044C8102.long 0x11AD44C8103vxor 6,6,2104vxor 9,9,15105vxor 0,0,6106vxor 13,13,9107108vsldoi 9,0,0,8109vsldoi 17,13,13,8110vsldoi 11,4,9,8111vsldoi 10,9,4,8112vsldoi 19,4,17,8113vsldoi 18,17,4,8114115.long 0x7D681F99116li 8,0xa0117.long 0x7D291F99118li 9,0xb0119.long 0x7D4A1F99120li 10,0xc0121.long 0x7E681F99122.long 0x7E291F99123.long 0x7E4A1F99124125mtspr 256,12126blr127.long 0128.byte 0,12,0x14,0,0,0,2,0129.long 0130.size gcm_init_p8,.-gcm_init_p8131.globl gcm_gmult_p8132.type gcm_gmult_p8,@function133.align 5134gcm_gmult_p8:135lis 0,0xfff8136li 8,0x10137mfspr 12,256138li 9,0x20139mtspr 256,0140li 10,0x30141.long 0x7C601E99142143.long 0x7D682699144145.long 0x7D292699146147.long 0x7D4A2699148149.long 0x7D002699150151vxor 4,4,4152153.long 0x10035CC8154.long 0x10234CC8155.long 0x104354C8156157.long 0x10E044C8158159vsldoi 5,1,4,8160vsldoi 6,4,1,8161vxor 0,0,5162vxor 2,2,6163164vsldoi 0,0,0,8165vxor 0,0,7166167vsldoi 6,0,0,8168.long 0x100044C8169vxor 6,6,2170vxor 0,0,6171172173.long 0x7C001F99174175mtspr 256,12176blr177.long 0178.byte 0,12,0x14,0,0,0,2,0179.long 0180.size gcm_gmult_p8,.-gcm_gmult_p8181182.globl gcm_ghash_p8183.type gcm_ghash_p8,@function184.align 5185gcm_ghash_p8:186li 0,-4096187li 8,0x10188mfspr 12,256189li 9,0x20190mtspr 256,0191li 10,0x30192.long 0x7C001E99193194.long 0x7D682699195li 8,0x40196197.long 0x7D292699198li 9,0x50199200.long 0x7D4A2699201li 10,0x60202203.long 0x7D002699204205vxor 4,4,4206207cmplwi 6,64208bge .Lgcm_ghash_p8_4x209210.long 0x7C602E99211addi 5,5,16212subic. 6,6,16213214vxor 3,3,0215beq .Lshort216217.long 0x7E682699218li 8,16219.long 0x7E292699220add 9,5,6221.long 0x7E4A2699222b .Loop_2x223224.align 5225.Loop_2x:226.long 0x7E002E99227228229subic 6,6,32230.long 0x10039CC8231.long 0x11B05CC8232subfe 0,0,0233.long 0x10238CC8234.long 0x11D04CC8235and 0,0,6236.long 0x104394C8237.long 0x11F054C8238add 5,5,0239240vxor 0,0,13241vxor 1,1,14242243.long 0x10E044C8244245vsldoi 5,1,4,8246vsldoi 6,4,1,8247vxor 2,2,15248vxor 0,0,5249vxor 2,2,6250251vsldoi 0,0,0,8252vxor 0,0,7253.long 0x7C682E99254addi 5,5,32255256vsldoi 6,0,0,8257.long 0x100044C8258259vxor 6,6,2260vxor 3,3,6261vxor 3,3,0262.long 0x7c092840263bgt .Loop_2x264265cmplwi 6,0266bne .Leven267268.Lshort:269.long 0x10035CC8270.long 0x10234CC8271.long 0x104354C8272273.long 0x10E044C8274275vsldoi 5,1,4,8276vsldoi 6,4,1,8277vxor 0,0,5278vxor 2,2,6279280vsldoi 0,0,0,8281vxor 0,0,7282283vsldoi 6,0,0,8284.long 0x100044C8285vxor 6,6,2286287.Leven:288vxor 0,0,6289290.long 0x7C001F99291292mtspr 256,12293blr294.long 0295.byte 0,12,0x14,0,0,0,4,0296.long 0297.align 5298.gcm_ghash_p8_4x:299.Lgcm_ghash_p8_4x:300stwu 1,-232(1)301li 10,39302li 11,55303stvx 20,10,1304addi 10,10,32305stvx 21,11,1306addi 11,11,32307stvx 22,10,1308addi 10,10,32309stvx 23,11,1310addi 11,11,32311stvx 24,10,1312addi 10,10,32313stvx 25,11,1314addi 11,11,32315stvx 26,10,1316addi 10,10,32317stvx 27,11,1318addi 11,11,32319stvx 28,10,1320addi 10,10,32321stvx 29,11,1322addi 11,11,32323stvx 30,10,1324li 10,0x60325stvx 31,11,1326li 0,-1327stw 12,228(1)328mtspr 256,0329330lvsl 5,0,8331332li 8,0x70333.long 0x7E292699334li 9,0x80335vspltisb 6,8336337li 10,0x90338.long 0x7EE82699339li 8,0xa0340.long 0x7F092699341li 9,0xb0342.long 0x7F2A2699343li 10,0xc0344.long 0x7FA82699345li 8,0x10346.long 0x7FC92699347li 9,0x20348.long 0x7FEA2699349li 10,0x30350351vsldoi 7,4,6,8352vaddubm 18,5,7353vaddubm 19,6,18354355srwi 6,6,4356357.long 0x7C602E99358.long 0x7E082E99359subic. 6,6,8360.long 0x7EC92E99361.long 0x7F8A2E99362addi 5,5,0x40363364365366367368vxor 2,3,0369370.long 0x11B0BCC8371.long 0x11D0C4C8372.long 0x11F0CCC8373374vperm 11,17,9,18375vperm 5,22,28,19376vperm 10,17,9,19377vperm 6,22,28,18378.long 0x12B68CC8379.long 0x12855CC8380.long 0x137C4CC8381.long 0x134654C8382383vxor 21,21,14384vxor 20,20,13385vxor 27,27,21386vxor 26,26,15387388blt .Ltail_4x389390.Loop_4x:391.long 0x7C602E99392.long 0x7E082E99393subic. 6,6,4394.long 0x7EC92E99395.long 0x7F8A2E99396addi 5,5,0x40397398399400401402.long 0x1002ECC8403.long 0x1022F4C8404.long 0x1042FCC8405.long 0x11B0BCC8406.long 0x11D0C4C8407.long 0x11F0CCC8408409vxor 0,0,20410vxor 1,1,27411vxor 2,2,26412vperm 5,22,28,19413vperm 6,22,28,18414415.long 0x10E044C8416.long 0x12855CC8417.long 0x134654C8418419vsldoi 5,1,4,8420vsldoi 6,4,1,8421vxor 0,0,5422vxor 2,2,6423424vsldoi 0,0,0,8425vxor 0,0,7426427vsldoi 6,0,0,8428.long 0x12B68CC8429.long 0x137C4CC8430.long 0x100044C8431432vxor 20,20,13433vxor 26,26,15434vxor 2,2,3435vxor 21,21,14436vxor 2,2,6437vxor 27,27,21438vxor 2,2,0439bge .Loop_4x440441.Ltail_4x:442.long 0x1002ECC8443.long 0x1022F4C8444.long 0x1042FCC8445446vxor 0,0,20447vxor 1,1,27448449.long 0x10E044C8450451vsldoi 5,1,4,8452vsldoi 6,4,1,8453vxor 2,2,26454vxor 0,0,5455vxor 2,2,6456457vsldoi 0,0,0,8458vxor 0,0,7459460vsldoi 6,0,0,8461.long 0x100044C8462vxor 6,6,2463vxor 0,0,6464465addic. 6,6,4466beq .Ldone_4x467468.long 0x7C602E99469cmplwi 6,2470li 6,-4471blt .Lone472.long 0x7E082E99473beq .Ltwo474475.Lthree:476.long 0x7EC92E99477478479480481vxor 2,3,0482vor 29,23,23483vor 30,24,24484vor 31,25,25485486vperm 5,16,22,19487vperm 6,16,22,18488.long 0x12B08CC8489.long 0x13764CC8490.long 0x12855CC8491.long 0x134654C8492493vxor 27,27,21494b .Ltail_4x495496.align 4497.Ltwo:498499500501vxor 2,3,0502vperm 5,4,16,19503vperm 6,4,16,18504505vsldoi 29,4,17,8506vor 30,17,17507vsldoi 31,17,4,8508509.long 0x12855CC8510.long 0x13704CC8511.long 0x134654C8512513b .Ltail_4x514515.align 4516.Lone:517518519vsldoi 29,4,9,8520vor 30,9,9521vsldoi 31,9,4,8522523vxor 2,3,0524vxor 20,20,20525vxor 27,27,27526vxor 26,26,26527528b .Ltail_4x529530.Ldone_4x:531532.long 0x7C001F99533534li 10,39535li 11,55536mtspr 256,12537lvx 20,10,1538addi 10,10,32539lvx 21,11,1540addi 11,11,32541lvx 22,10,1542addi 10,10,32543lvx 23,11,1544addi 11,11,32545lvx 24,10,1546addi 10,10,32547lvx 25,11,1548addi 11,11,32549lvx 26,10,1550addi 10,10,32551lvx 27,11,1552addi 11,11,32553lvx 28,10,1554addi 10,10,32555lvx 29,11,1556addi 11,11,32557lvx 30,10,1558lvx 31,11,1559addi 1,1,232560blr561.long 0562.byte 0,12,0x04,0,0x80,0,4,0563.long 0564.size gcm_ghash_p8,.-gcm_ghash_p8565566.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,0567.align 2568.align 2569570571