File tree 1 file changed +17
-0
lines changed
llvm/test/Transforms/InstSimplify 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -1140,3 +1140,20 @@ define <2 x i1> @heterogeneous_constvector(<2 x i8> %x) {
1140
1140
%c = icmp ult <2 x i8 > %x , <i8 undef , i8 poison>
1141
1141
ret <2 x i1 > %c
1142
1142
}
1143
+
1144
+ define i8 @infer_sub_with_knownbits_info (i8 %a , i8 %b ) {
1145
+ ; CHECK-LABEL: @infer_sub_with_knownbits_info(
1146
+ ; CHECK-NEXT: [[A1:%.*]] = or i8 [[A:%.*]], 1
1147
+ ; CHECK-NEXT: [[A2:%.*]] = shl i8 [[B:%.*]], 1
1148
+ ; CHECK-NEXT: [[SUB:%.*]] = sub i8 [[A1]], [[A2]]
1149
+ ; CHECK-NEXT: [[UMAX:%.*]] = tail call i8 @llvm.umax.i8(i8 [[SUB]], i8 1)
1150
+ ; CHECK-NEXT: ret i8 [[UMAX]]
1151
+ ;
1152
+ %a1 = or i8 %a , 1
1153
+ %a2 = shl i8 %b , 1
1154
+ %sub = sub i8 %a1 , %a2
1155
+ %umax = tail call i8 @llvm.umax.i8 (i8 %sub , i8 1 )
1156
+ ret i8 %umax
1157
+ }
1158
+
1159
+ declare i8 @llvm.umax.i8 (i8 , i8 )
You can’t perform that action at this time.
0 commit comments