Tolerate a SEQUENCE in DN components.
[oweals/openssl.git] / crypto / perlasm / x86unix.pl
index 38c7a6df4260637f03452dd3297cecf2dd43f296..e71050b6bcb512b4f16bdc11b4fd617fd5f32028 100644 (file)
@@ -200,6 +200,7 @@ sub main'call       {       my $pre=$under;
                        { if ($label{$i} eq $_[0]) { $pre=''; last; } }
                        &out1("call",$pre.$_[0]);
                }
+sub main'call_ptr { &out1p("call",@_); }
 sub main'ret   { &out0("ret"); }
 sub main'nop   { &out0("nop"); }
 sub main'test  { &out2("testl",@_); }
@@ -227,9 +228,9 @@ sub main'pxor       { &out2("pxor",@_); }
 sub main'por   { &out2("por",@_); }
 sub main'pand  { &out2("pand",@_); }
 sub main'movq  {
-       local($p1,$p2)=@_;
-       if ($p1=~/^mm[0-7]$/ && $p2=~/^mm[0-7]$/)
-               # movq between mmx registers sinks Intel CPUs
+       local($p1,$p2,$optimize)=@_;
+       if ($optimize && $p1=~/^mm[0-7]$/ && $p2=~/^mm[0-7]$/)
+               # movq between mmx registers can sink Intel CPUs
                {       push(@out,"\tpshufw\t\$0xe4,%$p2,%$p1\n");      }
        else    {       &out2("movq",@_);                               }
        }
@@ -594,6 +595,11 @@ ___
                }
        }
 
+sub main'data_byte
+       {
+       push(@out,"\t.byte\t".join(',',@_)."\n");
+       }
+
 sub main'data_word
        {
        push(@out,"\t.long\t".join(',',@_)."\n");