Long and short jumps
Nathan Sidwell
nathan@codesourcery.com
Wed Jun 2 21:46:00 GMT 2004
Jeffrey A Law wrote:
> You might want to look at the fr30 port which IIRC had many
> similarities to what you're trying to do.
ok, thanks for that.
> You might also look at trying to do register scavenging when presented
> with an out of range jump rather than reserving or trying to allocate
> a scratch register.
tried that, unfortunately it is possible for there to be no free
register, so I must keep one in reserve.
> Regardless, it's likely going to be rather painful as I'm sure you're
> finding out.
yeah, I've fixed it in a similar way to thumb, by reserving the
link register for this purpose. Plus I've been able to detect
small leaf functions early enough to not premptively spill the
link reg.
nathan
--
Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC
nathan@codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk
More information about the Gcc
mailing list