This determination is complicated by separate compilation. Optimal solution in many cases is to have compiler use both conventions. Implementing sophisticated instructions to do the saving is often in contradiction with the optimal solution. Allows virtually all addressing modes in all operations. This style is best when there are lots of addressing modes and operations.
Instruction differ significantly in the amount of work performed.
An architect more interested in simplifying instruction decoding in the CPU will pick fixed encoding. Operation and addressing mode encoded into the opcode.