home *** CD-ROM | disk | FTP | other *** search
Fred Fish's Product-Info | 1996-10-12 | 1.8 KB | 49 lines |
- .name
- superopt
- .fullname
- superoptimizer
- .type
- Programmer Tool
- .short
- Finds optimal asm instruction sequences.
- .description
- The superoptimizer is a function sequence generator that uses an
- exhaustive generate-and-test approach to finding the shortest
- instruction sequence for a given function. You have to tell the
- superoptimizer which function and which CPU you want to generate code
- for, and how many instructions you can accept.
-
- The superoptimizer can't generate very long sequences, unless you have
- a very fast computer or very much spare time. The time complexity of
- the used algorithm is approximately O(m n*2n) where m is the number of
- available instructions on the architecture and n is the shortest
- sequence for the goal function. The practical sequence length limit
- depends on the target architecture and goal function arity; In most
- cases it is about 5, but for a rich instruction set as the HPPA it is
- just 4. The longest sequence ever generated was for the MC68020 and 7
- instructions long. It took several weeks to generate it...
-
- The superoptimizer can't guarantee that it finds the best possible
- instruction sequences for all possible goal functions. For example,
- it doesn't even try to include immediate constants (other that -1, 0,
- +1, and the smallest negative and biggest positive numbers) in the
- sequences.
-
- Other reasons why not optimal sequences might be found is that not all
- instructions are included, not even in their register-only form.
- Also, some instructions included might not be correctly simulated. If
- you encounter any of these problems, please report them to the address
- below.
- .version
- 2.5
- .author
- Torbjorn Granlund
- .email
- tege@gnu.ai.mit.edu
- .distribution
- GNU Public License
- .described-by
- Fred Fish (fnf@amigalib.com)
- .submittal
- Downloaded from prep.ai.mit.edu:pub/gnu
-