[PATCH] D63233: [CodeGenPrepare] shift both sides of a vector select when profitable

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 14 09:12:44 PDT 2019


spatel updated this revision to Diff 204781.
spatel added a comment.

Patch updated with test changes:

1. Added a bigger test for the original PR37428 example because that shows a difference: with AVX1, we do not split the ymm ops any more. I'm not sure if that's better or worse than having mul/sitofp ops in the loop, but since the original request is for an SSE target, I think we can deal with that independently.
2. Added an "enable-debugify" RUN to the IR test file to verify that we are not creating naked instructions. The IRBuilder takes care of this for us here, but I fixed a related problem in rL363409 <https://reviews.llvm.org/rL363409>.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D63233/new/

https://reviews.llvm.org/D63233

Files:
  llvm/lib/CodeGen/CodeGenPrepare.cpp
  llvm/test/CodeGen/X86/vector-shift-by-select-loop.ll
  llvm/test/CodeGen/X86/vector-shift-lshr-128.ll
  llvm/test/Transforms/CodeGenPrepare/X86/vec-shift.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63233.204781.patch
Type: text/x-patch
Size: 36065 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190614/d9b5c425/attachment.bin>


More information about the llvm-commits mailing list