diff --git a/sparc/aes.asm b/sparc/aes.asm index fd952c5ab1d80384856085a7565fb6992651cbf6..f7f87dfa91aac50a014e7c746b205c23579e3150 100644 --- a/sparc/aes.asm +++ b/sparc/aes.asm @@ -66,23 +66,23 @@ define(t3, %o3) C AES_LOAD(i) C Get one word of input, XOR with first subkey, store in wtxt define(<AES_LOAD>, < - ldub [src+3], t3 - ldub [src+2], t2 + ldub [src+$1+3], t3 + ldub [src+$1+2], t2 sll t3, 24, t3 - ldub [src+1], t1 + ldub [src+$1+1], t1 sll t2, 16, t2 or t3, t2, t3 - ldub [src], t0 + ldub [src+$1], t0 sll t1, 8, t1 ! Get subkey - ld [ctx + 0], t2 + ld [ctx + $1], t2 or t3, t1, t3 or t3, t0, t3 xor t3, t2, t3 - st t3, [wtxt+0] + st t3, [wtxt+$1] add src, 4, src C ldub [src + $1], t0 @@ -233,24 +233,25 @@ _aes_crypt: C .Lsource_loop: C Begin loop C i = 0 - 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 [ctx + 0], t2 - or t3, t1, t3 - or t3, t0, t3 - xor t3, t2, t3 - - st t3, [wtxt+0] - add src, 4, src + AES_LOAD(0) + 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 [ctx + 0], t2 + C or t3, t1, t3 + C or t3, t0, t3 + C xor t3, t2, t3 + C + C st t3, [wtxt+0] + C add src, 4, src C i = 1 ldub [src+3], t3