Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 203a37f4 authored by Ard Biesheuvel's avatar Ard Biesheuvel Committed by Eric Biggers
Browse files

UPSTREAM: crypto: arm/aes - streamline AES-192 code path



This trims off a couple of instructions of the total size of the
core AES transform by reordering the final branch in the AES-192
code path with the rounds that are performed regardless of whether
the branch is taken or not. Other than the slight size reduction,
this has no performance benefit.

Fix up a comment regarding the prototype of this function while
we're at it.

Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 6499e8cfaa8f5d041b20af24d8409dec9f3ac3d0)
Change-Id: If77f938fba6b3cbfb3af577d40f668f18aef8290
Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
parent 2a2ea6ca
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -101,15 +101,14 @@
	\dround		q10, q11
	blo		0f			@ AES-128: 10 rounds
	vld1.8		{q10-q11}, [ip]!
	beq		1f			@ AES-192: 12 rounds
	\dround		q12, q13
	beq		1f			@ AES-192: 12 rounds
	vld1.8		{q12-q13}, [ip]
	\dround		q10, q11
0:	\fround		q12, q13, q14
	bx		lr

1:	\dround		q12, q13
	\fround		q10, q11, q14
1:	\fround		q10, q11, q14
	bx		lr
	.endm

@@ -122,8 +121,8 @@
	 *   q2        : third in/output block (_3x version only)
	 *   q8        : first round key
	 *   q9        : secound round key
	 *   ip        : address of 3rd round key
	 *   q14       : final round key
	 *   r2        : address of round key array
	 *   r3        : number of rounds
	 */
	.align		6