Commentary updates to SHA for sparcv9.
[openssl.git] / crypto / sha / asm / sha512-sparcv9.pl
index bd9afcb1155e01a192b87821b8dc97004a85bbc5..25f80390aca3a52735c49a19d59878c175be82c1 100644 (file)
 #
 # SHA512 on UltraSPARC T1.
 #
 #
 # SHA512 on UltraSPARC T1.
 #
-# ...
+# It's not any faster than 64-bit code generated by Sun C 5.8. This is
+# because 64-bit code generator has the advantage of using 64-bit
+# loads to access X[16], which I consciously traded for 32-/64-bit ABI
+# duality [as per above]. But it surpasses 32-bit Sun C generated code
+# by 60%, not to mention that it doesn't suffer from severe decay when
+# running 4 times physical cores threads and that it leaves gcc [3.4]
+# behind by over 4x factor! If compared to SHA256, single thread
+# performance is only 10% better, but overall throughput for maximum
+# amount of threads for given CPU exceeds corresponding one of SHA256
+# by 30% [again, optimal coefficient is 50%].
 
 $bits=32;
 for (@ARGV)    { $bits=64 if (/\-m64/ || /\-xarch\=v9/); }
 
 $bits=32;
 for (@ARGV)    { $bits=64 if (/\-m64/ || /\-xarch\=v9/); }