Skip to content

Commit 318662c

Browse files
committed
mlkem768: replace LEA by add
1 parent 1b2fadc commit 318662c

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

src/crypto_kem/mlkem/mlkem768/amd64/avx2/kem.jinc

+2-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ fn __crypto_kem_dec_jazz(reg u64 shkp, reg u64 ctp, reg u64 skp)
106106

107107
buf[0:MLKEM_INDCPA_MSGBYTES] = __indcpa_dec_1(buf[0:MLKEM_INDCPA_MSGBYTES], ctp, skp);
108108

109-
hp = #LEA(skp + 32);
109+
//hp = #LEA(skp + 32);
110+
hp = skp; hp += 32;
110111
hp += 24 * MLKEM_K * MLKEM_N>>3;
111112

112113
/* fixme: should loads be 256-bits long? */

src/crypto_kem/mlkem/mlkem768/amd64/ref/kem.jinc

+2-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,8 @@ fn __crypto_kem_dec_jazz(reg u64 shkp, reg u64 ctp, reg u64 skp)
107107

108108
buf[0:MLKEM_MSGBYTES] = __indcpa_dec(buf[0:MLKEM_MSGBYTES], ctp, skp);
109109

110-
hp = #LEA(skp + 32);
110+
//hp = #LEA(skp + 32);
111+
hp = skp; hp += 32;
111112
hp += 24 * MLKEM_K * MLKEM_N>>3;
112113

113114
for i=0 to MLKEM_SYMBYTES/8

src/crypto_kem/mlkem/mlkem768/amd64/ref/poly.jinc

+12-6
Original file line numberDiff line numberDiff line change
@@ -505,10 +505,12 @@ fn _poly_invntt(reg ptr u16[MLKEM_N] rp) -> reg ptr u16[MLKEM_N]
505505
zetasctr += 1;
506506

507507
j = start;
508-
cmp = #LEA(start + len);
508+
//cmp = #LEA(start + len);
509+
cmp = start; cmp += len;
509510
while (j < cmp)
510511
{
511-
offset = #LEA(j + len);
512+
//offset = #LEA(j + len);
513+
offset = j; offset += len;
512514
s = rp[(int)offset];
513515
t = rp[(int)j];
514516
m = s; m += t;
@@ -519,7 +521,8 @@ fn _poly_invntt(reg ptr u16[MLKEM_N] rp) -> reg ptr u16[MLKEM_N]
519521
rp[(int)offset] = t;
520522
j += 1;
521523
}
522-
start = #LEA(j + len);
524+
//start = #LEA(j + len);
525+
start = j; start += len;
523526
}
524527
len <<= 1;
525528
}
@@ -563,10 +566,12 @@ fn _poly_ntt(reg ptr u16[MLKEM_N] rp) -> reg ptr u16[MLKEM_N]
563566
zetasctr += 1;
564567
zeta = zetasp[(int)zetasctr];
565568
j = start;
566-
cmp = #LEA(start + len);
569+
// cmp = #LEA(start + len);
570+
cmp = start; cmp += len;
567571
while (j < cmp)
568572
{
569-
offset = #LEA(j + len);
573+
//offset = #LEA(j + len);
574+
offset = j; offset += len;
570575
t = rp[(int)offset];
571576
t = __fqmul(t, zeta);
572577
s = rp[(int)j];
@@ -577,7 +582,8 @@ fn _poly_ntt(reg ptr u16[MLKEM_N] rp) -> reg ptr u16[MLKEM_N]
577582
rp[(int)j] = t;
578583
j += 1;
579584
}
580-
start = #LEA(j + len);
585+
//start = #LEA(j + len);
586+
start = j; start += len;
581587
}
582588
len >>= 1;
583589
}

0 commit comments

Comments
 (0)