Somebody did do the work! The System V AMD64 ABI definitely defines the registers for __int128, e.g. as first argument to a function it will always be rdi (lo) rsi (hi) and for return value it will always be rax (lo) rdx (hi).