diff options
author | Andy Polyakov <appro@openssl.org> | 2016-04-18 13:27:01 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2016-04-20 09:51:33 +0200 |
commit | d405aa2ff265965c71ce7331cf0e49d634a06924 (patch) | |
tree | 413e51123bd732592da979504d3e1187dc5123b3 /crypto/perlasm | |
parent | 6ca3e6e779635ac54d51efb3483b7616abfdf477 (diff) | |
download | openssl-d405aa2ff265965c71ce7331cf0e49d634a06924.tar.gz |
perlasm/x86_64-xlate.pl: make latest ml64 work.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'crypto/perlasm')
-rwxr-xr-x | crypto/perlasm/x86_64-xlate.pl | 7 |
1 files changed, 5 insertions, 2 deletions
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); |