@@ -6,9 +6,8 @@ declare void @use(i8)
66define i1 @fold_sext_to_and (i8 %x ) {
77; CHECK-LABEL: define i1 @fold_sext_to_and(
88; 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
1211; CHECK-NEXT: ret i1 [[TMP3]]
1312;
1413 %1 = sext i8 %x to i32
@@ -20,9 +19,8 @@ define i1 @fold_sext_to_and(i8 %x) {
2019define i1 @fold_sext_to_and1 (i8 %x ) {
2120; CHECK-LABEL: define i1 @fold_sext_to_and1(
2221; 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
2624; CHECK-NEXT: ret i1 [[TMP3]]
2725;
2826 %1 = sext i8 %x to i32
@@ -36,8 +34,8 @@ define i1 @fold_sext_to_and_multi_use(i8 %x) {
3634; CHECK-SAME: i8 [[X:%.*]]) {
3735; CHECK-NEXT: [[TMP1:%.*]] = sext i8 [[X]] to i32
3836; 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
4139; CHECK-NEXT: ret i1 [[TMP3]]
4240;
4341 %1 = sext i8 %x to i32
@@ -52,8 +50,8 @@ define i1 @fold_sext_to_and_multi_use1(i8 %x) {
5250; CHECK-SAME: i8 [[X:%.*]]) {
5351; CHECK-NEXT: [[TMP1:%.*]] = sext i8 [[X]] to i32
5452; 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
5755; CHECK-NEXT: ret i1 [[TMP3]]
5856;
5957 %1 = sext i8 %x to i32
0 commit comments