summaryrefslogtreecommitdiffstats
path: root/crypto/perlasm/x86nasm.pl
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2011-06-28 13:33:47 +0000
committerAndy Polyakov <appro@openssl.org>2011-06-28 13:33:47 +0000
commit4a46dc6e5c9c1a1b4b9bf0150d08c101eaf3b43e (patch)
treed623df4dce65bbf94f44435b6a4b227961eebb5d /crypto/perlasm/x86nasm.pl
parent0ec55604c0aa0574fbb04bef9e9617d9ea980568 (diff)
x86[_64] perlasm: pull-in from HEAD.
Diffstat (limited to 'crypto/perlasm/x86nasm.pl')
-rw-r--r--crypto/perlasm/x86nasm.pl6
1 files changed, 5 insertions, 1 deletions
diff --git a/crypto/perlasm/x86nasm.pl b/crypto/perlasm/x86nasm.pl
index 1a384582bf..23a84ba563 100644
--- a/crypto/perlasm/x86nasm.pl
+++ b/crypto/perlasm/x86nasm.pl
@@ -19,6 +19,8 @@ sub ::generic
{ $_[0] = "NEAR $_[0]"; }
elsif ($opcode eq "lea" && $#_==1) # wipe storage qualifier from lea
{ $_[1] =~ s/^[^\[]*\[/\[/o; }
+ elsif ($opcode eq "clflush" && $#_==0)
+ { $_[0] =~ s/^[^\[]*\[/\[/o; }
}
&::emit($opcode,@_);
1;
@@ -67,6 +69,7 @@ sub get_mem
}
sub ::BP { &get_mem("BYTE",@_); }
sub ::DWP { &get_mem("DWORD",@_); }
+sub ::WP { &get_mem("WORD",@_); }
sub ::QWP { &get_mem("",@_); }
sub ::BC { (($::mwerks)?"":"BYTE ")."@_"; }
sub ::DWC { (($::mwerks)?"":"DWORD ")."@_"; }
@@ -135,7 +138,8 @@ sub ::public_label
sub ::data_byte
{ push(@out,(($::mwerks)?".byte\t":"db\t").join(',',@_)."\n"); }
-
+sub ::data_short
+{ push(@out,(($::mwerks)?".word\t":"dw\t").join(',',@_)."\n"); }
sub ::data_word
{ push(@out,(($::mwerks)?".long\t":"dd\t").join(',',@_)."\n"); }