mthumb: generate a tail-call

2006-05-10 Thread Shaun Jackman
What optimisation option is needed to prod arm-elf-gcc -mthumb to generate a tail call? ARM works as expected. Please cc me in your reply. Thanks! Shaun arm-elf-gcc (GCC) 4.1.0 $ cat EOF tail.c int tail(void); int main() { return tail(); } EOF $ arm-elf-gcc -mthumb -S -O2 tail.c $ sed

Re: mthumb: generate a tail-call

2006-05-10 Thread Daniel Jacobowitz
On Wed, May 10, 2006 at 02:38:30PM -0600, Shaun Jackman wrote: What optimisation option is needed to prod arm-elf-gcc -mthumb to generate a tail call? ARM works as expected. It's not yet supported. Remember, bl has a long range but clobbers lr, and there's no long branch instruction, so you

Re: mthumb: generate a tail-call

2006-05-10 Thread Paul Brook
On Wednesday 10 May 2006 21:38, Shaun Jackman wrote: What optimisation option is needed to prod arm-elf-gcc -mthumb to generate a tail call? ARM works as expected. Thumb only has very limited (256 byte) direct branch offsets, so tail calls aren't possible/useful. Paul