summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/ctpop-bswap-bitreverse.ll
diff options
context:
space:
mode:
authorDavid Bolvansky <david.bolvansky@gmail.com>2019-04-03 08:08:44 +0000
committerDavid Bolvansky <david.bolvansky@gmail.com>2019-04-03 08:08:44 +0000
commit937720e75b4692d6ec394fda3e23675d14449c86 (patch)
tree6af554d14d7ae01dc1378376a798b12d57211a4e /llvm/test/Transforms/InstCombine/ctpop-bswap-bitreverse.ll
parent94b867dc7c202162f587fd3345eccdb09bff2a77 (diff)
downloadbcm5719-llvm-937720e75b4692d6ec394fda3e23675d14449c86.tar.gz
bcm5719-llvm-937720e75b4692d6ec394fda3e23675d14449c86.zip
[InstCombine] Simplify ctpop with bitreverse/bswap
Summary: Fixes PR41337 Reviewers: spatel Reviewed By: spatel Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D60148 llvm-svn: 357564
Diffstat (limited to 'llvm/test/Transforms/InstCombine/ctpop-bswap-bitreverse.ll')
-rw-r--r--llvm/test/Transforms/InstCombine/ctpop-bswap-bitreverse.ll12
1 files changed, 4 insertions, 8 deletions
diff --git a/llvm/test/Transforms/InstCombine/ctpop-bswap-bitreverse.ll b/llvm/test/Transforms/InstCombine/ctpop-bswap-bitreverse.ll
index 5005b3d99b3..00e2aa88666 100644
--- a/llvm/test/Transforms/InstCombine/ctpop-bswap-bitreverse.ll
+++ b/llvm/test/Transforms/InstCombine/ctpop-bswap-bitreverse.ll
@@ -3,8 +3,7 @@
define i32 @ctpop_bitreverse(i32 %x) {
; CHECK-LABEL: @ctpop_bitreverse(
-; CHECK-NEXT: [[A:%.*]] = tail call i32 @llvm.bitreverse.i32(i32 [[X:%.*]])
-; CHECK-NEXT: [[B:%.*]] = tail call i32 @llvm.ctpop.i32(i32 [[A]]), !range !0
+; CHECK-NEXT: [[B:%.*]] = tail call i32 @llvm.ctpop.i32(i32 [[X:%.*]]), !range !0
; CHECK-NEXT: ret i32 [[B]]
;
%a = tail call i32 @llvm.bitreverse.i32(i32 %x)
@@ -14,8 +13,7 @@ define i32 @ctpop_bitreverse(i32 %x) {
define <2 x i64> @ctpop_bitreverse_vec(<2 x i64> %x) {
; CHECK-LABEL: @ctpop_bitreverse_vec(
-; CHECK-NEXT: [[A:%.*]] = tail call <2 x i64> @llvm.bitreverse.v2i64(<2 x i64> [[X:%.*]])
-; CHECK-NEXT: [[B:%.*]] = tail call <2 x i64> @llvm.ctpop.v2i64(<2 x i64> [[A]])
+; CHECK-NEXT: [[B:%.*]] = tail call <2 x i64> @llvm.ctpop.v2i64(<2 x i64> [[X:%.*]])
; CHECK-NEXT: ret <2 x i64> [[B]]
;
%a = tail call <2 x i64> @llvm.bitreverse.v2i64(<2 x i64> %x)
@@ -25,8 +23,7 @@ define <2 x i64> @ctpop_bitreverse_vec(<2 x i64> %x) {
define i32 @ctpop_bswap(i32 %x) {
; CHECK-LABEL: @ctpop_bswap(
-; CHECK-NEXT: [[A:%.*]] = tail call i32 @llvm.bswap.i32(i32 [[X:%.*]])
-; CHECK-NEXT: [[B:%.*]] = tail call i32 @llvm.ctpop.i32(i32 [[A]]), !range !0
+; CHECK-NEXT: [[B:%.*]] = tail call i32 @llvm.ctpop.i32(i32 [[X:%.*]]), !range !0
; CHECK-NEXT: ret i32 [[B]]
;
%a = tail call i32 @llvm.bswap.i32(i32 %x)
@@ -36,8 +33,7 @@ define i32 @ctpop_bswap(i32 %x) {
define <2 x i64> @ctpop_bswap_vec(<2 x i64> %x) {
; CHECK-LABEL: @ctpop_bswap_vec(
-; CHECK-NEXT: [[A:%.*]] = tail call <2 x i64> @llvm.bswap.v2i64(<2 x i64> [[X:%.*]])
-; CHECK-NEXT: [[B:%.*]] = tail call <2 x i64> @llvm.ctpop.v2i64(<2 x i64> [[A]])
+; CHECK-NEXT: [[B:%.*]] = tail call <2 x i64> @llvm.ctpop.v2i64(<2 x i64> [[X:%.*]])
; CHECK-NEXT: ret <2 x i64> [[B]]
;
%a = tail call <2 x i64> @llvm.bswap.v2i64(<2 x i64> %x)
OpenPOWER on IntegriCloud