Minor x86_64 perlasm update.
authorAndy Polyakov <appro@openssl.org>
Mon, 27 Jun 2011 09:45:10 +0000 (09:45 +0000)
committerAndy Polyakov <appro@openssl.org>
Mon, 27 Jun 2011 09:45:10 +0000 (09:45 +0000)
crypto/aes/asm/aesni-x86_64.pl
crypto/perlasm/x86_64-xlate.pl

index 4ab89beb476068501fc0e0e2ec0e26e52af878be..ae0ad7f8090a8ed8d03550fed4f9bc30a08f8dec 100644 (file)
@@ -3018,15 +3018,13 @@ ___
 }
 
 sub rex {
- local *opcode=shift;
- my ($dst,$src)=@_;
-
-   if ($dst>=8 || $src>=8) {
-       $rex=0x40;
-       $rex|=0x04 if($dst>=8);
-       $rex|=0x01 if($src>=8);
-       push @opcode,$rex;
-   }
+  local *opcode=shift;
+  my ($dst,$src)=@_;
+  my $rex=0;
+
+    $rex|=0x04                 if($dst>=8);
+    $rex|=0x01                 if($src>=8);
+    push @opcode,$rex|0x40     if($rex);
 }
 
 sub aesni {
index a6b718b5e883ba9488c8450f0d398e7336490dad..dd600be7b8ccf5646e411d4d41df160b8270e9f8 100755 (executable)
@@ -123,6 +123,8 @@ my %globals;
                $self->{sz} = "";
            } elsif ($self->{op} =~ /^p/ && $' !~ /^(ush|op|insrw)/) { # SSEn
                $self->{sz} = "";
+           } elsif ($self->{op} =~ /^v/) { # VEX
+               $self->{sz} = "";
            } elsif ($self->{op} =~ /movq/ && $line =~ /%xmm/) {
                $self->{sz} = "";
            } elsif ($self->{op} =~ /([a-z]{3,})([qlwb])$/) {