Skip to content

Commit b873854

Browse files
committed
Reveal nodes on demand rather than up-front
Replaces #2055 Closes #2055 Fixes #2050
1 parent dc9e209 commit b873854

File tree

3 files changed

+301
-89
lines changed

3 files changed

+301
-89
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
.globl _Z14fiat_25519_subPmPKmS1_
2+
_Z14fiat_25519_subPmPKmS1_:
3+
push rbp
4+
mov rbp, rsp
5+
mov qword ptr [rbp - 8], rdi
6+
mov qword ptr [rbp - 16], rsi
7+
mov qword ptr [rbp - 24], rdx
8+
mov rcx, qword ptr [rbp - 16]
9+
movabs rax, 4503599627370458
10+
add rax, qword ptr [rcx]
11+
mov rcx, qword ptr [rbp - 24]
12+
sub rax, qword ptr [rcx]
13+
mov qword ptr [rbp - 32], rax
14+
mov rcx, qword ptr [rbp - 16]
15+
movabs rax, 4503599627370494
16+
add rax, qword ptr [rcx + 8]
17+
mov rcx, qword ptr [rbp - 24]
18+
sub rax, qword ptr [rcx + 8]
19+
mov qword ptr [rbp - 40], rax
20+
mov rcx, qword ptr [rbp - 16]
21+
movabs rax, 4503599627370494
22+
add rax, qword ptr [rcx + 16]
23+
mov rcx, qword ptr [rbp - 24]
24+
sub rax, qword ptr [rcx + 16]
25+
mov qword ptr [rbp - 48], rax
26+
mov rcx, qword ptr [rbp - 16]
27+
movabs rax, 4503599627370494
28+
add rax, qword ptr [rcx + 24]
29+
mov rcx, qword ptr [rbp - 24]
30+
sub rax, qword ptr [rcx + 24]
31+
mov qword ptr [rbp - 56], rax
32+
mov rcx, qword ptr [rbp - 16]
33+
movabs rax, 4503599627370494
34+
add rax, qword ptr [rcx + 32]
35+
mov rcx, qword ptr [rbp - 24]
36+
sub rax, qword ptr [rcx + 32]
37+
mov qword ptr [rbp - 64], rax
38+
mov rcx, qword ptr [rbp - 32]
39+
mov rax, qword ptr [rbp - 8]
40+
mov qword ptr [rax], rcx
41+
mov rcx, qword ptr [rbp - 40]
42+
mov rax, qword ptr [rbp - 8]
43+
mov qword ptr [rax + 8], rcx
44+
mov rcx, qword ptr [rbp - 48]
45+
mov rax, qword ptr [rbp - 8]
46+
mov qword ptr [rax + 16], rcx
47+
mov rcx, qword ptr [rbp - 56]
48+
mov rax, qword ptr [rbp - 8]
49+
mov qword ptr [rax + 24], rcx
50+
mov rcx, qword ptr [rbp - 64]
51+
mov rax, qword ptr [rbp - 8]
52+
mov qword ptr [rax + 32], rcx
53+
pop rbp
54+
ret
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
.globl _Z14fiat_25519_subPmPKmS1_
2+
_Z14fiat_25519_subPmPKmS1_:
3+
push rbp
4+
mov rbp, rsp
5+
mov QWORD PTR [rbp-56], rdi
6+
mov QWORD PTR [rbp-64], rsi
7+
mov QWORD PTR [rbp-72], rdx
8+
mov rax, QWORD PTR [rbp-64]
9+
mov rdx, QWORD PTR [rax]
10+
mov rax, QWORD PTR [rbp-72]
11+
mov rax, QWORD PTR [rax]
12+
sub rdx, rax
13+
movabs rax, 4503599627370458
14+
add rax, rdx
15+
mov QWORD PTR [rbp-8], rax
16+
mov rax, QWORD PTR [rbp-64]
17+
add rax, 8
18+
mov rdx, QWORD PTR [rax]
19+
mov rax, QWORD PTR [rbp-72]
20+
add rax, 8
21+
mov rax, QWORD PTR [rax]
22+
sub rdx, rax
23+
movabs rax, 4503599627370494
24+
add rax, rdx
25+
mov QWORD PTR [rbp-16], rax
26+
mov rax, QWORD PTR [rbp-64]
27+
add rax, 16
28+
mov rdx, QWORD PTR [rax]
29+
mov rax, QWORD PTR [rbp-72]
30+
add rax, 16
31+
mov rax, QWORD PTR [rax]
32+
sub rdx, rax
33+
movabs rax, 4503599627370494
34+
add rax, rdx
35+
mov QWORD PTR [rbp-24], rax
36+
mov rax, QWORD PTR [rbp-64]
37+
add rax, 24
38+
mov rdx, QWORD PTR [rax]
39+
mov rax, QWORD PTR [rbp-72]
40+
add rax, 24
41+
mov rax, QWORD PTR [rax]
42+
sub rdx, rax
43+
movabs rax, 4503599627370494
44+
add rax, rdx
45+
mov QWORD PTR [rbp-32], rax
46+
mov rax, QWORD PTR [rbp-64]
47+
add rax, 32
48+
mov rdx, QWORD PTR [rax]
49+
mov rax, QWORD PTR [rbp-72]
50+
add rax, 32
51+
mov rax, QWORD PTR [rax]
52+
sub rdx, rax
53+
movabs rax, 4503599627370494
54+
add rax, rdx
55+
mov QWORD PTR [rbp-40], rax
56+
mov rax, QWORD PTR [rbp-56]
57+
mov rdx, QWORD PTR [rbp-8]
58+
mov QWORD PTR [rax], rdx
59+
mov rax, QWORD PTR [rbp-56]
60+
lea rdx, [rax+8]
61+
mov rax, QWORD PTR [rbp-16]
62+
mov QWORD PTR [rdx], rax
63+
mov rax, QWORD PTR [rbp-56]
64+
lea rdx, [rax+16]
65+
mov rax, QWORD PTR [rbp-24]
66+
mov QWORD PTR [rdx], rax
67+
mov rax, QWORD PTR [rbp-56]
68+
lea rdx, [rax+24]
69+
mov rax, QWORD PTR [rbp-32]
70+
mov QWORD PTR [rdx], rax
71+
mov rax, QWORD PTR [rbp-56]
72+
lea rdx, [rax+32]
73+
mov rax, QWORD PTR [rbp-40]
74+
mov QWORD PTR [rdx], rax
75+
nop
76+
pop rbp
77+
ret

0 commit comments

Comments
 (0)