Expand i8 selects into control flow instead of 16-bit conditional
authorDan Gohman <gohman@apple.com>
Thu, 27 Aug 2009 00:14:12 +0000 (00:14 +0000)
committerDan Gohman <gohman@apple.com>
Thu, 27 Aug 2009 00:14:12 +0000 (00:14 +0000)
commitcbbea0ffc7b40f0d1dc5b692f80aa246bdd37a17
tree7dde8d4644ce6b28a36f0d7c0a86e05ecf7a0af2
parentc42afd7946893f90aa701272316c22ae5143db89
Expand i8 selects into control flow instead of 16-bit conditional
moves. This avoids the need to promote the operands (or implicitly
extend them, a partial register update condition), and can reduce
i8 register pressure. This substantially speeds up code such as
write_hex in lib/Support/raw_ostream.cpp.

subclass-coalesce.ll is too trivial and no longer tests what it was
originally intended to test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80184 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86InstrInfo.td
test/CodeGen/X86/select-i8.ll [new file with mode: 0644]
test/CodeGen/X86/subclass-coalesce.ll [deleted file]