diff options
author | Andy Polyakov <appro@openssl.org> | 2008-12-17 19:56:48 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2008-12-17 19:56:48 +0000 |
commit | 4db4882402a79345a075c62a87f2fb7cfe89e283 (patch) | |
tree | b7291b024493da79cb67ec88f7041cf57a54c683 /crypto/perlasm/x86asm.pl | |
parent | 6786f52ada04daba9733aef6a7050809bf6ce4d2 (diff) |
perlasm/x86* update: support for 3 and 4 argument instructions.
Diffstat (limited to 'crypto/perlasm/x86asm.pl')
-rw-r--r-- | crypto/perlasm/x86asm.pl | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/crypto/perlasm/x86asm.pl b/crypto/perlasm/x86asm.pl index 3ec97221a9..28080caaa6 100644 --- a/crypto/perlasm/x86asm.pl +++ b/crypto/perlasm/x86asm.pl @@ -17,7 +17,7 @@ $i386=0; sub ::AUTOLOAD { my $opcode = $AUTOLOAD; - die "more than 2 arguments passed to $opcode" if ($#_>1); + die "more than 4 arguments passed to $opcode" if ($#_>3); $opcode =~ s/.*:://; if ($opcode =~ /^push/) { $stack+=4; } @@ -66,8 +66,8 @@ sub ::rotr { &ror(@_); } sub ::exch { &xchg(@_); } sub ::halt { &hlt; } sub ::movz { &movzx(@_); } -sub ::pushf { &::pushfd; } -sub ::popf { &::popfd; } +sub ::pushf { &pushfd; } +sub ::popf { &popfd; } # 3 argument instructions sub ::movq @@ -79,9 +79,6 @@ sub ::movq else { &::generic("movq",@_); } } -sub ::pshufw { &::emit("pshufw",@_); } -sub ::shld { &::emit("shld",@_); } -sub ::shrd { &::emit("shrd",@_); } # label management $lbdecor="L"; # local label decoration, set by package |