[PATCH] D56506: [X86][SSE] Allow SplitOpsAndApply to split to lowest common vector size

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 9 11:05:56 PST 2019


RKSimon created this revision.
RKSimon added reviewers: craig.topper, spatel.

This patch relaxes the SplitOpsAndApply requirements for 128/256/512-bit sized vectors for SSE2/AVX2/AVX512BW so that it splits illegal types by the lowest common vector size and I've updated the AVG combine to demonstrate this with its existing v48i8 test case.

I'm not sure how often this really happens, but if its any use I can pursue splitting this into different sized vectors (e.g. 1*ymm + 1*xmm subvectors), but that will require a larger refactor.

@craig.topper D56306 <https://reviews.llvm.org/D56306> suggests that you might want to move away from SplitOpsAndApply?


Repository:
  rL LLVM

https://reviews.llvm.org/D56506

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/avg.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56506.180883.patch
Type: text/x-patch
Size: 26062 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190109/2e8fc842/attachment.bin>


More information about the llvm-commits mailing list