Code size micro-optimizations in the X86 backend
authorReid Barton <rwbarton@gmail.com>
Tue, 7 Oct 2014 13:24:15 +0000 (09:24 -0400)
committerReid Barton <rwbarton@gmail.com>
Tue, 7 Oct 2014 18:58:30 +0000 (14:58 -0400)
commitbdb0c43c7991da3856e3a89db57c9ea78d61f55f
tree4848edf3efe2e5fe97f7dda9988fc788c9c62740
parentd45693a5384460d22a6437b9cda463b4ec4b6a37
Code size micro-optimizations in the X86 backend

Summary:
Carter Schonwald suggested looking for opportunities to replace
instructions in GHC's output by equivalent ones that are shorter,
as recommended by the Intel optimization manuals.

This patch reduces the module sizes as reported by nofib
by about 1.5% on x86_64.

Test Plan:
Built an i386 cross-compiler and ran the test suite; the same
(rather large) set of tests failed before and after this commit.
Will let Harbormaster validate on x86_64.

Reviewers: austin

Subscribers: thomie, carter, ezyang, simonmar

Differential Revision: https://phabricator.haskell.org/D320
compiler/nativeGen/X86/Ppr.hs