[PATCH] D45982: [TTI, AArch64] Add transpose shuffle kind

Matthew Simpson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 23 13:05:43 PDT 2018


mssimpso created this revision.
mssimpso added reviewers: rengolin, samparker, evandro, hfinkel.
Herald added a reviewer: javed.absar.
Herald added a subscriber: kristof.beyls.

This patch adds a new shuffle kind useful for transposing a 2xn matrix. These transpose shuffle masks read corresponding even- or odd-numbered vector elements from two n-dimensional source vectors and write each result into consecutive elements of an n-dimensional destination vector. The transpose shuffle kind is meant to model the TRN1 and TRN2 AArch64 instructions. As such, this patch also considers transpose shuffles in the AArch64 implementation of getShuffleCost.


Repository:
  rL LLVM

https://reviews.llvm.org/D45982

Files:
  include/llvm/Analysis/TargetTransformInfo.h
  include/llvm/CodeGen/BasicTTIImpl.h
  lib/Analysis/TargetTransformInfo.cpp
  lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  lib/Target/AArch64/AArch64TargetTransformInfo.h
  test/Analysis/CostModel/AArch64/shuffle-transpose.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45982.143623.patch
Type: text/x-patch
Size: 21614 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180423/d74fc5b7/attachment-0001.bin>


More information about the llvm-commits mailing list