diff options
author | Andy Polyakov <appro@openssl.org> | 2016-03-08 09:46:19 +0100 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2016-03-08 15:51:06 +0100 |
commit | eb77e8886df84526f42f566632be71d4ed373308 (patch) | |
tree | 1b00377caae997512838c8e532e7a6c662847162 /crypto/aes/asm/aes-sparcv9.pl | |
parent | b76998b86c3f63bea7f8b85c8b62fda91fb8f4b7 (diff) |
SPARCv9 assembly pack: unify build rules and argument handling.
Make all scripts produce .S, make interpretation of $(CFLAGS)
pre-processor's responsibility, start accepting $(PERLASM_SCHEME).
[$(PERLASM_SCHEME) is redundant in this case, because there are
no deviataions between Solaris and Linux assemblers. This is
purely to unify .pl->.S handling across all targets.]
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'crypto/aes/asm/aes-sparcv9.pl')
-rwxr-xr-x | crypto/aes/asm/aes-sparcv9.pl | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/crypto/aes/asm/aes-sparcv9.pl b/crypto/aes/asm/aes-sparcv9.pl index 403c4d1290..9eb0c3d9c1 100755 --- a/crypto/aes/asm/aes-sparcv9.pl +++ b/crypto/aes/asm/aes-sparcv9.pl @@ -30,10 +30,11 @@ # optimal decrypt procedure]. Compared to GNU C generated code both # procedures are more than 60% faster:-) -$bits=32; -for (@ARGV) { $bits=64 if (/\-m64/ || /\-xarch\=v9/); } -if ($bits==64) { $bias=2047; $frame=192; } -else { $bias=0; $frame=112; } +$output = pop; +open STDOUT,">$output"; + +$frame="STACK_FRAME"; +$bias="STACK_BIAS"; $locals=16; $acc0="%l0"; @@ -74,11 +75,13 @@ sub _data_word() while(defined($i=shift)) { $code.=sprintf"\t.long\t0x%08x,0x%08x\n",$i,$i; } } -$code.=<<___ if ($bits==64); +$code.=<<___; +#include "sparc_arch.h" + +#ifdef __arch64__ .register %g2,#scratch .register %g3,#scratch -___ -$code.=<<___; +#endif .section ".text",#alloc,#execinstr .align 256 |