X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fec%2Fcurve448%2Farch_arm_32%2Ff_impl.c;h=5956d6cebafa9c6d74e188ff8a63cf396389f755;hp=25e970389bea54bdbba66fc7ea97376ae2873028;hb=8d55f844b08199e0ac6a2ddc501de39f3237c5e9;hpb=205fd6388175704bd7597dbfb571c84f868ce6da diff --git a/crypto/ec/curve448/arch_arm_32/f_impl.c b/crypto/ec/curve448/arch_arm_32/f_impl.c index 25e970389b..5956d6ceba 100644 --- a/crypto/ec/curve448/arch_arm_32/f_impl.c +++ b/crypto/ec/curve448/arch_arm_32/f_impl.c @@ -19,9 +19,10 @@ static inline void __attribute__ ((gnu_inline, always_inline)) #ifdef __ARMEL__ uint32_t lo = *acc, hi = (*acc) >> 32; - __asm__ __volatile__("smlal %[lo], %[hi], %[a], %[b]":[lo] "+&r"(lo), - [hi] "+&r"(hi) - :[a] "r"(a),[b] "r"(b)); + __asm__ __volatile__ ("smlal %[lo], %[hi], %[a], %[b]" + : [lo]"+&r"(lo), [hi]"+&r"(hi) + : [a]"r"(a), [b]"r"(b)); + *acc = lo + (((uint64_t)hi) << 32); #else @@ -35,9 +36,11 @@ static inline void __attribute__ ((gnu_inline, always_inline)) #ifdef __ARMEL__ uint32_t lo = *acc, hi = (*acc) >> 32; - __asm__ __volatile__("smlal %[lo], %[hi], %[a], %[b]":[lo] "+&r"(lo), - [hi] "+&r"(hi) - :[a] "r"(a),[b] "r"(2 * b)); + __asm__ __volatile__ ("smlal %[lo], %[hi], %[a], %[b]" + : [lo]"+&r"(lo), [hi]"+&r"(hi) + : [a]"r"(a), [b]"r"(2 * b)); + + *acc = lo + (((uint64_t)hi) << 32); #else @@ -51,9 +54,9 @@ static inline void __attribute__ ((gnu_inline, always_inline)) #ifdef __ARMEL__ uint32_t lo, hi; - __asm__ __volatile__("smull %[lo], %[hi], %[a], %[b]":[lo] "=&r"(lo), - [hi] "=&r"(hi) - :[a] "r"(a),[b] "r"(b)); + __asm__ __volatile__ ("smull %[lo], %[hi], %[a], %[b]" + : [lo]"=&r"(lo), [hi]"=&r"(hi) + : [a]"r"(a), [b]"r"(b)); *acc = lo + (((uint64_t)hi) << 32); #else @@ -68,8 +71,8 @@ static inline void __attribute__ ((gnu_inline, always_inline)) uint32_t lo, hi; __asm__ /*__volatile__*/ ("smull %[lo], %[hi], %[a], %[b]" - : [lo] "=&r"(lo),[hi] "=&r"(hi) - : [a] "r"(a),[b] "r"(2 * b)); + : [lo]"=&r"(lo), [hi]"=&r"(hi) + : [a]"r"(a), [b]"r"(2*b)); *acc = lo + (((uint64_t)hi) << 32); #else @@ -729,16 +732,14 @@ void gf_sqr(gf_s * __restrict__ cs, const gf as) void gf_mulw_unsigned(gf_s * __restrict__ cs, const gf as, uint32_t b) { uint32_t mask = (1ull << 28) - 1; - assert(b <= mask); - const uint32_t *a = as->limb; uint32_t *c = cs->limb; - uint64_t accum0, accum8; - int i; - uint32_t c0, c8, n0, n8; + + assert(b <= mask); + c0 = a[0]; c8 = a[8]; accum0 = widemul(b, c0);