If I do a structure assignment, CodeWarrior compiles a compact loop to copy the data using post-increment addressing (I can see it in the disassembly). The equivalent C code looks like:
do { *d++ = *s++; } while (--len);
But if I write this code in C, CW compiles a much bigger and slower loop that does not take advantage of the post-increment addressing mode. Except for structure assignment, I have not seen any use of post-increment by the CW ColdFire compiler.
I remember using a non-optimizing C compiler over 20 years ago, and for architectures with post-increment (and pre-decrement), if you wrote it in the C code you got it in the machine language.
You may say I should use library memcpy, etc. to do these type of things. But FreeScale has given me software for the eval board (52233) which does not use the library.