diff --git a/sparc/aes.asm b/sparc/aes.asm
index 05d4a6e517f55dba7d35033b422df4f2618e0fc1..5536867da5d2009192b93d747b42d9594c388c4a 100644
--- a/sparc/aes.asm
+++ b/sparc/aes.asm
@@ -18,13 +18,13 @@
 ! the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
 ! MA 02111-1307, USA.
 
-! FIXME: Some of the %g registers are reserved for operating system etc
-! (see gcc/config/sparc.h). We should probably use only %g1-%g3 to be safe.
+! NOTE: Some of the %g registers are reserved for operating system etc
+! (see gcc/config/sparc.h). We should use only %g1-%g3 to be safe.
 	
 	! Used registers:	%l0,1,2,3,4,5,6,7
 	!			%i0,1,2,3,4,5 (%i6=%fp, %i7 = return)
 	!			%o0,1,2,3,4,5,7 (%o6=%sp)
-	!			%g1,2,3,5
+	!			%g1,2,3
 	
 	.file	"aes.asm"
 	
@@ -42,7 +42,7 @@ define(dst, %i3)
 define(src, %i4)
 
 ! Loop invariants
-define(wtxt, %l0)
+define(wtxt, %sp)
 define(tmp, %l1)
 define(diff, %l2)
 define(nrounds, %l3)
@@ -55,7 +55,7 @@ define(key, %o4)
 ! Further loop invariants
 define(T0, %l6)
 define(T1, %l7)
-define(T2, %g5)
+define(T2, %l0)
 define(T3, %o7)
 define(IDX1, %i5)
 define(IDX3, %o5)
@@ -71,12 +71,9 @@ define(<FRAME_WTXT>, 0)
 define(<FRAME_TMP>, 16)
 
 _aes_crypt:
-! Why -136?
 	save	%sp, -FRAME_SIZE, %sp
 	cmp	length, 0
 	be	.Lend
-
-	add	%sp, FRAME_WTXT, wtxt
 	add	%sp, FRAME_TMP, tmp
 
 	ld	[ctx + AES_NROUNDS], nrounds