[all-commits] [llvm/llvm-project] 467680: [AArch64][DAGCombine] Fix a bug in performBuildVec...

Usman Nadeem via All-commits all-commits at lists.llvm.org
Wed Aug 24 16:25:35 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 46768052e0c9e21a7fcaa2881e29e6b4237b200f
      https://github.com/llvm/llvm-project/commit/46768052e0c9e21a7fcaa2881e29e6b4237b200f
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2022-08-24 (Wed, 24 Aug 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/aarch64-vectorcombine-invalid-extract-index-crash.ll

  Log Message:
  -----------
  [AArch64][DAGCombine] Fix a bug in performBuildVectorCombine where it could produce an invalid EXTRACT_SUBVECTOR

EXTRACT_SUBVECTOR requires that Idx be a constant multiple of ResultType's
known minimum vector length.

Something like this will produce an invalid extract_subvector:

t1: v4i16 = .....
t2: i32 = extract_vector_elt t1, Constant:i64<1>
t3: i32 = extract_vector_elt t1, Constant:i64<2>
t4: v2i32 = BUILD_VECTOR t2, t3
// produces
t5: v2i32 = extract_subvector t...., Constant:i64<1>

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

Change-Id: I7a5acf054edee3e89c0f85a28d8869256403ce08




More information about the All-commits mailing list