Lines Matching +full:8 +full:- +full:15
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
5 # Copyright 2023- IBM Corp. All rights reserved
10 # Poly1305 - this version mainly using vector/VSX/Scalar
11 # - 26 bits limbs
12 # - Handle multiple 64 byte blcok.
17 # p = 2^130 - 5
25 # 07/22/21 - this revison based on the above sum of products. Setup r^4, r^3, r^2, r and s3, s2, …
56 #include <asm/asm-offsets.h>
57 #include <asm/asm-compat.h>
95 stdu 1,-752(1)
98 SAVE_GPR 15, 120, 1
131 SAVE_VSX 15, 208, 9
166 RESTORE_VSX 15, 208, 9
185 RESTORE_GPR 15, 120, 1
224 vmulouw 13, 8, 0
225 vmulouw 15, 4, 27
232 vaddudm 15, 15, 10
233 vaddudm 15, 15, 11
235 vmulouw 13, 8, 1
236 vaddudm 15, 15, 12
237 vaddudm 15, 15, 13 # x1
244 vmulouw 13, 8, 2
253 vmulouw 13, 8, 3
262 vmulouw 13, 8, 26
272 vmuleuw 13, 8, 0
283 vmuleuw 13, 8, 1
284 vaddudm 15, 15, 9
285 vaddudm 15, 15, 10
286 vaddudm 15, 15, 11
287 vaddudm 15, 15, 12
288 vaddudm 15, 15, 13 # x1
294 vmuleuw 13, 8, 2
305 vmuleuw 13, 8, 3
316 vmuleuw 13, 8, 26
362 vmr 8, 30
389 vmrgow 30, 30, 8
409 xxlor 8, 35, 35
449 vaddudm 15, 15, 10
451 vsrd 11, 15, 31
452 vand 8, 18, 25
453 vand 5, 15, 25
468 vaddudm 8, 8, 11
480 ld 12, 8(10)
483 li 15, 32
486 lvx 25, 0, 10 # v25 - mask
488 lvx 19, 15, 10 # v19 = 1 << 24
501 extrdi 15, 9, 26, 12
505 mtvsrdd 59, 0, 15
544 ld 10, 8(3)
549 extrdi 15, 9, 26, 12
553 mtvsrdd 37, 0, 15
559 vor 8, 8, 9
569 vperm 15, 11, 12, 18
575 vand 16, 15, 25
580 vsrd 12, 15, 13 # >> 14
588 vaddudm 24, 8, 13
596 vperm 15, 11, 12, 18
602 vand 16, 15, 25
607 vsrd 12, 15, 13 # >> 14
616 vmrgow 8, 13, 24
617 vaddudm 8, 8, 19
619 addi 5, 5, -64 # len -= 64
633 # h3 = (h1 + m3) * r^2, h4 = (h2 + m4) * r^2 --> (h0 + m1) r*4 + (h3 + m3) r^2, (h0 + m2) r^4 + (h…
635 # h5 = (h3 + m5) * r^2, h6 = (h4 + m6) * r^2 -->
636 # h7 = (h5 + m7) * r^2, h8 = (h6 + m8) * r^1 --> m5 * r^4 + m6 * r^3 + m7 * r^2 + m8 * r
651 vaddudm 15, 15, 10
653 vsrd 11, 15, 31
654 vand 8, 18, 25
655 vand 5, 15, 25
670 vaddudm 8, 8, 11
680 vperm 15, 11, 12, 18
699 vand 16, 15, 25
708 vsrd 23, 15, 13 # >> 14
719 vaddudm 8, 8, 24
726 vmrgow 8, 13, 8
727 vaddudm 8, 8, 19
729 addi 5, 5, -64 # len -= 64
743 xxlor 35, 8, 8
754 vaddudm 5, 15, 10
763 vaddudm 8, 18, 13
772 vaddudm 8, 8, 11
773 vsrd 12, 8, 31
777 vand 8, 8, 25
796 vaddudm 8, 8, 11
814 vsld 8, 8, 11
815 vsld 8, 8, 31
816 vor 21, 21, 8
822 std 19, 8(3)
847 ld 12, 8(10)
857 add 19, 21, 10 # s1: r19 - (r1 >> 2) *5
882 vmsumudm 10, 8, 2, 11 # d1 += h2 * s1
885 vmsumudm 11, 8, 3, 9 # d2 = h2 * r0
923 # - no highbit if final leftover block (highbit = 0)
931 stdu 1,-400(1)
934 SAVE_GPR 15, 120, 1
962 ld 28, 8(3)
976 ld 21, 8(11)
985 mtvsrdd 32+8, 29, 22 # h2
994 std 28, 8(3)
1000 RESTORE_GPR 15, 120, 1
1035 ld 11, 8(3)
1039 # h + 5 + (-p)
1042 mr 8, 12
1045 addze 8, 8
1046 srdi 9, 8, 2 # overflow?
1051 mr 12, 8
1055 ld 7, 8(4)
1061 std 11, 8(5)