diff options
author | Andy Polyakov <appro@openssl.org> | 2013-11-12 21:59:01 +0100 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2013-11-12 22:01:31 +0100 |
commit | 00fadef4147cd6ee317ace8497d29a8ba4042a91 (patch) | |
tree | 752f972a9fa2bb20cd85389e3c3f02e04f70db03 /crypto | |
parent | 7ed244a0b34f42e32f1366efe9df619d6709d6e6 (diff) |
modes/asm/ghash-alpha.pl: update from HEAD.
PR: 3165
(cherry picked from commit 220d1e5353409d9af938111b22d6b58e6a42f633)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/modes/asm/ghash-alpha.pl | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/crypto/modes/asm/ghash-alpha.pl b/crypto/modes/asm/ghash-alpha.pl index f47c85eb1f..aa36029386 100644 --- a/crypto/modes/asm/ghash-alpha.pl +++ b/crypto/modes/asm/ghash-alpha.pl @@ -254,15 +254,6 @@ $code=<<___; .text -.align 4 -rem_4bit: - .quad 0x0000<<48, 0x1C20<<48, 0x3840<<48, 0x2460<<48 - .quad 0x7080<<48, 0x6CA0<<48, 0x48C0<<48, 0x54E0<<48 - .quad 0xE100<<48, 0xFD20<<48, 0xD940<<48, 0xC560<<48 - .quad 0x9180<<48, 0x8DA0<<48, 0xA9C0<<48, 0xB5E0<<48 -.ascii "GHASH for Alpha, CRYPTOGAMS by <appro\@openssl.org>" -.align 4 - .set noat .set noreorder .globl gcm_gmult_4bit @@ -275,8 +266,8 @@ gcm_gmult_4bit: ldq $Xlo,8($Xi) ldq $Xhi,0($Xi) - br $rem_4bit,.Lpic1 -.Lpic1: lda $rem_4bit,.Lpic1-rem_4bit($rem_4bit) + bsr $t0,picmeup + nop ___ &loop(); @@ -350,8 +341,8 @@ gcm_ghash_4bit: ldq $Xhi,0($Xi) ldq $Xlo,8($Xi) - br $rem_4bit,.Lpic2 -.Lpic2: lda $rem_4bit,.Lpic2-rem_4bit($rem_4bit) + bsr $t0,picmeup + nop .Louter: extql $inhi,$inp,$inhi @@ -443,6 +434,25 @@ $code.=<<___; lda sp,32(sp) ret (ra) .end gcm_ghash_4bit + +.align 4 +.ent picmeup +picmeup: + .frame sp,0,$t0 + .prologue 0 + br $rem_4bit,.Lpic +.Lpic: lda $rem_4bit,12($rem_4bit) + ret ($t0) +.end picmeup + nop +rem_4bit: + .long 0,0x0000<<16, 0,0x1C20<<16, 0,0x3840<<16, 0,0x2460<<16 + .long 0,0x7080<<16, 0,0x6CA0<<16, 0,0x48C0<<16, 0,0x54E0<<16 + .long 0,0xE100<<16, 0,0xFD20<<16, 0,0xD940<<16, 0,0xC560<<16 + .long 0,0x9180<<16, 0,0x8DA0<<16, 0,0xA9C0<<16, 0,0xB5E0<<16 +.ascii "GHASH for Alpha, CRYPTOGAMS by <appro\@openssl.org>" +.align 4 + ___ $output=shift and open STDOUT,">$output"; print $code; |