Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/gnu/dist/gcc4/gcc
Module Name: src
Committed By: uwe
Date: Mon Jul 24 23:36:03 UTC 2006
Modified Files:
src/gnu/dist/gcc4/gcc: ChangeLog expmed.c
src/gnu/dist/gcc4/gcc/config/sh: sh.c
Log Message:
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
To generate a diff of this commit:
cvs rdiff -r1.1.1.3 -r1.2 src/gnu/dist/gcc4/gcc/ChangeLog \
src/gnu/dist/gcc4/gcc/expmed.c
cvs rdiff -r1.1.1.1 -r1.2 src/gnu/dist/gcc4/gcc/config/sh/sh.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index