[all-commits] [llvm/llvm-project] b18161: [AArch64] Handle vector with two different values

JinGu Kang via All-commits all-commits at lists.llvm.org
Fri May 5 07:04:40 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b18161d7850c5102e9882649278213e226bed610
      https://github.com/llvm/llvm-project/commit/b18161d7850c5102e9882649278213e226bed610
  Author: Jingu Kang <jingu.kang at arm.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/build-vector-two-dup.ll

  Log Message:
  -----------
  [AArch64] Handle vector with two different values

If vector has two different values and it can be splitted into two sub
vectors with same length, generate two DUP and CONCAT_VECTORS/VECTOR_SHUFFLE.
For example,

 t22: v16i8 = BUILD_VECTOR t23, t23, t23, t23, t23, t23, t23, t23,
                           t24, t24, t24, t24, t24, t24, t24, t24
==>
   t26: v8i8 = AArch64ISD::DUP t23
   t28: v8i8 = AArch64ISD::DUP t24
 t29: v16i8 = concat_vectors t26, t28

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




More information about the All-commits mailing list