File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed
llvm/test/Transforms/InstCombine Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -248,6 +248,19 @@ define <2 x i8> @test13a(i8 %x1, i8 %x2) {
248
248
ret <2 x i8 > %D
249
249
}
250
250
251
+ define <1 x ptr > @shuffle_gep (ptr %x1 , ptr %x2 ) {
252
+ ; CHECK-LABEL: @shuffle_gep(
253
+ ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <1 x ptr> poison, ptr [[X2:%.*]], i64 0
254
+ ; CHECK-NEXT: [[RET:%.*]] = getelementptr i8, <1 x ptr> [[TMP1]], i64 5
255
+ ; CHECK-NEXT: ret <1 x ptr> [[RET]]
256
+ ;
257
+ %ins.1 = insertelement <2 x ptr > poison, ptr %x1 , i32 0
258
+ %ins.2 = insertelement <2 x ptr > %ins.1 , ptr %x2 , i32 1
259
+ %gep = getelementptr i8 , <2 x ptr > %ins.2 , i64 5
260
+ %ret = shufflevector <2 x ptr > %gep , <2 x ptr > poison, <1 x i32 > <i32 1 >
261
+ ret <1 x ptr > %ret
262
+ }
263
+
251
264
; Increasing length of vector ops is not a good canonicalization.
252
265
253
266
define <3 x i32 > @add_wider (i32 %y , i32 %z ) {
You can’t perform that action at this time.
0 commit comments