diff options
author | Craig Topper <craig.topper@sifive.com> | 2022-05-16 09:27:43 -0700 |
---|---|---|
committer | Craig Topper <craig.topper@sifive.com> | 2022-05-16 09:27:44 -0700 |
commit | 1c4880a2d39fbd95edced0dd97c34a9f53bf62ff (patch) | |
tree | 336664fb7135eca824b8ae4dcf1d393cec6c10d6 /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | e6fc8454bee5dc89be27fe1db826fb0bb30d74aa (diff) | |
download | llvm-1c4880a2d39fbd95edced0dd97c34a9f53bf62ff.zip llvm-1c4880a2d39fbd95edced0dd97c34a9f53bf62ff.tar.gz llvm-1c4880a2d39fbd95edced0dd97c34a9f53bf62ff.tar.bz2 |
[TargetLowering] Expand the last stage of i16 popcnt using shift+add+and instead of mul+shift.
If we use multiply it would be with 0x0101 which is 1 more than a power
of 2. On some targets we would expand this to shl+add. By avoiding the
multiply earlier, we can generate better code.
Note, PowerPC doesn't do the shl+add expansion of multiply so one of
the tests increased in instruction count.
Limiting to scalars because it almost always increased the number of
instructions in vector tests.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D125638
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions