[all-commits] [llvm/llvm-project] b8f765: [AArch64][SVE] Add support for trunc to <vscale x ...

Eli Friedman via All-commits all-commits at lists.llvm.org
Mon Jul 20 13:11:55 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: b8f765a1e17f8d212ab1cd8f630d35adc7495556
      https://github.com/llvm/llvm-project/commit/b8f765a1e17f8d212ab1cd8f630d35adc7495556
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2020-07-20 (Mon, 20 Jul 2020)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-trunc.ll

  Log Message:
  -----------
  [AArch64][SVE] Add support for trunc to <vscale x N x i1>.

This isn't a natively supported operation, so convert it to a
mask+compare.

In addition to the operation itself, fix up some surrounding stuff to
make the testcase work: we need concat_vectors on i1 vectors, we need
legalization of i1 vector truncates, and we need to fix up all the
relevant uses of getVectorNumElements().

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




More information about the All-commits mailing list