Skip to content

Commit 3135765

Browse files
authored
Merge pull request #19183 from karalabe/bn256-arm64-go1.12-fix
crypto/bn256/cloudflare: pull in upstream fix for Go 1.12 R18
2 parents 0f41356 + 39bd260 commit 3135765

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

crypto/bn256/cloudflare/mul_arm64.h

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
UMULH R1, R8, c4 \
1313
ADCS ZR, c4 \
1414
\
15-
MUL R2, R5, R25 \
15+
MUL R2, R5, R1 \
1616
UMULH R2, R5, R26 \
1717
MUL R2, R6, R0 \
1818
ADDS R0, R26 \
@@ -24,13 +24,13 @@
2424
ADCS R0, R29 \
2525
UMULH R2, R8, c5 \
2626
ADCS ZR, c5 \
27-
ADDS R25, c1 \
27+
ADDS R1, c1 \
2828
ADCS R26, c2 \
2929
ADCS R27, c3 \
3030
ADCS R29, c4 \
3131
ADCS ZR, c5 \
3232
\
33-
MUL R3, R5, R25 \
33+
MUL R3, R5, R1 \
3434
UMULH R3, R5, R26 \
3535
MUL R3, R6, R0 \
3636
ADDS R0, R26 \
@@ -42,13 +42,13 @@
4242
ADCS R0, R29 \
4343
UMULH R3, R8, c6 \
4444
ADCS ZR, c6 \
45-
ADDS R25, c2 \
45+
ADDS R1, c2 \
4646
ADCS R26, c3 \
4747
ADCS R27, c4 \
4848
ADCS R29, c5 \
4949
ADCS ZR, c6 \
5050
\
51-
MUL R4, R5, R25 \
51+
MUL R4, R5, R1 \
5252
UMULH R4, R5, R26 \
5353
MUL R4, R6, R0 \
5454
ADDS R0, R26 \
@@ -60,7 +60,7 @@
6060
ADCS R0, R29 \
6161
UMULH R4, R8, c7 \
6262
ADCS ZR, c7 \
63-
ADDS R25, c3 \
63+
ADDS R1, c3 \
6464
ADCS R26, c4 \
6565
ADCS R27, c5 \
6666
ADCS R29, c6 \
@@ -69,15 +69,15 @@
6969
#define gfpReduce() \
7070
\ // m = (T * N') mod R, store m in R1:R2:R3:R4
7171
MOVD ·np+0(SB), R17 \
72-
MOVD ·np+8(SB), R18 \
72+
MOVD ·np+8(SB), R25 \
7373
MOVD ·np+16(SB), R19 \
7474
MOVD ·np+24(SB), R20 \
7575
\
7676
MUL R9, R17, R1 \
7777
UMULH R9, R17, R2 \
78-
MUL R9, R18, R0 \
78+
MUL R9, R25, R0 \
7979
ADDS R0, R2 \
80-
UMULH R9, R18, R3 \
80+
UMULH R9, R25, R3 \
8181
MUL R9, R19, R0 \
8282
ADCS R0, R3 \
8383
UMULH R9, R19, R4 \
@@ -86,9 +86,9 @@
8686
\
8787
MUL R10, R17, R21 \
8888
UMULH R10, R17, R22 \
89-
MUL R10, R18, R0 \
89+
MUL R10, R25, R0 \
9090
ADDS R0, R22 \
91-
UMULH R10, R18, R23 \
91+
UMULH R10, R25, R23 \
9292
MUL R10, R19, R0 \
9393
ADCS R0, R23 \
9494
ADDS R21, R2 \
@@ -97,7 +97,7 @@
9797
\
9898
MUL R11, R17, R21 \
9999
UMULH R11, R17, R22 \
100-
MUL R11, R18, R0 \
100+
MUL R11, R25, R0 \
101101
ADDS R0, R22 \
102102
ADDS R21, R3 \
103103
ADCS R22, R4 \
@@ -107,19 +107,19 @@
107107
\
108108
\ // m * N
109109
loadModulus(R5,R6,R7,R8) \
110-
mul(R17,R18,R19,R20,R21,R22,R23,R24) \
110+
mul(R17,R25,R19,R20,R21,R22,R23,R24) \
111111
\
112112
\ // Add the 512-bit intermediate to m*N
113-
MOVD ZR, R25 \
113+
MOVD ZR, R0 \
114114
ADDS R9, R17 \
115-
ADCS R10, R18 \
115+
ADCS R10, R25 \
116116
ADCS R11, R19 \
117117
ADCS R12, R20 \
118118
ADCS R13, R21 \
119119
ADCS R14, R22 \
120120
ADCS R15, R23 \
121121
ADCS R16, R24 \
122-
ADCS ZR, R25 \
122+
ADCS ZR, R0 \
123123
\
124124
\ // Our output is R21:R22:R23:R24. Reduce mod p if necessary.
125125
SUBS R5, R21, R10 \

0 commit comments

Comments
 (0)