e1: .byte 0xd0
e2: .byte 0x53
.byte 0x50
If entered at e1, this is "movl r3,r0"; if entered at e2, it's
"tstf r0".
Yes. But the problem is that the opcode at e2 will be interpreted as
an operand for e1.
That may or may not be a problem; if it is a problem then you have't
been sufficiently clever. :-)
And as an operand it might imply that it needs up to 8 bytes more or
so...
Yes. It requires care and cleverness to do anything useful with this.
Which will totally break the concept.
Hardly "totally break"; it just means it's not a no-brainer to use.
It _does_, though, mean that it will be substantially harder to use in
an automated way; except for human-created canned sequences it is
unlikely to be of any use in gcc.