This is the mail archive of the gcc-patches@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]

Re: [patch RFC] SH: Use FRAME_GROWS_DOWNWARD


Joern Rennecke wrote:

The insns emitted by untyped_call are too imprecise about the register
lifeness.  Another problem is that TImode floating point moves can't
actually be generated for little endian, and we need an untyped_return
pattern in order to make the __builtin_return safe for mode switching.

I've also found a type in HARD_REGNO_MODE_OK.



The movti expander triggered a latent reload bug, and the USEs of wide registers
confused mode switching. I finally got a set of patches that passes regression tests
for the sh-elf / sh64-elf simulator targets, you can find them in the
apply-reload-diff-20050728 attachment of PR middle-end/23135
( http://gcc.gnu.org/bugzilla/attachment.cgi?id=9385&action=view ) .


However, when I now look at the execute/simd-1.c code for -m4 -ml -O1, it is more
than twice the size of what it is without these patches. Before, the pseudo where the
result of the divisions foes was allocated to r0, now it is reloaded. This is probably
due to some heuristic being perturbed by the existence of the movti expander.
I wonder if this is exceptional, or if more code is affected,



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