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
At the moment, pointer casts are not handled in the current memory model.
We encountered the issue because our mlir-toolchain packed some constants into a dense byte array (probably to reduce assembly size) and then later indexed into this array using a pointer of the original data type.
Since each constant is currently put into a single cell, the loads do not correctly recombine the (e.g., 4) bytes needed to correctly load an uint32_t from the uint8_t array.
The compiled version returns 0x01010101, while the assigner version returns 0x01;
We could work around this at the moment by forcing our mlir-toolchain to output constants as arrays of their original type, so this is not that big of a priority for us, but we were told to open an issue either way.
The text was updated successfully, but these errors were encountered:
At the moment, pointer casts are not handled in the current memory model.
We encountered the issue because our mlir-toolchain packed some constants into a dense byte array (probably to reduce assembly size) and then later indexed into this array using a pointer of the original data type.
Since each constant is currently put into a single cell, the loads do not correctly recombine the (e.g., 4) bytes needed to correctly load an uint32_t from the uint8_t array.
here is a small example demonstrating the issue:
The compiled version returns 0x01010101, while the assigner version returns 0x01;
We could work around this at the moment by forcing our mlir-toolchain to output constants as arrays of their original type, so this is not that big of a priority for us, but we were told to open an issue either way.
The text was updated successfully, but these errors were encountered: