-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Description
Strictly speaking the JIT needs to make sure to generate references that are aligned with respect to the byte size specified by any unaligned prefix on initblk and cpblk. Today's implemented ignores them.
For some architectures, generating unaligned references may cause execution faults at runtime. For others, they can be less efficient than aligned references. At the moment all the targets RyuJIT supports do not require this for correctness, but might benefit on the performance side, especially for large block operations.
The MC++ compiler does generate these block operations today with unaligned prefixes to capture the original access size when vectorizing array initialization loops to block set operations (initblk).
category:correctness
theme:msil
skill-level:intermediate
cost:small