Is there any low level language, which is actually close to modern x86_64?
I'd be really interested to hear experiences of people who have done it though, even as a toy.
There is a small, very restrictive class of LLVM IR that is going to be effectively stable, and even portable. Stripping debug information goes a long way to making your IR readable by newer versions of LLVM, and staying away from C ABI compatibility (especially structs) can make your code somewhat portable.