I've never written an LLVM backend, but one difficulty that immediately jumps out at me is the 16-bit architecture.
LLVM specifies types with bitwidths and 32 is most commonly used, meaning a backend would have to either emulate 32 bits, forbid the frontends from generating 32 bits, or silently cast them all down to 16 bits.