@@ -1515,10 +1515,8 @@ define void @test_trunc_bittest(i8 %a) {
1515
1515
; CHECK-NEXT: [[TRUNC:%.*]] = trunc i8 [[A:%.*]] to i1
1516
1516
; CHECK-NEXT: br i1 [[TRUNC]], label [[IF_TRUE:%.*]], label [[IF_FALSE:%.*]]
1517
1517
; CHECK: if.true:
1518
- ; CHECK-NEXT: [[CMP1:%.*]] = icmp ne i8 [[A]], 0
1519
- ; CHECK-NEXT: call void @check1(i1 [[CMP1]])
1520
- ; CHECK-NEXT: [[CMP2:%.*]] = icmp eq i8 [[A]], 0
1521
- ; CHECK-NEXT: call void @check1(i1 [[CMP2]])
1518
+ ; CHECK-NEXT: call void @check1(i1 true)
1519
+ ; CHECK-NEXT: call void @check1(i1 false)
1522
1520
; CHECK-NEXT: ret void
1523
1521
; CHECK: if.false:
1524
1522
; CHECK-NEXT: ret void
@@ -1543,10 +1541,8 @@ define void @test_trunc_not_bittest(i8 %a) {
1543
1541
; CHECK-NEXT: [[NOT:%.*]] = xor i1 [[TRUNC]], true
1544
1542
; CHECK-NEXT: br i1 [[NOT]], label [[IF_FALSE:%.*]], label [[IF_TRUE:%.*]]
1545
1543
; CHECK: if.true:
1546
- ; CHECK-NEXT: [[CMP1:%.*]] = icmp ne i8 [[A]], -1
1547
- ; CHECK-NEXT: call void @check1(i1 [[CMP1]])
1548
- ; CHECK-NEXT: [[CMP2:%.*]] = icmp eq i8 [[A]], -1
1549
- ; CHECK-NEXT: call void @check1(i1 [[CMP2]])
1544
+ ; CHECK-NEXT: call void @check1(i1 true)
1545
+ ; CHECK-NEXT: call void @check1(i1 false)
1550
1546
; CHECK-NEXT: ret void
1551
1547
; CHECK: if.false:
1552
1548
; CHECK-NEXT: ret void
@@ -1565,51 +1561,3 @@ if.true:
1565
1561
if.false:
1566
1562
ret void
1567
1563
}
1568
-
1569
- define void @test_icmp_trunc (i8 %a ) {
1570
- ; CHECK-LABEL: @test_icmp_trunc(
1571
- ; CHECK-NEXT: [[CMP1:%.*]] = icmp ne i8 [[A:%.*]], 0
1572
- ; CHECK-NEXT: br i1 [[CMP1]], label [[IF_TRUE:%.*]], label [[IF_FALSE:%.*]]
1573
- ; CHECK: if.true:
1574
- ; CHECK-NEXT: [[TRUNC:%.*]] = trunc i8 [[A]] to i1
1575
- ; CHECK-NEXT: call void @check1(i1 [[TRUNC]])
1576
- ; CHECK-NEXT: ret void
1577
- ; CHECK: if.false:
1578
- ; CHECK-NEXT: ret void
1579
- ;
1580
- %cmp1 = icmp ne i8 %a , 0
1581
- br i1 %cmp1 , label %if.true , label %if.false
1582
-
1583
- if.true:
1584
- %trunc = trunc i8 %a to i1
1585
- call void @check1 (i1 %trunc )
1586
- ret void
1587
-
1588
- if.false:
1589
- ret void
1590
- }
1591
-
1592
- define void @test_icmp_trunc_not (i8 %a ) {
1593
- ; CHECK-LABEL: @test_icmp_trunc_not(
1594
- ; CHECK-NEXT: [[CMP1:%.*]] = icmp eq i8 [[A:%.*]], -1
1595
- ; CHECK-NEXT: br i1 [[CMP1]], label [[IF_TRUE:%.*]], label [[IF_FALSE:%.*]]
1596
- ; CHECK: if.true:
1597
- ; CHECK-NEXT: [[TRUNC:%.*]] = trunc i8 [[A]] to i1
1598
- ; CHECK-NEXT: [[NOT:%.*]] = xor i1 [[TRUNC]], true
1599
- ; CHECK-NEXT: call void @check1(i1 [[TRUNC]])
1600
- ; CHECK-NEXT: ret void
1601
- ; CHECK: if.false:
1602
- ; CHECK-NEXT: ret void
1603
- ;
1604
- %cmp1 = icmp eq i8 %a , -1
1605
- br i1 %cmp1 , label %if.true , label %if.false
1606
-
1607
- if.true:
1608
- %trunc = trunc i8 %a to i1
1609
- %not = xor i1 %trunc , true
1610
- call void @check1 (i1 %trunc )
1611
- ret void
1612
-
1613
- if.false:
1614
- ret void
1615
- }
0 commit comments