brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 538751f Raw
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