]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
(AES_FINAL_ROUND): Work to eliminate t3.
authorNiels Möller <nisse@lysator.liu.se>
Wed, 15 May 2002 22:59:25 +0000 (00:59 +0200)
committerNiels Möller <nisse@lysator.liu.se>
Wed, 15 May 2002 22:59:25 +0000 (00:59 +0200)
Rev: src/nettle/sparc/aes.asm:1.109

sparc/aes.asm

index 03e2946f21ba1575420d917c23ee33bb1545ce81..d19ac1f1d75ed5bd29281bb1917bffe21bdb84e2 100644 (file)
@@ -111,35 +111,33 @@ define(<AES_FINAL_ROUND>, <
        ldub    [wtxt+$1+3], t0         ! 0
        ldub    [wtxt+t1], t1           ! 1
        ldub    [T+t0], t0              ! 0
+       
        ldub    [T+t1], t1              ! 1
        ld      [IDX3 + $1], t3         ! 3
        sll     t1, 8, t1               ! 1
        or      t0, t1, t0              ! 0, 1
-
        
        ! IDX2(j) = j XOR 2
-       ldub    [wtxt+eval($1 ^ 8)+1], t2       ! 2
-       
-       
+       ldub    [wtxt+eval($1 ^ 8)+1], t1       ! 2
        ldub    [wtxt+t3], t3           ! 3
-       ldub    [T+t2], t2              ! 2
-       ldub    [T+t3], t3              ! 3
+       ldub    [T+t1], t1              ! 2
+       ldub    [T+t3], t2              ! 3
        
-       sll     t2, 16, t2              ! 2
-       or      t0, t2, t0              ! 0, 1, 2
-       sll     t3, 24, t3              ! 3
-       ld      [key + $1], t2
+       sll     t1, 16, t1              ! 2
+       or      t0, t1, t0              ! 0, 1, 2
+       sll     t2, 24, t2              ! 3
+       ld      [key + $1], t1
        
-       or      t0, t3, t0              ! 0, 1, 2, 3
-       xor     t0, t2, t0
+       or      t0, t2, t0              ! 0, 1, 2, 3
+       xor     t0, t1, t0
+       srl     t0, 24, t1
+       stb     t1, [dst+$1+3]
        
-       srl     t0, 24, t3
-       srl     t0, 16, t2
+       srl     t0, 16, t1
+       stb     t1, [dst+$1+2]
        srl     t0, 8, t1
        stb     t1, [dst+$1+1]
        
-       stb     t3, [dst+$1+3]
-       stb     t2, [dst+$1+2]
        stb     t0, [dst+$1]>)dnl
        
 C The stack frame looks like