Commit 363883b9 authored by Niels Möller's avatar Niels Möller
Browse files

Work in progress, source loop unrolling.

Rev: src/nettle/sparc/aes.asm:1.113
parent 26912c42
...@@ -66,23 +66,23 @@ define(t3, %o3) ...@@ -66,23 +66,23 @@ define(t3, %o3)
C AES_LOAD(i) C AES_LOAD(i)
C Get one word of input, XOR with first subkey, store in wtxt C Get one word of input, XOR with first subkey, store in wtxt
define(<AES_LOAD>, < define(<AES_LOAD>, <
ldub [src+3], t3 ldub [src+$1+3], t3
ldub [src+2], t2 ldub [src+$1+2], t2
sll t3, 24, t3 sll t3, 24, t3
ldub [src+1], t1 ldub [src+$1+1], t1
sll t2, 16, t2 sll t2, 16, t2
or t3, t2, t3 or t3, t2, t3
ldub [src], t0 ldub [src+$1], t0
sll t1, 8, t1 sll t1, 8, t1
! Get subkey ! Get subkey
ld [ctx + 0], t2 ld [ctx + $1], t2
or t3, t1, t3 or t3, t1, t3
or t3, t0, t3 or t3, t0, t3
xor t3, t2, t3 xor t3, t2, t3
st t3, [wtxt+0] st t3, [wtxt+$1]
add src, 4, src add src, 4, src
C ldub [src + $1], t0 C ldub [src + $1], t0
...@@ -233,24 +233,25 @@ _aes_crypt: ...@@ -233,24 +233,25 @@ _aes_crypt:
C .Lsource_loop: C .Lsource_loop:
C Begin loop C Begin loop
C i = 0 C i = 0
ldub [src+3], t3 AES_LOAD(0)
ldub [src+2], t2 C ldub [src+3], t3
sll t3, 24, t3 C ldub [src+2], t2
ldub [src+1], t1 C sll t3, 24, t3
C ldub [src+1], t1
sll t2, 16, t2 C
or t3, t2, t3 C sll t2, 16, t2
ldub [src], t0 C or t3, t2, t3
sll t1, 8, t1 C ldub [src], t0
C sll t1, 8, t1
! Get subkey C
ld [ctx + 0], t2 C ! Get subkey
or t3, t1, t3 C ld [ctx + 0], t2
or t3, t0, t3 C or t3, t1, t3
xor t3, t2, t3 C or t3, t0, t3
C xor t3, t2, t3
st t3, [wtxt+0] C
add src, 4, src C st t3, [wtxt+0]
C add src, 4, src
C i = 1 C i = 1
ldub [src+3], t3 ldub [src+3], t3
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment