[all-commits] [llvm/llvm-project] f87f23: [AArch64][SVE] Add the SVE dupq_lane intrinsic

kmclaughlin-arm via All-commits all-commits at lists.llvm.org
Mon Feb 24 06:08:31 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f87f23c81caeb0b0b7b8e795023b7273a13115d2
      https://github.com/llvm/llvm-project/commit/f87f23c81caeb0b0b7b8e795023b7273a13115d2
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2020-02-24 (Mon, 24 Feb 2020)

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

  Log Message:
  -----------
  [AArch64][SVE] Add the SVE dupq_lane intrinsic

Summary:
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.

Reviewers: sdesmalen, c-rhodes, cameron.mcinally, efriedma, dancgr, rengolin

Reviewed By: sdesmalen

Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, cfe-commits, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74734




More information about the All-commits mailing list