------- Comment #6 from joern dot rennecke at st dot com 2006-07-06 19:59 ------- Subject: Re: SuperH: Very unoptimal code generated for 64-bit ints
roger at eyesopen dot com wrote: >------- Comment #5 from roger at eyesopen dot com 2006-07-06 19:47 ------- >No the rtx_costs for a DImode shift really are wrong. The use of the constant >10000 in sh.c:shift_costs instructs the middle-end to avoid using DImode >shifts at all costs. The semantics of rtx_costs is that it is expected to >provide an estimate of the cost of performing an instruction (either in >size when optimize_size or in performance whrn !optimize_size) > If the RTX is not valid, the md is not required to give a valid rtx cost estimates. > >As for the little-endian vs. big-endian issue that looks like a second bug. > > Yes, but it's hard to debug as long as you have to poke internal data structures to get the compiler to use SImode shifts. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28283