> It looks like it replaced the store with a reg move, and it should > have inserted the store back to memory with the clobber back later in > the CFG. > > IE it pushed your store down to some later point in the CFG.
It's not the store that needs the clobber, it's the shift. The R8C can only use shift counts in the UPPER half of $r1, which totally confuses the register allocator, so I just clobber $r1 in the insn and do the move myself.