28 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2;RUN: opt < %s -passes=slp-vectorizer -S | FileCheck %s3 4target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"5target triple = "x86_64-unknown-linux-gnu"6 7; This test checks that SLP vectorizer does not fail on vector GEP.8; The GEP has scalar and vector parameters and returns vector of pointers.9 10; Function Attrs: noreturn readonly uwtable11define void @_Z3fn1v(i32 %x, <16 x ptr>%y) local_unnamed_addr {12; CHECK-LABEL: @_Z3fn1v(13; CHECK-NEXT: entry:14; CHECK-NEXT: [[CONV42_LE:%.*]] = sext i32 [[X:%.*]] to i6415; CHECK-NEXT: [[CONV36109_LE:%.*]] = zext i32 2 to i6416; CHECK-NEXT: [[VECTORGEP:%.*]] = getelementptr i32, <16 x ptr> [[Y:%.*]], i64 [[CONV36109_LE]]17; CHECK-NEXT: [[VECTORGEP208:%.*]] = getelementptr i32, <16 x ptr> [[Y]], i64 [[CONV42_LE]]18; CHECK-NEXT: unreachable19;20 21entry:22 %conv42.le = sext i32 %x to i6423 %conv36109.le = zext i32 2 to i6424 %VectorGep = getelementptr i32, <16 x ptr> %y, i64 %conv36109.le25 %VectorGep208 = getelementptr i32, <16 x ptr> %y, i64 %conv42.le26 unreachable27}28