# stage1: override f80 alignment for i386-windows · gitcafe/zig

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

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

Visibility: public

Requested revision: b92e1ab8ccf4e450467dfd5ee8ff9ea87c148c26

Requested commit: b92e1ab8ccf4e450467dfd5ee8ff9ea87c148c26

Commit: b92e1ab8ccf4e450467dfd5ee8ff9ea87c148c26

Tree: 6e27ee72e9bd0746c41dfd1e1e92a54974c329ad

Author: Andrew Kelley

Committer: Jakub Konka

## Message

```
stage1: override f80 alignment for i386-windows

Comment reproduced here:

Note the following u64 alignments:
  x86-linux:   4
  x86-windows: 8
LLVM makes x86_fp80 have the following alignment and sizes regardless
of operating system:
  x86_64: size=16, align=16
  x86:    size=12, align=4
However in Zig we override x86-windows to have size=16, align=16
in order for the property to hold that u80 and f80 have the same ABI size.

Fixes "error: destination type 'f80' has size 12 but source type 'u80'
has size 16" when trying to bitcast between f80 and u80 on i386-windows.

```

## Parents

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

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