diff --git a/sparc/aes.asm b/sparc/aes.asm
index f6d05ed4f83dcd814a3d73fb9903f821d6acf6a8..05d4a6e517f55dba7d35033b422df4f2618e0fc1 100644
--- a/sparc/aes.asm
+++ b/sparc/aes.asm
@@ -66,15 +66,19 @@ define(t1, %o1)
 define(t2, %o2)
 define(t3, %o3)
 
+define(<FRAME_SIZE>, 32)
+define(<FRAME_WTXT>, 0)
+define(<FRAME_TMP>, 16)
+
 _aes_crypt:
 ! Why -136?
-	save	%sp, -136, %sp
+	save	%sp, -FRAME_SIZE, %sp
 	cmp	length, 0
 	be	.Lend
-	! wtxt
-	add	%fp, -24, wtxt
-	
-	add	%fp, -40, tmp
+
+	add	%sp, FRAME_WTXT, wtxt
+	add	%sp, FRAME_TMP, tmp
+
 	ld	[ctx + AES_NROUNDS], nrounds
 	! Compute xor, so that we can swap efficiently.
 	xor	wtxt, tmp, diff