diff options
author | Andy Polyakov <appro@openssl.org> | 2016-06-08 15:55:35 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2016-06-14 22:50:47 +0200 |
commit | 1eb12c437bbeb2c748291bcd23733d4a59d5d1ca (patch) | |
tree | 39b2396d4c90fbc5d72d2255859fabc2eca8430a /crypto/perlasm/x86_64-xlate.pl | |
parent | 6a4ea0022c475bbc2c7ad98a6f05f6e2e850575b (diff) |
perlasm/x86_64-xlate.pl: add commentary.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'crypto/perlasm/x86_64-xlate.pl')
-rwxr-xr-x | crypto/perlasm/x86_64-xlate.pl | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl index f050b23f00..391362d46e 100755 --- a/crypto/perlasm/x86_64-xlate.pl +++ b/crypto/perlasm/x86_64-xlate.pl @@ -692,7 +692,13 @@ sub rex { push @$opcode,($rex|0x40) if ($rex); } -# older gas and ml64 don't handle SSE>2 instructions +# Upon initial x86_64 introduction SSE>2 extensions were not introduced +# yet. In order not to be bothered by tracing exact assembler versions, +# but at the same time to provide a bare security minimum of AES-NI, we +# hard-code some instructions. Extensions past AES-NI on the other hand +# are traced by examining assembler version in individual perlasm +# modules... + my %regrm = ( "%eax"=>0, "%ecx"=>1, "%edx"=>2, "%ebx"=>3, "%esp"=>4, "%ebp"=>5, "%esi"=>6, "%edi"=>7 ); |