On Monday 09 December 2002 21:04, David Brown wrote: > This is something that could be a very useful addition. In fact, one of > the things I've been testing recently is what sort of code mspgcc produces > for bitfields, since many embedded compilers I have used in the past > produce horrible code for bitfields (the answer is mspgcc makes very good > code, except perhaps in the bizare case of switches on bitfields).
This is really bad code cause mcu core has no 'bitfield extract' instructions. So, if you declare some bit-field variable which starts from non-zero position and assign to some other non bit-field var, gcc will shift this down. But if you're writing a constant to bit-field var, gcc will be Ok. And also, gcc (somehow) treats bit-fields as 8bits chars (which is Ok for IO ports). Anyway I'll think how to optimize it... ~d
