xref: /llvm-project/llvm/test/Transforms/SLPVectorizer/AArch64/buildvector-vectorize.ll (revision 3be72f402925b99adbec4a2ee5bacdf76ba6c8d1)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt -passes=slp-vectorizer -S -mtriple=aarch64 < %s | FileCheck %s
3
4define void @test(ptr %p) {
5; CHECK-LABEL: @test(
6; CHECK-NEXT:  entry:
7; CHECK-NEXT:    [[INC:%.*]] = getelementptr inbounds i16, ptr [[P:%.*]], i64 1
8; CHECK-NEXT:    [[TMP0:%.*]] = load i16, ptr [[INC]], align 4
9; CHECK-NEXT:    [[TMP1:%.*]] = load i16, ptr [[P]], align 2
10; CHECK-NEXT:    [[TMP2:%.*]] = insertelement <8 x i16> zeroinitializer, i16 [[TMP0]], i32 5
11; CHECK-NEXT:    [[TMP3:%.*]] = insertelement <8 x i16> [[TMP2]], i16 [[TMP1]], i32 7
12; CHECK-NEXT:    ret void
13;
14entry:
15  %inc = getelementptr inbounds i16, ptr %p, i64 1
16  %0 = load i16, ptr %inc, align 4
17  %1 = load i16, ptr %p, align 2
18  %2 = insertelement <8 x i16> zeroinitializer, i16 %0, i32 5
19  %3 = insertelement <8 x i16> %2, i16 %1, i32 7
20  ret void
21}
22