[PATCH] D52997: [x86] allow single source horizontal op matching (PR39195)

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 8 13:03:52 PDT 2018


spatel created this revision.
spatel added reviewers: craig.topper, RKSimon, dyung.
Herald added a subscriber: mcrosier.

This is intended to restore horizontal codegen to what it looked like before IR demanded elements improved in:
https://reviews.llvm.org/rL343727

As noted in PR39195:
https://bugs.llvm.org/show_bug.cgi?id=39195
...horizontal ops can be worse for performance than a shuffle+regular binop, so I've added a TODO. Ideally, we'd solve that in a machine instruction pass, but a quicker solution may be adding a 'HasSlowHorizontalOp' feature/bug bit to deal with it here in the DAG.


https://reviews.llvm.org/D52997

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
  test/CodeGen/X86/haddsub-undef.ll
  test/CodeGen/X86/phaddsub.ll
  test/CodeGen/X86/vector-shuffle-combining.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52997.168702.patch
Type: text/x-patch
Size: 21837 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181008/65b118e3/attachment.bin>


More information about the llvm-commits mailing list