I am curious if this has been done before and not necessarily whether it has practical value (although the spatial efficiency gains would be obvious). Has encoding multiple instructions within the same machine code ever been done? For example:
(This is completely made up)
0xAEA2 -> add R3 0xA2
0xEAE6 -> mov R1 0xE6
0xAAAA ...
Reinterpreting the machine code by shifting one nibble to the left turns into:
0xEA2E -> mov R1 0x2E
0xAE5A -> add R3 0x5A
In the implementation of Smalltalk 78 (one of the predecessors of all modern Smalltalk dialects) there was a two byte store argument 0 bytecode whose second byte was load argument 0. In this way code that jumped to the beginning of the store instruction executed a store while jumps to the middle of it (!) resulted in a load. You can learn more about this in Reviving Smalltalk-78 - Bert Freudenberg - IWST 2014 -around minute 30-