diff options
author | Andy Polyakov <appro@openssl.org> | 2012-11-28 13:19:10 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2012-11-28 13:19:10 +0000 |
commit | 904732f68bcc6ebd3f8961a9272bc811dc26bcbd (patch) | |
tree | 7ab988b23467d2545e4aa2e50bd176bf6923fc2a /crypto/modes/asm/ghash-c64xplus.pl | |
parent | cf5ecc3e1fd112dd8a544bfb26bfb96c96b604c7 (diff) |
C64x+ assembly pack: improve EABI support.
Diffstat (limited to 'crypto/modes/asm/ghash-c64xplus.pl')
-rw-r--r-- | crypto/modes/asm/ghash-c64xplus.pl | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/crypto/modes/asm/ghash-c64xplus.pl b/crypto/modes/asm/ghash-c64xplus.pl index 1ac4d927d0..409b0d61b9 100644 --- a/crypto/modes/asm/ghash-c64xplus.pl +++ b/crypto/modes/asm/ghash-c64xplus.pl @@ -35,6 +35,11 @@ open STDOUT,">$output"; $code.=<<___; .text + .if __TI_EABI__ + .asg gcm_gmult_1bit,_gcm_gmult_1bit + .asg gcm_gmult_4bit,_gcm_gmult_4bit + .asg gcm_ghash_4bit,_gcm_ghash_4bit + .endif .asg B3,RA @@ -144,7 +149,7 @@ ___ # 8/2 S1 L1x S2 | .... #####... ................|............ $code.=<<___; - XORMPY $H0,$xia,$H0x ; 0 ; H·Xi[i] + XORMPY $H0,$xia,$H0x ; 0 ; H·(Xi[i]<<1) || XORMPY $H01u,$xib,$H01y || [A0] LDBU *--${xip},$x0 XORMPY $H1,$xia,$H1x ; 1 @@ -153,7 +158,7 @@ $code.=<<___; XORMPY $H3,$xia,$H3x ; 3 || XORMPY $H3u,$xib,$H3y ||[!A0] MVK.D 15,A0 ; *--${xip} counter - XOR.L $H0x,$Z0,$Z0 ; 4 ; Z^=H·Xi[i] + XOR.L $H0x,$Z0,$Z0 ; 4 ; Z^=H·(Xi[i]<<1) || [A0] SUB.S A0,1,A0 XOR.L $H1x,$Z1,$Z1 ; 5 || AND.D $H01y,$FF000000,$H0z |