diff --git a/sparc/aes.asm b/sparc/aes.asm index 7866df3b46390d686153d17fc4093b6936fe4cce..f6d05ed4f83dcd814a3d73fb9903f821d6acf6a8 100644 --- a/sparc/aes.asm +++ b/sparc/aes.asm @@ -22,9 +22,9 @@ ! (see gcc/config/sparc.h). We should probably use only %g1-%g3 to be safe. ! Used registers: %l0,1,2,3,4,5,6,7 - ! %i0,1,2,3,4 (%i6=%fp, %i7 = return) - ! %o0,1,2,3 (%o6=%sp) - ! %g2,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 .file "aes.asm" @@ -50,13 +50,13 @@ define(nrounds, %l3) ! Loop variables define(round, %l4) define(i, %l5) -define(key, %g7) +define(key, %o4) ! Further loop invariants define(T0, %l6) define(T1, %l7) define(T2, %g5) -define(T3, %g6) +define(T3, %o7) define(IDX1, %i5) define(IDX3, %o5) @@ -98,7 +98,7 @@ _aes_crypt: .Lblock_loop: ! For stop condition. Note that src is incremented in the ! delay slot - add src, 8, %g4 + add src, 8, %g1 .Lsource_loop: ldub [src+3], t3 @@ -117,7 +117,7 @@ _aes_crypt: or t3, t0, t3 xor t3, t2, t3 - cmp src, %g4 + cmp src, %g1 st t3, [src+%g3] bleu .Lsource_loop add src, 4, src