Lines Matching +full:7 +full:- +full:9
1 /* SPDX-License-Identifier: GPL-2.0 OR MIT */
3 * Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
4 * Copyright (C) 2017-2019 Samuel Neves <sneves@dei.uc.pt>. All Rights Reserved.
28 .byte 0, 2, 4, 6, 1, 3, 5, 7, 14, 8, 10, 12, 15, 9, 11, 13
29 .byte 14, 4, 9, 13, 10, 8, 15, 6, 5, 1, 0, 11, 3, 12, 2, 7
30 .byte 11, 12, 5, 15, 8, 0, 2, 13, 9, 10, 3, 7, 4, 14, 6, 1
31 .byte 7, 3, 13, 11, 9, 1, 12, 14, 15, 2, 5, 4, 8, 6, 10, 0
32 .byte 9, 5, 2, 10, 0, 7, 4, 15, 3, 14, 11, 6, 13, 1, 12, 8
33 .byte 2, 6, 0, 8, 12, 10, 11, 3, 1, 4, 7, 15, 9, 13, 5, 14
34 .byte 12, 1, 14, 4, 5, 15, 13, 10, 8, 0, 6, 9, 11, 7, 3, 2
35 .byte 13, 7, 12, 3, 11, 14, 1, 9, 2, 5, 15, 8, 10, 0, 4, 6
36 .byte 6, 14, 11, 0, 15, 9, 3, 8, 10, 12, 13, 1, 5, 2, 7, 4
37 .byte 10, 8, 7, 1, 2, 4, 6, 5, 13, 15, 9, 3, 0, 11, 14, 12
42 .byte 0, 2, 4, 6, 1, 3, 5, 7, 14, 8, 10, 12, 15, 9, 11, 13
43 .byte 8, 2, 13, 15, 10, 9, 12, 3, 6, 4, 0, 14, 5, 11, 1, 7
44 .byte 11, 13, 8, 6, 5, 10, 14, 3, 2, 4, 12, 15, 1, 0, 7, 9
45 .byte 11, 10, 7, 0, 8, 15, 1, 13, 3, 6, 2, 12, 4, 14, 9, 5
46 .byte 4, 10, 9, 14, 15, 0, 11, 8, 1, 7, 3, 13, 2, 5, 6, 12
47 .byte 2, 11, 4, 15, 14, 3, 10, 8, 13, 6, 5, 7, 0, 12, 1, 9
48 .byte 4, 8, 15, 9, 14, 11, 13, 5, 3, 2, 1, 12, 6, 10, 7, 0
49 .byte 6, 13, 0, 14, 12, 2, 1, 11, 15, 4, 5, 8, 7, 9, 3, 10
50 .byte 15, 5, 4, 13, 10, 7, 3, 11, 12, 2, 0, 6, 9, 8, 1, 14
51 .byte 8, 7, 14, 11, 13, 15, 0, 12, 10, 4, 5, 6, 3, 2, 1, 9
70 movdqu 16(CTX),%xmm1 // Load h[4..7]
80 // Main loop: each iteration processes one 64-byte block.
82 movdqa %xmm1,%xmm11 // Save h[4..7] and let v[4..7] = h[4..7]
83 paddq %xmm15,%xmm14 // t += inc (64-bit addition)
86 pxor .Liv+16(%rip),%xmm3 // v[12..15] = iv[4..7] ^ [t, f]
118 movzbl 7(%rcx),%eax
130 psrld $7,%xmm1
138 movzbl 9(%rcx),%eax
175 psrld $7,%xmm1
185 // Compute the new h: h[0..7] ^= v[0..7] ^ v[8..15]
195 movdqu %xmm1,16(CTX) // Store new h[4..7]
211 vmovdqu 16(CTX),%xmm1 // Load h[4..7]
215 vmovdqa .Liv+16(%rip),%xmm15 // Load iv[4..7]
220 // Main loop: each iteration processes one 64-byte block.
222 vmovdqa %xmm1,%xmm11 // Save h[4..7] and let v[4..7] = h[4..7]
223 vpaddq %xmm5,%xmm4,%xmm4 // t += inc (64-bit addition)
225 vpxor %xmm15,%xmm4,%xmm3 // v[12..15] = iv[4..7] ^ [t, f]
255 vprord $7,%xmm1,%xmm1
273 vprord $7,%xmm1,%xmm1
280 // Compute the new h: h[0..7] ^= v[0..7] ^ v[8..15]
287 vmovdqu %xmm1,16(CTX) // Store new h[4..7]