Skip to content

Commit 70e73af

Browse files
committed
[SLP][NFC] Add a new test for store chains that mix different sizes of values
1 parent 79caa06 commit 70e73af

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
2+
; RUN: opt -S --passes=slp-vectorizer -mtriple=x86_64-unknown-linux < %s | FileCheck %s
3+
4+
define void @test(ptr %p) {
5+
; CHECK-LABEL: define void @test(
6+
; CHECK-SAME: ptr [[P:%.*]]) {
7+
; CHECK-NEXT: [[ENTRY:.*:]]
8+
; CHECK-NEXT: [[IDX1:%.*]] = getelementptr i8, ptr [[P]], i64 1
9+
; CHECK-NEXT: [[IDX_64_9:%.*]] = getelementptr i64, ptr [[P]], i64 9
10+
; CHECK-NEXT: store i64 1, ptr [[IDX_64_9]], align 8
11+
; CHECK-NEXT: store <8 x i8> zeroinitializer, ptr [[IDX1]], align 4
12+
; CHECK-NEXT: ret void
13+
;
14+
entry:
15+
%idx1 = getelementptr i8, ptr %p, i64 1
16+
store i8 0, ptr %idx1, align 4
17+
%idx.64.9 = getelementptr i64, ptr %p, i64 9
18+
store i64 1, ptr %idx.64.9, align 8
19+
%idx2 = getelementptr i8, ptr %p, i64 2
20+
store i8 0, ptr %idx2, align 4
21+
%idx3 = getelementptr i8, ptr %p, i64 3
22+
store i8 0, ptr %idx3, align 4
23+
%idx4 = getelementptr i8, ptr %p, i64 4
24+
store i8 0, ptr %idx4, align 4
25+
%idx5 = getelementptr i8, ptr %p, i64 5
26+
store i8 0, ptr %idx5, align 4
27+
%idx6 = getelementptr i8, ptr %p, i64 6
28+
store i8 0, ptr %idx6, align 4
29+
%idx7 = getelementptr i8, ptr %p, i64 7
30+
store i8 0, ptr %idx7, align 4
31+
%idx8 = getelementptr i8, ptr %p, i64 8
32+
store i8 0, ptr %idx8, align 4
33+
ret void
34+
}

0 commit comments

Comments
 (0)