aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/StringMap.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2010-12-22 23:09:28 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2010-12-22 23:09:28 +0000
commit6020ed9d99cf3af0ff819d1e9d763931c0506e17 (patch)
tree8f1656ce9d23b976c6542dd21ed6c6469ab9c876 /llvm/lib/Support/StringMap.cpp
parentcdbe59484100e649e837561ca46141be73987b0b (diff)
downloadllvm-6020ed9d99cf3af0ff819d1e9d763931c0506e17.zip
llvm-6020ed9d99cf3af0ff819d1e9d763931c0506e17.tar.gz
llvm-6020ed9d99cf3af0ff819d1e9d763931c0506e17.tar.bz2
X86: Lower a select directly to a setcc_carry if possible.
int test(unsigned long a, unsigned long b) { return -(a < b); } compiles to _test: ## @test cmpq %rsi, %rdi ## encoding: [0x48,0x39,0xf7] sbbl %eax, %eax ## encoding: [0x19,0xc0] ret ## encoding: [0xc3] instead of _test: ## @test xorl %ecx, %ecx ## encoding: [0x31,0xc9] cmpq %rsi, %rdi ## encoding: [0x48,0x39,0xf7] movl $-1, %eax ## encoding: [0xb8,0xff,0xff,0xff,0xff] cmovael %ecx, %eax ## encoding: [0x0f,0x43,0xc1] ret ## encoding: [0xc3] llvm-svn: 122451
Diffstat (limited to 'llvm/lib/Support/StringMap.cpp')
0 files changed, 0 insertions, 0 deletions