The attached patch has been extracted from the patch series of https://sourceforge.net/p/sdcc/patches/466/
The other issue got too long with too many pending patches, so I've extracted. The relevant discussion about it is here https://sourceforge.net/p/sdcc/patches/466/?page=1#1926/62ef
The patch has been updated to apply to svn r16444. It adds the banked jump core functionality and also a few peephole patterns to convert tailcalls into jumps. It doesn't cover all cases but it looks like a good start.