@@ -1489,9 +1489,7 @@ define i4 @PR96857_xor_without_noundef(i4 %val0, i4 %val1, i4 %val2) {
1489
1489
define i32 @or_disjoint_with_xor (i32 %a , i32 %b ) {
1490
1490
; CHECK-LABEL: @or_disjoint_with_xor(
1491
1491
; CHECK-NEXT: entry:
1492
- ; CHECK-NEXT: [[TMP0:%.*]] = xor i32 [[A:%.*]], -1
1493
- ; CHECK-NEXT: [[XOR:%.*]] = and i32 [[B:%.*]], [[TMP0]]
1494
- ; CHECK-NEXT: ret i32 [[XOR]]
1492
+ ; CHECK-NEXT: ret i32 [[B:%.*]]
1495
1493
;
1496
1494
entry:
1497
1495
%or = or disjoint i32 %a , %b
@@ -1502,9 +1500,7 @@ entry:
1502
1500
define i32 @xor_with_or_disjoint (i32 %a , i32 %b , i32 %c ) {
1503
1501
; CHECK-LABEL: @xor_with_or_disjoint(
1504
1502
; CHECK-NEXT: entry:
1505
- ; CHECK-NEXT: [[TMP0:%.*]] = xor i32 [[A:%.*]], -1
1506
- ; CHECK-NEXT: [[XOR:%.*]] = and i32 [[B:%.*]], [[TMP0]]
1507
- ; CHECK-NEXT: ret i32 [[XOR]]
1503
+ ; CHECK-NEXT: ret i32 [[B:%.*]]
1508
1504
;
1509
1505
entry:
1510
1506
%or = or disjoint i32 %a , %b
@@ -1515,9 +1511,7 @@ entry:
1515
1511
define <2 x i32 > @or_disjoint_with_xor_vec (<2 x i32 > %a , < 2 x i32 > %b , <2 x i32 > %c ) {
1516
1512
; CHECK-LABEL: @or_disjoint_with_xor_vec(
1517
1513
; CHECK-NEXT: entry:
1518
- ; CHECK-NEXT: [[TMP0:%.*]] = xor <2 x i32> [[A:%.*]], <i32 -1, i32 -1>
1519
- ; CHECK-NEXT: [[XOR:%.*]] = and <2 x i32> [[B:%.*]], [[TMP0]]
1520
- ; CHECK-NEXT: ret <2 x i32> [[XOR]]
1514
+ ; CHECK-NEXT: ret <2 x i32> [[B:%.*]]
1521
1515
;
1522
1516
entry:
1523
1517
%or = or disjoint <2 x i32 > %a , %b
@@ -1528,9 +1522,7 @@ entry:
1528
1522
define <2 x i32 > @xor_with_or_disjoint_vec (<2 x i32 > %a , < 2 x i32 > %b , <2 x i32 > %c ) {
1529
1523
; CHECK-LABEL: @xor_with_or_disjoint_vec(
1530
1524
; CHECK-NEXT: entry:
1531
- ; CHECK-NEXT: [[TMP0:%.*]] = xor <2 x i32> [[A:%.*]], <i32 -1, i32 -1>
1532
- ; CHECK-NEXT: [[XOR:%.*]] = and <2 x i32> [[B:%.*]], [[TMP0]]
1533
- ; CHECK-NEXT: ret <2 x i32> [[XOR]]
1525
+ ; CHECK-NEXT: ret <2 x i32> [[B:%.*]]
1534
1526
;
1535
1527
entry:
1536
1528
%or = or disjoint <2 x i32 > %a , %b
0 commit comments