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

roger at eyesopen dot com gcc-bugzilla@gcc.gnu.org
Thu Jul 6 19:17:00 GMT 2006



------- Comment #2 from roger at eyesopen dot com  2006-07-06 19:17 -------
Investigating...  I suspect that the SH backend's rtx_costs are parameterized
incorrectly, such that a 64-bit shift by the constant 32, looks to be at least
32 times more expensive than a 64-bit addition.  The middle-end then uses
these numbers to select the appropriate code sequence to generate.  Combine
also doesn't both cleaning this up because it also the same invalid rtx_costs,
and discovers than combining additions into shifts doesn't appear to be a win
on this target.


-- 


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



More information about the Gcc-bugs mailing list