Lines Matching +full:1 +full:- +full:v0
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
16 * 32 bits of 0s to the end - this matches what a CRC does. We just
28 #include <asm/ppc-opcode.h>
66 std r31,-8(r1)
67 std r30,-16(r1)
68 std r29,-24(r1)
69 std r28,-32(r1)
70 std r27,-40(r1)
71 std r26,-48(r1)
72 std r25,-56(r1)
101 vspltisw v0,-1
103 vsldoi mask_32bit,zeroes,v0,4
104 vsldoi mask_64bit,zeroes,v0,8
127 1: lis r7,MAX_SIZE@h
141 * data - 128 / 16 = 8
148 addi r7,r7,-1
156 /* zero v0-v7 which will contain our checksums */
157 vxor v0,v0,v0
170 * already in v16-v23.
172 cmpdi r0,1
248 * to complete - first iteration load, second iteration vpmsum, third
256 vxor v0,v0,v8
313 vxor v0,v0,v8
347 vxor v0,v0,v8
363 vsldoi v0,v0,zeroes,4
393 vxor v16,v0,v8
402 li r0,1
405 bne 1b
422 lvx v0,0,r3
432 VPMSUMW(v0,v16,v0)
441 /* Now reduce the tail (0 - 112 bytes) */
443 beq 1f
449 vxor v0,v0,v16
450 bdz 1f
456 vxor v0,v0,v16
457 bdz 1f
463 vxor v0,v0,v16
464 bdz 1f
470 vxor v0,v0,v16
471 bdz 1f
477 vxor v0,v0,v16
478 bdz 1f
484 vxor v0,v0,v16
485 bdz 1f
491 vxor v0,v0,v16
494 1: vxor v0,v0,v1
499 vxor v0,v0,v2
502 vxor v0,v0,v4
511 vsldoi v1,v0,v0,8
512 vxor v0,v0,v1 /* xor two 64 bit results together */
516 vspltisb v1,1
517 vsl v0,v0,v1
520 vand v0,v0,mask_64bit
528 VPMSUMD(v1,v0,const1) /* ma */
531 vxor v0,v0,v1 /* a - qn, subtraction is xor in GF(2) */
535 * V0 [ 0 1 2 X ]
536 * V0 [ 0 X 2 3 ]
538 vsldoi v0,v0,zeroes,8 /* shift result into top 64 bits */
544 * our vector registers goes from 0-63 instead of 63-0. We can reflect
547 vand v1,v0,mask_32bit /* bottom 32 bits of a */
551 vxor v0,v0,v1 /* a - qn, subtraction is xor in GF(2) */
556 * V0 [ 0 1 X 3 ]
557 * V0 [ 0 X 2 3 ]
559 vsldoi v0,v0,zeroes,4 /* shift result into top 64 bits of */
563 MFVRD(R3, v0)
580 ld r31,-8(r1)
581 ld r30,-16(r1)
582 ld r29,-24(r1)
583 ld r28,-32(r1)
584 ld r27,-40(r1)
585 ld r26,-48(r1)
586 ld r25,-56(r1)
622 lvx v0,0,r4
624 VPERM(v0,v0,v16,byteswap)
625 vxor v0,v0,v8 /* xor in initial value */
626 VPMSUMW(v0,v0,v16)
736 .Lv0: vxor v20,v20,v0
738 vxor v0,v19,v20