Enhance GCM throughput using larger precalculated tables. Also refactored the code for shorter tables and moved the check for available accelerators to the context initialization code.
Signed-off-by: Matthias Schulz <mschulz@hilscher.com>
diff --git a/tests/scripts/all.sh b/tests/scripts/all.sh
index 8d3b46e..a21566c 100755
--- a/tests/scripts/all.sh
+++ b/tests/scripts/all.sh
@@ -4941,6 +4941,58 @@
programs/test/selftest
}
+component_test_gcm_largetable () {
+ msg "build: default config + GCM_LARGETABLE - AESNI_C - AESCE_C"
+ scripts/config.py set MBEDTLS_GCM_LARGETABLE
+ scripts/config.py unset MBEDTLS_PADLOCK_C
+ scripts/config.py unset MBEDTLS_AESNI_C
+ scripts/config.py unset MBEDTLS_AESCE_C
+
+ make CFLAGS='-O2 -Werror -Wall -Wextra'
+
+ msg "test: default config + GCM_LARGETABLE - AESNI_C - AESCE_C"
+ make test
+}
+
+component_test_gcm_largetable_gcc () {
+ msg "build: default config + GCM_LARGETABLE - AESNI_C - AESCE_C"
+ scripts/config.py set MBEDTLS_GCM_LARGETABLE
+ scripts/config.py unset MBEDTLS_PADLOCK_C
+ scripts/config.py unset MBEDTLS_AESNI_C
+ scripts/config.py unset MBEDTLS_AESCE_C
+
+ make CC=gcc CFLAGS='-O2 -Werror -Wall -Wextra'
+
+ msg "test: default config - GCM_LARGETABLE - AESNI_C - AESCE_C"
+ make test
+}
+
+component_test_gcm_smalltable () {
+ msg "build: default config - GCM_LARGETABLE - AESNI_C - AESCE_C"
+ scripts/config.py unset MBEDTLS_GCM_LARGETABLE
+ scripts/config.py unset MBEDTLS_PADLOCK_C
+ scripts/config.py unset MBEDTLS_AESNI_C
+ scripts/config.py unset MBEDTLS_AESCE_C
+
+ make CFLAGS='-O2 -Werror -Wall -Wextra'
+
+ msg "test: default config - GCM_LARGETABLE - AESNI_C - AESCE_C"
+ make test
+}
+
+component_test_gcm_smalltable_gcc () {
+ msg "build: default config - GCM_LARGETABLE - AESNI_C - AESCE_C"
+ scripts/config.py unset MBEDTLS_GCM_LARGETABLE
+ scripts/config.py unset MBEDTLS_PADLOCK_C
+ scripts/config.py unset MBEDTLS_AESNI_C
+ scripts/config.py unset MBEDTLS_AESCE_C
+
+ make CC=gcc CFLAGS='-O2 -Werror -Wall -Wextra'
+
+ msg "test: default config - GCM_LARGETABLE - AESNI_C - AESCE_C"
+ make test
+}
+
component_test_aes_fewer_tables () {
msg "build: default config with AES_FEWER_TABLES enabled"
scripts/config.py set MBEDTLS_AES_FEWER_TABLES