x86_64-xlate.pl: Windows fixes.
This commit is contained in:
parent
42386fdb62
commit
a9d14832fd
@ -271,13 +271,14 @@ my %globals;
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
%szmap = ( b=>"BYTE$PTR", w=>"WORD$PTR", l=>"DWORD$PTR",
|
%szmap = ( b=>"BYTE$PTR", w=>"WORD$PTR", l=>"DWORD$PTR",
|
||||||
q=>"QWORD$PTR",o=>"OWORD$PTR",x=>"XMMWORD$PTR" );
|
q=>"QWORD$PTR",o=>"OWORD$PTR",x=>"XMMWORD$PTR",
|
||||||
|
y=>"" );
|
||||||
|
|
||||||
$self->{label} =~ s/\./\$/g;
|
$self->{label} =~ s/\./\$/g;
|
||||||
$self->{label} =~ s/(?<![\w\$\.])0x([0-9a-f]+)/0$1h/ig;
|
$self->{label} =~ s/(?<![\w\$\.])0x([0-9a-f]+)/0$1h/ig;
|
||||||
$self->{label} = "($self->{label})" if ($self->{label} =~ /[\*\+\-\/]/);
|
$self->{label} = "($self->{label})" if ($self->{label} =~ /[\*\+\-\/]/);
|
||||||
$sz="q" if ($self->{asterisk} || opcode->mnemonic() eq "movq");
|
$sz="q" if ($self->{asterisk} || opcode->mnemonic() =~ /^v?movq$/);
|
||||||
$sz="l" if (opcode->mnemonic() eq "movd");
|
$sz="l" if (opcode->mnemonic() =~ /^v?movd$/);
|
||||||
|
|
||||||
if (defined($self->{index})) {
|
if (defined($self->{index})) {
|
||||||
sprintf "%s[%s%s*%d%s]",$szmap{$sz},
|
sprintf "%s[%s%s*%d%s]",$szmap{$sz},
|
||||||
@ -881,6 +882,7 @@ while($line=<>) {
|
|||||||
my $arg = $_->out();
|
my $arg = $_->out();
|
||||||
# $insn.=$sz compensates for movq, pinsrw, ...
|
# $insn.=$sz compensates for movq, pinsrw, ...
|
||||||
if ($arg =~ /^xmm[0-9]+$/) { $insn.=$sz; $sz="x" if(!$sz); last; }
|
if ($arg =~ /^xmm[0-9]+$/) { $insn.=$sz; $sz="x" if(!$sz); last; }
|
||||||
|
if ($arg =~ /^ymm[0-9]+$/) { $insn.=$sz; $sz="y" if(!$sz); last; }
|
||||||
if ($arg =~ /^mm[0-9]+$/) { $insn.=$sz; $sz="q" if(!$sz); last; }
|
if ($arg =~ /^mm[0-9]+$/) { $insn.=$sz; $sz="q" if(!$sz); last; }
|
||||||
}
|
}
|
||||||
@args = reverse(@args);
|
@args = reverse(@args);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user