]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
Work in progress checkin, replaced the first set of rounds.
authorNiels Möller <nisse@lysator.liu.se>
Wed, 26 Aug 2009 20:58:24 +0000 (22:58 +0200)
committerNiels Möller <nisse@lysator.liu.se>
Wed, 26 Aug 2009 20:58:24 +0000 (22:58 +0200)
Rev: nettle/x86/sha1-compress.asm:1.6

x86/sha1-compress.asm

index 8caf6627b7c141171ebe1b37fb82f7022dfb8eff..37140f9dae7841dbab746ee77ea760013026fc3d 100644 (file)
@@ -125,12 +125,13 @@ define(<ROUND_F1>, <
        add     T2, $5
 >)
 
+C FIXME: Seems to be a slow sequence.
 define(<ROUND_F1_NOEXP>, <
        mov     $4, T2
        xor     $3, T2
        and     $2, T2
        xor     $4, T2
-       add     OFFSET(eval($6 % 16)) (DATA), T2
+       add     OFFSET($6) (DATA), T2
        rol     <$>30, $2
        mov     $1, T1
        rol     <$>5, T1
@@ -220,30 +221,29 @@ PROLOGUE(_nettle_sha1_compress)
        movl    12(T1), SD
        movl    16(T1), SE
 
-       movl    $ K1VALUE, KVALUE
-       ROUND(SA, SB, SC, SD, SE, <F1>, NOEXPAND( 0))
-       ROUND(SE, SA, SB, SC, SD, <F1>, NOEXPAND( 1))
-       ROUND(SD, SE, SA, SB, SC, <F1>, NOEXPAND( 2))
-       ROUND(SC, SD, SE, SA, SB, <F1>, NOEXPAND( 3))
-       ROUND(SB, SC, SD, SE, SA, <F1>, NOEXPAND( 4))
-
-       ROUND(SA, SB, SC, SD, SE, <F1>, NOEXPAND( 5))
-       ROUND(SE, SA, SB, SC, SD, <F1>, NOEXPAND( 6))
-       ROUND(SD, SE, SA, SB, SC, <F1>, NOEXPAND( 7))
-       ROUND(SC, SD, SE, SA, SB, <F1>, NOEXPAND( 8))
-       ROUND(SB, SC, SD, SE, SA, <F1>, NOEXPAND( 9))
-
-       ROUND(SA, SB, SC, SD, SE, <F1>, NOEXPAND(10))
-       ROUND(SE, SA, SB, SC, SD, <F1>, NOEXPAND(11))
-       ROUND(SD, SE, SA, SB, SC, <F1>, NOEXPAND(12))
-       ROUND(SC, SD, SE, SA, SB, <F1>, NOEXPAND(13))
-       ROUND(SB, SC, SD, SE, SA, <F1>, NOEXPAND(14))
-
-       ROUND(SA, SB, SC, SD, SE, <F1>, NOEXPAND(15))
-       EXPAND(16) ROUND(SE, SA, SB, SC, SD, <F1>)
-       EXPAND(17) ROUND(SD, SE, SA, SB, SC, <F1>)
-       EXPAND(18) ROUND(SC, SD, SE, SA, SB, <F1>)
-       EXPAND(19) ROUND(SB, SC, SD, SE, SA, <F1>)
+       ROUND_F1_NOEXP(SA, SB, SC, SD, SE,  0)
+       ROUND_F1_NOEXP(SE, SA, SB, SC, SD,  1)
+       ROUND_F1_NOEXP(SD, SE, SA, SB, SC,  2)
+       ROUND_F1_NOEXP(SC, SD, SE, SA, SB,  3)
+       ROUND_F1_NOEXP(SB, SC, SD, SE, SA,  4)
+
+       ROUND_F1_NOEXP(SA, SB, SC, SD, SE,  5)
+       ROUND_F1_NOEXP(SE, SA, SB, SC, SD,  6)
+       ROUND_F1_NOEXP(SD, SE, SA, SB, SC,  7)
+       ROUND_F1_NOEXP(SC, SD, SE, SA, SB,  8)
+       ROUND_F1_NOEXP(SB, SC, SD, SE, SA,  9)
+
+       ROUND_F1_NOEXP(SA, SB, SC, SD, SE, 10)
+       ROUND_F1_NOEXP(SE, SA, SB, SC, SD, 11)
+       ROUND_F1_NOEXP(SD, SE, SA, SB, SC, 12)
+       ROUND_F1_NOEXP(SC, SD, SE, SA, SB, 13)
+       ROUND_F1_NOEXP(SB, SC, SD, SE, SA, 14)
+
+       ROUND_F1_NOEXP(SA, SB, SC, SD, SE, 15)
+       ROUND_F1(SE, SA, SB, SC, SD, 16)
+       ROUND_F1(SD, SE, SA, SB, SC, 17)
+       ROUND_F1(SC, SD, SE, SA, SB, 18)
+       ROUND_F1(SB, SC, SD, SE, SA, 19)
 
        ROUND_F2(SA, SB, SC, SD, SE, 20, K2VALUE)
        ROUND_F2(SE, SA, SB, SC, SD, 21, K2VALUE)