From: Andy Polyakov Date: Mon, 18 Apr 2016 11:27:01 +0000 (+0200) Subject: perlasm/x86_64-xlate.pl: make latest ml64 work. X-Git-Tag: OpenSSL_1_1_0-pre6~1115 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d405aa2ff265965c71ce7331cf0e49d634a06924;p=openssl perlasm/x86_64-xlate.pl: make latest ml64 work. Reviewed-by: Richard Levitte --- diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl index 80ab17fc25..6682132c4b 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);