rind 0.1.12

Pure-Rust cryptography for MoQ, forked from graviola
Documentation
# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
#
# Generated by admin/import-aws-lc from aws-lc 91c93a8eb860e51482a871a8772cb9b1b310baea:
# generated-src/mac-x86_64/crypto/fipsmodule/vpaes-x86_64.S, which aws-lc generates from crypto/fipsmodule/aes/asm/vpaes-x86_64.pl.
# Do not edit by hand.



	xchgq	%rcx,%rdx
	testq	%rcx,%rcx
	jz	L$vpaes_ctr32_abort
	movdqu	(%r8),%xmm0
	movdqa	{vpaes_consts}+800(%rip),%xmm8
	subq	%rdi,%rsi
	call	{vpaes_preheat}
	movdqa	%xmm0,%xmm6
	pshufb	{vpaes_consts}+784(%rip),%xmm6

	testq	$1,%rcx
	jz	L$vpaes_ctr32_prep_loop



	movdqu	(%rdi),%xmm7
	call	{vpaes_encrypt_core}
	pxor	%xmm7,%xmm0
	paddd	%xmm8,%xmm6
	movdqu	%xmm0,(%rsi,%rdi,1)
	subq	$1,%rcx
	leaq	16(%rdi),%rdi
	jz	L$vpaes_ctr32_done

L$vpaes_ctr32_prep_loop:


	movdqa	%xmm6,%xmm14
	movdqa	%xmm6,%xmm15
	paddd	%xmm8,%xmm15

L$vpaes_ctr32_loop:
	movdqa	{vpaes_consts}+784(%rip),%xmm1
	movdqa	%xmm14,%xmm0
	movdqa	%xmm15,%xmm6
.byte	102,15,56,0,193
.byte	102,15,56,0,241
	call	{vpaes_encrypt_core_2x}
	movdqu	(%rdi),%xmm1
	movdqu	16(%rdi),%xmm2
	movdqa	{vpaes_consts}+816(%rip),%xmm3
	pxor	%xmm1,%xmm0
	pxor	%xmm2,%xmm6
	paddd	%xmm3,%xmm14
	paddd	%xmm3,%xmm15
	movdqu	%xmm0,(%rsi,%rdi,1)
	movdqu	%xmm6,16(%rsi,%rdi,1)
	subq	$2,%rcx
	leaq	32(%rdi),%rdi
	jnz	L$vpaes_ctr32_loop

L$vpaes_ctr32_done:
L$vpaes_ctr32_abort:
	.byte	0xf3,0xc3









.p2align	4