// This file is generated from a similarly-named Perl script in the BoringSSL
// source tree. Do not edit by hand.

#if defined(__has_feature)
#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM)
#define OPENSSL_NO_ASM
#endif
#endif

#if !defined(OPENSSL_NO_ASM)
#if defined(__arm__)
#if defined(BORINGSSL_PREFIX)
#include <boringssl_prefix_symbols_asm.h>
#endif
@ Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
@
@ Licensed under the OpenSSL license (the "License").  You may not use
@ this file except in compliance with the License.  You can obtain a copy
@ in the file LICENSE in the source distribution or at
@ https://www.openssl.org/source/license.html


@ ====================================================================
@ Written by Andy Polyakov <appro@openssl.org> for the OpenSSL
@ project. The module is, however, dual licensed under OpenSSL and
@ CRYPTOGAMS licenses depending on where you obtain it. For further
@ details see http://www.openssl.org/~appro/cryptogams/.
@
@ Permission to use under GPL terms is granted.
@ ====================================================================

@ SHA512 block procedure for ARMv4. September 2007.

@ This code is ~4.5 (four and a half) times faster than code generated
@ by gcc 3.4 and it spends ~72 clock cycles per byte [on single-issue
@ Xscale PXA250 core].
@
@ July 2010.
@
@ Rescheduling for dual-issue pipeline resulted in 6% improvement on
@ Cortex A8 core and ~40 cycles per processed byte.

@ February 2011.
@
@ Profiler-assisted and platform-specific optimization resulted in 7%
@ improvement on Coxtex A8 core and ~38 cycles per byte.

@ March 2011.
@
@ Add NEON implementation. On Cortex A8 it was measured to process
@ one byte in 23.3 cycles or ~60% faster than integer-only code.

@ August 2012.
@
@ Improve NEON performance by 12% on Snapdragon S4. In absolute
@ terms it's 22.6 cycles per byte, which is disappointing result.
@ Technical writers asserted that 3-way S4 pipeline can sustain
@ multiple NEON instructions per cycle, but dual NEON issue could
@ not be observed, see http://www.openssl.org/~appro/Snapdragon-S4.html
@ for further details. On side note Cortex-A15 processes one byte in
@ 16 cycles.

@ Byte order [in]dependence. =========================================
@
@ Originally caller was expected to maintain specific *dword* order in
@ h[0-7], namely with most significant dword at *lower* address, which
@ was reflected in below two parameters as 0 and 4. Now caller is
@ expected to maintain native byte order for whole 64-bit values.
#ifndef __KERNEL__
# include <openssl/arm_arch.h>
# define VFP_ABI_PUSH	vstmdb	sp!,{d8-d15}
# define VFP_ABI_POP	vldmia	sp!,{d8-d15}
#else
# define __ARM_ARCH__ __LINUX_ARM_ARCH__
# define __ARM_MAX_ARCH__ 7
# define VFP_ABI_PUSH
# define VFP_ABI_POP
#endif

@ Silence ARMv8 deprecated IT instruction warnings. This file is used by both
@ ARMv7 and ARMv8 processors and does not use ARMv8 instructions.
.arch	armv7-a

#ifdef __ARMEL__
# define LO 0
# define HI 4
# define WORD64(hi0,lo0,hi1,lo1)	.word	lo0,hi0, lo1,hi1
#else
# define HI 0
# define LO 4
# define WORD64(hi0,lo0,hi1,lo1)	.word	hi0,lo0, hi1,lo1
#endif

.text
#if defined(__thumb2__)
.syntax	unified
.thumb
# define adrl adr
#else
.code	32
#endif

.type	K512,%object
.align	5
K512:
	WORD64(0x428a2f98,0xd728ae22,	0x71374491,0x23ef65cd)
	WORD64(0xb5c0fbcf,0xec4d3b2f,	0xe9b5dba5,0x8189dbbc)
	WORD64(0x3956c25b,0xf348b538,	0x59f111f1,0xb605d019)
	WORD64(0x923f82a4,0xaf194f9b,	0xab1c5ed5,0xda6d8118)
	WORD64(0xd807aa98,0xa3030242,	0x12835b01,0x45706fbe)
	WORD64(0x243185be,0x4ee4b28c,	0x550c7dc3,0xd5ffb4e2)
	WORD64(0x72be5d74,0xf27b896f,	0x80deb1fe,0x3b1696b1)
	WORD64(0x9bdc06a7,0x25c71235,	0xc19bf174,0xcf692694)
	WORD64(0xe49b69c1,0x9ef14ad2,	0xefbe4786,0x384f25e3)
	WORD64(0x0fc19dc6,0x8b8cd5b5,	0x240ca1cc,0x77ac9c65)
	WORD64(0x2de92c6f,0x592b0275,	0x4a7484aa,0x6ea6e483)
	WORD64(0x5cb0a9dc,0xbd41fbd4,	0x76f988da,0x831153b5)
	WORD64(0x983e5152,0xee66dfab,	0xa831c66d,0x2db43210)
	WORD64(0xb00327c8,0x98fb213f,	0xbf597fc7,0xbeef0ee4)
	WORD64(0xc6e00bf3,0x3da88fc2,	0xd5a79147,0x930aa725)
	WORD64(0x06ca6351,0xe003826f,	0x14292967,0x0a0e6e70)
	WORD64(0x27b70a85,0x46d22ffc,	0x2e1b2138,0x5c26c926)
	WORD64(0x4d2c6dfc,0x5ac42aed,	0x53380d13,0x9d95b3df)
	WORD64(0x650a7354,0x8baf63de,	0x766a0abb,0x3c77b2a8)
	WORD64(0x81c2c92e,0x47edaee6,	0x92722c85,0x1482353b)
	WORD64(0xa2bfe8a1,0x4cf10364,	0xa81a664b,0xbc423001)
	WORD64(0xc24b8b70,0xd0f89791,	0xc76c51a3,0x0654be30)
	WORD64(0xd192e819,0xd6ef5218,	0xd6990624,0x5565a910)
	WORD64(0xf40e3585,0x5771202a,	0x106aa070,0x32bbd1b8)
	WORD64(0x19a4c116,0xb8d2d0c8,	0x1e376c08,0x5141ab53)
	WORD64(0x2748774c,0xdf8eeb99,	0x34b0bcb5,0xe19b48a8)
	WORD64(0x391c0cb3,0xc5c95a63,	0x4ed8aa4a,0xe3418acb)
	WORD64(0x5b9cca4f,0x7763e373,	0x682e6ff3,0xd6b2b8a3)
	WORD64(0x748f82ee,0x5defb2fc,	0x78a5636f,0x43172f60)
	WORD64(0x84c87814,0xa1f0ab72,	0x8cc70208,0x1a6439ec)
	WORD64(0x90befffa,0x23631e28,	0xa4506ceb,0xde82bde9)
	WORD64(0xbef9a3f7,0xb2c67915,	0xc67178f2,0xe372532b)
	WORD64(0xca273ece,0xea26619c,	0xd186b8c7,0x21c0c207)
	WORD64(0xeada7dd6,0xcde0eb1e,	0xf57d4f7f,0xee6ed178)
	WORD64(0x06f067aa,0x72176fba,	0x0a637dc5,0xa2c898a6)
	WORD64(0x113f9804,0xbef90dae,	0x1b710b35,0x131c471b)
	WORD64(0x28db77f5,0x23047d84,	0x32caab7b,0x40c72493)
	WORD64(0x3c9ebe0a,0x15c9bebc,	0x431d67c4,0x9c100d4c)
	WORD64(0x4cc5d4be,0xcb3e42b6,	0x597f299c,0xfc657e2a)
	WORD64(0x5fcb6fab,0x3ad6faec,	0x6c44198c,0x4a475817)
.size	K512,.-K512
#if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__)
.LOPENSSL_armcap:
.word	OPENSSL_armcap_P-.Lsha512_block_data_order
.skip	32-4
#else
.skip	32
#endif

.globl	sha512_block_data_order
.hidden	sha512_block_data_order
.type	sha512_block_data_order,%function
sha512_block_data_order:
.Lsha512_block_data_order:
#if __ARM_ARCH__<7 && !defined(__thumb2__)
	sub	r3,pc,#8		@ sha512_block_data_order
#else
	adr	r3,.Lsha512_block_data_order
#endif
#if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__)
	ldr	r12,.LOPENSSL_armcap
	ldr	r12,[r3,r12]		@ OPENSSL_armcap_P
#ifdef	__APPLE__
	ldr	r12,[r12]
#endif
	tst	r12,#ARMV7_NEON
	bne	.LNEON
#endif
	add	r2,r1,r2,lsl#7	@ len to point at the end of inp
	stmdb	sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
	sub	r14,r3,#672		@ K512
	sub	sp,sp,#9*8

	ldr	r7,[r0,#32+LO]
	ldr	r8,[r0,#32+HI]
	ldr	r9, [r0,#48+LO]
	ldr	r10, [r0,#48+HI]
	ldr	r11, [r0,#56+LO]
	ldr	r12, [r0,#56+HI]
.Loop:
	str	r9, [sp,#48+0]
	str	r10, [sp,#48+4]
	str	r11, [sp,#56+0]
	str	r12, [sp,#56+4]
	ldr	r5,[r0,#0+LO]
	ldr	r6,[r0,#0+HI]
	ldr	r3,[r0,#8+LO]
	ldr	r4,[r0,#8+HI]
	ldr	r9, [r0,#16+LO]
	ldr	r10, [r0,#16+HI]
	ldr	r11, [r0,#24+LO]
	ldr	r12, [r0,#24+HI]
	str	r3,[sp,#8+0]
	str	r4,[sp,#8+4]
	str	r9, [sp,#16+0]
	str	r10, [sp,#16+4]
	str	r11, [sp,#24+0]
	str	r12, [sp,#24+4]
	ldr	r3,[r0,#40+LO]
	ldr	r4,[r0,#40+HI]
	str	r3,[sp,#40+0]
	str	r4,[sp,#40+4]

.L00_15:
#if __ARM_ARCH__<7
	ldrb	r3,[r1,#7]
	ldrb	r9, [r1,#6]
	ldrb	r10, [r1,#5]
	ldrb	r11, [r1,#4]
	ldrb	r4,[r1,#3]
	ldrb	r12, [r1,#2]
	orr	r3,r3,r9,lsl#8
	ldrb	r9, [r1,#1]
	orr	r3,r3,r10,lsl#16
	ldrb	r10, [r1],#8
	orr	r3,r3,r11,lsl#24
	orr	r4,r4,r12,lsl#8
	orr	r4,r4,r9,lsl#16
	orr	r4,r4,r10,lsl#24
#else
	ldr	r3,[r1,#4]
	ldr	r4,[r1],#8
#ifdef __ARMEL__
	rev	r3,r3
	rev	r4,r4
#endif
#endif
	@ Sigma1(x)	(ROTR((x),14) ^ ROTR((x),18)  ^ ROTR((x),41))
	@ LO		lo>>14^hi<<18 ^ lo>>18^hi<<14 ^ hi>>9^lo<<23
	@ HI		hi>>14^lo<<18 ^ hi>>18^lo<<14 ^ lo>>9^hi<<23
	mov	r9,r7,lsr#14
	str	r3,[sp,#64+0]
	mov	r10,r8,lsr#14
	str	r4,[sp,#64+4]
	eor	r9,r9,r8,lsl#18
	ldr	r11,[sp,#56+0]	@ h.lo
	eor	r10,r10,r7,lsl#18
	ldr	r12,[sp,#56+4]	@ h.hi
	eor	r9,r9,r7,lsr#18
	eor	r10,r10,r8,lsr#18
	eor	r9,r9,r8,lsl#14
	eor	r10,r10,r7,lsl#14
	eor	r9,r9,r8,lsr#9
	eor	r10,r10,r7,lsr#9
	eor	r9,r9,r7,lsl#23
	eor	r10,r10,r8,lsl#23	@ Sigma1(e)
	adds	r3,r3,r9
	ldr	r9,[sp,#40+0]	@ f.lo
	adc	r4,r4,r10		@ T += Sigma1(e)
	ldr	r10,[sp,#40+4]	@ f.hi
	adds	r3,r3,r11
	ldr	r11,[sp,#48+0]	@ g.lo
	adc	r4,r4,r12		@ T += h
	ldr	r12,[sp,#48+4]	@ g.hi

	eor	r9,r9,r11
	str	r7,[sp,#32+0]
	eor	r10,r10,r12
	str	r8,[sp,#32+4]
	and	r9,r9,r7
	str	r5,[sp,#0+0]
	and	r10,r10,r8
	str	r6,[sp,#0+4]
	eor	r9,r9,r11
	ldr	r11,[r14,#LO]	@ K[i].lo
	eor	r10,r10,r12		@ Ch(e,f,g)
	ldr	r12,[r14,#HI]	@ K[i].hi

	adds	r3,r3,r9
	ldr	r7,[sp,#24+0]	@ d.lo
	adc	r4,r4,r10		@ T += Ch(e,f,g)
	ldr	r8,[sp,#24+4]	@ d.hi
	adds	r3,r3,r11
	and	r9,r11,#0xff
	adc	r4,r4,r12		@ T += K[i]
	adds	r7,r7,r3
	ldr	r11,[sp,#8+0]	@ b.lo
	adc	r8,r8,r4		@ d += T
	teq	r9,#148

	ldr	r12,[sp,#16+0]	@ c.lo
#if __ARM_ARCH__>=7
	it	eq			@ Thumb2 thing, sanity check in ARM
#endif
	orreq	r14,r14,#1
	@ Sigma0(x)	(ROTR((x),28) ^ ROTR((x),34) ^ ROTR((x),39))
	@ LO		lo>>28^hi<<4  ^ hi>>2^lo<<30 ^ hi>>7^lo<<25
	@ HI		hi>>28^lo<<4  ^ lo>>2^hi<<30 ^ lo>>7^hi<<25
	mov	r9,r5,lsr#28
	mov	r10,r6,lsr#28
	eor	r9,r9,r6,lsl#4
	eor	r10,r10,r5,lsl#4
	eor	r9,r9,r6,lsr#2
	eor	r10,r10,r5,lsr#2
	eor	r9,r9,r5,lsl#30
	eor	r10,r10,r6,lsl#30
	eor	r9,r9,r6,lsr#7
	eor	r10,r10,r5,lsr#7
	eor	r9,r9,r5,lsl#25
	eor	r10,r10,r6,lsl#25	@ Sigma0(a)
	adds	r3,r3,r9
	and	r9,r5,r11
	adc	r4,r4,r10		@ T += Sigma0(a)

	ldr	r10,[sp,#8+4]	@ b.hi
	orr	r5,r5,r11
	ldr	r11,[sp,#16+4]	@ c.hi
	and	r5,r5,r12
	and	r12,r6,r10
	orr	r6,r6,r10
	orr	r5,r5,r9		@ Maj(a,b,c).lo
	and	r6,r6,r11
	adds	r5,r5,r3
	orr	r6,r6,r12		@ Maj(a,b,c).hi
	sub	sp,sp,#8
	adc	r6,r6,r4		@ h += T
	tst	r14,#1
	add	r14,r14,#8
	tst	r14,#1
	beq	.L00_15
	ldr	r9,[sp,#184+0]
	ldr	r10,[sp,#184+4]
	bic	r14,r14,#1
.L16_79:
	@ sigma0(x)	(ROTR((x),1)  ^ ROTR((x),8)  ^ ((x)>>7))
	@ LO		lo>>1^hi<<31  ^ lo>>8^hi<<24 ^ lo>>7^hi<<25
	@ HI		hi>>1^lo<<31  ^ hi>>8^lo<<24 ^ hi>>7
	mov	r3,r9,lsr#1
	ldr	r11,[sp,#80+0]
	mov	r4,r10,lsr#1
	ldr	r12,[sp,#80+4]
	eor	r3,r3,r10,lsl#31
	eor	r4,r4,r9,lsl#31
	eor	r3,r3,r9,lsr#8
	eor	r4,r4,r10,lsr#8
	eor	r3,r3,r10,lsl#24
	eor	r4,r4,r9,lsl#24
	eor	r3,r3,r9,lsr#7
	eor	r4,r4,r10,lsr#7
	eor	r3,r3,r10,lsl#25

	@ sigma1(x)	(ROTR((x),19) ^ ROTR((x),61) ^ ((x)>>6))
	@ LO		lo>>19^hi<<13 ^ hi>>29^lo<<3 ^ lo>>6^hi<<26
	@ HI		hi>>19^lo<<13 ^ lo>>29^hi<<3 ^ hi>>6
	mov	r9,r11,lsr#19
	mov	r10,r12,lsr#19
	eor	r9,r9,r12,lsl#13
	eor	r10,r10,r11,lsl#13
	eor	r9,r9,r12,lsr#29
	eor	r10,r10,r11,lsr#29
	eor	r9,r9,r11,lsl#3
	eor	r10,r10,r12,lsl#3
	eor	r9,r9,r11,lsr#6
	eor	r10,r10,r12,lsr#6
	ldr	r11,[sp,#120+0]
	eor	r9,r9,r12,lsl#26

	ldr	r12,[sp,#120+4]
	adds	r3,r3,r9
	ldr	r9,[sp,#192+0]
	adc	r4,r4,r10

	ldr	r10,[sp,#192+4]
	adds	r3,r3,r11
	adc	r4,r4,r12
	adds	r3,r3,r9
	adc	r4,r4,r10
	@ Sigma1(x)	(ROTR((x),14) ^ ROTR((x),18)  ^ ROTR((x),41))
	@ LO		lo>>14^hi<<18 ^ lo>>18^hi<<14 ^ hi>>9^lo<<23
	@ HI		hi>>14^lo<<18 ^ hi>>18^lo<<14 ^ lo>>9^hi<<23
	mov	r9,r7,lsr#14
	str	r3,[sp,#64+0]
	mov	r10,r8,lsr#14
	str	r4,[sp,#64+4]
	eor	r9,r9,r8,lsl#18
	ldr	r11,[sp,#56+0]	@ h.lo
	eor	r10,r10,r7,lsl#18
	ldr	r12,[sp,#56+4]	@ h.hi
	eor	r9,r9,r7,lsr#18
	eor	r10,r10,r8,lsr#18
	eor	r9,r9,r8,lsl#14
	eor	r10,r10,r7,lsl#14
	eor	r9,r9,r8,lsr#9
	eor	r10,r10,r7,lsr#9
	eor	r9,r9,r7,lsl#23
	eor	r10,r10,r8,lsl#23	@ Sigma1(e)
	adds	r3,r3,r9
	ldr	r9,[sp,#40+0]	@ f.lo
	adc	r4,r4,r10		@ T += Sigma1(e)
	ldr	r10,[sp,#40+4]	@ f.hi
	adds	r3,r3,r11
	ldr	r11,[sp,#48+0]	@ g.lo
	adc	r4,r4,r12		@ T += h
	ldr	r12,[sp,#48+4]	@ g.hi

	eor	r9,r9,r11
	str	r7,[sp,#32+0]
	eor	r10,r10,r12
	str	r8,[sp,#32+4]
	and	r9,r9,r7
	str	r5,[sp,#0+0]
	and	r10,r10,r8
	str	r6,[sp,#0+4]
	eor	r9,r9,r11
	ldr	r11,[r14,#LO]	@ K[i].lo
	eor	r10,r10,r12		@ Ch(e,f,g)
	ldr	r12,[r14,#HI]	@ K[i].hi

	adds	r3,r3,r9
	ldr	r7,[sp,#24+0]	@ d.lo
	adc	r4,r4,r10		@ T += Ch(e,f,g)
	ldr	r8,[sp,#24+4]	@ d.hi
	adds	r3,r3,r11
	and	r9,r11,#0xff
	adc	r4,r4,r12		@ T += K[i]
	adds	r7,r7,r3
	ldr	r11,[sp,#8+0]	@ b.lo
	adc	r8,r8,r4		@ d += T
	teq	r9,#23

	ldr	r12,[sp,#16+0]	@ c.lo
#if __ARM_ARCH__>=7
	it	eq			@ Thumb2 thing, sanity check in ARM
#endif
	orreq	r14,r14,#1
	@ Sigma0(x)	(ROTR((x),28) ^ ROTR((x),34) ^ ROTR((x),39))
	@ LO		lo>>28^hi<<4  ^ hi>>2^lo<<30 ^ hi>>7^lo<<25
	@ HI		hi>>28^lo<<4  ^ lo>>2^hi<<30 ^ lo>>7^hi<<25
	mov	r9,r5,lsr#28
	mov	r10,r6,lsr#28
	eor	r9,r9,r6,lsl#4
	eor	r10,r10,r5,lsl#4
	eor	r9,r9,r6,lsr#2
	eor	r10,r10,r5,lsr#2
	eor	r9,r9,r5,lsl#30
	eor	r10,r10,r6,lsl#30
	eor	r9,r9,r6,lsr#7
	eor	r10,r10,r5,lsr#7
	eor	r9,r9,r5,lsl#25
	eor	r10,r10,r6,lsl#25	@ Sigma0(a)
	adds	r3,r3,r9
	and	r9,r5,r11
	adc	r4,r4,r10		@ T += Sigma0(a)

	ldr	r10,[sp,#8+4]	@ b.hi
	orr	r5,r5,r11
	ldr	r11,[sp,#16+4]	@ c.hi
	and	r5,r5,r12
	and	r12,r6,r10
	orr	r6,r6,r10
	orr	r5,r5,r9		@ Maj(a,b,c).lo
	and	r6,r6,r11
	adds	r5,r5,r3
	orr	r6,r6,r12		@ Maj(a,b,c).hi
	sub	sp,sp,#8
	adc	r6,r6,r4		@ h += T
	tst	r14,#1
	add	r14,r14,#8
#if __ARM_ARCH__>=7
	ittt	eq			@ Thumb2 thing, sanity check in ARM
#endif
	ldreq	r9,[sp,#184+0]
	ldreq	r10,[sp,#184+4]
	beq	.L16_79
	bic	r14,r14,#1

	ldr	r3,[sp,#8+0]
	ldr	r4,[sp,#8+4]
	ldr	r9, [r0,#0+LO]
	ldr	r10, [r0,#0+HI]
	ldr	r11, [r0,#8+LO]
	ldr	r12, [r0,#8+HI]
	adds	r9,r5,r9
	str	r9, [r0,#0+LO]
	adc	r10,r6,r10
	str	r10, [r0,#0+HI]
	adds	r11,r3,r11
	str	r11, [r0,#8+LO]
	adc	r12,r4,r12
	str	r12, [r0,#8+HI]

	ldr	r5,[sp,#16+0]
	ldr	r6,[sp,#16+4]
	ldr	r3,[sp,#24+0]
	ldr	r4,[sp,#24+4]
	ldr	r9, [r0,#16+LO]
	ldr	r10, [r0,#16+HI]
	ldr	r11, [r0,#24+LO]
	ldr	r12, [r0,#24+HI]
	adds	r9,r5,r9
	str	r9, [r0,#16+LO]
	adc	r10,r6,r10
	str	r10, [r0,#16+HI]
	adds	r11,r3,r11
	str	r11, [r0,#24+LO]
	adc	r12,r4,r12
	str	r12, [r0,#24+HI]

	ldr	r3,[sp,#40+0]
	ldr	r4,[sp,#40+4]
	ldr	r9, [r0,#32+LO]
	ldr	r10, [r0,#32+HI]
	ldr	r11, [r0,#40+LO]
	ldr	r12, [r0,#40+HI]
	adds	r7,r7,r9
	str	r7,[r0,#32+LO]
	adc	r8,r8,r10
	str	r8,[r0,#32+HI]
	adds	r11,r3,r11
	str	r11, [r0,#40+LO]
	adc	r12,r4,r12
	str	r12, [r0,#40+HI]

	ldr	r5,[sp,#48+0]
	ldr	r6,[sp,#48+4]
	ldr	r3,[sp,#56+0]
	ldr	r4,[sp,#56+4]
	ldr	r9, [r0,#48+LO]
	ldr	r10, [r0,#48+HI]
	ldr	r11, [r0,#56+LO]
	ldr	r12, [r0,#56+HI]
	adds	r9,r5,r9
	str	r9, [r0,#48+LO]
	adc	r10,r6,r10
	str	r10, [r0,#48+HI]
	adds	r11,r3,r11
	str	r11, [r0,#56+LO]
	adc	r12,r4,r12
	str	r12, [r0,#56+HI]

	add	sp,sp,#640
	sub	r14,r14,#640

	teq	r1,r2
	bne	.Loop

	add	sp,sp,#8*9		@ destroy frame
#if __ARM_ARCH__>=5
	ldmia	sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc}
#else
	ldmia	sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
	tst	lr,#1
	moveq	pc,lr			@ be binary compatible with V4, yet
.word	0xe12fff1e			@ interoperable with Thumb ISA:-)
#endif
.size	sha512_block_data_order,.-sha512_block_data_order
#if __ARM_MAX_ARCH__>=7
.arch	armv7-a
.fpu	neon

.globl	sha512_block_data_order_neon
.hidden	sha512_block_data_order_neon
.type	sha512_block_data_order_neon,%function
.align	4
sha512_block_data_order_neon:
.LNEON:
	dmb	@ errata #451034 on early Cortex A8
	add	r2,r1,r2,lsl#7	@ len to point at the end of inp
	adr	r3,K512
	VFP_ABI_PUSH
	vldmia	r0,{d16,d17,d18,d19,d20,d21,d22,d23}		@ load context
.Loop_neon:
	vshr.u64	d24,d20,#14	@ 0
#if 0<16
	vld1.64	{d0},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d20,#18
#if 0>0
	vadd.i64	d16,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d20,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d20,#50
	vsli.64	d25,d20,#46
	vmov	d29,d20
	vsli.64	d26,d20,#23
#if 0<16 && defined(__ARMEL__)
	vrev64.8	d0,d0
#endif
	veor	d25,d24
	vbsl	d29,d21,d22		@ Ch(e,f,g)
	vshr.u64	d24,d16,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d23
	vshr.u64	d25,d16,#34
	vsli.64	d24,d16,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d16,#39
	vadd.i64	d28,d0
	vsli.64	d25,d16,#30
	veor	d30,d16,d17
	vsli.64	d26,d16,#25
	veor	d23,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d18,d17		@ Maj(a,b,c)
	veor	d23,d26			@ Sigma0(a)
	vadd.i64	d19,d27
	vadd.i64	d30,d27
	@ vadd.i64	d23,d30
	vshr.u64	d24,d19,#14	@ 1
#if 1<16
	vld1.64	{d1},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d19,#18
#if 1>0
	vadd.i64	d23,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d19,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d19,#50
	vsli.64	d25,d19,#46
	vmov	d29,d19
	vsli.64	d26,d19,#23
#if 1<16 && defined(__ARMEL__)
	vrev64.8	d1,d1
#endif
	veor	d25,d24
	vbsl	d29,d20,d21		@ Ch(e,f,g)
	vshr.u64	d24,d23,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d22
	vshr.u64	d25,d23,#34
	vsli.64	d24,d23,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d23,#39
	vadd.i64	d28,d1
	vsli.64	d25,d23,#30
	veor	d30,d23,d16
	vsli.64	d26,d23,#25
	veor	d22,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d17,d16		@ Maj(a,b,c)
	veor	d22,d26			@ Sigma0(a)
	vadd.i64	d18,d27
	vadd.i64	d30,d27
	@ vadd.i64	d22,d30
	vshr.u64	d24,d18,#14	@ 2
#if 2<16
	vld1.64	{d2},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d18,#18
#if 2>0
	vadd.i64	d22,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d18,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d18,#50
	vsli.64	d25,d18,#46
	vmov	d29,d18
	vsli.64	d26,d18,#23
#if 2<16 && defined(__ARMEL__)
	vrev64.8	d2,d2
#endif
	veor	d25,d24
	vbsl	d29,d19,d20		@ Ch(e,f,g)
	vshr.u64	d24,d22,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d21
	vshr.u64	d25,d22,#34
	vsli.64	d24,d22,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d22,#39
	vadd.i64	d28,d2
	vsli.64	d25,d22,#30
	veor	d30,d22,d23
	vsli.64	d26,d22,#25
	veor	d21,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d16,d23		@ Maj(a,b,c)
	veor	d21,d26			@ Sigma0(a)
	vadd.i64	d17,d27
	vadd.i64	d30,d27
	@ vadd.i64	d21,d30
	vshr.u64	d24,d17,#14	@ 3
#if 3<16
	vld1.64	{d3},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d17,#18
#if 3>0
	vadd.i64	d21,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d17,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d17,#50
	vsli.64	d25,d17,#46
	vmov	d29,d17
	vsli.64	d26,d17,#23
#if 3<16 && defined(__ARMEL__)
	vrev64.8	d3,d3
#endif
	veor	d25,d24
	vbsl	d29,d18,d19		@ Ch(e,f,g)
	vshr.u64	d24,d21,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d20
	vshr.u64	d25,d21,#34
	vsli.64	d24,d21,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d21,#39
	vadd.i64	d28,d3
	vsli.64	d25,d21,#30
	veor	d30,d21,d22
	vsli.64	d26,d21,#25
	veor	d20,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d23,d22		@ Maj(a,b,c)
	veor	d20,d26			@ Sigma0(a)
	vadd.i64	d16,d27
	vadd.i64	d30,d27
	@ vadd.i64	d20,d30
	vshr.u64	d24,d16,#14	@ 4
#if 4<16
	vld1.64	{d4},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d16,#18
#if 4>0
	vadd.i64	d20,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d16,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d16,#50
	vsli.64	d25,d16,#46
	vmov	d29,d16
	vsli.64	d26,d16,#23
#if 4<16 && defined(__ARMEL__)
	vrev64.8	d4,d4
#endif
	veor	d25,d24
	vbsl	d29,d17,d18		@ Ch(e,f,g)
	vshr.u64	d24,d20,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d19
	vshr.u64	d25,d20,#34
	vsli.64	d24,d20,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d20,#39
	vadd.i64	d28,d4
	vsli.64	d25,d20,#30
	veor	d30,d20,d21
	vsli.64	d26,d20,#25
	veor	d19,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d22,d21		@ Maj(a,b,c)
	veor	d19,d26			@ Sigma0(a)
	vadd.i64	d23,d27
	vadd.i64	d30,d27
	@ vadd.i64	d19,d30
	vshr.u64	d24,d23,#14	@ 5
#if 5<16
	vld1.64	{d5},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d23,#18
#if 5>0
	vadd.i64	d19,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d23,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d23,#50
	vsli.64	d25,d23,#46
	vmov	d29,d23
	vsli.64	d26,d23,#23
#if 5<16 && defined(__ARMEL__)
	vrev64.8	d5,d5
#endif
	veor	d25,d24
	vbsl	d29,d16,d17		@ Ch(e,f,g)
	vshr.u64	d24,d19,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d18
	vshr.u64	d25,d19,#34
	vsli.64	d24,d19,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d19,#39
	vadd.i64	d28,d5
	vsli.64	d25,d19,#30
	veor	d30,d19,d20
	vsli.64	d26,d19,#25
	veor	d18,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d21,d20		@ Maj(a,b,c)
	veor	d18,d26			@ Sigma0(a)
	vadd.i64	d22,d27
	vadd.i64	d30,d27
	@ vadd.i64	d18,d30
	vshr.u64	d24,d22,#14	@ 6
#if 6<16
	vld1.64	{d6},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d22,#18
#if 6>0
	vadd.i64	d18,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d22,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d22,#50
	vsli.64	d25,d22,#46
	vmov	d29,d22
	vsli.64	d26,d22,#23
#if 6<16 && defined(__ARMEL__)
	vrev64.8	d6,d6
#endif
	veor	d25,d24
	vbsl	d29,d23,d16		@ Ch(e,f,g)
	vshr.u64	d24,d18,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d17
	vshr.u64	d25,d18,#34
	vsli.64	d24,d18,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d18,#39
	vadd.i64	d28,d6
	vsli.64	d25,d18,#30
	veor	d30,d18,d19
	vsli.64	d26,d18,#25
	veor	d17,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d20,d19		@ Maj(a,b,c)
	veor	d17,d26			@ Sigma0(a)
	vadd.i64	d21,d27
	vadd.i64	d30,d27
	@ vadd.i64	d17,d30
	vshr.u64	d24,d21,#14	@ 7
#if 7<16
	vld1.64	{d7},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d21,#18
#if 7>0
	vadd.i64	d17,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d21,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d21,#50
	vsli.64	d25,d21,#46
	vmov	d29,d21
	vsli.64	d26,d21,#23
#if 7<16 && defined(__ARMEL__)
	vrev64.8	d7,d7
#endif
	veor	d25,d24
	vbsl	d29,d22,d23		@ Ch(e,f,g)
	vshr.u64	d24,d17,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d16
	vshr.u64	d25,d17,#34
	vsli.64	d24,d17,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d17,#39
	vadd.i64	d28,d7
	vsli.64	d25,d17,#30
	veor	d30,d17,d18
	vsli.64	d26,d17,#25
	veor	d16,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d19,d18		@ Maj(a,b,c)
	veor	d16,d26			@ Sigma0(a)
	vadd.i64	d20,d27
	vadd.i64	d30,d27
	@ vadd.i64	d16,d30
	vshr.u64	d24,d20,#14	@ 8
#if 8<16
	vld1.64	{d8},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d20,#18
#if 8>0
	vadd.i64	d16,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d20,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d20,#50
	vsli.64	d25,d20,#46
	vmov	d29,d20
	vsli.64	d26,d20,#23
#if 8<16 && defined(__ARMEL__)
	vrev64.8	d8,d8
#endif
	veor	d25,d24
	vbsl	d29,d21,d22		@ Ch(e,f,g)
	vshr.u64	d24,d16,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d23
	vshr.u64	d25,d16,#34
	vsli.64	d24,d16,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d16,#39
	vadd.i64	d28,d8
	vsli.64	d25,d16,#30
	veor	d30,d16,d17
	vsli.64	d26,d16,#25
	veor	d23,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d18,d17		@ Maj(a,b,c)
	veor	d23,d26			@ Sigma0(a)
	vadd.i64	d19,d27
	vadd.i64	d30,d27
	@ vadd.i64	d23,d30
	vshr.u64	d24,d19,#14	@ 9
#if 9<16
	vld1.64	{d9},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d19,#18
#if 9>0
	vadd.i64	d23,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d19,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d19,#50
	vsli.64	d25,d19,#46
	vmov	d29,d19
	vsli.64	d26,d19,#23
#if 9<16 && defined(__ARMEL__)
	vrev64.8	d9,d9
#endif
	veor	d25,d24
	vbsl	d29,d20,d21		@ Ch(e,f,g)
	vshr.u64	d24,d23,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d22
	vshr.u64	d25,d23,#34
	vsli.64	d24,d23,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d23,#39
	vadd.i64	d28,d9
	vsli.64	d25,d23,#30
	veor	d30,d23,d16
	vsli.64	d26,d23,#25
	veor	d22,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d17,d16		@ Maj(a,b,c)
	veor	d22,d26			@ Sigma0(a)
	vadd.i64	d18,d27
	vadd.i64	d30,d27
	@ vadd.i64	d22,d30
	vshr.u64	d24,d18,#14	@ 10
#if 10<16
	vld1.64	{d10},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d18,#18
#if 10>0
	vadd.i64	d22,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d18,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d18,#50
	vsli.64	d25,d18,#46
	vmov	d29,d18
	vsli.64	d26,d18,#23
#if 10<16 && defined(__ARMEL__)
	vrev64.8	d10,d10
#endif
	veor	d25,d24
	vbsl	d29,d19,d20		@ Ch(e,f,g)
	vshr.u64	d24,d22,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d21
	vshr.u64	d25,d22,#34
	vsli.64	d24,d22,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d22,#39
	vadd.i64	d28,d10
	vsli.64	d25,d22,#30
	veor	d30,d22,d23
	vsli.64	d26,d22,#25
	veor	d21,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d16,d23		@ Maj(a,b,c)
	veor	d21,d26			@ Sigma0(a)
	vadd.i64	d17,d27
	vadd.i64	d30,d27
	@ vadd.i64	d21,d30
	vshr.u64	d24,d17,#14	@ 11
#if 11<16
	vld1.64	{d11},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d17,#18
#if 11>0
	vadd.i64	d21,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d17,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d17,#50
	vsli.64	d25,d17,#46
	vmov	d29,d17
	vsli.64	d26,d17,#23
#if 11<16 && defined(__ARMEL__)
	vrev64.8	d11,d11
#endif
	veor	d25,d24
	vbsl	d29,d18,d19		@ Ch(e,f,g)
	vshr.u64	d24,d21,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d20
	vshr.u64	d25,d21,#34
	vsli.64	d24,d21,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d21,#39
	vadd.i64	d28,d11
	vsli.64	d25,d21,#30
	veor	d30,d21,d22
	vsli.64	d26,d21,#25
	veor	d20,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d23,d22		@ Maj(a,b,c)
	veor	d20,d26			@ Sigma0(a)
	vadd.i64	d16,d27
	vadd.i64	d30,d27
	@ vadd.i64	d20,d30
	vshr.u64	d24,d16,#14	@ 12
#if 12<16
	vld1.64	{d12},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d16,#18
#if 12>0
	vadd.i64	d20,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d16,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d16,#50
	vsli.64	d25,d16,#46
	vmov	d29,d16
	vsli.64	d26,d16,#23
#if 12<16 && defined(__ARMEL__)
	vrev64.8	d12,d12
#endif
	veor	d25,d24
	vbsl	d29,d17,d18		@ Ch(e,f,g)
	vshr.u64	d24,d20,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d19
	vshr.u64	d25,d20,#34
	vsli.64	d24,d20,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d20,#39
	vadd.i64	d28,d12
	vsli.64	d25,d20,#30
	veor	d30,d20,d21
	vsli.64	d26,d20,#25
	veor	d19,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d22,d21		@ Maj(a,b,c)
	veor	d19,d26			@ Sigma0(a)
	vadd.i64	d23,d27
	vadd.i64	d30,d27
	@ vadd.i64	d19,d30
	vshr.u64	d24,d23,#14	@ 13
#if 13<16
	vld1.64	{d13},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d23,#18
#if 13>0
	vadd.i64	d19,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d23,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d23,#50
	vsli.64	d25,d23,#46
	vmov	d29,d23
	vsli.64	d26,d23,#23
#if 13<16 && defined(__ARMEL__)
	vrev64.8	d13,d13
#endif
	veor	d25,d24
	vbsl	d29,d16,d17		@ Ch(e,f,g)
	vshr.u64	d24,d19,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d18
	vshr.u64	d25,d19,#34
	vsli.64	d24,d19,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d19,#39
	vadd.i64	d28,d13
	vsli.64	d25,d19,#30
	veor	d30,d19,d20
	vsli.64	d26,d19,#25
	veor	d18,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d21,d20		@ Maj(a,b,c)
	veor	d18,d26			@ Sigma0(a)
	vadd.i64	d22,d27
	vadd.i64	d30,d27
	@ vadd.i64	d18,d30
	vshr.u64	d24,d22,#14	@ 14
#if 14<16
	vld1.64	{d14},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d22,#18
#if 14>0
	vadd.i64	d18,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d22,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d22,#50
	vsli.64	d25,d22,#46
	vmov	d29,d22
	vsli.64	d26,d22,#23
#if 14<16 && defined(__ARMEL__)
	vrev64.8	d14,d14
#endif
	veor	d25,d24
	vbsl	d29,d23,d16		@ Ch(e,f,g)
	vshr.u64	d24,d18,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d17
	vshr.u64	d25,d18,#34
	vsli.64	d24,d18,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d18,#39
	vadd.i64	d28,d14
	vsli.64	d25,d18,#30
	veor	d30,d18,d19
	vsli.64	d26,d18,#25
	veor	d17,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d20,d19		@ Maj(a,b,c)
	veor	d17,d26			@ Sigma0(a)
	vadd.i64	d21,d27
	vadd.i64	d30,d27
	@ vadd.i64	d17,d30
	vshr.u64	d24,d21,#14	@ 15
#if 15<16
	vld1.64	{d15},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d21,#18
#if 15>0
	vadd.i64	d17,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d21,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d21,#50
	vsli.64	d25,d21,#46
	vmov	d29,d21
	vsli.64	d26,d21,#23
#if 15<16 && defined(__ARMEL__)
	vrev64.8	d15,d15
#endif
	veor	d25,d24
	vbsl	d29,d22,d23		@ Ch(e,f,g)
	vshr.u64	d24,d17,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d16
	vshr.u64	d25,d17,#34
	vsli.64	d24,d17,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d17,#39
	vadd.i64	d28,d15
	vsli.64	d25,d17,#30
	veor	d30,d17,d18
	vsli.64	d26,d17,#25
	veor	d16,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d19,d18		@ Maj(a,b,c)
	veor	d16,d26			@ Sigma0(a)
	vadd.i64	d20,d27
	vadd.i64	d30,d27
	@ vadd.i64	d16,d30
	mov	r12,#4
.L16_79_neon:
	subs	r12,#1
	vshr.u64	q12,q7,#19
	vshr.u64	q13,q7,#61
	vadd.i64	d16,d30			@ h+=Maj from the past
	vshr.u64	q15,q7,#6
	vsli.64	q12,q7,#45
	vext.8	q14,q0,q1,#8	@ X[i+1]
	vsli.64	q13,q7,#3
	veor	q15,q12
	vshr.u64	q12,q14,#1
	veor	q15,q13				@ sigma1(X[i+14])
	vshr.u64	q13,q14,#8
	vadd.i64	q0,q15
	vshr.u64	q15,q14,#7
	vsli.64	q12,q14,#63
	vsli.64	q13,q14,#56
	vext.8	q14,q4,q5,#8	@ X[i+9]
	veor	q15,q12
	vshr.u64	d24,d20,#14		@ from NEON_00_15
	vadd.i64	q0,q14
	vshr.u64	d25,d20,#18		@ from NEON_00_15
	veor	q15,q13				@ sigma0(X[i+1])
	vshr.u64	d26,d20,#41		@ from NEON_00_15
	vadd.i64	q0,q15
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d20,#50
	vsli.64	d25,d20,#46
	vmov	d29,d20
	vsli.64	d26,d20,#23
#if 16<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d21,d22		@ Ch(e,f,g)
	vshr.u64	d24,d16,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d23
	vshr.u64	d25,d16,#34
	vsli.64	d24,d16,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d16,#39
	vadd.i64	d28,d0
	vsli.64	d25,d16,#30
	veor	d30,d16,d17
	vsli.64	d26,d16,#25
	veor	d23,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d18,d17		@ Maj(a,b,c)
	veor	d23,d26			@ Sigma0(a)
	vadd.i64	d19,d27
	vadd.i64	d30,d27
	@ vadd.i64	d23,d30
	vshr.u64	d24,d19,#14	@ 17
#if 17<16
	vld1.64	{d1},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d19,#18
#if 17>0
	vadd.i64	d23,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d19,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d19,#50
	vsli.64	d25,d19,#46
	vmov	d29,d19
	vsli.64	d26,d19,#23
#if 17<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d20,d21		@ Ch(e,f,g)
	vshr.u64	d24,d23,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d22
	vshr.u64	d25,d23,#34
	vsli.64	d24,d23,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d23,#39
	vadd.i64	d28,d1
	vsli.64	d25,d23,#30
	veor	d30,d23,d16
	vsli.64	d26,d23,#25
	veor	d22,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d17,d16		@ Maj(a,b,c)
	veor	d22,d26			@ Sigma0(a)
	vadd.i64	d18,d27
	vadd.i64	d30,d27
	@ vadd.i64	d22,d30
	vshr.u64	q12,q0,#19
	vshr.u64	q13,q0,#61
	vadd.i64	d22,d30			@ h+=Maj from the past
	vshr.u64	q15,q0,#6
	vsli.64	q12,q0,#45
	vext.8	q14,q1,q2,#8	@ X[i+1]
	vsli.64	q13,q0,#3
	veor	q15,q12
	vshr.u64	q12,q14,#1
	veor	q15,q13				@ sigma1(X[i+14])
	vshr.u64	q13,q14,#8
	vadd.i64	q1,q15
	vshr.u64	q15,q14,#7
	vsli.64	q12,q14,#63
	vsli.64	q13,q14,#56
	vext.8	q14,q5,q6,#8	@ X[i+9]
	veor	q15,q12
	vshr.u64	d24,d18,#14		@ from NEON_00_15
	vadd.i64	q1,q14
	vshr.u64	d25,d18,#18		@ from NEON_00_15
	veor	q15,q13				@ sigma0(X[i+1])
	vshr.u64	d26,d18,#41		@ from NEON_00_15
	vadd.i64	q1,q15
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d18,#50
	vsli.64	d25,d18,#46
	vmov	d29,d18
	vsli.64	d26,d18,#23
#if 18<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d19,d20		@ Ch(e,f,g)
	vshr.u64	d24,d22,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d21
	vshr.u64	d25,d22,#34
	vsli.64	d24,d22,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d22,#39
	vadd.i64	d28,d2
	vsli.64	d25,d22,#30
	veor	d30,d22,d23
	vsli.64	d26,d22,#25
	veor	d21,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d16,d23		@ Maj(a,b,c)
	veor	d21,d26			@ Sigma0(a)
	vadd.i64	d17,d27
	vadd.i64	d30,d27
	@ vadd.i64	d21,d30
	vshr.u64	d24,d17,#14	@ 19
#if 19<16
	vld1.64	{d3},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d17,#18
#if 19>0
	vadd.i64	d21,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d17,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d17,#50
	vsli.64	d25,d17,#46
	vmov	d29,d17
	vsli.64	d26,d17,#23
#if 19<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d18,d19		@ Ch(e,f,g)
	vshr.u64	d24,d21,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d20
	vshr.u64	d25,d21,#34
	vsli.64	d24,d21,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d21,#39
	vadd.i64	d28,d3
	vsli.64	d25,d21,#30
	veor	d30,d21,d22
	vsli.64	d26,d21,#25
	veor	d20,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d23,d22		@ Maj(a,b,c)
	veor	d20,d26			@ Sigma0(a)
	vadd.i64	d16,d27
	vadd.i64	d30,d27
	@ vadd.i64	d20,d30
	vshr.u64	q12,q1,#19
	vshr.u64	q13,q1,#61
	vadd.i64	d20,d30			@ h+=Maj from the past
	vshr.u64	q15,q1,#6
	vsli.64	q12,q1,#45
	vext.8	q14,q2,q3,#8	@ X[i+1]
	vsli.64	q13,q1,#3
	veor	q15,q12
	vshr.u64	q12,q14,#1
	veor	q15,q13				@ sigma1(X[i+14])
	vshr.u64	q13,q14,#8
	vadd.i64	q2,q15
	vshr.u64	q15,q14,#7
	vsli.64	q12,q14,#63
	vsli.64	q13,q14,#56
	vext.8	q14,q6,q7,#8	@ X[i+9]
	veor	q15,q12
	vshr.u64	d24,d16,#14		@ from NEON_00_15
	vadd.i64	q2,q14
	vshr.u64	d25,d16,#18		@ from NEON_00_15
	veor	q15,q13				@ sigma0(X[i+1])
	vshr.u64	d26,d16,#41		@ from NEON_00_15
	vadd.i64	q2,q15
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d16,#50
	vsli.64	d25,d16,#46
	vmov	d29,d16
	vsli.64	d26,d16,#23
#if 20<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d17,d18		@ Ch(e,f,g)
	vshr.u64	d24,d20,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d19
	vshr.u64	d25,d20,#34
	vsli.64	d24,d20,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d20,#39
	vadd.i64	d28,d4
	vsli.64	d25,d20,#30
	veor	d30,d20,d21
	vsli.64	d26,d20,#25
	veor	d19,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d22,d21		@ Maj(a,b,c)
	veor	d19,d26			@ Sigma0(a)
	vadd.i64	d23,d27
	vadd.i64	d30,d27
	@ vadd.i64	d19,d30
	vshr.u64	d24,d23,#14	@ 21
#if 21<16
	vld1.64	{d5},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d23,#18
#if 21>0
	vadd.i64	d19,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d23,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d23,#50
	vsli.64	d25,d23,#46
	vmov	d29,d23
	vsli.64	d26,d23,#23
#if 21<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d16,d17		@ Ch(e,f,g)
	vshr.u64	d24,d19,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d18
	vshr.u64	d25,d19,#34
	vsli.64	d24,d19,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d19,#39
	vadd.i64	d28,d5
	vsli.64	d25,d19,#30
	veor	d30,d19,d20
	vsli.64	d26,d19,#25
	veor	d18,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d21,d20		@ Maj(a,b,c)
	veor	d18,d26			@ Sigma0(a)
	vadd.i64	d22,d27
	vadd.i64	d30,d27
	@ vadd.i64	d18,d30
	vshr.u64	q12,q2,#19
	vshr.u64	q13,q2,#61
	vadd.i64	d18,d30			@ h+=Maj from the past
	vshr.u64	q15,q2,#6
	vsli.64	q12,q2,#45
	vext.8	q14,q3,q4,#8	@ X[i+1]
	vsli.64	q13,q2,#3
	veor	q15,q12
	vshr.u64	q12,q14,#1
	veor	q15,q13				@ sigma1(X[i+14])
	vshr.u64	q13,q14,#8
	vadd.i64	q3,q15
	vshr.u64	q15,q14,#7
	vsli.64	q12,q14,#63
	vsli.64	q13,q14,#56
	vext.8	q14,q7,q0,#8	@ X[i+9]
	veor	q15,q12
	vshr.u64	d24,d22,#14		@ from NEON_00_15
	vadd.i64	q3,q14
	vshr.u64	d25,d22,#18		@ from NEON_00_15
	veor	q15,q13				@ sigma0(X[i+1])
	vshr.u64	d26,d22,#41		@ from NEON_00_15
	vadd.i64	q3,q15
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d22,#50
	vsli.64	d25,d22,#46
	vmov	d29,d22
	vsli.64	d26,d22,#23
#if 22<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d23,d16		@ Ch(e,f,g)
	vshr.u64	d24,d18,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d17
	vshr.u64	d25,d18,#34
	vsli.64	d24,d18,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d18,#39
	vadd.i64	d28,d6
	vsli.64	d25,d18,#30
	veor	d30,d18,d19
	vsli.64	d26,d18,#25
	veor	d17,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d20,d19		@ Maj(a,b,c)
	veor	d17,d26			@ Sigma0(a)
	vadd.i64	d21,d27
	vadd.i64	d30,d27
	@ vadd.i64	d17,d30
	vshr.u64	d24,d21,#14	@ 23
#if 23<16
	vld1.64	{d7},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d21,#18
#if 23>0
	vadd.i64	d17,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d21,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d21,#50
	vsli.64	d25,d21,#46
	vmov	d29,d21
	vsli.64	d26,d21,#23
#if 23<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d22,d23		@ Ch(e,f,g)
	vshr.u64	d24,d17,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d16
	vshr.u64	d25,d17,#34
	vsli.64	d24,d17,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d17,#39
	vadd.i64	d28,d7
	vsli.64	d25,d17,#30
	veor	d30,d17,d18
	vsli.64	d26,d17,#25
	veor	d16,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d19,d18		@ Maj(a,b,c)
	veor	d16,d26			@ Sigma0(a)
	vadd.i64	d20,d27
	vadd.i64	d30,d27
	@ vadd.i64	d16,d30
	vshr.u64	q12,q3,#19
	vshr.u64	q13,q3,#61
	vadd.i64	d16,d30			@ h+=Maj from the past
	vshr.u64	q15,q3,#6
	vsli.64	q12,q3,#45
	vext.8	q14,q4,q5,#8	@ X[i+1]
	vsli.64	q13,q3,#3
	veor	q15,q12
	vshr.u64	q12,q14,#1
	veor	q15,q13				@ sigma1(X[i+14])
	vshr.u64	q13,q14,#8
	vadd.i64	q4,q15
	vshr.u64	q15,q14,#7
	vsli.64	q12,q14,#63
	vsli.64	q13,q14,#56
	vext.8	q14,q0,q1,#8	@ X[i+9]
	veor	q15,q12
	vshr.u64	d24,d20,#14		@ from NEON_00_15
	vadd.i64	q4,q14
	vshr.u64	d25,d20,#18		@ from NEON_00_15
	veor	q15,q13				@ sigma0(X[i+1])
	vshr.u64	d26,d20,#41		@ from NEON_00_15
	vadd.i64	q4,q15
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d20,#50
	vsli.64	d25,d20,#46
	vmov	d29,d20
	vsli.64	d26,d20,#23
#if 24<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d21,d22		@ Ch(e,f,g)
	vshr.u64	d24,d16,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d23
	vshr.u64	d25,d16,#34
	vsli.64	d24,d16,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d16,#39
	vadd.i64	d28,d8
	vsli.64	d25,d16,#30
	veor	d30,d16,d17
	vsli.64	d26,d16,#25
	veor	d23,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d18,d17		@ Maj(a,b,c)
	veor	d23,d26			@ Sigma0(a)
	vadd.i64	d19,d27
	vadd.i64	d30,d27
	@ vadd.i64	d23,d30
	vshr.u64	d24,d19,#14	@ 25
#if 25<16
	vld1.64	{d9},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d19,#18
#if 25>0
	vadd.i64	d23,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d19,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d19,#50
	vsli.64	d25,d19,#46
	vmov	d29,d19
	vsli.64	d26,d19,#23
#if 25<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d20,d21		@ Ch(e,f,g)
	vshr.u64	d24,d23,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d22
	vshr.u64	d25,d23,#34
	vsli.64	d24,d23,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d23,#39
	vadd.i64	d28,d9
	vsli.64	d25,d23,#30
	veor	d30,d23,d16
	vsli.64	d26,d23,#25
	veor	d22,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d17,d16		@ Maj(a,b,c)
	veor	d22,d26			@ Sigma0(a)
	vadd.i64	d18,d27
	vadd.i64	d30,d27
	@ vadd.i64	d22,d30
	vshr.u64	q12,q4,#19
	vshr.u64	q13,q4,#61
	vadd.i64	d22,d30			@ h+=Maj from the past
	vshr.u64	q15,q4,#6
	vsli.64	q12,q4,#45
	vext.8	q14,q5,q6,#8	@ X[i+1]
	vsli.64	q13,q4,#3
	veor	q15,q12
	vshr.u64	q12,q14,#1
	veor	q15,q13				@ sigma1(X[i+14])
	vshr.u64	q13,q14,#8
	vadd.i64	q5,q15
	vshr.u64	q15,q14,#7
	vsli.64	q12,q14,#63
	vsli.64	q13,q14,#56
	vext.8	q14,q1,q2,#8	@ X[i+9]
	veor	q15,q12
	vshr.u64	d24,d18,#14		@ from NEON_00_15
	vadd.i64	q5,q14
	vshr.u64	d25,d18,#18		@ from NEON_00_15
	veor	q15,q13				@ sigma0(X[i+1])
	vshr.u64	d26,d18,#41		@ from NEON_00_15
	vadd.i64	q5,q15
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d18,#50
	vsli.64	d25,d18,#46
	vmov	d29,d18
	vsli.64	d26,d18,#23
#if 26<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d19,d20		@ Ch(e,f,g)
	vshr.u64	d24,d22,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d21
	vshr.u64	d25,d22,#34
	vsli.64	d24,d22,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d22,#39
	vadd.i64	d28,d10
	vsli.64	d25,d22,#30
	veor	d30,d22,d23
	vsli.64	d26,d22,#25
	veor	d21,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d16,d23		@ Maj(a,b,c)
	veor	d21,d26			@ Sigma0(a)
	vadd.i64	d17,d27
	vadd.i64	d30,d27
	@ vadd.i64	d21,d30
	vshr.u64	d24,d17,#14	@ 27
#if 27<16
	vld1.64	{d11},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d17,#18
#if 27>0
	vadd.i64	d21,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d17,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d17,#50
	vsli.64	d25,d17,#46
	vmov	d29,d17
	vsli.64	d26,d17,#23
#if 27<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d18,d19		@ Ch(e,f,g)
	vshr.u64	d24,d21,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d20
	vshr.u64	d25,d21,#34
	vsli.64	d24,d21,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d21,#39
	vadd.i64	d28,d11
	vsli.64	d25,d21,#30
	veor	d30,d21,d22
	vsli.64	d26,d21,#25
	veor	d20,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d23,d22		@ Maj(a,b,c)
	veor	d20,d26			@ Sigma0(a)
	vadd.i64	d16,d27
	vadd.i64	d30,d27
	@ vadd.i64	d20,d30
	vshr.u64	q12,q5,#19
	vshr.u64	q13,q5,#61
	vadd.i64	d20,d30			@ h+=Maj from the past
	vshr.u64	q15,q5,#6
	vsli.64	q12,q5,#45
	vext.8	q14,q6,q7,#8	@ X[i+1]
	vsli.64	q13,q5,#3
	veor	q15,q12
	vshr.u64	q12,q14,#1
	veor	q15,q13				@ sigma1(X[i+14])
	vshr.u64	q13,q14,#8
	vadd.i64	q6,q15
	vshr.u64	q15,q14,#7
	vsli.64	q12,q14,#63
	vsli.64	q13,q14,#56
	vext.8	q14,q2,q3,#8	@ X[i+9]
	veor	q15,q12
	vshr.u64	d24,d16,#14		@ from NEON_00_15
	vadd.i64	q6,q14
	vshr.u64	d25,d16,#18		@ from NEON_00_15
	veor	q15,q13				@ sigma0(X[i+1])
	vshr.u64	d26,d16,#41		@ from NEON_00_15
	vadd.i64	q6,q15
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d16,#50
	vsli.64	d25,d16,#46
	vmov	d29,d16
	vsli.64	d26,d16,#23
#if 28<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d17,d18		@ Ch(e,f,g)
	vshr.u64	d24,d20,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d19
	vshr.u64	d25,d20,#34
	vsli.64	d24,d20,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d20,#39
	vadd.i64	d28,d12
	vsli.64	d25,d20,#30
	veor	d30,d20,d21
	vsli.64	d26,d20,#25
	veor	d19,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d22,d21		@ Maj(a,b,c)
	veor	d19,d26			@ Sigma0(a)
	vadd.i64	d23,d27
	vadd.i64	d30,d27
	@ vadd.i64	d19,d30
	vshr.u64	d24,d23,#14	@ 29
#if 29<16
	vld1.64	{d13},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d23,#18
#if 29>0
	vadd.i64	d19,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d23,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d23,#50
	vsli.64	d25,d23,#46
	vmov	d29,d23
	vsli.64	d26,d23,#23
#if 29<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d16,d17		@ Ch(e,f,g)
	vshr.u64	d24,d19,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d18
	vshr.u64	d25,d19,#34
	vsli.64	d24,d19,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d19,#39
	vadd.i64	d28,d13
	vsli.64	d25,d19,#30
	veor	d30,d19,d20
	vsli.64	d26,d19,#25
	veor	d18,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d21,d20		@ Maj(a,b,c)
	veor	d18,d26			@ Sigma0(a)
	vadd.i64	d22,d27
	vadd.i64	d30,d27
	@ vadd.i64	d18,d30
	vshr.u64	q12,q6,#19
	vshr.u64	q13,q6,#61
	vadd.i64	d18,d30			@ h+=Maj from the past
	vshr.u64	q15,q6,#6
	vsli.64	q12,q6,#45
	vext.8	q14,q7,q0,#8	@ X[i+1]
	vsli.64	q13,q6,#3
	veor	q15,q12
	vshr.u64	q12,q14,#1
	veor	q15,q13				@ sigma1(X[i+14])
	vshr.u64	q13,q14,#8
	vadd.i64	q7,q15
	vshr.u64	q15,q14,#7
	vsli.64	q12,q14,#63
	vsli.64	q13,q14,#56
	vext.8	q14,q3,q4,#8	@ X[i+9]
	veor	q15,q12
	vshr.u64	d24,d22,#14		@ from NEON_00_15
	vadd.i64	q7,q14
	vshr.u64	d25,d22,#18		@ from NEON_00_15
	veor	q15,q13				@ sigma0(X[i+1])
	vshr.u64	d26,d22,#41		@ from NEON_00_15
	vadd.i64	q7,q15
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d22,#50
	vsli.64	d25,d22,#46
	vmov	d29,d22
	vsli.64	d26,d22,#23
#if 30<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d23,d16		@ Ch(e,f,g)
	vshr.u64	d24,d18,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d17
	vshr.u64	d25,d18,#34
	vsli.64	d24,d18,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d18,#39
	vadd.i64	d28,d14
	vsli.64	d25,d18,#30
	veor	d30,d18,d19
	vsli.64	d26,d18,#25
	veor	d17,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d20,d19		@ Maj(a,b,c)
	veor	d17,d26			@ Sigma0(a)
	vadd.i64	d21,d27
	vadd.i64	d30,d27
	@ vadd.i64	d17,d30
	vshr.u64	d24,d21,#14	@ 31
#if 31<16
	vld1.64	{d15},[r1]!	@ handles unaligned
#endif
	vshr.u64	d25,d21,#18
#if 31>0
	vadd.i64	d17,d30			@ h+=Maj from the past
#endif
	vshr.u64	d26,d21,#41
	vld1.64	{d28},[r3,:64]!	@ K[i++]
	vsli.64	d24,d21,#50
	vsli.64	d25,d21,#46
	vmov	d29,d21
	vsli.64	d26,d21,#23
#if 31<16 && defined(__ARMEL__)
	vrev64.8	,
#endif
	veor	d25,d24
	vbsl	d29,d22,d23		@ Ch(e,f,g)
	vshr.u64	d24,d17,#28
	veor	d26,d25			@ Sigma1(e)
	vadd.i64	d27,d29,d16
	vshr.u64	d25,d17,#34
	vsli.64	d24,d17,#36
	vadd.i64	d27,d26
	vshr.u64	d26,d17,#39
	vadd.i64	d28,d15
	vsli.64	d25,d17,#30
	veor	d30,d17,d18
	vsli.64	d26,d17,#25
	veor	d16,d24,d25
	vadd.i64	d27,d28
	vbsl	d30,d19,d18		@ Maj(a,b,c)
	veor	d16,d26			@ Sigma0(a)
	vadd.i64	d20,d27
	vadd.i64	d30,d27
	@ vadd.i64	d16,d30
	bne	.L16_79_neon

	vadd.i64	d16,d30		@ h+=Maj from the past
	vldmia	r0,{d24,d25,d26,d27,d28,d29,d30,d31}	@ load context to temp
	vadd.i64	q8,q12		@ vectorized accumulate
	vadd.i64	q9,q13
	vadd.i64	q10,q14
	vadd.i64	q11,q15
	vstmia	r0,{d16,d17,d18,d19,d20,d21,d22,d23}	@ save context
	teq	r1,r2
	sub	r3,#640	@ rewind K512
	bne	.Loop_neon

	VFP_ABI_POP
	bx	lr				@ .word	0xe12fff1e
.size	sha512_block_data_order_neon,.-sha512_block_data_order_neon
#endif
.byte	83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,65,82,77,118,52,47,78,69,79,78,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
.align	2
.align	2
#if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__)
.comm	OPENSSL_armcap_P,4,4
.hidden	OPENSSL_armcap_P
#endif
#endif
#endif  // !OPENSSL_NO_ASM
