mpi: enable assembler on all arm architectures
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Wed, 23 Oct 2013 15:36:10 +0000 (18:36 +0300)
committerJussi Kivilinna <jussi.kivilinna@iki.fi>
Wed, 23 Oct 2013 15:36:10 +0000 (18:36 +0300)
* mpi/config.links: remove check for arm >= v6
* mpi/armv6 => mpi/arm: rename directory to reflect that is is generic
  enough

--
MPI ARM assembly do not depend on CPU being armv6. Verified on PXA255:

Before:
Algorithm         generate  100*sign  100*verify
------------------------------------------------
RSA 1024 bit        3990ms   57980ms      1680ms
RSA 2048 bit       59620ms   389430ms      5690ms
RSA 3072 bit       535850ms   1223200ms     12000ms
RSA 4096 bit       449350ms   2707370ms     20050ms

After:
Algorithm         generate  100*sign  100*verify
------------------------------------------------
RSA 1024 bit        2190ms   13730ms       320ms
RSA 2048 bit       12750ms   67640ms       810ms
RSA 3072 bit       110520ms   166100ms      1350ms
RSA 4096 bit       100870ms   357560ms      2170ms

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
[ jk: ARMv6 => ARM in header comments ]

mpi/arm/mpi-asm-defs.h [moved from mpi/armv6/mpi-asm-defs.h with 100% similarity]
mpi/arm/mpih-add1.S [moved from mpi/armv6/mpih-add1.S with 93% similarity]
mpi/arm/mpih-mul1.S [moved from mpi/armv6/mpih-mul1.S with 94% similarity]
mpi/arm/mpih-mul2.S [moved from mpi/armv6/mpih-mul2.S with 94% similarity]
mpi/arm/mpih-mul3.S [moved from mpi/armv6/mpih-mul3.S with 94% similarity]
mpi/arm/mpih-sub1.S [moved from mpi/armv6/mpih-sub1.S with 93% similarity]
mpi/config.links

similarity index 93%
rename from mpi/armv6/mpih-add1.S
rename to mpi/arm/mpih-add1.S
index 60ea4c3..de6d5ed 100644 (file)
@@ -1,5 +1,5 @@
-/* ARMv6 add_n -- Add two limb vectors of the same length > 0 and store
- *                sum in a third limb vector.
+/* ARM add_n -- Add two limb vectors of the same length > 0 and store
+ *              sum in a third limb vector.
  *
  *      Copyright © 2013 Jussi Kivilinna <jussi.kivilinna@iki.fi>
  *
similarity index 94%
rename from mpi/armv6/mpih-mul1.S
rename to mpi/arm/mpih-mul1.S
index 0aa41ef..9e6f361 100644 (file)
@@ -1,5 +1,5 @@
-/* ARMv6 mul_1 -- Multiply a limb vector with a limb and store the result in
- *                a second limb vector.
+/* ARM mul_1 -- Multiply a limb vector with a limb and store the result in
+ *              a second limb vector.
  *
  *      Copyright © 2013 Jussi Kivilinna <jussi.kivilinna@iki.fi>
  *
similarity index 94%
rename from mpi/armv6/mpih-mul2.S
rename to mpi/arm/mpih-mul2.S
index a7eb8a1..2063be5 100644 (file)
@@ -1,5 +1,5 @@
-/* ARMv6 mul_2 -- Multiply a limb vector with a limb and add the result to
- *                a second limb vector.
+/* ARM mul_2 -- Multiply a limb vector with a limb and add the result to
+ *              a second limb vector.
  *
  *      Copyright © 2013 Jussi Kivilinna <jussi.kivilinna@iki.fi>
  *
similarity index 94%
rename from mpi/armv6/mpih-mul3.S
rename to mpi/arm/mpih-mul3.S
index 034929e..be2c5e6 100644 (file)
@@ -1,5 +1,5 @@
-/* ARMv6 mul_3 -- Multiply a limb vector with a limb and subtract the result
- *                from a second limb vector.
+/* ARM mul_3 -- Multiply a limb vector with a limb and subtract the result
+ *              from a second limb vector.
  *
  *      Copyright © 2013 Jussi Kivilinna <jussi.kivilinna@iki.fi>
  *
similarity index 93%
rename from mpi/armv6/mpih-sub1.S
rename to mpi/arm/mpih-sub1.S
index 77d05eb..a573eff 100644 (file)
@@ -1,5 +1,5 @@
-/* ARMv6 sub_n -- Subtract two limb vectors of the same length > 0 and store
- *               sum in a third limb vector.
+/* ARM sub_n -- Subtract two limb vectors of the same length > 0 and store
+ *              sum in a third limb vector.
  *
  *      Copyright © 2013 Jussi Kivilinna <jussi.kivilinna@iki.fi>
  *
index 9fb4f10..90d1077 100644 (file)
@@ -138,14 +138,9 @@ case "${host}" in
        ;;
     arm*-*-*)
        if test "$gcry_cv_gcc_arm_platform_as_ok" = "yes" ; then
-         if test "$gcry_cv_cc_arm_arch_is_v6" = "yes" ; then
-           echo '/* configured for armv6 */' >>./mpi/asm-syntax.h
-           path="armv6"
-           mpi_cpu_arch="arm"
-         else
-           echo '/* No assembler modules configured */' >>./mpi/asm-syntax.h
-           path=""
-         fi
+         echo '/* configured for arm */' >>./mpi/asm-syntax.h
+         path="arm"
+         mpi_cpu_arch="arm"
        else
          echo '/* No assembler modules configured */' >>./mpi/asm-syntax.h
          path=""