[PATCH] D49242: [Intrinsics] define funnel shift IR intrinsics + DAG builder support

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 13 14:03:22 PDT 2018


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

Patch updated:

1. Made LangRef text more specific.
2. Added/changed examples to show modulo shift behavior.
3. Added tests (and fixed copy/paste naming inaccuracies).

It might not be as bad as I feared . We should be able to match the variable funnel cases (or create the DAG nodes for those if we really need to). And we're not overselling the capabilities to end users until clang or other front-ends adds their own builtin/intrinsics that maps to this, so we should have time to adjust if needed. Exposing the more common and specific rotate functionality as a builtin can happen first I think.


https://reviews.llvm.org/D49242

Files:
  docs/LangRef.rst
  include/llvm/IR/Intrinsics.td
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  test/CodeGen/AArch64/funnel-shift.ll
  test/CodeGen/PowerPC/funnel-shift.ll
  test/CodeGen/X86/funnel-shift.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D49242.155481.patch
Type: text/x-patch
Size: 52712 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180713/641d9de9/attachment.bin>


More information about the llvm-commits mailing list