OSDN Git Service

Favors generating "not" over "xor -1". For example.
authorEvan Cheng <evan.cheng@apple.com>
Wed, 21 Jan 2009 02:09:05 +0000 (02:09 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 21 Jan 2009 02:09:05 +0000 (02:09 +0000)
commitaaf414c92c0247025d6cf31f684895fad7b4c293
treed3407027ef95dfdb0c5c2f85de2c6c59d49d77d9
parent677eae3d964d6d9f2d676828aa2dc27542fbef2b
Favors generating "not" over "xor -1". For example.
unsigned test(unsigned a) {
  return ~a;
}
llvm used to generate:
movl    $4294967295, %eax
xorl    4(%esp), %eax

Now it generates:
movl      4(%esp), %eax
notl      %eax

It's 3 bytes shorter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62661 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86InstrInfo.td
test/CodeGen/X86/xor_not.ll