@@ -3963,10 +3963,9 @@ define <8 x i1> @bitreverse_vec_ne(<8 x i16> %x, <8 x i16> %y) {
3963
3963
define i1 @knownbits1 (i8 %a , i8 %b ) {
3964
3964
; CHECK-LABEL: @knownbits1(
3965
3965
; CHECK-NEXT: [[A1:%.*]] = and i8 [[A:%.*]], 1
3966
- ; CHECK-NEXT: [[A2:%.*]] = or disjoint i8 [[A1]], 4
3967
3966
; CHECK-NEXT: [[B1:%.*]] = and i8 [[B:%.*]], 2
3968
- ; CHECK-NEXT: [[B2 :%.*]] = or disjoint i8 [[B1]], 5
3969
- ; CHECK-NEXT: [[C:%.*]] = icmp eq i8 [[A2 ]], [[B2 ]]
3967
+ ; CHECK-NEXT: [[TMP1 :%.*]] = or disjoint i8 [[B1]], 1
3968
+ ; CHECK-NEXT: [[C:%.*]] = icmp eq i8 [[A1 ]], [[TMP1 ]]
3970
3969
; CHECK-NEXT: ret i1 [[C]]
3971
3970
;
3972
3971
%a1 = and i8 %a , 5
@@ -3980,10 +3979,9 @@ define i1 @knownbits1(i8 %a, i8 %b) {
3980
3979
define i1 @knownbits2 (i8 %a , i8 %b ) {
3981
3980
; CHECK-LABEL: @knownbits2(
3982
3981
; CHECK-NEXT: [[A1:%.*]] = and i8 [[A:%.*]], 1
3983
- ; CHECK-NEXT: [[A2:%.*]] = or disjoint i8 [[A1]], 4
3984
3982
; CHECK-NEXT: [[B1:%.*]] = and i8 [[B:%.*]], 2
3985
- ; CHECK-NEXT: [[B2 :%.*]] = or disjoint i8 [[B1]], 5
3986
- ; CHECK-NEXT: [[C:%.*]] = icmp ne i8 [[A2 ]], [[B2 ]]
3983
+ ; CHECK-NEXT: [[TMP1 :%.*]] = or disjoint i8 [[B1]], 1
3984
+ ; CHECK-NEXT: [[C:%.*]] = icmp ne i8 [[A1 ]], [[TMP1 ]]
3987
3985
; CHECK-NEXT: ret i1 [[C]]
3988
3986
;
3989
3987
%a1 = and i8 %a , 5
@@ -3997,10 +3995,9 @@ define i1 @knownbits2(i8 %a, i8 %b) {
3997
3995
define i1 @knownbits3 (i8 %a , i8 %b ) {
3998
3996
; CHECK-LABEL: @knownbits3(
3999
3997
; CHECK-NEXT: [[A1:%.*]] = and i8 [[A:%.*]], 1
4000
- ; CHECK-NEXT: [[A2:%.*]] = or disjoint i8 [[A1]], 4
4001
3998
; CHECK-NEXT: [[B1:%.*]] = and i8 [[B:%.*]], 2
4002
- ; CHECK-NEXT: [[B2 :%.*]] = or disjoint i8 [[B1]], 5
4003
- ; CHECK-NEXT: [[C:%.*]] = icmp eq i8 [[B2 ]], [[A2 ]]
3999
+ ; CHECK-NEXT: [[TMP1 :%.*]] = or disjoint i8 [[B1]], 1
4000
+ ; CHECK-NEXT: [[C:%.*]] = icmp eq i8 [[TMP1 ]], [[A1 ]]
4004
4001
; CHECK-NEXT: ret i1 [[C]]
4005
4002
;
4006
4003
%a1 = and i8 %a , 5
@@ -4014,10 +4011,9 @@ define i1 @knownbits3(i8 %a, i8 %b) {
4014
4011
define <2 x i1 > @knownbits4 (<2 x i8 > %a , <2 x i8 > %b ) {
4015
4012
; CHECK-LABEL: @knownbits4(
4016
4013
; CHECK-NEXT: [[A1:%.*]] = and <2 x i8> [[A:%.*]], <i8 1, i8 1>
4017
- ; CHECK-NEXT: [[A2:%.*]] = or disjoint <2 x i8> [[A1]], <i8 4, i8 4>
4018
4014
; CHECK-NEXT: [[B1:%.*]] = and <2 x i8> [[B:%.*]], <i8 2, i8 2>
4019
- ; CHECK-NEXT: [[B2 :%.*]] = or disjoint <2 x i8> [[B1]], <i8 5 , i8 5 >
4020
- ; CHECK-NEXT: [[C:%.*]] = icmp ne <2 x i8> [[B2 ]], [[A2 ]]
4015
+ ; CHECK-NEXT: [[TMP1 :%.*]] = or disjoint <2 x i8> [[B1]], <i8 1 , i8 1 >
4016
+ ; CHECK-NEXT: [[C:%.*]] = icmp ne <2 x i8> [[TMP1 ]], [[A1 ]]
4021
4017
; CHECK-NEXT: ret <2 x i1> [[C]]
4022
4018
;
4023
4019
%a1 = and <2 x i8 > %a , <i8 5 , i8 5 >
@@ -4033,10 +4029,9 @@ define <2 x i1> @knownbits4(<2 x i8> %a, <2 x i8> %b) {
4033
4029
define i1 @knownbits5 (i8 %a , i8 %b ) {
4034
4030
; CHECK-LABEL: @knownbits5(
4035
4031
; CHECK-NEXT: [[A1:%.*]] = and i8 [[A:%.*]], -127
4036
- ; CHECK-NEXT: [[A2:%.*]] = or disjoint i8 [[A1]], 4
4037
4032
; CHECK-NEXT: [[B1:%.*]] = and i8 [[B:%.*]], 2
4038
- ; CHECK-NEXT: [[B2 :%.*]] = or disjoint i8 [[B1]], 5
4039
- ; CHECK-NEXT: [[C:%.*]] = icmp eq i8 [[A2 ]], [[B2 ]]
4033
+ ; CHECK-NEXT: [[TMP1 :%.*]] = or disjoint i8 [[B1]], 1
4034
+ ; CHECK-NEXT: [[C:%.*]] = icmp eq i8 [[A1 ]], [[TMP1 ]]
4040
4035
; CHECK-NEXT: ret i1 [[C]]
4041
4036
;
4042
4037
%a1 = and i8 %a , 133
@@ -4050,10 +4045,9 @@ define i1 @knownbits5(i8 %a, i8 %b) {
4050
4045
define i1 @knownbits6 (i8 %a , i8 %b ) {
4051
4046
; CHECK-LABEL: @knownbits6(
4052
4047
; CHECK-NEXT: [[A1:%.*]] = and i8 [[A:%.*]], -127
4053
- ; CHECK-NEXT: [[A2:%.*]] = or disjoint i8 [[A1]], 4
4054
4048
; CHECK-NEXT: [[B1:%.*]] = and i8 [[B:%.*]], 2
4055
- ; CHECK-NEXT: [[B2 :%.*]] = or disjoint i8 [[B1]], 5
4056
- ; CHECK-NEXT: [[C:%.*]] = icmp ne i8 [[A2 ]], [[B2 ]]
4049
+ ; CHECK-NEXT: [[TMP1 :%.*]] = or disjoint i8 [[B1]], 1
4050
+ ; CHECK-NEXT: [[C:%.*]] = icmp ne i8 [[A1 ]], [[TMP1 ]]
4057
4051
; CHECK-NEXT: ret i1 [[C]]
4058
4052
;
4059
4053
%a1 = and i8 %a , 133
@@ -4067,10 +4061,9 @@ define i1 @knownbits6(i8 %a, i8 %b) {
4067
4061
define <2 x i1 > @knownbits7 (<2 x i8 > %a , <2 x i8 > %b ) {
4068
4062
; CHECK-LABEL: @knownbits7(
4069
4063
; CHECK-NEXT: [[A1:%.*]] = and <2 x i8> [[A:%.*]], <i8 -127, i8 -127>
4070
- ; CHECK-NEXT: [[A2:%.*]] = or disjoint <2 x i8> [[A1]], <i8 4, i8 4>
4071
4064
; CHECK-NEXT: [[B1:%.*]] = and <2 x i8> [[B:%.*]], <i8 2, i8 2>
4072
- ; CHECK-NEXT: [[B2 :%.*]] = or disjoint <2 x i8> [[B1]], <i8 5 , i8 5 >
4073
- ; CHECK-NEXT: [[C:%.*]] = icmp eq <2 x i8> [[B2 ]], [[A2 ]]
4065
+ ; CHECK-NEXT: [[TMP1 :%.*]] = or disjoint <2 x i8> [[B1]], <i8 1 , i8 1 >
4066
+ ; CHECK-NEXT: [[C:%.*]] = icmp eq <2 x i8> [[TMP1 ]], [[A1 ]]
4074
4067
; CHECK-NEXT: ret <2 x i1> [[C]]
4075
4068
;
4076
4069
%a1 = and <2 x i8 > %a , <i8 133 , i8 133 >
@@ -4084,10 +4077,9 @@ define <2 x i1> @knownbits7(<2 x i8> %a, <2 x i8> %b) {
4084
4077
define i1 @knownbits8 (i8 %a , i8 %b ) {
4085
4078
; CHECK-LABEL: @knownbits8(
4086
4079
; CHECK-NEXT: [[A1:%.*]] = and i8 [[A:%.*]], -127
4087
- ; CHECK-NEXT: [[A2:%.*]] = or disjoint i8 [[A1]], 4
4088
4080
; CHECK-NEXT: [[B1:%.*]] = and i8 [[B:%.*]], 2
4089
- ; CHECK-NEXT: [[B2 :%.*]] = or disjoint i8 [[B1]], 5
4090
- ; CHECK-NEXT: [[C:%.*]] = icmp ne i8 [[B2 ]], [[A2 ]]
4081
+ ; CHECK-NEXT: [[TMP1 :%.*]] = or disjoint i8 [[B1]], 1
4082
+ ; CHECK-NEXT: [[C:%.*]] = icmp ne i8 [[TMP1 ]], [[A1 ]]
4091
4083
; CHECK-NEXT: ret i1 [[C]]
4092
4084
;
4093
4085
%a1 = and i8 %a , 133
0 commit comments