Fast with ARM detection

parent 773f19ab
......@@ -19,15 +19,17 @@ nomflags="`echo $CFLAGS | sed -e 's/-m[[^ ]]* //g'`"
# special optimizations for some plattforms
case "$host" in
arm-*linux*)
arm*-*linux*)
flags="$CFLAGS"
fastflags="-O3 -mfpu=neon $nomflags"
enable_fast+set=set
enable_fast=yes
CFLAGS=""
;;
i686-*linux*|i686-*cygwin*)
flags="$CFLAGS"
fastflags="-O3 -m32 -mssse3 $nomflags"
enable_fast+set=set
enable_fast=yes
CFLAGS=""
;;
......
......@@ -331,6 +331,10 @@ STATIC void ge25519_scalarmult_vartime(ge25519 *r, const ge25519 *p1, const bign
* The following conditional move stuff uses conditional moves.
* I will check on which compilers this works, and provide suitable
* workarounds for those where it doesn't.
*
* This works on gcc 4.x and above with -O3. Don't use -O2, this will
* cause the code to not generate conditional moves. Don't use any -march=
* with less than i686 on x86
*/
DONNA_INLINE static void ge25519_cmove_stride4(long * r, long * p, long * pos, long * n, int stride) {
int i;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment