@@ -7,23 +7,22 @@ define i16 @foo(i16 %in1, i16 %in2) {
7
7
; CHECK-NEXT: entry:
8
8
; CHECK-NEXT: [[TMP0:%.*]] = insertelement <2 x i16> poison, i16 [[IN1]], i32 0
9
9
; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <2 x i16> [[TMP0]], <2 x i16> poison, <2 x i32> zeroinitializer
10
+ ; CHECK-NEXT: [[TMP4:%.*]] = zext <2 x i16> [[TMP1]] to <2 x i64>
10
11
; CHECK-NEXT: [[TMP2:%.*]] = insertelement <2 x i16> poison, i16 [[IN2]], i32 0
11
12
; CHECK-NEXT: [[TMP3:%.*]] = shufflevector <2 x i16> [[TMP2]], <2 x i16> poison, <2 x i32> zeroinitializer
12
- ; CHECK-NEXT: [[TMP4 :%.*]] = mul <2 x i16> [[TMP3]], [[TMP1]]
13
- ; CHECK-NEXT: [[TMP5 :%.*]] = and <2 x i16 > [[TMP4 ]], <i16 -1, i16 -1>
14
- ; CHECK-NEXT: [[TMP6:%.*]] = zext <2 x i16 > [[TMP5]] to <2 x i64>
13
+ ; CHECK-NEXT: [[TMP5 :%.*]] = zext <2 x i16> [[TMP3]] to <2 x i64>
14
+ ; CHECK-NEXT: [[TMP9 :%.*]] = mul nuw nsw <2 x i64 > [[TMP5 ]], [[TMP4]]
15
+ ; CHECK-NEXT: [[TMP6:%.*]] = and <2 x i64 > [[TMP9]], <i64 65535, i64 65535 >
15
16
; CHECK-NEXT: [[TMP7:%.*]] = icmp ne <2 x i64> [[TMP6]], <i64 65533, i64 65533>
16
17
; CHECK-NEXT: [[TMP8:%.*]] = extractelement <2 x i1> [[TMP7]], i32 1
17
18
; CHECK-NEXT: [[ZEXT3_1:%.*]] = zext i1 [[TMP8]] to i16
18
- ; CHECK-NEXT: [[TMP9:%.*]] = extractelement <2 x i16> [[TMP4]], i32 1
19
- ; CHECK-NEXT: [[TMP10:%.*]] = zext i16 [[TMP9]] to i64
19
+ ; CHECK-NEXT: [[TMP10:%.*]] = extractelement <2 x i64> [[TMP9]], i32 1
20
20
; CHECK-NEXT: [[CMP2_1:%.*]] = icmp ne i64 [[TMP10]], 196605
21
21
; CHECK-NEXT: [[ZEXT4_1:%.*]] = zext i1 [[CMP2_1]] to i16
22
22
; CHECK-NEXT: [[ADD1:%.*]] = add nuw nsw i16 [[ZEXT3_1]], [[ZEXT4_1]]
23
23
; CHECK-NEXT: [[TMP11:%.*]] = extractelement <2 x i1> [[TMP7]], i32 0
24
24
; CHECK-NEXT: [[ZEXT3_2:%.*]] = zext i1 [[TMP11]] to i16
25
- ; CHECK-NEXT: [[TMP12:%.*]] = extractelement <2 x i16> [[TMP4]], i32 0
26
- ; CHECK-NEXT: [[TMP13:%.*]] = zext i16 [[TMP12]] to i64
25
+ ; CHECK-NEXT: [[TMP13:%.*]] = extractelement <2 x i64> [[TMP9]], i32 0
27
26
; CHECK-NEXT: [[CMP2_2:%.*]] = icmp ne i64 [[TMP13]], 196605
28
27
; CHECK-NEXT: [[ZEXT4_2:%.*]] = zext i1 [[CMP2_2]] to i16
29
28
; CHECK-NEXT: [[ADD2:%.*]] = add nuw nsw i16 [[ADD1]], [[ZEXT4_2]]
0 commit comments