Files
archived-llvm/lib/CodeGen/SelectionDAG
Simon Pilgrim d836fe6b93 [SelectionDAG] Attempt to split BITREVERSE vector legalization into BSWAP and BITREVERSE stages
For BITREVERSE, bit shifting/masking every bit in a vector element is a very lengthy procedure.

If the input vector type is a whole multiple of bytes wide then we can split this into a BSWAP shuffle stage (to reverse at the byte level) and then a BITREVERSE stage applied to each byte. Most vector capable targets can efficiently BSWAP using shuffles resulting in a considerable reduction in instructions.

With this patch targets would only need to implement a target specific vXi8 BITREVERSE implementation to efficiently reverse most legal vector types.

Differential Revision: http://reviews.llvm.org/D19978

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269290 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-12 13:09:49 +00:00
..
2016-05-07 20:19:59 +00:00
2016-03-26 06:04:55 +00:00
2016-04-18 09:17:29 +00:00
2016-02-03 22:44:14 +00:00
2016-04-18 09:17:29 +00:00
2016-04-18 09:17:29 +00:00