Reapply [FastISel][X86] Emit more efficient instructions for integer constant materia...
authorJuergen Ributzka <juergen@apple.com>
Tue, 19 Aug 2014 19:44:06 +0000 (19:44 +0000)
committerJuergen Ributzka <juergen@apple.com>
Tue, 19 Aug 2014 19:44:06 +0000 (19:44 +0000)
commite8757c5dbbb50a0ac106f01360c462a3217ef62f
treef484cfc027f141594f4dcc0446acfdaae4e89d1c
parent78f686d37cc3b4e70bbfc2acdfcfec8443fd3250
Reapply [FastISel][X86] Emit more efficient instructions for integer constant materialization (r215593).

Note: This was originally reverted to track down a buildbot error. Reapply
without any modifications.

Original commit message:
This mostly affects the i64 value type, which always resulted in an 15byte
mobavsq instruction to materialize any constant. The custom code checks the
value of the immediate and tries to use a different and smaller mov
instruction when possible.

This fixes <rdar://problem/17420988>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216010 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86FastISel.cpp
test/CodeGen/X86/object-size.ll
test/CodeGen/X86/xaluo.ll