@@ -1246,10 +1246,7 @@ define i1 @extract_value_smul_fail(i8 %xx, i8 %yy) {
1246
1246
1247
1247
define i8 @known_self_mul_bit_0_set (i8 noundef %x ) {
1248
1248
; CHECK-LABEL: @known_self_mul_bit_0_set(
1249
- ; CHECK-NEXT: [[BIT_0_SET:%.*]] = or i8 [[X:%.*]], 1
1250
- ; CHECK-NEXT: [[SELF_MUL:%.*]] = mul i8 [[BIT_0_SET]], [[BIT_0_SET]]
1251
- ; CHECK-NEXT: [[R:%.*]] = and i8 [[SELF_MUL]], 4
1252
- ; CHECK-NEXT: ret i8 [[R]]
1249
+ ; CHECK-NEXT: ret i8 0
1253
1250
;
1254
1251
%bit_0_set = or i8 %x , 1
1255
1252
%self_mul = mul i8 %bit_0_set , %bit_0_set
@@ -1259,10 +1256,7 @@ define i8 @known_self_mul_bit_0_set(i8 noundef %x) {
1259
1256
1260
1257
define i8 @known_self_mul_bit_0_unset (i8 noundef %x ) {
1261
1258
; CHECK-LABEL: @known_self_mul_bit_0_unset(
1262
- ; CHECK-NEXT: [[BIT_0_UNSET:%.*]] = and i8 [[X:%.*]], -2
1263
- ; CHECK-NEXT: [[SELF_MUL:%.*]] = mul i8 [[BIT_0_UNSET]], [[BIT_0_UNSET]]
1264
- ; CHECK-NEXT: [[R:%.*]] = and i8 [[SELF_MUL]], 8
1265
- ; CHECK-NEXT: ret i8 [[R]]
1259
+ ; CHECK-NEXT: ret i8 0
1266
1260
;
1267
1261
%bit_0_unset = and i8 %x , -2
1268
1262
%self_mul = mul i8 %bit_0_unset , %bit_0_unset
@@ -1272,11 +1266,7 @@ define i8 @known_self_mul_bit_0_unset(i8 noundef %x) {
1272
1266
1273
1267
define i8 @known_self_mul_bit_1_set_bit_0_unset (i8 noundef %x ) {
1274
1268
; CHECK-LABEL: @known_self_mul_bit_1_set_bit_0_unset(
1275
- ; CHECK-NEXT: [[LOWER_2_UNSET:%.*]] = and i8 [[X:%.*]], -4
1276
- ; CHECK-NEXT: [[BIT_1_SET_BIT_0_UNSET:%.*]] = or disjoint i8 [[LOWER_2_UNSET]], 2
1277
- ; CHECK-NEXT: [[SELF_MUL:%.*]] = mul i8 [[BIT_1_SET_BIT_0_UNSET]], [[BIT_1_SET_BIT_0_UNSET]]
1278
- ; CHECK-NEXT: [[R:%.*]] = and i8 [[SELF_MUL]], 24
1279
- ; CHECK-NEXT: ret i8 [[R]]
1269
+ ; CHECK-NEXT: ret i8 0
1280
1270
;
1281
1271
%lower_2_unset = and i8 %x , -4
1282
1272
%bit_1_set_bit_0_unset = or disjoint i8 %lower_2_unset , 2
@@ -1287,11 +1277,7 @@ define i8 @known_self_mul_bit_1_set_bit_0_unset(i8 noundef %x) {
1287
1277
1288
1278
define i4 @known_self_mul_bit_1_set_bit_0_unset_i4 (i4 noundef %x ) {
1289
1279
; CHECK-LABEL: @known_self_mul_bit_1_set_bit_0_unset_i4(
1290
- ; CHECK-NEXT: [[LOWER_2_UNSET:%.*]] = and i4 [[X:%.*]], -4
1291
- ; CHECK-NEXT: [[BIT_1_SET_BIT_0_UNSET:%.*]] = or disjoint i4 [[LOWER_2_UNSET]], 2
1292
- ; CHECK-NEXT: [[SELF_MUL:%.*]] = mul i4 [[BIT_1_SET_BIT_0_UNSET]], [[BIT_1_SET_BIT_0_UNSET]]
1293
- ; CHECK-NEXT: [[R:%.*]] = and i4 [[SELF_MUL]], -8
1294
- ; CHECK-NEXT: ret i4 [[R]]
1280
+ ; CHECK-NEXT: ret i4 0
1295
1281
;
1296
1282
%lower_2_unset = and i4 %x , -4
1297
1283
%bit_1_set_bit_0_unset = or disjoint i4 %lower_2_unset , 2
0 commit comments