# compiler-rt: better way to do the ABI required on Windows · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/a71bfc249d3f814d7d659fe5cf4cb582483e8938)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: a71bfc249d3f814d7d659fe5cf4cb582483e8938

Requested commit: a71bfc249d3f814d7d659fe5cf4cb582483e8938

Commit: a71bfc249d3f814d7d659fe5cf4cb582483e8938

Tree: 0b1b26bbb96a02eebbd05dbe9cf16fd06412d8d6

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
compiler-rt: better way to do the ABI required on Windows

This removes the compiler_rt.setXmm0 hack. Instead, for
the functions that use i128 or u128 in their parameter and
return types, we use `@Vector(2, u64)` which generates
the LLVM IR `<2 x i64>` type that matches what Clang
generates for `typedef int ti_int __attribute__ ((mode (TI)))`
when targeting Windows x86_64.

```

## Parents

- [52934851f2b7a5cb28a08beafa1ec1aa24a3a4cb](https://git.cafe/gitcafe/zig/commit/52934851f2b7a5cb28a08beafa1ec1aa24a3a4cb?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/a71bfc249d3f814d7d659fe5cf4cb582483e8938?format=markdown)
