Skip to content

[AArch64][GlobalISel] Clang crashes on assertion in Legalizer #121365

@vitalybuka

Description

@vitalybuka

ranges.tar.gz

Reduced IR:

target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "aarch64-unknown-linux-gnu"

define [2 x i64] @_ZNSt3__121__mismatch_vectorizedB8ne200000IPiEENS_4pairIT_S3_EES3_S3_S3_() personality ptr null {
entry:
  %extractvec60 = shufflevector <8 x i1> zeroinitializer, <8 x i1> zeroinitializer, <1 x i32> zeroinitializer
  %insertvec62 = shufflevector <1 x i1> %extractvec60, <1 x i1> zeroinitializer, <8 x i32> <i32 0, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison>
  %0 = bitcast <8 x i1> %insertvec62 to i8
  store i8 %0, ptr null, align 1
  ret [2 x i64] zeroinitializer
}

; uselistorder directives
uselistorder ptr null, { 1, 2, 3, 0 }

assert.h assertion failed in void llvm::MachineIRBuilder::validateTruncExt(const LLT, const LLT, bool): DstTy.isScalar() && SrcTy.isScalar() && "invalid extend/trunc"

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions