llvm-project/llvm/test/Transforms/SLPVectorizer/slp-non-pow-2-insertelement.ll
Alexey Bataev b5d91ab73e [SLP]Fix PR58863: Mask index beyond mask size for non-power-2 insertelement analysis.
Need to check if the insertelement mask size is reached during cost analysis to avoid compiler crash.

Differential Revision: https://reviews.llvm.org/D137639
2022-11-08 07:54:57 -08:00

20 lines
827 B
LLVM

; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -S -passes=slp-vectorizer < %s | FileCheck %s
define void @PR58863() {
; CHECK-LABEL: @PR58863(
; CHECK-NEXT: entry:
; CHECK-NEXT: [[MUL_I:%.*]] = fmul float poison, poison
; CHECK-NEXT: [[MUL11_I:%.*]] = fmul float poison, poison
; CHECK-NEXT: [[I:%.*]] = insertelement <3 x float> <float poison, float 0.000000e+00, float poison>, float [[MUL_I]], i64 0
; CHECK-NEXT: [[I1:%.*]] = insertelement <3 x float> [[I]], float [[MUL11_I]], i64 2
; CHECK-NEXT: ret void
;
entry:
%mul.i = fmul float poison, poison
%mul11.i = fmul float poison, poison
%i = insertelement <3 x float> <float poison, float 0.000000e+00, float poison>, float %mul.i, i64 0
%i1 = insertelement <3 x float> %i, float %mul11.i, i64 2
ret void
}