diff --git a/sparc/aes.asm b/sparc/aes.asm index 5490e2172a53b42390ce8baf116a8c16a055837d..ebe372fcb10b783349f6727e0a7d0048a6f8fd2a 100644 --- a/sparc/aes.asm +++ b/sparc/aes.asm @@ -66,19 +66,21 @@ 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+$1+3], t3 + ldub [src+$1], t0 + ldub [src+$1+1], t1 ldub [src+$1+2], t2 + sll t1, 8, t1 + or t0, t1, t0 + ldub [src+$1+3], t3 sll t3, 24, t3 - ldub [src+$1+1], t1 sll t2, 16, t2 or t3, t2, t3 - ldub [src+$1], t0 - sll t1, 8, t1 + ! Get subkey ld [ctx + $1], t2 - or t3, t1, t3 + C or t3, t1, t3 or t3, t0, t3 xor t3, t2, t3