@@ -1489,8 +1489,8 @@ define i4 @PR96857_xor_without_noundef(i4 %val0, i4 %val1, i4 %val2) {
1489
1489
define i32 @or_disjoint_with_xor (i32 %a , i32 %b , i32 %c ) {
1490
1490
; CHECK-LABEL: @or_disjoint_with_xor(
1491
1491
; CHECK-NEXT: entry:
1492
- ; CHECK-NEXT: [[OR :%.*]] = or disjoint i32 [[A:%.*]], [[B :%.*]]
1493
- ; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[OR ]], [[C :%.*]]
1492
+ ; CHECK-NEXT: [[TMP0 :%.*]] = xor i32 [[A:%.*]], [[C :%.*]]
1493
+ ; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[TMP0 ]], [[B :%.*]]
1494
1494
; CHECK-NEXT: ret i32 [[XOR]]
1495
1495
;
1496
1496
entry:
@@ -1502,8 +1502,8 @@ entry:
1502
1502
define i32 @xor_with_or_disjoint (i32 %a , i32 %b , i32 %c ) {
1503
1503
; CHECK-LABEL: @xor_with_or_disjoint(
1504
1504
; CHECK-NEXT: entry:
1505
- ; CHECK-NEXT: [[OR :%.*]] = or disjoint i32 [[A:%.*]], [[B :%.*]]
1506
- ; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[C:%.* ]], [[OR ]]
1505
+ ; CHECK-NEXT: [[TMP0 :%.*]] = xor i32 [[A:%.*]], [[C :%.*]]
1506
+ ; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[TMP0 ]], [[B:%.* ]]
1507
1507
; CHECK-NEXT: ret i32 [[XOR]]
1508
1508
;
1509
1509
entry:
@@ -1515,8 +1515,8 @@ entry:
1515
1515
define <2 x i32 > @or_disjoint_with_xor_vec (<2 x i32 > %a , < 2 x i32 > %b , <2 x i32 > %c ) {
1516
1516
; CHECK-LABEL: @or_disjoint_with_xor_vec(
1517
1517
; CHECK-NEXT: entry:
1518
- ; CHECK-NEXT: [[OR :%.*]] = or disjoint <2 x i32> [[A:%.*]], [[B :%.*]]
1519
- ; CHECK-NEXT: [[XOR:%.*]] = xor <2 x i32> [[OR ]], [[C :%.*]]
1518
+ ; CHECK-NEXT: [[TMP0 :%.*]] = xor <2 x i32> [[A:%.*]], [[C :%.*]]
1519
+ ; CHECK-NEXT: [[XOR:%.*]] = xor <2 x i32> [[TMP0 ]], [[B :%.*]]
1520
1520
; CHECK-NEXT: ret <2 x i32> [[XOR]]
1521
1521
;
1522
1522
entry:
@@ -1528,8 +1528,8 @@ entry:
1528
1528
define <2 x i32 > @xor_with_or_disjoint_vec (<2 x i32 > %a , < 2 x i32 > %b , <2 x i32 > %c ) {
1529
1529
; CHECK-LABEL: @xor_with_or_disjoint_vec(
1530
1530
; CHECK-NEXT: entry:
1531
- ; CHECK-NEXT: [[OR :%.*]] = or disjoint <2 x i32> [[A:%.*]], [[B :%.*]]
1532
- ; CHECK-NEXT: [[XOR:%.*]] = xor <2 x i32> [[C:%.* ]], [[OR ]]
1531
+ ; CHECK-NEXT: [[TMP0 :%.*]] = xor <2 x i32> [[A:%.*]], [[C :%.*]]
1532
+ ; CHECK-NEXT: [[XOR:%.*]] = xor <2 x i32> [[TMP0 ]], [[B:%.* ]]
1533
1533
; CHECK-NEXT: ret <2 x i32> [[XOR]]
1534
1534
;
1535
1535
entry:
@@ -1541,10 +1541,9 @@ entry:
1541
1541
define i32 @select_or_disjoint_xor (i32 %a , i1 %c ) {
1542
1542
; CHECK-LABEL: @select_or_disjoint_xor(
1543
1543
; CHECK-NEXT: entry:
1544
- ; CHECK-NEXT: [[S:%.*]] = select i1 [[C:%.*]], i32 0, i32 4
1545
1544
; CHECK-NEXT: [[SHL:%.*]] = shl i32 [[A:%.*]], 4
1546
- ; CHECK-NEXT: [[OR :%.*]] = or disjoint i32 [[S ]], [[SHL]]
1547
- ; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[OR ]], 4
1545
+ ; CHECK-NEXT: [[TMP0 :%.*]] = select i1 [[C:%.* ]], i32 4, i32 0
1546
+ ; CHECK-NEXT: [[XOR:%.*]] = or disjoint i32 [[TMP0 ]], [[SHL]]
1548
1547
; CHECK-NEXT: ret i32 [[XOR]]
1549
1548
;
1550
1549
entry:
@@ -1558,10 +1557,9 @@ entry:
1558
1557
define <2 x i32 > @select_or_disjoint_xor_vec (<2 x i32 > %a , i1 %c ) {
1559
1558
; CHECK-LABEL: @select_or_disjoint_xor_vec(
1560
1559
; CHECK-NEXT: entry:
1561
- ; CHECK-NEXT: [[S:%.*]] = select i1 [[C:%.*]], <2 x i32> zeroinitializer, <2 x i32> <i32 4, i32 4>
1562
1560
; CHECK-NEXT: [[SHL:%.*]] = shl <2 x i32> [[A:%.*]], <i32 4, i32 4>
1563
- ; CHECK-NEXT: [[OR :%.*]] = or disjoint <2 x i32> [[S]], [[SHL]]
1564
- ; CHECK-NEXT: [[XOR:%.*]] = xor <2 x i32> [[OR ]], <i32 4, i32 4>
1561
+ ; CHECK-NEXT: [[TMP0 :%.*]] = select i1 [[C:%.*]], <2 x i32> <i32 4, i32 4>, <2 x i32> zeroinitializer
1562
+ ; CHECK-NEXT: [[XOR:%.*]] = or disjoint <2 x i32> [[TMP0 ]], [[SHL]]
1565
1563
; CHECK-NEXT: ret <2 x i32> [[XOR]]
1566
1564
;
1567
1565
entry:
0 commit comments