aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/Error.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-12-28 19:19:39 +0000
committerCraig Topper <craig.topper@intel.com>2018-12-28 19:19:39 +0000
commitf814d28eb30f937c9604fdcca83efe1768c0ecf1 (patch)
treec25430de70bebe8189950caedcec6a8a8e9fbd5d /llvm/lib/Support/Error.cpp
parent4ce05801c75ea5123434fd2a919c83974c8904e6 (diff)
downloadllvm-f814d28eb30f937c9604fdcca83efe1768c0ecf1.zip
llvm-f814d28eb30f937c9604fdcca83efe1768c0ecf1.tar.gz
llvm-f814d28eb30f937c9604fdcca83efe1768c0ecf1.tar.bz2
[X86] Directly emit X86ISD::PMULUDQ from the ReplaceNodeResults handling of v2i8/v2i16/v2i32 multiply.
Previously we emitted a multiply and some masking that was supposed to matched to PMULUDQ, but the masking could sometimes be removed before we got a chance to match it. So instead just emit the PMULUDQ directly. Remove the DAG combine that was added when the ReplaceNodeResults code was originally added. Add a new DAG combine to avoid regressions in shrink_vmul.ll Some of the shrink_vmul.ll test cases now pick PMULUDQ instead of PMADDWD/PMULLD, but I think this should be an improvement on most CPUs. I think all of this can go away if/when we switch to -x86-experimental-vector-widening-legalization llvm-svn: 350134
Diffstat (limited to 'llvm/lib/Support/Error.cpp')
0 files changed, 0 insertions, 0 deletions