This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Use generic bitreverse intrinsic, rather than AArch64 specific.
ClosedPublic

Authored by mcrosier on Jan 6 2017, 7:54 AM.

Details

Summary

Per the title, this patch replaces the target-specific intrinsic with a target-independent equivalent.

This requires the LLVM side change here: https://reviews.llvm.org/D28379.

In D28379, making the bitreverse intrinsic legal for AArch64 and lowering to a rbit instruction accordingly.

Chad

Diff Detail

Repository
rL LLVM

Event Timeline

mcrosier updated this revision to Diff 83367.Jan 6 2017, 7:54 AM
mcrosier retitled this revision from to [AArch64] Use generic bitreverse intrinsic, rather than AArch64 specific..
mcrosier updated this object.
mcrosier added a subscriber: cfe-commits.
RKSimon added inline comments.Jan 10 2017, 8:00 AM
test/CodeGen/arm_acle.c
247 ↗(On Diff #83367)

Since you're here is it worth dealing with the AARCH32 case as well? We know it works on the llvm side.

mcrosier added inline comments.Jan 10 2017, 8:46 AM
test/CodeGen/arm_acle.c
247 ↗(On Diff #83367)

I was thinking I would commit a separate patch once this one and D28379 were approved.

sbaranga accepted this revision.Jan 10 2017, 8:52 AM
sbaranga added a reviewer: sbaranga.
sbaranga added a subscriber: sbaranga.

This looks straight-forward to me. LGTM.

-Silviu

This revision is now accepted and ready to land.Jan 10 2017, 8:52 AM
This revision was automatically updated to reflect the committed changes.