Nigel Spon

CW Coldfire 6.3 assembler bug

Discussion created by Nigel Spon on Nov 14, 2006
Latest reply on Nov 14, 2006 by CrasyCat
I seem to have found a bug in the CodeWarrior inline assembler for ColdFire. I'm using the EMAC in an MCF5208, and the MOVE.L ACCx,Dx instruction is always generating MOVE.L ACC0,Dx, regardless of what I ask for. The disassembly looks like this:

move ACC1,D4
4000033C: A184 move.l acc ,d4
add.l D4,D3
4000033E: D684 add.l d4,d3
bvs.s overflow
40000340: 6912 bvs.s MTXMul+0x6c (0x40000354); 0x40000354
move ACC2,D4
40000342: A184 move.l acc ,d4

I have the CPU set to MCF5208 and its accepting EMAC opcodes, but it just isn't generating them correctly. What should I do? Are there any updates for CW Coldfire 6.3?