]> git.ipfire.org Git - thirdparty/gcc.git/commit
[RS6000] Ignore "c", "l" and "h" for register preference
authorAlan Modra <amodra@gcc.gnu.org>
Tue, 13 Nov 2018 03:03:10 +0000 (13:33 +1030)
committerAlan Modra <amodra@gcc.gnu.org>
Tue, 13 Nov 2018 03:03:10 +0000 (13:33 +1030)
commitab9503741594c8cfff4dc981970edbcf1ca598d6
tree41acd10a76e15de36f2f883dd8f1db7ab31d39de
parent37e5eefb92cdc6a7a320eecb5b81bcb3e526c35f
[RS6000] Ignore "c", "l" and "h" for register preference

This catches a few places where move insn patterns don't slightly
disparage CTR, LR and VRSAVE regs.  Also fixes the doc for the rs6000
h constraint, and removes an r->cl alternative covered by r->h.

* gcc/doc/md.texi (Machine Constraints): Correct rs6000 h constraint
description.
* config/rs6000/rs6000.md (movsi_internal1): Delete MT%0 case
covered by alternative.
(movcc_internal1): Ignore h for register preference.
(mov<mode>_hardfloat64): Likewise.
(mov<mode>_softfloat): Ignore c, l, h for register preference.

From-SVN: r266044
gcc/ChangeLog
gcc/config/rs6000/rs6000.md
gcc/doc/md.texi