aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/MemoryObject.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2011-11-23 13:54:17 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2011-11-23 13:54:17 +0000
commitebcb4518746e8e6303c8bed916fee4a09156701d (patch)
tree4b0a426995673c5cd46d41f5b74545e5daba5470 /llvm/lib/Support/MemoryObject.cpp
parentc445be4b4b7a9edb3def21ef7077cd8380bc4592 (diff)
downloadllvm-ebcb4518746e8e6303c8bed916fee4a09156701d.zip
llvm-ebcb4518746e8e6303c8bed916fee4a09156701d.tar.gz
llvm-ebcb4518746e8e6303c8bed916fee4a09156701d.tar.bz2
X86: Use btq for bit tests if the immediate can't be encoded in 32 bits.
Before: movabsq $4294967296, %rax ## encoding: [0x48,0xb8,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00] testq %rax, %rdi ## encoding: [0x48,0x85,0xf8] jne LBB0_2 ## encoding: [0x75,A] After: btq $32, %rdi ## encoding: [0x48,0x0f,0xba,0xe7,0x20] jb LBB0_2 ## encoding: [0x72,A] btq is usually slower than testq because it doesn't fuse with the jump, but here we're better off saving one register and a giant movabsq. llvm-svn: 145103
Diffstat (limited to 'llvm/lib/Support/MemoryObject.cpp')
0 files changed, 0 insertions, 0 deletions