rs6000: Improve *lt0 patterns
authorSegher Boessenkool <segher@kernel.crashing.org>
Fri, 3 Nov 2017 14:09:10 +0000 (15:09 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Fri, 3 Nov 2017 14:09:10 +0000 (15:09 +0100)
commit187bd6cd5e46e3b51aecd537582b146ccb6f21bd
tree403297c8347a87832d7bb492a995b7d645e19a29
parentb15a4bc97246f8d6add88f26807291e0a4fe2711
rs6000: Improve *lt0 patterns

The rs6000 port currently has an *lt0_disi define_insn, setting the DI
result to whether the SI argument is negative or not.  It turns out the
generic optimisers cannot always figure out in the other cases either
that this is just a shift for us.  This patch adds patterns for all
four SI/DI combinations.

* config/rs6000/rs6000.md (*lt0_disi): Delete.
(*lt0_<mode>di, *lt0_<mode>si): New.

From-SVN: r254374
gcc/ChangeLog
gcc/config/rs6000/rs6000.md