Similar to other intrinsics these need to be inline to avoid ODR conflicts. Also, some of them seem to be always_inline which I think doesn't have an effect unless they are also inline.
I can also use clang-format on the patch, just thought I'd keep this easier to review for now.