Skip to content

Commit 5084aae

Browse files
committed
[LV] Test update narrow-widen-store-user
1 parent d8ca632 commit 5084aae

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar.ll

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -160,16 +160,18 @@ define void @narrow_widen_store_user(i32 %x, ptr noalias %A, ptr noalias %B) {
160160
; VF4IC1-NEXT: [[ENTRY:.*:]]
161161
; VF4IC1-NEXT: br label %[[VECTOR_PH:.*]]
162162
; VF4IC1: [[VECTOR_PH]]:
163-
; VF4IC1-NEXT: [[BROADCAST_SPLATINSERT:%.*]] = insertelement <4 x i32> poison, i32 [[X]], i64 0
163+
; VF4IC1-NEXT: [[TMP0:%.*]] = add i32 [[X]], 1
164+
; VF4IC1-NEXT: [[BROADCAST_SPLATINSERT:%.*]] = insertelement <4 x i32> poison, i32 [[TMP0]], i64 0
164165
; VF4IC1-NEXT: [[BROADCAST_SPLAT:%.*]] = shufflevector <4 x i32> [[BROADCAST_SPLATINSERT]], <4 x i32> poison, <4 x i32> zeroinitializer
165-
; VF4IC1-NEXT: [[TMP0:%.*]] = add <4 x i32> [[BROADCAST_SPLAT]], splat (i32 1)
166-
; VF4IC1-NEXT: [[TMP1:%.*]] = mul <4 x i32> [[TMP0]], splat (i32 3)
166+
; VF4IC1-NEXT: [[TMP5:%.*]] = mul i32 [[TMP0]], 3
167+
; VF4IC1-NEXT: [[BROADCAST_SPLATINSERT1:%.*]] = insertelement <4 x i32> poison, i32 [[TMP5]], i64 0
168+
; VF4IC1-NEXT: [[TMP1:%.*]] = shufflevector <4 x i32> [[BROADCAST_SPLATINSERT1]], <4 x i32> poison, <4 x i32> zeroinitializer
167169
; VF4IC1-NEXT: br label %[[VECTOR_BODY:.*]]
168170
; VF4IC1: [[VECTOR_BODY]]:
169171
; VF4IC1-NEXT: [[INDEX:%.*]] = phi i32 [ 0, %[[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], %[[VECTOR_BODY]] ]
170172
; VF4IC1-NEXT: [[TMP2:%.*]] = getelementptr i32, ptr [[A]], i32 [[INDEX]]
171173
; VF4IC1-NEXT: [[TMP3:%.*]] = getelementptr i32, ptr [[B]], i32 [[INDEX]]
172-
; VF4IC1-NEXT: store <4 x i32> [[TMP0]], ptr [[TMP2]], align 4
174+
; VF4IC1-NEXT: store <4 x i32> [[BROADCAST_SPLAT]], ptr [[TMP2]], align 4
173175
; VF4IC1-NEXT: store <4 x i32> [[TMP1]], ptr [[TMP3]], align 4
174176
; VF4IC1-NEXT: [[INDEX_NEXT]] = add nuw i32 [[INDEX]], 4
175177
; VF4IC1-NEXT: [[TMP4:%.*]] = icmp eq i32 [[INDEX_NEXT]], 1024
@@ -184,18 +186,20 @@ define void @narrow_widen_store_user(i32 %x, ptr noalias %A, ptr noalias %B) {
184186
; VF2IC2-NEXT: [[ENTRY:.*:]]
185187
; VF2IC2-NEXT: br label %[[VECTOR_PH:.*]]
186188
; VF2IC2: [[VECTOR_PH]]:
187-
; VF2IC2-NEXT: [[BROADCAST_SPLATINSERT:%.*]] = insertelement <2 x i32> poison, i32 [[X]], i64 0
189+
; VF2IC2-NEXT: [[TMP0:%.*]] = add i32 [[X]], 1
190+
; VF2IC2-NEXT: [[BROADCAST_SPLATINSERT:%.*]] = insertelement <2 x i32> poison, i32 [[TMP0]], i64 0
188191
; VF2IC2-NEXT: [[BROADCAST_SPLAT:%.*]] = shufflevector <2 x i32> [[BROADCAST_SPLATINSERT]], <2 x i32> poison, <2 x i32> zeroinitializer
189-
; VF2IC2-NEXT: [[TMP0:%.*]] = add <2 x i32> [[BROADCAST_SPLAT]], splat (i32 1)
190-
; VF2IC2-NEXT: [[TMP1:%.*]] = mul <2 x i32> [[TMP0]], splat (i32 3)
192+
; VF2IC2-NEXT: [[TMP7:%.*]] = mul i32 [[TMP0]], 3
193+
; VF2IC2-NEXT: [[BROADCAST_SPLATINSERT1:%.*]] = insertelement <2 x i32> poison, i32 [[TMP7]], i64 0
194+
; VF2IC2-NEXT: [[TMP1:%.*]] = shufflevector <2 x i32> [[BROADCAST_SPLATINSERT1]], <2 x i32> poison, <2 x i32> zeroinitializer
191195
; VF2IC2-NEXT: br label %[[VECTOR_BODY:.*]]
192196
; VF2IC2: [[VECTOR_BODY]]:
193197
; VF2IC2-NEXT: [[INDEX:%.*]] = phi i32 [ 0, %[[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], %[[VECTOR_BODY]] ]
194198
; VF2IC2-NEXT: [[TMP2:%.*]] = getelementptr i32, ptr [[A]], i32 [[INDEX]]
195199
; VF2IC2-NEXT: [[TMP3:%.*]] = getelementptr i32, ptr [[B]], i32 [[INDEX]]
196200
; VF2IC2-NEXT: [[TMP4:%.*]] = getelementptr i32, ptr [[TMP2]], i32 2
197-
; VF2IC2-NEXT: store <2 x i32> [[TMP0]], ptr [[TMP2]], align 4
198-
; VF2IC2-NEXT: store <2 x i32> [[TMP0]], ptr [[TMP4]], align 4
201+
; VF2IC2-NEXT: store <2 x i32> [[BROADCAST_SPLAT]], ptr [[TMP2]], align 4
202+
; VF2IC2-NEXT: store <2 x i32> [[BROADCAST_SPLAT]], ptr [[TMP4]], align 4
199203
; VF2IC2-NEXT: [[TMP5:%.*]] = getelementptr i32, ptr [[TMP3]], i32 2
200204
; VF2IC2-NEXT: store <2 x i32> [[TMP1]], ptr [[TMP3]], align 4
201205
; VF2IC2-NEXT: store <2 x i32> [[TMP1]], ptr [[TMP5]], align 4

0 commit comments

Comments
 (0)