summaryrefslogtreecommitdiffstats
path: root/secure/lib/libcrypto/amd64/x86_64-mont.S
diff options
context:
space:
mode:
Diffstat (limited to 'secure/lib/libcrypto/amd64/x86_64-mont.S')
-rw-r--r--secure/lib/libcrypto/amd64/x86_64-mont.S31
1 files changed, 31 insertions, 0 deletions
diff --git a/secure/lib/libcrypto/amd64/x86_64-mont.S b/secure/lib/libcrypto/amd64/x86_64-mont.S
index 3e67383..d3c1c71 100644
--- a/secure/lib/libcrypto/amd64/x86_64-mont.S
+++ b/secure/lib/libcrypto/amd64/x86_64-mont.S
@@ -35,6 +35,20 @@ bn_mul_mont:
movq %r11,8(%rsp,%r9,8)
.Lmul_body:
+
+
+
+
+
+
+ subq %rsp,%r11
+ andq $-4096,%r11
+.Lmul_page_walk:
+ movq (%rsp,%r11,1),%r10
+ subq $4096,%r11
+.byte 0x66,0x2e
+ jnc .Lmul_page_walk
+
movq %rdx,%r12
movq (%r8),%r8
movq (%r12),%rbx
@@ -232,6 +246,14 @@ bn_mul4x_mont:
movq %r11,8(%rsp,%r9,8)
.Lmul4x_body:
+ subq %rsp,%r11
+ andq $-4096,%r11
+.Lmul4x_page_walk:
+ movq (%rsp,%r11,1),%r10
+ subq $4096,%r11
+.byte 0x2e
+ jnc .Lmul4x_page_walk
+
movq %rdi,16(%rsp,%r9,8)
movq %rdx,%r12
movq (%r8),%r8
@@ -654,6 +676,15 @@ bn_sqr8x_mont:
subq %r11,%rsp
.Lsqr8x_sp_done:
andq $-64,%rsp
+ movq %rax,%r11
+ subq %rsp,%r11
+ andq $-4096,%r11
+.Lsqr8x_page_walk:
+ movq (%rsp,%r11,1),%r10
+ subq $4096,%r11
+.byte 0x2e
+ jnc .Lsqr8x_page_walk
+
movq %r9,%r10
negq %r9
OpenPOWER on IntegriCloud