2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
commit3dac4a68b8a1efb2d4412e42ca17636617f6027e
authorsegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 21 Sep 2014 18:01:59 +0000 (21 18:01 +0000)
committersegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 21 Sep 2014 18:01:59 +0000 (21 18:01 +0000)
treed612891d64412ce8d718e903fc294c62cccd5b3a
parent9983aec7365c968f16b96507fb58ba3f05f2d243
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (strlensi): Don't use subsi3 with a
constant, use addsi3 directly.
(three anonymous define_insn, two define_split): Delete.
(sub<mode>3): Move.  Do not allow constant second operand.
Generate different insn for constant first operand.
(*subf<mode>3, *subf<mode>3_dot, *subf<mode>3_dot2): New.
(subf<mode>3_imm): New.
(ctz<mode>2, ffs<mode>2): Clobber CA_REGNO where required.
(*plus_ltu<mode>): Only handle registers.
(*plus_ltu<mode>_1): New.  Handle integer third operand.
(*plus_gtu<mode>): Only handle registers.
(*plus_gtu<mode>_1): New.  Handle integer third operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215434 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rs6000/rs6000.md