xref: /llvm-project/llvm/test/Transforms/SLPVectorizer/RISCV/repeated-address-store.ll (revision 62db1c8a076c7167e404412182f4a8915f4ff6ee)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
2; RUN: opt -S --passes=slp-vectorizer -mtriple=riscv64-unknown-linux -mattr=+v < %s | FileCheck %s
3
4define void @test(ptr %dest) {
5; CHECK-LABEL: define void @test(
6; CHECK-SAME: ptr [[DEST:%.*]]) #[[ATTR0:[0-9]+]] {
7; CHECK-NEXT:  [[ENTRY:.*:]]
8; CHECK-NEXT:    [[INC3:%.*]] = getelementptr inbounds i32, ptr [[DEST]], i64 3
9; CHECK-NEXT:    store <4 x i32> splat (i32 1), ptr [[DEST]], align 4
10; CHECK-NEXT:    store i32 2, ptr [[DEST]], align 2
11; CHECK-NEXT:    store i32 1, ptr [[INC3]], align 2
12; CHECK-NEXT:    ret void
13;
14entry:
15  %inc3 = getelementptr inbounds i32, ptr %dest, i64 3
16  store i32 1, ptr %inc3, align 2
17
18  store i32 1, ptr %dest, align 4
19  %inc1 = getelementptr inbounds i32, ptr %dest, i64 1
20  store i32 1, ptr %inc1, align 2
21  %inc2 = getelementptr inbounds i32, ptr %dest, i64 2
22  store i32 1, ptr %inc2, align 2
23  store i32 2, ptr %dest, align 2
24  store i32 1, ptr %inc3, align 2
25  ret void
26}
27