r214555 - in /branches/google/gcc-4_9/gcc: genc...

xur@gcc.gnu.org xur@gcc.gnu.org
Tue Aug 26 23:16:00 GMT 2014


Author: xur
Date: Tue Aug 26 23:16:33 2014
New Revision: 214555

URL: https://gcc.gnu.org/viewcvs?rev=214555&root=gcc&view=rev
Log:
2014-08-26  Rong Xu  <xur@google.com>

Backport r212239 from trunk. This fixes an assertion (rotatert)
in chromeos mips build (-march=mips32r2).

    r212239 | segher | 2014-07-02 13:19:19 -0700 (Wed, 02 Jul 2014)

    Only transform rotate to rotatert and v.v. if target has both 
    Many targets do not have both rotate and rotatert.  Of the 47 targets
    in the tree, 17 have both, 9 have only rotate, 2 have only rotatert, and
    19 have neither (this is based on "grep -wil" so it can be slightly off).

    rs6000 has only rotate, and mips has only rotatert.  For such targets
    simplifying rotate to rotatert and vice versa is not simplifying things
    at all. rs6000 has already way too many rotate patterns (some days
    itseems like two thousand, but it is somewhat less in reality still); I
    would prefer not to double that again.

    So, this patch makes genrecog define HAVE_rotate and HAVE_rotatert if
    those RTL codes are mentioned anywhere in the machine description, and
    then does the transformation in simplify-rtx.c only if both these flags
    are set.


Modified:
    branches/google/gcc-4_9/gcc/genconfig.c
    branches/google/gcc-4_9/gcc/simplify-rtx.c



More information about the Gcc-cvs mailing list