This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r253531 - in /trunk/gcc: ChangeLog config/rs600...
- From: segher at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Sun, 08 Oct 2017 22:36:36 -0000
- Subject: r253531 - in /trunk/gcc: ChangeLog config/rs600...
Author: segher
Date: Sun Oct 8 22:36:36 2017
New Revision: 253531
URL: https://gcc.gnu.org/viewcvs?rev=253531&root=gcc&view=rev
Log:
rs6000: Update conditional jump patterns, no more (pc) (label_ref)
Currently we have two patterns for every conditional jump: one jumping
if some condition is met, and the other jumping if it is not met. We
don't need that second form because all our conditions have an opposite
already, and the generic code can deal with that just fine.
This patch deletes that second form. We generated it directly in one
case; adjusted here.
* config/rs6000/rs6000-string.c (expand_strncmp_align_check): Invert
a conditional jump (and the compare for it) so that pc_rtx is the
last operand.
* config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Adjust
for the deleted and renamed ctr<mode>_internal[234] patterns.
* config/rs6000/rs6000.md: Delete second conditional branch pattern.
Delete second conditional return pattern.
(ctr<mode>_internal2): Delete this second bdnz pattern.
(ctr<mode>_internal3): Rename to ctr<mode>_internal2.
(ctr<mode>_internal4): Delete this second bdz pattern.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000-string.c
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/config/rs6000/rs6000.md