Fix chacha-armv4.pl.

Patch taken from https://rt.openssl.org/Ticket/Display.html?id=4323.

Change-Id: Icbaf8f9a0f92da48f213b251b0afa4b0d5aa627d
Reviewed-on: https://boringssl-review.googlesource.com/7201
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/crypto/chacha/asm/chacha-armv4.pl b/crypto/chacha/asm/chacha-armv4.pl
index 55ebc9e..6c20755 100755
--- a/crypto/chacha/asm/chacha-armv4.pl
+++ b/crypto/chacha/asm/chacha-armv4.pl
@@ -440,9 +440,9 @@
 	eorhs	@x[4],@x[4],@t[0]
 	eorhs	@x[5],@x[5],@t[1]
 # ifdef	__thumb2__
-	it	hi
+	 it	ne
 # endif
-	 ldrhi	@t[0],[sp,#4*(32+2)]	@ re-load len
+	 ldrne	@t[0],[sp,#4*(32+2)]	@ re-load len
 # ifdef	__thumb2__
 	itt	hs
 # endif
@@ -584,9 +584,9 @@
 }
 $code.=<<___;
 # ifdef	__thumb2__
-	it	hi
+	it	ne
 # endif
-	ldrhi	@t[0],[sp,#4*(32+2)]		@ re-load len
+	ldrne	@t[0],[sp,#4*(32+2)]		@ re-load len
 # ifdef	__thumb2__
 	it	hs
 # endif
@@ -598,15 +598,15 @@
 
 .Ltail:
 	ldr	r12,[sp,#4*(32+1)]	@ load inp
-	add	@t[2],sp,#4*(0)
+	add	@t[1],sp,#4*(0)
 	ldr	r14,[sp,#4*(32+0)]	@ load out
 
 .Loop_tail:
-	ldrb	@t[0],[@t[2]],#1	@ read buffer on stack
-	ldrb	@t[1],[r12],#1		@ read input
-	subs	@t[3],@t[3],#1
-	eor	@t[0],@t[0],@t[1]
-	strb	@t[0],[r14],#1		@ store output
+	ldrb	@t[2],[@t[1]],#1	@ read buffer on stack
+	ldrb	@t[3],[r12],#1		@ read input
+	subs	@t[0],@t[0],#1
+	eor	@t[3],@t[3],@t[2]
+	strb	@t[3],[r14],#1		@ store output
 	bne	.Loop_tail
 
 .Ldone:
@@ -1120,7 +1120,7 @@
 # endif
 	stmia		@t[0],{@x[0]-@x[7]}
 	 add		@t[2],sp,#4*(0)
-	 sub		@t[3],@t[0],#64*3	@ len-=64*3
+	 sub		@t[3],@t[3],#64*3	@ len-=64*3
 
 .Loop_tail_neon:
 	ldrb		@t[0],[@t[2]],#1	@ read buffer on stack