Home | History | Annotate | Download | only in asm686
      1 This is a patched version of zlib, modified to use
      2 Pentium-Pro-optimized assembly code in the deflation algorithm. The
      3 files changed/added by this patch are:
      4 
      5 README.686
      6 match.S
      7 
      8 The speedup that this patch provides varies, depending on whether the
      9 compiler used to build the original version of zlib falls afoul of the
     10 PPro's speed traps. My own tests show a speedup of around 10-20% at
     11 the default compression level, and 20-30% using -9, against a version
     12 compiled using gcc 2.7.2.3. Your mileage may vary.
     13 
     14 Note that this code has been tailored for the PPro/PII in particular,
     15 and will not perform particuarly well on a Pentium.
     16 
     17 If you are using an assembler other than GNU as, you will have to
     18 translate match.S to use your assembler's syntax. (Have fun.)
     19 
     20 Brian Raiter
     21 breadbox (a] muppetlabs.com
     22 April, 1998
     23 
     24 
     25 Added for zlib 1.1.3:
     26 
     27 The patches come from
     28 http://www.muppetlabs.com/~breadbox/software/assembly.html
     29 
     30 To compile zlib with this asm file, copy match.S to the zlib directory
     31 then do:
     32 
     33 CFLAGS="-O3 -DASMV" ./configure
     34 make OBJA=match.o
     35 
     36 
     37 Update:
     38 
     39 I've been ignoring these assembly routines for years, believing that
     40 gcc's generated code had caught up with it sometime around gcc 2.95
     41 and the major rearchitecting of the Pentium 4. However, I recently
     42 learned that, despite what I believed, this code still has some life
     43 in it. On the Pentium 4 and AMD64 chips, it continues to run about 8%
     44 faster than the code produced by gcc 4.1.
     45 
     46 In acknowledgement of its continuing usefulness, I've altered the
     47 license to match that of the rest of zlib. Share and Enjoy!
     48 
     49 Brian Raiter
     50 breadbox (a] muppetlabs.com
     51 April, 2007
     52