This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

msp430-elf inefficient handling of msp430 byte operands and short jumps

Other Parts Discussed in Thread: CC430F5137

I'm finding msp430-elf to generate relatively large code compared with mspgcc.  In most cases I can switch to -mlarge and make things work, but I need the code to work on a CC430F5137 where that isn't an option.

While trying to figure out why a particular module has text size 5774 bytes under msp430-elf but only 3096 under mspgcc, I found a couple pessimizations by msp430-elf.  I've reproduced this with both CCS 6.0.1-040's gcc_msp430_4.9.14r1_10 and upstream gcc 5.0.0, and filed a bugzilla report at: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64027

The TI compiler msp430_4.3.5 generates code equivalent to mspgcc on that example.

msp430-elf code growth of this magnitude blocks my goal of completely transitioning away from mspgcc.

  • I know you are already aware of the limitations of this MSP430 GCC compiler, but I want to point it out to others who see this thread ... This download page for the compiler states ...

    ... this free MSP430 compiler is not going to offer the code size and performance advantages of the optimized TI compiler

    All the same, you make a fair point.  We are discussing the best course of action.

    Thanks and regards,

    -George