From f2d51a3b6ee64eaee8a90156ba129552f92da767 Mon Sep 17 00:00:00 2001 From: Mamy Ratsimbazafy Date: Thu, 17 Feb 2022 15:14:12 +0100 Subject: [PATCH] Fix spam on OSX CI - copy without substraction issue in squareMont without ADX --- constantine/arithmetic/assembly/limbs_asm_redc_mont_x86.nim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/constantine/arithmetic/assembly/limbs_asm_redc_mont_x86.nim b/constantine/arithmetic/assembly/limbs_asm_redc_mont_x86.nim index 9cec0db..866df62 100644 --- a/constantine/arithmetic/assembly/limbs_asm_redc_mont_x86.nim +++ b/constantine/arithmetic/assembly/limbs_asm_redc_mont_x86.nim @@ -138,7 +138,8 @@ macro redc2xMont_gen*[N: static int]( # Second part - Final substraction # --------------------------------------------- - ctx.mov rdx, r_temp + if not(spareBits >= 2 and skipFinalSub): + ctx.mov rdx, r_temp let r = rdx.asArrayAddr(len = N) # This does a[i+n] += hi @@ -155,7 +156,7 @@ macro redc2xMont_gen*[N: static int]( if spareBits >= 2 and skipFinalSub: for i in 0 ..< N: - ctx.mov r[i], t[i] + ctx.mov r_temp[i], u[i] elif spareBits >= 1: ctx.finalSubNoCarryImpl(r, u, M, t) else: