Commit Graph

2 Commits

Author SHA1 Message Date
uwe
f482b86d5d gcc4 generated extremely unoptimal code for shifts of 64-bit ints on SuperH.
Pull over a fix from gcc 4.1 branch.

ok mrg@

Author: sayle
Date: Fri Jul 21 13:22:31 2006
New Revision: 115644

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115644
Log:

        PR middle-end/28283
        * expmed.c (expand_shift): Additionally check that the shift_cost
        is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
        before implementing a LSHIFT_EXPR as a sequence of additions.
        * config/sh/sh.c (shift_costs): Return MAX_COST to inform the
        middle-end that DImode shifts need to be synthesized by expand.


Modified:
    branches/gcc-4_1-branch/gcc/ChangeLog
    branches/gcc-4_1-branch/gcc/config/sh/sh.c
    branches/gcc-4_1-branch/gcc/expmed.c
2006-07-24 23:36:03 +00:00
mrg
bd52d17906 initial import of GCC 4.1 branch, from 2006-04-20. list of changes way
too large to list, but see:
	http://gcc.gnu.org/gcc-3.4/changes.html
	http://gcc.gnu.org/gcc-4.0/changes.html
	http://gcc.gnu.org/gcc-4.1/changes.html
for the details.
2006-04-20 10:19:17 +00:00