tmgross added a comment. In D86310#4596730 <https://reviews.llvm.org/D86310#4596730>, @hvdijk wrote:
> My understanding is that the code clang generates for `__int128` will still > allow it to be passed half-in-register, half-in-memory, exactly what D158169 > <https://reviews.llvm.org/D158169> sets out to fix, because D158169 > <https://reviews.llvm.org/D158169> only fixes it for LLVM's `i128` which > clang bypasses. I think that D158169 <https://reviews.llvm.org/D158169> seems to have fixed clang as well; after applying both patches, clang gcc and rustc all seem to agree. On the readme for https://github.com/tgross35/quick-abi-check look at the tests `i128-caller-gcc-callee-clang-old` (args don't align) `i128-caller-gcc-callee-clang-new` (args **are** the same) and `i128-caller-gcc-callee-rustc` (args are the same). Also the full ABI checker seems to say everything is in order (https://github.com/rust-lang/rust/pull/113880#issuecomment-1683021483 not sure why it says "4 failed" at the end, but I think it's a bug since no tests actually show failed). Does this all seem correct? As far as I can tell it seems like with both patchs these issues should be resolved. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D86310/new/ https://reviews.llvm.org/D86310 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits