[PATCH] D74734: [AArch64][SVE] Add the SVE dupq_lane intrinsic

Kerry McLaughlin via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 17 10:58:26 PST 2020


kmclaughlin created this revision.
kmclaughlin added reviewers: sdesmalen, c-rhodes, cameron.mcinally, efriedma, dancgr.
Herald added subscribers: psnobl, rkruppe, hiraditya, kristof.beyls, tschuett.
Herald added a reviewer: rengolin.
Herald added a project: LLVM.

Implements the @llvm.aarch64.sve.dupq.lane intrinsic.

As specified in the ACLE, the behaviour of:

  svdupq_lane_u64(data, index)

...is identical to:

  svtbl(data, svadd_x(svptrue_b64(),
                                   svand_x(svptrue_b64(), svindex_u64(0, 1), 1),
                                   index * 2))

If the index is in the range [0,3], the operation is equivalent
to a single DUP (.q) instruction.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D74734

Files:
  llvm/include/llvm/IR/IntrinsicsAArch64.td
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.h
  llvm/test/CodeGen/AArch64/sve-intrinsics-perm-select.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74734.245012.patch
Type: text/x-patch
Size: 12883 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200217/365bb924/attachment-0001.bin>


More information about the cfe-commits mailing list