diff --git a/ChangeLog b/ChangeLog
index 38c26f6db3608d39bfe066b11092156f8cd9bf78..12629d5b26c807665de5bde731b2af513837d5fd 100644
--- 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
diff --git a/arm/aes.m4 b/arm/aes.m4
index 00d3c9a3258e8ff598452b12a2bad46718dd6d19..408e35e4fa50636dbecf3831d0b21ef598ec6578 100644
--- a/arm/aes.m4
+++ b/arm/aes.m4
@@ -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
diff --git a/arm/v6/aes-decrypt-internal.asm b/arm/v6/aes-decrypt-internal.asm
index 651636cc66d5b01d8300d2fe29f2b057e104f1f4..0c8cfc5ed7dc65756075ed8b8d61a42666d67f25 100644
--- a/arm/v6/aes-decrypt-internal.asm
+++ b/arm/v6/aes-decrypt-internal.asm
@@ -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, 
diff --git a/arm/v6/aes-encrypt-internal.asm b/arm/v6/aes-encrypt-internal.asm
index 15cf1bb07e2644d150c366de3c061d5a7613e481..69556a35aea63570fc328c49791cf94ea80ed4aa 100644
--- a/arm/v6/aes-encrypt-internal.asm
+++ b/arm/v6/aes-encrypt-internal.asm
@@ -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,