[openssl-commits] [openssl] master update
Andy Polyakov
appro at openssl.org
Wed Apr 20 07:51:55 UTC 2016
The branch master has been updated
via 38c5674dda8333288aa5d57ccd046203803aa81f (commit)
via d405aa2ff265965c71ce7331cf0e49d634a06924 (commit)
via 6ca3e6e779635ac54d51efb3483b7616abfdf477 (commit)
from f0d484fcd4d2119a31a2272c4a9b1752e0011cd7 (commit)
- Log -----------------------------------------------------------------
commit 38c5674dda8333288aa5d57ccd046203803aa81f
Author: Andy Polyakov <appro at openssl.org>
Date: Tue Apr 19 20:41:18 2016 +0200
Configuration: add unsupported masm target.
Reviewed-by: Richard Levitte <levitte at openssl.org>
commit d405aa2ff265965c71ce7331cf0e49d634a06924
Author: Andy Polyakov <appro at openssl.org>
Date: Mon Apr 18 13:27:01 2016 +0200
perlasm/x86_64-xlate.pl: make latest ml64 work.
Reviewed-by: Richard Levitte <levitte at openssl.org>
commit 6ca3e6e779635ac54d51efb3483b7616abfdf477
Author: Andy Polyakov <appro at openssl.org>
Date: Mon Apr 18 10:45:25 2016 +0200
poly1305/asm/poly1305-x86_64.pl: not all assemblers manage << in constants.
Reviewed-by: Richard Levitte <levitte at openssl.org>
-----------------------------------------------------------------------
Summary of changes:
Configurations/50-masm.conf | 17 +++++++++++++++++
crypto/perlasm/x86_64-xlate.pl | 7 +++++--
crypto/poly1305/asm/poly1305-x86_64.pl | 10 +++++-----
3 files changed, 27 insertions(+), 7 deletions(-)
create mode 100644 Configurations/50-masm.conf
diff --git a/Configurations/50-masm.conf b/Configurations/50-masm.conf
new file mode 100644
index 0000000..8dbaa76
--- /dev/null
+++ b/Configurations/50-masm.conf
@@ -0,0 +1,17 @@
+# We can't make commitment to supporting Microsoft assembler,
+# because it would mean supporting all masm versions. This in
+# in turn is because masm is not really an interchangeable option,
+# while users tend to have reasons to stick with specific Visual
+# Studio versions. It's usually lesser hassle to make it work
+# with latest assembler, but tweaking for older versions had
+# proven to be daunting task. This is experimental target, for
+# production builds stick with [up-to-date version of] nasm.
+
+%targets = (
+ "VC-WIN64A-masm" => {
+ inherit_from => [ "VC-WIN64A" ],
+ as => "ml64",
+ asflags => "/c /Cp /Cx /Zi",
+ asoutflags => "/Fo",
+ },
+);
diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl
index 80ab17f..6682132 100755
--- a/crypto/perlasm/x86_64-xlate.pl
+++ b/crypto/perlasm/x86_64-xlate.pl
@@ -286,7 +286,7 @@ my %globals;
(opcode->mnemonic() =~ /^v?mov([qd])$/) && ($sz=$1) ||
(opcode->mnemonic() =~ /^v?pinsr([qdwb])$/) && ($sz=$1) ||
(opcode->mnemonic() =~ /^vpbroadcast([qdwb])$/) && ($sz=$1) ||
- (opcode->mnemonic() =~ /^vinsert[fi]128$/) && ($sz="x");
+ (opcode->mnemonic() =~ /^v(?!perm)[a-z]+[fi]128$/) && ($sz="x");
if (defined($self->{index})) {
sprintf "%s[%s%s*%d%s]",$szmap{$sz},
@@ -607,7 +607,10 @@ my %globals;
}
last;
};
- /\.align/ && do { $self->{value} = "ALIGN\t".$line; last; };
+ /\.align/ && do { my $max = ($masm && $masm>=$masmref) ? 256 : 4096;
+ $self->{value} = "ALIGN\t".($line>$max?$max:$line);
+ last;
+ };
/\.(value|long|rva|quad)/
&& do { my $sz = substr($1,0,1);
my @arr = split(/,\s*/,$line);
diff --git a/crypto/poly1305/asm/poly1305-x86_64.pl b/crypto/poly1305/asm/poly1305-x86_64.pl
index 7d67611..e2a38ec 100755
--- a/crypto/poly1305/asm/poly1305-x86_64.pl
+++ b/crypto/poly1305/asm/poly1305-x86_64.pl
@@ -495,10 +495,10 @@ poly1305_blocks_avx:
################################# base 2^26 -> base 2^64
mov $d1#d,$h0#d
- and \$-1<<31,$d1
+ and \$`-1<<31`,$d1
mov $d2,$r1 # borrow $r1
mov $d2#d,$h1#d
- and \$-1<<31,$d2
+ and \$`-1<<31`,$d2
shr \$6,$d1
shl \$52,$r1
@@ -1383,10 +1383,10 @@ poly1305_blocks_avx2:
################################# base 2^26 -> base 2^64
mov $d1#d,$h0#d
- and \$-1<<31,$d1
+ and \$`-1<<31`,$d1
mov $d2,$r1 # borrow $r1
mov $d2#d,$h1#d
- and \$-1<<31,$d2
+ and \$`-1<<31`,$d2
shr \$6,$d1
shl \$52,$r1
@@ -1991,7 +1991,7 @@ $code.=<<___;
.Lmask24:
.long 0x0ffffff,0,0x0ffffff,0,0x0ffffff,0,0x0ffffff,0
.L129:
-.long 1<<24,0,1<<24,0,1<<24,0,1<<24,0
+.long `1<<24`,0,`1<<24`,0,`1<<24`,0,`1<<24`,0
.Lmask26:
.long 0x3ffffff,0,0x3ffffff,0,0x3ffffff,0,0x3ffffff,0
.Lfive:
More information about the openssl-commits
mailing list