Giter Site home page Giter Site logo

popt's Introduction

Popt

Source code for the 680x0 Peephole OPTimizer (http://aminet.net/package/dev/asm/popt)

Short:        A powerfull assembly source optimizer - v1.0b
Author:       [email protected]      (Samuel DEVULDER)
Uploader:     devulder info unicaen fr      (Samuel DEVULDER)
Date:         1996-03-08
Type:         dev/asm
Architecture: m68k-amigaos

                                   Popt
                                   ----
Architecture: m68k-amigaos

        Popt is an  optimizer  of  assembly  sourcefile.  It  does  various
    standard peephole optimizations by pattern-matching. It ranges  from  1
    intruction lookahead to 3 and many more ! It makes more job than  usual
    bluid-in assembler optimizer and uses data-flow analysis to find  which
    register are used or not. With those  informations  it  is  capable  of
    deleting intructions that are of no use and re-assigning  registers  to
    produce a code of better quality/looking. It is specialy  powerfull  on
    code produced by C-compilers (even those that optimize their code !).

	See popt.doc for further explanations.

	If you're a fan of benchmarks,  here is what Popt is  able to do to
    the  well-known   "DHRYSTONE" Benchmark Program   (Reinhold P. Weicker,  
    CACM Vol 27,  No 10, 10/84  pg. 1013) compiled with the  non-registered 
    dcc version of DICE, by Matt DILLON:

    +=====================================================================+
    |                      GVP A530 (68EC030@40Mhz)                       |
    +=====================================================================+
    |                                   | Dhrystones/sec | speed increase |
    +-----------------------------------+----------------+----------------+
    | no opt.             (dhr.a)       |      6846      |      ---       |
    | opt. for 68000      (dhr000.a)    |      7899      |     +15.4%     |
    | opt. for 68020/30   (dhr020.a)    |      8015      |     +17.1%     |
    | opt. for 68020/30   (dhr020i.a) * |      8062      |     +17.8%     |
    | opt. for 68040      (dhr040.a)    |      7830      |     +14.4%     |
    | opt. for 68040      (dhr040i.a) * |      7837      |     +14.5%     |
    +=====================================================================+
    |                      Stock A500 (68000@7Mhz)                        |
    +=====================================================================+
    |                                   | Dhrystones/sec | speed increase |
    +-----------------------------------+----------------+----------------+
    | no opt.             (dhr.a)       |      775       |      ---       |
    | opt. for 68000      (dhr000.a)    |      912       |     +17.7%     |
    | opt. for 68020/30   (dhr020.a)    |      912       |     +17.7%     |
    | opt. for 68040      (dhr040.a)    |      883       |     +13.9%     |
    +-----------------------------------+----------------+----------------+
 
	You can find the source code of those programs  (dhr.a, dh0?0.a) to
    have a look to the quality of the optimisation. The source is dhr.a and
    the destinations are dhr0?0.a.

	This version is a beta version. Little testing has been done. It is
    rather experimantal.  Use it at your own risks.  Please  feel  free  to 
    report any bugs or comments to me.

        Happy optimizations !
 
                Sam.

_________________
* The star indicates that the code uses special 68020+ instructions or
  addressing modes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.