Use PMADDWD to expand reduction in a loop
authorDehao Chen <dehao@google.com>
Fri, 7 Apr 2017 15:41:52 +0000 (15:41 +0000)
committerDehao Chen <dehao@google.com>
Fri, 7 Apr 2017 15:41:52 +0000 (15:41 +0000)
commit58fa724494b6d3d85fa1e5f6b6c309f3f3ee69d4
treef8212c1cfa53b8e3b7bb8862d47a79e8f66861e3
parentd3c87b5332b6c4413f1a50d6f26d7f704fd28156
Use PMADDWD to expand reduction in a loop

Summary:
PMADDWD can help improve 8/16 bit integer mutliply-add operation performance for cases like:

for (int i = 0; i < count; i++)
  a += x[i] * y[i];

Reviewers: wmi, davidxl, hfinkel, RKSimon, zvi, mkuper

Reviewed By: mkuper

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D31679

llvm-svn: 299776
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/madd.ll [new file with mode: 0644]