I think I recall an early processor that did out of order execution, without checking,
meaning you could have
add xxx to accumulator
store accumulator in zzz
and the store could happen before the add if there weren't sufficient instructions
between the two.
I *DON'T* recall if it was designed this way or a defect in the chip design.
I think it was intended to be a real-time process control cpu and speed was more important
than ease of programming. There was a assembler/compiler that warned of this case, afaik