]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
(AES_ROUND): Reordered instructions, so that we can save one
authorNiels Möller <nisse@lysator.liu.se>
Wed, 15 May 2002 22:37:26 +0000 (00:37 +0200)
committerNiels Möller <nisse@lysator.liu.se>
Wed, 15 May 2002 22:37:26 +0000 (00:37 +0200)
register.

Rev: src/nettle/sparc/aes.asm:1.104

sparc/aes.asm

index 709b6dabb28c7e4ddee2ab6d75043fa90fe2bd02..f97765aeafa3aeae6846e2103165a6af52b82024 100644 (file)
@@ -74,30 +74,28 @@ C The code uses the register %o[j], aka tj, as the primary
 C register for that sub-expression. True for j==1,3.
 define(<AES_ROUND>, <
        ld      [IDX1+$1], t1           ! 1
-       
+       ldub    [wtxt+$1+3], t0         ! 0
        ldub    [wtxt+t1], t1           ! 1
-       ld      [IDX3+$1], t3           ! 3
+       sll     t0, 2, t0               ! 0
        
+       ld      [T0+t0], t0             ! 0
        sll     t1, 2, t1               ! 1
-       ldub    [wtxt+$1+3], t0         ! 0
+       ld      [T1+t1], t1             ! 1
+       ld      [IDX3+$1], t3           ! 3
+       
+       xor     t0, t1, t0              ! 0, 1
        ! IDX2(j) = j XOR 2
        ldub    [wtxt+eval($1 ^ 8)+1], t2       ! 2
-       
        ldub    [wtxt+t3], t3           ! 3
-       sll     t0, 2, t0               ! 0
-       ld      [T0+t0], t0             ! 0
-       
-       ld      [T1+t1], t1             ! 1
        sll     t2, 2, t2               ! 2
+       
        ld      [T2+t2], t2             ! 2
        sll     t3, 2, t3               ! 3
-       
        ld      [T3+t3], t3             ! 3
-       xor     t0, t1, t0              ! 0, 1
        xor     t0, t2, t0              ! 0, 1, 2
+       
        ! Fetch roundkey
        ld      [key + $1], t1
-       
        xor     t0, t3, t0              ! 0, 1, 2, 3
        xor     t0, t1, t0
        st      t0, [tmp + $1]>)dnl