~ubuntu-branches/ubuntu/maverick/openssl/maverick

« back to all changes in this revision

Viewing changes to crypto/perlasm/x86unix.pl

  • Committer: Bazaar Package Importer
  • Author(s): Kurt Roeckx
  • Date: 2006-05-15 16:00:58 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20060515160058-pn9osix02x46r0iy
Tags: 0.9.8b-2
* Don't call gcc with -mcpu on i386, we already use -march, so no need for
  -mtune either.
* Always make all directories when building something:
  - The engines directory didn't get build for the static directory, so
    where missing in libcrypo.a
  - The apps directory didn't always get build, so we didn't have an openssl
    and a small part of the regression tests failed.
* Make the package fail to build if the regression tests fail.

Show diffs side-by-side

added added

removed removed

Lines of Context:
200
200
                        { if ($label{$i} eq $_[0]) { $pre=''; last; } }
201
201
                        &out1("call",$pre.$_[0]);
202
202
                }
 
203
sub main'call_ptr { &out1p("call",@_); }
203
204
sub main'ret    { &out0("ret"); }
204
205
sub main'nop    { &out0("nop"); }
205
206
sub main'test   { &out2("testl",@_); }
215
216
# SSE2
216
217
sub main'emms   { &out0("emms"); }
217
218
sub main'movd   { &out2("movd",@_); }
218
 
sub main'movq   { &out2("movq",@_); }
219
219
sub main'movdqu { &out2("movdqu",@_); }
220
220
sub main'movdqa { &out2("movdqa",@_); }
221
221
sub main'movdq2q{ &out2("movdq2q",@_); }
227
227
sub main'pxor   { &out2("pxor",@_); }
228
228
sub main'por    { &out2("por",@_); }
229
229
sub main'pand   { &out2("pand",@_); }
 
230
sub main'movq   {
 
231
        local($p1,$p2,$optimize)=@_;
 
232
        if ($optimize && $p1=~/^mm[0-7]$/ && $p2=~/^mm[0-7]$/)
 
233
                # movq between mmx registers can sink Intel CPUs
 
234
                {       push(@out,"\tpshufw\t\$0xe4,%$p2,%$p1\n");      }
 
235
        else    {       &out2("movq",@_);                               }
 
236
        }
230
237
 
231
238
# The bswapl instruction is new for the 486. Emulate if i386.
232
239
sub main'bswap
588
595
                }
589
596
        }
590
597
 
 
598
sub main'data_byte
 
599
        {
 
600
        push(@out,"\t.byte\t".join(',',@_)."\n");
 
601
        }
 
602
 
591
603
sub main'data_word
592
604
        {
593
605
        push(@out,"\t.long\t".join(',',@_)."\n");