diff options
author | Adam Langley <agl@chromium.org> | 2014-07-25 05:10:23 +0400 |
---|---|---|
committer | Adam Langley <agl@chromium.org> | 2014-07-29 04:05:13 +0400 |
commit | 4b5979b3fa02446964fdc1cff7ff972fa796e17d (patch) | |
tree | e96fb0634b3670061ca7a188eb3a316497d1278b /crypto/bn/asm | |
parent | c82087b31fdba0e6b51f2d176bbb2a6805689afb (diff) |
x86_64 assembly pack: improve masm support.
(Imported from upstream's 371feee876dd8b58531cb6e50fe79262db8e4ed7)
Change-Id: Id3b5ece6b5e5f0565060d5e598ea265d64dac9df
Diffstat (limited to 'crypto/bn/asm')
-rw-r--r-- | crypto/bn/asm/rsaz-x86_64.pl | 2 | ||||
-rw-r--r-- | crypto/bn/asm/x86_64-mont.pl | 6 | ||||
-rw-r--r-- | crypto/bn/asm/x86_64-mont5.pl | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/crypto/bn/asm/rsaz-x86_64.pl b/crypto/bn/asm/rsaz-x86_64.pl index cd651f7e..3a4f0c59 100644 --- a/crypto/bn/asm/rsaz-x86_64.pl +++ b/crypto/bn/asm/rsaz-x86_64.pl @@ -110,7 +110,7 @@ if (!$addx && $win64 && ($flavour =~ /nasm/ || $ENV{ASM} =~ /nasm/) && if (!$addx && $win64 && ($flavour =~ /masm/ || $ENV{ASM} =~ /ml64/) && `ml64 2>&1` =~ /Version ([0-9]+)\./) { - $addx = ($1>=11); + $addx = ($1>=12); } if (!$addx && `$ENV{CC} -v 2>&1` =~ /(^clang version|based on LLVM) ([3-9])\.([0-9]+)/) { diff --git a/crypto/bn/asm/x86_64-mont.pl b/crypto/bn/asm/x86_64-mont.pl index 29c0f9c4..39476ab0 100644 --- a/crypto/bn/asm/x86_64-mont.pl +++ b/crypto/bn/asm/x86_64-mont.pl @@ -65,7 +65,7 @@ if (!$addx && $win64 && ($flavour =~ /nasm/ || $ENV{ASM} =~ /nasm/) && if (!$addx && $win64 && ($flavour =~ /masm/ || $ENV{ASM} =~ /ml64/) && `ml64 2>&1` =~ /Version ([0-9]+)\./) { - $addx = ($1>=11); + $addx = ($1>=12); } # int bn_mul_mont( @@ -741,9 +741,11 @@ my @A0=("%r10","%r11"); my @A1=("%r12","%r13"); my ($a0,$a1,$ai)=("%r14","%r15","%rbx"); +$code.=<<___ if ($addx); +.extern bn_sqrx8x_internal # see x86_64-mont5 module +___ $code.=<<___; .extern bn_sqr8x_internal # see x86_64-mont5 module -.extern bn_sqrx8x_internal # see x86_64-mont5 module .type bn_sqr8x_mont,\@function,6 .align 32 diff --git a/crypto/bn/asm/x86_64-mont5.pl b/crypto/bn/asm/x86_64-mont5.pl index 85386c16..5037caba 100644 --- a/crypto/bn/asm/x86_64-mont5.pl +++ b/crypto/bn/asm/x86_64-mont5.pl @@ -50,7 +50,7 @@ if (!$addx && $win64 && ($flavour =~ /nasm/ || $ENV{ASM} =~ /nasm/) && if (!$addx && $win64 && ($flavour =~ /masm/ || $ENV{ASM} =~ /ml64/) && `ml64 2>&1` =~ /Version ([0-9]+)\./) { - $addx = ($1>=11); + $addx = ($1>=12); } # int bn_mul_mont_gather5( |