~15% better AES x86_64 assembler.

This commit is contained in:
Andy Polyakov
2005-07-18 09:15:04 +00:00
parent f42e6d24f2
commit afbe674edb
2 changed files with 526 additions and 180 deletions

View File

@@ -167,10 +167,12 @@ my $current_function;
my $self = shift;
my $sz = shift;
# silently convert all EAs to 64-bit, required for elder GNU
# assembler and results in more compact code
$self->{index} =~ s/^[er](.?[0-9xp])[d]?$/r\1/;
$self->{base} =~ s/^[er](.?[0-9xp])[d]?$/r\1/;
# Silently convert all EAs to 64-bit. This is required for
# elder GNU assembler and results in more compact code,
# *but* most importantly AES module depends on this feature!
$self->{index} =~ s/^[er](.?[0-9xpi])[d]?$/r\1/;
$self->{base} =~ s/^[er](.?[0-9xpi])[d]?$/r\1/;
if (!$masm) {
# Solaris /usr/ccs/bin/as can't handle multiplications
# in $self->{label}