Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

Revision 81a0bf97e2012c369f800f26e2e3d3651cde7a35 authored by Matthias J. Kannwischer on 29 July 2021, 07:22:18 UTC, committed by Matthias J. Kannwischer on 02 August 2021, 03:06:46 UTC
Update NTRU Prime; add new round 3 parameter sets
1 parent 819f906
  • Files
  • Changes
  • b53fadd
  • /
  • crypto_sign
  • /
  • dilithium3
  • /
  • avx2
  • /
  • f1600x4.S
Raw File Download
Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • revision
  • directory
  • content
revision badge
swh:1:rev:81a0bf97e2012c369f800f26e2e3d3651cde7a35
directory badge Iframe embedding
swh:1:dir:9c813eae6eadba6c9d9764148c68f4f4f263bd9f
content badge Iframe embedding
swh:1:cnt:1aedd83ff67e2b6b514c07a8794453752a69fdfb
Citations

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • revision
  • directory
  • content
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
f1600x4.S
/* Taken from Bas Westerbaan's new 4-way SHAKE implementation
 * for Sphincs+ (https://github.com/sphincs/sphincsplus/pull/14/),
 * but uses vpshufb for byte-granular rotations as in the Keccak Code Package. */

#include "cdecl.h"

.data
.p2align 5
rho8:
.byte 7,0,1,2,3,4,5,6,15,8,9,10,11,12,13,14,7,0,1,2,3,4,5,6,15,8,9,10,11,12,13,14
rho56:
.byte 1,2,3,4,5,6,7,0,9,10,11,12,13,14,15,8,1,2,3,4,5,6,7,0,9,10,11,12,13,14,15,8

.text
.global cdecl(PQCLEAN_DILITHIUM3_AVX2_f1600x4)
.global _cdecl(PQCLEAN_DILITHIUM3_AVX2_f1600x4)
cdecl(PQCLEAN_DILITHIUM3_AVX2_f1600x4):
_cdecl(PQCLEAN_DILITHIUM3_AVX2_f1600x4):
vmovdqa		rho8(%rip), %ymm0
movq		$6, %rax
looptop:
vmovdqa		0(%rdi), %ymm8
vmovdqa		32(%rdi), %ymm9
vmovdqa		64(%rdi), %ymm10
vmovdqa		96(%rdi), %ymm11
vmovdqa		128(%rdi), %ymm12
vpxor		160(%rdi), %ymm8, %ymm8
vpxor		192(%rdi), %ymm9, %ymm9
vpxor		224(%rdi), %ymm10, %ymm10
vpxor		256(%rdi), %ymm11, %ymm11
vpxor		288(%rdi), %ymm12, %ymm12
vpxor		320(%rdi), %ymm8, %ymm8
vpxor		352(%rdi), %ymm9, %ymm9
vpxor		384(%rdi), %ymm10, %ymm10
vpxor		416(%rdi), %ymm11, %ymm11
vpxor		448(%rdi), %ymm12, %ymm12
vpxor		480(%rdi), %ymm8, %ymm8
vpxor		512(%rdi), %ymm9, %ymm9
vpxor		544(%rdi), %ymm10, %ymm10
vpxor		576(%rdi), %ymm11, %ymm11
vpxor		608(%rdi), %ymm12, %ymm12
vpxor		640(%rdi), %ymm8, %ymm8
vpxor		672(%rdi), %ymm9, %ymm9
vpxor		704(%rdi), %ymm10, %ymm10
vpxor		736(%rdi), %ymm11, %ymm11
vpxor		768(%rdi), %ymm12, %ymm12
vpsllq		$1, %ymm9, %ymm13
vpsllq		$1, %ymm10, %ymm14
vpsllq		$1, %ymm11, %ymm15
vpsllq		$1, %ymm12, %ymm7
vpsllq		$1, %ymm8, %ymm6
vpsrlq		$63, %ymm9, %ymm5
vpsrlq		$63, %ymm10, %ymm4
vpsrlq		$63, %ymm11, %ymm3
vpsrlq		$63, %ymm12, %ymm2
vpsrlq		$63, %ymm8, %ymm1
vpor		%ymm13, %ymm5, %ymm5
vpor		%ymm14, %ymm4, %ymm4
vpor		%ymm15, %ymm3, %ymm3
vpor		%ymm7, %ymm2, %ymm2
vpor		%ymm6, %ymm1, %ymm1
vpxor		%ymm5, %ymm12, %ymm5
vpxor		%ymm4, %ymm8, %ymm4
vpxor		%ymm3, %ymm9, %ymm3
vpxor		%ymm2, %ymm10, %ymm2
vpxor		%ymm1, %ymm11, %ymm1
vpxor		0(%rdi), %ymm5, %ymm8
vpxor		192(%rdi), %ymm4, %ymm9
vpxor		384(%rdi), %ymm3, %ymm10
vpxor		576(%rdi), %ymm2, %ymm11
vpxor		768(%rdi), %ymm1, %ymm12
vpsllq		$44, %ymm9, %ymm14
vpsllq		$43, %ymm10, %ymm15
vpsllq		$21, %ymm11, %ymm7
vpsllq		$14, %ymm12, %ymm6
vpsrlq		$20, %ymm9, %ymm9
vpsrlq		$21, %ymm10, %ymm10
vpsrlq		$43, %ymm11, %ymm11
vpsrlq		$50, %ymm12, %ymm12
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vpbroadcastq	0(%rsi), %ymm8
vpxor		%ymm8, %ymm13, %ymm13
vmovdqa		%ymm13, 0(%rdi)
vmovdqa		%ymm14, 192(%rdi)
vmovdqa		%ymm15, 384(%rdi)
vmovdqa		%ymm7, 576(%rdi)
vmovdqa		%ymm6, 768(%rdi)
vpxor		96(%rdi), %ymm2, %ymm8
vpxor		288(%rdi), %ymm1, %ymm9
vpxor		320(%rdi), %ymm5, %ymm10
vpxor		512(%rdi), %ymm4, %ymm11
vpxor		704(%rdi), %ymm3, %ymm12
vpsllq		$28, %ymm8, %ymm13
vpsllq		$20, %ymm9, %ymm14
vpsllq		$3, %ymm10, %ymm15
vpsllq		$45, %ymm11, %ymm7
vpsllq		$61, %ymm12, %ymm6
vpsrlq		$36, %ymm8, %ymm8
vpsrlq		$44, %ymm9, %ymm9
vpsrlq		$61, %ymm10, %ymm10
vpsrlq		$19, %ymm11, %ymm11
vpsrlq		$3, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 320(%rdi)
vmovdqa		%ymm14, 512(%rdi)
vmovdqa		%ymm15, 704(%rdi)
vmovdqa		%ymm7, 96(%rdi)
vmovdqa		%ymm6, 288(%rdi)
vpxor		32(%rdi), %ymm4, %ymm8
vpxor		224(%rdi), %ymm3, %ymm9
vpxor		416(%rdi), %ymm2, %ymm10
vpxor		608(%rdi), %ymm1, %ymm11
vpxor		640(%rdi), %ymm5, %ymm12
vpsllq		$1, %ymm8, %ymm13
vpsllq		$6, %ymm9, %ymm14
vpsllq		$25, %ymm10, %ymm15
#vpsllq		$8, %ymm11, %ymm7
vpsllq		$18, %ymm12, %ymm6
vpsrlq		$63, %ymm8, %ymm8
vpsrlq		$58, %ymm9, %ymm9
vpsrlq		$39, %ymm10, %ymm10
#vpsrlq		$56, %ymm11, %ymm11
vpsrlq		$46, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
#vpor		%ymm7, %ymm11, %ymm11
vpshufb		%ymm0, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 640(%rdi)
vmovdqa		%ymm14, 32(%rdi)
vmovdqa		%ymm15, 224(%rdi)
vmovdqa		%ymm7, 416(%rdi)
vmovdqa		%ymm6, 608(%rdi)
vpxor		128(%rdi), %ymm1, %ymm8
vpxor		160(%rdi), %ymm5, %ymm9
vpxor		352(%rdi), %ymm4, %ymm10
vpxor		544(%rdi), %ymm3, %ymm11
vpxor		736(%rdi), %ymm2, %ymm12
vpsllq		$27, %ymm8, %ymm13
vpsllq		$36, %ymm9, %ymm14
vpsllq		$10, %ymm10, %ymm15
vpsllq		$15, %ymm11, %ymm7
#vpsllq		$56, %ymm12, %ymm6
vpsrlq		$37, %ymm8, %ymm8
vpsrlq		$28, %ymm9, %ymm9
vpsrlq		$54, %ymm10, %ymm10
vpsrlq		$49, %ymm11, %ymm11
#vpsrlq		$8, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
#vpor		%ymm6, %ymm12, %ymm12
vpshufb		rho56(%rip), %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 160(%rdi)
vmovdqa		%ymm14, 352(%rdi)
vmovdqa		%ymm15, 544(%rdi)
vmovdqa		%ymm7, 736(%rdi)
vmovdqa		%ymm6, 128(%rdi)
vpxor		64(%rdi), %ymm3, %ymm8
vpxor		256(%rdi), %ymm2, %ymm9
vpxor		448(%rdi), %ymm1, %ymm10
vpxor		480(%rdi), %ymm5, %ymm11
vpxor		672(%rdi), %ymm4, %ymm12
vpsllq		$62, %ymm8, %ymm13
vpsllq		$55, %ymm9, %ymm14
vpsllq		$39, %ymm10, %ymm15
vpsllq		$41, %ymm11, %ymm7
vpsllq		$2, %ymm12, %ymm6
vpsrlq		$2, %ymm8, %ymm8
vpsrlq		$9, %ymm9, %ymm9
vpsrlq		$25, %ymm10, %ymm10
vpsrlq		$23, %ymm11, %ymm11
vpsrlq		$62, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 480(%rdi)
vmovdqa		%ymm14, 672(%rdi)
vmovdqa		%ymm15, 64(%rdi)
vmovdqa		%ymm7, 256(%rdi)
vmovdqa		%ymm6, 448(%rdi)
vmovdqa		0(%rdi), %ymm8
vmovdqa		32(%rdi), %ymm9
vmovdqa		64(%rdi), %ymm10
vmovdqa		96(%rdi), %ymm11
vmovdqa		128(%rdi), %ymm12
vpxor		160(%rdi), %ymm8, %ymm8
vpxor		192(%rdi), %ymm9, %ymm9
vpxor		224(%rdi), %ymm10, %ymm10
vpxor		256(%rdi), %ymm11, %ymm11
vpxor		288(%rdi), %ymm12, %ymm12
vpxor		320(%rdi), %ymm8, %ymm8
vpxor		352(%rdi), %ymm9, %ymm9
vpxor		384(%rdi), %ymm10, %ymm10
vpxor		416(%rdi), %ymm11, %ymm11
vpxor		448(%rdi), %ymm12, %ymm12
vpxor		480(%rdi), %ymm8, %ymm8
vpxor		512(%rdi), %ymm9, %ymm9
vpxor		544(%rdi), %ymm10, %ymm10
vpxor		576(%rdi), %ymm11, %ymm11
vpxor		608(%rdi), %ymm12, %ymm12
vpxor		640(%rdi), %ymm8, %ymm8
vpxor		672(%rdi), %ymm9, %ymm9
vpxor		704(%rdi), %ymm10, %ymm10
vpxor		736(%rdi), %ymm11, %ymm11
vpxor		768(%rdi), %ymm12, %ymm12
vpsllq		$1, %ymm9, %ymm13
vpsllq		$1, %ymm10, %ymm14
vpsllq		$1, %ymm11, %ymm15
vpsllq		$1, %ymm12, %ymm7
vpsllq		$1, %ymm8, %ymm6
vpsrlq		$63, %ymm9, %ymm5
vpsrlq		$63, %ymm10, %ymm4
vpsrlq		$63, %ymm11, %ymm3
vpsrlq		$63, %ymm12, %ymm2
vpsrlq		$63, %ymm8, %ymm1
vpor		%ymm13, %ymm5, %ymm5
vpor		%ymm14, %ymm4, %ymm4
vpor		%ymm15, %ymm3, %ymm3
vpor		%ymm7, %ymm2, %ymm2
vpor		%ymm6, %ymm1, %ymm1
vpxor		%ymm5, %ymm12, %ymm5
vpxor		%ymm4, %ymm8, %ymm4
vpxor		%ymm3, %ymm9, %ymm3
vpxor		%ymm2, %ymm10, %ymm2
vpxor		%ymm1, %ymm11, %ymm1
vpxor		0(%rdi), %ymm5, %ymm8
vpxor		512(%rdi), %ymm4, %ymm9
vpxor		224(%rdi), %ymm3, %ymm10
vpxor		736(%rdi), %ymm2, %ymm11
vpxor		448(%rdi), %ymm1, %ymm12
vpsllq		$44, %ymm9, %ymm14
vpsllq		$43, %ymm10, %ymm15
vpsllq		$21, %ymm11, %ymm7
vpsllq		$14, %ymm12, %ymm6
vpsrlq		$20, %ymm9, %ymm9
vpsrlq		$21, %ymm10, %ymm10
vpsrlq		$43, %ymm11, %ymm11
vpsrlq		$50, %ymm12, %ymm12
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vpbroadcastq	8(%rsi), %ymm8
vpxor		%ymm8, %ymm13, %ymm13
vmovdqa		%ymm13, 0(%rdi)
vmovdqa		%ymm14, 512(%rdi)
vmovdqa		%ymm15, 224(%rdi)
vmovdqa		%ymm7, 736(%rdi)
vmovdqa		%ymm6, 448(%rdi)
vpxor		576(%rdi), %ymm2, %ymm8
vpxor		288(%rdi), %ymm1, %ymm9
vpxor		640(%rdi), %ymm5, %ymm10
vpxor		352(%rdi), %ymm4, %ymm11
vpxor		64(%rdi), %ymm3, %ymm12
vpsllq		$28, %ymm8, %ymm13
vpsllq		$20, %ymm9, %ymm14
vpsllq		$3, %ymm10, %ymm15
vpsllq		$45, %ymm11, %ymm7
vpsllq		$61, %ymm12, %ymm6
vpsrlq		$36, %ymm8, %ymm8
vpsrlq		$44, %ymm9, %ymm9
vpsrlq		$61, %ymm10, %ymm10
vpsrlq		$19, %ymm11, %ymm11
vpsrlq		$3, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 640(%rdi)
vmovdqa		%ymm14, 352(%rdi)
vmovdqa		%ymm15, 64(%rdi)
vmovdqa		%ymm7, 576(%rdi)
vmovdqa		%ymm6, 288(%rdi)
vpxor		192(%rdi), %ymm4, %ymm8
vpxor		704(%rdi), %ymm3, %ymm9
vpxor		416(%rdi), %ymm2, %ymm10
vpxor		128(%rdi), %ymm1, %ymm11
vpxor		480(%rdi), %ymm5, %ymm12
vpsllq		$1, %ymm8, %ymm13
vpsllq		$6, %ymm9, %ymm14
vpsllq		$25, %ymm10, %ymm15
#vpsllq		$8, %ymm11, %ymm7
vpsllq		$18, %ymm12, %ymm6
vpsrlq		$63, %ymm8, %ymm8
vpsrlq		$58, %ymm9, %ymm9
vpsrlq		$39, %ymm10, %ymm10
#vpsrlq		$56, %ymm11, %ymm11
vpsrlq		$46, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
#vpor		%ymm7, %ymm11, %ymm11
vpshufb		%ymm0, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 480(%rdi)
vmovdqa		%ymm14, 192(%rdi)
vmovdqa		%ymm15, 704(%rdi)
vmovdqa		%ymm7, 416(%rdi)
vmovdqa		%ymm6, 128(%rdi)
vpxor		768(%rdi), %ymm1, %ymm8
vpxor		320(%rdi), %ymm5, %ymm9
vpxor		32(%rdi), %ymm4, %ymm10
vpxor		544(%rdi), %ymm3, %ymm11
vpxor		256(%rdi), %ymm2, %ymm12
vpsllq		$27, %ymm8, %ymm13
vpsllq		$36, %ymm9, %ymm14
vpsllq		$10, %ymm10, %ymm15
vpsllq		$15, %ymm11, %ymm7
#vpsllq		$56, %ymm12, %ymm6
vpsrlq		$37, %ymm8, %ymm8
vpsrlq		$28, %ymm9, %ymm9
vpsrlq		$54, %ymm10, %ymm10
vpsrlq		$49, %ymm11, %ymm11
#vpsrlq		$8, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
#vpor		%ymm6, %ymm12, %ymm12
vpshufb		rho56(%rip), %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 320(%rdi)
vmovdqa		%ymm14, 32(%rdi)
vmovdqa		%ymm15, 544(%rdi)
vmovdqa		%ymm7, 256(%rdi)
vmovdqa		%ymm6, 768(%rdi)
vpxor		384(%rdi), %ymm3, %ymm8
vpxor		96(%rdi), %ymm2, %ymm9
vpxor		608(%rdi), %ymm1, %ymm10
vpxor		160(%rdi), %ymm5, %ymm11
vpxor		672(%rdi), %ymm4, %ymm12
vpsllq		$62, %ymm8, %ymm13
vpsllq		$55, %ymm9, %ymm14
vpsllq		$39, %ymm10, %ymm15
vpsllq		$41, %ymm11, %ymm7
vpsllq		$2, %ymm12, %ymm6
vpsrlq		$2, %ymm8, %ymm8
vpsrlq		$9, %ymm9, %ymm9
vpsrlq		$25, %ymm10, %ymm10
vpsrlq		$23, %ymm11, %ymm11
vpsrlq		$62, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 160(%rdi)
vmovdqa		%ymm14, 672(%rdi)
vmovdqa		%ymm15, 384(%rdi)
vmovdqa		%ymm7, 96(%rdi)
vmovdqa		%ymm6, 608(%rdi)
vmovdqa		0(%rdi), %ymm8
vmovdqa		32(%rdi), %ymm9
vmovdqa		64(%rdi), %ymm10
vmovdqa		96(%rdi), %ymm11
vmovdqa		128(%rdi), %ymm12
vpxor		160(%rdi), %ymm8, %ymm8
vpxor		192(%rdi), %ymm9, %ymm9
vpxor		224(%rdi), %ymm10, %ymm10
vpxor		256(%rdi), %ymm11, %ymm11
vpxor		288(%rdi), %ymm12, %ymm12
vpxor		320(%rdi), %ymm8, %ymm8
vpxor		352(%rdi), %ymm9, %ymm9
vpxor		384(%rdi), %ymm10, %ymm10
vpxor		416(%rdi), %ymm11, %ymm11
vpxor		448(%rdi), %ymm12, %ymm12
vpxor		480(%rdi), %ymm8, %ymm8
vpxor		512(%rdi), %ymm9, %ymm9
vpxor		544(%rdi), %ymm10, %ymm10
vpxor		576(%rdi), %ymm11, %ymm11
vpxor		608(%rdi), %ymm12, %ymm12
vpxor		640(%rdi), %ymm8, %ymm8
vpxor		672(%rdi), %ymm9, %ymm9
vpxor		704(%rdi), %ymm10, %ymm10
vpxor		736(%rdi), %ymm11, %ymm11
vpxor		768(%rdi), %ymm12, %ymm12
vpsllq		$1, %ymm9, %ymm13
vpsllq		$1, %ymm10, %ymm14
vpsllq		$1, %ymm11, %ymm15
vpsllq		$1, %ymm12, %ymm7
vpsllq		$1, %ymm8, %ymm6
vpsrlq		$63, %ymm9, %ymm5
vpsrlq		$63, %ymm10, %ymm4
vpsrlq		$63, %ymm11, %ymm3
vpsrlq		$63, %ymm12, %ymm2
vpsrlq		$63, %ymm8, %ymm1
vpor		%ymm13, %ymm5, %ymm5
vpor		%ymm14, %ymm4, %ymm4
vpor		%ymm15, %ymm3, %ymm3
vpor		%ymm7, %ymm2, %ymm2
vpor		%ymm6, %ymm1, %ymm1
vpxor		%ymm5, %ymm12, %ymm5
vpxor		%ymm4, %ymm8, %ymm4
vpxor		%ymm3, %ymm9, %ymm3
vpxor		%ymm2, %ymm10, %ymm2
vpxor		%ymm1, %ymm11, %ymm1
vpxor		0(%rdi), %ymm5, %ymm8
vpxor		352(%rdi), %ymm4, %ymm9
vpxor		704(%rdi), %ymm3, %ymm10
vpxor		256(%rdi), %ymm2, %ymm11
vpxor		608(%rdi), %ymm1, %ymm12
vpsllq		$44, %ymm9, %ymm14
vpsllq		$43, %ymm10, %ymm15
vpsllq		$21, %ymm11, %ymm7
vpsllq		$14, %ymm12, %ymm6
vpsrlq		$20, %ymm9, %ymm9
vpsrlq		$21, %ymm10, %ymm10
vpsrlq		$43, %ymm11, %ymm11
vpsrlq		$50, %ymm12, %ymm12
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vpbroadcastq	16(%rsi), %ymm8
vpxor		%ymm8, %ymm13, %ymm13
vmovdqa		%ymm13, 0(%rdi)
vmovdqa		%ymm14, 352(%rdi)
vmovdqa		%ymm15, 704(%rdi)
vmovdqa		%ymm7, 256(%rdi)
vmovdqa		%ymm6, 608(%rdi)
vpxor		736(%rdi), %ymm2, %ymm8
vpxor		288(%rdi), %ymm1, %ymm9
vpxor		480(%rdi), %ymm5, %ymm10
vpxor		32(%rdi), %ymm4, %ymm11
vpxor		384(%rdi), %ymm3, %ymm12
vpsllq		$28, %ymm8, %ymm13
vpsllq		$20, %ymm9, %ymm14
vpsllq		$3, %ymm10, %ymm15
vpsllq		$45, %ymm11, %ymm7
vpsllq		$61, %ymm12, %ymm6
vpsrlq		$36, %ymm8, %ymm8
vpsrlq		$44, %ymm9, %ymm9
vpsrlq		$61, %ymm10, %ymm10
vpsrlq		$19, %ymm11, %ymm11
vpsrlq		$3, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 480(%rdi)
vmovdqa		%ymm14, 32(%rdi)
vmovdqa		%ymm15, 384(%rdi)
vmovdqa		%ymm7, 736(%rdi)
vmovdqa		%ymm6, 288(%rdi)
vpxor		512(%rdi), %ymm4, %ymm8
vpxor		64(%rdi), %ymm3, %ymm9
vpxor		416(%rdi), %ymm2, %ymm10
vpxor		768(%rdi), %ymm1, %ymm11
vpxor		160(%rdi), %ymm5, %ymm12
vpsllq		$1, %ymm8, %ymm13
vpsllq		$6, %ymm9, %ymm14
vpsllq		$25, %ymm10, %ymm15
#vpsllq		$8, %ymm11, %ymm7
vpsllq		$18, %ymm12, %ymm6
vpsrlq		$63, %ymm8, %ymm8
vpsrlq		$58, %ymm9, %ymm9
vpsrlq		$39, %ymm10, %ymm10
#vpsrlq		$56, %ymm11, %ymm11
vpsrlq		$46, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
#vpor		%ymm7, %ymm11, %ymm11
vpshufb		%ymm0, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 160(%rdi)
vmovdqa		%ymm14, 512(%rdi)
vmovdqa		%ymm15, 64(%rdi)
vmovdqa		%ymm7, 416(%rdi)
vmovdqa		%ymm6, 768(%rdi)
vpxor		448(%rdi), %ymm1, %ymm8
vpxor		640(%rdi), %ymm5, %ymm9
vpxor		192(%rdi), %ymm4, %ymm10
vpxor		544(%rdi), %ymm3, %ymm11
vpxor		96(%rdi), %ymm2, %ymm12
vpsllq		$27, %ymm8, %ymm13
vpsllq		$36, %ymm9, %ymm14
vpsllq		$10, %ymm10, %ymm15
vpsllq		$15, %ymm11, %ymm7
#vpsllq		$56, %ymm12, %ymm6
vpsrlq		$37, %ymm8, %ymm8
vpsrlq		$28, %ymm9, %ymm9
vpsrlq		$54, %ymm10, %ymm10
vpsrlq		$49, %ymm11, %ymm11
#vpsrlq		$8, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
#vpor		%ymm6, %ymm12, %ymm12
vpshufb		rho56(%rip), %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 640(%rdi)
vmovdqa		%ymm14, 192(%rdi)
vmovdqa		%ymm15, 544(%rdi)
vmovdqa		%ymm7, 96(%rdi)
vmovdqa		%ymm6, 448(%rdi)
vpxor		224(%rdi), %ymm3, %ymm8
vpxor		576(%rdi), %ymm2, %ymm9
vpxor		128(%rdi), %ymm1, %ymm10
vpxor		320(%rdi), %ymm5, %ymm11
vpxor		672(%rdi), %ymm4, %ymm12
vpsllq		$62, %ymm8, %ymm13
vpsllq		$55, %ymm9, %ymm14
vpsllq		$39, %ymm10, %ymm15
vpsllq		$41, %ymm11, %ymm7
vpsllq		$2, %ymm12, %ymm6
vpsrlq		$2, %ymm8, %ymm8
vpsrlq		$9, %ymm9, %ymm9
vpsrlq		$25, %ymm10, %ymm10
vpsrlq		$23, %ymm11, %ymm11
vpsrlq		$62, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 320(%rdi)
vmovdqa		%ymm14, 672(%rdi)
vmovdqa		%ymm15, 224(%rdi)
vmovdqa		%ymm7, 576(%rdi)
vmovdqa		%ymm6, 128(%rdi)
vmovdqa		0(%rdi), %ymm8
vmovdqa		32(%rdi), %ymm9
vmovdqa		64(%rdi), %ymm10
vmovdqa		96(%rdi), %ymm11
vmovdqa		128(%rdi), %ymm12
vpxor		160(%rdi), %ymm8, %ymm8
vpxor		192(%rdi), %ymm9, %ymm9
vpxor		224(%rdi), %ymm10, %ymm10
vpxor		256(%rdi), %ymm11, %ymm11
vpxor		288(%rdi), %ymm12, %ymm12
vpxor		320(%rdi), %ymm8, %ymm8
vpxor		352(%rdi), %ymm9, %ymm9
vpxor		384(%rdi), %ymm10, %ymm10
vpxor		416(%rdi), %ymm11, %ymm11
vpxor		448(%rdi), %ymm12, %ymm12
vpxor		480(%rdi), %ymm8, %ymm8
vpxor		512(%rdi), %ymm9, %ymm9
vpxor		544(%rdi), %ymm10, %ymm10
vpxor		576(%rdi), %ymm11, %ymm11
vpxor		608(%rdi), %ymm12, %ymm12
vpxor		640(%rdi), %ymm8, %ymm8
vpxor		672(%rdi), %ymm9, %ymm9
vpxor		704(%rdi), %ymm10, %ymm10
vpxor		736(%rdi), %ymm11, %ymm11
vpxor		768(%rdi), %ymm12, %ymm12
vpsllq		$1, %ymm9, %ymm13
vpsllq		$1, %ymm10, %ymm14
vpsllq		$1, %ymm11, %ymm15
vpsllq		$1, %ymm12, %ymm7
vpsllq		$1, %ymm8, %ymm6
vpsrlq		$63, %ymm9, %ymm5
vpsrlq		$63, %ymm10, %ymm4
vpsrlq		$63, %ymm11, %ymm3
vpsrlq		$63, %ymm12, %ymm2
vpsrlq		$63, %ymm8, %ymm1
vpor		%ymm13, %ymm5, %ymm5
vpor		%ymm14, %ymm4, %ymm4
vpor		%ymm15, %ymm3, %ymm3
vpor		%ymm7, %ymm2, %ymm2
vpor		%ymm6, %ymm1, %ymm1
vpxor		%ymm5, %ymm12, %ymm5
vpxor		%ymm4, %ymm8, %ymm4
vpxor		%ymm3, %ymm9, %ymm3
vpxor		%ymm2, %ymm10, %ymm2
vpxor		%ymm1, %ymm11, %ymm1
vpxor		0(%rdi), %ymm5, %ymm8
vpxor		32(%rdi), %ymm4, %ymm9
vpxor		64(%rdi), %ymm3, %ymm10
vpxor		96(%rdi), %ymm2, %ymm11
vpxor		128(%rdi), %ymm1, %ymm12
vpsllq		$44, %ymm9, %ymm14
vpsllq		$43, %ymm10, %ymm15
vpsllq		$21, %ymm11, %ymm7
vpsllq		$14, %ymm12, %ymm6
vpsrlq		$20, %ymm9, %ymm9
vpsrlq		$21, %ymm10, %ymm10
vpsrlq		$43, %ymm11, %ymm11
vpsrlq		$50, %ymm12, %ymm12
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vpbroadcastq	24(%rsi), %ymm8
vpxor		%ymm8, %ymm13, %ymm13
vmovdqa		%ymm13, 0(%rdi)
vmovdqa		%ymm14, 32(%rdi)
vmovdqa		%ymm15, 64(%rdi)
vmovdqa		%ymm7, 96(%rdi)
vmovdqa		%ymm6, 128(%rdi)
vpxor		256(%rdi), %ymm2, %ymm8
vpxor		288(%rdi), %ymm1, %ymm9
vpxor		160(%rdi), %ymm5, %ymm10
vpxor		192(%rdi), %ymm4, %ymm11
vpxor		224(%rdi), %ymm3, %ymm12
vpsllq		$28, %ymm8, %ymm13
vpsllq		$20, %ymm9, %ymm14
vpsllq		$3, %ymm10, %ymm15
vpsllq		$45, %ymm11, %ymm7
vpsllq		$61, %ymm12, %ymm6
vpsrlq		$36, %ymm8, %ymm8
vpsrlq		$44, %ymm9, %ymm9
vpsrlq		$61, %ymm10, %ymm10
vpsrlq		$19, %ymm11, %ymm11
vpsrlq		$3, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 160(%rdi)
vmovdqa		%ymm14, 192(%rdi)
vmovdqa		%ymm15, 224(%rdi)
vmovdqa		%ymm7, 256(%rdi)
vmovdqa		%ymm6, 288(%rdi)
vpxor		352(%rdi), %ymm4, %ymm8
vpxor		384(%rdi), %ymm3, %ymm9
vpxor		416(%rdi), %ymm2, %ymm10
vpxor		448(%rdi), %ymm1, %ymm11
vpxor		320(%rdi), %ymm5, %ymm12
vpsllq		$1, %ymm8, %ymm13
vpsllq		$6, %ymm9, %ymm14
vpsllq		$25, %ymm10, %ymm15
#vpsllq		$8, %ymm11, %ymm7
vpsllq		$18, %ymm12, %ymm6
vpsrlq		$63, %ymm8, %ymm8
vpsrlq		$58, %ymm9, %ymm9
vpsrlq		$39, %ymm10, %ymm10
#vpsrlq		$56, %ymm11, %ymm11
vpsrlq		$46, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
#vpor		%ymm7, %ymm11, %ymm11
vpshufb		%ymm0, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 320(%rdi)
vmovdqa		%ymm14, 352(%rdi)
vmovdqa		%ymm15, 384(%rdi)
vmovdqa		%ymm7, 416(%rdi)
vmovdqa		%ymm6, 448(%rdi)
vpxor		608(%rdi), %ymm1, %ymm8
vpxor		480(%rdi), %ymm5, %ymm9
vpxor		512(%rdi), %ymm4, %ymm10
vpxor		544(%rdi), %ymm3, %ymm11
vpxor		576(%rdi), %ymm2, %ymm12
vpsllq		$27, %ymm8, %ymm13
vpsllq		$36, %ymm9, %ymm14
vpsllq		$10, %ymm10, %ymm15
vpsllq		$15, %ymm11, %ymm7
#vpsllq		$56, %ymm12, %ymm6
vpsrlq		$37, %ymm8, %ymm8
vpsrlq		$28, %ymm9, %ymm9
vpsrlq		$54, %ymm10, %ymm10
vpsrlq		$49, %ymm11, %ymm11
#vpsrlq		$8, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
#vpor		%ymm6, %ymm12, %ymm12
vpshufb		rho56(%rip), %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 480(%rdi)
vmovdqa		%ymm14, 512(%rdi)
vmovdqa		%ymm15, 544(%rdi)
vmovdqa		%ymm7, 576(%rdi)
vmovdqa		%ymm6, 608(%rdi)
vpxor		704(%rdi), %ymm3, %ymm8
vpxor		736(%rdi), %ymm2, %ymm9
vpxor		768(%rdi), %ymm1, %ymm10
vpxor		640(%rdi), %ymm5, %ymm11
vpxor		672(%rdi), %ymm4, %ymm12
vpsllq		$62, %ymm8, %ymm13
vpsllq		$55, %ymm9, %ymm14
vpsllq		$39, %ymm10, %ymm15
vpsllq		$41, %ymm11, %ymm7
vpsllq		$2, %ymm12, %ymm6
vpsrlq		$2, %ymm8, %ymm8
vpsrlq		$9, %ymm9, %ymm9
vpsrlq		$25, %ymm10, %ymm10
vpsrlq		$23, %ymm11, %ymm11
vpsrlq		$62, %ymm12, %ymm12
vpor		%ymm13, %ymm8, %ymm8
vpor		%ymm14, %ymm9, %ymm9
vpor		%ymm15, %ymm10, %ymm10
vpor		%ymm7, %ymm11, %ymm11
vpor		%ymm6, %ymm12, %ymm12
vpandn		%ymm10, %ymm9, %ymm13
vpandn		%ymm11, %ymm10, %ymm14
vpandn		%ymm12, %ymm11, %ymm15
vpandn		%ymm8, %ymm12, %ymm7
vpandn		%ymm9, %ymm8, %ymm6
vpxor		%ymm8, %ymm13, %ymm13
vpxor		%ymm9, %ymm14, %ymm14
vpxor		%ymm10, %ymm15, %ymm15
vpxor		%ymm11, %ymm7, %ymm7
vpxor		%ymm12, %ymm6, %ymm6
vmovdqa		%ymm13, 640(%rdi)
vmovdqa		%ymm14, 672(%rdi)
vmovdqa		%ymm15, 704(%rdi)
vmovdqa		%ymm7, 736(%rdi)
vmovdqa		%ymm6, 768(%rdi)
addq		$32, %rsi
subq		$1, %rax
jnz		looptop
ret
The diff you're trying to view is too large. Only the first 1000 changed files have been loaded.
Showing with 0 additions and 0 deletions (0 / 0 diffs computed)
swh spinner

Computing file changes ...

back to top

Software Heritage — Copyright (C) 2015–2025, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Contact— JavaScript license information— Web API