summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2002-05-16 01:29:24 +0200
committerNiels Möller <nisse@lysator.liu.se>2002-05-16 01:29:24 +0200
commit363883b9a733a7907ad92e1585f71f1e46183d08 (patch)
treea9422ebf57ea6b7ed8238aa6890a91ddfb049a0f
parent26912c423ff81e28aedf58e47d088a8a7c46d4aa (diff)
downloadnettle-363883b9a733a7907ad92e1585f71f1e46183d08.tar.gz
Work in progress, source loop unrolling.
Rev: src/nettle/sparc/aes.asm:1.113
-rw-r--r--sparc/aes.asm49
1 files changed, 25 insertions, 24 deletions
diff --git a/sparc/aes.asm b/sparc/aes.asm
index fd952c5a..f7f87dfa 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