aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineBasicBlock.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2017-12-28 10:05:49 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2017-12-28 10:05:49 +0000
commit62411e4d4f704d6021f1d3a7444a64c9fd4b3b82 (patch)
tree35e4acc5f5faf4bcc64d805b9ff4c79b8ad730f9 /llvm/lib/CodeGen/MachineBasicBlock.cpp
parent472689a159e6e2d455724d28eef35554daa6667b (diff)
downloadllvm-62411e4d4f704d6021f1d3a7444a64c9fd4b3b82.zip
llvm-62411e4d4f704d6021f1d3a7444a64c9fd4b3b82.tar.gz
llvm-62411e4d4f704d6021f1d3a7444a64c9fd4b3b82.tar.bz2
[X86][SSE] Use PMADDWD for v4i32 multiplies with 17 or more leading zeros
If there are 17 or more leading zeros to the v4i32 elements, then we can use PMADD for the integer multiply when PMULLD is unavailable or slow. The 17 bits need to be zero as the PMADDWD performs a v8i16 signed-mul-extend + pairwise-add - the upper 16 so we're adding a zero pair and the 17th bit so we don't incorrectly sign extend. Differential Revision: https://reviews.llvm.org/D41484 llvm-svn: 321516
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions