__int128 is not a C type, it's a proprietary extension of GCC and clang (among others).
[0] A Special Kind of Hell - intmax_t in C and C++: https://thephd.dev/intmax_t-hell-c++-c
1. the people at Intel who originally implemented `_BitInt()` made `_BitInt(128)` eight-byte aligned
2. the x86_64 psABI document was updated to agree with that
3. it was implemented in clang in such a way that it also made `_BitInt(128)` eight-byte aligned on arm64 ...
4. ... but the AAPCS says that it's sixteen-byte aligned
5. ... and maybe the x86_64 psABI is going to change to say that it's sixteen byte aligned after-all.
So--as of a month ago when I was studying this because we're in the middle of enabling `[U]Int128` in Swift--_BitInt(128) didn't agree with __int128[_t] on either platform, and that's definitely a bug on arm64, and, although it behaves as documented on x86_64, that also might change.(Still weird why would LLVM not align it to 16 bytes though)