mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2025-10-27 13:57:03 +00:00
Motivation is similar to NO_UDBL_DIVISION. The alternative implementation of 64-bit mult is straightforward and aims at obvious correctness. Also, visual examination of the generate assembly show that it's quite efficient with clang, armcc5 and arm-clang. However current GCC generates fairly inefficient code for it. I tried to rework the code in order to make GCC generate more efficient code. Unfortunately the only way to do that is to get rid of 64-bit add and handle the carry manually, but this causes other compilers to generate less efficient code with branches, which is not acceptable from a side-channel point of view. So let's keep the obvious code that works for most compilers and hope future versions of GCC learn to manage registers in a sensible way in that context. See https://bugs.launchpad.net/gcc-arm-embedded/+bug/1775263 |
||
|---|---|---|
| .. | ||
| all.sh | ||
| basic-build-test.sh | ||
| check-doxy-blocks.pl | ||
| check-generated-files.sh | ||
| check-names.sh | ||
| curves.pl | ||
| depends-hashes.pl | ||
| depends-pkalgs.pl | ||
| doxygen.sh | ||
| gen_ctr_drbg.pl | ||
| gen_gcm_decrypt.pl | ||
| gen_gcm_encrypt.pl | ||
| gen_pkcs1_v21_sign_verify.pl | ||
| generate-afl-tests.sh | ||
| generate_code.pl | ||
| key-exchanges.pl | ||
| list-enum-consts.pl | ||
| list-identifiers.sh | ||
| list-macros.sh | ||
| list-symbols.sh | ||
| recursion.pl | ||
| run-test-suites.pl | ||
| tcp_client.pl | ||
| test-ref-configs.pl | ||
| test_zeroize.gdb | ||
| travis-log-failure.sh | ||
| yotta-build.sh | ||