HomePhabricator

[SelectionDAG] Provide default expansion for rotates

Authored by kparzysz on Jun 12 2018, 5:49 AM.

Description

[SelectionDAG] Provide default expansion for rotates

Implement default legalization of rotates: either in terms of the rotation
in the opposite direction (if legal), or in terms of shifts and ors.

Implement generating of rotate instructions for Hexagon. Hexagon only
supports rotates by an immediate value, so implement custom lowering of
ROTL/ROTR on Hexagon. If a rotate is not legal, use the default expansion.

Differential Revision: https://reviews.llvm.org/D47725

llvm-svn: 334497

Details

Committed
kparzyszJun 12 2018, 5:49 AM
Differential Revision
D47725: [SelectionDAG] Provide default expansion for rotates
Parents
rG023bdc61483a: lit/SymbolFile/DWARF: Simplify test RUN lines
Branches
Unknown
Tags
Unknown