Lines Matching +full:- +full:30

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 # Accelerated AES-GCM stitched implementation for ppc64le.
5 # Copyright 2022- IBM Inc. All rights reserved
22 # Hash keys = v3 - v14
29 # v31 - counter 1
32 # vs0 - vs14 for round keys
35 # This implementation uses stitched AES-GCM approach to improve overall performance.
48 # v15 - v18 - input states
49 # vs1 - vs9 - round keys
110 # v15 - v22 - input states
111 # vs1 - vs9 - round keys
290 # v15 - v22 - input blocks
428 stdu 1,-640(1)
460 stvx 30, 9, 1
506 lvx 30, 9, 1
528 # load Hash - h^4, h^3, h^2, h
564 # r3 - inp
565 # r4 - out
566 # r5 - len
567 # r6 - AES round keys
568 # r7 - iv and other data
569 # r8 - Xi, HPoli, hash keys
581 # initialize ICB: GHASH( IV ), IV - r7
582 lxvb16x 30+32, 0, 7 # load IV - v30
605 # load rounds - 10 (128), 12 (192), 14 (256)
611 vxor 15, 30, 29 # IV + round key - add round key 0
650 divdu 10, 12, 10 # n 128 bytes-blocks
654 vaddudm 30, 30, 31 # IV + counter
655 vxor 16, 30, 29
656 vaddudm 30, 30, 31
657 vxor 17, 30, 29
658 vaddudm 30, 30, 31
659 vxor 18, 30, 29
660 vaddudm 30, 30, 31
661 vxor 19, 30, 29
662 vaddudm 30, 30, 31
663 vxor 20, 30, 29
664 vaddudm 30, 30, 31
665 vxor 21, 30, 29
666 vaddudm 30, 30, 31
667 vxor 22, 30, 29
795 vaddudm 30, 30, 31 # IV + counter
796 vmr 29, 30
797 vxor 15, 30, 27 # add round key
798 vaddudm 30, 30, 31
799 vxor 16, 30, 27
800 vaddudm 30, 30, 31
801 vxor 17, 30, 27
802 vaddudm 30, 30, 31
803 vxor 18, 30, 27
804 vaddudm 30, 30, 31
805 vxor 19, 30, 27
806 vaddudm 30, 30, 31
807 vxor 20, 30, 27
808 vaddudm 30, 30, 31
809 vxor 21, 30, 27
810 vaddudm 30, 30, 31
811 vxor 22, 30, 27
813 addi 12, 12, -128
818 vmr 30, 29
819 stxvb16x 30+32, 0, 7 # update IV
879 addi 12, 12, -16
882 vaddudm 30, 30, 31 # IV + counter
883 vxor 15, 30, 19 # add round key
889 stxvb16x 30+32, 0, 7 # update IV
947 vspltisb 16, -1 # first 16 bytes - 0xffff...ff
948 vspltisb 17, 0 # second 16 bytes - 0x0000...00
964 stxvb16x 30+32, 0, 7 # update IV
976 vspltisb 16, -1 # first 16 bytes - 0xffff...ff
977 vspltisb 17, 0 # second 16 bytes - 0x0000...00
1037 sub 17, 16, 15 # 16 - partial
1049 addi 10, 9, -1
1068 vaddudm 30, 30, 31
1069 stxvb16x 30+32, 0, 7 # update IV
1071 vxor 15, 30, 29 # IV + round key - add round key 0
1073 std 15, 56(7) # partial done - clear
1083 # r9 - output
1084 # r12 - remaining bytes
1085 # v15 - partial input data
1091 addi 10, 9, -1
1122 # initialize ICB: GHASH( IV ), IV - r7
1123 lxvb16x 30+32, 0, 7 # load IV - v30
1146 # load rounds - 10 (128), 12 (192), 14 (256)
1152 vxor 15, 30, 29 # IV + round key - add round key 0
1191 divdu 10, 12, 10 # n 128 bytes-blocks
1195 vaddudm 30, 30, 31 # IV + counter
1196 vxor 16, 30, 29
1197 vaddudm 30, 30, 31
1198 vxor 17, 30, 29
1199 vaddudm 30, 30, 31
1200 vxor 18, 30, 29
1201 vaddudm 30, 30, 31
1202 vxor 19, 30, 29
1203 vaddudm 30, 30, 31
1204 vxor 20, 30, 29
1205 vaddudm 30, 30, 31
1206 vxor 21, 30, 29
1207 vaddudm 30, 30, 31
1208 vxor 22, 30, 29
1345 vaddudm 30, 30, 31 # IV + counter
1346 vmr 29, 30
1347 vxor 15, 30, 27 # add round key
1348 vaddudm 30, 30, 31
1349 vxor 16, 30, 27
1350 vaddudm 30, 30, 31
1351 vxor 17, 30, 27
1352 vaddudm 30, 30, 31
1353 vxor 18, 30, 27
1354 vaddudm 30, 30, 31
1355 vxor 19, 30, 27
1356 vaddudm 30, 30, 31
1357 vxor 20, 30, 27
1358 vaddudm 30, 30, 31
1359 vxor 21, 30, 27
1360 vaddudm 30, 30, 31
1361 vxor 22, 30, 27
1363 addi 12, 12, -128
1368 vmr 30, 29
1369 stxvb16x 30+32, 0, 7 # update IV
1430 addi 12, 12, -16
1433 vaddudm 30, 30, 31 # IV + counter
1434 vxor 15, 30, 19 # add round key
1440 stxvb16x 30+32, 0, 7 # update IV
1497 vspltisb 16, -1 # first 16 bytes - 0xffff...ff
1498 vspltisb 17, 0 # second 16 bytes - 0x0000...00
1515 stxvb16x 30+32, 0, 7 # update IV