I've got some very strange behavior in very simple code. Trying to read a hex number and translate it using successive multiplication, each hex digit seems to be added to an alternate copy of the accumulating variable. The architecture is ARM, so I thought of register bank switching, but the generated code is using registers from 0 to 7. Anyone ever see something like this before?