You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Instead, this happened: It compiles to a bunch of movs.
I think this happens because we transform this to a bunch of stores of the discriminant, without touching the data part of the option, making it impossible for LLVM to memset this. Ideally, we'd write 0 to the data part as well here, allowing this to use memset.
The text was updated successfully, but these errors were encountered:
I tried this code: godbolt
I expected to see this happen: This should compile to a memset, or the equivalent unrolled SIMD stores
LLVM IR
Instead, this happened: It compiles to a bunch of movs.
I think this happens because we transform this to a bunch of stores of the discriminant, without touching the data part of the option, making it impossible for LLVM to memset this. Ideally, we'd write 0 to the data part as well here, allowing this to use memset.
The text was updated successfully, but these errors were encountered: