ARMv8 assembly pack: add Cortex performance numbers.
authorAndy Polyakov <appro@openssl.org>
Tue, 24 Jun 2014 06:06:05 +0000 (08:06 +0200)
committerAndy Polyakov <appro@openssl.org>
Tue, 24 Jun 2014 06:06:05 +0000 (08:06 +0200)
crypto/modes/asm/ghashv8-armx.pl
crypto/sha/asm/sha1-armv8.pl
crypto/sha/asm/sha512-armv8.pl

index b24f3d7c4f8afd281c0d741a71153dc98b1a688a..54a1ac4db8d3b27c2368fd719aebd9d31c396b4f 100644 (file)
@@ -20,7 +20,8 @@
 #
 #              PMULL[2]        32-bit NEON(*)
 # Apple A7     1.76            5.62
-# Cortex-A5x   n/a             n/a
+# Cortex-A53   1.45            8.39
+# Cortex-A57   2.22            7.61
 #
 # (*)  presented for reference/comparison purposes;
 
index c1f552b6b3d6de78f6b9eea68087754234f07e4f..deb1238d361e45a148d7c813ab7b9b9534de9e30 100644 (file)
@@ -14,7 +14,8 @@
 #
 #              hardware-assisted       software(*)
 # Apple A7     2.31                    4.13 (+14%)
-# Cortex-A5x   n/a                     n/a
+# Cortex-A53   2.19                    8.73 (+108%)
+# Cortex-A57   2.35                    7.88 (+74%)
 #
 # (*)  Software results are presented mostly for reference purposes.
 
index 6935ed6521569f01ff535c00f683810dba1b1ad6..bd7a0a5662e0a236f8f35dcdedd83954c9a7d1f8 100644 (file)
 #
 #              SHA256-hw       SHA256(*)       SHA512
 # Apple A7     1.97            10.5 (+33%)     6.73 (-1%(**))
-# Cortex-A5x   n/a             n/a             n/a
+# Cortex-A53   2.38            15.6 (+110%)    10.1 (+190%(***))
+# Cortex-A57   2.31            11.6 (+86%)     7.51 (+260%(***))
 # 
 # (*)  Software SHA256 results are of lesser relevance, presented
 #      mostly for informational purposes.
 # (**) The result is a trade-off: it's possible to improve it by
-#      10%, but at the cost of 20% loss on Cortex-A5x.
+#      10% (or by 1 cycle per round), but at the cost of 20% loss
+#      on Cortex-A53 (or by 4 cycles per round).
+# (***)        Super-impressive coefficients over gcc-generated code are
+#      indication of some compiler "pathology", most notably code
+#      generated with -mgeneral-regs-only is significanty faster
+#      and lags behind assembly only by 50-90%.
 
 $flavour=shift;
 $output=shift;