James Molloy 90111f79f9 [SDAG] Introduce a new BITREVERSE node along with a corresponding LLVM intrinsic
Several backends have instructions to reverse the order of bits in an integer. Conceptually matching such patterns is similar to @llvm.bswap, and it was mentioned in http://reviews.llvm.org/D14234 that it would be best if these patterns were matched in InstCombine instead of reimplemented in every different target.

This patch introduces an intrinsic @llvm.bitreverse.i* that operates similarly to @llvm.bswap. For plumbing purposes there is also a new ISD node ISD::BITREVERSE, with simple expansion and promotion support.

The intention is that InstCombine's BSWAP detection logic will be extended to support BITREVERSE too, and @llvm.bitreverse intrinsics emitted (if the backend supports lowering it efficiently).

llvm-svn: 252878
2015-11-12 12:29:09 +00:00
..
2013-03-27 06:52:27 +00:00
2015-07-28 20:38:29 +00:00
2014-10-21 23:01:01 +00:00
2014-10-21 23:01:01 +00:00
2014-12-26 16:42:47 +00:00
2013-04-05 23:29:01 +00:00
2015-06-16 16:01:15 +00:00
2013-08-06 17:03:03 +00:00
2013-04-01 15:58:15 +00:00
2015-03-26 00:57:33 +00:00
2013-04-27 00:43:16 +00:00
2012-12-19 15:49:14 +00:00
2015-11-10 21:38:26 +00:00