Which seems reasonable.. but you just burned 3/4 of the single opcode instruction space, which may not be worth it for most general purpose loads.
For thumb, 32-bit instructions can be allocated up to 3/32 of the potential 32-bit space, and 16-bit instructions can use 29/32 of the 16-bit space (3 of the potential 5-bit opcodes denote a 32-bit instruction.) Which is probably a better ratio than 1/2 or 1/4 of each, for instance. Though I'm not sure how much of that encoding space is actually allocated or still reserved.
Related, I believe ARM has allocated about half of the 32-bit encoding space for current A64 instructions.
I mean ... that's the theory.
FWIW, this is exactly what RISC-V does.
There aren't any standard extensions with instructions >32b yet, but the extensibility is there in the base spec.
Are there examples of ISA or chips that handle variable length instruction encoding efficiently?
I think this old Intel patent talks about one of their decoder implementations:
Contrast that to something like utf8 where that isn't possible.