Minor perlasm updates.

This commit is contained in:
Andy Polyakov 2008-11-03 08:46:07 +00:00
parent f2c0230518
commit 8fe8bae15a
2 changed files with 9 additions and 5 deletions

View File

@ -68,7 +68,7 @@ my $output = shift;
if ($stddev!=$outdev || $stdino!=$outino); if ($stddev!=$outdev || $stdino!=$outino);
} }
my $win64=1 if ($output =~ /\.asm/); my $win64=1 if ($output =~ /\.asm$/);
my $masmref=8 + 50727*2**-32; # 8.00.50727 shipped with VS2005 my $masmref=8 + 50727*2**-32; # 8.00.50727 shipped with VS2005
my $masm=0; my $masm=0;
@ -462,8 +462,12 @@ my %globals;
last; last;
}; };
/\.size/ && do { if (defined($current_function)) { /\.size/ && do { if (defined($current_function)) {
undef $self->{value};
if ($current_function->{abi} eq "svr4") {
$self->{value}="\$L\$SEH_end_$current_function->{name}:"; $self->{value}="\$L\$SEH_end_$current_function->{name}:";
$self->{value}.=":\n$current_function->{name}\tENDP" if($masm); $self->{value}.=":\n" if($masm);
}
$self->{value}.="$current_function->{name}\tENDP" if($masm);
undef $current_function; undef $current_function;
} }
last; last;

View File

@ -77,11 +77,11 @@ sub ::jmp_ptr { &::generic("jmp","*$_[0]"); }
}; };
*::shld = sub *::shld = sub
{ my($dst,$src,$bits)=@_; { my($dst,$src,$bits)=@_;
&::emit("shldl",$bit eq "cl"?"%cl":"\$$bits","%$src","%$dst"); &::emit("shldl",$bits eq "cl"?"%cl":"\$$bits","%$src","%$dst");
}; };
*::shrd = sub *::shrd = sub
{ my($dst,$src,$bits)=@_; { my($dst,$src,$bits)=@_;
&::emit("shrdl",$bit eq "cl"?"%cl":"\$$bits","%$src","%$dst"); &::emit("shrdl",$bits eq "cl"?"%cl":"\$$bits","%$src","%$dst");
}; };
sub ::DWP sub ::DWP