@@ -6,9 +6,8 @@ declare void @use(i8)
6
6
define i1 @fold_sext_to_and (i8 %x ) {
7
7
; CHECK-LABEL: define i1 @fold_sext_to_and(
8
8
; CHECK-SAME: i8 [[X:%.*]]) {
9
- ; CHECK-NEXT: [[TMP1:%.*]] = sext i8 [[X]] to i32
10
- ; CHECK-NEXT: [[TMP2:%.*]] = and i32 [[TMP1]], -2147483647
11
- ; CHECK-NEXT: [[TMP3:%.*]] = icmp eq i32 [[TMP2]], 1
9
+ ; CHECK-NEXT: [[TMP1:%.*]] = and i8 [[X]], -127
10
+ ; CHECK-NEXT: [[TMP3:%.*]] = icmp eq i8 [[TMP1]], 1
12
11
; CHECK-NEXT: ret i1 [[TMP3]]
13
12
;
14
13
%1 = sext i8 %x to i32
@@ -20,9 +19,8 @@ define i1 @fold_sext_to_and(i8 %x) {
20
19
define i1 @fold_sext_to_and1 (i8 %x ) {
21
20
; CHECK-LABEL: define i1 @fold_sext_to_and1(
22
21
; CHECK-SAME: i8 [[X:%.*]]) {
23
- ; CHECK-NEXT: [[TMP1:%.*]] = sext i8 [[X]] to i32
24
- ; CHECK-NEXT: [[TMP2:%.*]] = and i32 [[TMP1]], -2147483647
25
- ; CHECK-NEXT: [[TMP3:%.*]] = icmp ne i32 [[TMP2]], 1
22
+ ; CHECK-NEXT: [[TMP1:%.*]] = and i8 [[X]], -127
23
+ ; CHECK-NEXT: [[TMP3:%.*]] = icmp ne i8 [[TMP1]], 1
26
24
; CHECK-NEXT: ret i1 [[TMP3]]
27
25
;
28
26
%1 = sext i8 %x to i32
@@ -36,8 +34,8 @@ define i1 @fold_sext_to_and_multi_use(i8 %x) {
36
34
; CHECK-SAME: i8 [[X:%.*]]) {
37
35
; CHECK-NEXT: [[TMP1:%.*]] = sext i8 [[X]] to i32
38
36
; CHECK-NEXT: call void @use(i32 [[TMP1]])
39
- ; CHECK-NEXT: [[TMP2:%.*]] = and i32 [[TMP1 ]], -2147483647
40
- ; CHECK-NEXT: [[TMP3:%.*]] = icmp eq i32 [[TMP2]], 1
37
+ ; CHECK-NEXT: [[TMP2:%.*]] = and i8 [[X ]], -127
38
+ ; CHECK-NEXT: [[TMP3:%.*]] = icmp eq i8 [[TMP2]], 1
41
39
; CHECK-NEXT: ret i1 [[TMP3]]
42
40
;
43
41
%1 = sext i8 %x to i32
@@ -52,8 +50,8 @@ define i1 @fold_sext_to_and_multi_use1(i8 %x) {
52
50
; CHECK-SAME: i8 [[X:%.*]]) {
53
51
; CHECK-NEXT: [[TMP1:%.*]] = sext i8 [[X]] to i32
54
52
; CHECK-NEXT: call void @use(i32 [[TMP1]])
55
- ; CHECK-NEXT: [[TMP2:%.*]] = and i32 [[TMP1 ]], -2147483647
56
- ; CHECK-NEXT: [[TMP3:%.*]] = icmp ne i32 [[TMP2]], 1
53
+ ; CHECK-NEXT: [[TMP2:%.*]] = and i8 [[X ]], -127
54
+ ; CHECK-NEXT: [[TMP3:%.*]] = icmp ne i8 [[TMP2]], 1
57
55
; CHECK-NEXT: ret i1 [[TMP3]]
58
56
;
59
57
%1 = sext i8 %x to i32
0 commit comments