x86_64 assembly pack: refine clang detection.
[openssl.git] / crypto / sha / asm / sha1-alpha.pl
index dd9b43b69778c904ad8100d36d79fd78853f9182..6c4b9251fd4ed69ba87f552a420f3b3bf2505a3d 100644 (file)
@@ -10,8 +10,9 @@
 # SHA1 block procedure for Alpha.
 
 # On 21264 performance is 33% better than code generated by vendor
-# compiler, and 75% better than GCC [3.4]. Implementation features
-# vectorized byte swap, but not Xupdate.
+# compiler, and 75% better than GCC [3.4], and in absolute terms is
+# 8.7 cycles per processed byte. Implementation features vectorized
+# byte swap, but not Xupdate.
 
 @X=(   "\$0",  "\$1",  "\$2",  "\$3",  "\$4",  "\$5",  "\$6",  "\$7",
        "\$8",  "\$9",  "\$10", "\$11", "\$12", "\$13", "\$14", "\$15");
@@ -224,8 +225,12 @@ ___
 }
 
 $code=<<___;
+#ifdef __linux__
+#include <asm/regdef.h>
+#else
 #include <asm.h>
 #include <regdef.h>
+#endif
 
 .text
 
@@ -309,6 +314,9 @@ $code.=<<___;
        lda     sp,64(sp)
        ret     (ra)
 .end   sha1_block_data_order
+.ascii "SHA1 block transform for Alpha, CRYPTOGAMS by <appro\@openssl.org>"
+.align 2
 ___
+$output=shift and open STDOUT,">$output";
 print $code;
 close STDOUT;