diff --git a/ChangeLog b/ChangeLog index be4a73a6a38661a6e66222a40c4db46e3d5fd0d6..5cc88696113b5a42a4d61c9f973c1459537eea88 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,10 @@ 2013-05-16 Niels Möller <nisse@lysator.liu.se> - * arm/aes.m4 (AES_ENCRYPT_ROUND, AES_DECRYPT): Moved macros to the + * arm/aes.m4 (AES_FINAL_ROUND_V6): New name, updated callers. + (AES_FINAL_ROUND_): ... old name. Also eliminated one uxtb + instruction. + (AES_ENCRYPT_ROUND, AES_DECRYPT): Moved macros to the files using them. - (AES_FINAL_ROUND): Eliminated one uxtb instruction. * arm/v6/aes-encrypt-internal.asm: Use ALIGN macro. Use 16-byte alignment for loops. diff --git a/arm/aes.m4 b/arm/aes.m4 index d1fdc761f773cf7f6807d3de9992017c6eebe947..a509b75446959315b0776d1aedfa82757b7c66c7 100644 --- a/arm/aes.m4 +++ b/arm/aes.m4 @@ -23,8 +23,8 @@ define(<AES_STORE>, < strb $2, [$1], #+1 >) -C AES_FINAL_ROUND(a,b,c,d,key,res) -define(<AES_FINAL_ROUND>, < +C AES_FINAL_ROUND_V6(a,b,c,d,key,res) +define(<AES_FINAL_ROUND_V6>, < uxtb T0, $1 ldrb $6, [TABLE, T0] uxtb T0, $2, ror #8 diff --git a/arm/v6/aes-decrypt-internal.asm b/arm/v6/aes-decrypt-internal.asm index e9b6e570d35ddf2b96569ef4dd048de329850a3d..f550506ddb3d4a10737ef32507715f7c0a0c15df 100644 --- a/arm/v6/aes-decrypt-internal.asm +++ b/arm/v6/aes-decrypt-internal.asm @@ -143,10 +143,10 @@ PROLOGUE(_nettle_aes_decrypt) sub TABLE, TABLE, #AES_TABLE0 C Final round - AES_FINAL_ROUND(X0, X3, X2, X1, KEY, W0) - AES_FINAL_ROUND(X1, X0, X3, X2, KEY, W1) - AES_FINAL_ROUND(X2, X1, X0, X3, KEY, W2) - AES_FINAL_ROUND(X3, X2, X1, X0, KEY, W3) + AES_FINAL_ROUND_V6(X0, X3, X2, X1, KEY, W0) + AES_FINAL_ROUND_V6(X1, X0, X3, X2, KEY, W1) + AES_FINAL_ROUND_V6(X2, X1, X0, X3, KEY, W2) + AES_FINAL_ROUND_V6(X3, X2, X1, X0, KEY, W3) pop {LENGTH, DST, SRC} diff --git a/arm/v6/aes-encrypt-internal.asm b/arm/v6/aes-encrypt-internal.asm index 6887b89981e9dad266bb570d64e7d856f610629d..3cf13072c29aeaa8e7d8a32ce6241aacc1c364d2 100644 --- a/arm/v6/aes-encrypt-internal.asm +++ b/arm/v6/aes-encrypt-internal.asm @@ -149,10 +149,10 @@ PROLOGUE(_nettle_aes_encrypt) sub TABLE, TABLE, #AES_TABLE0 C Final round - AES_FINAL_ROUND(X0, X1, X2, X3, KEY, W0) - AES_FINAL_ROUND(X1, X2, X3, X0, KEY, W1) - AES_FINAL_ROUND(X2, X3, X0, X1, KEY, W2) - AES_FINAL_ROUND(X3, X0, X1, X2, KEY, W3) + AES_FINAL_ROUND_V6(X0, X1, X2, X3, KEY, W0) + AES_FINAL_ROUND_V6(X1, X2, X3, X0, KEY, W1) + AES_FINAL_ROUND_V6(X2, X3, X0, X1, KEY, W2) + AES_FINAL_ROUND_V6(X3, X0, X1, X2, KEY, W3) pop {LENGTH, DST, SRC}