• Home
  • Most Popular
  • Submit
  • About Us
  • Contact Us

Softpile

Free Downloads

Categories
  • Home
  • Most Popular
  • Communications
  • Desktop
  • Games & Entertainment
  • Graphic Apps
  • Network & Internet
  • Security & Privacy
  • System Utilities
Alternative to itextsharp 2022.11.10347
IronPDF offers an itextsharp alternative for HTML to PDF conversion with C# code examples, documentation, and ...
VShell Server for Linux and Mac 4.8
VShell is a versatile and secure file transfer server that supports multiple protocols and is compatible ...
PDF Studio PDF Editor for Linux 2022
PDF Studio is a cost-effective PDF editor that delivers full compatibility with the PDF Standard. It's ...
VQ Probe for Linux 1.5
VQ Probe is a comprehensive software tool that enables objective and subjective video quality analysis. The ...
Resilient Server 2.3
This Debian GNU/Linux (Buster) based software has a customized partitioning scheme that enhances robustness against filesystem ...
Valentina Studio for Linux 9.6
Valentina Studio is a cross-platform GUI manager for Mac, Windows, and Linux. It allows users to ...
VPN Lifeguard for Linux 1.0.58
The software monitors VPN connection and automatically terminates apps during connection loss, re-establishes the connection and ...
G_Viewer 0.84
G_Viewer is a Linux software that serves as both a file system and photo/image viewer. It ...
Checksome File Hash Tool for Linux 1.1
This software allows for the generation and verification of file hashes. It is a quick and ...
KeyWrangler Password Manager for Linux 1.2
A password management software that is secure, offline and extensible. It offers military-grade encryption to protect ...
Home Linux GNU Superoptimizer Download

GNU Superoptimizer

February 28, 2007
GNU Superoptimizer finds the shortest instruction sequence for a specific function. This project applies an innovative approach to solve the problem of optimizing code.
Version 2.5
License GPL
Platform Linux
Supported Languages English
Homepage ftp.gnu.org
Developed by Torbjorn Granlund
GNU Superoptimizer is a software project that provides a function sequence generator. The tool uses a systematic generate-and-test approach to find the shortest instruction sequence for a given function. In order to generate an instruction sequence, you must first specify the function and CPU you would like the code for. You will also need to specify how many instructions are acceptable for the sequence. It should be noted that the software has limitations with regard to the length of the instruction sequence it can generate, as longer sequences require more computational power and time.

The algorithm used by the software has a time complexity of approximately 2n O(m n), where m represents the number of available instructions on the architecture and n is the shortest sequence for the end function. In most cases, the practical sequence length limit is around 5. However, for a rich instruction set like HPPA, the limit is only 4. The longest sequence ever generated by this software was for the MC68020 architecture, and it was 7 instructions long. It is important to note that generating this sequence took several weeks to complete.

Although the superoptimizer is designed to find the shortest instruction sequence for a given function, it cannot guarantee that it will always find the optimal solution. For example, the software doesn't include immediate constants other than -1, 0, +1, and the smallest negative and biggest positive numbers in sequences. Additionally, not all instructions are included, and some instructions are not correctly simulated. If you encounter any issues with the software or find incorrect sequences, please report them to the address below.

It is also essential to be aware of the potential for incorrect code sequences to be generated, although such occurrences are rare. It is imperative to verify that any generated sequence is correct before using it. Generally speaking, the superoptimizer can be relied upon to find optimal and correct sequences for functions that are dependent on registers only.

In the latest release of GNU Superoptimizer, some minor changes have been made. Unused variable tot_bits has been deleted, state1 now has a char type, and random() is now used on alpha. The update also improves the probability of small numbers being returned.
What's New

Version 2.5: N/A

Free Download 78K
306
  • Share on:

Most Popular

  1. Quicksilver Forums 1.4.2
    154
  2. Dvgrab 3.4
    102
  3. DynVPN 1.0
    89
  4. CherryTV 0.1
    81
  5. SlideMap 1.2.2
    80
  6. porm r2
    73
  7. Clewarecontrol 0.8
    72
  8. Java Games 1.0
    72
  9. Swiftfox 3.0b5pre-2
    71
  10. fuseftp 0.8
    71

Related Downloads

Su-per-Doku
Su-per-Doku is a sudoku puzzle game widget designed for SuperKaramba desktop software.
snow-light
"GNOME Aqua Theme" is a software that provides a visually appealing Aqua-like ...
CHARGE
CHARGE is a thrilling arcade game available on both Linux and Windows. ...
Gummworld
The software is an 8-way scrolling game engine.
JumpBox for MoinMoin
JumpBox offers a virtual appliance for MoinMoin Wiki software, providing an easy-to-use ...
Signature Switch
Signature Switch is an add-on for Thunderbird that allows the user to ...
Darwin2K
Darwin2K: Free open-source toolkit for robot simulation and automated design.
LogFS
LogFS is a Linux-based file system that operates on a log-structured logging ...
Xflop
Xflop is a handy software tool for managing floppy disks. It features ...
Exception::Warning
This software enables users to convert basic warnings into more detailed and ...
Copyright © 1999-2025 Softpile Free Downloads
  • Most Popular
  • Submit
  • About Us
  • Contact Us
  • Privacy Policy
  • Disclaimer
  • Terms of Use

Can we use your data to tailor ads for you?

Our partners will collect data and use cookies for ad personalization and measurement.

By choosing "I agree", closing this pop-up or clicking on any element on the page, you agree to the use of cookies to help us provide you with a better user experience.

Learn how Softpile and our partners collect and use data.

You can change your choice at any time in our privacy center.

Cookie Settings

Our website stores four types of cookies. At any time you can choose which cookies you accept and which you refuse. You can read more about what cookies are and what types of cookies we store in our Cookie Policy.

are necessary for technical reasons. Without them, this website may not function properly.

are necessary for specific functionality on the website. Without them, some features may be disabled.

allow us to analyse website use and to improve the visitor's experience.

allow us to personalise your experience and to send you relevant content and offers, on this website and other websites.