@@ -9,10 +9,8 @@ declare void @use(i32)
99define i1 @cvt_icmp_0_zext_plus_zext_eq_i16 (i16 %arg , i16 %arg1 ) {
1010; CHECK-LABEL: @cvt_icmp_0_zext_plus_zext_eq_i16(
1111; CHECK-NEXT: bb:
12- ; CHECK-NEXT: [[I:%.*]] = zext i16 [[ARG:%.*]] to i32
13- ; CHECK-NEXT: [[I2:%.*]] = zext i16 [[ARG1:%.*]] to i32
14- ; CHECK-NEXT: [[I3:%.*]] = sub nsw i32 0, [[I]]
15- ; CHECK-NEXT: [[I4:%.*]] = icmp eq i32 [[I2]], [[I3]]
12+ ; CHECK-NEXT: [[TMP0:%.*]] = or i16 [[ARG1:%.*]], [[ARG:%.*]]
13+ ; CHECK-NEXT: [[I4:%.*]] = icmp eq i16 [[TMP0]], 0
1614; CHECK-NEXT: ret i1 [[I4]]
1715;
1816bb:
2725define i1 @cvt_icmp_0_zext_plus_zext_eq_i8 (i8 %arg , i8 %arg1 ) {
2826; CHECK-LABEL: @cvt_icmp_0_zext_plus_zext_eq_i8(
2927; CHECK-NEXT: bb:
30- ; CHECK-NEXT: [[I:%.*]] = zext i8 [[ARG:%.*]] to i32
31- ; CHECK-NEXT: [[I2:%.*]] = zext i8 [[ARG1:%.*]] to i32
32- ; CHECK-NEXT: [[I3:%.*]] = sub nsw i32 0, [[I]]
33- ; CHECK-NEXT: [[I4:%.*]] = icmp eq i32 [[I2]], [[I3]]
28+ ; CHECK-NEXT: [[TMP0:%.*]] = or i8 [[ARG1:%.*]], [[ARG:%.*]]
29+ ; CHECK-NEXT: [[I4:%.*]] = icmp eq i8 [[TMP0]], 0
3430; CHECK-NEXT: ret i1 [[I4]]
3531;
3632bb:
@@ -3005,8 +3001,8 @@ define i1 @icmp_dec_notnonzero(i8 %x) {
30053001
30063002define i1 @icmp_addnuw_nonzero (i8 %x , i8 %y ) {
30073003; CHECK-LABEL: @icmp_addnuw_nonzero(
3008- ; CHECK-NEXT: [[I :%.*]] = sub i8 0 , [[Y:%.*]]
3009- ; CHECK-NEXT: [[C:%.*]] = icmp eq i8 [[I ]], [[X:%.*]]
3004+ ; CHECK-NEXT: [[TMP1 :%.*]] = or i8 [[X:%.*]] , [[Y:%.*]]
3005+ ; CHECK-NEXT: [[C:%.*]] = icmp eq i8 [[TMP1 ]], 0
30103006; CHECK-NEXT: ret i1 [[C]]
30113007;
30123008 %i = add nuw i8 %x , %y
0 commit comments