]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
arm: Moved AES round macros from aes.m4 to the files using them.
authorNiels Möller <nisse@lysator.liu.se>
Thu, 16 May 2013 09:00:44 +0000 (11:00 +0200)
committerNiels Möller <nisse@lysator.liu.se>
Thu, 16 May 2013 09:00:44 +0000 (11:00 +0200)
ChangeLog
arm/aes.m4
arm/v6/aes-decrypt-internal.asm
arm/v6/aes-encrypt-internal.asm

index 38c26f6db3608d39bfe066b11092156f8cd9bf78..12629d5b26c807665de5bde731b2af513837d5fd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2013-05-16  Niels Möller  <nisse@lysator.liu.se>
 
+       * arm/aes.m4 (AES_ENCRYPT_ROUND, AES_DECRYPT): Moved macros to the
+       files using them.
+
        * arm/v6/aes-encrypt-internal.asm: Use ALIGN macro. Use 16-byte
        alignment for loops.
        * arm/v6/aes-decrypt-internal.asm: Likewise. Also added a nop
index 00d3c9a3258e8ff598452b12a2bad46718dd6d19..408e35e4fa50636dbecf3831d0b21ef598ec6578 100644 (file)
@@ -23,129 +23,6 @@ define(<AES_STORE>, <
        strb    $2, [$1], #+1
 >)
 
-C 53 instr.
-C It's tempting to use eor with rotation, but that's slower.
-C AES_ENCRYPT_ROUND(x0,x1,x2,x3,w0,w1,w2,w3,key)
-define(<AES_ENCRYPT_ROUND>, <
-       uxtb    T0, $1 
-       ldr     $5, [TABLE, T0, lsl #2]
-       uxtb    T0, $2
-       ldr     $6, [TABLE, T0, lsl #2]
-       uxtb    T0, $3
-       ldr     $7, [TABLE, T0, lsl #2]
-       uxtb    T0, $4
-       ldr     $8, [TABLE, T0, lsl #2]
-
-       uxtb    T0, $2, ror #8
-       add     TABLE, TABLE, #1024
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $5, $5, T0
-       uxtb    T0, $3, ror #8
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $6, $6, T0
-       uxtb    T0, $4, ror #8
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $7, $7, T0
-       uxtb    T0, $1, ror #8
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $8, $8, T0
-
-       uxtb    T0, $3, ror #16
-       add     TABLE, TABLE, #1024
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $5, $5, T0
-       uxtb    T0, $4, ror #16
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $6, $6, T0
-       uxtb    T0, $1, ror #16
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $7, $7, T0
-       uxtb    T0, $2, ror #16
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $8, $8, T0
-
-       uxtb    T0, $4, ror #24
-       add     TABLE, TABLE, #1024
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $5, $5, T0
-       uxtb    T0, $1, ror #24
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $6, $6, T0
-       uxtb    T0, $2, ror #24
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $7, $7, T0
-       uxtb    T0, $3, ror #24
-       ldr     T0, [TABLE, T0, lsl #2]
-
-       ldm     $9!, {$1,$2,$3,$4}
-       eor     $8, $8, T0
-       sub     TABLE, TABLE, #3072
-       eor     $5, $5, $1
-       eor     $6, $6, $2
-       eor     $7, $7, $3
-       eor     $8, $8, $4
->)
-
-define(<AES_DECRYPT_ROUND>, <
-       uxtb    T0, $1
-       ldr     $5, [TABLE, T0, lsl #2]
-       uxtb    T0, $2
-       ldr     $6, [TABLE, T0, lsl #2]
-       uxtb    T0, $3
-       ldr     $7, [TABLE, T0, lsl #2]
-       uxtb    T0, $4
-       ldr     $8, [TABLE, T0, lsl #2]
-
-       uxtb    T0, $4, ror #8
-       add     TABLE, TABLE, #1024
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $5, $5, T0
-       uxtb    T0, $1, ror #8
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $6, $6, T0
-       uxtb    T0, $2, ror #8
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $7, $7, T0
-       uxtb    T0, $3, ror #8
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $8, $8, T0
-
-       uxtb    T0, $3, ror #16
-       add     TABLE, TABLE, #1024
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $5, $5, T0
-       uxtb    T0, $4, ror #16
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $6, $6, T0
-       uxtb    T0, $1, ror #16
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $7, $7, T0
-       uxtb    T0, $2, ror #16
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $8, $8, T0
-
-       uxtb    T0, $2, ror #24
-       add     TABLE, TABLE, #1024
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $5, $5, T0
-       uxtb    T0, $3, ror #24
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $6, $6, T0
-       uxtb    T0, $4, ror #24
-       ldr     T0, [TABLE, T0, lsl #2]
-       eor     $7, $7, T0
-       uxtb    T0, $1, ror #24
-       ldr     T0, [TABLE, T0, lsl #2]
-
-       ldm     $9!, {$1,$2,$3,$4}
-       eor     $8, $8, T0
-       sub     TABLE, TABLE, #3072
-       eor     $5, $5, $1
-       eor     $6, $6, $2
-       eor     $7, $7, $3
-       eor     $8, $8, $4
->)
-
 C AES_FINAL_ROUND(a,b,c,d,key,res)
 define(<AES_FINAL_ROUND>, <
        uxtb    T0, $1
index 651636cc66d5b01d8300d2fe29f2b057e104f1f4..0c8cfc5ed7dc65756075ed8b8d61a42666d67f25 100644 (file)
@@ -43,6 +43,67 @@ define(<X2>, <r12>)
 define(<X3>, <r14>)    C lr
 
 
+C AES_DECRYPT_ROUND(x0,x1,x2,x3,w0,w1,w2,w3,key)
+define(<AES_DECRYPT_ROUND>, <
+       uxtb    T0, $1
+       ldr     $5, [TABLE, T0, lsl #2]
+       uxtb    T0, $2
+       ldr     $6, [TABLE, T0, lsl #2]
+       uxtb    T0, $3
+       ldr     $7, [TABLE, T0, lsl #2]
+       uxtb    T0, $4
+       ldr     $8, [TABLE, T0, lsl #2]
+
+       uxtb    T0, $4, ror #8
+       add     TABLE, TABLE, #1024
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $5, $5, T0
+       uxtb    T0, $1, ror #8
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $6, $6, T0
+       uxtb    T0, $2, ror #8
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $7, $7, T0
+       uxtb    T0, $3, ror #8
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $8, $8, T0
+
+       uxtb    T0, $3, ror #16
+       add     TABLE, TABLE, #1024
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $5, $5, T0
+       uxtb    T0, $4, ror #16
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $6, $6, T0
+       uxtb    T0, $1, ror #16
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $7, $7, T0
+       uxtb    T0, $2, ror #16
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $8, $8, T0
+
+       uxtb    T0, $2, ror #24
+       add     TABLE, TABLE, #1024
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $5, $5, T0
+       uxtb    T0, $3, ror #24
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $6, $6, T0
+       uxtb    T0, $4, ror #24
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $7, $7, T0
+       uxtb    T0, $1, ror #24
+       ldr     T0, [TABLE, T0, lsl #2]
+
+       ldm     $9!, {$1,$2,$3,$4}
+       eor     $8, $8, T0
+       sub     TABLE, TABLE, #3072
+       eor     $5, $5, $1
+       eor     $6, $6, $2
+       eor     $7, $7, $3
+       eor     $8, $8, $4
+>)
+
        .file "aes-decrypt-internal.asm"
        
        C _aes_decrypt(struct aes_context *ctx, 
index 15cf1bb07e2644d150c366de3c061d5a7613e481..69556a35aea63570fc328c49791cf94ea80ed4aa 100644 (file)
@@ -45,6 +45,69 @@ define(<X2>, <r12>)
 define(<X3>, <r14>)    C lr
 
 
+C 53 instr.
+C It's tempting to use eor with rotation, but that's slower.
+C AES_ENCRYPT_ROUND(x0,x1,x2,x3,w0,w1,w2,w3,key)
+define(<AES_ENCRYPT_ROUND>, <
+       uxtb    T0, $1 
+       ldr     $5, [TABLE, T0, lsl #2]
+       uxtb    T0, $2
+       ldr     $6, [TABLE, T0, lsl #2]
+       uxtb    T0, $3
+       ldr     $7, [TABLE, T0, lsl #2]
+       uxtb    T0, $4
+       ldr     $8, [TABLE, T0, lsl #2]
+
+       uxtb    T0, $2, ror #8
+       add     TABLE, TABLE, #1024
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $5, $5, T0
+       uxtb    T0, $3, ror #8
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $6, $6, T0
+       uxtb    T0, $4, ror #8
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $7, $7, T0
+       uxtb    T0, $1, ror #8
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $8, $8, T0
+
+       uxtb    T0, $3, ror #16
+       add     TABLE, TABLE, #1024
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $5, $5, T0
+       uxtb    T0, $4, ror #16
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $6, $6, T0
+       uxtb    T0, $1, ror #16
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $7, $7, T0
+       uxtb    T0, $2, ror #16
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $8, $8, T0
+
+       uxtb    T0, $4, ror #24
+       add     TABLE, TABLE, #1024
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $5, $5, T0
+       uxtb    T0, $1, ror #24
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $6, $6, T0
+       uxtb    T0, $2, ror #24
+       ldr     T0, [TABLE, T0, lsl #2]
+       eor     $7, $7, T0
+       uxtb    T0, $3, ror #24
+       ldr     T0, [TABLE, T0, lsl #2]
+
+       ldm     $9!, {$1,$2,$3,$4}
+       eor     $8, $8, T0
+       sub     TABLE, TABLE, #3072
+       eor     $5, $5, $1
+       eor     $6, $6, $2
+       eor     $7, $7, $3
+       eor     $8, $8, $4
+>)
+
        .file "aes-encrypt-internal.asm"
        
        C _aes_encrypt(struct aes_context *ctx,