Manuel Pégourié-Gonnard 2adb375c50 Add option to avoid 64-bit multiplication
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
2018-06-07 11:05:33 +02:00
..
2018-05-15 09:21:57 +01:00
2017-07-27 21:44:33 +01:00
2018-05-24 18:50:18 +02:00
2017-09-06 17:51:14 +03:00
2017-10-10 19:04:27 +03:00
2018-05-15 09:21:57 +01:00
2018-05-24 13:37:31 +02:00
2015-09-04 14:21:07 +02:00
2015-09-04 14:21:07 +02:00
2017-10-29 17:53:52 +02:00
2017-07-27 21:44:33 +01:00
2018-05-15 09:21:57 +01:00
2018-05-15 09:21:57 +01:00
2018-05-15 09:21:57 +01:00