The same requirement applies to PRECOMPILEDCALL
and STATICCALL
. Both need to check upfront, before loading any state, if the destination address is on the “list of precompiles”. I do not see any difference in complexity whether that is done in a new opcode or it is done amending an existing one.
However a new opcode seems to be an extra opcode without much benefit over augmenting the existing one. Additionally with a new opcode the cost reduction is only applied to newly deployed contracts. (There is some discussion here why it may be a bad idea not applying these reductions to existing contracts.)