@@ -9,10 +9,8 @@ declare void @use(i32)
9
9
define i1 @cvt_icmp_0_zext_plus_zext_eq_i16 (i16 %arg , i16 %arg1 ) {
10
10
; CHECK-LABEL: @cvt_icmp_0_zext_plus_zext_eq_i16(
11
11
; 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
16
14
; CHECK-NEXT: ret i1 [[I4]]
17
15
;
18
16
bb:
27
25
define i1 @cvt_icmp_0_zext_plus_zext_eq_i8 (i8 %arg , i8 %arg1 ) {
28
26
; CHECK-LABEL: @cvt_icmp_0_zext_plus_zext_eq_i8(
29
27
; 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
34
30
; CHECK-NEXT: ret i1 [[I4]]
35
31
;
36
32
bb:
@@ -3005,8 +3001,8 @@ define i1 @icmp_dec_notnonzero(i8 %x) {
3005
3001
3006
3002
define i1 @icmp_addnuw_nonzero (i8 %x , i8 %y ) {
3007
3003
; 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
3010
3006
; CHECK-NEXT: ret i1 [[C]]
3011
3007
;
3012
3008
%i = add nuw i8 %x , %y
0 commit comments