diff --git a/sparc/aes.asm b/sparc/aes.asm
index cb63816e445654fa777fa1b61e30f5c14b7550ee..347cac3ff477cc4c71ea589f11f96d930d52991c 100644
--- a/sparc/aes.asm
+++ b/sparc/aes.asm
@@ -277,47 +277,49 @@ C .Lsource_loop:
 	C add	src, 4, src
 	
 	C i = 2
-	ldub	[src+3], t3
-	ldub	[src+2], t2
-	sll	t3, 24, t3
-	ldub	[src+1], t1
-	
-	sll	t2, 16, t2
-	or	t3, t2, t3
-	ldub	[src], t0
-	sll	t1, 8, t1
-	
-	! Get subkey
-	ld	[src+%g2], t2
-	or	t3, t1, t3
-	or	t3, t0, t3
-	xor	t3, t2, t3
-	
-	C cmp	src, %g1
-	st	t3, [src+%g3]
-	C bleu	.Lsource_loop
-	add	src, 4, src
+	AES_LOAD(8)
+	C ldub	[src+3], t3
+	C ldub	[src+2], t2
+	C sll	t3, 24, t3
+	C ldub	[src+1], t1
+	C 
+	C sll	t2, 16, t2
+	C or	t3, t2, t3
+	C ldub	[src], t0
+	C sll	t1, 8, t1
+	C 
+	C ! Get subkey
+	C ld	[src+%g2], t2
+	C or	t3, t1, t3
+	C or	t3, t0, t3
+	C xor	t3, t2, t3
+	C 
+	C C cmp	src, %g1
+	C st	t3, [src+%g3]
+	C C bleu	.Lsource_loop
+	C add	src, 4, src
 	C i = 3
-	ldub	[src+3], t3
-	ldub	[src+2], t2
-	sll	t3, 24, t3
-	ldub	[src+1], t1
-	
-	sll	t2, 16, t2
-	or	t3, t2, t3
-	ldub	[src], t0
-	sll	t1, 8, t1
-	
-	! Get subkey
-	ld	[src+%g2], t2
-	or	t3, t1, t3
-	or	t3, t0, t3
-	xor	t3, t2, t3
-	
-	C cmp	src, %g1
-	st	t3, [src+%g3]
-	C bleu	.Lsource_loop
-	add	src, 4, src
+	AES_LOAD(12)
+	C ldub	[src+3], t3
+	C ldub	[src+2], t2
+	C sll	t3, 24, t3
+	C ldub	[src+1], t1
+	C 
+	C sll	t2, 16, t2
+	C or	t3, t2, t3
+	C ldub	[src], t0
+	C sll	t1, 8, t1
+	C 
+	C ! Get subkey
+	C ld	[src+%g2], t2
+	C or	t3, t1, t3
+	C or	t3, t0, t3
+	C xor	t3, t2, t3
+	C 
+	C C cmp	src, %g1
+	C st	t3, [src+%g3]
+	C C bleu	.Lsource_loop
+	C add	src, 4, src
 
 	C End loop