[Hexagon] Remove redundant custom selection code
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>
Sun, 6 Nov 2016 19:03:38 +0000 (19:03 +0000)
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>
Sun, 6 Nov 2016 19:03:38 +0000 (19:03 +0000)
commit9e3520c884b1a29ed3e5d10211f63f8d377db15b
tree558d2eb329d04b29f072b3ec16d0f4aab3b4ffb6
parentc93815ef04f724e5cc85c98bb3df576d522ce394
[Hexagon] Remove redundant custom selection code

The clr/set/toggle-bit instructions (with the bit index given as an
immediate operand) had both, custom selection code that generated them,
and selection patterns at the same time. The selection patterns were
not used, because the custom selection code was executed first.
This patch removes the custom code in favor of the selection patterns.
The custom code handled 64-bit registers as well with an immediate bit
index, and so new patterns were added to implement that.

It was also the same case for the instruction "Rd += asr(Rs, Rt)",
except that the custom code did not offer any additional functionality,
and was simply removed.

llvm-svn: 286080
llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
llvm/lib/Target/Hexagon/HexagonPatterns.td