mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-03 10:37:46 +00:00
eb34afde4b
Some instructions emitted by LLVM (like movaps) expect 16-byte alignment, while the allocator assumed that 8-byte alignment is good enough. TODO: this issue came to light with LLVM optimizing a complex128 store to the movaps instruction, which must be aligned. It looks like this means that the <2 x double> IR type is actually 16-byte aligned instead of 8-byte like a double. If this is the case, the alignment of complex numbers needs to be updated in the whole compiler.