@@ -5,15 +5,15 @@ define void @wombat(ptr %ptr, ptr %ptr1) {
5
5
; CHECK-LABEL: @wombat(
6
6
; CHECK-NEXT: bb:
7
7
; CHECK-NEXT: [[TMP27:%.*]] = getelementptr inbounds i32, ptr [[PTR1:%.*]], i32 3
8
- ; CHECK-NEXT: [[TMP1 :%.*]] = load <2 x i32>, ptr [[PTR:%.*]], align 8
9
- ; CHECK-NEXT: [[SHUFFLE :%.*]] = shufflevector <2 x i32> [[TMP1 ]], <2 x i32> poison, <4 x i32> <i32 1, i32 0, i32 1, i32 0>
10
- ; CHECK-NEXT: [[SHRINK_SHUFFLE :%.*]] = shufflevector <4 x i32> [[SHUFFLE ]], <4 x i32> poison, <2 x i32> <i32 0, i32 1>
11
- ; CHECK-NEXT: [[TMP2 :%.*]] = add nsw <2 x i32> [[SHRINK_SHUFFLE ]], <i32 -1, i32 -1>
12
- ; CHECK-NEXT: [[SHUFFLE1 :%.*]] = shufflevector <2 x i32> [[TMP2 ]], <2 x i32> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
13
- ; CHECK-NEXT: [[TMP3 :%.*]] = icmp sgt <4 x i32> [[SHUFFLE ]], undef
14
- ; CHECK-NEXT: [[TMP4 :%.*]] = select <4 x i1> [[TMP3 ]], <4 x i32> undef, <4 x i32> [[SHUFFLE1 ]]
15
- ; CHECK-NEXT: [[TMP5 :%.*]] = select <4 x i1> zeroinitializer, <4 x i32> zeroinitializer, <4 x i32> [[TMP4 ]]
16
- ; CHECK-NEXT: store <4 x i32> [[TMP5 ]], ptr [[TMP27]], align 8
8
+ ; CHECK-NEXT: [[TMP0 :%.*]] = load <2 x i32>, ptr [[PTR:%.*]], align 8
9
+ ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <2 x i32> [[TMP0 ]], <2 x i32> poison, <4 x i32> <i32 1, i32 0, i32 1, i32 0>
10
+ ; CHECK-NEXT: [[TMP2 :%.*]] = shufflevector <4 x i32> [[TMP1 ]], <4 x i32> poison, <2 x i32> <i32 0, i32 1>
11
+ ; CHECK-NEXT: [[TMP3 :%.*]] = add nsw <2 x i32> [[TMP2 ]], <i32 -1, i32 -1>
12
+ ; CHECK-NEXT: [[TMP4 :%.*]] = shufflevector <2 x i32> [[TMP3 ]], <2 x i32> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
13
+ ; CHECK-NEXT: [[TMP5 :%.*]] = icmp sgt <4 x i32> [[TMP1 ]], undef
14
+ ; CHECK-NEXT: [[TMP6 :%.*]] = select <4 x i1> [[TMP5 ]], <4 x i32> undef, <4 x i32> [[TMP4 ]]
15
+ ; CHECK-NEXT: [[TMP7 :%.*]] = select <4 x i1> zeroinitializer, <4 x i32> zeroinitializer, <4 x i32> [[TMP6 ]]
16
+ ; CHECK-NEXT: store <4 x i32> [[TMP7 ]], ptr [[TMP27]], align 8
17
17
; CHECK-NEXT: ret void
18
18
;
19
19
bb:
@@ -58,12 +58,11 @@ define internal i32 @ipvideo_decode_block_opcode_0xD_16() {
58
58
; CHECK-NEXT: entry:
59
59
; CHECK-NEXT: br label [[FOR_BODY:%.*]]
60
60
; CHECK: for.body:
61
- ; CHECK-NEXT: [[TMP0:%.*]] = phi <2 x i16> [ undef, [[ENTRY:%.*]] ], [ [[SHRINK_SHUFFLE:%.* ]], [[IF_END:%.*]] ]
62
- ; CHECK-NEXT: [[SHUFFLE :%.*]] = shufflevector <2 x i16> [[TMP0]], <2 x i16> poison, <8 x i32> <i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1, i32 1>
61
+ ; CHECK-NEXT: [[TMP0:%.*]] = phi <2 x i16> [ undef, [[ENTRY:%.*]] ], [ [[TMP0 ]], [[IF_END:%.*]] ]
62
+ ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <2 x i16> [[TMP0]], <2 x i16> poison, <8 x i32> <i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1, i32 1>
63
63
; CHECK-NEXT: br label [[IF_END]]
64
64
; CHECK: if.end:
65
- ; CHECK-NEXT: store <8 x i16> [[SHUFFLE]], ptr undef, align 2
66
- ; CHECK-NEXT: [[SHRINK_SHUFFLE]] = shufflevector <8 x i16> [[SHUFFLE]], <8 x i16> poison, <2 x i32> <i32 0, i32 4>
65
+ ; CHECK-NEXT: store <8 x i16> [[TMP1]], ptr undef, align 2
67
66
; CHECK-NEXT: br label [[FOR_BODY]]
68
67
;
69
68
entry:
0 commit comments