diff options
author | Jim Grosbach <grosbach@apple.com> | 2013-11-22 19:57:47 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2013-11-22 19:57:47 +0000 |
commit | e1af5f6ad178e76429b58759042f061247d90435 (patch) | |
tree | 1d793a0ec2a79a8a05dc9d445d48bdf998050808 /test/CodeGen/X86/ctpop-combine.ll | |
parent | 22bc1320b5e8e9ac8007686e73f0c55493254188 (diff) | |
download | llvm-e1af5f6ad178e76429b58759042f061247d90435.tar.gz llvm-e1af5f6ad178e76429b58759042f061247d90435.tar.bz2 llvm-e1af5f6ad178e76429b58759042f061247d90435.tar.xz |
X86: Perform integer comparisons at i32 or larger.
Utilizing the 8 and 16 bit comparison instructions, even when an input can
be folded into the comparison instruction itself, is typically not worth it.
There are too many partial register stalls as a result, leading to significant
slowdowns. By always performing comparisons on at least 32-bit
registers, performance of the calculation chain leading to the
comparison improves. Continue to use the smaller comparisons when
minimizing size, as that allows better folding of loads into the
comparison instructions.
rdar://15386341
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195496 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/ctpop-combine.ll')
-rw-r--r-- | test/CodeGen/X86/ctpop-combine.ll | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/CodeGen/X86/ctpop-combine.ll b/test/CodeGen/X86/ctpop-combine.ll index 786f7f9b1c..463505bd95 100644 --- a/test/CodeGen/X86/ctpop-combine.ll +++ b/test/CodeGen/X86/ctpop-combine.ll @@ -35,6 +35,6 @@ define i32 @test3(i64 %x) nounwind readnone { %conv = zext i1 %cmp to i32 ret i32 %conv ; CHECK-LABEL: test3: -; CHECK: cmpb $2 +; CHECK: cmpl $2 ; CHECK: ret } |