This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/28283] SuperH: Very unoptimal code generated for 64-bit ints



------- Comment #10 from sayle at gcc dot gnu dot org  2006-07-21 13:22 -------
Subject: Bug 28283

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


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28283


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]