ACM Home Page
Please provide us with feedback. Feedback
Superoptimizer: a look at the smallest program
Full text PdfPdf (601 KB)
Source Architectural Support for Programming Languages and Operating Systems archive
Proceedings of the second international conference on Architectual support for programming languages and operating systems table of contents
Palo Alto, California, United States
Pages: 122 - 126  
Year of Publication: 1987
ISBN:0-8186-0805-6
Also published in ...
Author
Henry Massalin  Columbia Univ., New York, NY
Sponsor
SIGARCH: ACM Special Interest Group on Computer Architecture
Publisher
IEEE Computer Society Press  Los Alamitos, CA, USA
Bibliometrics
Downloads (6 Weeks): 19,   Downloads (12 Months): 243,   Citation Count: 33
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/36206.36194
What is a DOI?

ABSTRACT

Given an instruction set, the superoptimizer finds the shortest program to compute a function. Startling programs have been generated, many of them engaging in convoluted bit-fiddling bearing little resemblance to the source programs which defined the functions. The key idea in the superoptimizer is a probabilistic test that makes exhaustive searches practical for programs of useful size. The search space is defined by the processor's instruction set, which may include the whole set, but it is typically restricted to a subset. By constraining the instructions and observing the effect on the output program, one can gain insight into the design of instruction sets. In addition, superoptimized programs may be used by peephole optimizers to improve the quality of generated code, or by assembly language programmers to improve manually written code.



CITED BY  33