@@ -1515,10 +1515,8 @@ define void @test_trunc_bittest(i8 %a) {
15151515; CHECK-NEXT: [[TRUNC:%.*]] = trunc i8 [[A:%.*]] to i1
15161516; CHECK-NEXT: br i1 [[TRUNC]], label [[IF_TRUE:%.*]], label [[IF_FALSE:%.*]]
15171517; 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)
15221520; CHECK-NEXT: [[CMP3:%.*]] = icmp ne i8 [[A]], 1
15231521; CHECK-NEXT: call void @check1(i1 [[CMP3]])
15241522; CHECK-NEXT: [[CMP4:%.*]] = icmp eq i8 [[A]], 1
@@ -1559,10 +1557,8 @@ define void @test_trunc_not_bittest(i8 %a) {
15591557; CHECK-NEXT: [[NOT:%.*]] = xor i1 [[TRUNC]], true
15601558; CHECK-NEXT: br i1 [[NOT]], label [[IF_FALSE:%.*]], label [[IF_TRUE:%.*]]
15611559; CHECK: if.true:
1562- ; CHECK-NEXT: [[CMP1:%.*]] = icmp ne i8 [[A]], -1
1563- ; CHECK-NEXT: call void @check1(i1 [[CMP1]])
1564- ; CHECK-NEXT: [[CMP2:%.*]] = icmp eq i8 [[A]], -1
1565- ; CHECK-NEXT: call void @check1(i1 [[CMP2]])
1560+ ; CHECK-NEXT: call void @check1(i1 true)
1561+ ; CHECK-NEXT: call void @check1(i1 false)
15661562; CHECK-NEXT: [[CMP3:%.*]] = icmp ne i8 [[A]], 0
15671563; CHECK-NEXT: call void @check1(i1 [[CMP3]])
15681564; CHECK-NEXT: [[CMP4:%.*]] = icmp eq i8 [[A]], 0
@@ -1603,14 +1599,10 @@ define void @test_trunc_nuw_bittest(i8 %a) {
16031599; CHECK-NEXT: [[TRUNC:%.*]] = trunc nuw i8 [[A:%.*]] to i1
16041600; CHECK-NEXT: br i1 [[TRUNC]], label [[IF_TRUE:%.*]], label [[IF_FALSE:%.*]]
16051601; CHECK: if.true:
1606- ; CHECK-NEXT: [[CMP1:%.*]] = icmp ne i8 [[A]], 0
1607- ; CHECK-NEXT: call void @check1(i1 [[CMP1]])
1608- ; CHECK-NEXT: [[CMP2:%.*]] = icmp eq i8 [[A]], 0
1609- ; CHECK-NEXT: call void @check1(i1 [[CMP2]])
1610- ; CHECK-NEXT: [[CMP3:%.*]] = icmp ne i8 [[A]], 1
1611- ; CHECK-NEXT: call void @check1(i1 [[CMP3]])
1612- ; CHECK-NEXT: [[CMP4:%.*]] = icmp eq i8 [[A]], 1
1613- ; CHECK-NEXT: call void @check1(i1 [[CMP4]])
1602+ ; CHECK-NEXT: call void @check1(i1 true)
1603+ ; CHECK-NEXT: call void @check1(i1 false)
1604+ ; CHECK-NEXT: call void @check1(i1 false)
1605+ ; CHECK-NEXT: call void @check1(i1 true)
16141606; CHECK-NEXT: ret void
16151607; CHECK: if.false:
16161608; CHECK-NEXT: ret void
@@ -1639,14 +1631,10 @@ define void @test_trunc_nuw_not_bittest(i8 %a) {
16391631; CHECK-NEXT: [[NOT:%.*]] = xor i1 [[TRUNC]], true
16401632; CHECK-NEXT: br i1 [[NOT]], label [[IF_TRUE:%.*]], label [[IF_FALSE:%.*]]
16411633; CHECK: if.true:
1642- ; CHECK-NEXT: [[CMP1:%.*]] = icmp ne i8 [[A]], 0
1643- ; CHECK-NEXT: call void @check1(i1 [[CMP1]])
1644- ; CHECK-NEXT: [[CMP2:%.*]] = icmp eq i8 [[A]], 0
1645- ; CHECK-NEXT: call void @check1(i1 [[CMP2]])
1646- ; CHECK-NEXT: [[CMP3:%.*]] = icmp ne i8 [[A]], 1
1647- ; CHECK-NEXT: call void @check1(i1 [[CMP3]])
1648- ; CHECK-NEXT: [[CMP4:%.*]] = icmp eq i8 [[A]], 1
1649- ; CHECK-NEXT: call void @check1(i1 [[CMP4]])
1634+ ; CHECK-NEXT: call void @check1(i1 false)
1635+ ; CHECK-NEXT: call void @check1(i1 true)
1636+ ; CHECK-NEXT: call void @check1(i1 true)
1637+ ; CHECK-NEXT: call void @check1(i1 false)
16501638; CHECK-NEXT: ret void
16511639; CHECK: if.false:
16521640; CHECK-NEXT: ret void
0 commit comments