foreach my $result (@results)
{
- if ($result->{type} =~ /^(m(8|16|32|64|128)|st|eflags|fpu[cs]w)$/)
+ if ($result->{type} eq "xmm")
+ {
+ $result->{argnuml} = $argnum++;
+ $result->{argnumh} = $argnum++;
+ }
+ else
{
$result->{argnum} = $argnum++;
}
{
if (defined($arg->{name}))
{
- $arg->{argnum} = $argnum++;
- }
- }
-
- foreach my $result (@results)
- {
- if ($result->{type} =~ /^(r(8|16|32|64)|mm|xmm)$/)
- {
- $result->{argnum} = $argnum++;
+ if ($arg->{type} eq "xmm")
+ {
+ $arg->{argnuml} = $argnum++;
+ $arg->{argnumh} = $argnum++;
+ }
+ else
+ {
+ $arg->{argnum} = $argnum++;
+ }
}
}
}
elsif ($arg->{type} eq "xmm")
{
- print qq| \"movlps 0+%$arg->{argnum}, %%$arg->{register}\\n\"\n|;
- print qq| \"movhps 8+%$arg->{argnum}, %%$arg->{register}\\n\"\n|;
+ print qq| \"movlps %$arg->{argnuml}, %%$arg->{register}\\n\"\n|;
+ print qq| \"movhps %$arg->{argnumh}, %%$arg->{register}\\n\"\n|;
}
elsif ($arg->{type} eq "st")
{
}
elsif ($result->{type} eq "xmm")
{
- print qq| \"movlps %%$result->{register}, 0+%$result->{argnum}\\n\"\n|;
- print qq| \"movhps %%$result->{register}, 8+%$result->{argnum}\\n\"\n|;
+ print qq| \"movlps %%$result->{register}, %$result->{argnuml}\\n\"\n|;
+ print qq| \"movhps %%$result->{register}, %$result->{argnumh}\\n\"\n|;
}
elsif ($result->{type} eq "st")
{
foreach my $result (@results)
{
- if ($result->{type} =~ /^(m(8|16|32|64|128)|st|eflags|fpu[cs]w)$/)
+ if ($result->{type} eq "xmm")
+ {
+ print qq|$prefix\"=m\" \($result->{name}.uq[0]\), \"=m\" \($result->{name}.uq[1]\)|;
+ }
+ else
{
print qq|$prefix\"=m\" \($result->{name}\)|;
- $prefix = ", ";
}
+
+ $prefix = ", ";
}
print qq|\n|;
{
if (defined($arg->{name}))
{
- print qq|$prefix\"m\" \($arg->{name}\)|;
- $prefix = ", ";
- }
- }
-
- foreach my $result (@results)
- {
- if ($result->{type} =~ /^(r(8|16|32|64)|mm|xmm)$/)
- {
- print qq|$prefix\"m\" \($result->{name}\)|;
+ if ($arg->{type} eq "xmm")
+ {
+ print qq|$prefix\"m\" \($arg->{name}.uq[0]\), \"m\" \($arg->{name}.uq[1]\)|;
+ }
+ else
+ {
+ print qq|$prefix\"m\" \($arg->{name}\)|;
+ }
+
$prefix = ", ";
}
}