People want to have their cake (not having to think about instruction names, code generation for arithmetic expressions, or register allocation, because those differ per platform) and eat it (generate reasonably predictable machine code for multiple different platforms).
Things like LLVM IR are pretty close, but understandably nobody wants to write IR by hand.