gen_dnhostop() either generates a comparison for EtherType or recurses,
in which case it either generates... and so on. Although the optimizer
deduplicates this later, it is better to avoid the unnecessary work in
the first place. Move the EtherType comparison to gen_host(), which is
the only caller of gen_dnhostop().
For "decnet host" the resulting unoptimized bytecode is now two
instructions shorter (thus the corresponding accept test changes) and
identical to the optimized bytecode, the behaviour remains exactly the
same (thus no apply tests change).