diff options
author | Craig Topper <craig.topper@intel.com> | 2018-07-27 04:29:10 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2018-07-27 04:29:10 +0000 |
commit | e364baa88b29344bc2283dd78372df65f3d78337 (patch) | |
tree | a44a379a34cb716a8f75ffbc3e045798da43d52f /lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py | |
parent | 67ea02b8aa3497198666efcb2ea7083c61af2db9 (diff) | |
download | bcm5719-llvm-e364baa88b29344bc2283dd78372df65f3d78337.tar.gz bcm5719-llvm-e364baa88b29344bc2283dd78372df65f3d78337.zip |
[X86] Add matching for another pattern of PMADDWD.
Summary:
This is the pattern you get from the loop vectorizer for something like this
int16_t A[1024];
int16_t B[1024];
int32_t C[512];
void pmaddwd() {
for (int i = 0; i != 512; ++i)
C[i] = (A[2*i]*B[2*i]) + (A[2*i+1]*B[2*i+1]);
}
In this case we will have (add (mul (build_vector), (build_vector)), (mul (build_vector), (build_vector))). This is different than the pattern we currently match which has the build_vectors between an add and a single multiply. I'm not sure what C code would get you that pattern.
Reviewers: RKSimon, spatel, zvi
Reviewed By: zvi
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D49636
llvm-svn: 338097
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py')
0 files changed, 0 insertions, 0 deletions