make the alignment of >= 128 bit integer types 16 bytes to prevent failure to properly align u128 when using 16-bit cmpchxg #2987
Labels
arch-x86_64
64-bit x86
enhancement
Solving this issue will likely involve adding new logic or components to the codebase.
stage1
The process of building from source via WebAssembly and the C backend.
Milestone
@cmpxchg
on x86_64 supports u128 integers. However@alignOf(u128)
reports 8, and withoutalign(16)
on theu128
, the code segfaults at runtime. This alignment is reported by LLVM as the "ABI alignment". Is this alignment incorrect? Is the atomic alignment requirement higher? Investigation is needed.Here's the test case:
The text was updated successfully, but these errors were encountered: